@font-face{font-family:Lexend;font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/lexend-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--canvas: #f5f4f0;--surface: #ffffff;--surface-2: #f0efea;--ink: #243247;--ink-2: #526174;--border: #d8dbe0;--control-border: #7a889a;--action: #2457c5;--action-pressed: #19449f;--action-soft: #edf3ff;--math: #2457c5;--math-soft: #edf3ff;--ws: #7047a3;--ws-soft: #f3eefa;--reading: #246a50;--reading-soft: #ecf6f0;--grammar: #985119;--grammar-soft: #fbf1e8;--success: #216447;--success-bg: #edf7f0;--retry: #8a3b22;--retry-bg: #fff2ea;--star: #e3a008;--star-ink: #7a5300;--accent: var(--math);--accent-soft: var(--math-soft);--icon-soft: var(--accent-soft);--tabbar: rgba(255,255,255,.96);--disabled: #e8ecf1;--band-a: #2b4bc8;--band-b: #1e3a9f;--band-ink: #ffffff;--band-sub: #c7d2ff;--chip-test: #ffe6db;--chip-test-ink: #9a3d12;--chip-event: #e3f6ef;--chip-event-ink: #146548;--chip-uniform: #efe6fb;--chip-uniform-ink: #5a3588;--chip-due: #fff2cc;--chip-due-ink: #7a5300;--hl: #fff2b3;--shadow-ink: 31,42,68;--line-strong: var(--control-border);--paper: #ffffff;--font: "Lexend", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--tap: 48px;--gap: 8px;--r-key: 12px;--r-control: 12px;--r-card: 16px;--gutter: 16px;--kid: 24px}@media(min-width:600px){:root{--tap: 56px;--gutter: 24px}}.s-math{--accent: var(--math);--accent-soft: var(--math-soft)}.s-word_study{--accent: var(--ws);--accent-soft: var(--ws-soft)}.s-reading_writing{--accent: var(--reading);--accent-soft: var(--reading-soft)}.s-grammar{--accent: var(--grammar);--accent-soft: var(--grammar-soft)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.5;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3{line-height:1.25;margin:0 0 8px;font-weight:700;letter-spacing:-.01em}h1{font-size:28px}h2{font-size:22px;font-weight:650}h3{font-size:19px;font-weight:650;margin-top:16px}h3:first-child,h2+h3{margin-top:0}h2:last-child,p:last-child,ul:last-child{margin-bottom:0}p{margin:0 0 12px;max-width:60ch}ul{margin:0 0 12px;padding-left:22px;max-width:60ch}li{margin-bottom:6px}a{color:var(--action)}button{font:inherit;color:inherit}code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:18px}.muted{color:var(--ink-2)}.ico{display:inline-block;vertical-align:middle;flex:0 0 auto}.ico.flip{transform:scaleX(-1)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.page{max-width:640px;margin:0 auto;padding:16px var(--gutter) 48px}@media(min-width:768px){.page{max-width:960px}}[data-theme=dark]{--canvas: #0f1422;--surface: #1a2133;--surface-2: #232c42;--ink: #eef1f8;--ink-2: #b4bdd0;--border: #33405c;--control-border: #7d8ba6;--action: #8fb0ff;--action-pressed: #6f97ff;--action-soft: #22304f;--math: #8fb0ff;--math-soft: #22304f;--ws: #c9a6ff;--ws-soft: #2f2547;--reading: #6fd3a4;--reading-soft: #183529;--grammar: #ffb479;--grammar-soft: #3b2718;--success: #6fd3a4;--success-bg: #183529;--retry: #ff9a7a;--retry-bg: #3d2219;--star: #ffc53d;--star-ink: #ffd97a;--tabbar: rgba(20, 26, 42, .96);--disabled: #2a3349;--band-a: #1b2d78;--band-b: #121c4a;--band-ink: #ffffff;--band-sub: #c7d2ff;--chip-test: #4a2416;--chip-test-ink: #ffc6ad;--chip-event: #16382c;--chip-event-ink: #9ee6c6;--chip-uniform: #33234d;--chip-uniform-ink: #d9c3ff;--chip-due: #3f3111;--chip-due-ink: #ffe08a;--hl: #4a3d10;--shadow-ink: 0,0,0}[data-theme=dark] .btn.light{background:#eef1f8;border-color:#eef1f8;color:#1e3a9f}[data-theme=dark] .btn.primary,[data-theme=dark] .btn.good,[data-theme=dark] .step .n,[data-theme=dark] .rowlink .go,[data-theme=dark] .learn-card .go,[data-theme=dark] .subject-tile .badge,[data-theme=dark] .keypad .btn.check,[data-theme=dark] .keys .btn.check,[data-theme=dark] .match .words .btn.picked,[data-theme=dark] .sday.today{color:#0f1422}[data-theme=dark] .tile .tile-ico{--icon-soft: var(--surface)}[data-theme=dark] .fridge .sheet,[data-theme=dark] .fridge .sheet *{background:#fff;color:#000}.screen{min-height:100dvh;padding-bottom:calc(72px + env(safe-area-inset-bottom));background:var(--canvas)}.band{background:linear-gradient(160deg,var(--band-a) 0%,var(--band-b) 100%);color:var(--band-ink);padding:12px var(--gutter) 20px;border-radius:0 0 28px 28px;box-shadow:0 12px 28px -18px #1e3a9fb3}.band-inner{max-width:640px;margin:0 auto}.band-row{display:flex;align-items:center;gap:var(--gap)}.band-title{flex:1;text-align:center;font-size:22px;font-weight:650}.band .spacer{width:var(--tap);flex:0 0 auto}.band h1{font-size:26px;font-weight:700;margin:2px 0 10px;letter-spacing:-.01em;color:var(--band-ink)}.band .eyebrow{font-size:18px;font-weight:500;color:var(--band-sub)}.band .plain h1{margin-bottom:2px}.band .plain p{color:var(--band-sub);margin:0}.content{max-width:640px;margin:0 auto;padding:16px var(--gutter) 24px}@media(min-width:768px){.band-inner,.content{max-width:880px}.content{padding-top:24px}}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;justify-content:space-around;align-items:stretch;background:var(--tabbar);backdrop-filter:blur(10px);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom));min-height:64px}.tabbar{gap:8px}.tabbar .tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:var(--tap);min-height:var(--tap);flex:1 1 0;text-decoration:none;color:var(--ink-2);font-size:18px;font-weight:600;border-radius:12px}.tabbar .tab.on{color:var(--action)}.tabbar .tab.on .ico{--icon-soft: var(--action-soft)}.tabbar .tab .ico{--icon-soft: var(--surface-2)}@media(min-width:900px){.tabbar{max-width:880px;margin:0 auto;left:50%;right:auto;width:100%;transform:translate(-50%);border:1px solid var(--border);border-radius:18px 18px 0 0;background:var(--surface)}}.greet-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--gap)}.greet-row>div{min-width:0}.btn.theme{gap:6px;padding:0 14px 0 10px;font-size:18px;font-weight:600;border-radius:999px;--icon-soft: rgba(255,255,255,.25);flex:0 0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--tap);min-width:var(--tap);padding:8px 18px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--ink);font-weight:600;font-size:18px;line-height:1.33;cursor:pointer;text-decoration:none;touch-action:manipulation;user-select:none;-webkit-user-select:none;box-shadow:0 1px 2px rgba(var(--shadow-ink),.06)}.btn:active:not(:disabled){background:var(--surface-2)}.btn.primary{background:var(--action);border-color:var(--action);color:#fff;box-shadow:0 6px 16px -8px #2457c5b3;--icon-soft: rgba(255,255,255,.28)}.btn.primary:active:not(:disabled){background:var(--action-pressed);border-color:var(--action-pressed)}.btn.quiet{background:transparent;border-color:transparent;color:var(--ink);box-shadow:none}.btn.ghost{background:#ffffff29;border-color:transparent;color:var(--band-ink);box-shadow:none;padding:0}.btn.ghost.off{opacity:.35;pointer-events:none}.btn.soft{background:var(--action-soft);border-color:var(--action-soft);color:var(--action);box-shadow:none}.btn.pill{border-radius:999px}.btn.light{background:#fff;color:var(--action);border-color:#fff}.btn.good{background:var(--success);border-color:var(--success);color:#fff}.btn.link{background:transparent;border-color:transparent;color:var(--action);padding:8px 4px;justify-content:flex-start;box-shadow:none}.btn.big{font-size:var(--kid);min-height:calc(var(--tap) + 8px);padding:10px 22px}.btn.block{width:100%}.btn:disabled{background:var(--disabled);border-color:var(--disabled);color:var(--ink-2);cursor:default;box-shadow:none}.btn:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid var(--action);outline-offset:3px}.row{display:flex;gap:var(--gap);flex-wrap:wrap;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px;margin-bottom:16px;box-shadow:0 1px 2px rgba(var(--shadow-ink),.04),0 10px 24px -18px rgba(var(--shadow-ink),.35)}@media(min-width:768px){.card{padding:24px}}.card.quiet-card{color:var(--ink-2);box-shadow:none}.section-title{font-size:19px;font-weight:650;color:var(--ink-2);margin:20px 4px 10px}.lead{color:var(--ink-2);margin:0 4px 12px}.fineprint{color:var(--ink-2);font-size:18px;margin:20px 4px 0}.prose p,.prose li{max-width:60ch}.prose h3{margin-top:16px}.prose h3:first-child{margin-top:0}.greet{padding-top:4px}.hero-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:18px 18px 14px;margin-bottom:8px;box-shadow:0 2px 4px rgba(var(--shadow-ink),.04),0 18px 36px -24px rgba(var(--shadow-ink),.45);overflow:hidden}.hero-card .art-wrap{position:absolute;top:16px;right:16px}.hero-card .hero-text{padding-right:96px;min-height:84px}.hero-card .eyebrow{font-size:18px;font-weight:600;color:var(--action)}.hero-card h2{font-size:24px;font-weight:700;margin:2px 0 4px;letter-spacing:-.01em}.hero-card p{margin:0;color:var(--ink-2)}.hero-card.rest .eyebrow{color:var(--success)}.hero-card .steps{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:8px;max-width:none}.hero-card .steps li{margin:0}.step{display:flex;align-items:center;gap:12px;padding:8px 12px 8px 8px;border-radius:16px;background:var(--action-soft);text-decoration:none;color:var(--ink);min-height:calc(var(--tap) + 8px)}.step .n{width:36px;height:36px;border-radius:50%;background:var(--action);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex:0 0 auto}.step .t{flex:1;display:flex;flex-direction:column;line-height:1.25}.step .t b{font-weight:650}.step .t span{color:var(--ink-2);font-size:18px}.step .ico{color:var(--action)}.hero-card .btn.start{margin:14px 0 0}.hero-card .btn.start+.steps{margin-top:10px}.worked .wstep{margin:8px 0 0;font-size:22px;line-height:1.3;max-width:none}.hero-card .ahead{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:6px;max-width:none}.hero-card .ahead li{margin:0;display:flex;gap:10px;align-items:baseline;font-size:18px;line-height:1.35}.hero-card .ahead li b{flex:0 0 72px;color:var(--action);font-weight:650}.hero-card.done .eyebrow{color:var(--success)}.step.done{background:var(--success-bg)}.step.done .n{background:var(--success)}.step.done .t span{color:var(--success);font-weight:600}.hero-card .morning{margin-top:14px;padding:10px 14px;border-radius:14px;background:var(--surface-2);display:flex;flex-direction:column;gap:2px;font-size:18px;line-height:1.35}.hero-card .morning b{font-weight:650}.hero-card .warm{margin-top:16px;padding-top:14px;border-top:1px solid var(--border)}.hero-card .warm .eyebrow{color:var(--ws)}.hero-card .warm p{margin:2px 0 0}.hero-card .warm .steps{margin-top:10px}.subject-tile .stars-line{display:inline-flex;align-items:center;gap:4px;color:var(--star-ink);font-size:18px;font-weight:600;margin-top:auto}.subject-tile .stars-line .ico{color:var(--star)}.hero-card .reminder{margin-top:12px;font-weight:600;color:var(--ink)}.hero-card .btn{margin-top:14px}.ask-row{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;margin:0 -2px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.ask-card{flex:0 0 min(78%,300px);scroll-snap-align:start;background:var(--surface);border:1px solid var(--border);border-left:6px solid var(--accent);border-radius:18px;padding:12px 14px;box-shadow:0 1px 2px rgba(var(--shadow-ink),.04),0 10px 24px -18px rgba(var(--shadow-ink),.35)}.ask-card .who{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-weight:650;font-size:18px;margin-bottom:4px}.ask-card .q{line-height:1.4}.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}@media(max-width:359px){.tiles{grid-template-columns:1fr 1fr}}.tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:14px 8px 12px;background:var(--surface);border:1px solid var(--border);border-radius:20px;text-decoration:none;color:var(--ink);box-shadow:0 1px 2px rgba(var(--shadow-ink),.04),0 10px 24px -18px rgba(var(--shadow-ink),.35);min-height:var(--tap)}.tile b{font-weight:650;font-size:18px}.tile span{color:var(--ink-2);font-size:18px;line-height:1.2}.tile .tile-ico{width:56px;height:56px;border-radius:50%;background:var(--action-soft);color:var(--action);display:flex;align-items:center;justify-content:center;--icon-soft: #fff}@media(max-width:379px){.tiles{grid-template-columns:1fr}.tile{flex-direction:row;text-align:left}.tile b{flex:1}}.switch{display:flex;align-items:center;gap:var(--gap)}.switch h1{flex:1;text-align:center;margin:0;font-size:24px}.strip-card{padding:12px}.strip{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.sday{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:14px;background:var(--surface-2);min-height:72px}.sday.today{background:var(--action);color:#fff}.sday.past{opacity:.6}.sday .dn{font-size:18px;font-weight:600}.sday .num{font-size:22px;font-weight:700;line-height:1.1}.sday .marks{display:flex;gap:3px;min-height:8px;margin-top:4px}.sday .marks i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--control-border)}.sday .marks i.test,.sday .marks i.quiz{background:#ff8a5b}.sday .marks i.event,.sday .marks i.trip{background:#1e8a6e}.sday .marks i.uniform{background:#7047a3}.sday .marks i.due,.sday .marks i.deadline{background:#e3a008}.sday.today .marks i{outline:2px solid var(--action)}.dayblock{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:6px 16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(var(--shadow-ink),.04),0 10px 24px -18px rgba(var(--shadow-ink),.35)}.dayhead{font-weight:700;padding:8px 0 4px;color:var(--ink)}.evt{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--border)}.evt .kind{font-size:18px;font-weight:700;padding:2px 10px;border-radius:999px;background:var(--surface-2);color:var(--ink-2);white-space:nowrap}.evt.test .kind,.evt.quiz .kind{background:var(--chip-test);color:var(--chip-test-ink)}.evt.event .kind,.evt.trip .kind{background:var(--chip-event);color:var(--chip-event-ink)}.evt.uniform .kind{background:var(--chip-uniform);color:var(--chip-uniform-ink)}.evt.due .kind,.evt.deadline .kind{background:var(--chip-due);color:var(--chip-due-ink)}.evt .what{line-height:1.4}.evt .notes{color:var(--ink-2)}.dayblock .dayhead+.evt{border-top:0}.dayblock>.evt:first-child{border-top:0}.subject-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.subject-tile{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 14px 14px;background:var(--surface);border:1px solid var(--border);border-radius:22px;text-decoration:none;color:var(--ink);min-height:150px;box-shadow:0 1px 2px rgba(var(--shadow-ink),.04),0 10px 24px -18px rgba(var(--shadow-ink),.35)}.subject-tile .badge,.subject-band .badge{width:52px;height:52px;border-radius:16px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;--icon-soft: rgba(255,255,255,.25);flex:0 0 auto}.subject-tile b{font-size:20px;font-weight:700;color:var(--accent);margin-top:4px}.subject-tile .skill{color:var(--ink-2);font-size:18px;line-height:1.3}.subject-tile .go{position:absolute;top:18px;right:12px;color:var(--control-border)}@media(max-width:379px){.subject-grid{grid-template-columns:1fr}.subject-tile{min-height:0}}.subject-band{display:flex;align-items:center;gap:14px;margin-top:8px}.subject-band .badge{background:#ffffff2e}.subject-band .skill{font-size:18px;color:var(--band-sub);line-height:1.35}.segmented{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;background:var(--surface-2);border-radius:16px;padding:4px;margin:0 0 16px}.seg{display:flex;align-items:center;justify-content:center;min-height:var(--tap);border-radius:12px;text-decoration:none;color:var(--ink-2);font-weight:600;font-size:18px;text-align:center;line-height:1.1;padding:4px 2px}.seg.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(var(--shadow-ink),.12)}@media(max-width:379px){.segmented{grid-template-columns:1fr 1fr}}.list-card,.learn-card{display:block;background:var(--surface);border:1px solid var(--border);border-radius:20px;margin-bottom:12px;box-shadow:0 1px 2px rgba(var(--shadow-ink),.04),0 10px 24px -18px rgba(var(--shadow-ink),.35);overflow:hidden}.rowlink,.learn-card{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 16px;text-decoration:none;color:var(--ink);min-height:calc(var(--tap) + 8px)}.rowlink .rowmain{display:flex;align-items:center;gap:12px;flex:1;text-decoration:none;color:var(--ink);min-height:var(--tap)}.rowlink+.rowlink{border-top:1px solid var(--border)}.rowlink:active,.learn-card:active{background:var(--surface-2)}.rowtext{flex:1;display:flex;flex-direction:column;line-height:1.3}.rowtext b{font-weight:650}.rowtext span{color:var(--ink-2);font-size:18px}.rowlink .go,.learn-card .go{width:var(--tap);height:var(--tap);border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.rowlink .btn.ghost{background:var(--surface-2);color:var(--ink-2)}.learn-card{border-left:6px solid var(--accent)}.content a:not(.btn):not(.issue):not(.step):not(.tile):not(.rowlink):not(.rowmain):not(.learn-card):not(.subject-tile):not(.seg):not(.weekline){display:inline-block;padding:12px 0;margin:-12px 0;min-height:var(--tap);line-height:24px}.linklist li{margin-bottom:var(--gap)}.notice{padding:8px 0;border-top:1px solid var(--border)}.notice:first-of-type{border-top:0}.modlist .mod{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--border);flex-wrap:wrap}.modlist .mod:first-child,.modlist h2+.mod,.modlist p+.mod{border-top:0}.modlist .mod .name{font-weight:600}.modlist .mod .meta{color:var(--ink-2);font-size:18px;font-weight:400}.modlist .mod>.row{flex-wrap:nowrap;margin-left:auto}.footer{color:var(--ink-2);font-size:18px;margin-top:24px}.footer .btn{border-color:transparent;color:var(--ink-2);font-weight:500;padding-left:8px;padding-right:8px;box-shadow:none}.search{width:100%;margin-bottom:12px;font:inherit;font-size:18px;padding:10px 14px;border:1px solid var(--control-border);border-radius:14px;background:var(--surface);min-height:var(--tap)}.issue{display:block;text-decoration:none;color:inherit}.issue .lead{color:var(--ink-2);font-size:18px;margin:0}details summary{cursor:pointer;min-height:var(--tap);display:flex;align-items:center;font-weight:650}.testbanner{position:fixed;right:8px;bottom:calc(76px + env(safe-area-inset-bottom));z-index:30;background:var(--retry-bg);border:1px solid var(--retry);color:var(--retry);border-radius:999px;padding:4px 12px;font-size:16px;font-weight:600;pointer-events:none}.subject{padding:0;overflow:hidden}.subject .head{display:flex;align-items:center;gap:12px;padding:16px 16px 0}.subject .head .subject-ico{width:40px;height:40px;border-radius:10px;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;color:var(--accent);flex:0 0 auto}.subject .head h2{margin:0;font-size:22px;color:var(--accent)}.subject .body{padding:8px 16px 16px}.kid{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--canvas);font-size:var(--kid);z-index:10;font-family:var(--font);padding-bottom:env(safe-area-inset-bottom)}.kid .kbar{display:flex;align-items:center;gap:var(--gap);padding:4px 8px;min-height:calc(var(--tap) + 8px)}.kid .kbar .title{font-size:22px;font-weight:600;flex:1;text-align:center;min-width:0;line-height:1.25}.kid .progress{font-size:22px;color:var(--ink-2);white-space:nowrap;font-weight:500;min-width:var(--tap);text-align:right}.kid .back{padding:0;min-width:var(--tap);border-color:transparent}.progressrow{display:flex;align-items:center;gap:10px;padding:0 16px 4px}.progressbar{flex:1;height:8px;border-radius:4px;background:var(--border);overflow:hidden}.progressbar .fill{height:100%;background:var(--action);border-radius:4px;transition:width .2s ease}.progressrow .stars{font-size:22px;font-weight:600;color:var(--star-ink);display:inline-flex;align-items:center;gap:4px}.kid .stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:2px 16px;gap:6px;overflow:auto;text-align:center}.kid .stage:before,.kid .stage:after{content:"";flex:1 0 0}.kid .stage ul{margin:0;text-align:left}.kid .prompt{font-size:var(--kid);font-weight:600;max-width:34ch;line-height:1.25}.kid .prompt.story{font-size:22px;font-weight:400;line-height:1.3;max-width:36ch}.kid .muted{font-size:22px;color:var(--ink-2)}.kid .cue{font-size:22px;font-weight:600;color:var(--action);background:var(--action-soft);padding:4px 14px;border-radius:999px}.kid .feedback{font-size:22px;padding:10px 14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);max-width:560px;line-height:1.3;display:flex;gap:8px;align-items:flex-start}.kid .feedback.good{color:var(--success);border-color:var(--success);background:var(--success-bg)}.kid .feedback.bad{color:var(--retry);border-color:var(--retry);background:var(--retry-bg)}.kid .feedback.hint{color:var(--ink);border-color:var(--action);background:var(--action-soft);text-align:left}.kid .input{flex:0 0 auto;padding:8px 16px 12px;display:flex;flex-direction:column;gap:var(--gap);align-items:center}.kid .input .feedback{width:100%;max-width:560px}.kid .btn{font-size:22px}.kid .btn.big{font-size:24px}.kid .answerline{font-size:22px;max-width:560px}.kid .finish{text-align:center}.kid .finish h2{font-size:28px;margin:6px 0 4px}.kid .finish .big{font-size:24px;font-weight:600;margin:0 0 4px;max-width:none}.kid .finish .starline{display:inline-flex;align-items:center;gap:6px;font-size:22px;color:var(--star-ink);margin:0 0 6px}.kid .finish p{font-size:22px;margin:0 0 4px;max-width:none}.kid .finish-mark{color:var(--success);background:var(--success-bg);border-radius:50%;padding:6px}.mat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:10px 18px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:560px}.kid .choices{display:flex;flex-direction:column;gap:var(--gap);width:100%;max-width:560px}.kid .choices .btn{width:100%;font-size:22px;min-height:calc(var(--tap) + 8px);text-align:left;justify-content:flex-start;line-height:1.27}.kid .choices .btn.picked{background:var(--action-soft);border:2px solid var(--action);padding:7px 15px}.kid .buckets{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);width:100%;max-width:560px}.kid .buckets .btn{font-size:22px;min-height:calc(var(--tap) * 1.5)}.kid .big-word{font-size:40px;font-weight:650;line-height:1.2}.kid .typed{font-size:32px;font-weight:650;min-height:56px;min-width:240px;padding:4px 16px;line-height:1.2;background:var(--surface);border:1px solid var(--control-border);border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:2px}.kid .typed .cursor{color:var(--ink-2);font-size:22px;font-weight:400}.kid .typed.has{border:2px solid var(--action);padding:3px 15px}.kid .typed.has .cursor{color:var(--action);font-weight:400;font-size:32px}.kid .reveal{margin-top:8px;font-size:22px;background:transparent;border-color:transparent;color:var(--ink-2);font-weight:500}.kid .reveal .ico{color:var(--ink-2);--icon-soft: var(--surface-2)}.keypad{display:grid;grid-template-columns:repeat(3,var(--key-w, 64px));gap:var(--gap)}.keypad .btn,.keys .btn{padding:0;min-width:var(--tap);width:var(--key-w, 64px);height:var(--tap);min-height:var(--tap);font-size:26px;font-weight:600;border-radius:var(--r-key);border-color:var(--control-border)}.keypad .btn.check,.keys .btn.check{background:var(--action);border-color:var(--action);color:#fff}.keypad .btn.check:disabled,.keys .btn.check:disabled{background:var(--disabled);border-color:var(--disabled);color:var(--ink-2)}.keypad .btn.quiet,.keys .btn.quiet{background:var(--surface-2);border-color:var(--control-border)}.keys{display:grid;grid-template-columns:repeat(5,var(--tap));justify-content:center;gap:var(--gap)}.keys .btn{width:var(--tap);font-size:24px}.keys .btn.vowel{background:var(--surface)}.keys .btn.wide{grid-column:span 2;width:auto}@media(min-width:600px){.keypad{--key-w: 80px}}.stack{display:inline-grid;gap:2px 8px;font-variant-numeric:tabular-nums;font-weight:650}.stack .cell{width:var(--tap);height:var(--tap);display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:36px;position:relative;padding:0;font-family:inherit}.stack .cell.op{width:28px;color:var(--ink-2)}.stack .cell.op.above{border:0}.stack .cell.top{border:1px solid transparent;background:transparent;color:var(--ink)}.stack .cell.top.tappable{border-color:var(--control-border);background:var(--surface);cursor:pointer}.stack .cell.top.tappable:active{background:var(--surface-2)}.stack .cell.top.crossed:after{content:"";position:absolute;left:6px;right:6px;top:50%;height:3px;background:var(--retry);transform:rotate(-35deg);border-radius:2px;opacity:.9}.stack .cell.top.crossed{color:var(--ink-2)}.stack .cell.top.hl{background:var(--hl);border-color:var(--star)}.stack .cell.above{height:28px;font-size:22px;color:var(--action);border:1px dashed var(--border);border-radius:8px;background:transparent}.stack .cell.above.focus{border:2px solid var(--action);background:var(--surface)}.stack .cell.ans{border:1px solid var(--control-border);background:var(--surface);color:var(--ink)}.stack .cell.ans:disabled{opacity:1}.stack .cell.ans.focus{border:2px solid var(--action);background:var(--action-soft)}.stack .cell.ans.wrongd{border-color:var(--retry);background:var(--retry-bg);cursor:pointer}.stack .cell.ans.tappable{cursor:pointer}.stack .rule{grid-column:1 / -1;height:3px;background:var(--ink);border-radius:2px;margin:2px 0}.stack.small .cell{width:40px;height:40px;min-height:40px;font-size:24px}.stack.small .cell.above{height:26px;font-size:22px;border:0}.stack.small .cell.op{width:24px}.stack.small .cell.top{background:transparent;border:0}.facts{font-size:44px;font-weight:650;letter-spacing:.02em;font-variant-numeric:tabular-nums}.facts .ansbox{display:inline-block;min-width:1.6em;border-bottom:3px solid var(--action);text-align:center;line-height:1.1;vertical-align:baseline}.kid .plus{font-size:32px;font-weight:500;color:var(--ink-2);margin:0 6px}.card-flip{position:relative}.card-flip .side{position:absolute;top:10px;left:14px;font-size:22px;color:var(--ink-2);font-weight:500}.search-wrap{position:relative}.search-wrap .clear{position:absolute;right:4px;top:0;height:var(--tap);border-color:transparent}.match .defs .btn>span{display:inline}.card-flip{width:min(90vw,420px);min-height:160px;background:var(--surface);border:2px solid var(--action);border-radius:16px;padding:44px 16px 16px;cursor:pointer;display:flex;align-items:center;justify-content:center;text-align:center;font:inherit}.card-flip:active{background:var(--action-soft)}.card-flip .def{font-size:22px;font-weight:400;line-height:1.3}.match{display:flex;flex-direction:column;gap:var(--gap);width:100%;max-width:560px}.match .words{display:flex;flex-wrap:wrap;gap:var(--gap);justify-content:center}.match .words .btn{font-size:22px}.match .words .btn.picked{background:var(--action);border-color:var(--action);color:#fff}.match .words .btn.paired{background:var(--surface);color:var(--action);border-style:dashed}.match .defs{display:flex;flex-direction:column;gap:var(--gap)}.match .defs .btn{font-size:22px;min-height:calc(var(--tap) + 8px);text-align:left;justify-content:flex-start;white-space:normal;line-height:1.27}.match .btn:disabled{background:var(--surface);border-color:var(--border);color:var(--ink)}.match .btn.paired{border-style:dashed}.match .btn.done,.match .btn.done:disabled{background:var(--success-bg);border-color:var(--success);color:var(--success)}.match .btn.shake{animation:shake .3s}.match .tag{font-weight:600;color:var(--action)}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.results{max-width:560px;width:100%;text-align:left;font-size:22px}.results .miss{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin-bottom:8px;line-height:1.3}.worked{text-align:left;font-size:22px;max-width:560px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:10px 14px;line-height:1.3}.worked ol{margin:6px 0 0;padding-left:22px}.timer{font-size:48px;font-weight:650;font-variant-numeric:tabular-nums}.speak{font-size:24px}.kid .stage>.speak{margin-top:8px}@media(min-height:800px)and (orientation:portrait){.kid .kbar{order:-2}.kid>.progressrow{order:-1}.kid:before,.kid:after{content:"";flex:1 1 0}.kid .stage{flex:0 1 auto}.kid .input{padding-top:24px}.kid .big-word{font-size:52px}.mat{padding:20px 32px 22px}}@media(max-height:600px){.kid .kbar{min-height:var(--tap);padding:0 6px}.kid .stage{gap:2px;padding:0 8px}.kid .prompt.story{line-height:1.12}.mat{padding:4px 12px 6px;gap:2px}.stack{gap:0 8px}.stack .cell.above{height:22px;font-size:22px}.stack .rule{margin:0;height:2px}.kid .input{padding:8px 8px 4px}.kid .typed{min-height:48px;font-size:30px}.keypad{--key-w: 60px}.kid .speak{min-height:var(--tap);padding:6px 14px}.kid .cue{font-size:22px;padding:2px 12px}.progressrow{padding:0 10px 2px;gap:8px}.progressbar{height:6px}.progressrow .stars{display:none}.timer{font-size:36px}.kid .input .feedback{padding:6px 12px;line-height:1.25}.kid .input .btn.big{min-height:var(--tap);font-size:22px;padding:6px 18px}}@media(orientation:landscape)and (max-height:500px){.kid{flex-direction:row;flex-wrap:wrap;align-content:flex-start}.kid .kbar{flex:0 0 100%;min-height:var(--tap);padding:2px 6px}.kid>.progressrow{flex:0 0 100%}.kid .stage{flex:1 1 0;height:calc(100% - var(--tap) - 24px);padding:0 8px}.kid .input{flex:0 0 auto;max-width:66%;height:calc(100% - var(--tap) - 24px);overflow:auto;justify-content:flex-start;padding:0 8px 0 12px}.kid .input>*{margin-top:auto;margin-bottom:auto}.kid .stage{padding-right:12px}.kid .keys{grid-template-columns:repeat(7,var(--tap))}.kid:has(.keys)>.progressrow{display:none}.kid:has(.keys) .stage{flex:0 0 100%;height:auto;padding:8px 8px 0;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px}.kid:has(.keys) .stage .prompt,.kid:has(.keys) .stage .cue{margin:0}.kid:has(.keys) .stage .speak,.kid:has(.keys) .stage .reveal{margin:0;min-height:var(--tap);padding:4px 14px}.kid:has(.keys) .input{flex:0 0 100%;max-width:none;height:auto;overflow:visible;padding:8px 8px 2px}.kid:has(.keys) .keys{grid-template-columns:repeat(10,var(--tap))}.kid:has(.keys) .typed{min-height:44px;font-size:26px;min-width:120px}.kid:has(.keys) .stage .speak{font-size:22px;padding:4px 10px}.kid:has(.keys) .stage .reveal{font-size:22px;padding:4px 8px;min-width:var(--tap)}.kid:has(.keys) .stage .reveal .lbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.kid:has(.keys) .input .feedback{padding:4px 10px}.kid .choices,.kid .buckets{max-width:none;width:auto;min-width:280px}.kid .stack .cell.above{height:22px}}@media(orientation:landscape)and (min-height:500px)and (min-width:900px){.kid{flex-direction:row;flex-wrap:wrap;align-content:center;justify-content:center}.kid .kbar{flex:0 0 100%;align-self:flex-start}.kid>.progressrow{flex:0 0 100%;align-self:flex-start}.kid .stage{flex:0 1 auto;max-width:560px;padding:0 16px}.kid .input{flex:0 0 auto;padding:0 16px;margin-left:32px}.kid:after{content:"";flex:0 0 100%;height:25%}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.fridge{max-width:7.5in;margin:0 auto;padding:.3in;font-size:18px;line-height:1.4}.fridge .sheet{background:#fff;color:#000}.fridge h1{font-size:22px;margin-bottom:6px}.fridge h2{font-size:19px;margin:12px 0 6px;border-bottom:1px solid #000}.fridge .days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.fridge .days>div{min-width:0;overflow-wrap:anywhere}.fridge .days>div{border:1px solid #000;padding:4px;min-height:52px;font-size:18px}@media screen and (max-width:600px){.fridge .days{grid-template-columns:1fr}.fridge .days>div{min-height:0;display:flex;gap:8px;flex-wrap:wrap}}.fridge .grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.fridge ul{padding-left:18px;margin:2px 0 6px}.fridge li{margin:0}.fridge .noprint{margin-bottom:10px}@media(max-width:599px){.fridge .grid2{grid-template-columns:1fr}}@media print{body{background:#fff}.noprint{display:none!important}.page{padding:0;max-width:none}.fridge{padding:0;max-width:none;font-size:12px;line-height:1.3}.fridge h1{font-size:20px}.fridge h2{font-size:14px;margin:8px 0 4px}.fridge .days div{font-size:11px}.fridge .grid2{grid-template-columns:1fr 1fr}@page{size:letter;margin:.5in}}:root{--grp-closed: #d3455b;--grp-school: #2b4bc8;--grp-lower: #12a594;--grp-older: #6b7a90;--grp-sports: #c7791a;--chip-closed: #fde4e8;--chip-closed-ink: #8f1d31;--chip-school: #e3e9ff;--chip-school-ink: #233b9c;--chip-lower: #dff5f1;--chip-lower-ink: #0b5e52;--chip-older: #e6eaf0;--chip-older-ink: #3b4756;--chip-sports: #fdebd3;--chip-sports-ink: #7a4306}[data-theme=dark]{--grp-closed: #ff8aa0;--grp-school: #8fa3ff;--grp-lower: #4fd1bf;--grp-older: #aab6c6;--grp-sports: #f0b25a;--chip-closed: #4a1f27;--chip-closed-ink: #ffb3c0;--chip-school: #1f2a4d;--chip-school-ink: #b9c6ff;--chip-lower: #123a35;--chip-lower-ink: #9fe6d9;--chip-older: #2a313b;--chip-older-ink: #c4ccd8;--chip-sports: #45301a;--chip-sports-ink: #ffd39a}.filters{display:flex;flex-wrap:wrap;gap:var(--gap);margin:0 0 16px}.chip{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap);padding:0 16px 0 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--ink-2);font:inherit;font-size:18px;font-weight:600;cursor:pointer}.chip .dot{width:12px;height:12px;border-radius:50%;background:var(--control-border);flex:0 0 auto}.chip.on{color:var(--ink);border-color:transparent;background:var(--action-soft)}.chip.on .dot{background:var(--mark)}.chip.class{--mark: var(--action)}.chip.closed{--mark: var(--grp-closed)}.chip.closed.on{background:var(--chip-closed);color:var(--chip-closed-ink)}.chip.school{--mark: var(--grp-school)}.chip.school.on{background:var(--chip-school);color:var(--chip-school-ink)}.chip.lower{--mark: var(--grp-lower)}.chip.lower.on{background:var(--chip-lower);color:var(--chip-lower-ink)}.chip.older{--mark: var(--grp-older)}.chip.older.on{background:var(--chip-older);color:var(--chip-older-ink)}.chip.sports{--mark: var(--grp-sports)}.chip.sports.on{background:var(--chip-sports);color:var(--chip-sports-ink)}.month-card{padding:12px}.mhead,.mrow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.mrow{margin-top:4px}.mhead span{text-align:center;font-size:18px;font-weight:600;color:var(--ink-2);padding:2px 0}.mcell{display:flex;flex-direction:column;align-items:center;gap:3px;min-height:52px;padding:6px 0 4px;border-radius:12px;background:var(--surface-2)}.mcell.out{opacity:.3;background:transparent}.mcell.past{opacity:.55}.mcell.today{background:var(--action);color:#fff;opacity:1}[data-theme=dark] .mcell.today{color:#0f1422}.mcell .num{font-size:18px;font-weight:700;line-height:1.1}.mcell .dots{display:flex;gap:3px;min-height:8px}.mcell .dots i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--control-border)}.mcell .dots i.test,.mcell .dots i.quiz{background:#ff8a5b}.mcell .dots i.event,.mcell .dots i.trip{background:#1e8a6e}.mcell .dots i.uniform{background:#7047a3}.mcell .dots i.due,.mcell .dots i.deadline{background:#e3a008}.mcell .dots i.holiday,.mcell .dots i.closed{background:var(--grp-closed)}.mcell .dots i.school{background:var(--grp-school)}.mcell .dots i.lower{background:var(--grp-lower)}.mcell .dots i.older{background:var(--grp-older)}.mcell .dots i.sports{background:var(--grp-sports)}.mcell.today .dots i{outline:2px solid #fff}.evt.closed .kind,.evt.holiday .kind{background:var(--chip-closed);color:var(--chip-closed-ink)}.evt.school .kind{background:var(--chip-school);color:var(--chip-school-ink)}.evt.lower .kind{background:var(--chip-lower);color:var(--chip-lower-ink)}.evt.older .kind{background:var(--chip-older);color:var(--chip-older-ink)}.evt.sports .kind{background:var(--chip-sports);color:var(--chip-sports-ink)}.dayblock.past{opacity:.65}.dayhead .today-tag{display:inline-block;margin-left:10px;padding:1px 10px;border-radius:999px;background:var(--action);color:#fff;font-size:18px;font-weight:650}[data-theme=dark] .dayhead .today-tag{color:#0f1422}.glance summary{display:flex;align-items:center;min-height:var(--tap);font-size:19px;font-weight:650;cursor:pointer;list-style:none}.glance summary::-webkit-details-marker{display:none}.glance summary:after{content:"";margin-left:auto;width:10px;height:10px;border-right:2px solid var(--ink-2);border-bottom:2px solid var(--ink-2);transform:rotate(45deg);transition:transform .15s}.glance[open] summary:after{transform:rotate(-135deg)}.glance-list{list-style:none;margin:8px 0 0;padding:0}.glance-list li{display:grid;grid-template-columns:8.5em 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--border);line-height:1.35}.glance-list .when{color:var(--ink-2);font-weight:650}.glance.earlier .dayblock{box-shadow:none;border:0;padding:0;margin:8px 0 0}.glance.earlier .dayblock .dayhead{padding-top:12px;border-top:1px solid var(--border)}.glance-list li.closed .when{color:var(--chip-closed-ink)}.band-row+.switch{margin-top:10px}.glance-list li>span{min-width:0;overflow-wrap:anywhere}@media(max-width:379px){.glance-list li{grid-template-columns:1fr;gap:2px}}.lede{font-size:19px;color:var(--ink-2);margin:4px 4px 12px;line-height:1.45}.weekline{display:grid;gap:4px;margin-top:10px;min-height:var(--tap);padding:10px 14px 12px;border-radius:14px;background:#ffffff1f;color:var(--band-ink);text-decoration:none;font-size:18px;line-height:1.3}.weekline .lead{color:var(--band-sub);font-weight:600;margin-bottom:2px}.weekline .wl-row{display:grid;grid-template-columns:minmax(5.2em,auto) 1fr;gap:10px;align-items:baseline}.weekline .wl-row b{font-weight:700}.weekline .wl-row.more span{color:var(--band-sub)}[data-theme=dark] .weekline{background:#ffffff14}@media(max-height:640px){.weekline .wl-row.read,.weekline .wl-row.ahead+.wl-row.ahead{display:none}}
