:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#122422;--muted:#536a64;--soft:#78908a;--line:#cfe5dc;--line-strong:#9fc8bd;--paper:#fffffc;--paper-soft:#f6fbf7;--canvas:#eef8f3;--green:#16805f;--green-dark:#0f5547;--green-soft:#dbf5e8;--teal:#147f8b;--teal-soft:#dff5f6;--gold:#a46212;--gold-soft:#fff1bf;--coral:#de6f54;--coral-soft:#fff0ea;--red:#b3403b;--red-soft:#fff0ee;--success:#24764f;--success-soft:#e4f7ec;--shadow-soft:0 12px 28px #12242214;--shadow-pop:0 20px 50px #1224222e;--spark-shadow:0 10px 24px #ffc14b33}*{box-sizing:border-box}body{color:var(--ink);overflow-wrap:anywhere;background:linear-gradient(#eef8f3f5,#f7fcf8f5),repeating-linear-gradient(135deg,#147f8b0d 0 1px,#0000 1px 18px);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}::selection{background:var(--green-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button,input,select,textarea{font:inherit}button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:0 14px;font-weight:800;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 6px 14px #16805f24}button:hover:not(:disabled){box-shadow:0 8px 18px #16805f2e,inset 0 0 0 999px #17231f0a}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:wait;opacity:.72}button.secondary{background:var(--green-soft);color:var(--ink);box-shadow:none}button.secondary:hover:not(:disabled){background:#d4ebdf}button.danger{background:var(--red)}button.danger:hover:not(:disabled){background:#8f2f2b}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #2b7f8e52}.icon-button{place-items:center;width:38px;min-height:38px;padding:0;display:inline-grid}.install-button{z-index:30;box-shadow:var(--shadow-pop);align-items:center;gap:8px;display:inline-flex;position:fixed;bottom:18px;right:18px}.install-help-inline{display:inline-flex}.install-help-inline>button{min-height:40px;color:var(--muted);border-radius:6px;padding:0 13px}.install-help-dialog{z-index:80;min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) 18px max(18px, env(safe-area-inset-bottom));background:#17231f6b;place-items:center;display:grid;position:fixed;inset:0}.install-help-sheet{width:min(420px,100%);max-height:calc(100dvh - 36px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-pop);border-radius:8px;gap:12px;padding:16px;display:grid;overflow:auto}.install-help-sheet h2{margin:0}.install-help-sheet ol{margin:0;padding-left:22px}.offline-banner{z-index:60;background:var(--gold-soft);width:min(420px,100% - 36px);color:var(--gold);box-shadow:var(--shadow-pop);border:1px solid #e1c789;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-weight:800;display:inline-flex;position:fixed;bottom:18px;right:18px}.app-update-notice{z-index:75;border:1px solid color-mix(in srgb, var(--teal), transparent 48%);width:min(620px,100% - 36px);color:var(--ink);background:color-mix(in srgb, var(--paper), white 24%);box-shadow:var(--shadow-pop);border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-inline:auto;padding:10px;display:grid;position:fixed;bottom:18px;left:18px;right:18px}.app-update-icon{width:34px;height:34px;color:var(--teal);background:var(--teal-soft);border-radius:7px;place-items:center;display:grid}.app-update-copy{min-width:0}.app-update-copy strong,.app-update-copy p{margin:0;display:block}.app-update-copy p{color:var(--muted);margin-top:2px;font-size:.76rem;font-weight:700}.app-update-action{white-space:nowrap;align-items:center;gap:6px;width:auto;min-height:36px;padding:0 12px;display:inline-flex}.app-update-dismiss{width:34px;min-height:34px;color:var(--muted);background:0 0}input,select,textarea{border:1px solid var(--line);background:var(--paper);width:100%;color:var(--ink);border-radius:8px;padding:11px 12px;transition:border-color .16s,box-shadow .16s,background .16s}input:hover,select:hover,textarea:hover{border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{border-color:var(--teal);box-shadow:0 0 0 4px #2b7f8e1f}textarea{resize:vertical;min-height:120px}label{color:var(--muted);gap:6px;font-size:.9rem;font-weight:800;display:grid}.app-shell{min-height:100vh;padding-bottom:0}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffceb;border-bottom:1px solid #cfe5dcd1;border-left:1px solid #cfe5dc94;border-right:1px solid #cfe5dc94;border-radius:0 0 8px 8px;justify-content:space-between;align-items:center;gap:16px;width:min(1180px,100% - 48px);min-height:76px;margin:0 auto;padding:14px 18px;display:flex;position:sticky;top:0}.topbar:before{content:"";z-index:-1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffceb;border-bottom:1px solid #cfe5dcd1;height:76px;position:fixed;top:0;left:0;right:0}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:linear-gradient(135deg, var(--green-dark), var(--teal));color:#fff;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:900;display:grid;box-shadow:0 8px 20px #147f8b38}.brand-mark svg{stroke-width:2.4px}.reader-band-pill{border:1px solid var(--line);min-height:28px;color:var(--muted);white-space:nowrap;background:#fffffccc;border-radius:999px;align-items:center;padding:3px 9px;font-size:.78rem;font-weight:850;display:inline-flex}.app-actions{background:#e8f4eddb;border:1px solid #cfe5dcf2;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;padding:4px;display:flex}.app-actions a,.app-actions button,.mobile-nav a,.mobile-nav button{text-decoration:none}.nav-item{min-height:40px;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 13px;font-size:.92rem;font-weight:800;display:inline-flex}.nav-item.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 8px #12242214}button.nav-button{min-height:40px;color:var(--muted);background:0 0}.nav-item:hover,button.nav-button:hover{color:var(--ink)}.page{width:min(1180px,100% - 32px);margin:0 auto;padding:28px 0 60px}.parent-layout{grid-template-columns:248px minmax(0,1fr);align-items:start;gap:20px;display:grid}.parent-rail{gap:8px;display:grid;position:sticky;top:96px}.parent-rail button{border:1px solid var(--line);background:var(--paper);min-height:62px;color:var(--muted);text-align:left;justify-content:flex-start;padding:10px 12px;box-shadow:0 1px #17231f08}.parent-rail button.active{background:var(--green-soft);color:var(--ink);border-color:#83b7a0}.parent-rail span{gap:2px;display:grid}.parent-rail small{color:var(--muted);font-size:.78rem;font-weight:700}.parent-workspace{min-width:0}.parent-shell{background:radial-gradient(circle at 18% 0%, color-mix(in srgb, var(--green-soft) 72%, transparent), transparent 28%), linear-gradient(180deg, var(--canvas), color-mix(in srgb, var(--canvas) 72%, var(--paper)) 58%, var(--canvas))}.parent-shell .topbar,.parent-shell .topbar:before{border-color:color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--paper) 92%, transparent)}.parent-shell .brand-mark{background:linear-gradient(135deg, var(--green-dark), var(--teal));box-shadow:0 8px 22px color-mix(in srgb, var(--green) 24%, transparent)}.parent-shell .app-actions,.parent-shell .section-tabs{border-color:color-mix(in srgb, var(--line) 94%, transparent);background:color-mix(in srgb, var(--green-soft) 72%, var(--paper))}.parent-shell .nav-item.active,.parent-shell .section-tabs button.active{color:var(--green-dark);background:var(--paper);box-shadow:0 4px 12px color-mix(in srgb, var(--green) 14%, transparent)}.parent-shell .parent-rail button{border-color:color-mix(in srgb, var(--line) 86%, transparent);background:color-mix(in srgb, var(--paper) 92%, white)}.parent-shell .parent-rail button.active{border-color:var(--line-strong);background:linear-gradient(90deg, color-mix(in srgb, var(--green-soft) 88%, var(--paper)), var(--paper));color:var(--ink);box-shadow:inset 4px 0 0 var(--green), 0 8px 18px color-mix(in srgb, var(--green) 12%, transparent)}.parent-shell .section-heading>svg{border:1px solid var(--line);background:var(--green-soft);color:var(--green-dark);border-radius:8px;padding:9px}.parent-shell .metric-card,.parent-shell .card,.parent-shell .manage-item,.parent-shell .log-row,.parent-shell .schedule-plan-row{border-color:color-mix(in srgb, var(--line) 90%, transparent);background:color-mix(in srgb, var(--paper) 94%, white)}.parent-shell.theme-early-reader .section-heading>svg,.parent-shell.theme-early-reader .parent-rail button.active{box-shadow:inset 4px 0 #8f42e8,0 10px 22px #8f42e824}.parent-shell.theme-middle-grade .section-heading>svg,.parent-shell.theme-middle-grade .parent-rail button.active{box-shadow:inset 4px 0 #0e7f78,0 10px 22px #0e7f7821}.parent-shell.theme-teen .topbar,.parent-shell.theme-teen .topbar:before{background:#06131de6}.parent-shell.theme-teen .app-actions,.parent-shell.theme-teen .section-tabs{background:#0c2532}.parent-shell.theme-teen .parent-rail button,.parent-shell.theme-teen .card,.parent-shell.theme-teen .metric-card,.parent-shell.theme-teen .manage-item,.parent-shell.theme-teen .log-row,.parent-shell.theme-teen .schedule-plan-row{background:#071a25;box-shadow:0 12px 34px #00000038}.parent-reader-calendar-panel{gap:12px}.parent-reader-calendar-list{grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px;display:grid}.parent-reader-calendar-card{border:1px solid color-mix(in srgb, var(--line) 88%, transparent);background:color-mix(in srgb, var(--paper-soft) 72%, var(--paper));border-radius:8px;gap:10px;min-width:0;padding:12px;display:grid}.parent-reader-calendar-card h3{margin:0;font-size:1rem;line-height:1.15}.parent-reader-calendar-card.catchup{border-color:color-mix(in srgb, var(--gold) 42%, var(--line));background:linear-gradient(135deg, color-mix(in srgb, var(--gold-soft) 52%, transparent), transparent 58%), color-mix(in srgb, var(--paper-soft) 72%, var(--paper))}.parent-overview-panels{grid-template-columns:minmax(0,1.55fr) minmax(250px,.75fr);align-items:stretch;gap:14px;margin-bottom:18px;display:grid}.parent-hero-panel,.parent-support-panel{border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;position:relative;overflow:hidden}.parent-hero-panel:before,.parent-support-panel:before{content:"";pointer-events:none;position:absolute;inset:0}.parent-hero-panel{aspect-ratio:1200/760;color:#fff;background:linear-gradient(90deg, #08231fc2 0%, #08231f70 48%, #08231f14 82%), var(--reader-hero-image) right center / contain no-repeat, var(--green-dark);align-content:end;min-height:0;padding:22px;display:grid}.parent-hero-panel:before{mix-blend-mode:soft-light;background:linear-gradient(#ffffff14,#0000002e)}.parent-hero-panel>*,.parent-support-panel>*{z-index:1;position:relative}.parent-hero-panel h1{letter-spacing:0;max-width:620px;margin:6px 0 8px;font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.02}.parent-hero-panel p{color:#ffffffe0;max-width:460px;margin:0;font-weight:700}.eyebrow{color:inherit;letter-spacing:.04em;text-transform:uppercase;opacity:.78;align-items:center;gap:6px;font-size:.78rem;font-weight:850;display:inline-flex}.parent-hero-stats{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.parent-hero-stats span{color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff21;border:1px solid #ffffff42;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-weight:850;display:inline-flex}.parent-support-panel{background:linear-gradient(90deg, #fffffcf5 0%, #fffffcd6 58%, #fffffc47 100%), var(--streak-bg) right center / contain no-repeat, var(--paper);grid-template-rows:auto 1fr auto;grid-template-columns:auto minmax(0,1fr);align-content:stretch;gap:12px;min-height:100%;padding:18px;display:grid}.parent-support-panel:before{background:linear-gradient(#ffffff14,#00000014)}.parent-support-panel h2{margin:5px 0 6px;font-size:clamp(1.1rem,2vw,1.45rem);line-height:1.05}.parent-support-panel p{color:var(--muted);margin:0;font-weight:700}.support-icon{border:1px solid var(--line);background:color-mix(in srgb, var(--green-soft) 78%, white);width:42px;height:42px;color:var(--green);border-radius:8px;grid-row:1/span 3;place-items:center;display:grid}.support-panel-actions{grid-area:3/2;grid-template-columns:1fr;place-self:end stretch;gap:8px;display:grid}.support-panel-action{width:100%;min-height:40px}.parent-shell.theme-early-reader .parent-hero-panel{background:linear-gradient(90deg, #401476c2 0%, #4014766b 48%, #4014760f 82%), var(--reader-hero-image) right center / contain no-repeat, #4b238e}.parent-shell.theme-middle-grade .parent-hero-panel{background:linear-gradient(90deg, #054a4bc2 0%, #054a4b6b 48%, #054a4b0f 82%), var(--reader-hero-image) right center / contain no-repeat, #0b5554}.parent-shell.theme-teen .parent-hero-panel{background:linear-gradient(90deg, #040e16e0 0%, #040e1680 48%, #040e161f 84%), var(--reader-hero-image) right center / contain no-repeat, #04101a;border-color:#254956}.parent-shell.theme-teen .parent-support-panel{background:linear-gradient(90deg, #040e16f5 0%, #040e16d1 58%, #040e1657 100%), var(--streak-bg) right center / contain no-repeat, #071a25;border-color:#254956}.parent-shell.theme-teen .parent-support-panel p{color:var(--muted)}.parent-shell.theme-teen .support-icon{color:#86e48c;background:#102b36;border-color:#254956}.parent-reader-mode .reader-experience-card{min-height:0;padding:clamp(18px,2vw,24px)}.parent-reader-mode .reader-hero-copy{gap:10px;max-width:520px}.parent-reader-mode .reader-hero-copy h1{font-size:clamp(1.85rem,4.8vw,3.15rem)}.parent-reader-mode .speech-bubble{max-width:360px;padding:12px 14px}.parent-support-card.streak-card{margin-bottom:14px}.parent-support-card .streak-card-header .pill{display:none}.parent-support-card .streak-icon{width:42px;height:42px}.parent-support-card .streak-count strong{font-size:clamp(2.4rem,7vw,3.4rem)}.parent-support-card .streak-body{gap:6px}.parent-support-card .streak-body p{font-size:.95rem}.parent-support-card .streak-actions{align-self:center}.reader-intro{gap:16px;margin-bottom:14px;display:grid}.reader-shell .reader-intro.reader-intro-today .reader-experience-card{aspect-ratio:auto;min-height:320px}.reader-experience-card{aspect-ratio:1200/760;border:1px solid var(--line);background:linear-gradient(90deg, #12242257, transparent 62%), var(--reader-hero-image), var(--paper);min-height:0;box-shadow:var(--shadow-pop);background-position:50%,100%,50%;background-repeat:no-repeat;background-size:cover,contain,cover;border-radius:8px;grid-template-columns:minmax(0,1fr);padding:22px;display:grid;position:relative;overflow:hidden}.reader-experience-card:before,.reader-experience-card:after{content:"";pointer-events:none;position:absolute}.reader-experience-card:before{background:linear-gradient(90deg,#0000005c,#00000014 45%,#0000 78%);inset:0}.reader-experience-card:after{mix-blend-mode:soft-light;background:linear-gradient(#ffffff0a,#00000029);inset:0}.reader-hero-copy{z-index:1;align-content:start;justify-items:start;gap:clamp(8px,1.5vw,14px);max-width:420px;display:grid;position:relative}.reader-hero-copy h1{letter-spacing:0;margin:0;font-size:clamp(2.25rem,7vw,3.8rem);line-height:.98}.reader-hero-copy p{color:inherit;margin:6px 0 0;font-size:1.05rem;font-weight:700}.hero-menu-button{width:44px;min-height:44px;box-shadow:none;background:#ffffff2e;border-radius:999px;display:none}.hero-menu-button span{background:currentColor;border-radius:999px;width:16px;height:2px;display:block}.speech-bubble{max-width:300px;color:var(--ink);background:#fffffced;border-radius:8px;gap:4px;padding:clamp(10px,1.5vw,14px) clamp(12px,1.7vw,16px);display:grid;box-shadow:0 12px 28px #12242229}.speech-bubble strong,.speech-bubble span{margin:0}.speech-bubble span{color:var(--muted);font-weight:650}.reader-experience-card>svg,.minimal-hero-symbol{z-index:1;place-self:end;position:relative}.reader-section-title{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;padding:4px 0;display:grid}.reader-section-title>svg{background:linear-gradient(180deg, var(--teal-soft), #f7fffb);width:42px;height:42px;color:var(--teal);border:1px solid #cfe5dcf2;border-radius:8px;flex:none;padding:10px;box-shadow:0 5px 14px #147f8b14}.reader-section-title h2{letter-spacing:0;margin:0;font-size:clamp(1.65rem,5vw,2.25rem);line-height:1.02}.reader-section-title p{margin:2px 0 0}:is(.reader-shell,.parent-shell).theme-early-reader{--reader-hero-image:url(/reader-themes/early-reader-hero.webp);--streak-motif:url(/reader-themes/early-reader-streak.webp);--streak-bg:url(/reader-themes/early-reader-streak.webp);--reward-path-image:url(/reader-themes/early-reader-reward-path.webp);--ink:#1f1546;--muted:#654d85;--soft:#8c70b7;--line:#dfc6ff;--line-strong:#c698ff;--paper:snow;--paper-soft:#fff2ff;--canvas:#f7e8ff;--green:#7d35d8;--green-dark:#4b238e;--green-soft:#f0dcff;--teal:#8f42e8;--teal-soft:#f5e8ff;--gold:#bd6500;--gold-soft:#fff2b8;--shadow-soft:0 14px 30px #5c26a021;background:radial-gradient(circle at 20% 10%,#ffe26257,#0000 28%),radial-gradient(circle at 82% 16%,#ff7ecb47,#0000 30%),linear-gradient(#fbecff,#fff9fc 48%,#f8ecff)}.reader-shell.theme-early-reader .topbar{background:#fffaffeb;border-bottom-color:#dfc6ffe6}.reader-shell.theme-early-reader .brand-mark{background:linear-gradient(135deg,#44208a,#8f42e8);box-shadow:0 8px 22px #8f42e842}.reader-shell.theme-early-reader .reader-experience-card{color:#fff;background:linear-gradient(90deg, #481c846b, #481c841f 48%, transparent 78%), var(--reader-hero-image), linear-gradient(180deg, #392092 0%, #7542d9 48%, #a74ae8 100%);background-position:50%,100%,50%;background-repeat:no-repeat;background-size:cover,contain,cover;border-color:#7c4dd9}.reader-shell.theme-early-reader .reader-experience-card:before{background:linear-gradient(90deg,#40147657,#40147614 54%,#0000 82%);inset:0}.reader-shell.theme-early-reader .reader-experience-card:after{background:linear-gradient(#ffffff14,#4114702e);inset:0}.reader-shell.theme-early-reader .hero-menu-button{color:#fff;background:#ffffff2e;display:inline-grid}.reader-shell.theme-early-reader .speech-bubble{color:#2a1658;background:#fff4fd}.reader-shell.theme-early-reader .reader-section-tabs{background:linear-gradient(90deg,#6e32cf,#8f42e8);border-color:#dfc6fff2}.reader-shell.theme-early-reader .reader-section-tabs button{color:#ffffffd6}.reader-shell.theme-early-reader .reader-section-tabs button svg{color:#ffffffb8}.reader-shell.theme-early-reader .reader-section-tabs button.active{color:#4b238e;background:#fff}:is(.reader-shell,.parent-shell).theme-middle-grade{--reader-hero-image:url(/reader-themes/middle-grade-hero.webp);--streak-motif:url(/reader-themes/middle-grade-streak.webp);--streak-bg:url(/reader-themes/middle-grade-streak.webp);--reward-path-image:url(/reader-themes/middle-grade-reward-path.webp);--ink:#112c2b;--muted:#536761;--soft:#69827b;--line:#c5dfd4;--line-strong:#81bba7;--paper:#fff9ed;--paper-soft:#fff3db;--canvas:#e6f5ec;--green:#0e7f78;--green-dark:#0b5554;--green-soft:#d7f0e2;--teal:#0e8188;--teal-soft:#d8f2ef;--gold:#ac690d;--gold-soft:#fff0bd;background:radial-gradient(circle at 16% 8%,#ffcd5938,#0000 24%),linear-gradient(#e5f6ee,#fff8eb 56%,#f5ebd7)}.reader-shell.theme-middle-grade .reader-experience-card{color:#fff;background:linear-gradient(90deg, #05565861, #0556581f 48%, transparent 78%), var(--reader-hero-image), linear-gradient(120deg, #1a898b, #0d5556);background-position:50%,100%,50%;background-repeat:no-repeat;background-size:cover,contain,cover;border-color:#277d77}.reader-shell.theme-middle-grade .reader-experience-card:before{background:linear-gradient(90deg,#04505457,#0450541a 52%,#0000 82%);inset:0}.reader-shell.theme-middle-grade .reader-experience-card:after{background:linear-gradient(#ffffff14,#0336392e);inset:0}.reader-shell.theme-middle-grade .speech-bubble{color:#1d342c;background:#fff7e6}.reader-shell.theme-middle-grade .reader-section-tabs{background:linear-gradient(90deg,#fff9ec,#0d7776);border-color:#2b827a}.reader-shell.theme-middle-grade .reader-section-tabs button{color:#ffffffdb}.reader-shell.theme-middle-grade .reader-section-tabs button svg{color:#ffffffb8}.reader-shell.theme-middle-grade .reader-section-tabs button.active{color:#0d5554;background:#fffaf0}.reader-shell.theme-early-reader .feedback-state{background:linear-gradient(#fffffcfa,#f7fffaf5),repeating-linear-gradient(135deg,#ffc84d24 0 1px,#0000 1px 12px)}:is(.reader-shell,.parent-shell).theme-teen{--reader-hero-image:url(/reader-themes/teen-hero.webp);--streak-motif:url(/reader-themes/teen-streak.webp);--streak-bg:url(/reader-themes/teen-streak.webp);--reward-path-image:url(/reader-themes/teen-reward-path.webp);--ink:#eef7f0;--muted:#d3dee0;--soft:#b6c8ca;--line:#24404b;--line-strong:#406574;--paper:#071a25;--paper-soft:#0c2532;--canvas:#05131d;--green:#6edb78;--green-dark:#b9f5bc;--green-soft:#173a2d;--teal:#9cd5d9;--teal-soft:#102b36;--gold:#e2c56b;--gold-soft:#2a281a;--success:#86e48c;--success-soft:#123927;--red:#ff9b91;--red-soft:#351c20;color:var(--ink);background:radial-gradient(circle at 70% 0,#4e798b3d,#0000 28%),linear-gradient(#06131d,#071b26 46%,#031017)}.reader-shell.theme-teen .topbar,.reader-shell.theme-teen .topbar:before{background:#06131ddb;border-bottom-color:#4065748c}.reader-shell.theme-teen .brand-mark{background:linear-gradient(135deg,#0b2b38,#203d4d);box-shadow:0 8px 22px #0000005c}.reader-shell.theme-teen .reader-experience-card{background:linear-gradient(90deg, #040e16b8, #040e163d 48%, transparent 82%), var(--reader-hero-image), #071a25;background-position:50%,100%,50%;background-repeat:no-repeat;background-size:cover,contain,cover;border-color:#203845;min-height:0;box-shadow:0 20px 58px #00000052}.reader-shell.theme-teen .reader-experience-card:before{background:linear-gradient(90deg,#010a1185,#010a112e 48%,#0000 80%);inset:0}.reader-shell.theme-teen .reader-experience-card:after{background:linear-gradient(#ffffff08,#010a1152)}.reader-shell.theme-teen .speech-bubble{color:var(--ink);box-shadow:none;background:#06131ddb;border:1px solid #274554}.reader-shell.theme-teen .speech-bubble span{color:var(--muted)}.reader-shell.theme-teen .reader-section-tabs{background:#071a25;border-color:#24404b}.reader-shell.theme-teen .reader-section-tabs button{color:#d7e5e7}.reader-shell.theme-teen .reader-section-tabs button.active{color:#86e48c;background:0 0;box-shadow:inset 0 -3px #86e48c}.reader-shell.theme-teen .card,.reader-shell.theme-teen .continue-card,.reader-shell.theme-teen .reward-balance>div,.reader-shell.theme-teen .reward-item,.reader-shell.theme-teen .feedback-state{background:linear-gradient(#071a25,#0c2532);border-color:#24404b;box-shadow:0 12px 34px #00000042}.reader-shell.theme-teen .reward-path-image{background:var(--reward-path-image) center / 100% 100% no-repeat}.reader-shell.theme-teen input,.reader-shell.theme-teen select,.reader-shell.theme-teen textarea{color:var(--ink);background:#06131d;border-color:#416574}.reader-shell.theme-teen input::placeholder,.reader-shell.theme-teen textarea::placeholder{color:#93aeb2}.reader-shell.theme-teen .muted,.parent-shell.theme-teen .muted{color:#d3dee0}.reader-shell.theme-teen .nav-item,.reader-shell.theme-teen button.nav-button,.parent-shell.theme-teen .nav-item,.parent-shell.theme-teen button.nav-button{color:#d7e5e7}.reader-shell.theme-teen .nav-item.active,.parent-shell.theme-teen .nav-item.active{color:#eef7f0;background:#06131d;box-shadow:inset 0 0 0 1px #5f818c}.reader-shell.theme-teen button:disabled,.parent-shell.theme-teen button:disabled,.reader-shell.theme-teen .nav-item[aria-disabled=true],.parent-shell.theme-teen .nav-item[aria-disabled=true]{color:#9fb6ba;opacity:.8}:is(.reader-shell,.parent-shell).theme-neutral{--reader-hero-image:url(/reader-themes/neutral-hero.webp);--streak-motif:url(/reader-themes/neutral-streak.webp);--streak-bg:url(/reader-themes/neutral-streak.webp);--reward-path-image:url(/reader-themes/neutral-reward-path.webp);--ink:#14202b;--muted:#4f5e68;--soft:#7a8790;--line:#d8dde0;--line-strong:#b8c1c6;--paper:#fff;--paper-soft:#f8fafb;--canvas:#f5f6f7;--green:#2d465d;--green-dark:#172b3d;--green-soft:#edf1f4;--teal:#2d465d;--teal-soft:#eef3f5;--gold:#6a5a34;--gold-soft:#f6f0df;background:#f5f6f7}.reader-shell.theme-neutral .reader-experience-card{background:linear-gradient(90deg, #ffffffdb, #ffffff9e 44%, #ffffff2e 72%), var(--reader-hero-image), white;background-position:50%,100%,50%;background-repeat:no-repeat;background-size:cover,contain,cover;border-color:#d8dde0;min-height:0;box-shadow:0 8px 24px #14202b0f}.reader-shell.theme-neutral .reader-experience-card:before,.reader-shell.theme-neutral .reader-experience-card:after{display:none}.reader-shell.theme-neutral .reader-hero-copy h1{font-size:clamp(2rem,6vw,3.2rem)}.reader-shell.theme-neutral .speech-bubble{box-shadow:none;background:#f8fafb;border:1px solid #d8dde0}.reader-shell.theme-neutral .reader-section-tabs{background:#fff;border-color:#d8dde0}.reader-shell.theme-neutral .reader-section-tabs button.active{box-shadow:inset 0 -3px 0 var(--green)}.reader-shell.theme-neutral .mascot-nudge,.reader-shell.theme-neutral .reader-section-tabs,.reader-shell.theme-neutral .metric-card,.reader-shell.theme-neutral .streak-card,.reader-shell.theme-neutral .reward-balance>div{box-shadow:0 1px #1224220a}.lumo-mascot{filter:drop-shadow(0 10px 14px #12242224);overflow:visible}.lumo-wing{fill:#dff5f6;stroke:#5db5ad;stroke-width:3px;stroke-linejoin:round;opacity:.9}.lumo-body{fill:url(#lumoGlow);stroke:#0f5547;stroke-width:3px}.lumo-book{fill:#fffdf2;stroke:#0f5547;stroke-width:3px;stroke-linejoin:round}.lumo-book-line,.lumo-smile{fill:none;stroke:#0f5547;stroke-width:3px;stroke-linecap:round}.lumo-eye{fill:#122422}.lumo-spark{fill:#ffc84d;filter:drop-shadow(0 4px 7px #ffc84d66)}.lumo-mascot{animation:4.5s ease-in-out infinite lumo-float}.lumo-spark-one{animation:2.4s ease-in-out infinite lumo-sparkle}.lumo-spark-two{animation:2.4s ease-in-out .7s infinite lumo-sparkle}.section-heading{color:var(--ink);align-items:center;gap:12px;margin:0 0 18px;display:flex}.section-heading>svg{background:linear-gradient(180deg, var(--teal-soft), #f7fffb);width:42px;height:42px;color:var(--teal);border:1px solid #cfe5dcf2;border-radius:8px;flex:none;padding:10px;box-shadow:0 5px 14px #147f8b14}.section-heading h1{letter-spacing:0;margin:0;font-size:clamp(1.5rem,2vw,2.1rem);line-height:1.08}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.metric-card{border:1px solid var(--line);background:linear-gradient(180deg, var(--paper), #f6fbf7eb);border-radius:8px;gap:4px;padding:16px;display:grid;box-shadow:0 1px #17231f0a,inset 0 3px #ffc84d38}.metric-card strong{color:var(--green-dark);font-size:1.75rem;line-height:1}.metric-card span{color:var(--muted);font-weight:800}.continue-card{background:linear-gradient(135deg, var(--gold-soft), #fffaf0);box-shadow:var(--spark-shadow);border:1px solid #e4c46a;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;padding:14px;display:flex}.reader-daily-overview{border:1px solid color-mix(in srgb, var(--reader-accent,var(--teal)), var(--line) 52%);background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--reader-accent,var(--teal)), transparent 95%) 0 2px, transparent 2px 22px), var(--paper);box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);align-items:stretch;gap:18px;margin-bottom:16px;padding:clamp(18px,2.8vw,28px);display:grid;overflow:hidden}.reader-daily-copy{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.reader-daily-icon{background:color-mix(in srgb, var(--reader-accent,var(--teal)), transparent 84%);width:50px;height:50px;color:var(--reader-accent,var(--teal));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--reader-accent,var(--teal)), transparent 66%);border-radius:8px;place-items:center;display:grid}.reader-daily-overview.catchup .reader-daily-icon{background:var(--coral-soft);color:var(--coral);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--coral), transparent 62%)}.reader-daily-overview.complete .reader-daily-icon{background:var(--success-soft);color:var(--success)}.reader-daily-copy h2{margin:3px 0 6px;font-size:clamp(1.45rem,3vw,2rem);line-height:1.08}.reader-daily-copy p{color:var(--muted);margin:0;font-weight:750}.reader-daily-metrics{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.reader-daily-metrics>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper-soft), transparent 12%);text-align:center;align-content:center;gap:5px;min-width:0;min-height:92px;padding:12px;display:grid}.reader-daily-metrics strong{color:var(--reader-accent,var(--green-dark));font-size:1.65rem;line-height:1}.reader-daily-metrics span{color:var(--muted);font-size:.74rem;font-weight:850;line-height:1.2}.parent-reader-home-overview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:stretch;gap:20px;padding:20px 0;display:grid}.parent-reader-home-card{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--green), transparent 96%) 0 2px, transparent 2px 20px), var(--paper);padding:clamp(18px,2.5vw,26px);overflow:hidden}.parent-reader-home-heading h2{margin:0;font-size:1.65rem}.parent-reader-home-status{grid-template-columns:auto minmax(0,1fr);align-content:start;gap:12px 14px;padding:4px 0 4px 4px;display:grid}.parent-reader-home-status-icon{background:var(--green-soft);width:48px;height:48px;color:var(--green);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green), transparent 64%);border-radius:8px;place-items:center;display:grid}.parent-reader-home-status h3{margin:3px 0 6px;font-size:1.35rem;line-height:1.12}.parent-reader-home-status p,.parent-reader-home-recent p{color:var(--muted);margin:0;font-weight:700}.parent-reader-calendar-action{grid-column:2;justify-self:start;margin-top:4px}.parent-reader-home-metrics{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.parent-reader-home-metric{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--green-soft) 32%, transparent);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;min-height:88px;padding:14px;display:grid}.parent-reader-home-metric>svg{color:var(--green)}.parent-reader-home-metric>div{gap:4px;min-width:0;display:grid}.parent-reader-home-metric strong{color:var(--green-dark);font-size:1.8rem;line-height:1}.parent-reader-home-metric span{color:var(--muted);font-size:.8rem;font-weight:850}.parent-reader-home-recent{gap:18px}.parent-reader-home-recent>div{gap:4px;display:grid}.parent-dashboard-reader-snapshot{gap:12px;display:grid}.parent-dashboard-reader-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);display:grid;overflow:hidden}.parent-dashboard-reader-main{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--teal), transparent 96%) 0 2px, transparent 2px 22px), var(--paper);align-content:start;gap:10px;min-width:0;padding:clamp(18px,2.5vw,26px);display:grid}.parent-dashboard-reader-heading h2,.parent-dashboard-reader-main h3,.parent-dashboard-reader-main p{margin:0}.parent-dashboard-reader-heading h2{margin-top:2px;font-size:1.65rem}.parent-dashboard-reader-main h3{font-size:1.25rem;line-height:1.15}.parent-dashboard-reader-main p{color:var(--muted);font-weight:700}.parent-dashboard-current-book{border:1px solid var(--line);background:color-mix(in srgb, var(--teal-soft), var(--paper) 54%);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;min-width:0;margin-top:4px;padding:11px 12px;display:grid}.parent-dashboard-current-book>svg{color:var(--teal)}.parent-dashboard-current-book span,.parent-dashboard-current-book strong{min-width:0;display:block}.parent-dashboard-current-book span{color:var(--muted);font-size:.72rem;font-weight:850}.parent-dashboard-current-book strong{overflow-wrap:anywhere;white-space:normal;margin-top:2px;line-height:1.25}.parent-dashboard-reader-main>button{justify-self:start;margin-top:2px}.parent-dashboard-reader-metrics{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.parent-dashboard-reader-metrics>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--green-soft), var(--paper) 64%);align-content:center;gap:5px;min-width:0;min-height:108px;padding:15px;display:grid}.parent-dashboard-reader-metrics strong{color:var(--green-dark);font-size:1.9rem;line-height:1}.parent-dashboard-reader-metrics span{color:var(--muted);font-size:.78rem;font-weight:850}.schedule-priority-item{border:1px solid color-mix(in srgb, var(--gold), transparent 62%);background:color-mix(in srgb, var(--gold-soft), var(--paper) 45%);border-radius:7px;padding:10px}.schedule-queue-more{border:1px solid var(--line);background:var(--paper-soft);border-radius:7px}.schedule-queue-more>summary{min-height:42px;color:var(--ink);cursor:pointer;padding:10px 12px;font-size:.82rem;font-weight:850}.schedule-queue-list{border-top:1px solid var(--line);gap:10px;padding:0 12px 12px;display:grid}.schedule-queue-list>.row{padding-top:10px}.read-ahead-cta{color:#123d34;background:linear-gradient(135deg,#e8fbf3,#fff8df);border:1px solid #2f8c6d;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;font-weight:850;display:flex;box-shadow:inset 0 3px #a4621238}.read-ahead-cta.compact{padding:10px 12px}.read-ahead-cta svg{color:#8a4d07;flex:none}.read-ahead-cta p{margin:0;line-height:1.35}.reader-section-tabs{background:#e8f4ede6;border:1px solid #cfe5dcf2;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:18px;padding:4px;display:grid}.reader-section-tabs button{min-width:0;min-height:42px;color:var(--muted);background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 10px;font-weight:850;display:flex}.reader-section-tabs button span{white-space:nowrap;min-width:0}.reader-section-tabs button svg{color:var(--soft);flex:none}.reader-section-tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 4px 12px #12242214}.reader-section-tabs button.active svg{color:var(--teal)}.reader-section-panel{gap:18px;display:grid}.reader-section-panel .continue-card,.reader-section-panel .streak-card{margin-bottom:0}.streak-card{background:linear-gradient(135deg, var(--paper), #f2fbf5);min-height:auto;box-shadow:var(--shadow-soft);border:1px solid #cfe5dcf2;border-radius:8px;grid-template-columns:minmax(0,1fr);grid-template-areas:"header""body""art""actions";align-items:start;gap:12px;margin-bottom:18px;padding:clamp(16px,2vw,22px);display:grid;position:relative;overflow:hidden}.streak-card.success{border-color:#8ed5a9}.streak-card.catchup{border-color:#e1c789}.streak-card.broken{border-color:#e8b2af}.streak-card-header{grid-area:header;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;display:grid}.streak-icon{background:linear-gradient(135deg, var(--green-soft), var(--teal-soft));width:42px;height:42px;color:var(--green);border-radius:8px;place-items:center;display:grid;box-shadow:0 6px 16px #16805f1f}.streak-card.catchup .streak-icon{background:var(--gold-soft);color:var(--gold)}.streak-card.broken .streak-icon{background:var(--red-soft);color:var(--red)}.streak-card h2{margin:0;font-size:clamp(1.25rem,3vw,1.55rem);line-height:1.08}.streak-body{grid-area:body;align-content:start;gap:6px;min-width:0;display:grid}.streak-body p{margin:0;font-size:.95rem}.streak-count{align-items:baseline;gap:8px;display:flex}.streak-count strong{color:var(--green-dark);letter-spacing:0;font-size:clamp(2.45rem,7vw,3.45rem);line-height:.92}.streak-count span{color:var(--ink);font-size:1.05rem;font-weight:850}.streak-debt-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:4px 0;display:grid}.streak-debt-summary>div{background:var(--red-soft);border:1px solid #e8b2af;border-radius:8px;gap:2px;min-width:0;padding:10px;display:grid}.streak-debt-summary strong{color:var(--red);font-size:1.35rem;line-height:1}.streak-debt-summary span{color:var(--muted);font-size:.78rem;font-weight:850}.streak-motif{aspect-ratio:1000/390;background:var(--streak-bg) center / 100% 100% no-repeat;border-radius:7px;grid-area:art;align-self:stretch;width:100%;min-height:0;display:block}.streak-notification-button{white-space:nowrap}.streak-actions{grid-area:actions;grid-template-columns:repeat(auto-fit,minmax(180px,max-content));justify-content:end;place-self:end;gap:8px;display:grid}.streak-actions button{width:auto}.reader-shell.theme-early-reader .streak-card{background:linear-gradient(#fff7ff,#fae5ff);border-color:#c798ff;box-shadow:0 16px 36px #7e35d826}.reader-shell.theme-early-reader .streak-icon{color:#ffe873;background:linear-gradient(135deg,#7d35d8,#a84eef)}.reader-shell.theme-early-reader .streak-count strong{color:#5b20b2}.reader-shell.theme-early-reader .streak-notification-button{color:#4b238e;background:linear-gradient(#f8dcff,#f0cfff);border:1px solid #d8b4ff}.reader-shell.theme-middle-grade .streak-card{background:linear-gradient(#fffaeefa,#e3f3e6f5);border-color:#6da99a;box-shadow:0 16px 36px #0e55541f}.reader-shell.theme-middle-grade .streak-icon{color:#ffd66c;background:linear-gradient(135deg,#0e7f78,#0b5554)}.reader-shell.theme-middle-grade .streak-count strong{color:#0b6664}.reader-shell.theme-middle-grade .streak-notification-button{color:#fff;background:linear-gradient(#0e7f78,#0b5f5e);border:1px solid #0a6765}.reader-shell.theme-teen .streak-card{background:linear-gradient(#081c28fa,#05131dfa);border-color:#254956;box-shadow:0 18px 42px #0000004d}.reader-shell.theme-teen .streak-icon{color:#86e48c;background:#102b36;box-shadow:inset 0 0 0 1px #254956}.reader-shell.theme-teen .streak-count strong{color:#86e48c}.reader-shell.theme-teen .streak-count span{color:var(--ink)}.reader-shell.theme-teen .streak-notification-button{color:#dff7e3;background:linear-gradient(#1c5933,#143d29);border:1px solid #367347}.reader-shell.theme-neutral .streak-card{background:linear-gradient(#fff,#fbfcfd);border-color:#d8dde0;box-shadow:0 10px 28px #14202b12}.reader-shell.theme-neutral .streak-icon{color:#2d465d;background:#f0f2f4;box-shadow:inset 0 0 0 1px #d8dde0}.reader-shell.theme-neutral .streak-count strong{color:#1d3346}.reader-shell.theme-neutral .streak-notification-button{color:#14202b;background:linear-gradient(#f5f6f7,#eef1f3);border:1px solid #d8dde0}.reading-calendar{--calendar-grid-line:color-mix(in srgb, var(--line), transparent 26%);--calendar-day-bg:#fffffcd1;--calendar-weekday-bg:color-mix(in srgb, var(--teal-soft), transparent 34%);--calendar-covered:var(--green);--calendar-covered-ink:white;--calendar-banked:#f2c94c;--calendar-banked-ink:#3b2b03;--calendar-protected:var(--teal);--calendar-protected-ink:white;--calendar-today:var(--gold);--calendar-today-bg:var(--gold-soft);--calendar-debt:#ee8f82;--calendar-debt-ink:#40110d;--calendar-debt-wash:#ee8f822b;--calendar-debt-hatch:#ee8f8226;--calendar-streak-spine:color-mix(in srgb, var(--calendar-covered), white 6%);--calendar-streak-spine-soft:color-mix(in srgb, var(--calendar-covered), transparent 84%);--calendar-streak-cell-bg:color-mix(in srgb, var(--calendar-covered) 18%, var(--calendar-day-bg));--calendar-status-strip:color-mix(in srgb, var(--line), transparent 18%);--calendar-activity-bg:#d8f1f5;--calendar-activity-border:#4f9eaa;--calendar-activity-ink:#103f46;--calendar-reading-bg:#edf1f1;--calendar-reading-border:#879a9d;--calendar-recovery-bg:#dff5e5;--calendar-recovery-ink:#155b34;--calendar-outside-plan-bg:#e9efec;--calendar-outside-plan-line:#78908a;--calendar-outside-plan-ink:#536a64;box-shadow:var(--shadow-soft);background:#fffffceb;border:1px solid #cfe5dcf2;border-radius:8px;gap:10px;padding:clamp(12px,1.6vw,16px);display:grid}.calendar-history{gap:0;display:grid}.calendar-history-toolbar{border:1px solid var(--border);background:color-mix(in srgb, var(--card) 90%, var(--accent) 10%);border-bottom:0;border-radius:8px 8px 0 0;grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;padding:11px 12px;display:grid}.calendar-history-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;display:grid}.calendar-history-title{min-width:0;display:block}.calendar-history-title>div{min-width:0;display:grid}.calendar-history-title strong{text-overflow:clip;white-space:normal;line-height:1.25;overflow:visible}.calendar-history-icon{display:none}.calendar-history-select select{max-width:220px;min-height:36px;margin:0;padding:6px 30px 6px 9px}.calendar-history-status{white-space:nowrap;color:var(--muted);align-items:center;gap:5px;font-size:.76rem;font-weight:800;display:inline-flex}.calendar-history-status.completed{color:var(--success)}.calendar-history>.reading-calendar{border-radius:0 0 8px 8px}@media (max-width:640px){.calendar-history-toolbar{grid-template-columns:minmax(0,1fr)}.calendar-history-select select{width:100%;max-width:none}}.reading-calendar.reviving{background:linear-gradient(180deg, var(--paper), var(--red-soft));border-color:#e8b2af}:is(.reader-shell,.parent-shell).theme-early-reader .reading-calendar{--calendar-grid-line:#dfc6ffb8;--calendar-day-bg:#fffaffe6;--calendar-weekday-bg:#f5e8ff;--calendar-covered:#8f42e8;--calendar-banked:#ffd957;--calendar-protected:#ff7ac8;--calendar-today:#bd6500;--calendar-debt:#ff8f7a;--calendar-streak-spine:color-mix(in srgb, var(--calendar-covered), white 6%);--calendar-streak-spine-soft:color-mix(in srgb, var(--calendar-covered), transparent 84%);--calendar-streak-cell-bg:color-mix(in srgb, var(--calendar-covered) 20%, var(--calendar-day-bg));--calendar-activity-bg:#e8d7ff;--calendar-activity-border:#9b5be8;--calendar-activity-ink:#3e176e;--calendar-recovery-bg:#e8f8dd;--calendar-recovery-ink:#37621f;--calendar-outside-plan-bg:#f0e7f8;--calendar-outside-plan-line:#8f42e8;--calendar-outside-plan-ink:#69428e;background:#fffafff0;border-color:#dfc6fff2}:is(.reader-shell,.parent-shell).theme-middle-grade .reading-calendar{--calendar-grid-line:#c5dfd4c7;--calendar-day-bg:#fff9ede6;--calendar-weekday-bg:#d8f2ef;--calendar-covered:#0e7f78;--calendar-banked:#f2c94c;--calendar-protected:#0e8188;--calendar-streak-spine:color-mix(in srgb, var(--calendar-covered), white 6%);--calendar-streak-spine-soft:color-mix(in srgb, var(--calendar-covered), transparent 84%);--calendar-streak-cell-bg:color-mix(in srgb, var(--calendar-covered) 18%, var(--calendar-day-bg));--calendar-activity-bg:#d6f0ed;--calendar-activity-border:#278f89;--calendar-activity-ink:#0b514d;--calendar-outside-plan-bg:#e9f2ed;--calendar-outside-plan-line:#0e7f78;--calendar-outside-plan-ink:#426b66;background:#fff9edf0;border-color:#c5dfd4f2}:is(.reader-shell,.parent-shell).theme-teen .reading-calendar{--calendar-grid-line:#4065749e;--calendar-day-bg:#081f2be6;--calendar-weekday-bg:#102b36;--calendar-covered:#63d774;--calendar-covered-ink:#052215;--calendar-banked:#e2c56b;--calendar-banked-ink:#171104;--calendar-protected:#9cd5d9;--calendar-protected-ink:#06131d;--calendar-today:#e2c56b;--calendar-today-bg:#2a281a;--calendar-debt:#ff9b91;--calendar-debt-ink:#2a0706;--calendar-debt-wash:#ff9b912e;--calendar-debt-hatch:#ff9b9126;--calendar-streak-spine:color-mix(in srgb, var(--calendar-covered), white 7%);--calendar-streak-spine-soft:color-mix(in srgb, var(--calendar-covered), transparent 86%);--calendar-streak-cell-bg:color-mix(in srgb, var(--calendar-covered) 16%, var(--calendar-day-bg));--calendar-activity-bg:#123e4c;--calendar-activity-border:#4f9eb0;--calendar-activity-ink:#e0f8fc;--calendar-reading-bg:#263941;--calendar-reading-border:#657a81;--calendar-recovery-bg:#123c2b;--calendar-recovery-ink:#c5f8cf;--calendar-outside-plan-bg:#19313b;--calendar-outside-plan-line:#7f9aa0;--calendar-outside-plan-ink:#afc8cc;background:linear-gradient(#071a25,#0c2532);border-color:#24404b}:is(.reader-shell,.parent-shell).theme-neutral .reading-calendar{--calendar-grid-line:#d8dde0;--calendar-day-bg:#ffffffeb;--calendar-weekday-bg:#eef3f5;--calendar-covered:#2d465d;--calendar-banked:#d6b95c;--calendar-protected:#5d788b;--calendar-streak-spine:color-mix(in srgb, var(--calendar-covered), white 8%);--calendar-streak-spine-soft:color-mix(in srgb, var(--calendar-covered), transparent 88%);--calendar-streak-cell-bg:color-mix(in srgb, var(--calendar-covered) 16%, var(--calendar-day-bg));--calendar-activity-bg:#dceff2;--calendar-activity-border:#568b95;--calendar-activity-ink:#234f57;--calendar-recovery-bg:#e2f1e6;--calendar-recovery-ink:#315b40;--calendar-outside-plan-bg:#edf0f2;--calendar-outside-plan-line:#5d788b;--calendar-outside-plan-ink:#536a64;background:#fff;border-color:#d8dde0}.reading-calendar-header{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.reading-calendar-header h2{margin:0;font-size:1.08rem;line-height:1.12}.reading-calendar-header p{margin:2px 0 0;font-size:.84rem}.calendar-summary-pills,.calendar-legend{flex-wrap:wrap;gap:5px;display:flex}.calendar-month-bar{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-soft), white 48%);border-radius:8px;align-items:center;gap:6px;min-height:34px;padding:3px;display:flex}.calendar-month-bar strong{min-width:0;color:var(--ink);text-align:center;flex:auto;font-size:.9rem;line-height:1.1}.calendar-month-bar .icon-button{border-radius:6px;width:28px;height:28px;min-height:28px}.calendar-month-bar button:disabled{cursor:not-allowed}.calendar-plan-boundary{border:1px solid color-mix(in srgb, var(--calendar-outside-plan-line), transparent 48%);border-left:3px solid var(--calendar-outside-plan-line);color:var(--calendar-outside-plan-ink);background:color-mix(in srgb, var(--calendar-outside-plan-bg), var(--paper) 48%);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;padding:8px 10px;display:grid}.calendar-plan-boundary svg{flex:none;margin-top:1px}.calendar-plan-boundary strong,.calendar-plan-boundary p{min-width:0}.calendar-plan-boundary strong{font-size:.78rem;line-height:1.2;display:block}.calendar-plan-boundary p{color:var(--muted);margin:2px 0 0;font-size:.75rem;font-weight:700;line-height:1.3}.compact-button{white-space:nowrap;width:auto;min-height:28px;padding:0 10px}.calendar-month-shell{border:1px solid var(--line);background:color-mix(in srgb, var(--paper), white 24%);border-radius:8px;overflow:hidden}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays{border-bottom:1px solid var(--line);background:var(--calendar-weekday-bg)}.calendar-weekdays span{height:25px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase;place-items:center;font-size:.75rem;font-weight:900;display:grid}.calendar-day{isolation:isolate;--calendar-cell-spine:var(--calendar-streak-spine);--calendar-cell-strip:var(--calendar-status-strip);border-right:1px solid var(--calendar-grid-line);border-bottom:1px solid var(--calendar-grid-line);background:var(--calendar-day-bg);align-content:start;justify-items:center;min-height:62px;padding:5px 3px 22px;display:grid;position:relative;overflow:hidden}.calendar-day-inspect{display:none}.calendar-day:nth-child(7n){border-right:0}.calendar-day:nth-last-child(-n+7){border-bottom:0}.calendar-day.outside-month{opacity:.52}.calendar-date-number{z-index:5;width:22px;height:22px;color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, currentColor, transparent 78%), 0 1px 2px #1224221a;border-radius:999px;place-items:center;font-size:.78rem;font-weight:900;line-height:1;display:grid;position:relative}.calendar-status-glyph{z-index:5;border:1px solid color-mix(in srgb, currentColor, transparent 72%);width:15px;height:15px;color:var(--teal);background:var(--calendar-day-bg);box-shadow:0 1px 2px color-mix(in srgb, currentColor, transparent 76%);border-radius:999px;place-items:center;margin:0;display:grid;position:absolute;top:7px;left:calc(50% + 10px)}.calendar-status-glyph svg{stroke-width:2.7px;width:9px;height:9px}.calendar-chapter-label{z-index:5;max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.75rem;font-weight:900;line-height:1;position:relative;overflow:hidden}.calendar-activity-band,.calendar-recovery-band{z-index:8;border:1px solid var(--calendar-activity-border);min-width:0;height:17px;min-height:17px;max-height:17px;color:var(--calendar-activity-ink);background:var(--calendar-activity-bg);letter-spacing:0;white-space:nowrap;cursor:pointer;border-radius:4px;justify-content:center;align-items:center;gap:3px;padding:0 4px;font-size:.46rem;font-weight:900;line-height:1;display:flex;position:absolute;bottom:3px;left:3px;right:3px;overflow:hidden}.calendar-activity-band.reading{border-color:var(--calendar-reading-border);background:var(--calendar-reading-bg)}.calendar-activity-band svg,.calendar-recovery-band svg{flex:none}.calendar-activity-band span,.calendar-activity-band strong,.calendar-recovery-band span{text-overflow:ellipsis;min-width:0;overflow:hidden}.calendar-activity-band strong:before{content:"Ch "}.calendar-recovery-band{border-color:color-mix(in srgb, var(--calendar-covered), transparent 48%);color:var(--calendar-recovery-ink);background:var(--calendar-recovery-bg)}.calendar-day:has(.calendar-activity-band):has(.calendar-recovery-band){min-height:80px;padding-bottom:40px}.calendar-day:has(.calendar-activity-band):has(.calendar-recovery-band) .calendar-recovery-band{bottom:22px}.calendar-activity-band:focus-visible,.calendar-recovery-band:focus-visible{outline:2px solid var(--calendar-today);outline-offset:-1px}.calendar-detail-panel{border:1px solid var(--calendar-activity-border);color:var(--ink);background:color-mix(in srgb, var(--calendar-activity-bg), var(--paper) 58%);border-radius:7px;gap:10px;padding:12px;display:grid}.calendar-detail-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.calendar-detail-heading .icon-button{width:27px;height:27px;min-height:27px}.calendar-detail-entry{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;display:grid}.calendar-detail-entry p{color:var(--muted);margin:3px 0 0;font-size:.74rem;font-weight:720;line-height:1.35}.calendar-detail-icon{width:30px;height:30px;color:var(--calendar-activity-ink);background:var(--calendar-activity-bg);border-radius:6px;place-items:center;display:grid}.calendar-detail-icon.recovery{color:var(--calendar-recovery-ink);background:var(--calendar-recovery-bg)}.calendar-event-glyphs{z-index:6;color:var(--calendar-protected-ink);gap:1px;display:flex;position:absolute;top:4px;right:4px}.calendar-day.has-special-events .calendar-status-glyph{display:none}.calendar-event-glyphs svg{background:var(--calendar-protected);width:12px;height:12px;box-shadow:0 0 0 1px color-mix(in srgb, var(--paper), transparent 35%);border-radius:999px;padding:1px}.calendar-cell-signals{display:none}.calendar-signal,.calendar-legend-mark{border-radius:999px;place-items:center}.calendar-legend-mark{width:18px;height:18px;color:var(--ink);background:var(--paper-soft);box-shadow:inset 0 0 0 1px var(--calendar-grid-line);flex:none;display:inline-grid}.calendar-legend-mark.streak{color:var(--calendar-covered-ink);background:var(--calendar-day-bg);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--calendar-covered), transparent 48%)}.calendar-legend-mark.banked{color:var(--calendar-banked-ink);background:var(--calendar-banked)}.calendar-legend-mark.saver{color:var(--calendar-protected-ink);background:var(--calendar-protected)}.calendar-legend-mark.pause{color:var(--muted);background:color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 24%)}.calendar-legend-mark.catchup{color:var(--calendar-debt-ink);background:var(--calendar-debt)}.calendar-legend-mark.activity{color:var(--calendar-activity-ink);background:var(--calendar-activity-bg)}.calendar-legend-mark.recovery{color:var(--calendar-recovery-ink);background:var(--calendar-recovery-bg)}.calendar-legend-mark.outside{color:var(--calendar-outside-plan-ink);background:repeating-linear-gradient(135deg, var(--calendar-outside-plan-bg) 0 3px, color-mix(in srgb, var(--calendar-outside-plan-line), transparent 82%) 3px 4px)}.calendar-activity-dot{z-index:5;background:var(--calendar-covered);width:5px;height:5px;box-shadow:0 0 0 2px color-mix(in srgb, var(--calendar-covered), transparent 74%);border-radius:999px;position:absolute;bottom:7px;right:6px}.calendar-day:before{content:none;z-index:1;background:color-mix(in srgb, var(--calendar-grid-line), transparent 46%);pointer-events:none;border-radius:999px;height:5px;position:absolute;top:50%;left:-1px;right:-1px;transform:translateY(8px)}.calendar-day:after{content:none;z-index:2;background:var(--calendar-cell-strip);opacity:.72;pointer-events:none;border-radius:999px;width:5px;position:absolute;top:6px;bottom:6px;left:6px}.calendar-day.covered,.calendar-day.banked,.calendar-day.protected,.calendar-day.due-today{--calendar-cell-strip:var(--calendar-covered)}.calendar-day.debt,.calendar-day.at-risk{--calendar-cell-spine:color-mix(in srgb, var(--calendar-debt), white 6%);--calendar-cell-strip:var(--calendar-debt)}.calendar-day.revival-paid{--calendar-cell-spine:color-mix(in srgb, var(--calendar-debt), white 6%);--calendar-cell-strip:linear-gradient(180deg, var(--calendar-debt) 0 52%, var(--calendar-covered) 52%)}.calendar-day.missed-covered{--calendar-cell-strip:linear-gradient(180deg, var(--calendar-debt) 0 48%, var(--calendar-covered) 48% 100%)}.calendar-day.banked{--calendar-cell-strip:var(--calendar-banked)}.calendar-day.protected{--calendar-cell-strip:var(--calendar-protected)}.calendar-day.paused{--calendar-cell-strip:color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 25%)}.calendar-day.unscheduled:after{opacity:.44}.calendar-streak-ribbon{display:none}.calendar-day.streak-day{background:var(--calendar-streak-cell-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--calendar-covered), transparent 42%)}.calendar-day.outside-plan{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--calendar-outside-plan-line), transparent 86%) 0 1px, transparent 1px 8px), color-mix(in srgb, var(--calendar-outside-plan-bg), var(--calendar-day-bg) 72%)}.calendar-day.outside-plan .calendar-date-number,.calendar-day.outside-plan .calendar-status-glyph,.calendar-day.outside-plan .calendar-event-glyphs,.calendar-day.outside-plan .calendar-chapter-label{opacity:.58}.calendar-day.outside-plan .calendar-activity-band,.calendar-day.outside-plan .calendar-recovery-band{opacity:1}.calendar-plan-ended-marker{z-index:7;border:1px solid color-mix(in srgb, var(--calendar-outside-plan-line), transparent 35%);color:var(--calendar-outside-plan-ink);background:color-mix(in srgb, var(--calendar-outside-plan-bg), var(--paper) 34%);overflow-wrap:normal;text-align:center;border-radius:3px;padding:2px 3px;font-size:.75rem;font-weight:900;line-height:1;position:absolute;top:4px;left:3px;right:3px}.calendar-day.has-plan-boundary-marker{padding-top:24px}.calendar-day.covered .calendar-date-number{color:var(--calendar-covered-ink);background:var(--calendar-covered)}.calendar-day.revival-paid{background:linear-gradient(135deg, var(--calendar-debt-wash), color-mix(in srgb, var(--calendar-covered), transparent 90%) 62%, transparent), var(--calendar-day-bg)}.calendar-day.revival-paid .calendar-date-number{color:var(--calendar-debt-ink);background:var(--calendar-debt)}.calendar-day.revival-paid .calendar-status-glyph{width:16px;height:16px;color:var(--calendar-covered-ink);background:var(--calendar-covered);box-shadow:0 0 0 2px color-mix(in srgb, var(--calendar-covered), transparent 74%);border-radius:999px}.calendar-day.banked .calendar-date-number{color:var(--calendar-banked-ink);background:var(--calendar-banked);box-shadow:0 0 0 2px color-mix(in srgb, var(--calendar-banked), transparent 70%)}.calendar-day.protected .calendar-date-number{color:var(--calendar-protected-ink);background:var(--calendar-protected)}.calendar-day.paused .calendar-date-number{color:var(--muted);background:color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 24%)}.calendar-day.paused .calendar-status-glyph{color:var(--muted)}.calendar-day.due-today .calendar-date-number{color:var(--ink);background:var(--calendar-today-bg);box-shadow:inset 0 0 0 2px var(--calendar-today)}.calendar-day.debt,.calendar-day.at-risk{background:linear-gradient(135deg, var(--calendar-debt-wash), transparent 58%), repeating-linear-gradient(135deg, transparent 0 6px, var(--calendar-debt-hatch) 6px 8px), var(--calendar-day-bg)}.calendar-day.debt .calendar-date-number,.calendar-day.at-risk .calendar-date-number{color:var(--calendar-debt-ink);background:var(--calendar-debt)}.calendar-day.future .calendar-status-glyph{color:var(--teal)}.calendar-day.visual-neutral,.calendar-day.visual-paused,.calendar-day.visual-covered{background:var(--calendar-day-bg)}.calendar-day.visual-neutral .calendar-date-number{color:var(--ink);box-shadow:none;background:0 0}.calendar-day.visual-read{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-activity-border), transparent 82%) 9px 10px), color-mix(in srgb, var(--calendar-activity-bg), var(--calendar-day-bg) 34%);box-shadow:inset 0 1px 0 #ffffffc7, inset 0 0 0 1px color-mix(in srgb, var(--calendar-activity-border), transparent 64%)}.calendar-day.visual-read .calendar-date-number,.calendar-day.visual-read .calendar-status-glyph{color:var(--calendar-activity-ink);background:var(--calendar-activity-bg)}.calendar-day.visual-covered{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-covered), transparent 84%) 9px 10px), color-mix(in srgb, var(--calendar-covered), var(--calendar-day-bg) 78%);box-shadow:inset 0 1px 0 #ffffffc7, inset 0 0 0 1px color-mix(in srgb, var(--calendar-covered), transparent 70%)}.calendar-day.visual-covered .calendar-date-number,.calendar-day.visual-covered .calendar-status-glyph{color:var(--calendar-covered-ink);background:var(--calendar-covered)}.calendar-day.visual-covered .calendar-status-glyph{box-shadow:0 1px 2px color-mix(in srgb, var(--calendar-covered-ink), transparent 74%)}.calendar-day.visual-save-today{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-protected), transparent 78%) 9px 10px), color-mix(in srgb, var(--calendar-protected), var(--calendar-day-bg) 70%);box-shadow:inset 0 1px 0 #fffc, inset 0 0 0 1px color-mix(in srgb, var(--calendar-protected), transparent 54%)}.calendar-day.visual-save-today .calendar-date-number,.calendar-day.visual-save-today .calendar-status-glyph{color:var(--calendar-protected-ink);background:var(--calendar-protected)}.calendar-day.visual-catchup{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-debt), transparent 88%) 9px 10px), color-mix(in srgb, var(--calendar-debt-wash), var(--calendar-day-bg) 42%);box-shadow:inset 0 1px 0 #ffffffb8, inset 0 0 0 1px color-mix(in srgb, var(--calendar-debt), transparent 72%)}.calendar-day.visual-catchup .calendar-date-number,.calendar-day.visual-catchup .calendar-status-glyph{color:var(--calendar-debt-ink);background:var(--calendar-debt)}.calendar-day.visual-catchup .calendar-status-glyph svg,.calendar-legend-mark.catchup svg{transform:translateY(-.5px)}.calendar-day.visual-recovered{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-covered), transparent 55%) 9px 10px), color-mix(in srgb, var(--calendar-debt-wash), var(--calendar-day-bg) 38%);box-shadow:inset 0 1px 0 #ffffffc2, inset 0 0 0 1px color-mix(in srgb, var(--calendar-debt), transparent 76%)}.calendar-day.visual-recovered .calendar-date-number{color:var(--calendar-debt-ink);background:var(--calendar-debt)}.calendar-day.visual-recovered .calendar-status-glyph{color:var(--calendar-covered-ink);background:var(--calendar-covered)}.calendar-day.visual-saved{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-protected), transparent 80%) 9px 10px), color-mix(in srgb, var(--calendar-protected), var(--calendar-day-bg) 78%);box-shadow:inset 0 1px 0 #fffc, inset 0 0 0 1px color-mix(in srgb, var(--calendar-protected), transparent 64%)}.calendar-day.visual-saved .calendar-date-number,.calendar-day.visual-saved .calendar-status-glyph{color:var(--calendar-protected-ink);background:var(--calendar-protected)}.calendar-day.visual-paused .calendar-date-number{color:var(--muted);background:color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 24%)}.calendar-day.visual-paused .calendar-status-glyph{color:var(--muted);background:color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 20%)}.calendar-day.visual-paused{background:repeating-linear-gradient(135deg, transparent 0 9px, color-mix(in srgb, var(--calendar-grid-line), transparent 70%) 9px 10px), color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 78%);box-shadow:inset 0 1px #ffffffd1}.calendar-day.visual-outside{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--calendar-outside-plan-line), transparent 86%) 0 1px, transparent 1px 8px), color-mix(in srgb, var(--calendar-outside-plan-bg), var(--calendar-day-bg) 72%)}.calendar-day.streak-day{box-shadow:inset 0 0 0 2px var(--calendar-covered), inset 0 0 0 4px color-mix(in srgb, var(--calendar-streak-cell-bg), transparent 16%)}.parent-compact-calendar .calendar-day .calendar-status-glyph{width:14px;height:14px}.calendar-day.is-selected{z-index:9;box-shadow:inset 0 0 0 3px var(--calendar-today), 0 0 0 2px color-mix(in srgb, var(--calendar-today), transparent 74%)}.calendar-legend{color:var(--muted);font-size:.75rem;font-weight:850}.calendar-legend-groups{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-soft), white 34%);border-radius:6px;gap:8px;padding:9px;display:grid}.calendar-key{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-soft), white 34%);border-radius:7px}.calendar-key>summary{min-height:42px;color:var(--ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;list-style:none;display:grid}.calendar-key>summary::-webkit-details-marker{display:none}.calendar-key-title{align-items:center;gap:7px;font-size:.82rem;font-weight:900;display:inline-flex}.calendar-key-hint{color:var(--muted);text-align:right;font-size:.75rem;font-weight:750}.calendar-key-chevron{transition:transform .16s}.calendar-key[open] .calendar-key-chevron{transform:rotate(180deg)}.calendar-key .calendar-legend-groups{border:0;border-top:1px solid var(--line);background:0 0;border-radius:0}.calendar-legend-group{gap:5px;display:grid}.calendar-legend-group>strong{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:900}.calendar-legend span{align-items:center;gap:4px;display:inline-flex}.calendar-legend svg{width:12px;height:12px}.calendar-legend-mark.read{color:var(--calendar-activity-ink);background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-activity-border), transparent 52%) 5px 6px), color-mix(in srgb, var(--calendar-activity-bg), var(--calendar-day-bg) 18%)}.calendar-legend-mark.covered{color:var(--calendar-covered-ink);background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-covered), transparent 50%) 5px 6px), color-mix(in srgb, var(--calendar-covered), var(--calendar-day-bg) 50%)}.calendar-legend-mark.save-today{color:var(--calendar-protected-ink);background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-protected), transparent 40%) 5px 6px), color-mix(in srgb, var(--calendar-protected), var(--calendar-day-bg) 42%)}.calendar-legend-mark.recovered{color:var(--calendar-covered-ink);background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-covered), transparent 34%) 5px 6px), color-mix(in srgb, var(--calendar-debt-wash), var(--calendar-day-bg) 28%)}.calendar-legend-mark.saved{color:var(--calendar-protected-ink);background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-protected), transparent 42%) 5px 6px), color-mix(in srgb, var(--calendar-protected), var(--calendar-day-bg) 50%)}.calendar-legend-mark.catchup{background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-debt), transparent 50%) 5px 6px), color-mix(in srgb, var(--calendar-debt-wash), var(--calendar-day-bg) 20%)}.calendar-legend-mark.pause{background:repeating-linear-gradient(135deg, transparent 0 5px, color-mix(in srgb, var(--calendar-grid-line), transparent 30%) 5px 6px), color-mix(in srgb, var(--calendar-grid-line), var(--calendar-day-bg) 55%)}.calendar-streak-note{background:color-mix(in srgb, var(--paper-soft), white 34%);color:var(--ink);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:8px;display:grid}.calendar-streak-note p{margin:0;font-size:.78rem;font-weight:750;line-height:1.3}.calendar-ribbon-sample{border:1px solid color-mix(in srgb, var(--calendar-covered), transparent 42%);background:var(--calendar-streak-cell-bg);border-radius:5px;width:22px;height:22px}.parent-compact-calendar{box-shadow:none;gap:8px;padding:10px}.parent-compact-calendar .reading-calendar-header{align-items:center}.parent-compact-calendar .reading-calendar-header h2{font-size:.98rem}.parent-compact-calendar .calendar-summary-pills{justify-content:flex-end}.parent-compact-calendar .calendar-month-bar{min-height:30px}.parent-compact-calendar .calendar-weekdays span{height:22px;font-size:.75rem}.parent-compact-calendar .calendar-day{min-height:52px;padding-bottom:20px}.parent-compact-calendar .calendar-date-number{width:18px;height:18px;font-size:.75rem}.parent-compact-calendar .calendar-status-glyph{width:13px;height:13px}.parent-compact-calendar .calendar-chapter-label{font-size:.75rem}.parent-compact-calendar .calendar-activity-band,.parent-compact-calendar .calendar-recovery-band{height:15px;min-height:15px;max-height:15px;padding:0 2px;font-size:.4rem;bottom:2px;left:2px;right:2px}.reward-balance{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.reward-balance>div{border:1px solid var(--line);background:linear-gradient(180deg, #fffdf6, var(--paper-soft));border-radius:8px;gap:2px;padding:12px;display:grid;box-shadow:inset 0 3px #ffc84d47}.reward-balance strong{color:var(--green-dark);font-size:1.65rem;line-height:1}.reward-balance span{color:var(--muted);font-weight:800}.reward-path-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:12px;padding:0;display:grid;overflow:hidden}.reward-path-image{aspect-ratio:1000/390;background:var(--reward-path-image) center / 100% 100% no-repeat;border-radius:8px;width:100%;min-height:0}.reward-path-summary{flex-wrap:wrap;justify-content:space-between;gap:8px;padding:0 2px;display:flex}.rewards-panel .empty-state{padding:18px}.reward-timeline{gap:8px;display:grid}.reward-item{border:1px solid var(--line);background:linear-gradient(180deg, var(--paper-soft), #fffdf6);border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:10px;padding:10px;display:grid}.reward-item p{margin:2px 0 0}.grid{align-items:start;gap:18px;display:grid}.two{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-workspace>.two{grid-template-columns:minmax(340px,.9fr) minmax(440px,1.1fr)}.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-soft);border-radius:8px;padding:18px}.scan-panel,.suggestion-card,.computed-note{border:1px solid var(--line);background:color-mix(in srgb, var(--paper-soft) 72%, white);border-radius:8px}.scan-panel,.suggestion-card{padding:14px}.computed-note{color:var(--muted);margin:0;padding:12px 14px;font-weight:800}.inline-title{align-items:center;gap:8px;display:inline-flex}.compact-list{color:var(--muted);margin:0;padding-left:18px}.stack{gap:14px;display:grid}.manage-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:10px;padding:12px;display:grid}.manage-item .row{gap:8px}.manage-item button{min-height:38px}.book-tools,.schedule-tools,.log-tools,.user-tools{grid-template-columns:minmax(220px,1fr) minmax(150px,.7fr) minmax(140px,.6fr);align-items:end;gap:10px;display:grid}.book-tools,.user-tools,.log-tools{grid-template-columns:minmax(220px,1fr) minmax(150px,.5fr)}.schedule-tools{grid-template-columns:minmax(0,1fr) minmax(120px,.45fr) minmax(120px,.45fr)}.search-field{position:relative}.search-field svg{color:var(--muted);pointer-events:none;position:absolute;bottom:12px;left:12px}.search-field input{padding-left:38px}.book-list,.schedule-list,.user-list{gap:8px;display:grid}.schedule-plan{border:1px solid var(--line);background:var(--paper);border-radius:8px;gap:8px;min-width:0;padding:8px;display:grid}.schedule-plan.active{background:var(--gold-soft);border-color:#e1c789}.book-row,.schedule-row,.user-row{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.schedule-plan .schedule-row{background:0 0;border:0;grid-template-columns:minmax(0,1fr) auto;padding:0}.book-row.active,.schedule-row.active,.user-row.active{background:var(--green-soft);border-color:#83b7a0}.book-summary,.schedule-summary,.user-summary{min-height:48px;color:var(--ink);text-align:left;background:0 0;justify-content:space-between;min-width:0;padding:0 8px}.book-summary>span:first-child,.schedule-summary>span:first-child,.user-summary>span:first-child{gap:2px;display:grid}.book-row-actions,.schedule-row-actions,.user-row-actions{flex:none;gap:6px;display:flex}.schedule-row-actions{grid-template-columns:84px 42px;display:grid}.schedule-row-actions button.secondary{min-width:0;padding:0 10px}.book-editor-panel,.schedule-editor-panel,.user-editor-panel{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.schedule-entry-list{border-top:1px solid var(--line);gap:8px;padding-top:8px;display:grid}.schedule-entry{border:1px solid var(--line);background:var(--paper);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.schedule-entry.active{background:var(--green-soft);border-color:#83b7a0}.progress-copy{min-width:0}.progress-copy p,.answer-panel p,.review-note p,.card p{overflow-wrap:anywhere}.progress-actions{flex-shrink:0;justify-content:flex-end}.log-row{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;padding:14px;display:grid}.log-row.compact{padding:12px}.grading-audit{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;gap:10px;margin-top:12px;display:grid}.grading-audit summary{cursor:pointer;color:var(--green);align-items:center;gap:8px;padding:10px 12px;font-weight:850;display:flex}.grading-audit[open] summary{border-bottom:1px solid var(--line)}.grading-audit-body{gap:12px;padding:12px;display:grid}.audit-score-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.audit-score-grid>div,.audit-note,.quiz-audit-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;min-width:0;padding:10px}.audit-score-grid span,.audit-score-grid strong{display:block}.audit-score-grid strong{margin-top:3px;font-size:1.15rem}.audit-note{gap:6px;display:grid}.audit-note p,.audit-note ul,.quiz-audit-item p{margin:0}.audit-note ul{padding-left:18px}.quiz-audit-list{gap:10px;display:grid}.quiz-audit-item{gap:8px;display:grid}.feedback-state{border:1px dashed var(--line-strong);text-align:center;background:linear-gradient(#fffffcf5,#f6fbf7f5),repeating-linear-gradient(135deg,#ffc84d14 0 1px,#0000 1px 14px);border-radius:8px;place-content:center;justify-items:center;gap:8px;min-height:116px;display:grid}.feedback-state>svg{color:var(--teal)}.feedback-icon{background:var(--teal-soft);width:44px;height:44px;color:var(--teal);border-radius:8px;place-items:center;display:grid;box-shadow:0 8px 18px #147f8b1f}.feedback-state p,.feedback-state strong{margin:0}.feedback-state.compact{place-content:initial;text-align:left;grid-template-columns:auto minmax(0,1fr);place-items:center start;min-height:auto;padding:12px}.loading-state{border-style:solid}.loading-state>svg{color:var(--green);animation:.9s linear infinite spin}.error-state{background:var(--red-soft);color:var(--red);border-style:solid;border-color:#d9aaa5}.error-state p{color:var(--red)}.log-feedback{gap:12px;margin-top:12px;display:grid}.attempt-feedback{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;gap:10px;padding:12px;display:grid}.score-row{gap:6px}.feedback-details{gap:8px;display:grid}.feedback-details summary{cursor:pointer;width:fit-content;color:var(--green);font-weight:800}.feedback-details[open] summary{margin-bottom:8px}.feedback-list{gap:8px;display:grid}.feedback-item{border-top:1px solid var(--line);gap:6px;padding-top:8px;display:grid}.feedback-item:first-child{border-top:0;padding-top:0}.answer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.citation-list{flex-wrap:wrap;gap:8px;display:flex}.review-panel{z-index:40;overscroll-behavior:contain;background:#1f2a2575;padding:24px 16px;position:fixed;inset:0;overflow:auto}.review-shell{background:var(--paper);border:1px solid var(--line);width:min(960px,100%);box-shadow:var(--shadow-pop);border-radius:8px;margin:0 auto;padding:18px}.review-header{z-index:1;background:var(--paper);border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:10px;display:flex;position:sticky;top:-24px}.review-summary,.review-note{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.review-note{background:var(--gold-soft);border-color:#e1c789}.back-link{color:var(--green);align-items:center;gap:8px;margin-bottom:16px;font-weight:800;text-decoration:none;display:inline-flex}.quiz-detail-grid{grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.quiz-detail-summary{position:sticky;top:96px}.quiz-detail-summary h1{letter-spacing:0;margin:0;font-size:clamp(1.45rem,2.2vw,2rem)}.answer-panel{border:1px solid var(--line);background:var(--paper-soft);border-radius:8px;gap:6px;padding:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.spaced{justify-content:space-between}.muted{color:var(--muted)}.pill{border:1px solid var(--line);color:var(--muted);background:var(--paper);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:.84rem;font-weight:800;display:inline-flex}.pill.success{background:var(--success-soft);color:var(--success);border-color:#a6d2b6}.pill.warn{background:var(--gold-soft);color:var(--gold);border-color:#e1c789}.segmented{border:1px solid var(--line);background:#edf3ee;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:4px;display:grid}.segmented label{min-height:38px;color:var(--muted);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:flex}.segmented label.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #17231f14}.segmented input{opacity:0;pointer-events:none;position:absolute}.section-tabs{display:none}.legacy-section-tabs{border:1px solid var(--line);background:#edf3ee;border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:18px;padding:4px;display:grid}.legacy-section-tabs button{min-height:40px;color:var(--muted);background:0 0;border-radius:6px}.legacy-section-tabs button.active{background:var(--paper);color:var(--ink);box-shadow:0 1px 2px #17231f14}.loading-interstitial{z-index:50;background:linear-gradient(180deg, color-mix(in srgb, var(--canvas) 96%, transparent), color-mix(in srgb, var(--paper) 94%, transparent));color:var(--ink);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);place-content:center;justify-items:center;gap:10px;padding:24px;display:grid;position:fixed;inset:0}.loading-interstitial strong{color:var(--ink)}.loading-interstitial p{max-width:320px;color:var(--muted)}.spinner{border:4px solid var(--line);border-top-color:var(--green);border-radius:50%;width:42px;height:42px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes lumo-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes lumo-sparkle{0%,to{opacity:.55;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}.success{color:var(--success)}.warn{color:var(--gold)}.error{color:var(--red)}.status{border:1px solid var(--gold);background:var(--gold-soft);color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:10px 12px;font-weight:700;display:flex}.status-row{margin-bottom:16px}.success-status{border-color:var(--success);background:var(--success-soft);color:var(--success)}.warning-status{border-color:var(--gold);background:var(--gold-soft);color:var(--ink)}.error-status{border-color:var(--red);background:var(--red-soft);color:var(--red)}.login{place-items:center;min-height:100vh;padding:24px;display:grid}.login .card{border-color:var(--line-strong);width:min(420px,100%);box-shadow:0 20px 70px #17231f1f}.mobile-nav{display:none}.card h2,.card h3{letter-spacing:0;margin:0;line-height:1.14}.card p{margin:0}@media (max-width:1040px){.streak-card{min-height:auto}}.mobile-activity-list,.mobile-stack-segments,.mobile-parent-plan{display:none}.desktop-parent-plan{margin-bottom:16px;display:grid}@media (max-width:820px){.desktop-activity-list{display:none}.mobile-activity-list{gap:12px;display:grid}html,body{overflow-x:hidden}.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.two,.three,.answer-grid,.quiz-detail-grid{grid-template-columns:1fr}.topbar{width:100%;min-height:72px;margin:0;padding:12px 16px}.topbar:before{height:72px}.topbar .muted{font-size:.86rem}.brand-mark{flex:none;width:40px;height:40px}.app-actions{display:none}.page{width:min(100% - 24px,1180px);padding:18px 0 32px}.reader-intro{grid-template-columns:1fr;gap:12px}.parent-overview-panels{grid-template-columns:1fr;gap:10px;margin-bottom:14px}.parent-hero-panel{align-content:space-between;padding:14px}.parent-hero-panel h1{max-width:68%;font-size:clamp(1.55rem,7vw,2rem)}.parent-hero-panel p{max-width:62%;font-size:.9rem;line-height:1.24}.parent-hero-stats{gap:6px;margin-top:10px}.parent-hero-stats span{padding:6px 8px;font-size:.82rem}.parent-support-panel{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr);align-content:space-between;gap:8px 10px;padding:12px}.parent-support-panel .support-icon{grid-row:1;width:34px;height:34px}.parent-support-panel .eyebrow,.parent-support-panel p{display:none}.support-panel-actions{grid-area:2/1/auto/-1;justify-content:stretch;justify-self:stretch}.support-panel-action{flex:100%;min-height:36px}.support-panel-actions .support-panel-action:first-child{display:none}.parent-support-panel h2{margin:0;font-size:clamp(.98rem,4.6vw,1.1rem)}.parent-reader-calendar-list{grid-template-columns:1fr}.parent-reader-calendar-card{padding:10px}.reading-calendar-header{flex-direction:column;align-items:stretch}.reading-calendar-header>.row p{display:none}.calendar-summary-pills{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;max-width:100%;padding-bottom:2px;overflow-x:auto}.reading-calendar .calendar-summary-pills .pill{padding:3px 7px;font-size:.75rem}.calendar-month-bar{gap:4px}.calendar-month-bar strong{font-size:.84rem}.calendar-weekdays span{height:22px;font-size:.75rem}.calendar-day{aspect-ratio:1;align-content:start;min-height:46px;padding:5px 2px}.calendar-day:has(.calendar-activity-band):has(.calendar-recovery-band){min-height:46px;padding-bottom:5px}.calendar-day-inspect{z-index:10;background:0 0;border:0;border-radius:0;min-width:0;min-height:0;padding:0;display:block;position:absolute;inset:0}.calendar-day-inspect:focus-visible{outline:2px solid var(--calendar-today);outline-offset:-2px}.calendar-date-number{width:20px;height:20px;font-size:.75rem}.calendar-status-glyph{width:14px;height:14px;inset:auto 4px 4px auto}.calendar-chapter-label,.calendar-plan-ended-marker{display:none}.calendar-activity-band,.calendar-recovery-band,.calendar-activity-band span{display:none}.calendar-activity-band strong:before{content:none}.calendar-recovery-word{display:none}.calendar-day:has(.calendar-activity-band):before{content:"";z-index:7;background:var(--calendar-activity-ink);width:6px;height:6px;box-shadow:0 0 0 2px color-mix(in srgb, var(--calendar-activity-bg), transparent 18%);border-radius:999px;position:absolute;inset:auto auto 6px 6px;transform:none}.calendar-day:has(.calendar-recovery-band):after{content:"";z-index:7;background:var(--calendar-recovery-ink);opacity:1;border-radius:999px;width:6px;height:6px;position:absolute;inset:auto auto 6px 16px}.calendar-plan-ended-marker{color:#0000;background:var(--calendar-outside-plan-ink);border-radius:999px;width:5px;height:5px;padding:0;top:3px;left:auto;right:3px;overflow:hidden}.calendar-day.has-plan-boundary-marker{padding-top:5px}.calendar-detail-panel{padding:10px}.calendar-legend{scrollbar-width:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;max-width:100%;padding-bottom:3px;display:grid;overflow:visible}.reader-experience-card{padding:14px}.reader-experience-card:before{background:linear-gradient(90deg,#0000007a,#0000003d 46%,#0000 74%)}.reader-hero-copy{text-shadow:0 2px 14px #00000070;gap:7px;max-width:58%}.reader-hero-copy h1{font-size:clamp(1.8rem,8vw,2.35rem);line-height:.98}.reader-hero-copy p{margin-top:4px;font-size:.92rem;line-height:1.2}.speech-bubble{max-width:100%;box-shadow:none;background:0 0;border:0;gap:2px;padding:0;font-size:.9rem}:is(.reader-shell.theme-early-reader,.reader-shell.theme-middle-grade,.reader-shell.theme-teen,.reader-shell.theme-neutral) .speech-bubble{color:inherit;box-shadow:none;background:0 0;border:0}.reader-shell.theme-neutral .reader-experience-card:before{background:linear-gradient(90deg,#ffffffd6,#ffffff80 46%,#0000 74%);display:block}.reader-shell.theme-neutral .reader-hero-copy{text-shadow:none}.reader-shell.theme-neutral .reader-experience-card:after{display:block}.speech-bubble span{color:inherit;opacity:.92;font-size:.84rem;line-height:1.2}.mascot-nudge{grid-template-columns:54px minmax(0,1fr);padding:10px}.mascot-nudge .lumo-mascot{width:54px;height:54px}.card{padding:16px}.card.row,.manage-item .row{flex-direction:column;align-items:stretch}.progress-actions{justify-content:flex-start;align-items:stretch;width:100%}.continue-card{flex-direction:column;align-items:stretch}.reader-section-tabs{gap:4px;padding:3px}.reader-section-tabs button{gap:5px;min-height:44px;padding:7px 4px;font-size:clamp(.78rem,3.4vw,.92rem)}.reader-section-tabs button svg{width:15px;height:15px}.streak-notification-button{width:100%}.streak-card,.parent-support-card.streak-card{grid-template-columns:1fr;grid-template-areas:"header""body""art""actions";min-height:auto;padding:14px}.parent-support-card .streak-card-header{gap:8px}.parent-support-card .streak-icon{width:38px;height:38px}.parent-support-card .streak-count strong{font-size:2.3rem}.parent-support-card .streak-body p{font-size:.9rem}.parent-support-card .streak-actions{gap:6px}.streak-card-header{grid-template-columns:auto minmax(0,1fr)}.streak-card-header .pill{grid-column:2;justify-self:start}.streak-actions{grid-template-columns:1fr;justify-content:stretch;place-self:end stretch}.streak-actions button{width:100%}.reward-balance,.reward-item{grid-template-columns:1fr}.progress-actions button{justify-content:center;width:100%}.book-tools,.schedule-tools,.log-tools,.user-tools,.parent-workspace>.two,.book-row,.schedule-row,.schedule-entry,.user-row,.log-row,.audit-score-grid,.metric-grid,.parent-layout{grid-template-columns:1fr}.parent-rail{display:none}.parent-workspace{overflow-x:hidden}.section-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:18px;display:grid}.section-tabs button{border:1px solid var(--line);background:var(--paper);min-width:0;min-height:64px;color:var(--muted);text-align:center;border-radius:8px;place-items:center;gap:5px;padding:8px 6px;font-size:.75rem;font-weight:800;line-height:1.05;display:grid;box-shadow:0 1px #17231f0a}.section-tabs button svg{color:var(--soft)}.section-tabs button.active{background:var(--teal-soft);color:var(--ink);border-color:#85beb9;box-shadow:0 0 0 2px #2b7f8e24}.section-tabs button.active svg{color:var(--teal)}.section-heading{margin-bottom:14px}.section-heading>svg{width:38px;height:38px;padding:9px}.section-heading h1{font-size:1.75rem}.section-heading p{margin-top:4px}.book-summary,.schedule-summary,.user-summary{flex-direction:column;align-items:flex-start;gap:8px;min-height:auto;padding:6px 4px}.book-row-actions,.schedule-row-actions,.schedule-entry-actions,.user-row-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.book-row-actions .icon-button,.schedule-row-actions .icon-button,.schedule-entry-actions .icon-button,.user-row-actions .icon-button{width:100%}.review-panel{background:var(--paper);padding:0}.review-shell{width:100%;min-height:100%;padding:16px 14px calc(24px + env(safe-area-inset-bottom));box-shadow:none;border:0;border-radius:0}.review-header{padding-top:4px;top:0}.quiz-detail-summary{position:static}.mobile-nav{z-index:35;padding:8px 10px calc(8px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffcf5;border-top:1px solid #cfe5dcf2;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #1224221f}.mobile-nav a,.mobile-nav button{min-height:50px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;gap:3px;padding:4px 6px;font-size:.78rem;font-weight:800;display:grid}.mobile-nav svg{stroke-width:2.2px}.mobile-nav .install-help-inline{min-width:0;display:block}.mobile-nav .install-help-inline>button{width:100%;min-height:50px;color:var(--muted);padding:4px 6px}.mobile-nav .active{background:linear-gradient(180deg, var(--green-soft), var(--teal-soft));color:var(--ink)}.theme-teen .mobile-nav{background:#06131df5;border-top-color:#24404b;box-shadow:0 -8px 24px #00000047}.theme-teen .mobile-nav a,.theme-teen .mobile-nav button,.theme-teen .mobile-nav .install-help-inline>button{color:#d7e5e7}.theme-teen .mobile-nav .active{color:#eef7f0;background:#123927;box-shadow:inset 0 0 0 1px #367347}.install-help-dialog{padding:16px 14px calc(18px + env(safe-area-inset-bottom));align-items:end}.install-help-sheet{max-height:min(76dvh,440px)}.install-button{display:none}.app-update-notice{right:10px;bottom:calc(82px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr) auto;width:calc(100% - 20px);left:10px}.app-update-action{grid-column:1/-1;justify-content:center;width:100%}.app-update-dismiss{grid-area:1/3}}@media (max-width:640px){.parent-shell .page{width:calc(100% - 24px);padding-bottom:calc(112px + env(safe-area-inset-bottom))}.parent-shell .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.parent-shell .metric-card{text-align:center;gap:3px;min-width:0;padding:9px 4px}.parent-shell .metric-card strong{font-size:1.15rem}.parent-shell .metric-card span{overflow-wrap:normal;font-size:.75rem;line-height:1.2}.parent-reader-calendar-panel{border-left:0;border-right:0;border-radius:0;margin-inline:-12px;padding:14px 12px}.parent-reader-calendar-panel>.row{align-items:flex-start}.parent-reader-calendar-panel>.row .muted{max-width:26ch;font-size:.78rem;line-height:1.35}.parent-reader-calendar-card{gap:8px;padding:12px 0 0;overflow:hidden}.parent-reader-calendar-card>.row{padding-inline:12px}.parent-reader-calendar-card .calendar-history-toolbar{border-left:0;border-right:0;border-radius:0;grid-template-columns:minmax(0,1fr);padding:9px 10px}.calendar-history-heading{grid-template-columns:minmax(0,1fr);gap:5px}.parent-reader-calendar-card .calendar-history-icon{display:none}.parent-reader-calendar-card .calendar-history-title{width:100%;display:block}.parent-reader-calendar-card .calendar-history-title strong{text-overflow:clip;white-space:normal;margin-top:2px;font-size:.9rem;line-height:1.25;display:block;overflow:visible}.parent-reader-calendar-card .calendar-history-status{border:1px solid var(--line);background:var(--paper-soft);border-radius:999px;justify-self:start;min-height:23px;padding:2px 7px;font-size:.75rem}.parent-reader-calendar-card .calendar-history>.reading-calendar{border-left:0;border-right:0;border-radius:0}.parent-compact-calendar{gap:9px;padding:10px}.parent-compact-calendar .reading-calendar-header{grid-template-columns:1fr;align-items:center;display:grid}.parent-compact-calendar .calendar-summary-pills{grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:5px;display:grid;overflow:visible}.parent-compact-calendar .calendar-summary-pills .pill{text-align:center;white-space:normal;justify-content:center;min-width:0;padding-inline:4px}.parent-compact-calendar .calendar-month-bar{min-height:38px}.parent-compact-calendar .calendar-plan-boundary{gap:7px;padding:8px}.parent-compact-calendar .calendar-plan-boundary p{display:none}.parent-compact-calendar .calendar-month-shell{border-radius:6px}.parent-compact-calendar .calendar-weekdays span{height:25px;font-size:.75rem}:is(.parent-compact-calendar .calendar-day,.parent-compact-calendar .calendar-day:has(.calendar-activity-band):has(.calendar-recovery-band)){aspect-ratio:1;min-height:46px;padding:5px 2px}.parent-compact-calendar .calendar-date-number{justify-self:start;width:24px;height:24px;margin-left:3px;font-size:.75rem}.parent-compact-calendar .calendar-date-number.double-digit{font-variant-numeric:tabular-nums;font-size:.75rem;font-weight:850}.parent-compact-calendar .calendar-day .calendar-status-glyph{width:14px;height:14px;inset:auto 2px 2px auto}.parent-compact-calendar .calendar-chapter-label{z-index:5;max-width:26px;color:var(--muted);text-overflow:clip;margin:0;font-size:.7rem;font-weight:850;line-height:1;display:none;position:absolute;bottom:3px;left:4px}.parent-compact-calendar .calendar-plan-ended-marker{display:none}.parent-compact-calendar .calendar-day.has-plan-boundary-marker{padding-top:5px}.parent-compact-calendar .calendar-day:has(.calendar-activity-band):before{content:none}.parent-compact-calendar .calendar-day:has(.calendar-recovery-band):after{content:none}.parent-compact-calendar .calendar-cell-signals{z-index:7;gap:2px;display:flex;position:absolute;bottom:4px;left:4px}.parent-compact-calendar .calendar-signal{width:13px;height:13px;display:grid}.parent-compact-calendar .calendar-signal.activity{color:var(--calendar-activity-ink);background:var(--calendar-activity-bg);box-shadow:inset 0 0 0 1px var(--calendar-activity-border)}.parent-compact-calendar .calendar-signal.recovery{color:var(--calendar-recovery-ink);background:var(--calendar-recovery-bg);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--calendar-covered), transparent 48%)}.parent-compact-calendar .calendar-event-glyphs{top:3px;right:3px}.parent-compact-calendar .calendar-event-glyphs svg{width:11px;height:11px}.parent-compact-calendar .calendar-detail-panel{padding:10px}.parent-compact-calendar .calendar-legend{background:0 0;border:0;border-radius:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 8px;padding:0;display:grid;overflow:visible}.parent-compact-calendar .calendar-legend-group:first-child .calendar-legend{grid-template-columns:1fr}.parent-compact-calendar .calendar-legend span{overflow-wrap:normal;gap:6px;min-width:0;font-size:.75rem;line-height:1.15}.parent-compact-calendar .calendar-legend svg{flex:none;width:13px;height:13px}.parent-shell .mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.parent-shell .mobile-nav a,.parent-shell .mobile-nav button,.parent-shell .mobile-nav .install-help-inline>button{white-space:nowrap;min-width:0;padding-inline:2px;font-size:.7rem}.parent-shell .section-tabs{gap:5px;margin-bottom:12px}.parent-shell .section-tabs button{min-height:58px;padding:6px 3px;font-size:.75rem;line-height:1.05}.parent-shell .section-heading{margin-bottom:12px}.parent-shell .section-heading h1{font-size:1.45rem}.parent-shell .log-row{gap:10px}.parent-shell .log-row .progress-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.parent-shell .log-row .progress-actions button{width:auto;min-height:38px}.parent-shell .log-row .progress-actions .icon-button{width:38px;padding:0}.parent-shell .log-row:not(.compact) .progress-copy>p:not(.muted){-webkit-line-clamp:5;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.parent-shell input[type=file]{padding:5px;font-size:.76rem}.parent-shell input[type=file]::file-selector-button{min-height:34px;color:var(--ink);background:var(--green-soft);font:inherit;border:0;border-radius:6px;margin-right:8px;padding:0 10px;font-weight:800}.parent-shell input::placeholder,.parent-shell textarea::placeholder{text-overflow:ellipsis;font-size:.76rem}}@media (max-width:820px){.rewards-panel{padding:14px}}@media (max-width:380px){.reader-experience-card,.parent-hero-panel{padding:12px}.reader-hero-copy h1{font-size:clamp(1.65rem,7.5vw,2rem)}.reader-hero-copy p{font-size:.86rem}.speech-bubble{padding:9px 10px;font-size:.84rem}.speech-bubble span{font-size:.78rem}.parent-hero-panel p{display:none}.parent-hero-panel h1{max-width:62%;font-size:clamp(1.45rem,7vw,1.8rem)}.parent-hero-stats span{padding:5px 7px;font-size:.76rem}}.mobile-stack-topbar,.mobile-stack-nav,.mobile-log-reading-button,.mobile-sheet-close,.mobile-sheet-handle,.mobile-sheet-backdrop,.mobile-profile-sheet,.mobile-screen-heading,.mobile-manage-hub,.mobile-reader-activity{display:none}.mobile-reading-sheet{display:contents}@media (max-width:820px){:is(.reader-shell,.parent-shell){min-height:100dvh;padding-bottom:calc(78px + env(safe-area-inset-bottom))}:is(.reader-shell,.parent-shell) .desktop-app-topbar,.reader-shell .reader-experience-card,.reader-shell .desktop-reader-tabs,.reader-shell .desktop-today-calendar{display:none}.mobile-stack-topbar{z-index:30;min-height:64px;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--paper) 94%, transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.mobile-stack-identity{align-items:center;gap:10px;min-width:0;display:flex}.mobile-stack-identity>div{min-width:0}.mobile-stack-identity strong,.mobile-stack-identity small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-stack-identity strong{font-size:.98rem}.mobile-stack-identity small{color:var(--muted);font-size:.72rem}.mobile-stack-avatar{background:var(--green);color:#fff;border-radius:50%;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:.72rem;font-weight:900;display:grid;box-shadow:inset 0 0 0 2px #fff6}.mobile-stack-icon-button{border:1px solid var(--line);background:var(--paper);width:44px;min-width:44px;height:44px;color:var(--ink);border-radius:50%;place-items:center;padding:0;display:grid}.app-stack-page{width:100%;max-width:none;padding:14px 16px 24px}.reader-shell .reader-section-panel{flex-direction:column;gap:14px;display:flex}.reader-shell .parent-reader-home-overview{grid-template-columns:1fr;gap:12px;padding:14px 0}.reader-shell .parent-reader-home-card{padding:14px}.reader-shell .parent-reader-home-heading h2{font-size:1.35rem}.reader-shell .parent-reader-home-status{padding-inline:0}.reader-shell .parent-reader-home-status h3{font-size:1.15rem}.reader-shell .parent-reader-home-metric{min-height:78px;padding:10px}.reader-shell .parent-reader-home-metric strong{font-size:1.5rem}.reader-shell .parent-reader-home-recent{align-items:flex-start}.reader-shell .reader-today-grid{order:1;display:block}.reader-shell .reader-today-grid>.card:first-child{margin-top:0}.mobile-log-reading-button{background:var(--green);color:#fff;border:0;border-radius:8px;order:2;justify-content:center;align-items:center;gap:8px;width:100%;min-height:50px;font-weight:900;display:flex;box-shadow:0 8px 18px #17785f33}.reader-shell .streak-card{order:3;grid-template-columns:1fr;grid-template-areas:"header""body""actions";gap:10px;margin:0;padding:12px}.reader-shell .streak-card-header{grid-template-columns:auto minmax(0,1fr) auto;gap:8px}.reader-shell .streak-card-header .pill{grid-column:auto;justify-self:end}.reader-shell .streak-icon{width:36px;height:36px}.reader-shell .streak-card h2{font-size:1.05rem}.reader-shell .streak-body{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 12px}.reader-shell .streak-count strong{font-size:2rem}.reader-shell .streak-count span{font-size:.78rem}.reader-shell .streak-debt-summary{margin:0}.reader-shell .streak-debt-summary>div{padding:7px}.reader-shell .streak-body>p{grid-column:1/-1;font-size:.8rem;line-height:1.4}.reader-shell .streak-motif{display:none}.reader-shell .streak-notification-button{min-height:44px}.reader-shell .streak-actions:empty{display:none}.reader-shell .continue-card{order:4}.reader-shell .quiz-panel{order:5}.reader-shell .desktop-reader-activity{display:none}.reader-shell .mobile-reader-activity{gap:8px;display:grid}.reader-activity-item{border:1px solid var(--line);background:var(--paper);border-radius:8px;overflow:hidden}.reader-activity-item summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:10px 12px;list-style:none;display:grid}.reader-activity-item summary::-webkit-details-marker{display:none}.reader-activity-item summary>span:first-child,.reader-activity-item summary strong,.reader-activity-item summary small{min-width:0;display:block}.reader-activity-item summary strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.reader-activity-item summary small{color:var(--muted);margin-top:4px}.reader-activity-detail{border-top:1px solid var(--line);gap:10px;padding:0 12px 12px;display:grid}.reader-activity-detail>p{margin:12px 0 0;line-height:1.5}.mobile-reading-sheet{z-index:61;max-height:min(88dvh,760px);padding:10px 16px calc(22px + env(safe-area-inset-bottom));background:var(--paper);border-radius:18px 18px 0 0;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -16px 42px #091e1b40}.mobile-reading-sheet.open{animation:.18s ease-out mobile-sheet-in;display:block}.mobile-reading-sheet>.card{box-shadow:none;border:0;padding:0}.mobile-sheet-handle{background:color-mix(in srgb, var(--muted) 35%, transparent);border-radius:4px;width:38px;height:4px;margin:0 auto 10px;display:block}.mobile-sheet-close{z-index:2;border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:44px;height:44px;margin:0 0 -44px auto;padding:0;display:grid;position:sticky;top:0}.mobile-sheet-backdrop{z-index:60;background:#05181575;border:0;border-radius:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.mobile-sheet-backdrop.profile{z-index:64}.mobile-profile-sheet{z-index:65;max-height:82dvh;padding:10px 16px calc(22px + env(safe-area-inset-bottom));background:var(--paper);visibility:hidden;pointer-events:none;border-radius:18px 18px 0 0;gap:8px;transition:transform .18s ease-out;display:grid;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;transform:translateY(110%);box-shadow:0 -16px 42px #091e1b40}.mobile-profile-sheet.open{visibility:visible;pointer-events:auto;transform:translateY(0)}.mobile-profile-action,.mobile-profile-sheet .install-help-inline>button{border:1px solid var(--line);background:var(--paper);width:100%;min-height:48px;color:var(--ink);border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;padding:10px 12px;font-weight:800;text-decoration:none;display:flex}.mobile-profile-action.active{background:var(--green-soft)}.mobile-stack-nav{min-height:calc(72px + env(safe-area-inset-bottom));padding:6px 8px calc(5px + env(safe-area-inset-bottom));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.mobile-stack-nav button{min-width:0;min-height:58px;font-size:.68rem}.mobile-stack-nav button span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-stack-nav .active{background:var(--green-soft);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--green) 24%, transparent)}.mobile-stack-segments{background:color-mix(in srgb, var(--green-soft) 76%, var(--paper));border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:4px;margin-bottom:14px;padding:4px;display:grid}.mobile-stack-segments button{min-height:44px;color:var(--muted);background:0 0;border:0;border-radius:6px;padding:7px 6px;font-size:.76rem;font-weight:900}.mobile-stack-segments button.active{background:var(--paper);color:var(--ink);box-shadow:0 2px 7px #112c281f}.mobile-stack-segments .mobile-segment-back{min-width:44px;color:var(--ink);font-size:1.35rem}.mobile-manage-hub{gap:10px;display:grid}.mobile-manage-hub>button{border:1px solid var(--line);background:var(--paper);min-height:68px;color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.mobile-manage-hub>button>svg{color:var(--green);justify-self:center}.mobile-manage-hub>button span,.mobile-manage-hub>button strong,.mobile-manage-hub>button small{min-width:0;display:block}.mobile-manage-hub>button small{color:var(--muted);margin-top:3px}.parent-shell .desktop-parent-tabs,.parent-shell .desktop-section-heading,.parent-shell .mobile-plan-hidden{display:none}.parent-shell .parent-workspace{min-width:0}.parent-shell .mobile-parent-plan{gap:14px;display:grid}.parent-shell .desktop-parent-plan{display:none}.parent-shell .mobile-parent-plan .parent-reader-calendar-panel{margin:0}.parent-shell .parent-overview-panels{gap:10px;margin-bottom:14px}.parent-shell .parent-hero-panel{min-height:176px}.parent-shell .parent-hero-panel h1{max-width:12ch;font-size:1.9rem}.parent-shell .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.parent-shell .overview-metrics{display:none}.reader-shell .reader-daily-overview{grid-template-columns:1fr;gap:14px;margin-bottom:12px;padding:15px}.reader-shell .reader-daily-icon{width:44px;height:44px}.reader-shell .reader-daily-copy{gap:11px}.reader-shell .reader-daily-copy h2{font-size:1.3rem}.reader-shell .reader-daily-copy p{font-size:.82rem}.reader-shell .reader-daily-metrics>div{min-height:68px;padding:9px 6px}.reader-shell .reader-daily-metrics strong{font-size:1.35rem}.parent-shell .parent-dashboard-reader-snapshot{display:grid}.parent-shell .parent-dashboard-reader-card{grid-template-columns:1fr}.parent-shell .parent-dashboard-reader-main{padding:16px}.parent-shell .parent-dashboard-reader-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.parent-shell .parent-dashboard-reader-heading h2{font-size:1.45rem}.parent-shell .parent-dashboard-reader-main h3{font-size:1.12rem}.parent-shell .parent-dashboard-reader-main p{font-size:.82rem}.parent-shell .parent-dashboard-reader-metrics>div{min-height:76px;padding:11px 13px}.parent-shell .parent-dashboard-reader-metrics strong{font-size:1.45rem}.parent-shell .parent-home-recent{display:none}.mobile-screen-heading{margin-bottom:12px;display:block}.mobile-screen-heading span{color:var(--green);text-transform:uppercase;font-size:.7rem;font-weight:900}.mobile-screen-heading h1{margin:3px 0;font-size:1.8rem}.mobile-screen-heading p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.45}.reader-shell .mobile-calendar-screen .calendar-history-panel{margin-top:0}@keyframes mobile-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}
