:root{--sans: "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--hud: "Cascadia Code", "SFMono-Regular", Consolas, ui-monospace, monospace;--radius: 20px;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-8: 3rem;--btn-h: 2.75rem;--btn-h-sm: 2.1rem;--btn-primary-bg: linear-gradient(94deg, #37e1e8, #4bf0d0);--btn-primary-fg: #04121b;--print-paper: #ffffff;--print-ink: #111111;--print-dim: #555555;--print-line: #8a8a8a;--print-fill: #f0f0f0;--print-grid: #b5b5b5;--print-guide: #c8c8c8;--print-cut: #9a9a9a;color-scheme:light;--space-950: #e7ebf7;--space-900: #eef1fb;--space-850: #f3f5fd;--surface: #ffffff;--surface-2: #eff2fc;--line: #d5ddf0;--line-soft: #e5eaf7;--text: #131a30;--text-dim: #4c5878;--text-faint: #8b95b5;--cyan: #0b93a0;--violet: #7c3aed;--gold: #a9790a;--green: #12a35c;--coral: #e5484d;--on-accent: #ffffff;--glow-cyan: none;--glow-violet: none;--glow-gold: none;--gold-wash: rgba(169, 121, 10, .1);--star: #7c3aed;--scrim: 80%;--bg-glow-1: rgba(124, 58, 237, .08);--bg-glow-2: rgba(11, 147, 160, .08)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--space-950: #06070f;--space-900: #0a0d1f;--space-850: #0e1330;--surface: #141a3a;--surface-2: #1b2450;--line: #2a3468;--line-soft: #202a58;--text: #eaeeff;--text-dim: #a7b0dc;--text-faint: #6e79ac;--cyan: #37e1e8;--violet: #b14bff;--gold: #ffd166;--green: #45e08c;--coral: #ff6b6b;--on-accent: #04121b;--glow-cyan: 0 0 22px rgba(55, 225, 232, .45);--glow-violet: 0 0 22px rgba(177, 75, 255, .42);--glow-gold: 0 0 18px rgba(255, 209, 102, .42);--gold-wash: rgba(255, 209, 102, .14);--star: #dfe6ff;--scrim: 82%;--bg-glow-1: rgba(177, 75, 255, .16);--bg-glow-2: rgba(55, 225, 232, .12)}}:root[data-theme=dark]{color-scheme:dark;--space-950: #06070f;--space-900: #0a0d1f;--space-850: #0e1330;--surface: #141a3a;--surface-2: #1b2450;--line: #2a3468;--line-soft: #202a58;--text: #eaeeff;--text-dim: #a7b0dc;--text-faint: #6e79ac;--cyan: #37e1e8;--violet: #b14bff;--gold: #ffd166;--green: #45e08c;--coral: #ff6b6b;--on-accent: #04121b;--glow-cyan: 0 0 22px rgba(55, 225, 232, .45);--glow-violet: 0 0 22px rgba(177, 75, 255, .42);--glow-gold: 0 0 18px rgba(255, 209, 102, .42);--gold-wash: rgba(255, 209, 102, .14);--star: #dfe6ff;--scrim: 82%;--bg-glow-1: rgba(177, 75, 255, .16);--bg-glow-2: rgba(55, 225, 232, .12)}:root[data-theme=light]{color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--sans);color:var(--text);background:radial-gradient(1000px 600px at 80% -10%,var(--bg-glow-1),transparent 60%),radial-gradient(900px 560px at 10% 0%,var(--bg-glow-2),transparent 58%),linear-gradient(180deg,var(--space-950),var(--space-900));background-attachment:fixed;background-color:var(--space-900);-webkit-font-smoothing:antialiased}#starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.hero{position:relative;z-index:1;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;padding:2rem 1.2rem}.eyebrow{font-family:var(--hud);letter-spacing:.3em;text-transform:uppercase;font-size:.74rem;color:var(--cyan);text-shadow:var(--glow-cyan);margin:0}.title{font-size:clamp(3rem,12vw,5rem);margin:.2rem 0 0;font-weight:800;letter-spacing:-.02em;background:linear-gradient(92deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{color:var(--text-dim);margin:0 0 .4rem;font-size:1.05rem}.mascot{width:min(230px,60vw);filter:drop-shadow(0 18px 30px rgba(55,225,232,.25))}.float{animation:float 5.5s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(-6px) rotate(-1.5deg)}50%{transform:translateY(10px) rotate(1.5deg)}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);font-family:var(--sans);font-weight:750;font-size:1rem;line-height:1;color:var(--btn-primary-fg);border:0;cursor:pointer;background:var(--btn-primary-bg);border-radius:14px;padding:0 1.6rem;box-shadow:var(--glow-cyan)}.btn-primary:focus-visible{outline:2px solid var(--cyan);outline-offset:3px}.api{font-family:var(--hud);font-size:.74rem;color:var(--text-faint);margin-top:1.2rem;display:inline-flex;align-items:center;gap:.4rem}.api .dot{width:9px;height:9px;border-radius:50%;background:var(--text-faint);display:inline-block}.api .dot.ok{background:var(--green);box-shadow:0 0 10px var(--green)}.api .dot.error{background:var(--coral);box-shadow:0 0 10px var(--coral)}@media(prefers-reduced-motion:reduce){.float{animation:none}}.app-shell{position:relative;z-index:1;max-width:460px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.app-body{flex:1;overflow-y:auto;overflow-x:hidden;padding-bottom:1rem}.screen-pad{padding:2rem 1.2rem;text-align:center}.muted{color:var(--text-dim)}.small{font-size:.85rem}code{font-family:var(--hud);font-size:.85em;background:var(--surface-2);padding:.1em .4em;border-radius:5px;border:1px solid var(--line)}.screen-kicker{font-family:var(--hud);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);padding:1rem 1.2rem 0}.screen-title{font-weight:750;font-size:1.15rem;margin:.2rem 0 .5rem;padding:0 1.2rem;letter-spacing:-.01em}.hud{display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;padding-top:calc(.7rem + env(safe-area-inset-top));position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--space-900) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--violet),var(--cyan));display:grid;place-items:center;font-weight:800;color:#0a0d1f;flex:0 0 auto}.who{display:flex;flex-direction:column;line-height:1.15;margin-right:auto}.who b{font-size:.9rem}.who span{font-family:var(--hud);font-size:.6rem;color:var(--text-faint);letter-spacing:.06em}.stat{display:inline-flex;align-items:center;gap:.28rem;font-family:var(--hud);font-size:.78rem;padding:.24rem .5rem;border-radius:9px;background:var(--surface-2);border:1px solid var(--line)}.stat.flame,.stat.coin{color:var(--gold)}.bottom-nav{display:flex;position:sticky;bottom:0;z-index:3;background:color-mix(in srgb,var(--space-900) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{flex:1;background:none;border:0;color:var(--text-faint);padding:.55rem 0;display:flex;flex-direction:column;align-items:center;gap:.15rem;font-family:var(--sans);font-size:.62rem;cursor:pointer}.bottom-nav button .ic{font-size:1.1rem;line-height:1}.bottom-nav button.on{color:var(--cyan);text-shadow:var(--glow-cyan)}.galaxy-screen{display:flex;flex-direction:column;min-height:100%}.nodes{display:flex;flex-direction:column;align-items:center;padding:2.4rem 0 .5rem;flex:1}.node-item{display:flex;flex-direction:column;align-items:center}.connector{width:3px;height:26px;background:repeating-linear-gradient(var(--line) 0 5px,transparent 5px 10px)}.planet-holder{position:relative;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.2rem 0}.planet{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;font-size:1.5rem;border:2px solid var(--line);background:var(--surface);color:var(--text-dim);cursor:pointer}.planet:disabled{cursor:default}.planet.done{border-color:var(--green);color:var(--green);background:#45e08c14;box-shadow:0 0 16px #45e08c59}.planet.available{border-color:var(--cyan);color:var(--cyan)}.planet.current{border-color:var(--cyan);color:var(--cyan);background:#37e1e81f;box-shadow:var(--glow-cyan);animation:pulse 2.2s ease-in-out infinite}.planet.locked{opacity:.5}@keyframes pulse{0%,to{box-shadow:0 0 12px #37e1e859}50%{box-shadow:0 0 26px #37e1e8bf}}.node-label{text-align:center}.node-label b{font-size:.82rem;display:block}.node-label span{font-family:var(--hud);font-size:.62rem;color:var(--text-faint)}.node-orbi{position:absolute;top:-44px;left:50%;transform:translate(-50%);width:48px}.galaxy-cta{padding:.6rem 1.2rem 1.2rem}.galaxy-cta .btn-primary{width:100%}.session-screen{display:flex;flex-direction:column;gap:.9rem;padding:.8rem 1.2rem 1.4rem;min-height:100%}.session-top{display:flex;align-items:center;gap:.8rem;padding-top:env(safe-area-inset-top)}.session-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-4);text-align:center;padding:var(--sp-6) var(--sp-4)}.session-state-orbi{width:108px;height:auto}.session-state-text{margin:0;max-width:26ch;color:var(--text-dim)}.session-state .btn-primary,.session-state .btn-ghost{min-width:15rem}.session-inline-error{margin:0;text-align:center;color:var(--coral);font-size:.92rem}.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface-2);color:var(--text-dim);cursor:pointer;flex:0 0 auto;font-size:.9rem}.dots{display:flex;gap:5px;flex:1}.dots i{height:6px;border-radius:3px;background:var(--line);flex:1}.dots i.on{background:var(--cyan);box-shadow:var(--glow-cyan)}.dots i.cur{background:var(--violet)}.q-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem 1rem;text-align:center;box-shadow:0 10px 30px -18px #000c}.q-card .qk{font-family:var(--hud);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}.q-eq{font-size:1.9rem;font-weight:700;margin-top:.6rem;display:flex;justify-content:center;align-items:center;gap:.4rem;flex-wrap:wrap}.frac{display:inline-flex;flex-direction:column;text-align:center;vertical-align:middle;line-height:1.05;font-size:.82em}.frac .num{border-bottom:2.5px solid currentColor;padding:0 .28em .05em}.frac .den{padding:.05em .28em 0}.mvar{font-style:italic}.mexp{font-size:.7em;vertical-align:super;line-height:0}.root{display:inline-flex;align-items:flex-start;white-space:nowrap}.root .rad{margin-right:.03em}.root .radicand{border-top:1.6px solid currentColor;padding:.06em .2em 0;margin-top:.14em}.mblank{display:inline-block;min-width:1.3em;height:1em;border-bottom:2px dashed currentColor;opacity:.5;vertical-align:middle}.mexp .blank-input{padding:0 .2em}.hints{display:flex;flex-direction:column;gap:.4rem;margin:.1rem 0 .3rem}.hint{display:flex;align-items:center;gap:.4rem;font-size:.92rem;background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:.5rem .7rem}.hint-btn{align-self:flex-start}.mistake-list{display:flex;flex-direction:column;gap:.6rem}.mistake{border:1px solid var(--line);border-radius:12px;padding:.6rem .8rem;background:var(--surface-2)}.mistake-skill{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7;margin-bottom:.2rem}.mistake-stem{font-size:.98rem;margin-bottom:.35rem}.slow-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2)}.slow-time{display:inline-flex;align-items:center;gap:var(--sp-1);flex-shrink:0;font-family:var(--hud);font-weight:700;font-size:.85rem;color:var(--gold)}.slow-meta{font-size:.8rem;color:var(--text-dim)}.mistake-answers{display:flex;flex-wrap:wrap;gap:.4rem 1.1rem;font-size:.9rem}.mistake-a{display:inline-flex;align-items:center;gap:.3rem}.mistake-a.wrong{color:var(--bad, #cf4436)}.mistake-a.ok{color:var(--good, #1a8168)}.opts{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.opt{border:1.5px solid var(--line);background:var(--surface-2);border-radius:14px;padding:.9rem;text-align:center;font-size:1.25rem;font-weight:650;color:var(--text);cursor:pointer;position:relative}.opt:disabled{cursor:default}.opt.sel{border-color:var(--cyan)}.opt.correct{border-color:var(--green);color:var(--green);background:#45e08c1f;box-shadow:0 0 16px #45e08c4d}.opt.wrong{border-color:var(--coral);color:var(--coral);background:#ff6b6b1a}.ex-foot{display:flex;align-items:center;gap:.6rem;margin-top:auto}.foot-orbi{width:50px;flex:0 0 auto}.bubble{background:var(--surface-2);border:1px solid var(--line);border-radius:13px;padding:.55rem .8rem;font-size:.85rem}.bubble b{color:var(--cyan)}.bubble.good{border-color:var(--green)}.bubble.good b{color:var(--green)}.bubble.bad{border-color:var(--coral)}.bubble.bad b{color:var(--coral)}.session-next{width:100%}.review-badge{display:flex;align-items:center;gap:.4rem;flex:1;font-family:var(--hud);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}.answer-field{width:100%;border:1.5px solid var(--line);background:var(--surface-2);border-radius:12px;padding:.8rem .9rem;font-size:1.15rem;color:inherit;text-align:center}.answer-field:focus{outline:none;border-color:var(--cyan)}.answer-field:disabled{opacity:.85}.num-input{display:flex;align-items:center;gap:.5rem}.num-input .unit{font-size:1rem;color:var(--text-dim);flex:0 0 auto}.fill-stem{display:inline;line-height:2.2}.blank-input{display:inline-block;border:none;border-bottom:2px solid var(--cyan);background:var(--surface-2);border-radius:6px 6px 0 0;padding:.15rem .4rem;margin:0 .15rem;font-size:1.1rem;color:inherit;text-align:center}.blank-input:focus{outline:none;background:#4ecde01f}.blank-input.correct{border-bottom-color:var(--green);color:var(--green)}.blank-input.wrong{border-bottom-color:var(--coral);color:var(--coral)}.order-list,.match-list,.steps{display:flex;flex-direction:column;gap:.5rem}.order-row{display:flex;align-items:center;gap:.7rem;border:1.5px solid var(--line);background:var(--surface-2);border-radius:12px;padding:.6rem .8rem}.order-pos{font-family:var(--hud);color:var(--cyan);font-size:.85rem;width:1.3rem;flex:0 0 auto}.order-text{flex:1;font-size:1.05rem}.order-ctrls{display:flex;gap:.3rem;flex:0 0 auto}.order-btn{width:32px;height:32px;border:1px solid var(--line);background:var(--surface);border-radius:8px;color:var(--text-dim);display:flex;align-items:center;justify-content:center}.order-btn:disabled{opacity:.35}.match-row{display:flex;align-items:center;gap:.6rem}.match-left{flex:1;border:1.5px solid var(--line);background:var(--surface-2);border-radius:12px;padding:.6rem .8rem;font-size:1.02rem}.match-select{flex:1;border:1.5px solid var(--line);background:var(--surface-2);border-radius:12px;padding:.6rem .7rem;font-size:1rem;color:inherit}.match-select.correct{border-color:var(--green);color:var(--green)}.match-select.wrong{border-color:var(--coral);color:var(--coral)}.step-row{display:flex;flex-direction:column;gap:.4rem}.step-prompt{display:flex;align-items:center;gap:.5rem;font-size:1rem}.step-n{font-family:var(--hud);color:var(--violet);background:var(--surface-2);border:1px solid var(--line);border-radius:50%;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;flex:0 0 auto}.step-mark{flex:0 0 auto;display:inline-flex}.step-mark.ok{color:var(--green)}.step-mark.bad{color:var(--coral)}.correct-line{margin-top:.35rem;font-size:.82rem;color:var(--green)}.solution-line{margin-top:.3rem;font-size:.8rem;color:var(--text-dim)}.list-row.col{flex-direction:column;align-items:stretch;gap:.5rem}.content-row-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}.content-row-head .list-main{flex:1 1 11rem}.asset-list{display:flex;flex-direction:column;gap:.35rem}.asset-row{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;padding:.4rem .6rem;font-size:.82rem}.asset-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-x{border:0;background:transparent;color:var(--text-dim);cursor:pointer;display:inline-flex;padding:.15rem}textarea.field{resize:vertical;font:inherit;min-height:3.2rem}.shop-screen{padding-bottom:1rem}.balance-big{font-family:var(--hud);color:var(--gold);font-size:1.6rem;text-shadow:var(--glow-gold);padding:0 1.2rem .4rem}.shop-msg{margin:0 1.2rem .6rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:.82rem;color:var(--text-dim)}.shop{display:flex;flex-direction:column;gap:.6rem;padding:.2rem 1.2rem 1rem}.shop-item{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.65rem .8rem}.shop-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-size:1.3rem;flex:0 0 auto;background:#37e1e81a;border:1px solid var(--line)}.shop-item.voucher .shop-ic{background:#ffd1661f}.shop-info{flex:1;min-width:0}.shop-info b{font-size:.88rem;display:block}.fam-tag{font-family:var(--hud);font-size:.56rem;letter-spacing:.04em;color:var(--violet);border:1px solid var(--line);padding:1px 5px;border-radius:6px;margin-top:3px;display:inline-block}.price-btn{font-family:var(--hud);font-size:.82rem;color:var(--gold);background:var(--surface-2);border:1px solid var(--gold);border-radius:10px;padding:.5rem .7rem;cursor:pointer;white-space:nowrap}.price-btn:disabled{color:var(--text-faint);border-color:var(--line);cursor:default}.seg{display:flex;gap:.35rem;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:.25rem}.seg.wrap{flex-wrap:wrap}.seg button{flex:1 1 auto;min-width:max-content;background:none;border:0;color:var(--text-dim);padding:.4rem .6rem;border-radius:8px;cursor:pointer;font-family:var(--sans);font-size:.82rem;font-weight:600}.seg button.on{background:var(--surface-2);color:var(--cyan)}.reward-hint{color:var(--text-faint);font-size:.76rem;margin:.1rem 0 0}.shop-ic.sm{width:32px;height:32px;font-size:1rem}.goal-bar{height:6px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line-soft);overflow:hidden;margin:4px 0 3px}.goal-bar i{display:block;height:100%;background:var(--violet);border-radius:4px}.shop-item.goal .shop-ic{background:#b14bff1f}.parent-screen{padding-bottom:1rem}.p-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;padding:.4rem 1.2rem}.p-card{background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:.7rem .8rem}.p-card.wide{grid-column:1 / -1;margin:0 1.2rem}.pk{font-family:var(--hud);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.pv{font-size:1.35rem;font-weight:750;margin-top:.15rem}.pv small{font-size:.62rem;color:var(--text-faint);font-weight:500}.mastery{display:flex;flex-direction:column;gap:.5rem;margin-top:.55rem}.mrow{display:grid;grid-template-columns:92px 1fr 34px;align-items:center;gap:.5rem;font-size:.72rem}.mbar{height:8px;border-radius:5px;background:var(--surface-2);overflow:hidden;border:1px solid var(--line-soft)}.mbar i{display:block;height:100%;border-radius:5px}.mrow .pct{font-family:var(--hud);font-size:.62rem;color:var(--text-dim);text-align:right}.voucher-row{display:flex;align-items:center;gap:.55rem;margin-top:.5rem}.voucher-txt{font-size:.76rem}.vic{font-size:1.2rem}.btn-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);font-family:var(--sans);font-weight:700;font-size:.82rem;line-height:1;color:var(--cyan);background:transparent;border:1.5px solid var(--cyan);border-radius:12px;padding:0 .9rem;cursor:pointer}.btn-ghost.sm{min-height:var(--btn-h-sm);padding:0 .7rem;font-size:.74rem;border-radius:9px}.btn-ghost.danger,.btn-ghost.sm.danger{color:var(--coral);border-color:var(--coral)}button:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.settings-toggle{display:inline-flex;gap:var(--sp-2);align-items:center}.st-btn{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h-sm);min-width:var(--btn-h-sm);padding:0 .5rem;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);color:var(--text-dim);cursor:pointer;font-family:var(--hud);font-size:.72rem;font-weight:700}.st-btn:hover{color:var(--text);border-color:var(--cyan)}@media(min-width:760px){.app-shell{max-width:640px}.kids-grid{grid-template-columns:repeat(3,1fr)}.course-grid{grid-template-columns:1fr 1fr}}@media(min-width:1080px){.app-shell{max-width:860px}.p-grid{grid-template-columns:repeat(3,1fr)}}.ex-figure{display:flex;justify-content:center;margin:var(--sp-3) 0;color:var(--text)}.ex-figure svg{width:100%;max-width:320px;max-height:240px;height:auto;padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-1, 0 1px 2px rgba(0, 0, 0, .08));box-sizing:border-box;animation:figure-in .25s ease}@keyframes figure-in{0%{opacity:0;transform:translateY(4px)}}.preview-body .ex-figure svg{background:var(--surface)}.archived{margin-top:var(--sp-2)}.archived-toggle{display:flex;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);background:none;border:none;color:var(--text-dim);font:inherit;font-weight:600;cursor:pointer}.modal.preview-modal{max-width:560px;width:100%}.preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-3)}.preview-head .list-main span{display:block;font-size:.85rem}.preview-body{position:relative;min-height:180px;padding:var(--sp-3);border:1px solid var(--line);border-radius:14px;background:var(--surface-2)}.preview-body.is-hidden{opacity:.55}.preview-hidden-badge{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:.78rem;font-weight:600;color:var(--coral);margin-bottom:var(--sp-2)}.preview-body-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);margin-bottom:var(--sp-2)}.preview-type{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.preview-hide-btn{display:inline-flex;align-items:center;gap:var(--sp-1);padding:4px var(--sp-2);border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-dim);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.preview-hide-btn.is-hidden{border-color:var(--cyan);color:var(--cyan)}.preview-hide-btn:not(.is-hidden):hover{border-color:var(--coral);color:var(--coral)}.preview-stem{font-size:1.05rem;font-weight:600;margin-bottom:var(--sp-3)}.preview-opts{display:flex;flex-direction:column;gap:var(--sp-2)}.preview-opt{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:10px}.preview-opt.correct{border-color:var(--green);color:var(--green);font-weight:600}.preview-answer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.preview-label{font-weight:700;color:var(--text-dim)}.preview-chip{display:inline-block;padding:2px var(--sp-2);background:var(--surface);border:1px solid var(--line);border-radius:8px;font-weight:600}.preview-order,.preview-steps{margin:0;padding-left:1.4em;display:flex;flex-direction:column;gap:var(--sp-2)}.preview-steps li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.preview-pairs{display:flex;flex-direction:column;gap:var(--sp-2)}.preview-pair{display:flex;align-items:center;gap:var(--sp-2)}.preview-pair span{flex:1}.preview-solution{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px dashed var(--line);font-size:.92rem;color:var(--text-dim)}.preview-solution .preview-label{display:block;margin-bottom:var(--sp-1)}.preview-nav{display:flex;align-items:center;justify-content:center;gap:var(--sp-4);margin-top:var(--sp-3)}.preview-count{font-weight:600;color:var(--text-dim);min-width:3.5em;text-align:center}.preview-strip{display:flex;flex-wrap:wrap;gap:var(--sp-1);justify-content:center;margin-top:var(--sp-3)}.preview-thumb{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--text-dim);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer}.preview-thumb.on{border-color:var(--violet);color:var(--violet);box-shadow:0 0 0 1px var(--violet) inset}.preview-thumb.hidden{opacity:.55;border-style:dashed}.install-card{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-3) 0;padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--line);border-radius:14px}.install-ic{display:inline-flex;flex-shrink:0;color:var(--violet)}.install-text{display:flex;flex-direction:column;flex:1;min-width:0}.install-text span{font-size:.82rem;color:var(--text-dim)}.install-x{flex-shrink:0;background:none;border:none;color:var(--text-faint);cursor:pointer;padding:4px}.modal.stats-modal{max-width:720px;width:100%}.stats-view{display:flex;flex-direction:column;gap:var(--sp-4)}.stat-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2)}.stat-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--sp-3) var(--sp-2);background:var(--surface-2);border:1px solid var(--line);border-radius:14px;text-align:center;color:var(--text-dim)}.stat-tile-ic{display:inline-flex;color:var(--violet)}.stat-tile.gold .stat-tile-ic{color:var(--gold)}.stat-tile.green .stat-tile-ic{color:var(--green)}.stat-tile-val{font-size:1.25rem;color:var(--text)}.stat-tile-lbl{font-size:.74rem}.stat-chart{padding:var(--sp-3);background:var(--surface-2);border:1px solid var(--line);border-radius:14px}.stat-chart-title,.stat-block-title{font-size:.78rem;font-weight:700;color:var(--text-dim);margin-bottom:var(--sp-2)}.stat-bars{width:100%;height:auto;color:var(--violet);display:block}.stat-bar{fill:currentColor}.stat-bar-base{fill:var(--line)}.stat-chart-axis{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-faint);margin-top:2px}.stat-block-title{margin-bottom:var(--sp-2)}.stat-skill-list,.stat-session-list{display:flex;flex-direction:column;gap:var(--sp-2)}.stat-skill{padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.stat-skill-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.stat-skill-acc{font-weight:700;color:var(--green)}.stat-skill-meta{display:flex;align-items:center;gap:var(--sp-2);font-size:.82rem;color:var(--text-dim);margin-top:2px}.stat-mastery{flex:1;height:5px;border-radius:3px;background:var(--line);overflow:hidden}.stat-mastery-bar{display:block;height:100%;background:var(--cyan)}.stat-session{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--surface-2);border:1px solid var(--line);border-radius:12px}.stat-session-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);width:100%}.stat-session-main{display:flex;flex-direction:column;min-width:0}.stat-session-skill{font-size:.82rem;color:var(--text);overflow-wrap:anywhere}.review-pill{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1);padding:.15rem var(--sp-2);border-radius:999px;border:1px solid currentColor;font-size:.78rem;font-weight:600}.review-pill.ok{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.review-pill.partial{color:var(--gold);background:var(--gold-wash)}.review-pill.bad{color:var(--coral);background:color-mix(in srgb,var(--coral) 12%,transparent)}.review-pill-note{font-weight:500;opacity:.85}.review-pill-note:before{content:"· "}.stat-session-main .muted{font-size:.8rem}.stat-session-marks{display:flex;gap:var(--sp-2);flex-shrink:0}.stat-session-marks .mark{display:inline-flex;align-items:center;gap:2px;font-weight:600;font-size:.85rem}.mark.ok{color:var(--green)}.mark.bad{color:var(--coral)}.mark.pts{color:var(--gold)}@media(min-width:560px){.stat-tiles{grid-template-columns:repeat(4,1fr)}}.select-all-hint{margin:0;text-align:center;font-size:.82rem;color:var(--text-dim)}.checks{display:flex;flex-direction:column;gap:.55rem}.check-opt{display:flex;align-items:center;gap:.75rem;width:100%;min-height:var(--btn-h);border:1.5px solid var(--line);background:var(--surface-2);border-radius:14px;padding:.6rem .9rem;text-align:left;font-size:1.05rem;font-weight:600;color:var(--text);cursor:pointer}.check-opt:disabled{cursor:default}.check-box{flex:0 0 auto;width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line);display:grid;place-items:center;color:var(--on-accent)}.check-opt.sel{border-color:var(--cyan)}.check-opt.sel .check-box{background:var(--cyan);border-color:var(--cyan)}.check-opt.correct{border-color:var(--green);color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.check-opt.correct .check-box{background:var(--green);border-color:var(--green)}.check-opt.wrong{border-color:var(--coral);color:var(--coral);background:color-mix(in srgb,var(--coral) 10%,transparent)}.session-progress{flex:1;display:flex;align-items:center;gap:var(--sp-3)}.session-progress-bar{flex:1;height:6px;border-radius:3px;background:var(--line);overflow:hidden}.session-progress-bar i{display:block;height:100%;background:var(--cyan);box-shadow:var(--glow-cyan);transition:width .3s ease}.session-progress-label{font-family:var(--hud);font-size:.62rem;letter-spacing:.1em;color:var(--text-dim);white-space:nowrap}.session-state-title{margin:0;font-size:1.3rem}.explain-card{display:flex;flex-direction:column;gap:var(--sp-3);background:var(--surface);border:1px solid var(--coral);border-radius:var(--radius);padding:var(--sp-4);font-size:.95rem}.explain-answer{color:var(--green);font-weight:650}.explain-block{color:var(--text)}.explain-block.theory{background:var(--gold-wash);border-radius:10px;padding:var(--sp-3)}.explain-label{display:flex;align-items:center;gap:.35rem;margin-bottom:.25rem;font-family:var(--hud);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.explain-answer .explain-label{color:var(--text-faint)}.modal.upload-modal{max-width:520px}.form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3)}.form-cell{display:flex;flex-direction:column;gap:.3rem;min-width:0}.type-presets{display:flex;flex-direction:column;gap:.35rem}.type-checks{display:grid;grid-template-columns:1fr;gap:.4rem}@media(min-width:560px){.type-checks{grid-template-columns:1fr 1fr}}.course-check.option-card{align-items:flex-start}.course-check.option-card input{margin-top:.2rem}.option-text{display:flex;flex-direction:column;gap:.1rem;min-width:0}.option-text span{font-size:.76rem;color:var(--text-faint)}.mission-len{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);font-size:.85rem;color:var(--text-dim)}.mission-len .field{width:auto;min-width:5.5rem}.grade-unset{display:inline-flex;gap:.3rem;align-items:center;font-size:.78rem;color:var(--gold);margin-top:.15rem}.course-tag{margin-left:auto;font-family:var(--hud);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}.report-q{align-self:center;margin:var(--sp-2) 0 0;font-size:.82rem;color:var(--text-dim)}.report-q.link{display:inline-flex;align-items:center;gap:.35rem;background:none;border:0;padding:var(--sp-1) var(--sp-2);font:inherit;font-size:.82rem;color:var(--text-dim);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.report-q.done{display:inline-flex;align-items:center;gap:.35rem;color:var(--cyan)}.report-q.open{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2);width:100%}.report-q-title{font-weight:600;color:var(--text)}.report-q-reasons{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-2)}.report-intro{margin:0 0 var(--sp-3);font-size:.85rem}.report-reason{display:inline-flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--gold);margin-bottom:.3rem}.report-solution{margin-top:.4rem;font-size:.85rem;color:var(--text-dim)}.report-note{margin:.4rem 0 0;font-size:.8rem}.report-actions{margin-top:var(--sp-2);justify-content:flex-end;flex-wrap:wrap}.modal.worksheet-modal{max-width:560px;width:100%}.worksheet-modal .btn-primary{gap:var(--sp-2)}.ws-print-root{display:none}@page{margin:14mm 13mm}@media print{:root.ws-printing,:root.ws-printing body{height:auto;background:var(--print-paper);color-scheme:light}html.ws-printing body>:not(.ws-print-root){display:none!important}html.ws-printing .ws-print-root{display:block}}.ws-sheet{color:var(--print-ink);background:var(--print-paper);font-family:var(--sans);font-size:12pt;line-height:1.45}.ws-head{border-bottom:1.5pt solid var(--print-ink);padding-bottom:3mm;margin-bottom:6mm}.ws-head h1{font-size:18pt;margin:0;line-height:1.2}.ws-meta{color:var(--print-dim);font-size:10pt;margin-top:1mm}.ws-fields{display:flex;gap:8mm;margin-top:5mm;font-size:11pt}.ws-field{display:flex;align-items:flex-end;gap:2mm;white-space:nowrap}.ws-field.grow{flex:1}.ws-line{flex:1;min-width:30mm;border-bottom:.8pt solid var(--print-line);height:1.1em}.ws-field .ws-line{min-width:28mm}.ws-field .ws-line.short{flex:0 0 12mm;min-width:12mm}.ws-q{display:flex;gap:3mm;margin-bottom:7mm;break-inside:avoid}.ws-num{font-weight:700;min-width:7mm;flex:0 0 auto}.ws-q-body{flex:1;min-width:0}.ws-inst{font-size:9.5pt;font-style:italic;color:var(--print-dim);margin-bottom:1mm}.ws-stem{white-space:pre-line}.ws-blank{display:inline-block;min-width:26mm;height:1.1em;border-bottom:.8pt solid var(--print-ink);vertical-align:baseline;margin:0 1mm}.mexp .ws-blank{min-width:8mm}.ws-sheet .ex-figure{justify-content:flex-start;color:var(--print-ink);margin:2mm 0}.ws-sheet .ex-figure svg{max-width:75mm;max-height:55mm;padding:0;background:none;border:0;box-shadow:none;animation:none}.ws-opts{display:grid;grid-template-columns:1fr;gap:1.5mm 6mm;margin-top:2.5mm}.ws-opts.cols{grid-template-columns:1fr 1fr}.ws-opt{display:flex;align-items:baseline;gap:2mm}.ws-letter{font-weight:700;flex:0 0 auto}.ws-box{flex:0 0 auto;width:4.5mm;height:4.5mm;border:.8pt solid var(--print-ink);border-radius:.8mm;align-self:center}.ws-answer{display:flex;align-items:flex-end;gap:2mm;margin-top:3mm;max-width:110mm}.ws-match{display:grid;grid-template-columns:1fr 1fr;column-gap:22mm;margin-top:2.5mm}.ws-match-col{display:flex;flex-direction:column;gap:3mm}.ws-match-item{display:flex;align-items:center;gap:2mm}.ws-dot{flex:0 0 auto;width:2.2mm;height:2.2mm;border-radius:50%;background:var(--print-ink)}.ws-dot.end{margin-left:auto}.ws-steps{display:flex;flex-direction:column;gap:1mm;margin-top:2mm}.ws-step-prompt{display:flex;gap:2mm;align-items:baseline}.ws-step .ws-answer{margin:1.5mm 0 1mm 6mm}.ws-work{height:30mm;margin-top:3mm;border:.8pt dashed var(--print-line);border-radius:2mm;padding:1mm 2mm;font-size:8pt;color:var(--print-dim)}.ws-key{page-break-before:always;break-before:page}.ws-key h2{font-size:13pt;margin:0 0 5mm;padding-bottom:2mm;border-bottom:1pt solid var(--print-ink)}.ws-key-list{columns:2;column-gap:12mm;font-size:11pt}.ws-key-item{display:flex;gap:2mm;margin-bottom:2.5mm;break-inside:avoid}.ws-key-body{min-width:0}.ws-key-part+.ws-key-part:before{content:"·";margin:0 1.5mm;color:var(--print-dim)}.column-op,.factor-op,.worked-op{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3)}.cg-wrap{max-width:100%;overflow-x:auto;padding:var(--sp-1)}.cg{--cell: clamp(1.55rem, 7.2vw, 2.3rem);display:grid;grid-template-columns:repeat(var(--cols),var(--cell));justify-content:center;font-variant-numeric:tabular-nums}.cg-cell{position:relative;height:var(--cell);display:flex;align-items:center;justify-content:center;font-size:calc(var(--cell) * .6);font-weight:650;line-height:1}.cg-cell.small{height:calc(var(--cell) * .72);font-size:calc(var(--cell) * .42);color:var(--text-dim)}.cg-cell.top{border-top:2px solid var(--text)}.cg-cell.bar{border-left:2px solid var(--text)}.cg-cell.given{font-weight:750}.cg-cell.work{color:var(--text-dim)}.cg-cell.result{color:var(--green);font-weight:800}.cg-in{width:calc(100% - 4px);height:calc(100% - 4px);padding:0;border:1px dashed var(--line);border-radius:6px;background:var(--surface-2);color:var(--text-dim);font:inherit;font-size:max(16px,1em);text-align:center;caret-color:var(--cyan)}.cg-in:focus{outline:none;border:1.5px solid var(--cyan);color:var(--text)}.cg-in.result,.cg-in.quotient{border:1.5px solid var(--cyan);background:var(--surface);color:var(--text);font-weight:750}.cg-in.carry{border-radius:4px}.cg-in:disabled{opacity:1}.cg-in.correct{border-color:var(--green);color:var(--green)}.cg-in.wrong{border-color:var(--coral);color:var(--coral)}.cg-comma{position:absolute;right:-.14em;bottom:.02em;font-weight:800;line-height:1;pointer-events:none}.cg-comma.user{color:var(--cyan)}.cg-remainder{display:flex;align-items:center;gap:var(--sp-3)}.cg-rem-label{font-size:.95rem;font-weight:650;color:var(--text-dim)}.cg-hint{max-width:34rem;margin:0;font-size:.85rem;color:var(--text-dim);text-align:center}.fl{display:grid;grid-template-columns:auto auto;justify-content:center;font-size:1.25rem;font-weight:650;font-variant-numeric:tabular-nums}.fl-row{display:contents}.fl-v,.fl-d{display:flex;align-items:center;min-height:2.2rem;padding:.15rem 0}.fl-v{justify-content:flex-end;min-width:4.5rem;padding-right:var(--sp-3)}.fl-d{min-width:3.5rem;padding-left:var(--sp-3);border-left:2px solid var(--text)}.fl-in,.fe-base,.fe-exp{height:2.2rem;padding:0 .3rem;border:1px dashed var(--line);border-radius:8px;background:var(--surface-2);color:var(--text);font:inherit;font-size:max(16px,1em);text-align:center}.fl-in{width:5.5rem}.fl-d .fl-in{width:3.8rem}.fl-in:focus,.fe-base:focus,.fe-exp:focus{outline:none;border:1.5px solid var(--cyan)}.fl-in:disabled,.fe-base:disabled,.fe-exp:disabled{opacity:1}.fl.static .fl-v,.fl.static .fl-d{min-height:1.8rem}.fe{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--sp-1);font-size:1.3rem;font-weight:700}.fe-n{margin-right:var(--sp-1)}.fe-chip{display:inline-flex;align-items:flex-start}.fe-dot{align-self:center;margin:0 var(--sp-2)}.fe-base{width:3.1rem;border:1.5px solid var(--cyan);background:var(--surface);font-weight:750}.fe-exp{width:2.1rem;height:1.7rem;margin:-.55rem 0 0 2px;padding:0 .15rem}.fe.correct .filled{border-color:var(--green);color:var(--green)}.fe.wrong .filled{border-color:var(--coral);color:var(--coral)}.fe.solved{font-size:1.35rem}.ws-op{margin-top:3mm}.ws-sheet .cg.paper{--cell: 7mm;width:max-content;justify-content:start;border-top:.3pt solid var(--print-line);border-left:.3pt solid var(--print-line)}.ws-sheet .cg.paper .cg-cell{font-size:13pt;color:var(--print-ink);border-right:.3pt solid var(--print-line);border-bottom:.3pt solid var(--print-line)}.ws-sheet .cg.paper .cg-cell.small{height:4.5mm;font-size:8pt}.ws-sheet .cg.paper .cg-cell.top{border-top:1.2pt solid var(--print-ink)}.ws-sheet .cg.paper .cg-cell.bar{border-left:1.2pt solid var(--print-ink)}.ws-sheet .fl.paper{justify-content:start;font-size:12pt}.ws-sheet .fl.paper .fl-v,.ws-sheet .fl.paper .fl-d{min-height:7.5mm;border-bottom:.3pt dotted var(--print-line)}.ws-sheet .fl.paper .fl-v{min-width:24mm}.ws-sheet .fl.paper .fl-d{min-width:16mm;border-left:1.2pt solid var(--print-ink)}.ws-answer.short{max-width:50mm}.auth-screen{position:relative;z-index:1;min-height:100dvh;max-width:420px;margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;padding:2rem 1.4rem;padding-top:calc(2rem + env(safe-area-inset-top));text-align:center}.auth-orbi{width:120px;filter:drop-shadow(0 14px 26px rgba(55,225,232,.25))}.auth-passkey{margin-top:.5rem}.app-version{margin-top:.6rem;font-family:var(--hud);font-size:.62rem;letter-spacing:.08em;color:var(--text-faint)}.auth-title{font-size:2.6rem;font-weight:800;letter-spacing:-.02em;margin:.2rem 0 0;background:linear-gradient(92deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-sub{color:var(--text-dim);margin:0 0 .6rem}.auth-form{display:flex;flex-direction:column;gap:.7rem;width:100%}.auth-form .btn-primary{width:100%;margin-top:.2rem}.field{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;color:var(--text);font-family:var(--sans);font-size:1rem}.field::placeholder{color:var(--text-faint)}.field:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px #37e1e826}select.field{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:2.4rem;background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238a90a0' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right .9rem center;text-overflow:ellipsis;cursor:pointer}select.field option{background:var(--surface);color:var(--text)}.auth-error{color:var(--coral);font-size:.85rem}.auth-toggle{background:none;border:0;color:var(--cyan);cursor:pointer;font-size:.9rem;margin-top:.4rem}.auth-demo{font-family:var(--hud);font-size:.72rem;color:var(--text-faint);margin-top:1.1rem}.auth-demo b{color:var(--text-dim)}.family-screen{padding-bottom:1.5rem}.family-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem}.family-kicker{font-family:var(--hud);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--violet)}.family-top b{font-size:.85rem}.family-heading{font-weight:750;font-size:1.2rem;margin:.2rem 0 .6rem;padding:0 1.2rem}.kids-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem;padding:0 1.2rem}.kid-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem .6rem;cursor:pointer;color:var(--text)}.kid-card.add{justify-content:center;color:var(--text-dim);border-style:dashed}.kid-card.add b{font-size:.8rem}.kid-avatar{font-size:2rem;line-height:1}.kid-avatar.big{font-size:3rem}.kid-grade{font-family:var(--hud);font-size:.6rem;color:var(--text-faint)}.family-parent{margin:1.1rem 1.2rem 0}.pin-panel{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.4rem 1.2rem;text-align:center}.link-back{align-self:flex-start;background:none;border:0;color:var(--cyan);cursor:pointer;font-size:.9rem}.pin-name{font-size:1.1rem}.pin-field{max-width:190px;text-align:center;letter-spacing:.5em;font-size:1.3rem;font-family:var(--hud)}.pin-panel .btn-primary{min-width:170px;margin-top:.3rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#06070fb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:calc(1.2rem + env(safe-area-inset-top)) calc(1.2rem + env(safe-area-inset-right)) calc(1.2rem + env(safe-area-inset-bottom)) calc(1.2rem + env(safe-area-inset-left))}.modal{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:1.2rem;width:100%;max-width:360px;display:flex;flex-direction:column;gap:.85rem;box-shadow:0 24px 60px -20px #000000d9;max-height:calc(100dvh - 2.4rem - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow-y:auto}.modal>*{flex-shrink:0}.modal h3{margin:0}.avatar-pick{display:flex;gap:.4rem;flex-wrap:wrap}.ava{display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);border:1.5px solid var(--line);border-radius:10px;padding:.25rem;cursor:pointer}.ava.on{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.mascot-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:var(--sp-2)}.mascot-opt{display:flex;flex-direction:column;align-items:center;gap:var(--sp-1);padding:var(--sp-2) var(--sp-1);background:var(--surface-2);border:1.5px solid var(--line);border-radius:14px;color:var(--text-dim);font:inherit;font-size:.78rem;font-weight:650;cursor:pointer}.mascot-opt.on{border-color:var(--cyan);box-shadow:var(--glow-cyan);color:var(--text)}.mascot-opt:disabled{cursor:default;opacity:.7}.mascot-opt-art{width:56px;height:auto}.mascot-card{display:flex;align-items:center;gap:var(--sp-3);margin:var(--sp-4) 1.2rem 0;padding:var(--sp-3) var(--sp-4);background:var(--surface);border:1px solid var(--line);border-radius:16px}.mascot-card-art{width:64px;height:auto;flex:0 0 auto}.mascot-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--sp-1)}.mascot-card-text .screen-kicker{padding:0}.mascot-card-text b{font-size:1.05rem}.modal-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.3rem}.avatar-btn{border:0;padding:0;overflow:hidden;cursor:pointer;font:inherit}.auth-tabs{display:flex;gap:.4rem;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:.25rem;width:100%}.auth-tabs button{flex:1;background:none;border:0;color:var(--text-dim);padding:.5rem;border-radius:9px;cursor:pointer;font-family:var(--sans);font-size:.9rem;font-weight:600}.auth-tabs button.on{background:var(--surface-2);color:var(--cyan)}.auth-info{color:var(--green);font-size:.85rem}.auth-devlink{color:var(--cyan);font-family:var(--hud);font-size:.72rem;word-break:break-all}.panel-top{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;padding-top:calc(1rem + env(safe-area-inset-top));position:sticky;top:0;z-index:3;background:color-mix(in srgb,var(--space-900) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.panel-kicker{font-family:var(--hud);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--violet)}.panel-top b{font-size:.85rem}.panel-id{border:0;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;gap:.4rem;padding:0;text-align:left}.panel-id>svg{color:var(--text-dim)}.panel-id-text{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.1rem 0 .3rem}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.2rem .4rem}.panel-head .screen-title{padding:0}.panel-msg{margin:0 1.2rem .4rem}.panel-pw{margin:1.2rem}.list{display:flex;flex-direction:column;gap:.5rem;padding:.2rem 1.2rem}.list-row{display:flex;align-items:center;gap:.7rem;background:var(--surface);border:1px solid var(--line);border-radius:13px;padding:.7rem .85rem}.list-main{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.list-main b{font-size:.9rem}.list-main span{font-family:var(--hud);font-size:.62rem;color:var(--text-faint)}.kid-avatar.sm{font-size:1.5rem}.verify-banner{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin:.6rem 1.2rem .2rem;padding:.55rem .8rem;border:1px solid var(--gold);background:var(--gold-wash);border-radius:11px;font-size:.82rem;color:var(--text)}.row-actions{display:inline-flex;gap:var(--sp-2);align-items:center;flex:0 0 auto}.panel-section{margin-top:var(--sp-5)}.btn-primary.sm,.btn-ghost.sm{min-height:var(--btn-h-sm);padding:0 .85rem;font-size:.8rem;border-radius:10px}.btn-danger{display:inline-flex;align-items:center;justify-content:center;min-height:var(--btn-h);font-family:var(--sans);font-weight:700;font-size:.86rem;line-height:1;color:var(--coral);background:transparent;border:1.5px solid var(--coral);border-radius:12px;padding:0 .9rem;cursor:pointer;margin-right:auto}.course-grid{display:grid;grid-template-columns:1fr;gap:.7rem;padding:.4rem 1.2rem}.course-card{display:flex;align-items:center;gap:.8rem;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem;cursor:pointer;color:var(--text);font-size:1rem}.course-card.custom{border-color:var(--violet)}.course-card .course-text{display:flex;flex-direction:column;gap:.1rem;align-items:flex-start}.course-card .course-sub{font-size:.72rem;color:var(--text-dim);font-weight:400}.course-emoji{font-size:1.8rem}.course-item{display:flex;flex-direction:column;gap:var(--sp-1)}.course-item .review-btn{align-self:flex-end}.kid-progress{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-3);margin-top:var(--sp-1);font-size:.75rem;font-weight:500;color:var(--text-dim);text-align:left}.kp-stat{display:inline-flex;align-items:center;gap:3px}.kp-stat.acc{font-weight:700}.kp-stat.acc.good{color:var(--green)}.kp-stat.acc.mid{color:var(--gold)}.kp-stat.acc.low{color:var(--coral)}.trend{display:inline-flex}.trend.up{color:var(--green)}.trend.down{color:var(--coral)}.review-btn{gap:var(--sp-1)}.review-count{min-width:1.3rem;padding:0 .35rem;border-radius:999px;background:var(--coral);color:var(--on-accent);font-size:.72rem;font-weight:700;line-height:1.3rem;text-align:center}.galaxy-progress{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-2);padding:0 1.2rem}.kid-review-error{margin:var(--sp-3) 1.2rem 0}.galaxy-head{padding-bottom:.2rem}.galaxy-head .link-back{padding:.8rem 1.2rem 0}.course-label{font-family:var(--hud);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-top:.3rem}.course-checks{display:flex;flex-direction:column;gap:.4rem}.course-check{display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1.5px solid var(--line);border-radius:10px;padding:.5rem .7rem;font-size:.85rem;cursor:pointer}.course-check.on{border-color:var(--cyan)}.screen-pad{padding:1.6rem 1.2rem}.modal.print-modal{max-width:660px;width:100%}.modal.studydoc-modal{max-width:780px;width:100%}.print-modal .btn-primary,.studydoc-modal .btn-primary{gap:var(--sp-2)}.print-modes{display:grid;grid-template-columns:1fr;gap:.4rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:var(--sp-3)}@media(min-width:560px){.print-modes{grid-template-columns:1fr 1fr}.type-checks.three{grid-template-columns:repeat(3,1fr)}}.print-more summary{cursor:pointer;font-weight:700;color:var(--text-dim);padding:var(--sp-2) 0}.print-more[open]{display:flex;flex-direction:column;gap:var(--sp-3)}.print-bar{display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-3);border:1px solid var(--line);border-radius:12px;background:var(--surface-2)}.modal-actions.top{justify-content:flex-start}.doc-list,.module-list{display:flex;flex-direction:column;gap:.35rem}.doc-row,.module-row{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem;padding:.45rem .55rem;border:1px solid var(--line-soft);border-radius:10px}.doc-row.off{opacity:.6}.doc-row .list-main,.module-row .list-main{flex:1 1 10rem;min-width:0}.doc-actions{display:flex;align-items:center;gap:.35rem}.shop-ic.xs{width:28px;height:28px;font-size:.9rem}.icon-btn.on{color:var(--green);border-color:var(--green)}.icon-btn.danger{color:var(--coral)}.module-n{width:1.6rem;height:1.6rem;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);font-weight:700;font-size:.8rem;flex:0 0 auto}.field.sm{height:var(--btn-h-sm);width:auto;padding:0 .5rem}.content-row-foot{display:flex;justify-content:flex-end;gap:.5rem;border-top:1px solid var(--line-soft);padding-top:.5rem}.course-check.partial{border-style:dashed}.catalog-courses{margin-top:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2)}.ws-sheet,.sd.paper{color-scheme:light;--text: var(--print-ink);--text-dim: var(--print-dim);--text-faint: var(--print-dim);--line: var(--print-line);--line-soft: var(--print-line);--surface: var(--print-paper);--surface-2: var(--print-fill);--green: var(--print-ink);--coral: var(--print-ink);--cyan: var(--print-ink);--violet: var(--print-ink);--gold: var(--print-ink);--gold-wash: var(--print-fill)}.ws-print-root{print-color-adjust:exact;-webkit-print-color-adjust:exact}.ws-sheet{font-size:var(--ws-font, 12pt)}.ws-page-break{page-break-before:always;break-before:page}.ws-pack-doc+.ws-pack-doc{page-break-before:always;break-before:page}.ws-sheet .cg.paper{--cell: var(--ws-cell, 7mm)}.ws-sheet .cg:not(.paper),.sd.paper .cg{--cell: 6mm}.ws-sheet .cg:not(.paper) .cg-cell,.sd.paper .cg .cg-cell{font-size:11pt}.ws-sheet .worked-op,.sd.paper .worked-op{justify-content:flex-start;margin:1.5mm 0}.ws-sheet .fe.solved,.sd.paper .fe.solved{font-size:12pt}.ws-sheet .frac .num,.sd.paper .frac .num{border-bottom-width:.8pt}.ws-head-top{display:flex;justify-content:space-between;align-items:flex-start;gap:4mm}.ws-kicker{font-size:9pt;text-transform:uppercase;letter-spacing:.06em;color:var(--print-dim)}.ws-code{display:flex;flex-direction:column;align-items:flex-end;font-size:9pt;color:var(--print-dim);white-space:nowrap}.ws-code b{color:var(--print-ink);font-size:11pt}.ws-fields{flex-wrap:wrap;row-gap:3mm}.ws-filled{border-bottom:.8pt solid var(--print-line);padding:0 1mm}.ws-instructions{border:.8pt solid var(--print-ink);border-radius:2mm;padding:2mm 3mm;margin-bottom:5mm;font-size:10pt;break-inside:avoid}.ws-instructions ul{margin:1mm 0 0 5mm;padding:0}.ws-section-title{display:flex;justify-content:space-between;align-items:baseline;font-size:13pt;margin:4mm 0 3mm;padding-bottom:1mm;border-bottom:.8pt solid var(--print-line);break-after:avoid}.ws-pts{margin-left:2mm;font-style:normal;font-weight:700;color:var(--print-ink);white-space:nowrap}.ws-remember{margin-top:2mm;font-size:9.5pt;border-left:1.2pt solid var(--print-ink);padding-left:2mm}.ws-qs.compact{display:grid;grid-template-columns:1fr 1fr;column-gap:8mm}.ws-qs.compact .ws-q.wide{grid-column:1 / -1}.ws-qs.drill{grid-template-columns:repeat(var(--ws-drill-cols, 4),1fr)}.ws-qs.drill .ws-q.wide{grid-column:auto}.ws-qs.drill .ws-inst{display:none}.ws-qs.drill .ws-q{margin-bottom:5mm}.ws-drill-inst{font-size:10pt;font-style:italic;color:var(--print-dim);margin:0 0 4mm}.ws-area{margin-top:2.5mm;break-inside:avoid}.ws-area.long{break-inside:auto}.ws-area.long .ws-area-label{break-after:avoid}.ws-lines .ws-row{break-inside:avoid}.ws-area-label{display:block;font-size:8pt;color:var(--print-dim);margin-bottom:.8mm}.ws-grid{display:block;color:var(--print-grid)}.ws-lines .ws-row{position:relative;height:var(--ws-line-h, 8mm);border-bottom:.6pt solid var(--print-line)}.ws-lines.double .ws-row:after{content:"";position:absolute;left:0;right:0;top:50%;border-top:.5pt dotted var(--print-guide)}.ws-lines.montessori .ws-row{border-top:.4pt solid var(--print-guide);border-bottom:.4pt solid var(--print-guide);margin-bottom:2.5mm}.ws-lines.montessori .ws-row:before,.ws-lines.montessori .ws-row:after{content:"";position:absolute;left:0;right:0}.ws-lines.montessori .ws-row:before{top:33%;border-top:.4pt dashed var(--print-guide)}.ws-lines.montessori .ws-row:after{top:66%;border-top:.9pt solid var(--print-line)}.ws-box-area{margin-top:2.5mm;padding:1mm 2mm;border:.8pt dashed var(--print-line);border-radius:2mm;break-inside:avoid}.ws-problem{display:grid;grid-template-columns:2fr 3fr;gap:3mm;margin-top:2.5mm;break-inside:avoid}.ws-answer>span:first-child{flex:none;white-space:nowrap}.ws-qs.compact .ws-answer .ws-line{min-width:14mm}.ws-answer-box{display:flex;align-items:center;gap:2mm;margin-top:3mm}.ws-rbox{width:32mm;height:9mm;border:1pt solid var(--print-ink);border-radius:1.5mm}.ws-score{width:100%;border-collapse:collapse;margin-top:6mm;font-size:10.5pt;break-inside:avoid}.ws-score th,.ws-score td{border:.8pt solid var(--print-ink);padding:1.5mm 2mm;text-align:left}.ws-score th:nth-child(n+2),.ws-score td:nth-child(n+2){width:26mm;text-align:center}.ws-score .total td{font-weight:700}.ws-signature{display:flex;align-items:flex-end;gap:2mm;margin-top:8mm;font-size:10pt;break-inside:avoid}.ws-key-list.one{columns:1}.ws-key-code{float:right;font-size:9pt;font-weight:400;color:var(--print-dim)}.ws-key-pts{margin-left:2mm;font-size:8.5pt;color:var(--print-dim)}.ws-key-explained{display:flex;flex-direction:column;gap:1.5mm}.ws-key-note{font-size:10pt}.ws-cards-title{font-size:12pt;font-weight:700;margin-bottom:3mm}.ws-card-page{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:60mm}.ws-card{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:6mm;font-size:14pt;border:.6pt dashed var(--print-cut);overflow:hidden;break-inside:avoid}.ws-card.back{font-size:13pt}.ws-card.long{font-size:10.5pt}.ws-card-text{white-space:pre-line}.ws-card.empty{border-color:transparent}.ws-card-num{position:absolute;top:2mm;left:3mm;font-size:7.5pt;color:var(--print-dim)}.ws-card-hint{margin-top:3mm;font-size:8.5pt;color:var(--print-dim)}.ws-card-page.fold{grid-template-columns:1fr;grid-auto-rows:auto}.ws-fold-row{display:grid;grid-template-columns:1fr 1fr;height:50mm}.ws-fold-row .ws-card.front{border-right:.8pt solid var(--print-ink)}.ws-cards-tip{margin-top:3mm;font-size:8.5pt;color:var(--print-dim)}.sd{line-height:1.6;color:var(--text)}.sd-head h1{font-size:1.5em;margin:0 0 .2em}.sd-minutes{display:inline-flex;align-items:center;gap:.3em;color:var(--text-dim);font-size:.85em}.sd-goals{border:1px solid var(--line);border-radius:12px;padding:.6em .9em;margin:.6em 0}.sd-goals ul{margin:.3em 0 0;padding-left:1.2em}.sd-h{margin:1.1em 0 .4em}.sd-p{margin:.5em 0}.sd-callout{border-left:4px solid var(--line);border-radius:10px;background:var(--surface-2);padding:.6em .9em;margin:.8em 0}.sd-callout p,.sd-callout ul{margin:.3em 0 0}.sd-callout ul{padding-left:1.2em}.sd-callout.remember{border-left-color:var(--gold);background:var(--gold-wash)}.sd-callout.tip{border-left-color:var(--cyan)}.sd-callout.warning{border-left-color:var(--coral)}.sd-callout.fact{border-left-color:var(--violet)}.sd-callout-label{display:flex;align-items:center;gap:.4em;font-weight:700}.sd-list{padding-left:1.3em;margin:.5em 0}.sd-table-wrap{overflow-x:auto;margin:.8em 0}.sd-table{width:100%;border-collapse:collapse}.sd-table caption{text-align:left;font-weight:700;margin-bottom:.3em}.sd-table th,.sd-table td{border:1px solid var(--line);padding:.45em .6em;vertical-align:top;line-height:1.6;text-align:left}.sd-table thead th,.sd-table.hcol tbody th{background:var(--surface-2)}.sd-ipa{font-family:var(--hud);font-size:.9em}.sd-empty-cell{display:inline-block;min-width:18mm;height:1.2em}.sd-formula{text-align:center;border:1px dashed var(--line);border-radius:12px;padding:.6em .9em;margin:.8em 0}.sd-formula-label{font-weight:700;margin-bottom:.2em}.sd-formula-expr{font-size:1.3em;white-space:nowrap}.sd-vars{display:grid;grid-template-columns:auto 1fr;gap:.15em .8em;width:fit-content;margin:.5em auto 0;text-align:left}.sd-vars dd{margin:0}.sd-note{color:var(--text-dim);margin:.4em 0 0}.sd-defs{margin:.4em 0}.sd-def{padding:.4em 0;border-bottom:1px solid var(--line-soft)}.sd-def dt{font-weight:700}.sd-def dd{margin:0}.sd-example{color:var(--text-dim);font-style:italic}.sd-worked{border:1px solid var(--line);border-radius:12px;padding:.7em 1em;margin:.8em 0}.sd-worked-title{display:flex;align-items:center;gap:.4em;font-weight:700}.sd-statement{margin:.4em 0}.sd-op{overflow-x:auto}.sd-steps{padding-left:1.4em;margin:.4em 0}.sd-work{margin-top:.2em;color:var(--text-dim)}.sd-answer{border-top:1px solid var(--line-soft);padding-top:.4em}.sd-check{color:var(--text-dim);margin:.3em 0 0}.sd-figure{margin:.8em 0;text-align:center}.sd-figure figcaption{font-size:.85em;color:var(--text-dim)}.sd-timeline{list-style:none;margin:.6em 0;padding:0 0 0 1.1em;border-left:2px solid var(--line)}.sd-timeline li{position:relative;display:flex;gap:.8em;padding:.35em 0}.sd-timeline li:before{content:"";position:absolute;left:-1.45em;top:.75em;width:.6em;height:.6em;border-radius:50%;background:var(--cyan)}.sd-when{flex:0 0 4.5em;font-weight:700;color:var(--cyan)}.sd-event-text{color:var(--text-dim)}.sd-tree{margin:.8em 0;overflow-x:auto}.sd-node{display:flex;align-items:center}.sd-node-label{display:flex;flex-direction:column;max-width:15em;padding:.15em .3em}.sd-node-text{font-size:.88em;color:var(--text-dim)}.sd-brace{align-self:stretch;width:.55em;margin:.25em .45em;border:2px solid var(--text-dim);border-right:0;border-radius:.7em 0 0 .7em}.sd-children{display:flex;flex-direction:column;gap:.3em}@media(max-width:759px){.sd.screen .sd-node{flex-direction:column;align-items:flex-start}.sd.screen .sd-brace{display:none}.sd.screen .sd-children{padding-left:1em;border-left:2px solid var(--line)}}.sd-passage{margin:.8em 0}.sd-passage p{position:relative;text-align:justify;-webkit-hyphens:auto;hyphens:auto}.sd-passage p.numbered{padding-left:1.8em}.sd-passage p.numbered:before{content:attr(data-n);position:absolute;left:0;font-size:.8em;color:var(--text-dim)}.sd-source{font-size:.85em;color:var(--text-dim);font-style:italic}.sd-model{white-space:pre-line;background:var(--surface-2);border-radius:10px;padding:.5em .8em}.sd-checklist{list-style:none;padding:0;margin:.5em 0}.sd-checklist li{display:flex;align-items:center;gap:.5em;padding:.15em 0}.sd-rubric-btn{width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.sd-rubric td.on{background:var(--gold-wash)}.sd-rubric-cell{display:flex;gap:1.5mm;align-items:flex-start}.sd-notebook{font-style:italic}.sd.screen{font-size:calc(1rem * var(--sd-scale, 1));max-width:760px;margin:0 auto}.sd-q{padding:.6em 0;border-bottom:1px solid var(--line-soft)}.sd-q-opts{display:grid;gap:.35em;margin:.4em 0}.sd-q-opts.two{grid-template-columns:1fr 1fr}.sd-q-opt{min-height:var(--btn-h-sm);padding:.45em .7em;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);text-align:left;font:inherit;cursor:pointer}.sd-q-opt.on{border-color:var(--cyan)}.sd-q-opt.ok{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.sd-q-opt.ko{border-color:var(--coral)}.sd-q-answer{margin-top:.4em;padding:.5em .7em;border-radius:10px;background:var(--surface-2)}.sd-blank{display:inline-block;min-width:4em;border-bottom:2px solid var(--line);text-align:center;font-weight:700}.sd-reveal{margin-top:.4em}.studydoc-scroll{min-height:0}.sd-deck{margin:.8em 0}.deck{display:flex;flex-direction:column;align-items:center;gap:.6em}.deck-top{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:440px}.deck-card{position:relative;display:grid;width:100%;max-width:440px;min-height:200px;padding:1.2em;border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--text);font:inherit;font-size:1.3em;cursor:pointer;transform-style:preserve-3d;transition:transform .45s ease}.deck-card.flipped{transform:rotateY(180deg)}.deck-face{grid-area:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4em;text-align:center;backface-visibility:hidden}.deck-face.back{transform:rotateY(180deg)}.deck-hint{font-size:.6em;color:var(--text-dim)}.deck-actions{justify-content:center}.deck-tip{font-size:.85rem}.deck-end{display:flex;flex-direction:column;align-items:center;gap:.6em;padding:1em;text-align:center}@media(prefers-reduced-motion:reduce){.deck-card,.deck-card.flipped{transition:none;transform:none}.deck-face,.deck-face.back{transform:none;backface-visibility:visible}.deck-card:not(.flipped) .deck-face.back,.deck-card.flipped .deck-face.front{visibility:hidden}}.notes-group-title{padding:.6rem 1.2rem 0;font-size:.85rem;font-weight:700;color:var(--text-dim)}.notes-strip{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem 1.2rem}.notes-strip-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--text-dim)}.note-chip{display:inline-flex;align-items:center;gap:.3rem;min-height:var(--btn-h-sm);padding:.25rem .75rem;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font:inherit;font-size:.85rem;cursor:pointer}.notes-reader{display:flex;flex-direction:column;min-height:100%}.notes-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:var(--space-900);border-bottom:1px solid var(--line)}.notes-bar-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.notes-font{display:flex;gap:.3rem}.notes-body{padding:1rem 1.2rem 3rem}.sd.paper{font-size:var(--ws-font, 12pt);line-height:1.45}.sd.paper.cols2{columns:2;column-gap:7mm;font-size:calc(var(--ws-font, 12pt) * .85)}.sd.paper .sd-h{break-after:avoid;margin:3.5mm 0 1.5mm}.sd.paper .sd-callout,.sd.paper .sd-worked,.sd.paper .sd-formula,.sd.paper .sd-def,.sd.paper .sd-timeline li,.sd.paper .sd-node,.sd.paper .sd-q,.sd.paper .ws-q,.sd.paper .sd-checklist li{break-inside:avoid}.sd.paper .sd-callout{background:none;border:0;border-left:1.2pt solid var(--print-ink);border-radius:0;padding:1mm 3mm;margin:2.5mm 0}.sd.paper .sd-callout.warning{border-left:2.5pt double var(--print-ink)}.sd.paper .sd-table th,.sd.paper .sd-table td{border:.6pt solid var(--print-ink);padding:1.2mm 1.8mm}.sd.paper .sd-table thead{display:table-header-group}.sd.paper .sd-table tr{break-inside:avoid}.sd.paper .sd-table thead th,.sd.paper .sd-table.hcol tbody th{background:none}.sd.paper .sd-table-wrap{overflow:visible}.sd.paper .sd-worked,.sd.paper .sd-formula,.sd.paper .sd-goals{border:.8pt solid var(--print-line);border-radius:2mm}.sd.paper .sd-timeline{border-left:.8pt solid var(--print-ink)}.sd.paper .sd-timeline.many{columns:2;column-gap:8mm}.sd.paper .sd-timeline li:before{background:var(--print-ink)}.sd.paper .sd-brace{border-color:var(--print-ink);border-width:1pt}.sd.paper .sd-tree{overflow:visible}.sd.paper .sd-node-label{max-width:55mm}.sd-adult .sd-dictation-text{font-size:13pt;line-height:1.8;white-space:pre-line}
