@import "https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:#ffffffde;--theme-color-mauve:#e0b0ff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body{width:100vw;height:100vh;margin:0;padding:0;overflow:hidden}canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}#crosshair{pointer-events:none;z-index:1000;background-color:#fff;border:2px solid #000;width:3px;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.menu-overlay{z-index:2000;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;opacity:1;pointer-events:auto;background-color:#00000026;border:2px solid #fffc;border-radius:0;flex-direction:column;gap:10px;width:90%;max-width:500px;padding:40px;font-family:JetBrains Mono,monospace;transition:opacity .1s ease-out;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 30px #0000001a}#leaderboard-menu{max-width:600px}.offline-indicator{color:#f44;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;font-size:.8em;font-weight:700}.hidden{display:none!important}#section-graphics{border-top:none;margin-top:5px}.menu-title{color:#fff;text-transform:uppercase;letter-spacing:2px;text-shadow:0 4px 8px #000c;margin-bottom:10px;font-size:2em;font-weight:700}.menu-btn{-webkit-backdrop-filter:none;backdrop-filter:none;color:#fff;text-transform:uppercase;width:100%;text-shadow:none;cursor:pointer;background-color:#0009;border:1px solid #fff9;border-radius:0;padding:15px;font-family:JetBrains Mono,monospace;font-size:.9em;font-weight:700;transition:all .2s}.menu-btn:focus{outline:none}.menu-btn:focus-visible{background-color:#fff3;border-color:#fff;outline:none;box-shadow:0 0 15px #ffffff4d}.menu-btn:hover{color:#000;background-color:#fff;border-color:#fff}.setting-row{color:#fff;width:100%;text-shadow:none;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:1.1em;display:flex}.setting-row label{text-align:left;flex-shrink:0;width:130px}.setting-row span{text-align:right;flex-shrink:0;width:90px}.toggle-group{gap:0;display:flex}.toggle-btn{color:#ccc;cursor:pointer;text-align:center;text-transform:uppercase;background:#00000080;border:1px solid #ffffff4d;width:70px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.85em;transition:all .2s}.toggle-btn:first-child{border-right:none;border-top-left-radius:4px;border-bottom-left-radius:4px}.toggle-btn:last-child{border-top-right-radius:4px;border-bottom-right-radius:4px}.toggle-btn.active{background-color:var(--theme-color-mauve);color:#000;border-color:var(--theme-color-mauve);font-weight:700}.toggle-btn:hover:not(.active){color:#fff;background:#ffffff1a}.toggle-btn.current-game-state{color:#000;background-color:#fff;border-color:#fff;font-weight:700}.toggle-btn.active.current-game-state{background-color:var(--theme-color-mauve);color:#000;border-color:var(--theme-color-mauve)}.toggle-btn.disabled{opacity:.3;pointer-events:none;filter:grayscale()}input[type=range]{appearance:none;background:0 0;width:100%}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--theme-color-mauve);cursor:pointer;border-radius:50%;width:16px;height:16px;margin-top:-6px;box-shadow:0 0 5px #00000080}input[type=range]::-moz-range-thumb{background:var(--theme-color-mauve);cursor:pointer;border:none;border-radius:50%;width:16px;height:16px;box-shadow:0 0 5px #00000080}input[type=range]::-webkit-slider-runnable-track{cursor:pointer;background:#fff3;border-radius:2px;width:100%;height:4px}input[type=range]::-moz-range-track{cursor:pointer;background:#fff3;border-radius:2px;width:100%;height:4px}.settings-slider{cursor:pointer;flex-grow:1;height:20px;margin:0}#nickname-input{color:#fff;text-align:center;background:#00000080;border:1px solid #ffffff80;width:100%;max-width:150px;padding:8px;font-family:JetBrains Mono,monospace}.settings-checkbox{cursor:pointer;width:20px;height:20px;margin:0}.settings-slider:disabled{opacity:.5;cursor:not-allowed}.setting-row label.disabled-text{color:#888}.settings-actions{border-top:none;justify-content:center;gap:20px;width:100%;margin-top:10px;padding-top:15px;display:flex}.hud{color:#fff;text-shadow:2px 2px #000;white-space:pre;pointer-events:none;z-index:10;font-family:monospace;font-size:20px;font-weight:700;position:absolute;top:20px;left:20px}footer{box-sizing:border-box;color:#fff9;z-index:3000;pointer-events:auto;background-color:#0000;justify-content:space-between;align-items:center;width:100%;padding:10px 20px;font-size:.8rem;display:flex;position:fixed;bottom:0;left:0}.footer-left,.footer-right{align-items:center;gap:10px;display:flex}.separator{opacity:.5;margin:0 5px}footer a{color:#fff;text-decoration:none;transition:opacity .2s}footer a:hover{opacity:.8}footer svg{vertical-align:middle}#user-header{z-index:4000;pointer-events:auto;flex-direction:column;align-items:flex-end;display:flex;position:fixed;top:20px;right:20px}#user-nickname{color:#fff;cursor:pointer;border:1px solid #0000;padding:5px 10px;font-family:JetBrains Mono,monospace;font-size:1.1em;font-weight:700;transition:all .2s}#user-nickname:hover{background-color:#0000004d;border-color:#ffffff80}#btn-login{color:#fff;cursor:pointer;background:0 0;border:1px solid #fff;padding:8px 16px;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .2s}#btn-login:hover{color:#000;background:#fff}.user-dropdown{background-color:#000c;border:1px solid #ffffff80;flex-direction:column;margin-top:5px;padding:5px;display:flex}.user-dropdown button{color:#fff;cursor:pointer;text-transform:uppercase;text-align:center;background:0 0;border:1px solid #fff;margin:2px;padding:8px 16px;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .2s}.user-dropdown button:hover{color:#000;background:#fff}.auth-form{flex-direction:column;align-items:center;gap:15px;width:100%;display:flex}.auth-input{color:#fff;background:#00000080;border:1px solid #ffffff80;width:80%;padding:10px;font-family:JetBrains Mono,monospace}.auth-actions{justify-content:center;gap:10px;width:100%;display:flex}.divider{background-color:#ffffff4d;width:80%;height:1px;margin:10px 0}.auth-error{color:#f44;text-align:center;min-height:1.2em;margin-bottom:10px;font-size:.9em}#go-new-record{color:var(--theme-color-mauve);margin-bottom:10px;font-size:1.2rem;font-weight:700;animation:1s infinite pulse}@keyframes pulse{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.1)}to{opacity:.8;transform:scale(1)}}#go-score{color:#fff;font-size:2rem;font-weight:700}#go-highscore{color:#e0e0e0;font-size:1.2rem}#go-login-msg{color:#ccc;margin-bottom:20px;font-size:.8rem;font-style:italic}#btn-play-again{color:#000;background-color:#fff;border-color:#fff;margin-top:10px;padding:15px;font-size:1.1rem}#btn-play-again:hover{background-color:#ddd}.btn-top-margin{margin-top:15px}.leaderboard-container{background:#0000004d;border:1px solid #fff3;width:100%;max-height:400px;margin-top:10px;overflow-y:auto}.leaderboard-container::-webkit-scrollbar{width:8px}.leaderboard-container::-webkit-scrollbar-track{background:#0000001a}.leaderboard-container::-webkit-scrollbar-thumb{background:#ffffff4d}.leaderboard-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.lb-header{background:#ffffff1a;border-bottom:1px solid #fff3;grid-template-columns:50px 1fr 100px;padding:10px;font-weight:700;display:grid;position:sticky;top:0}.lb-list{flex-direction:column;display:flex}.lb-row{text-align:left;border-bottom:1px solid #ffffff0d;grid-template-columns:50px 1fr 100px;padding:8px 10px;display:grid}.lb-row:last-child{border-bottom:none}.lb-row:nth-child(2n){background:#ffffff08}.lb-highlight{border:1px solid color-mix(in srgb,var(--theme-color-mauve),transparent 50%);background:color-mix(in srgb,var(--theme-color-mauve),transparent 80%)!important}.lb-context-label{color:#fff;text-align:center;margin-top:5px;font-size:.85em;font-style:italic}.lb-rank{text-align:center;color:#aaa}.lb-nick{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lb-score{text-align:right;font-family:monospace}.lb-empty{color:#888;padding:20px;font-style:italic}.settings-scroll-container{text-align:left;flex-direction:column;gap:15px;width:100%;max-height:60vh;padding-right:10px;display:flex;overflow-y:auto}.settings-scroll-container::-webkit-scrollbar{width:8px}.settings-scroll-container::-webkit-scrollbar-track{background:#0000001a}.settings-scroll-container::-webkit-scrollbar-thumb{background:#ffffff4d}.settings-scroll-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.controls-section{border-top:1px solid #fff3;flex-direction:column;gap:12px;margin-top:15px;padding-top:15px;display:flex}.controls-section:first-of-type{border-top:none;margin-top:5px}.controls-title{text-align:center;color:#fff;text-transform:uppercase;letter-spacing:1px;margin-bottom:5px;font-size:1.1em;font-weight:700}.control-row{justify-content:space-between;align-items:center;font-size:.95em;display:flex}.control-buttons{flex:1;justify-content:flex-end;gap:8px;display:flex}.bind-btn{color:#ccc;cursor:pointer;text-align:center;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;background:#00000080;border:1px solid #ffffff4d;width:140px;padding:6px 10px;font-family:JetBrains Mono,monospace;font-size:.85em;transition:all .2s;overflow:hidden}.bind-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff80}.bind-btn.recording{background:var(--theme-color-mauve);border-color:var(--theme-color-mauve);color:#000;font-weight:700;animation:1s infinite pulse-mauve}.bind-btn.empty{color:#666;border-style:dashed}.bind-btn.conflict{color:#fff!important;background-color:#f006!important;border-color:red!important}@keyframes pulse-mauve{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--theme-color-mauve),transparent 60%)}70%{box-shadow:0 0 0 6px color-mix(in srgb,var(--theme-color-mauve),transparent 100%)}to{box-shadow:0 0 0 0 color-mix(in srgb,var(--theme-color-mauve),transparent 100%)}}.controls-section.force-border-top{border-top:1px solid #fff3!important}#bind-warning{color:#f44;text-align:center;min-height:1.2em;margin-top:10px;font-size:.85em;font-weight:700}.settings-actions{justify-content:center;gap:20px;width:100%;margin-top:10px;display:flex}#loading-screen{z-index:9999;color:#fff;background-color:#242424;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-family:JetBrains Mono,monospace;display:flex;position:fixed;top:0;left:0}.loading-title{color:#fff;margin-bottom:20px;font-size:3rem;font-weight:700;animation:2s infinite title-pulse}@keyframes title-pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.loading-status{color:#aaa;margin-bottom:10px;font-size:1rem}.loading-bar-container{background-color:#fff3;border-radius:2px;width:300px;height:4px;overflow:hidden}.loading-bar-fill{background-color:#fff;width:0%;height:100%;transition:width .2s ease-out}.hw-warning{color:#f44;margin-top:20px;font-weight:700}.fade-out{opacity:0;pointer-events:none;transition:opacity .1s}.mode-section{width:100%;margin-bottom:15px}#leaderboard-menu .mode-section{margin-bottom:5px}#go-context-info{color:#ccc;margin-bottom:10px;font-size:.9em}.mode-header{text-align:left;color:#fff;text-transform:uppercase;margin-bottom:5px;font-size:.9em;font-weight:700}.mode-toggle-group{gap:0;width:100%;display:flex}.mode-toggle-group .toggle-btn{flex:1;padding:10px 0}#visuals-menu{max-width:550px}.visuals-scroll-container{text-align:left;flex-direction:column;gap:15px;width:100%;max-height:60vh;padding-right:10px;display:flex;overflow-y:auto}.visuals-scroll-container::-webkit-scrollbar{width:8px}.visuals-scroll-container::-webkit-scrollbar-track{background:#0000001a}.visuals-scroll-container::-webkit-scrollbar-thumb{background:#ffffff4d}.visuals-scroll-container::-webkit-scrollbar-thumb:hover{background:#ffffff80}.visuals-section{border-top:1px solid #fff3;flex-direction:column;gap:10px;padding:15px 0;display:flex}.visuals-section:first-child{border-top:none;padding-top:0}.visuals-section-title{text-transform:uppercase;letter-spacing:1px;color:#fff;margin-bottom:5px;font-size:.95em;font-weight:700}.theme-list{flex-direction:column;gap:8px;max-height:150px;display:flex;overflow-y:auto}.theme-list::-webkit-scrollbar{width:6px}.theme-list::-webkit-scrollbar-track{background:#0000001a}.theme-list::-webkit-scrollbar-thumb{background:#fff3}.theme-item{background:#0000004d;border:1px solid #ffffff26;flex-direction:column;gap:4px;padding:10px;display:flex}.theme-item-header{justify-content:space-between;align-items:center;display:flex}.theme-item-name{font-size:.95em;font-weight:700}.theme-item-actions{gap:6px;display:flex}.theme-item-actions button{color:#fff;cursor:pointer;text-transform:uppercase;background:#ffffff1a;border:1px solid #ffffff4d;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.75em;transition:all .2s}.theme-item-actions button:hover{background:#fff3;border-color:#ffffff80}.theme-item-actions button.delete-btn:hover{background:#ff00004d;border-color:#f44}.theme-item-share{color:#fff;-webkit-user-select:all;user-select:all;justify-content:space-between;align-items:center;font-family:JetBrains Mono,monospace;font-size:.75em;display:flex}.theme-list-empty{color:#fff;text-align:center;padding:10px;font-size:.9em;font-style:italic}.theme-editor{flex-direction:column;gap:12px;display:flex}.theme-editor-row{align-items:center;gap:10px;display:flex}.theme-editor-row label{flex-shrink:0;width:80px;font-size:.9em}.theme-name-input{color:#fff;background:#00000080;border:1px solid #ffffff4d;flex:1;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.9em}.theme-name-input:focus{border-color:var(--theme-color-mauve);outline:none}.skybox-select{color:#fff;cursor:pointer;background:#00000080;border:1px solid #ffffff4d;flex:1;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.85em}.skybox-select:focus{border-color:var(--theme-color-mauve);outline:none}.skybox-select option{color:#fff;background:#1a1a1a}.color-pickers-container{flex-direction:column;gap:4px;display:flex}.color-picker-container{background:#0003;border:1px solid #ffffff1a}.color-picker-header{cursor:pointer;justify-content:space-between;align-items:center;padding:8px 12px;transition:background .2s;display:flex}.color-picker-header:hover{background:#ffffff0d}.color-picker-header-left,.color-picker-header-right{align-items:center;gap:10px;display:flex}.color-picker-arrow{color:#888;font-size:.7em;transition:transform .2s}.color-picker-container.expanded .color-picker-arrow{transform:rotate(90deg)}.color-picker-label{text-transform:capitalize;font-size:.85em}.color-swatch{border:2px solid #ffffff4d;flex-shrink:0;width:24px;height:24px}.color-picker-hex-display{color:#fff;font-family:JetBrains Mono,monospace;font-size:.8em}.color-picker-panel{background:#0003;border-top:1px solid #ffffff1a;flex-direction:column;gap:8px;padding:12px;display:none}.color-picker-container.expanded .color-picker-panel{display:flex}.rgb-slider-row{align-items:center;gap:10px;display:flex}.rgb-slider-label{text-align:center;width:20px;font-size:.85em;font-weight:700}.rgb-slider-label.r{color:#ff6b6b}.rgb-slider-label.g{color:#69db7c}.rgb-slider-label.b{color:#74c0fc}.rgb-slider{flex:1;height:20px}.rgb-slider-value{text-align:right;color:#aaa;width:35px;font-family:JetBrains Mono,monospace;font-size:.8em}.hex-input-row{align-items:center;gap:8px;margin-top:4px;display:flex}.hex-input-label{color:#888;font-size:.8em}.hex-input{color:#fff;text-transform:uppercase;background:#00000080;border:1px solid #ffffff4d;width:80px;padding:6px 8px;font-family:JetBrains Mono,monospace;font-size:.85em}.hex-input:focus{border-color:var(--theme-color-mauve);outline:none}.hex-set-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:#ffffff1a;border:1px solid #ffffff4d;padding:6px 12px;font-family:JetBrains Mono,monospace;font-size:.8em;transition:all .2s}.hex-set-btn:hover{background:var(--theme-color-mauve);border-color:var(--theme-color-mauve);color:#000}.import-section{align-items:center;gap:8px;display:flex}.import-input{color:#fff;background:#00000080;border:1px solid #ffffff4d;flex:1;padding:8px 12px;font-family:JetBrains Mono,monospace;font-size:.85em}.import-input:focus{border-color:var(--theme-color-mauve);outline:none}.import-btn{color:#fff;cursor:pointer;text-transform:uppercase;white-space:nowrap;background:#ffffff1a;border:1px solid #ffffff4d;padding:8px 16px;font-family:JetBrains Mono,monospace;font-size:.85em;transition:all .2s}.import-btn:hover{background:var(--theme-color-mauve);border-color:var(--theme-color-mauve);color:#000}.visuals-error{color:#f44;text-align:center;min-height:1.2em;padding:8px;font-size:.85em}.visuals-success{color:#69db7c;text-align:center;padding:8px;font-size:.85em}.btn-apply-theme{font-weight:700;background:var(--theme-color-mauve)!important;color:#000!important;border-color:var(--theme-color-mauve)!important}.btn-apply-theme:hover{background:#fff!important;border-color:#fff!important}.visuals-login-required{text-align:center;color:#fff;padding:30px 20px}.visuals-login-required p{margin-bottom:15px;font-size:.95em}.visuals-login-btn{color:#fff;cursor:pointer;text-transform:uppercase;background:0 0;border:1px solid #fff;padding:8px 16px;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .2s}.visuals-login-btn:hover{color:#000;background:#fff;border-color:#fff}#btn-tutorial{color:#fff;cursor:pointer;z-index:4000;background:0 0;border:1px solid #fff;padding:8px 16px;font-family:JetBrains Mono,monospace;font-weight:700;transition:all .2s;position:fixed;top:20px;left:20px}#btn-tutorial:hover{color:#000;background:#fff}.tutorial-overlay{color:#fff;text-align:center;z-index:3000;pointer-events:none;background-color:#0009;border:2px solid #fff;max-width:80%;padding:20px;font-family:JetBrains Mono,monospace;font-size:1.2rem;font-weight:700;position:absolute;top:20%;left:50%;transform:translate(-50%)}
