:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--tg-theme-bg-color,#fff);--bg-soft:var(--tg-theme-secondary-bg-color,#f1f2f6);--card:var(--tg-theme-bg-color,#fff);--text:var(--tg-theme-text-color,#0b0b0b);--text-dim:var(--tg-theme-hint-color,#6b6b6b);--accent:var(--tg-theme-button-color,#2a78d6);--accent-ink:var(--tg-theme-button-text-color,#fff);--border:#00000017;--shadow:0 1px 2px #0000000d, 0 8px 24px #0000000f;--viz-1:#2a78d6;--viz-2:#eb6834;--grid:#00000014;--good:#0ca30c;--warning:#fab219;--critical:#d03b3b;--heat-low-3:#d03b3b;--heat-low-2:#e57373;--heat-low-1:#f3b8b8;--heat-mid:#eceae6;--heat-high-1:#9ec5f4;--heat-high-2:#5598e7;--heat-high-3:#256abf;--heat-empty:#0000000d;--radius:16px;--radius-sm:10px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--tg-theme-bg-color,#17212b);--bg-soft:var(--tg-theme-secondary-bg-color,#0e1621);--card:var(--tg-theme-secondary-bg-color,#1d2733);--text:var(--tg-theme-text-color,#fff);--text-dim:var(--tg-theme-hint-color,#a8b6c4);--border:#ffffff1a;--shadow:none;--viz-1:#3987e5;--viz-2:#d95926;--grid:#ffffff1a;--heat-low-3:#e66767;--heat-low-2:#c14a4a;--heat-low-1:#7d3636;--heat-mid:#383835;--heat-high-1:#184f95;--heat-high-2:#2a78d6;--heat-high-3:#5598e7;--heat-empty:#ffffff0f}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{background:var(--bg);color:var(--text);overscroll-behavior-y:none;margin:0;font:16px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}#root{max-width:560px;padding:12px 14px calc(84px + env(safe-area-inset-bottom));min-height:100vh;margin:0 auto}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}.dim{color:var(--text-dim)}.small{font-size:13px}.center{text-align:center}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.grow{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}.btn{border-radius:var(--radius-sm);background:var(--accent);min-height:50px;color:var(--accent-ink);justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:600;transition:transform 80ms,opacity .15s;display:flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn.ghost{background:var(--bg-soft);color:var(--text);border:1px solid var(--border)}.tabbar{background:var(--bg);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:20;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar button{color:var(--text-dim);flex-direction:column;flex:1;align-items:center;gap:2px;padding:9px 0 8px;font-size:11px;display:flex}.tabbar button.on{color:var(--accent)}.tabbar .ico{font-size:21px;line-height:1}.game{flex-direction:column;gap:14px;min-height:calc(100vh - 100px);display:flex}.game-top{align-items:center;gap:12px;display:flex}.progress{background:var(--bg-soft);border-radius:4px;flex:1;height:8px;overflow:hidden}.progress>i{background:var(--accent);border-radius:4px;height:100%;transition:width .25s;display:block}.combo{font-variant-numeric:tabular-nums;font-weight:700;transition:transform .2s}.combo.hot{color:var(--viz-2);transform:scale(1.12)}.timer{font-variant-numeric:tabular-nums;font-weight:600}.timer.low{color:var(--critical)}.question{letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;min-height:130px;font-size:clamp(40px,13vw,60px);font-weight:700;display:flex}.question .eq{opacity:.35}.question.shake{animation:.35s shake}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-9px)}75%{transform:translate(9px)}}.typed{border-bottom:3px solid var(--accent);text-align:center;min-width:90px;padding:0 8px}.typed:empty:after{content:"?";opacity:.25}.choices{grid-template-columns:1fr 1fr;gap:10px;display:grid}.choice{border-radius:var(--radius);background:var(--bg-soft);font-variant-numeric:tabular-nums;border:2px solid #0000;min-height:62px;font-size:26px;font-weight:700;transition:transform 80ms,background .15s,border-color .15s}.choice:active{transform:scale(.96)}.choice.right{background:var(--good);color:#fff;border-color:var(--good)}.choice.wrong{background:var(--critical);color:#fff;border-color:var(--critical)}.choice.hint{border-color:var(--good)}.numpad{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.numpad button{border-radius:var(--radius-sm);background:var(--bg-soft);font-variant-numeric:tabular-nums;min-height:56px;font-size:24px;font-weight:650;transition:transform 80ms}.numpad button:active{transform:scale(.94)}.numpad button.act{background:var(--accent);color:var(--accent-ink)}.verdict{text-align:center;min-height:26px;font-weight:650;transition:opacity .2s}.verdict.ok{color:var(--good)}.verdict.no{color:var(--critical)}.tiles{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.tile .v{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:26px;font-weight:700}.tile .k{color:var(--text-dim);font-size:12px}.modes{gap:10px;display:grid}.mode{border-radius:var(--radius);background:var(--card);border:1px solid var(--border);text-align:left;align-items:center;gap:13px;padding:14px;transition:transform 80ms;display:flex}.mode:active{transform:scale(.985)}.mode .ico{font-size:27px;line-height:1}.mode .t{font-weight:650}.mode .d{color:var(--text-dim);font-size:13px}.mode:disabled{opacity:.45}.ach{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:11px 0;display:flex}.ach:last-child{border-bottom:none}.ach .ico{text-align:center;width:34px;font-size:27px}.ach.locked .ico{filter:grayscale();opacity:.4}.ach .bar{background:var(--bg-soft);border-radius:3px;height:5px;margin-top:5px;overflow:hidden}.ach .bar>i{background:var(--accent);height:100%;display:block}.pill{background:var(--bg-soft);border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;display:inline-flex}.pill.win{background:var(--good);color:#fff}.pill.lose{background:var(--critical);color:#fff}.confetti{pointer-events:none;z-index:50;position:fixed;top:0;bottom:0;left:0;right:0}.pop{animation:.4s pop}@keyframes pop{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.06)}to{opacity:1;transform:scale(1)}}.empty{text-align:center;color:var(--text-dim);padding:28px 14px}.chart{width:100%;display:block;overflow:visible}.chart .axis{fill:var(--text-dim);font-size:10px}.chart .grid-line{stroke:var(--grid);stroke-width:1px}.chart .line{fill:none;stroke:var(--viz-1);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--viz-1);opacity:.1}.chart .bar{fill:var(--viz-1)}.chart .bar.dim{fill:var(--viz-1);opacity:.35}.chart .dot{fill:var(--viz-1);stroke:var(--card);stroke-width:2px}.chart .crosshair{stroke:var(--text-dim);stroke-width:1px;stroke-dasharray:3 3}.chart .hit{fill:#0000}.chart-wrap{position:relative}.tooltip{background:var(--card);border:1px solid var(--border);white-space:nowrap;pointer-events:none;z-index:5;border-radius:8px;padding:6px 9px;font-size:12px;line-height:1.35;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px 14px #00000024}.tooltip b{font-variant-numeric:tabular-nums}.heat{width:100%}.heat .cell{stroke:var(--card);stroke-width:2px}.heat .lbl{fill:var(--text-dim);text-anchor:middle;font-size:9px}.heat .done{stroke:#fff;stroke-width:1.6px;fill:none;opacity:.85}.heat .cell.sel{stroke:var(--text);stroke-width:2.5px}.legend{color:var(--text-dim);align-items:center;gap:6px;font-size:11px;display:flex}.legend .sw{border-radius:3px;width:15px;height:11px;display:inline-block}.table-view{border-collapse:collapse;width:100%;font-size:13px}.table-view th,.table-view td{text-align:left;border-bottom:1px solid var(--border);padding:6px 8px}.table-view th{color:var(--text-dim);font-size:12px;font-weight:600}.table-view td.num{text-align:right;font-variant-numeric:tabular-nums}details.more>summary{cursor:pointer;color:var(--accent);padding:6px 0;font-size:13px;list-style:none}details.more>summary::-webkit-details-marker{display:none}details.more>summary:before{content:"▸ "}details.more[open]>summary:before{content:"▾ "}
