@font-face{font-family:Noto Sans KR;src:url(/assets/noto-sans-kr-hangul-Dmw-3k2d.woff2)format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+11??,U+3130-318F,U+AC00-D7A3}@font-face{font-family:Noto Sans KR;src:url(/assets/noto-sans-kr-latin-Byqd_NG3.woff2)format("woff2");font-weight:400 900;font-display:swap;unicode-range:U+??,U+2013-2014,U+2026,U+2083,U+215B,U+2190-2194,U+2208,U+2212,U+2248,U+25B6,U+25C0,U+2713,U+D55C,U+AD6D,U+C5B4}@font-face{font-family:JetBrains Mono;src:url(/assets/jetbrains-mono-hpF6sRf6.woff2)format("woff2");font-weight:400 800;font-display:swap;unicode-range:U+??,U+2013-2014,U+2026,U+2083,U+215B,U+2190-2194,U+2208,U+2212,U+2248,U+25B6,U+25C0,U+2713}:root{--bg:#0e1316;--surface:#121a1f;--card:#161d22;--card-2:#1f282e;--line:#2a353d;--line-strong:#3a4650;--text:#eaf0f2;--text-dim:#9aa8b1;--brass:#e3b868;--brass-hi:#f0cd8c;--brass-ink:#1a1206;--brass-bg:#2a2418;--felt:#1e6b47;--correct:#7cc6ff;--correct-bg:#10263a;--correct-line:#2b5576;--close:#f5c451;--close-bg:#2e2810;--miss:#ff8a8a;--miss-bg:#2e1416;--mine:#ffb066;--mine-bg:#2a1c10;--mine-line:#6b4520;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--sans:"Noto Sans KR", system-ui, "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;--panel-bg:var(--surface);--panel-line:var(--line);--accent:var(--brass);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--text);font-family:var(--sans);margin:0;overflow:hidden}.mono{font-family:var(--mono)}select,button{font:inherit;color:var(--text);background:var(--card);border:1px solid var(--line-strong);cursor:pointer;border-radius:10px;min-height:36px;padding:6px 12px}button:hover,select:hover{border-color:var(--brass)}button:disabled{opacity:.4;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--brass);outline-offset:2px}button.primary{background:var(--brass);border-color:var(--brass);color:var(--brass-ink);font-weight:800}button.primary:hover{background:var(--brass-hi)}button.primary.big{border-radius:16px;justify-content:center;align-items:center;gap:10px;height:60px;font-size:19px;font-weight:900;display:flex}button.ghost{background:0 0;border-style:dashed}button.danger{color:#ffb3b3;border-color:#ff8a8a99}.link-btn{color:var(--brass);background:0 0;border:0;min-height:40px;font-weight:700}.link-btn:hover{color:var(--brass-hi)}.muted-btn{color:var(--text-dim);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:500;display:inline-flex}.icon-btn{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.chip-btn{border-radius:12px;height:44px;padding:0 14px;font-size:14px;font-weight:700}.chip-btn.on{border-color:var(--brass);background:var(--brass-bg);color:var(--brass-hi)}.small-btn{min-height:32px;padding:3px 10px;font-size:13px}.toggle{cursor:pointer;align-items:center;gap:8px;display:flex}.toggle input{width:18px;height:18px;accent-color:var(--brass)}.toggle em{color:var(--text-dim);font-size:12px;font-style:normal}.warn{color:var(--close);margin:0;font-size:13px}.small{margin:0;font-size:12px}.icon{flex:none}.app{width:100vw;height:100dvh;display:flex}.stage{flex-direction:column;flex:auto;min-width:0;display:flex;position:relative}.hud{flex:none;align-items:center;gap:14px;height:64px;padding:0 18px;display:flex}.hud-title{flex-direction:column;min-width:0;line-height:1.2;display:flex}.hud-title b{white-space:nowrap;text-overflow:ellipsis;max-width:260px;font-size:15px;overflow:hidden}.hud-title small{color:var(--text-dim);font-size:12px}.hud-progress{flex:1;gap:5px;min-width:60px;margin:0 6px;padding:0;list-style:none;display:flex}.seg{background:var(--line);border-radius:4px;flex:1;max-width:64px;height:8px}.seg-정답{background:#4fb3ff}.seg-근접{background:var(--close)}.seg-오답{background:#ff6b6b}.seg-current{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--brass);background:#f4f1e8}.hud-count{font:700 15px var(--sans);font-variant-numeric:tabular-nums}.hud-score{background:var(--card);border:1px solid var(--line);height:36px;font:700 15px var(--mono);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.hud-score .icon{color:var(--brass)}.table-wrap{flex:auto;min-height:0;display:flex;position:relative}.table-area{flex:auto;min-width:0;position:relative;overflow:hidden}.table-area canvas{display:block}.stage-foot{flex:none;align-items:center;min-height:64px;padding:0 18px;display:flex}.hint{color:var(--text-dim);align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.toast{z-index:5;pointer-events:none;background:#151b1f;border:2px solid;border-radius:18px;align-items:center;gap:10px;padding:6px 18px 6px 8px;animation:.26s cubic-bezier(.2,.9,.3,1.3) toast-in;display:flex;position:absolute;top:4px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #00000073}.toast .v-icon{width:34px;height:34px}.toast-text{flex-direction:column;line-height:1.2;display:flex}.toast-text>b{font-size:20px;font-weight:900}.toast-text small{color:#c5d0d6;font-size:12.5px}.toast-pts{font-family:var(--mono)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)scale(.92)}to{opacity:1;transform:translate(-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.toast,.hud-run{animation:none}}.hud-run{color:var(--brass-hi);white-space:nowrap;background:#ffb54729;border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 10px;font-size:13px;font-weight:700;animation:.3s ease-out run-pop;display:inline-flex}@keyframes run-pop{0%{transform:scale(1.3)}to{transform:scale(1)}}.shot-outcome{white-space:nowrap;color:var(--text-dim);font-size:13px;font-weight:700}.shot-outcome.o-both{color:var(--brass-hi)}.v-정답{color:var(--correct)}.v-근접{color:var(--close)}.v-오답{color:var(--miss)}.v-icon{background:currentColor;border-radius:50%;flex:none;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.v-icon .icon{color:#10171b}.playback{color:#c5d0d6;flex-wrap:wrap;flex:1;align-items:center;gap:8px;font-size:13px;display:flex}.playback .legend-line{align-items:center;gap:8px;margin-right:10px;display:inline-flex}.playback .spacer{flex:1}.playback.compact{border-top:1px solid var(--line);padding-top:10px}.playback.compact .spacer{flex-basis:100%}.panel{background:var(--surface);border-left:1px solid #222c33;flex-direction:column;flex:0 0 clamp(300px,27vw,380px);gap:12px;min-height:0;padding:20px 20px 16px;font-size:14px;display:flex}.panel-body{flex-direction:column;flex:auto;gap:14px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.panel-foot{flex-direction:column;gap:4px;display:flex}.q{flex-direction:column;gap:8px;display:flex}.tag{color:var(--brass-hi);background:var(--brass-bg);border-radius:6px;align-self:flex-start;padding:3px 8px;font-size:12px;font-weight:700}.question{margin:0;font-size:19px;font-weight:700;line-height:1.45}.lesson-hint{background:var(--brass-bg);color:#f6e2b8;border-radius:10px;margin:0;padding:8px 10px;font-size:13px;line-height:1.45}.tag-draft,.tag-generated{color:var(--text-dim);margin:0;font-size:11px}.tag-draft{color:var(--close)}.formula{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.formula-title{color:var(--text-dim);font-size:12px}.formula-row{align-items:center;gap:4px;display:flex}.formula .op{color:var(--text-dim);font:700 15px var(--mono)}.cell{background:var(--card-2);border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;min-width:0;height:52px;display:flex}.cell.active{border:2px dashed var(--brass);background:0 0}.cell-label{color:var(--text-dim);white-space:nowrap;font-size:11px}.cell.active .cell-label,.cell.active .cell-value{color:var(--brass-hi)}.cell-value{font:700 18px var(--mono)}.shot{gap:8px;display:flex}.shot-card{background:var(--card);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.shot-card.grow{flex:1}.shot-text{flex-direction:column;line-height:1.3;display:flex}.shot-text small{color:var(--text-dim);font-size:12px}.shot-text b{white-space:nowrap;font-size:14px}.power{align-items:flex-end;gap:3px;height:26px;display:flex}.power i{background:var(--line-strong);border-radius:2px;width:6px}.power i:first-child{height:35%}.power i:nth-child(2){height:65%}.power i:nth-child(3){height:100%}.power i.on{background:var(--brass)}.aim{align-items:center;gap:10px;display:flex}.step-btn{border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;padding:0;display:flex}.aim-readout{flex-direction:column;flex:1;align-items:center;min-width:0;line-height:1.15;display:flex}.aim-label{color:var(--text-dim);font-size:12px}.aim-value{font:700 32px var(--mono)}.aim-value small{font:700 15px var(--sans);color:var(--text-dim)}.aim-empty{font:500 14px var(--sans);color:var(--text-dim)}.settings{position:relative}.settings .link-btn{width:100%}.settings-pop{background:var(--card);border:1px solid var(--line-strong);z-index:5;border-radius:12px;flex-direction:column;gap:10px;padding:12px;display:flex;position:absolute;bottom:44px;left:0;right:0;box-shadow:0 10px 30px #0006}.legend-list{color:var(--text-dim);flex-direction:column;gap:6px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.legend-list i{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:8px;display:inline-block}.verdict-row{align-items:center;gap:10px;display:flex}.verdict-row b{font-size:22px;font-weight:900}.verdict-row .pts{font:700 16px var(--mono);color:var(--text)}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.vcard{border-radius:14px;flex-direction:column;gap:1px;padding:10px 14px;display:flex}.vcard small{color:var(--text-dim);font-size:12px}.vcard b{font:700 28px var(--mono)}.vcard.answer{background:var(--correct-bg);border:1px solid var(--correct-line)}.vcard.answer small:first-child,.vcard.answer b{color:var(--correct)}.vcard.mine{background:var(--mine-bg);border:1px solid var(--mine-line)}.vcard.mine small:first-child,.vcard.mine b{color:var(--mine)}.cause{background:var(--brass-bg);color:#f6e2b8;border-radius:12px;gap:10px;margin:0;padding:10px 12px;font-size:13.5px;line-height:1.55;display:flex}.cause .icon{margin-top:2px}.calc{flex-direction:column;gap:8px;display:flex}.calc h2{color:var(--text-dim);margin:0;font-size:13px;font-weight:500}.calc ol{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.calc li{background:var(--card);border-radius:10px;align-items:center;gap:10px;min-height:38px;padding:0 12px;display:flex}.calc .n{background:var(--line);width:22px;height:22px;font:700 12px var(--mono);border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.calc .k{flex:1;font-size:13.5px}.calc .v{font:700 15px var(--mono);white-space:nowrap}.calc li.final{background:var(--correct-bg);border:1px solid var(--correct-line)}.calc li.final .n{color:var(--bg);background:#4fb3ff}.calc li.final .k{font-weight:700}.calc li.final .v{color:var(--correct);font-size:19px}.tip-line,.bracket{color:var(--text-dim);margin:0;font-size:12.5px;line-height:1.5}.bracket i{color:#7dd3fc;white-space:nowrap;font-style:normal}.bracket-note summary{cursor:pointer;color:#7dd3fc;font-weight:600}.bracket-note summary:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #7dd3fc}.bracket-note .bracket{margin-top:4px}.rotate-hint{display:none}@media (orientation:portrait) and (width<=700px){.rotate-hint{background:var(--bg);z-index:10;justify-content:center;align-items:center;font-size:18px;display:flex;position:fixed;inset:0}}@media (height<=520px){.hud{height:48px}.stage-foot{min-height:48px}.hint{display:none}.panel{gap:8px;padding:10px 12px}.panel-body{gap:8px}.question{font-size:15px}.cell{height:42px}.step-btn{width:44px;height:44px}.aim-value{font-size:24px}button.primary.big{height:48px;font-size:16px}}.topbar{align-items:center;gap:10px;display:flex}.topbar .mode{flex:1;font-weight:700}.topbar .count{color:var(--text-dim);font-family:var(--mono)}.lesson-panel .topbar .mode{font-size:15px;line-height:1.3}.lesson-panel .slide-text{font-size:17px}.replay-btn{align-self:flex-start;align-items:center;gap:8px;display:inline-flex}.dev{border-top:1px solid var(--line);margin-top:auto;padding-top:8px;font-size:13px}.dev>summary,.legend summary{cursor:pointer;color:var(--text-dim)}.result-values{color:var(--text-dim);font-size:13px}.corr-table{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.corr-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-size:12px;display:flex}.corr-head span{font-weight:700}.corr-head small{color:var(--text-dim);font-size:11px}.corr-table ol{grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:3px;margin:0;padding:0;list-style:none;display:grid}.corr-table li{background:var(--card-2);border-radius:8px;flex-direction:column;align-items:center;padding:4px 0;line-height:1.25;display:flex}.corr-table li small{font:500 11px var(--mono);color:var(--text-dim)}.corr-table li b{font:700 13px var(--mono)}.corr-table li.on{background:var(--brass-bg);outline:1px solid var(--brass)}.corr-table li.on small,.corr-table li.on b{color:var(--brass-hi)}button.corr-open{text-align:left;color:var(--brass-hi);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}button.corr-open>span{flex-direction:column;line-height:1.3;display:flex}button.corr-open b{font-size:13px}button.corr-open small{color:var(--text-dim);font-size:11px}.calc li.note{min-height:0;color:var(--text-dim);background:0 0;padding:0 4px 2px 44px;font-size:12.5px;line-height:1.5;display:block}@media (height<=520px){.corr-table{gap:4px;padding:6px 8px}.corr-head small{display:none}.playback:not(.compact){flex-wrap:nowrap}.playback:has(.shot-outcome) .legend-line{display:none}.shot-outcome{text-overflow:ellipsis;min-width:0;overflow:hidden}}.save-notice button{margin-left:6px;padding:2px 10px;font-size:12px}.device-note{color:var(--text-dim)}.crash{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:100vh;padding:16px;display:flex}.update-notice{color:var(--brass-hi);margin:0;font-size:13px}.home,.center-screen,.stats{flex-direction:column;gap:clamp(10px,2.2vh,20px);width:100vw;height:100dvh;padding:clamp(12px,3vh,28px) clamp(16px,3.4vw,48px);display:flex;overflow:hidden}.center-screen{justify-content:center;align-items:center;overflow-y:auto}.muted{color:var(--text-dim)}.center{text-align:center}.spacer{flex:1}.eyebrow{color:var(--brass);letter-spacing:.02em;font-size:13px;font-weight:700}.bar{background:var(--line);border-radius:3px;width:100%;height:6px;display:block;overflow:hidden}.bar i{background:var(--brass);border-radius:3px;height:100%;display:block}.home-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.level-desc{text-align:right;color:var(--text-dim);margin:-4px 0 0;font-size:12.5px}.brand{align-items:center;gap:12px;min-width:0;display:flex}.logo{background:var(--felt);border:3px solid #5b3a22;border-radius:12px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.logo i{background:#f4f1e8;border-radius:50%;width:14px;height:14px;box-shadow:0 1px 2px #00000080}.brand-text{flex-direction:column;line-height:1.2;display:flex}.brand-text h1{margin:0;font-size:18px;font-weight:900}.brand-text small{color:var(--text-dim);font-size:12px}.seg-pick{background:var(--card);border:1px solid var(--line);border-radius:12px;gap:2px;padding:3px;display:flex}.seg-pick button{min-height:36px;color:var(--text-dim);background:0 0;border:0;border-radius:9px;padding:0 12px;font-size:14px;font-weight:700}.seg-pick button.on{background:var(--brass-bg);color:var(--brass-hi)}.welcome{background:var(--brass-bg);color:#f6e2b8;border-radius:12px;margin:0;padding:10px 14px;font-size:14px}.home-grid{flex:1;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:clamp(12px,2vw,20px);min-height:0;display:grid}.hero{background:radial-gradient(120% 90% at 85% 15%,#ffffff12,#0000 60%),linear-gradient(160deg,#1e6b47,#14492f);border:1px solid #2a7d55;border-radius:22px;flex-direction:column;gap:clamp(8px,1.8vh,16px);min-height:0;padding:clamp(18px,4vh,36px) clamp(18px,3vw,36px);display:flex;box-shadow:inset 0 0 0 6px #5b3a228c}.hero .eyebrow{color:#f0cd8c}.hero h2{margin:0;font-size:clamp(24px,4.6vh,40px);font-weight:900;line-height:1.25}.hero-progress{align-items:center;gap:12px;display:flex}.dots10{gap:6px;display:flex}.dots10 i{background:#00000047;border:1px solid #ffffff26;border-radius:50%;width:18px;height:18px}.dots10 i.on{background:#f4f1e8;border-color:#f4f1e8;box-shadow:0 1px 3px #0006}.hero-progress b{font-size:18px}.streak-badge{color:#ffd38a;background:#00000047;border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-flex}.hero button.primary.big{align-self:stretch}.side-cards{flex-direction:column;gap:clamp(12px,2vw,20px);min-height:0;display:flex}.home-card{background:var(--card);border:1px solid var(--line);border-radius:18px;flex-direction:column;flex:1;gap:10px;min-height:0;padding:clamp(12px,2.4vh,20px);display:flex}.home-card.suggest{border-color:var(--brass)}.home-card-head{justify-content:space-between;align-items:baseline;display:flex}.home-card h3{margin:0;font-size:17px;font-weight:900}.home-card-head b{color:var(--brass-hi)}.next-lesson{background:var(--card-2);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.next-lesson>span{flex-direction:column;flex:1;min-width:0;display:flex}.next-lesson small{color:var(--text-dim);font-size:12px}.next-lesson b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.link-btn{align-items:center;gap:4px;display:inline-flex}.link-btn.left{align-self:flex-start;margin-top:auto;padding-left:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.home-card>button.primary{min-height:44px;margin-top:auto}.home-foot{background:var(--surface);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;flex:none;align-items:center;gap:14px;padding:10px 14px;display:flex}.week-label{color:var(--text-dim);font-size:13px;font-weight:700}.week{gap:6px;margin:0;padding:0;list-style:none;display:flex}.week li{color:var(--text-dim);flex-direction:column;align-items:center;gap:2px;font-size:11px;display:flex}.week li>span{background:var(--card-2);min-width:34px;height:26px;font:700 11px var(--mono);border-radius:8px;justify-content:center;align-items:center;padding:0 4px;display:flex}.week li.done>span{background:var(--felt);color:#f4f1e8}.week li.today>span{outline:2px solid var(--brass);color:var(--brass-hi)}.week li.future>span{opacity:.4}.avg7{align-items:baseline;gap:6px;display:flex}.avg7 small{color:var(--text-dim);font-size:12px}.avg7 b{font-size:18px}.dev-date{color:var(--close);align-items:center;gap:6px;font-size:12px;display:flex}.dev-date input{font:inherit;color:var(--text);background:var(--card-2);border:1px solid var(--line);border-radius:6px;padding:2px 6px}.result-card{background:var(--surface);border:1px solid var(--line);border-radius:22px;flex-direction:column;gap:clamp(10px,2.2vh,18px);width:min(720px,100%);padding:clamp(16px,3.6vh,32px) clamp(18px,3vw,36px);display:flex}.result-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.big-score{align-items:baseline;gap:6px;margin:0;display:flex}.big-score b{color:var(--text);font-size:clamp(44px,9vh,72px);line-height:1}.big-score.good b{color:var(--brass-hi)}.big-score b small{color:var(--text-dim);font-size:.5em}.big-score span{color:var(--text-dim);font-size:20px;font-weight:700}.streak-tile{background:var(--brass-bg);color:#ffd38a;border-radius:14px;align-items:center;gap:10px;padding:10px 14px;display:flex}.streak-tile>span{flex-direction:column;line-height:1.2;display:flex}.streak-tile small{color:var(--text-dim);font-size:12px}.streak-tile b{color:var(--text);font-size:20px}.streak-tile em{color:var(--brass-ink);background:var(--brass);border-radius:999px;padding:2px 8px;font-size:15px;font-style:normal;font-weight:700}.verdict-list{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.verdict-list li{background:var(--card);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 0 6px;display:flex}.verdict-list .v-icon{width:26px;height:26px}.verdict-list b{color:var(--text);font-size:13px}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.stat-tiles>div{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:2px;min-width:0;padding:10px 14px;display:flex}.stat-tiles span{color:var(--text-dim);font-size:12px}.stat-tiles b{font:700 26px var(--mono)}.stat-tiles b small{color:var(--text-dim);font-size:15px}.stat-tiles b.cause-name{font:700 18px var(--sans);line-height:1.45}.stat-tiles small{color:var(--text-dim);font-size:11px}.result-actions{gap:10px;display:flex}.result-actions button{border-radius:14px;flex:1;justify-content:center;align-items:center;gap:8px;min-height:52px;font-weight:700;display:inline-flex}.result-actions button:first-child{flex:none;padding:0 18px}.result-actions button.primary{flex:1.4}.screen-head{align-items:center;gap:12px;width:100%;display:flex}.screen-head h2{margin:0;font-size:20px;font-weight:900}.lessons{justify-content:flex-start}.lesson-list{flex-direction:column;gap:8px;width:min(860px,100%);margin:0;padding:0;list-style:none;display:flex}.lesson-list li{background:var(--card);border:1px solid var(--line);border-radius:14px;grid-template-columns:36px 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.lesson-list li.done{border-color:#2a7d55}.lesson-list li.locked{opacity:.5}.lesson-list .num{background:var(--card-2);width:32px;height:32px;font:700 14px var(--mono);border-radius:50%;justify-content:center;align-items:center;display:flex}.lesson-list li.done .num{background:var(--felt);color:#f4f1e8}.lesson-text{flex-direction:column;gap:2px;min-width:0;display:flex}.lesson-text small{color:var(--text-dim)}.lesson-state{color:var(--text-dim);font-size:12px}.lesson-actions{gap:6px;display:flex}.slide-text{margin:0;font-size:17px;line-height:1.65}.dots{gap:6px;margin-top:auto;display:flex}.dots span{background:var(--line-strong);border-radius:50%;width:8px;height:8px}.dots span.on{background:var(--brass)}.stats-body{flex-direction:column;flex:1;gap:14px;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.stats-body>.stat-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.panel-card{background:var(--card);border:1px solid var(--line);border-radius:16px;min-width:0;padding:14px 16px}.panel-card h3{margin:0 0 10px;font-size:14px;font-weight:700}.trend svg{width:100%;height:auto;display:block}.trend .grid{stroke:var(--line);stroke-width:1px}.trend .axis{fill:var(--text-dim);font-size:10px;font-family:var(--mono)}.trend .line{fill:none;stroke:var(--brass);stroke-width:2px;stroke-linejoin:round}.trend .dot{fill:var(--brass);stroke:var(--card);stroke-width:2px}.trend .dot.on{fill:var(--text)}.trend .hit{fill:#0000;cursor:pointer}.trend-caption{min-height:1.4em;margin:4px 0 0}.group-table{border-collapse:collapse;width:100%;font-size:12px}.group-table th,.group-table td{text-align:center;border-bottom:1px solid var(--line);padding:6px 4px}.group-table td b{font:700 15px var(--mono);display:block}.group-table td small{color:var(--text-dim);font-size:10px}.group-table td.weak{background:var(--miss-bg);outline:1px solid #ff8a8a80}.weak-line{flex-wrap:wrap;align-items:center;gap:6px;margin:8px 0 0;font-size:12px;display:flex}.cause-bars{flex-direction:column;gap:8px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.cause-bars li{grid-template-columns:110px 1fr 24px;align-items:center;gap:6px;display:grid}.cause-bars b{text-align:right;font-family:var(--mono)}.hbar{background:var(--card-2);border-radius:0 4px 4px 0;height:10px}.hbar i{background:var(--brass);border-radius:0 4px 4px 0;height:100%;display:block}.advice{color:#f6e2b8;margin:8px 0 0}.calendar{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;font-size:11px;display:grid}.calendar .dow{color:var(--text-dim)}.calendar .day{background:var(--card-2);color:var(--text-dim);font-family:var(--mono);border-radius:6px;padding:4px 0}.calendar .day.done{background:var(--felt);color:#f4f1e8;font-weight:700}.calendar .day.future{opacity:.35}.calendar .day.today{outline:2px solid var(--brass)}.recent-card{grid-column:span 2}.recent{grid-template-columns:1fr 1fr;gap:2px 12px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.recent button{text-align:left;background:0 0;border-color:#0000;grid-template-columns:40px 40px 1fr auto;align-items:center;gap:6px;width:100%;min-height:32px;padding:3px 8px;display:grid}.recent button:hover{border-color:var(--line-strong)}@media (height<=520px){.hero h2{font-size:22px}.dots10 i{width:13px;height:13px}.stat-tiles b{font-size:20px}.home-card{gap:6px}.week li>small{display:none}}.site-foot{color:var(--text-dim);flex-wrap:wrap;flex:none;justify-content:space-between;gap:4px 14px;margin-top:calc(-1*clamp(4px,1vh,10px));font-size:11px;line-height:1.4;display:flex}.site-foot a{color:var(--text-dim);text-underline-offset:2px;text-decoration:underline}.site-foot a:hover{color:var(--brass-hi)}.site-links{gap:12px;display:flex}.legal{width:100vw;height:100dvh;padding:clamp(12px,3vh,28px) clamp(16px,3.4vw,48px) 40px;overflow-y:auto}.legal article{max-width:760px;margin:16px auto 0;line-height:1.7}.legal h3{margin:24px 0 6px;font-size:15px}.legal p{margin:0 0 8px}.legal .dim{color:var(--text-dim);font-size:13px}.legal a{color:var(--brass)}.notation-note{max-width:760px;color:var(--text-dim);margin:0 auto;font-size:12.5px;line-height:1.5}
