.reading .intro{color:var(--dim);max-width:60ch;font-size:16px;line-height:1.55;margin:0 0 18px}.reading .topbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.reading .pick{display:flex;align-items:center;gap:8px}.reading .pick label{font-family:var(--util);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.reading select{font:inherit;font-size:15px;font-weight:600;padding:9px 12px;border-radius:11px;border:2px solid var(--edge-2);background:#fff;color:var(--ink);cursor:pointer}.reading .scores{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}.chip{background:#fff;border:1.5px solid var(--edge-2);border-radius:12px;padding:8px 13px;text-align:center;min-width:74px}.chip .k{font-family:var(--util);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.chip .v{font-size:22px;font-weight:800;line-height:1.1}.chip.best .v{color:var(--gold)}.chip.last .v{color:var(--accent)}.card{background:var(--card);border:1px solid var(--edge);border-radius:var(--round);padding:22px 22px 24px;box-shadow:0 10px 26px -20px #33302a80}.timerbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.clock{font-family:var(--util);font-size:34px;font-weight:700;letter-spacing:.02em;min-width:96px;transition:color .3s}.clock.go{color:var(--leaf)}.clock.done{color:var(--gold)}.startbtn{background:var(--accent);color:#fff;border:none;border-radius:14px;padding:15px 30px;font:inherit;font-size:18px;font-weight:800;cursor:pointer;transition:.14s}.startbtn:hover{filter:brightness(1.05);transform:translateY(-1px)}.startbtn.stop{background:var(--clay)}.startbtn.again{background:var(--ink)}.count-live{font-family:var(--util);font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.count-live b{color:var(--ink);font-size:18px}.story{font-family:var(--display);font-size:clamp(20px,4.2vw,26px);line-height:1.85;letter-spacing:.005em}.story .w{border-radius:5px;padding:1px 2px;cursor:pointer;transition:background .12s}.story.armed .w:hover{background:#f6ecd6}.story .w.read{background:var(--read);box-shadow:inset 0 -2px 0 var(--readedge)}.story .w.cursor{background:var(--accent);color:#fff}.hint{color:var(--dim);font-size:14px;margin-top:16px;min-height:20px}.result{margin-top:18px;padding:18px;border-radius:16px;text-align:center}.result.show{animation:pop .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:none}}.result .big{font-family:var(--display);font-size:clamp(32px,8vw,52px);line-height:1;margin:0}.result .msg{font-size:18px;font-weight:600;margin:8px 0 0}.result.win{background:#eef8f0;border:2px solid var(--ok)}.result.win .big{color:var(--ok)}.result.win .msg{color:#2c8a52}.result.good{background:#fdf6e6;border:2px solid var(--gold)}.result.good .big{color:#b7871a}.result.good .msg{color:#9a7418}.history{margin-top:22px}.history h3{font-family:var(--util);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin:0 0 12px;font-weight:700}.week{display:flex;gap:10px;align-items:flex-end;padding-top:20px}.daybar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;cursor:pointer;position:relative;background:none;border:none;padding:0}.daybar .num{font-size:15px;font-weight:800;margin-bottom:6px;color:var(--ink)}.daybar .num.blank{color:var(--edge-2);font-weight:600}.daybar .fill{width:100%;max-width:48px;border-radius:9px 9px 4px 4px;background:var(--clay);transition:height .55s cubic-bezier(.34,1.4,.64,1)}.daybar .fill.best{background:var(--gold)}.daybar .fill.empty{background:var(--edge)}.daybar .dl{font-family:var(--util);font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--dim);margin-top:9px}.daybar.selected .dl{color:var(--accent-ink)}.daybar.selected .fill{box-shadow:0 0 0 2px var(--accent)}.daybar.today .dl{color:var(--accent-ink)}.daybar.today .dl:after{content:"";display:block;height:3px;width:60%;margin:4px auto 0;background:var(--accent);border-radius:99px}.memo{margin-top:12px;font-size:13px;color:var(--dim)}details.grown{margin-top:40px;border-top:1px solid var(--edge);padding-top:18px}details.grown summary{cursor:pointer;font-family:var(--util);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);list-style:none}details.grown summary::-webkit-details-marker{display:none}details.grown summary:before{content:"+ ";color:var(--accent)}details.grown[open] summary:before{content:"– "}details.grown .body{max-width:70ch;color:var(--dim);font-size:15px;line-height:1.65}details.grown h3{font-family:var(--display);color:var(--ink);font-weight:400;font-size:20px;margin:20px 0 6px}@media (prefers-reduced-motion: reduce){.result.show{animation:none}.daybar .fill{transition:none}}@media (max-width: 560px){.reading .scores{margin-left:0;width:100%}.chip{flex:1}}:root{--bg: #fbf6ee;--card: #ffffff;--ink: #33302a;--dim: #8a8073;--edge: #ece3d3;--edge-2: #dcceb6;--leaf: #5b9d6b;--clay: #cf7a4c;--gold: #e0a72e;--plum: #9a6db0;--read: #f6ecd6;--readedge: #e0a72e;--ok: #42a86b;--round: 20px;--accent: #e0a72e;--accent-ink: #9a7418;--tint: #fbf6ee;--display: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--body: "Avenir Next", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", sans-serif;--util: ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased}body{min-height:100vh;min-height:100dvh;background-image:radial-gradient(760px 460px at 84% -8%,#fff 0%,transparent 60%)}#root{min-height:100vh;min-height:100dvh}.wrap{max-width:820px;margin:0 auto;padding:22px 16px 70px}a{color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}button{font-family:inherit}.landing header{text-align:center;margin:18px 0 26px}.landing .eyebrow{font-family:var(--util);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim)}.landing h1{font-family:var(--display);font-weight:400;font-size:clamp(30px,7vw,52px);line-height:1;margin:10px 0 4px}.kidgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}@media (max-width: 560px){.kidgrid{grid-template-columns:1fr}}.kidcard{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-decoration:none;background:var(--bg);border:2px solid var(--edge);border-top:8px solid var(--accent);border-radius:var(--round);padding:28px 18px 24px;min-height:180px;box-shadow:0 10px 26px -20px #33302a80;transition:transform .14s,box-shadow .14s,border-color .14s}.kidcard:hover{transform:translateY(-3px);box-shadow:0 16px 30px -20px #33302a8c}.kidcard .emoji{font-size:46px;line-height:1}.kidcard .name{font-family:var(--display);font-size:30px;color:var(--accent-ink)}.kidspace-page{background:var(--bg);min-height:100vh;min-height:100dvh}.kidhead{display:flex;align-items:center;gap:14px;margin:8px 0 20px}.backlink{font-family:var(--util);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-decoration:none;padding:8px 12px;border:2px solid var(--edge-2);border-radius:11px;background:#fff}.kidhead .who{display:flex;align-items:center;gap:10px;margin-left:2px}.kidhead .who .emoji{font-size:30px}.kidhead h1{font-family:var(--display);font-weight:400;font-size:clamp(28px,6vw,44px);margin:0;color:var(--accent-ink)}.weekbar{display:flex;align-items:center;gap:10px;margin:4px 0 20px;flex-wrap:wrap}.weekbar label{font-family:var(--util);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.weekbar select{font:inherit;font-size:15px;font-weight:600;padding:9px 12px;border-radius:11px;border:2px solid var(--edge-2);background:#fff;color:var(--ink);cursor:pointer}.weekbar .current-tag{font-family:var(--util);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--accent);padding:4px 8px;border-radius:999px}.drilllist{display:grid;gap:14px}.drilltile{display:flex;align-items:center;gap:16px;width:100%;text-align:left;text-decoration:none;background:var(--surface);border:2px solid var(--edge);border-radius:var(--round);padding:20px 22px;color:var(--ink);cursor:pointer;box-shadow:0 10px 26px -22px #33302a80;transition:transform .14s,border-color .14s}.drilltile.live:hover{transform:translateY(-2px);border-color:var(--accent)}.drilltile .icon{font-size:34px;line-height:1}.drilltile .mid{display:flex;flex-direction:column;gap:2px}.drilltile .label{font-family:var(--display);font-size:24px;display:block}.drilltile .desc{color:var(--dim);font-size:14px;margin-top:2px}.drilltile .go{margin-left:auto;font-family:var(--util);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);font-weight:700}.drilltile.soon{opacity:.6;cursor:default}.drilltile.soon .go{color:var(--dim)}.notice{margin:0 0 16px;padding:12px 14px;border-radius:12px;border:1.5px solid var(--edge-2);background:#fdf6e6;color:var(--accent-ink);font-size:14px;line-height:1.5}[data-theme=saylar]{--bg: #fdeef5;--accent: #d9548b;--accent-ink: #a83368;--secondary: #b9a7e0;--pop: #f4a9b6;--surface: #fffafc}[data-theme=emery]{--bg: #e8f5f1;--accent: #2f9e8f;--accent-ink: #1f6f64;--secondary: #e0a86a;--pop: #f4a9b6;--surface: #ffffff}[data-theme=jax]{--bg: #eaf1fb;--accent: #3f7bd6;--accent-ink: #2c5aa0;--secondary: #f2802e;--pop: #ffd23f;--surface: #ffffff}.mascot svg{width:100%;height:auto;display:block}.mascot .idle{animation:mascot-bob 3s ease-in-out infinite}@keyframes mascot-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot.yay .idle{animation:mascot-jump .5s ease}@keyframes mascot-jump{0%{transform:translateY(0)}30%{transform:translateY(-22px) rotate(-4deg)}55%{transform:translateY(0) rotate(3deg)}to{transform:translateY(0)}}.mascot .eyes-happy,.mascot.yay .eyes-open{display:none}.mascot.yay .eyes-happy{display:block}@media (prefers-reduced-motion: reduce){.mascot .idle,.mascot.yay .idle{animation:none}}.mascot-row{display:flex;gap:8px;align-items:flex-end;justify-content:center}.kidcard .mascot{flex:0 0 auto;width:clamp(78px,30%,118px)}.kidhead .mascot-row{justify-content:flex-start}.kidhead .mascot{flex:0 0 auto;width:56px}
