@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:800;src:url(./rubik-cyrillic-800-normal-wonQiwhm.woff2)format("woff2"),url(./rubik-cyrillic-800-normal-DocVmW4N.woff)format("woff")}@font-face{font-family:Rubik;font-style:normal;font-display:swap;font-weight:800;src:url(./rubik-latin-800-normal-BtaGuVpR.woff2)format("woff2"),url(./rubik-latin-800-normal-Dq1miTTj.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-cyrillic-700-normal-DP36NgGt.woff2)format("woff2"),url(./nunito-cyrillic-700-normal-DfHRUDv-.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(./nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(./nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}:root{--bg:#1a1a2e;--bg2:#16213e;--surface:#0f3460;--surface2:#1a4080;--card:#1e3a5f;--card-hover:#264d73;--border:#ffffff1f;--border-strong:#ffffff3d;--border-focus:#00d2ff;--border-width-control:2px;--border-width-card:3px;--green:#00d26a;--green2:#00b85c;--green-dark:#00b85c;--on-green:#06210f;--yellow:#ffc312;--on-yellow:#261b00;--red:#c02937;--red-bright:#ff4757;--on-red:#fff;--blue:#1e90ff;--on-blue:#fff;--cyan:#00d2ff;--on-cyan:#061e38;--purple:#a855f7;--on-purple:#fff;--orange:#ff6b35;--on-orange:#fff;--pink:#ff6b9d;--on-pink:#fff;--accent-forge:#f59e0b;--accent-gold:#fbbf24;--text:#fff;--text2:#c3dcff;--text-muted:#8da6cc;--font-sans:"Segoe UI", Roboto, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--text-xs:12px;--text-sm:14px;--text-base:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--r-xs:6px;--r-sm:10px;--r-md:16px;--r-lg:24px;--r-pill:999px;--shadow-sm:0 2px 8px #00000040;--shadow-md:0 8px 24px #00000059;--shadow-lg:0 16px 40px #00000080;--shadow-modal:0 24px 60px #000000bf, 0 4px 16px #0006;--shadow-glow-green:0 4px 20px #00d26a59;--shadow-glow-cyan:0 0 20px #00d2ff4d;--shadow-glow-yellow:0 0 20px #ffc3124d;--shadow-glow-red:0 0 20px #ff475740;--ease-smooth:cubic-bezier(.25, .8, .25, 1);--ease-bounce:cubic-bezier(.175, .885, .32, 1.275);--ease-spring:cubic-bezier(.16, 1, .3, 1);--duration-fast:.15s;--duration-normal:.25s;--yellow-hover:#f0b50b;--red-hover:#a82330;--ghost-hover:#ffffff14;--ok-bg:#00d26a29;--ok-text:#86efac;--warn-bg:#ffc31229;--warn-text:#ffc312;--danger-bg:#c0293733;--danger-text:#fca5a5;--info-bg:#1e90ff29;--info-text:#7dd3fc;--overlay:#04070ec7;--placeholder:#c3dcff80;--header-bg:linear-gradient(135deg, #0f3460 0%, #1a1a2e 50%, #0f3460 100%);--card-img-bg:linear-gradient(135deg, #e8f4f8, #fff);--glow-bg-1:#00d26a0f;--glow-bg-2:#1e90ff0f;--glow-bg-3:#a855f70a;--shadow-glow-green-strong:0 4px 20px #00d26a80;--shadow-card-hover:0 12px 36px #00d26a40;--shadow-img:0 4px 8px #00000026;--shadow-stud:inset 0 -2px 0 #0000004d, 0 2px 6px #0006}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f1f5fb;--bg2:#fff;--surface:#fff;--surface2:#b9c8e0;--card:#f4f7fc;--card-hover:#e6edf8;--border:#0f172a24;--border-strong:#0f172a47;--border-focus:#0077b6;--text:#0f172a;--text2:#334155;--text-muted:#475569;--ghost-hover:#0f172a0f;--ok-bg:#00d26a24;--ok-text:#046c40;--warn-bg:#ffc31233;--warn-text:#7c4a03;--danger-bg:#c029371a;--danger-text:#9f1d2b;--info-bg:#1e90ff1f;--info-text:#075985;--overlay:#0f172a8c;--placeholder:#33415599;--header-bg:linear-gradient(135deg, #fff 0%, #eef3fb 50%, #fff 100%);--glow-bg-1:#00d26a14;--glow-bg-2:#1e90ff14;--glow-bg-3:#a855f70d;--shadow-sm:0 2px 8px #0f172a14;--shadow-md:0 6px 20px #0f172a1a;--shadow-lg:0 16px 40px #0f172a29;--shadow-modal:0 24px 60px #0f172a40, 0 4px 16px #0f172a1f;--shadow-stud:inset 0 -2px 0 #0003, 0 2px 4px #0f172a33}body{--bg-top:var(--bg);--bg-bottom:var(--bg2);--ink:var(--text);--muted:var(--text2);--zone-green:var(--green);--zone-yellow:var(--yellow);--zone-red:var(--red-bright);--status-green:var(--green);--status-yellow:var(--yellow);--status-red:var(--red-bright);--star:var(--yellow);--star-dark:#d97706;--accent:var(--green);--panel:var(--bg2);--panel-border:var(--surface2);--btn-bg:var(--surface);--btn-hover:var(--surface2);--card-bg:var(--card);--glass-bg:var(--surface);--glass-border:var(--surface2);--glass-shadow:var(--shadow-md);--glass-pill-active:var(--green);--glass-pill-shadow:var(--shadow-glow-green);--on-pill-active:var(--on-green)}:root{--font-display:"Rubik", sans-serif;--font-ui:"Nunito", sans-serif;--font-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace}body.light-room{--status-green:var(--ok-text);--status-yellow:var(--warn-text);--status-red:var(--danger-text)}body.light-room .intro-overlay{background:#f1f5f9f0}body.light-room .goal-modal-overlay{background:#0f172ab8}body.light-room .debug-bar{color:#0f172a;background:#f8fafcf5;border-top-color:#cbd5e1}body.light-room .debug-bar button{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}html,body{background-color:var(--bg-top);width:100%;height:100%;font-family:var(--font-ui);color:var(--ink);transition:background-color .25s,color .25s;overflow:hidden}:focus-visible{outline:3px solid var(--border-focus);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.hide-cursor{cursor:none}body.screen-shake #game-canvas,body.screen-shake .hud-top{animation:.4s cubic-bezier(.36,.07,.19,.97) both screenShake}@keyframes screenShake{10%,90%{transform:translate(-4px,2px)}20%,80%{transform:translate(5px,-3px)}30%,50%,70%{transform:translate(-7px,4px)}40%,60%{transform:translate(7px,-4px)}}#game-canvas{z-index:1;touch-action:none;width:100vw;height:100vh;display:block;position:fixed;top:0;left:0}.ui-icon{vertical-align:middle;flex-shrink:0;display:inline-block}.liquid-glass-surface{background:var(--glass-bg);border:2px solid var(--glass-border);box-shadow:var(--glass-shadow)}.liquid-glass-pillbar{background:var(--glass-bg);border:2px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--r-pill);align-items:center;gap:.35vmin;padding:.4vmin;display:inline-flex;position:relative}.liquid-glass-tab{color:var(--muted);font-family:var(--font-display);border-radius:var(--r-pill);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth), color .15s, transform .15s var(--ease-bounce);white-space:nowrap;background:0 0;border:2px solid #0000;justify-content:center;align-items:center;gap:.5vmin;padding:.7vmin 1.8vmin;font-size:1.7vmin;display:inline-flex;position:relative}.liquid-glass-tab:hover{color:var(--ink);background:var(--card-hover)}.liquid-glass-tab:active{transform:scale(.96)}.liquid-glass-tab.active{background:var(--glass-pill-active);color:var(--on-pill-active);border-color:var(--glass-pill-active);box-shadow:var(--glass-pill-shadow)}.panel-pillbar{border-radius:var(--r-pill);gap:4px;width:100%;padding:3px;display:flex}.panel-pillbar .liquid-glass-tab{font-family:var(--font-ui);border-radius:var(--r-pill);flex:1;min-height:40px;padding:6px;font-size:12px;font-weight:800}.hud-container{pointer-events:none;z-index:10;flex-direction:column;justify-content:space-between;width:100vw;height:100vh;padding:1.8vmin 2.6vmin;display:flex;position:fixed;top:0;left:0}.hud-top{pointer-events:auto;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2vmin;width:100%;display:flex}.hud-left{flex-wrap:wrap;align-items:center;gap:1vmin;display:flex}.traffic-light-meter{border-radius:999px;align-items:center;gap:1vmin;padding:.7vmin 1.4vmin;display:flex}.traffic-dots{align-items:center;gap:.7vmin;display:flex}.light-dot{opacity:.22;border-radius:50%;width:1.9vmin;height:1.9vmin;transition:opacity .15s,transform .15s}.light-dot.green{background:var(--zone-green)}.light-dot.yellow{background:var(--zone-yellow)}.light-dot.red{background:var(--zone-red)}.light-dot.active{opacity:1;transform:scale(1.22)}.sound-meter-wrap{background:#00000052;border:1px solid #ffffff1f;border-radius:999px;width:12vmin;height:1.3vmin;margin:0 .4vmin;position:relative;overflow:hidden}body.light-room .sound-meter-wrap{background:#0f172a1f;border-color:#0f172a26}.meter-threshold-tick{z-index:2;pointer-events:none;opacity:.75;width:2px;position:absolute;top:0;bottom:0}.meter-threshold-tick.yellow-tick{background:var(--zone-yellow);left:40%}.meter-threshold-tick.red-tick{background:var(--zone-red);left:66.7%}.db-bar{background:var(--zone-green);border-radius:999px;width:0%;height:100%;transition:width 80ms ease-out,background .15s}.hud-icon-btn{color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.45vmin;transition:background .15s;display:flex}.hud-icon-btn:hover{background:var(--btn-hover)}.hud-center{justify-content:center;align-items:center;display:flex}.timer-display{border:2px solid var(--zone-yellow);font-family:var(--font-display);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;gap:1.2vmin;padding:.7vmin 2.2vmin;font-size:3.1vmin;display:flex}.timer-digits{font-variant-numeric:tabular-nums}.timer-btn{cursor:pointer;color:var(--ink);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.hud-right{align-items:center;gap:1vmin;display:flex}.star-jar-widget{border-radius:999px;align-items:center;gap:1.1vmin;padding:.5vmin 1.6vmin .5vmin .7vmin;transition:transform .25s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.star-jar-widget.jar-pop{animation:.45s cubic-bezier(.175,.885,.32,1.275) forwards jarPop}@keyframes jarPop{0%{transform:scale(1)}40%{transform:scale(1.18)rotate(-4deg)}70%{transform:scale(.96)rotate(2deg)}to{transform:scale(1)rotate(0)}}.jar-ring-container{justify-content:center;align-items:center;width:7.4vmin;height:7.4vmin;display:flex;position:relative}.star-progress-ring{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:#ffffff24;stroke-width:4px}body.light-room .ring-bg{stroke:#0f172a24}.ring-fill{fill:none;stroke:var(--star);stroke-width:4px;stroke-linecap:round;transition:stroke-dashoffset .25s linear}.jar-icon-wrap{z-index:2;justify-content:center;align-items:center;display:flex;position:relative}.jar-text-info{flex-direction:column;line-height:1.15;display:flex}.star-count-badge{font-family:var(--font-display);color:var(--status-yellow);font-variant-numeric:tabular-nums;align-items:center;gap:.4vmin;font-size:3.2vmin;display:flex}.jar-reward-label{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:20vmin;font-size:1.6vmin;overflow:hidden}.panel-toggle-btn{color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:5.2vmin;height:5.2vmin;transition:transform .15s,background .15s;display:flex}.panel-toggle-btn:hover{transform:scale(1.06)}.alert-banner{background:var(--red);color:#fff;border-radius:var(--r-lg);font-family:var(--font-display);text-align:center;pointer-events:none;z-index:50;border:3px solid #ffffff73;padding:2.8vmin 7vmin;font-size:7.5vmin;position:fixed;top:40%;left:50%;transform:translate(-50%,-50%)scale(1)}.alert-banner.pop-in{animation:.3s cubic-bezier(.175,.885,.32,1.275) forwards bannerPopIn}.alert-banner.pop-out{animation:.25s ease-in forwards bannerPopOut}@keyframes bannerPopIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes bannerPopOut{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.7)}}.golden-banner{background:var(--star);color:var(--on-yellow);font-family:var(--font-display);border:2px solid var(--star-dark);pointer-events:none;z-index:20;border-radius:999px;padding:1vmin 3vmin;font-size:2.2vmin;position:fixed;bottom:3.5vmin;left:50%;transform:translate(-50%)}.mic-blocked-toast{background:var(--red);color:#fff;border-radius:var(--r-md);z-index:150;pointer-events:auto;border:2px solid #ffffff59;align-items:center;gap:1.6vmin;max-width:640px;padding:1.4vmin 2.4vmin;display:flex;position:fixed;bottom:3vmin;left:50%;transform:translate(-50%)}.toast-content{align-items:center;gap:1.2vmin;display:flex}.toast-text strong{font-family:var(--font-display);font-size:1.8vmin}.toast-text p{opacity:.94;font-size:1.4vmin}.toast-close-btn{color:#fff;cursor:pointer;background:0 0;border:none;padding:.4vmin}.goal-modal-overlay{z-index:300;pointer-events:auto;background:#0a0c1ed6;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.goal-modal-card{background:var(--panel);border:3px solid var(--star);border-radius:var(--r-lg);text-align:center;max-width:500px;box-shadow:var(--shadow-lg), var(--shadow-glow-yellow);flex-direction:column;align-items:center;gap:1.4vmin;padding:3.5vmin 5vmin;display:flex}.goal-modal-card h2{font-family:var(--font-display);color:var(--ink);font-size:3.4vmin}.goal-modal-subtitle{color:var(--muted);font-size:1.7vmin}.goal-modal-reward{font-family:var(--font-display);color:var(--on-yellow);background:var(--star);border-radius:999px;align-items:center;gap:.8vmin;padding:.8vmin 2.8vmin;font-size:2.6vmin;display:flex}.goal-modal-actions{gap:1vmin;width:100%;margin-top:1.2vmin;display:flex}.goal-action-btn{font-family:var(--font-ui);border-radius:var(--r-pill);cursor:pointer;border:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:.8vmin;min-height:48px;padding:1.2vmin;font-size:1.7vmin;font-weight:800;display:flex}.goal-action-btn.primary{background:var(--green);color:var(--on-green);border-color:var(--green);box-shadow:var(--shadow-glow-green)}.goal-action-btn.secondary{background:var(--btn-bg);border:2px solid var(--panel-border);color:var(--ink)}.teacher-panel{background:var(--panel);border-left:3px solid var(--panel-border);z-index:100;pointer-events:auto;flex-direction:column;width:360px;max-width:92vw;height:100vh;transition:transform .25s cubic-bezier(.25,1,.5,1);display:flex;position:fixed;top:0;right:0}.teacher-panel.closed{transform:translate(100%)}.panel-header{border-bottom:1px solid var(--panel-border);flex-shrink:0;justify-content:space-between;align-items:center;height:44px;padding:0 16px;display:flex}.panel-header h2{font-family:var(--font-display);font-size:16px}.panel-close-btn{color:var(--muted);cursor:pointer;border-radius:var(--r-pill);background:0 0;border:none;justify-content:center;align-items:center;min-width:36px;min-height:36px;padding:4px;display:flex}.panel-close-btn:hover{background:var(--btn-hover);color:var(--ink)}.panel-body{flex-direction:column;flex:1;gap:12px;padding:13px 16px;display:flex;overflow-y:auto}.btn-row{gap:8px;display:flex}.action-btn{background:var(--green);border:2px solid var(--green);color:var(--on-green);font-family:var(--font-ui);border-radius:var(--r-pill);cursor:pointer;flex:1;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-size:13px;font-weight:800;transition:filter .15s;display:flex}.action-btn:hover{filter:brightness(1.08)}.action-btn.secondary{background:var(--btn-bg);border:2px solid var(--panel-border);color:var(--ink)}.action-btn.active{background:var(--red);color:#fff;border-color:var(--red)}.action-btn.full-width{width:100%}.select-input{background:var(--card-bg);border:2px solid var(--panel-border);color:var(--ink);font-family:var(--font-ui);border-radius:var(--r-sm);cursor:pointer;outline:none;width:100%;min-height:44px;padding:7px 10px;font-size:12px}.select-input:focus{border-color:var(--accent)}.mic-test-wrap{background:var(--card-bg);border:2px solid var(--panel-border);border-radius:var(--r-md);flex-direction:column;gap:5px;padding:8px 10px;display:flex}.mic-test-header{color:var(--muted);justify-content:space-between;align-items:center;font-size:11px;font-weight:700;display:flex}#mic-test-db{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.mic-vu-bar-bg{background:#80808033;border-radius:999px;width:100%;height:7px;position:relative;overflow:hidden}.mic-vu-bar-fill{background:var(--zone-green);border-radius:999px;width:0%;height:100%;transition:width 50ms ease-out,background .15s ease-out}.mic-status-hint{color:var(--muted);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:11px;display:flex}#hint-ambient{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.slider-header{color:var(--ink);justify-content:space-between;align-items:center;font-size:12px;display:flex}.slider-val{color:var(--status-yellow);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:12px;font-weight:700}.slider{width:100%;accent-color:var(--accent);cursor:pointer;border-radius:4px;height:5px}.slider-hints{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;font-size:10px;display:flex}.themes-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.theme-card{background:var(--card-bg);border:2px solid var(--panel-border);border-radius:var(--r-md);cursor:pointer;color:var(--ink);text-align:left;align-items:center;gap:8px;min-height:44px;padding:5px 8px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.theme-card:hover{background:var(--btn-hover)}.theme-card.active{background:var(--card-hover);border-color:var(--green);box-shadow:var(--shadow-glow-green)}.theme-card-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.theme-card-info{flex-direction:column;display:flex}.theme-title{font-family:var(--font-display);font-size:12.5px}.theme-sub{color:var(--muted);font-size:10px}.timer-chips{flex-wrap:wrap;gap:6px;display:flex}.chip-btn{background:var(--btn-bg);border:2px solid var(--panel-border);color:var(--ink);border-radius:var(--r-pill);cursor:pointer;font-variant-numeric:tabular-nums;min-height:44px;padding:5px 12px;font-size:12px;font-weight:800}.chip-btn:hover{background:var(--btn-hover);border-color:var(--accent)}.icon-danger-btn{color:var(--muted);cursor:pointer;border-radius:var(--r-pill);background:0 0;border:none;align-items:center;min-width:36px;min-height:36px;padding:3px 5px;display:inline-flex}.icon-danger-btn:hover{color:var(--status-red);background:#ef44441f}.class-stats-strip{grid-template-columns:repeat(4,1fr);gap:5px;margin-top:2px;display:grid}.stat-cell{background:var(--card-bg);border:2px solid var(--panel-border);border-radius:var(--r-sm);flex-direction:column;justify-content:center;align-items:flex-end;padding:6px;display:flex}.stat-cell-interactive{cursor:pointer;transition:background .15s,border-color .15s}.stat-cell-interactive:hover{background:var(--btn-hover);border-color:var(--zone-green)}.stat-val-row{align-items:center;gap:4px;display:flex}.stat-val{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:13px;font-weight:800}.stat-plus-badge{background:var(--zone-green);color:var(--on-green);font-family:var(--font-mono);border-radius:var(--r-pill);padding:1px 4px;font-size:9px;font-weight:800}.stat-lbl{color:var(--muted);white-space:nowrap;font-size:9.5px}.num-input,.text-input{background:var(--card-bg);border:2px solid var(--panel-border);color:var(--ink);border-radius:var(--r-sm);font-family:var(--font-ui);font-variant-numeric:tabular-nums;outline:none;min-height:40px;padding:6px 8px;font-size:12px}.num-input{width:60px}.text-input{flex:1}.num-input:focus,.text-input:focus{border-color:var(--accent)}.chip-btn-gold{background:var(--yellow);border:2px solid var(--yellow);color:var(--on-yellow);border-radius:var(--r-pill);cursor:pointer;font-family:var(--font-display);min-height:40px;box-shadow:var(--shadow-glow-yellow);align-items:center;gap:4px;margin-left:auto;padding:5px 10px;font-size:12px;font-weight:800;display:flex}.chip-btn-gold:hover{filter:brightness(1.06)}.panel-footer{border-top:1px solid var(--panel-border);flex-direction:column;gap:6px;margin-top:auto;padding-top:12px;display:flex}.privacy-text,.hotkeys-text{color:var(--muted);font-size:11px;line-height:1.35}.intro-overlay{z-index:200;background:#1a1a2eeb;justify-content:center;align-items:center;transition:opacity .3s ease-out;display:flex;position:fixed;inset:0}.intro-overlay.fade-out{opacity:0;pointer-events:none}.intro-card{background:var(--panel);border:3px solid var(--panel-border);border-radius:var(--r-lg);text-align:center;max-width:600px;box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:1.6vmin;padding:3.5vmin 5vmin;display:flex}.intro-critter-stage{justify-content:center;display:flex}.intro-title{font-family:var(--font-display);color:var(--ink);font-size:4.6vmin}.intro-subtitle{color:var(--muted);font-size:1.9vmin;line-height:1.45}.intro-start-btn{background:var(--green);color:var(--on-green);border:2px solid var(--green);font-family:var(--font-display);cursor:pointer;box-shadow:var(--shadow-glow-green);border-radius:999px;align-items:center;gap:1vmin;margin-top:.4vmin;padding:1.4vmin 5vmin;font-size:2.6vmin;transition:transform .15s,filter .15s;display:flex}.intro-start-btn:hover{filter:brightness(1.06);transform:scale(1.04)}.intro-hints{flex-direction:column;gap:.7vmin;margin-top:.4vmin;display:flex}.hint-item{color:var(--muted);text-align:left;justify-content:flex-start;align-items:center;gap:.8vmin;font-size:1.45vmin;display:flex}.hint-item svg{color:var(--cyan)}.debug-bar{color:#fff;z-index:1000;width:100vw;font-family:var(--font-mono);font-variant-numeric:tabular-nums;background:#000000e6;border-top:1px solid #333;align-items:center;gap:12px;padding:8px 16px;font-size:12px;display:flex;position:fixed;bottom:0;left:0}.debug-bar button{color:#fff;cursor:pointer;background:#333;border:1px solid #555;border-radius:6px;padding:4px 10px}.debug-bar button:hover{background:#555}.debug-bar input[type=range]{flex:1}.hidden{display:none!important}.hud-center{gap:1vmin}.hud-mode-tab .ui-icon{width:2.1vmin;height:2.1vmin}.hud-timer-btn{color:var(--ink);font-family:var(--font-display);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:.6vmin;padding:1vmin 1.8vmin;font-size:1.7vmin;transition:transform .15s;display:inline-flex}.hud-timer-btn:hover{transform:scale(1.04)}.hud-timer-btn .ui-icon{width:2.2vmin;height:2.2vmin}.jar-class-label{font-family:var(--font-display);color:var(--class-color,var(--ink));white-space:nowrap;text-overflow:ellipsis;max-width:20vmin;font-size:1.8vmin;overflow:hidden}.class-sidebar{border-radius:var(--r-lg);z-index:9;pointer-events:auto;cursor:grab;-webkit-user-select:none;user-select:none;flex-direction:column;gap:8px;width:clamp(230px,21vw,360px);max-height:calc(100vh - 20vmin);padding:12px;transition:width .22s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;top:9.2vmin;left:2.6vmin}.class-sidebar.window-dragging{cursor:grabbing;box-shadow:var(--shadow-lg), 0 0 0 3px var(--cyan);transition:none!important}.sidebar-head{cursor:grab;align-items:center;gap:4px;padding:0 2px 0 6px;display:flex}.sidebar-title{font-family:var(--font-display);letter-spacing:.3px;color:var(--muted);flex:1;font-size:clamp(13px,1.6vmin,19px)}.sidebar-head-btn{color:var(--muted);cursor:pointer;border-radius:var(--r-pill);background:0 0;border:none;justify-content:center;align-items:center;width:32px;min-width:36px;height:36px;display:flex}.sidebar-head-btn.active{color:var(--on-yellow);background:var(--yellow)}.sidebar-head-btn:hover{background:var(--btn-hover);color:var(--ink)}.sidebar-list{scrollbar-width:thin;scrollbar-color:#ffffff52 transparent;flex-direction:column;gap:6px;min-height:0;padding-right:6px;display:flex;overflow:hidden auto}.sidebar-list::-webkit-scrollbar{width:6px}.sidebar-list::-webkit-scrollbar-track{background:0 0}.sidebar-list::-webkit-scrollbar-thumb{background:#ffffff47;border:1px solid #ffffff1a;border-radius:999px;transition:background .15s}.sidebar-list::-webkit-scrollbar-thumb:hover{background:#ffffff85}body.light-room .sidebar-list{scrollbar-color:#0f172a47 transparent}body.light-room .sidebar-list::-webkit-scrollbar-thumb{background:#0f172a47;border-color:#0f172a14}body.light-room .sidebar-list::-webkit-scrollbar-thumb:hover{background:#0f172a7a}.class-card{--class-color:#3b82f6;border-radius:var(--r-md);border:2px solid var(--panel-border);border-left:6px solid var(--class-color);background:var(--card-bg);transition:background .18s,border-color .18s,box-shadow .18s;position:relative}.class-card:hover{background:var(--card-hover)}.class-card.active{background:#2563eb3d;background:color-mix(in srgb, var(--class-color) 26%, transparent);border-color:var(--class-color);box-shadow:0 4px 18px color-mix(in srgb, var(--class-color) 35%, transparent)}body.light-room .class-card.active{background:color-mix(in srgb, var(--class-color) 14%, transparent)}.class-card-main{width:100%;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font-ui);background:0 0;border:none;flex-direction:column;gap:7px;padding:10px 12px;display:flex}.class-card-top{align-items:center;gap:6px;min-width:0;padding-right:30px;display:flex}.class-card-meter{align-items:center;gap:8px;display:flex}.class-card-meter .class-card-progress{flex:1}.class-card-name{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:clamp(17px,2.5vmin,32px);overflow:hidden}.class-card-stars{font-family:var(--font-display);color:var(--status-yellow);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;display:inline-flex}.class-card-stars .ui-icon{width:clamp(16px,2vmin,26px);height:clamp(16px,2vmin,26px)}.class-card-stars b{font-size:clamp(17px,2.4vmin,30px)}.class-card-stars small{color:var(--muted);font-size:clamp(12px,1.5vmin,18px)}.class-card-progress{background:#80808038;border-radius:999px;height:clamp(6px,.9vmin,11px);display:block;overflow:hidden}.class-card-progress>span{background:linear-gradient(90deg, var(--star-dark), var(--star));border-radius:999px;height:100%;transition:width .4s cubic-bezier(.22,1,.36,1);display:block}.class-card.complete .class-card-progress>span{background:var(--zone-green)}.class-card-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.class-card-reward{color:var(--muted);align-items:center;gap:5px;min-width:0;font-size:clamp(12px,1.55vmin,19px);display:flex}.class-card-reward .ui-icon,.class-card-total .ui-icon{flex-shrink:0;width:clamp(14px,1.6vmin,20px);height:clamp(14px,1.6vmin,20px)}.class-card-total{font-family:var(--font-display);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;gap:3px;font-size:clamp(12px,1.5vmin,18px);display:inline-flex}.class-sidebar.sorted .class-card-total{color:var(--status-yellow)}.class-card-reward span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.class-card-edit{border-radius:var(--r-pill);background:var(--btn-bg);border:2px solid var(--panel-border);width:36px;height:36px;color:var(--ink);cursor:pointer;opacity:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:flex;position:absolute;top:6px;right:6px}.class-card.active .class-card-edit,.class-card:hover .class-card-edit,.class-card-edit:focus-visible{opacity:1}.class-card-edit:hover{background:var(--green);color:var(--on-green)}@media (hover:none){.class-card-edit{opacity:1}}.sidebar-add-btn{border:2px dashed var(--panel-border);color:var(--muted);border-radius:var(--r-md);font-family:var(--font-ui);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:8px;font-size:13px;font-weight:700;display:flex}.sidebar-add-btn:hover{color:var(--ink);border-color:var(--accent);background:var(--btn-bg)}.sidebar-add-form{gap:6px;display:flex}.sidebar-add-form .text-input{min-width:0}.sidebar-add-ok{background:var(--green);color:var(--on-green);border-radius:var(--r-pill);cursor:pointer;border:none;justify-content:center;align-items:center;width:34px;font-weight:800;display:flex}.class-sidebar.collapsed{width:auto;min-width:0;padding:8px 6px}.class-sidebar.collapsed .sidebar-title,.class-sidebar.collapsed .class-card-bottom,.class-sidebar.collapsed .class-card-grip,.class-sidebar.collapsed .class-card-medal,.class-sidebar.collapsed .sidebar-head-btn[data-action=sort],.class-sidebar.collapsed .class-card-progress,.class-sidebar.collapsed .class-card-edit,.class-sidebar.collapsed .sidebar-add-btn span{display:none}.class-sidebar.collapsed .sidebar-head{justify-content:center;padding:0}.class-sidebar.collapsed .class-card-main{align-items:center;padding:7px 9px}.class-sidebar.collapsed .class-card-top{padding-right:0}.class-sidebar.collapsed .class-card-meter{justify-content:center}.class-sidebar.collapsed .class-card-name{max-width:72px;font-size:clamp(14px,1.8vmin,20px)}.class-sidebar.collapsed .class-card-stars small{display:none}.popover{z-index:200;background:var(--panel);border:3px solid var(--panel-border);border-radius:var(--r-lg);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);box-shadow:var(--shadow-lg);color:var(--ink);pointer-events:auto;animation:.18s cubic-bezier(.22,1,.36,1) popoverIn;position:fixed;overflow-y:auto}body.light-room .popover{box-shadow:0 18px 50px #0f172a33}@keyframes popoverIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.popover-header{justify-content:space-between;align-items:center;padding:12px 12px 0 16px;display:flex}.popover-header h3{font-family:var(--font-display);font-size:15px}.popover-close{color:var(--muted);cursor:pointer;border-radius:var(--r-pill);background:0 0;border:none;justify-content:center;min-width:36px;min-height:36px;padding:4px;display:flex}.popover-close:hover{background:var(--btn-hover);color:var(--ink)}.popover-body{flex-direction:column;gap:10px;padding:12px 16px 16px;display:flex}.popover-note{color:var(--muted);font-size:12px;line-height:1.4}.popover-actions{align-items:center;gap:8px;display:flex}.field{flex-direction:column;gap:5px;display:flex}.field-row{gap:10px;display:flex}.field-grow{flex:1;min-width:0}.field-label{color:var(--muted);font-size:12px;font-weight:700}input,select{-webkit-user-select:text;user-select:text}.input-error,.input-error:focus{border-color:var(--status-red)}.stepper{align-items:center;gap:4px;display:flex}.stepper .num-input{text-align:center;width:52px}.stepper-btn{border-radius:var(--r-pill);background:var(--btn-bg);border:2px solid var(--panel-border);width:40px;height:40px;color:var(--ink);cursor:pointer;font-size:16px;font-weight:800}.stepper-btn:hover{background:var(--btn-hover)}.jar-now{background:var(--card-bg);border:2px solid var(--panel-border);border-radius:var(--r-md);justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.jar-now-count{font-family:var(--font-display);font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:18px;display:flex}.jar-now-count b{color:var(--status-yellow)}.stat-cell{font-family:var(--font-ui);color:var(--ink);align-items:center}.choice-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.choice-btn{background:var(--card-bg);border:2px solid var(--panel-border);color:var(--ink);border-radius:var(--r-pill);font-family:var(--font-display);cursor:pointer;min-height:44px;padding:9px 6px;font-size:13px;font-weight:800}.choice-btn:hover{background:var(--btn-hover)}.choice-btn.active{background:var(--green);border-color:var(--green);color:var(--on-green)}.profile-list{flex-direction:column;gap:6px;display:flex}.profile-row{text-align:left;background:var(--card-bg);border:2px solid var(--panel-border);color:var(--ink);border-radius:var(--r-md);cursor:pointer;font-family:var(--font-ui);align-items:center;gap:10px;min-height:44px;padding:8px 10px;display:flex}.profile-row span{flex-direction:column;display:flex}.profile-row b{font-size:13px}.profile-row small{color:var(--muted);font-size:11px}.profile-row:hover{background:var(--btn-hover)}.profile-row.active{background:var(--card-hover);border-color:var(--green)}.help-steps{flex-direction:column;gap:7px;padding-left:20px;font-size:13px;line-height:1.4;display:flex}.hotkey-list{grid-template-columns:auto 1fr;align-items:center;gap:6px 10px;font-size:12px;display:grid}.hotkey-list dd{color:var(--muted)}kbd{font-family:var(--font-mono);background:var(--btn-bg);border:1px solid var(--panel-border);white-space:nowrap;border-bottom-width:2px;border-radius:5px;padding:2px 6px;font-size:11px;font-weight:700}.panel-card{background:var(--card-bg);border:2px solid var(--panel-border);border-radius:var(--r-md);flex-direction:column;gap:10px;padding:12px;display:flex}.panel-card-head{justify-content:space-between;align-items:center;display:flex}.panel-card-title{font-family:var(--font-display);font-size:14px}.mic-pill{color:var(--status-red);background:#ff5c7a29;border-radius:999px;padding:3px 9px;font-size:11px;font-weight:800}.mic-pill.on{color:var(--status-green);background:#3ddc9729}.mini-meter{background:#80808038;border-radius:999px;height:8px;overflow:hidden}.mini-meter-fill{background:var(--zone-green);border-radius:999px;width:0%;height:100%;transition:width 60ms ease-out,background .15s}.row-link{color:var(--muted);font-family:var(--font-ui);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:2px 0;font-size:12px;font-weight:700;display:flex}.row-link span{flex:1}.row-link:hover{color:var(--ink)}.panel-list{background:var(--card-bg);border:2px solid var(--panel-border);border-radius:var(--r-md);overflow:hidden}.list-row{border:none;border-bottom:1px solid var(--panel-border);width:100%;color:var(--ink);cursor:pointer;text-align:left;font-family:var(--font-ui);background:0 0;align-items:center;gap:12px;min-height:48px;padding:11px 12px;display:flex}.list-row:last-child{border-bottom:none}.list-row:hover{background:var(--btn-hover)}.list-row>.ui-icon:last-child{color:var(--muted)}.list-row-icon{border-radius:var(--r-sm);background:var(--btn-bg);flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.list-row-text{flex-direction:column;flex:1;min-width:0;display:flex}.list-row-title{font-size:13.5px;font-weight:700}.list-row-value{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.switch{appearance:none;background:var(--surface2);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:24px;transition:background .18s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(18px)}.panel-footer a{color:var(--ink)}@media (max-width:720px){.class-sidebar{max-height:calc(100vh - 140px);top:116px}.hud-timer-btn span{display:none}}.class-card-grip{width:18px;height:36px;color:var(--muted);cursor:grab;touch-action:none;opacity:0;z-index:2;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:50%;left:2px;transform:translateY(-50%)}.class-card:hover .class-card-grip{opacity:.8}@media (hover:none){.class-card-grip{opacity:.6}}.class-sidebar:not(.sorted):not(.collapsed) .class-card-main{padding-left:20px}.class-card.dragging{z-index:5;cursor:grabbing;transform:scale(1.03);box-shadow:0 10px 28px #0006}.class-card.dragging .class-card-grip{opacity:1;cursor:grabbing}.class-card-medal{flex-shrink:0;display:inline-flex}.class-card-medal .ui-icon{width:clamp(26px,3.2vmin,40px);height:clamp(26px,3.2vmin,40px)}.color-swatches{flex-wrap:wrap;gap:7px;display:flex}.color-swatch{background:var(--swatch);cursor:pointer;border:3px solid #0000;border-radius:50%;width:28px;height:28px;transition:transform .12s;box-shadow:inset 0 0 0 2px #ffffff59}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--ink);transform:scale(1.12)}.prize-history{flex-direction:column;gap:4px;max-height:150px;list-style:none;display:flex;overflow-y:auto}.prize-history li{background:var(--card-bg);border-radius:8px;align-items:center;gap:7px;padding:5px 8px;font-size:12.5px;display:flex}.prize-history li .ui-icon{width:15px;height:15px;color:var(--status-yellow);flex-shrink:0}.prize-history li span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.prize-history time{font-family:var(--font-mono);color:var(--muted);font-size:11px}.prize-history li.prize-history-empty{color:var(--muted);background:0 0;padding:0;font-size:12px}.traffic-label{font-family:var(--font-display);min-width:7.5vmin;font-size:2vmin;transition:color .15s}.traffic-label.zone-green{color:var(--status-green)}.traffic-label.zone-yellow{color:var(--status-yellow)}.traffic-label.zone-red{color:var(--status-red)}.jar-icon-wrap svg{width:4.6vmin;height:auto}.star-count-badge .ui-icon{width:3vmin;height:3vmin}.timer-custom{align-items:center;gap:8px;display:flex}.timer-custom .num-input{text-align:center;width:62px}.timer-custom .action-btn{flex:none;margin-left:auto;padding:7px 16px}.big-timer{pointer-events:none;z-index:12;flex-direction:column;align-items:center;gap:1.4vmin;transition:opacity .2s;display:flex;position:fixed;top:22vh;left:50%;transform:translate(-50%)}.big-timer-digits{font-family:var(--font-display);color:var(--ink);font-variant-numeric:tabular-nums;text-shadow:0 .6vmin 3vmin #00000073;opacity:.92;font-size:19vmin;line-height:1}body.light-room .big-timer-digits{text-shadow:0 .4vmin 2vmin #0f172a2e}.big-timer-bar{background:#80808047;border-radius:999px;width:34vmin;height:1.2vmin;overflow:hidden}.big-timer-bar span{background:var(--zone-yellow);border-radius:999px;width:100%;height:100%;transition:width .25s linear;display:block}.big-timer.paused{opacity:.45}.big-timer.ending .big-timer-digits{color:var(--status-red);animation:1s ease-in-out infinite timerPulse}.big-timer.ending .big-timer-bar span{background:var(--zone-red)}@keyframes timerPulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.backup-popover-wrap{flex-direction:column;gap:10px;display:flex}.backup-upload-label{cursor:pointer}.snapshots-list{scrollbar-width:thin;flex-direction:column;gap:6px;max-height:210px;display:flex;overflow-y:auto}.snapshot-item{background:var(--btn-bg);border:1px solid var(--panel-border);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;display:flex}.snapshot-info{flex-direction:column;gap:2px;min-width:0;display:flex}.snapshot-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:700;overflow:hidden}.snapshot-meta{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.btn-restore-snap{flex:none;padding:5px 9px;font-size:12px}.backup-status-card{padding:9px 11px}.backup-status-row{align-items:center;gap:8px;display:flex}.backup-status-icon{color:var(--zone-green);flex-shrink:0;display:inline-flex}.update-toast{z-index:400;background:var(--surface);max-width:min(640px,100vw - 32px);color:var(--text);border:var(--border-width-card) solid var(--green);border-radius:var(--r-pill);box-shadow:var(--shadow-lg);pointer-events:auto;animation:update-toast-in .32s var(--ease-bounce);align-items:center;gap:1.2vmin;padding:1vmin 1vmin 1vmin 2.2vmin;font-size:max(14px,1.6vmin);display:flex;position:fixed;top:3vmin;left:50%;transform:translate(-50%)}.update-toast-text strong{font-family:var(--font-display);margin-right:.6em}.update-toast-reload{border-radius:var(--r-pill);background:var(--green);min-height:44px;color:var(--on-green);font:inherit;cursor:pointer;white-space:nowrap;border:none;padding:0 2.2vmin;font-weight:800}.update-toast-reload:active{transform:scale(.96)}.update-toast-close{border-radius:var(--r-pill);min-width:44px;min-height:44px;color:var(--text2);cursor:pointer;background:0 0;border:none;place-items:center;display:grid}.update-toast-close:hover{background:var(--ghost-hover)}.update-toast-close svg{width:20px;height:20px}@keyframes update-toast-in{0%{opacity:0;transform:translate(-50%,-12px)}}@media (prefers-reduced-motion:reduce){.update-toast{animation:none}}
