:root[data-theme=dark]{color-scheme:dark;--bg-sky-top: #221c18;--bg-sky-mid: #2e2620;--bg-sky-bottom: #3a3028;--card: rgba(38, 32, 28, .9);--card-solid: #2a2420;--text: #f5ebe6;--muted: #c9b8a8;--header-1: #3d332b;--header-2: #52463c;--header-text: #fff9f2;--header-muted: rgba(255, 248, 240, .85);--primary: #fb923c;--primary-dark: #ea580c;--primaryText: #1a0f08;--secondary-soft: #3a322c;--secondary-mid: #443832;--secondary-text: #fde8d4;--secondary-border: #ea8c3a;--focus-ring: #fbbf24;--border: rgba(210, 190, 170, .22);--shadow: 0 10px 32px rgba(0, 0, 0, .45);--accent: #f0c090;--nav-school-accent: rgba(255, 200, 130, .95);--nav-learning-accent: rgba(255, 205, 150, .95);--footer-text: #e8ddd4;--footer-border-top: rgba(200, 180, 160, .22);--footer-shadow-1: rgba(40, 32, 28, .9);--footer-shadow-2: rgba(0, 0, 0, .35);--tone-ink-strong: #f8f0e8;--tone-ink-heading: #faf6f0;--tone-ink-pill: #f5ebe4;--tone-ink-muted: #d8cdc3;--tone-ink-card-sub: #efe6dd;--halo-paper: rgba(35, 28, 24, .85);--halo-paper-soft: rgba(40, 32, 28, .75);--halo-paper-softer: rgba(45, 36, 30, .8);--halo-white-strong: rgba(25, 20, 17, .75);--halo-white-mid: rgba(30, 24, 20, .7);--halo-white-soft: rgba(35, 28, 24, .65);--halo-white-faint: rgba(40, 32, 28, .55);--halo-white-tiny: rgba(50, 42, 36, .5);--border-card-strong: rgba(200, 180, 160, .35);--border-card: rgba(190, 170, 150, .28);--card-inset-highlight: rgba(255, 255, 255, .08);--border-card-soft: rgba(180, 160, 140, .25);--border-card-faint: rgba(170, 150, 130, .2);--border-pill: rgba(200, 185, 170, .35);--border-welcome: rgba(190, 170, 150, .3);--border-welcome-learn: rgba(180, 165, 150, .28);--border-welcome-school: rgba(220, 170, 120, .38);--header-glass: rgba(255, 255, 255, .1);--header-glass-hover: rgba(255, 255, 255, .18);--header-frost-border: rgba(255, 255, 255, .32);--header-edge: rgba(255, 255, 255, .08);--header-divider: rgba(255, 255, 255, .18);--header-ghost-hover-fg: #fde9c4;--header-account-active-bg: rgba(255, 255, 255, .16);--header-account-active-border: rgba(255, 255, 255, .42);--header-account-active-inset: rgba(255, 255, 255, .12);--nav-panel-bg: rgba(28, 22, 18, .98);--nav-panel-border: rgba(255, 255, 255, .12);--nav-panel-shadow: rgba(0, 0, 0, .5);--nav-panel-item-fg: #fff8ee;--surface-explain: rgba(50, 42, 36, .55);--surface-explain-card: rgba(42, 36, 32, .92);--surface-explain-inset: rgba(255, 255, 255, .06);--shadow-explain-inset: rgba(0, 0, 0, .25);--btn-secondary-top: rgba(70, 58, 50, .55);--btn-secondary-bottom: rgba(55, 46, 40, .6);--btn-secondary-inset: rgba(255, 255, 255, .08);--btn-nav-bg: rgba(60, 50, 44, .75);--btn-nav-hover-bg: rgba(72, 60, 52, .88);--pill-surface: rgba(55, 46, 40, .45);--pill-inset: rgba(255, 255, 255, .1);--welcome-tile-grad: linear-gradient(165deg, rgba(58, 48, 42, .85) 0%, rgba(48, 40, 34, .72) 100%);--welcome-tile-learn-grad: linear-gradient(165deg, rgba(55, 46, 40, .9) 0%, rgba(45, 38, 32, .75) 100%);--welcome-tile-shade: rgba(0, 0, 0, .25);--welcome-tile-inset-line: rgba(255, 255, 255, .08);--welcome-tile-shade-hover: rgba(0, 0, 0, .35);--welcome-tile-inset-hover: rgba(255, 255, 255, .12);--welcome-tile-hover-border: rgba(220, 180, 130, .45);--welcome-learn-hover-border: rgba(210, 170, 125, .42);--choice-bg: rgba(55, 46, 40, .45);--choice-selected-a: rgba(70, 55, 45, .65);--choice-selected-b: rgba(60, 48, 40, .7);--hint-fill: rgba(55, 46, 40, .55);--field-fill: rgba(48, 40, 36, .92);--stored-row-bg: rgba(52, 44, 38, .55);--material-card-bg: rgba(52, 44, 38, .5);--homework-row-bg: rgba(50, 42, 38, .45);--help-drawer-bg: rgba(42, 36, 32, .96);--ghost-hover-fill: rgba(255, 255, 255, .08);--body-scrim-top: rgba(40, 32, 28, .35);--kbd-fill: #3a3028;--input-focus-border: #f59e0b}:root[data-palette=calm]{--bg-sky-top: #e8f1fc;--bg-sky-mid: #cfe4fa;--bg-sky-bottom: #b7d5f0;--card: rgba(252, 253, 255, .68);--card-solid: #f8fafc;--text: #1e293b;--muted: #475569;--header-1: #334155;--header-2: #475569;--header-text: #f8fafc;--header-muted: rgba(248, 250, 252, .88);--primary: #0d9488;--primary-dark: #0f766e;--primaryText: #f8fafc;--secondary-soft: #ecfdf5;--secondary-mid: #ccfbf1;--secondary-border: #14b8a6;--secondary-text: #115e59;--focus-ring: #2dd4bf;--border: rgba(100, 116, 139, .35);--shadow: 0 8px 24px rgba(15, 23, 42, .1);--accent: #0e7490;--nav-school-accent: rgba(125, 211, 252, .95);--nav-learning-accent: rgba(153, 246, 228, .95);--footer-text: #1e293b;--footer-border-top: rgba(100, 116, 139, .28);--footer-shadow-1: rgba(255, 255, 255, .95);--footer-shadow-2: rgba(248, 250, 252, .9);--tone-ink-strong: #0f172a;--tone-ink-heading: #1e293b;--tone-ink-pill: #1e293b;--tone-ink-muted: #334155;--tone-ink-card-sub: #1e293b;--border-card-strong: rgba(100, 116, 139, .4);--border-card: rgba(100, 116, 139, .32);--border-card-soft: rgba(100, 116, 139, .26);--border-card-faint: rgba(100, 116, 139, .2);--border-pill: rgba(100, 116, 139, .38);--border-welcome: rgba(100, 116, 139, .3);--border-welcome-learn: rgba(100, 116, 139, .28);--border-welcome-school: rgba(45, 212, 191, .45);--welcome-tile-grad: linear-gradient(165deg, rgba(248, 250, 252, .92) 0%, rgba(224, 242, 254, .55) 100%);--welcome-tile-learn-grad: linear-gradient(165deg, rgba(240, 253, 250, .9) 0%, rgba(204, 251, 241, .5) 100%);--welcome-tile-shade: rgba(15, 23, 42, .06);--welcome-tile-shade-hover: rgba(15, 23, 42, .1);--btn-nav-bg: rgba(248, 250, 252, .88);--btn-nav-hover-bg: rgba(255, 255, 255, .95);--btn-nav-edge: rgba(100, 116, 139, .38);--btn-nav-foot: rgba(15, 23, 42, .08);--link-visited-material: #0f766e}:root[data-theme=dark][data-palette=calm]{--header-1: #1e293b;--header-2: #334155;--primary: #2dd4bf;--primary-dark: #14b8a6;--accent: #5eead4}:root[data-theme=dark] .authLandingTopPrimary .btn.btnGhost.authLandingTopBtn{background:#302824eb;color:var(--tone-ink-heading);border-color:var(--border-card-soft)}:root[data-theme=dark] .authLandingTopPrimary .btn.btnGhost.authLandingTopBtn:hover{background:#3a302afa;color:#faf6f0;border-color:var(--border-card)}:root{color-scheme:light;--bg-sky-top: #fff4e0;--bg-sky-mid: #ffd9a3;--bg-sky-bottom: #f0c995;--card: rgba(255, 253, 248, .55);--card-solid: #fffdf8;--text: #3e2723;--muted: #6d4c41;--header-1: #4a3728;--header-2: #6b4f3a;--header-text: #fffbeb;--header-muted: rgba(255, 251, 235, .82);--primary: #ea580c;--primary-dark: #c2410c;--primaryText: #ffffff;--secondary-soft: #fff7ed;--secondary-mid: #ffedd5;--secondary-border: #d97706;--secondary-text: #7c2d12;--focus-ring: #f59e0b;--danger: #b91c1c;--ok: #15803d;--border: rgba(180, 140, 100, .35);--shadow: 0 6px 20px rgba(62, 39, 35, .09);--radius: 14px;--gap: 14px;--font-body: "Nunito", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--font-heading: "Almendra", ui-serif, Georgia, "Times New Roman", serif;--font: var(--font-body);--savanna-hero: url(../savanna-hero.png);--card-prose-max-width: none;--nav-school-accent: rgba(255, 200, 130, .95);--nav-learning-accent: rgba(255, 205, 150, .95);--accent: #7a4a28;--text-prose: 17px;--text-prose-line: 1.55;--text-ui: 14px;--text-label: 13px;--text-btn: 16px;--hero-image: var(--savanna-hero);--body-scrim-top: rgba(255, 236, 210, .26);--footer-text: #3a241c;--footer-border-top: rgba(120, 80, 55, .18);--footer-shadow-1: rgba(255, 252, 245, 1);--footer-shadow-2: rgba(255, 255, 255, .88);--tone-ink-strong: #27150f;--tone-ink-heading: #2a1810;--tone-ink-pill: #2d1810;--tone-ink-muted: #3a241c;--tone-ink-card-sub: #24150f;--shadow-umbra: rgba(62, 39, 35, .09);--shadow-card: rgba(62, 39, 35, .08);--shadow-lift: rgba(62, 39, 35, .12);--shadow-raster-deep: rgba(18, 10, 6, .38);--border-card-strong: rgba(120, 80, 55, .35);--border-card: rgba(120, 80, 55, .32);--card-inset-highlight: rgba(255, 255, 255, .35);--border-card-soft: rgba(120, 80, 55, .28);--border-card-faint: rgba(120, 80, 55, .22);--border-pill: rgba(120, 80, 55, .38);--border-welcome: rgba(120, 80, 55, .28);--border-welcome-learn: rgba(130, 90, 55, .32);--border-welcome-school: rgba(200, 120, 50, .35);--halo-paper: rgba(255, 252, 245, 1);--halo-paper-soft: rgba(255, 252, 245, .95);--halo-paper-softer: rgba(255, 252, 245, .98);--halo-white-strong: rgba(255, 255, 255, .92);--halo-white-mid: rgba(255, 255, 255, .9);--halo-white-soft: rgba(255, 255, 255, .85);--halo-white-faint: rgba(255, 255, 255, .75);--halo-white-tiny: rgba(255, 255, 255, .65);--header-glass: rgba(255, 255, 255, .12);--header-glass-hover: rgba(255, 255, 255, .2);--header-frost-border: rgba(255, 255, 255, .38);--header-edge: rgba(255, 255, 255, .1);--header-divider: rgba(255, 255, 255, .22);--header-ghost-hover-fg: #f4e4bc;--header-account-active-bg: rgba(255, 255, 255, .28);--header-account-active-border: rgba(255, 255, 255, .55);--header-account-active-inset: rgba(255, 255, 255, .2);--header-logout-hover: #fff;--gold-home-bg: rgba(255, 215, 0, .12);--gold-home-fg: #ffd700;--gold-home-border: rgba(255, 215, 0, .88);--gold-home-glow: rgba(255, 215, 0, .45);--gold-home-outer: rgba(255, 215, 0, .42);--gold-home-inset: rgba(255, 215, 0, .22);--gold-home-hover-bg: rgba(255, 215, 0, .18);--gold-home-hover-fg: #ffe566;--gold-home-active-outer: rgba(255, 215, 0, .55);--gold-home-active-inset: rgba(255, 215, 0, .35);--gold-home-active-border: rgba(255, 230, 120, .95);--nav-caret: rgba(255, 251, 235, .85);--nav-panel-bg: rgba(40, 28, 20, .96);--nav-panel-border: rgba(255, 255, 255, .14);--nav-panel-shadow: rgba(30, 18, 12, .35);--nav-panel-item-fg: #fff8ee;--nav-panel-item-hover: rgba(255, 255, 255, .1);--nav-sum-school-a: rgba(255, 200, 130, .22);--nav-sum-school-b: rgba(255, 180, 90, .14);--nav-sum-school-hover-a: rgba(255, 200, 130, .32);--nav-sum-school-hover-b: rgba(255, 180, 90, .22);--nav-sum-learn-a: rgba(255, 210, 165, .22);--nav-sum-learn-b: rgba(210, 165, 120, .16);--nav-sum-learn-hover-a: rgba(255, 220, 180, .32);--nav-sum-learn-hover-b: rgba(220, 175, 125, .24);--nav-sum-active-bg: rgba(255, 255, 255, .22);--nav-sum-active-border: rgba(255, 255, 255, .55);--nav-sum-active-inset: rgba(255, 255, 255, .18);--surface-explain: rgba(255, 253, 248, .42);--surface-explain-card: rgba(255, 253, 248, .94);--surface-explain-inset: rgba(255, 255, 255, .75);--shadow-explain-inset: rgba(62, 39, 35, .06);--btn-foot-shadow: rgba(62, 39, 35, .15);--btn-secondary-top: rgba(255, 247, 237, .4);--btn-secondary-bottom: rgba(255, 237, 213, .44);--btn-secondary-edge: rgba(234, 88, 12, .55);--btn-secondary-inset: rgba(255, 255, 255, .35);--btn-nav-bg: rgba(255, 253, 248, .72);--btn-nav-hover-bg: rgba(255, 253, 248, .86);--btn-nav-foot: rgba(62, 39, 35, .1);--btn-nav-edge: rgba(120, 80, 55, .42);--btn-pill-active-edge: rgba(194, 65, 12, .85);--btn-pill-active-foot: rgba(62, 39, 35, .12);--pill-surface: rgba(255, 253, 248, .2);--pill-inset: rgba(255, 255, 255, .45);--welcome-tile-grad: linear-gradient(165deg, rgba(255, 253, 248, .72) 0%, rgba(255, 248, 235, .45) 100%);--welcome-tile-learn-grad: linear-gradient(165deg, rgba(255, 250, 242, .82) 0%, rgba(245, 228, 210, .52) 100%);--welcome-tile-hover-border: rgba(180, 100, 55, .42);--welcome-learn-hover-border: rgba(140, 95, 58, .48);--welcome-tile-shade: rgba(62, 39, 35, .08);--welcome-tile-inset-line: rgba(255, 255, 255, .5);--welcome-tile-shade-hover: rgba(62, 39, 35, .12);--welcome-tile-inset-hover: rgba(255, 255, 255, .65);--input-focus-border: #d97706;--kbd-fill: #ffedd5;--hint-edge: rgba(217, 119, 6, .4);--hint-fill: rgba(255, 247, 237, .82);--link-visited-material: #c2410c;--danger-edge: rgba(127, 29, 29, .6);--help-scrim: rgba(30, 20, 15, .35);--choice-bg: rgba(255, 253, 248, .22);--choice-selected-a: rgba(255, 247, 237, .48);--choice-selected-b: rgba(255, 237, 213, .52);--choice-selected-ring: rgba(217, 119, 6, .3);--field-fill: rgba(255, 253, 248, .85);--stored-row-bg: rgba(255, 253, 248, .22);--material-card-bg: rgba(255, 253, 248, .4);--homework-row-bg: rgba(255, 253, 248, .35);--help-drawer-bg: rgba(255, 253, 248, .94);--raster-tile-base: #14100c;--raster-tile-learn: #1a1410;--raster-tile-fg: #fff8f0;--raster-tile-border: rgba(55, 38, 28, .65);--raster-tile-border-school: rgba(140, 95, 55, .55);--raster-tile-border-learn: rgba(120, 85, 58, .52);--raster-tile-hover-border: rgba(200, 160, 110, .55);--raster-learn-hover-border: rgba(200, 155, 105, .55);--raster-label-shade: rgba(10, 7, 5, .45);--raster-label-deep: rgba(10, 7, 5, .88);--raster-caption-shadow-a: rgba(0, 0, 0, .95);--raster-caption-shadow-b: rgba(0, 0, 0, .65);--raster-inset-line: rgba(255, 255, 255, .06);--raster-inset-hover: rgba(255, 255, 255, .09);--ghost-hover-fill: rgba(62, 39, 35, .06)}*,*:before,*:after{box-sizing:border-box}html{height:100%;background:var(--bg-sky-bottom)}body{margin:0;min-height:100%;font-family:var(--font-body);color:var(--text);background:transparent}.title,.header .title,.pageTitle,.welcomeCard .welcomeGreeting,.welcomeCard .welcomeSectionHeading,.authLandingTitle,.subjectFilterLabel,.navDropdownSummary,.navDropdownItem,.headerNavMain>.btn.btnGhost,.headerNavAccount>.btn.btnGhost,.headerLogout,.authKidHello{font-family:var(--font-heading)}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--body-scrim-top) 0%,transparent 36%,transparent 100%)}body:after{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;background:var(--hero-image) center / cover no-repeat;background-attachment:fixed}.container{position:relative;z-index:0;max-width:980px;margin:0 auto;padding:18px}.appFooter{margin-top:28px;padding-top:12px;text-align:center;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--footer-text);text-shadow:0 0 12px var(--footer-shadow-1),0 1px 2px var(--footer-shadow-2);border-top:1px solid var(--footer-border-top)}.appFooter .appVersion{opacity:.92}.header{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:16px;padding:14px 16px;border-radius:var(--radius);background:linear-gradient(135deg,var(--header-1) 0%,var(--header-2) 100%);color:var(--header-text);border:1px solid var(--header-edge);box-shadow:var(--shadow)}.header .title{color:var(--header-text)}.header .sub{color:var(--header-muted)}.header .btnGhost{background:var(--header-glass);color:var(--header-text);border-color:var(--header-frost-border)}.header .btnGhost:hover{background:var(--header-glass-hover)}.headerNavMain>.btn.btnGhost{transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,text-shadow .25s ease}.headerNavMain>.btn.btnGhost:hover:not(.btnNavHome):not(.btnNavAccount.btnNavActive){color:var(--header-ghost-hover-fg)}.header .btnGhost.btnNavHome{background-color:var(--gold-home-bg);color:var(--gold-home-fg);border-color:var(--gold-home-border);font-weight:800;text-shadow:0 0 8px var(--gold-home-glow);box-shadow:0 0 16px var(--gold-home-outer),0 0 0 1px var(--gold-home-inset) inset}.header .btnGhost.btnNavHome:hover{background-color:var(--gold-home-hover-bg);color:var(--gold-home-hover-fg)}.header .btnGhost.btnNavHome.btnNavActive{box-shadow:0 0 22px var(--gold-home-active-outer),0 0 0 1px var(--gold-home-active-inset) inset;border-color:var(--gold-home-active-border)}.headerBrand{flex:1 1 200px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}.headerNav{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:12px;flex:2 1 280px}.headerNavMain{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.headerNavMain>.btn{font-size:var(--text-ui);padding:10px 12px}.headerNavAccount{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-left:10px;margin-left:4px;border-left:1px solid var(--header-divider)}.header .btnGhost.btnNavAccount.btnNavActive{background:var(--header-account-active-bg);border-color:var(--header-account-active-border);box-shadow:0 0 0 1px var(--header-account-active-inset) inset}.navDropdown{position:relative}.navDropdown>summary{list-style:none}.navDropdown>summary::-webkit-details-marker{display:none}.navDropdownSummary{appearance:none;display:inline-flex;align-items:center;gap:6px;margin:0;padding:10px 12px;border-radius:12px;font-family:var(--font-heading);font-size:var(--text-ui);font-weight:700;cursor:pointer;border:1px solid var(--header-frost-border);color:var(--header-text);transition:background .15s ease,border-color .15s ease}.navDropdownSummary:after{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--nav-caret);margin-top:2px}.navDropdown[open]>.navDropdownSummary:after{transform:rotate(180deg)}.navDropdownSummary--school{background:linear-gradient(180deg,var(--nav-sum-school-a) 0%,var(--nav-sum-school-b) 100%)}.navDropdownSummary--school:hover{background:linear-gradient(180deg,var(--nav-sum-school-hover-a) 0%,var(--nav-sum-school-hover-b) 100%)}.navDropdownSummary--learning{background:linear-gradient(180deg,var(--nav-sum-learn-a) 0%,var(--nav-sum-learn-b) 100%)}.navDropdownSummary--learning:hover{background:linear-gradient(180deg,var(--nav-sum-learn-hover-a) 0%,var(--nav-sum-learn-hover-b) 100%)}.navDropdownSummary--routeActive{background:var(--nav-sum-active-bg);border-color:var(--nav-sum-active-border);box-shadow:0 0 0 1px var(--nav-sum-active-inset) inset}.navDropdownPanel{position:absolute;z-index:30;top:calc(100% + 6px);left:0;min-width:188px;padding:8px;border-radius:12px;background:var(--nav-panel-bg);border:1px solid var(--nav-panel-border);box-shadow:0 12px 32px var(--nav-panel-shadow)}.navDropdown--learning .navDropdownPanel{left:auto;right:0}.navDropdownItem{display:block;width:100%;margin:0;padding:10px 12px;text-align:left;font-family:var(--font-heading);font-size:var(--text-ui);font-weight:700;color:var(--nav-panel-item-fg);background:transparent;border:0;border-radius:8px;cursor:pointer}.navDropdownItem:hover{background:var(--nav-panel-item-hover)}.navDropdown--school .navDropdownItem:focus-visible{outline:2px solid var(--nav-school-accent);outline-offset:2px}.navDropdown--learning .navDropdownItem:focus-visible{outline:2px solid var(--nav-learning-accent);outline-offset:2px}.headerLogout{appearance:none;margin:0;padding:0;border:0;background:none;font-family:var(--font-heading);font-size:var(--text-ui);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.headerLogout:hover{color:var(--header-logout-hover)}.headerLogout:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.navActions{justify-content:flex-end;gap:8px}.title{font-size:clamp(1.625rem,1.2rem + 2.4vw,2.35rem);font-weight:800;line-height:1.08;letter-spacing:-.02em}.sub{font-size:var(--text-ui);color:var(--muted)}.modeExplain{display:flex;flex-direction:column;gap:12px;padding:14px 16px;border-radius:var(--radius);background:var(--surface-explain);border:1px solid var(--border)}.modeExplainText{margin:0;font-size:var(--text-ui);line-height:1.55;color:var(--muted)}.card .modeExplain{background:var(--surface-explain-card);border-color:var(--border-card-soft);box-shadow:inset 0 1px 0 var(--surface-explain-inset),0 2px 12px var(--shadow-explain-inset)}.card .modeExplainText{color:var(--tone-ink-heading);font-size:var(--text-prose);font-weight:600;line-height:1.6;letter-spacing:.01em;text-shadow:0 1px 0 var(--halo-white-tiny)}.card{background:var(--card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-card);border-radius:var(--radius);box-shadow:var(--shadow),0 0 0 1px var(--card-inset-highlight) inset;padding:16px}.card.welcomeCard{padding:clamp(20px,4vw,28px)}.welcomeCard .welcomeGreeting{margin:0;font-size:clamp(1.65rem,4.5vw,2.35rem);font-weight:700;letter-spacing:-.02em;color:var(--tone-ink-heading);line-height:1.2;text-shadow:0 0 20px var(--halo-paper),0 2px 6px var(--halo-white-mid)}.card.welcomeCard p.welcomeLead{max-width:var(--card-prose-max-width);margin:0;font-size:var(--text-prose);line-height:var(--text-prose-line)}.welcomeCard .welcomeSectionHeading{display:block;margin:0 0 14px;padding:0;font-family:var(--font-heading);font-size:clamp(1.65rem,4.5vw,2.35rem);font-weight:700;letter-spacing:-.02em;line-height:1.2;text-transform:none;color:var(--tone-ink-heading);text-shadow:0 0 20px var(--halo-paper),0 2px 6px var(--halo-white-mid);border:none}.welcomeShortcutGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:14px}.welcomeNavTile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:112px;padding:16px 12px;border-radius:16px;border:1px solid var(--border-welcome);background:var(--welcome-tile-grad);box-shadow:0 4px 14px var(--welcome-tile-shade),0 0 0 1px var(--welcome-tile-inset-line) inset;color:var(--tone-ink-heading);font-size:var(--text-prose);font-weight:800;letter-spacing:-.01em;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.welcomeNavTile:hover{border-color:var(--welcome-tile-hover-border);box-shadow:0 8px 22px var(--welcome-tile-shade-hover),0 0 0 1px var(--welcome-tile-inset-hover) inset;transform:translateY(-2px)}.welcomeNavTile:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.welcomeNavTile--school{border-color:var(--border-welcome-school)}.welcomeNavTile--learn{border-color:var(--border-welcome-learn);background:var(--welcome-tile-learn-grad)}.welcomeNavTile--learn:hover{border-color:var(--welcome-learn-hover-border)}.welcomeNavTileLabel{display:block}.welcomeTileIcon{flex-shrink:0;opacity:.92}.welcomeNavTile.welcomeNavTile--raster{position:relative;-webkit-appearance:none;appearance:none;justify-content:flex-end;align-items:stretch;gap:0;min-height:180px;padding:0;overflow:hidden;border-radius:16px;border-color:var(--raster-tile-border);background-color:var(--raster-tile-base);background-image:none;box-shadow:0 6px 22px var(--shadow-raster-deep),inset 0 0 0 1px var(--raster-inset-line);color:var(--raster-tile-fg)}.welcomeNavTile.welcomeNavTile--raster.welcomeNavTile--school{border-color:var(--raster-tile-border-school)}.welcomeNavTile.welcomeNavTile--raster.welcomeNavTile--learn{border-color:var(--raster-tile-border-learn);background-color:var(--raster-tile-learn);background-image:none}.welcomeNavTileMedia{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.welcomeNavTileMedia .welcomeTileImg{display:block;width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(1.14);transform-origin:center center;transition:transform .22s ease}.welcomeNavTile--raster:hover .welcomeTileImg{transform:scale(1.22)}.welcomeNavTile.welcomeNavTile--raster:hover{border-color:var(--raster-tile-hover-border);box-shadow:0 10px 30px var(--shadow-raster-deep),inset 0 0 0 1px var(--raster-inset-hover)}.welcomeNavTile.welcomeNavTile--raster.welcomeNavTile--learn:hover{border-color:var(--raster-learn-hover-border)}.welcomeNavTile--raster .welcomeNavTileLabel{position:relative;z-index:1;margin-top:auto;padding:18px 12px 14px;text-align:center;font-size:var(--text-prose);font-weight:800;letter-spacing:-.01em;color:var(--raster-tile-fg);text-shadow:0 1px 3px var(--raster-caption-shadow-a),0 0 18px var(--raster-caption-shadow-b);background:linear-gradient(180deg,transparent 0%,var(--raster-label-shade) 22%,var(--raster-label-deep) 100%)}@media(prefers-reduced-motion:reduce){.welcomeNavTile{transition:none}.welcomeNavTile:hover,.welcomeNavTile--raster:hover .welcomeTileImg{transform:none}}.card .bigPrompt{color:var(--tone-ink-strong);text-shadow:0 0 14px var(--halo-paper),0 1px 2px var(--halo-white-strong)}.card .title{text-shadow:0 0 12px var(--halo-paper),0 1px 2px var(--halo-white-mid)}.card .sub{color:var(--tone-ink-card-sub);font-weight:600;line-height:var(--text-prose-line);font-size:var(--text-prose);text-shadow:0 0 12px var(--halo-paper),0 1px 2px var(--halo-white-mid)}.card .pill{color:var(--tone-ink-pill);font-weight:700;background:var(--pill-surface);border-color:var(--border-card-strong);text-shadow:0 0 8px var(--halo-paper-softer)}.card .btnSecondary{color:var(--tone-ink-strong);font-weight:800;text-shadow:0 0 10px var(--halo-paper),0 1px 1px var(--halo-white-faint)}.card .choiceBtn{color:var(--tone-ink-strong);text-shadow:0 0 10px var(--halo-paper-softer),0 1px 1px var(--halo-white-mid)}.card .hint{color:var(--tone-ink-muted);font-weight:600;text-shadow:0 0 8px var(--halo-paper-softer)}.card .filterWrongLabel{color:var(--tone-ink-strong);text-shadow:0 0 8px var(--halo-paper-softer)}.card .storedPrompt{color:var(--tone-ink-strong);text-shadow:0 0 10px var(--halo-paper-soft)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--gap)}.btn{appearance:none;border:0;border-radius:12px;padding:12px 14px;background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--primaryText);font-weight:800;font-size:var(--text-btn);cursor:pointer;box-shadow:0 2px 0 var(--btn-foot-shadow)}.btn:hover{filter:brightness(1.05)}.btn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.btn:disabled{opacity:.55;cursor:not-allowed;filter:none;box-shadow:none}.btnSecondary{background:linear-gradient(180deg,var(--btn-secondary-top) 0%,var(--btn-secondary-bottom) 100%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--secondary-text);border:1px solid var(--btn-secondary-edge);box-shadow:inset 0 1px 0 var(--btn-secondary-inset)}.btnSecondary:hover{filter:brightness(1.02)}.btnGhost{background:transparent;color:var(--text);border:1px solid var(--border)}.btnGhost:hover{background:var(--ghost-hover-fill)}.btnNav{background:var(--btn-nav-bg);color:var(--tone-ink-strong);border:1px solid var(--btn-nav-edge);box-shadow:inset 0 1px 0 var(--pill-inset),0 2px 0 var(--btn-nav-foot);font-weight:900}.btnNav:hover{background:var(--btn-nav-hover-bg)}.btnNav:disabled{opacity:.5}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:999px;padding:6px 10px;font-size:var(--text-label);color:var(--muted);background:var(--pill-surface);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.runActions{width:100%;align-items:flex-start}.runActionsLeft{flex:1 1 auto;min-width:260px}.runActionsRight{margin-left:auto;flex:0 0 auto}.runLayout{display:grid;grid-template-columns:1fr;gap:var(--gap);align-items:start}.runLayout--helpOpen{grid-template-columns:minmax(0,1fr) minmax(280px,520px)}.helpDrawerWrap{position:relative}.helpOverlay{display:none}.helpDrawer{background:var(--help-drawer-bg);border:1px solid var(--border-card-soft);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;max-height:calc(100vh - 140px);overflow:auto}.helpDrawerHead{justify-content:space-between;align-items:center;width:100%}.helpContent{white-space:pre-wrap;line-height:1.55;font-size:var(--text-prose);font-weight:650;color:var(--tone-ink-strong);text-shadow:0 0 10px var(--halo-paper-soft)}@media(max-width:860px){.runLayout--helpOpen{grid-template-columns:1fr}.helpDrawerWrap{position:fixed;inset:0;z-index:50;display:grid;grid-template-columns:1fr}.helpOverlay{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--help-scrim)}.helpDrawer{position:absolute;top:0;right:0;height:100%;width:min(520px,100%);max-height:none;border-radius:0;border-left:1px solid var(--border-card-soft)}}.subjectFilter{margin-top:2px}.subjectFilterLabel{font-size:var(--text-label);font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px}.card .subjectFilterLabel{color:var(--tone-ink-strong);text-shadow:0 0 8px var(--halo-paper-soft)}.subjectFilterRow{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.subjectPill{appearance:none;font:inherit;cursor:pointer;border:1px solid var(--border-pill);border-radius:999px;padding:8px 14px;font-size:var(--text-ui);font-weight:700;color:var(--tone-ink-pill);box-shadow:inset 0 1px 0 var(--pill-inset);transition:filter .12s ease,box-shadow .12s ease}.card .subjectPill{text-shadow:0 0 8px rgba(255,252,245,.95)}.subjectPill:hover{filter:brightness(1.04)}.subjectPill:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.subjectPill--active{background:linear-gradient(180deg,var(--primary) 0%,var(--primary-dark) 100%);color:var(--primaryText);border-color:var(--btn-pill-active-edge);box-shadow:0 2px 0 var(--btn-pill-active-foot);text-shadow:none}.card .subjectPill--active{text-shadow:none}.spacer{height:10px}.pageTitle{margin:0 0 2px;font-size:clamp(1.85rem,5.5vw,2.4rem);font-weight:700;line-height:1.15;letter-spacing:-.02em;color:var(--tone-ink-heading)}.card .pageTitle{padding-bottom:14px;margin-bottom:4px;border-bottom:1px solid var(--border-card-faint);text-shadow:0 0 24px var(--halo-paper),0 0 8px var(--halo-paper-soft),0 2px 4px var(--halo-white-soft)}.bigPrompt{font-size:20px;font-weight:800;line-height:1.25;color:var(--text)}.questionFigure{margin:0;max-width:100%}.questionFigureImg{display:block;width:100%;max-width:min(100%,520px);height:auto;border-radius:12px;border:1px solid var(--border-card-soft);box-shadow:0 2px 12px var(--shadow-card)}.hint{padding:12px;border-radius:12px;border:1px dashed var(--hint-edge);background:var(--hint-fill);color:var(--muted);font-size:var(--text-prose)}.statusOk{color:var(--ok);font-weight:900}.statusBad{color:var(--danger);font-weight:900}label{font-weight:700}input[type=text],input[type=number],select,textarea{width:100%;padding:12px;border:1px solid var(--border);border-radius:12px;font-size:var(--text-prose);background:var(--card-solid);color:var(--text)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px;border-color:var(--input-focus-border)}.choiceBtn{width:100%;text-align:left;background:var(--choice-bg);border:1px solid var(--border);border-radius:12px;padding:12px;font-size:var(--text-prose);font-weight:700;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.choiceBtn:hover{border-color:var(--input-focus-border)}.choiceBtn:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.choiceBtnSelected{border-color:var(--secondary-border);background:linear-gradient(180deg,var(--choice-selected-a) 0%,var(--choice-selected-b) 100%);box-shadow:inset 0 0 0 1px var(--choice-selected-ring);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.kbd{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;background:var(--kbd-fill);border:1px solid var(--border);border-radius:8px;padding:2px 6px}.storedAnswersWrap{margin-top:4px}.storedAnswersHead{justify-content:space-between;align-items:center;width:100%}.storedAnswersBody[hidden]{display:none!important}.filterWrongLabel{cursor:pointer;font-weight:700;color:var(--text);-webkit-user-select:none;user-select:none}.storedAnswersList{display:flex;flex-direction:column;gap:10px}.storedAnswerRow{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--stored-row-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.storedPrompt{line-height:1.45;white-space:pre-wrap;color:var(--text);font-weight:600}.navActions--wrap{flex-wrap:wrap;max-width:100%;justify-content:flex-end}.navActions--wrap .btn{font-size:var(--text-ui);padding:10px 12px}.schoolToolsLabel{font-weight:800;color:var(--muted);margin-bottom:6px}.schoolToolsRow{flex-wrap:wrap;gap:10px}.btnDanger{background:linear-gradient(180deg,#dc2626,#b91c1c);color:#fff;border:1px solid var(--danger-edge);box-shadow:0 2px 0 var(--btn-pill-active-foot)}.btnDanger:hover{filter:brightness(1.06)}.fieldLabel{display:block;font-size:var(--text-label);font-weight:700;color:var(--muted);margin-bottom:4px}.formStack{display:flex;flex-direction:column;gap:10px}.fieldInput,.fieldTextarea{width:100%;max-width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--field-fill);color:var(--text);font:inherit;font-size:var(--text-prose)}.fieldInput--narrow{max-width:280px}.fieldTextarea{resize:vertical;min-height:64px}.fieldInput:focus-visible,.fieldTextarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:1px}.filterBar{align-items:center;gap:12px;flex-wrap:wrap}.sectionLabel{font-weight:800;color:var(--text)}.formActionsRow{flex-wrap:wrap;gap:10px}.homeworkList{display:flex;flex-direction:column;gap:12px}.homeworkRow{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--homework-row-bg)}.homeworkRow--done{opacity:.72}.homeworkRowMain{display:flex;gap:12px;align-items:flex-start}.homeworkRowText{flex:1;min-width:0}.homeworkTitle{font-weight:800;font-size:var(--text-prose);color:var(--text)}.homeworkMeta{margin-top:4px}.homeworkNote{margin-top:6px}.homeworkRowActions{margin-top:10px;flex-wrap:wrap;gap:8px}.materialsList{display:flex;flex-direction:column;gap:12px}.materialCard{padding:12px 14px;border-radius:12px;border:1px solid var(--border);background:var(--material-card-bg)}.materialCardTitle{font-size:var(--text-prose);font-weight:800}.materialLink{color:var(--link-visited-material);text-decoration:underline;text-underline-offset:3px}.materialLink:hover{color:var(--primary-dark)}.materialCardUrl{margin-top:4px;word-break:break-all;font-size:var(--text-label)}.materialSubject{margin-top:6px}.materialCardActions{margin-top:10px;flex-wrap:wrap;gap:8px}.scheduleToolbar{align-items:center;gap:12px;flex-wrap:wrap}.scheduleSaveStatus{font-size:var(--text-label);font-weight:700;color:var(--ok);min-height:1.2em}.authLanding{display:grid;gap:16px;align-items:start}@media(min-width:800px){.authLanding{grid-template-columns:1fr 1fr}}.authLandingTitle{margin:0 0 10px;font-size:1.65rem;font-weight:700;color:var(--header-1);line-height:1.25}.authLandingLead{margin:0 0 14px;font-size:var(--text-prose);line-height:1.5;color:var(--text)}.authLandingList{margin:0 0 14px;padding-left:1.35rem;font-size:var(--text-ui);line-height:1.45;color:var(--text)}.authLandingList li{margin-bottom:8px}.authLandingFoot{margin:0}.authLandingForm .pageTitle{margin-bottom:8px}.authModeTabs{flex-wrap:wrap;gap:8px}.authLandingActions{flex-wrap:wrap;gap:10px;align-items:center}.authLandingPageWrap{padding-top:10px}.authLandingTopBar{flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;width:100%;max-width:720px;margin:0 auto 16px}.authLandingTopBar--guest{justify-content:center}.authLandingTopPrimary{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center}.authLandingTopBtn{min-height:48px;padding:12px 22px;font-size:var(--text-prose);border-radius:999px}.authLandingTopPrimary .btn.btnGhost.authLandingTopBtn{background:#fffcf8f5;color:#2d1810;border:2px solid rgba(160,95,55,.42);box-shadow:0 1px #ffffffe6 inset}.authLandingTopPrimary .btn.btnGhost.authLandingTopBtn:hover{background:#fff;border-color:#8c502d94;color:#1a0f08}.authLandingLead2{margin:0;font-size:var(--text-prose);line-height:1.55;color:var(--text)}.authKidForm{padding-bottom:18px}.authKidHello{font-size:1.45rem;font-weight:900;color:var(--header-1);margin:0 0 8px;letter-spacing:-.02em}.authKidBlurb{margin:0 0 14px;font-size:var(--text-prose);line-height:var(--text-prose-line);color:var(--muted)}.authKidLabel{font-size:var(--text-ui);font-weight:800}.authKidInput{min-height:48px;font-size:var(--text-prose);padding:12px 14px;border-radius:12px}.authKidBigBtn{min-height:50px;padding:14px 18px;font-size:var(--text-prose);border-radius:14px}.authKidActions{flex-direction:column;align-items:stretch;gap:12px}@media(min-width:520px){.authKidActions{flex-direction:row;flex-wrap:wrap;align-items:center}.authKidActions .authKidBigBtn{flex:1 1 auto;min-width:200px}}.authKidError{margin:0 0 8px;padding:10px 12px;border-radius:12px;font-size:var(--text-prose);font-weight:700;color:#7f1d1d;background:#fee2e2d9;border:1px solid rgba(185,28,28,.35)}.authForgotWrap{margin-top:2px}.authForgotLink{display:inline-block;margin:0;padding:0;border:none;background:none;font:inherit;font-size:var(--text-prose);font-weight:600;color:var(--accent);text-decoration:underline;cursor:pointer;text-align:left}.authForgotLink:hover{opacity:.9}
