@import "https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fredoka:wght@500;600&display=swap";:root{--bg:#f6f3ec;--surface:#fff;--surface-2:#f0ebe1;--ink:#1f2430;--ink-2:#4a5160;--muted:#6b7280;--line:#e2dccf;--accent:#2f6fdf;--accent-ink:#fff;--accent-soft:#dfe9fb;--good:#1f8a4c;--good-soft:#dff3e6;--warn:#b45309;--warn-soft:#fdf0dc;--bad:#b42318;--bad-soft:#fde4e1;--radius:18px;--shadow:0 2px 0 #0000000f, 0 6px 20px #0000000f;--font:"Atkinson Hyperlegible", system-ui, sans-serif;--display:"Fredoka", "Atkinson Hyperlegible", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=ocean]{--bg:#e9f4f8;--surface-2:#d9ecf3;--line:#c6e0ea;--accent:#0b7a99;--accent-soft:#d3eef6}[data-theme=forest]{--bg:#eef4ea;--surface-2:#dfead8;--line:#cfe0c5;--accent:#2d7a3a;--accent-soft:#dcefdc}[data-theme=sunset]{--bg:#fdf0e8;--surface-2:#f8e0d2;--line:#f0d1bf;--accent:#c2410c;--accent-soft:#fde3d3}[data-theme=space],[data-theme=dragon]{--bg:#12142a;--surface:#1d2140;--surface-2:#272c52;--ink:#eef0ff;--ink-2:#c7cbea;--muted:#9aa0c8;--line:#343a68;--accent:#8b9dff;--accent-ink:#12142a;--accent-soft:#2c3366;--good:#5fd08d;--good-soft:#1f3b33;--warn:#f5b04c;--warn-soft:#3d3221;--bad:#ff8a80;--bad-soft:#43262a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=dragon]{--bg:#1d0f12;--surface:#2b171b;--surface-2:#3a2026;--line:#4d2a31;--accent:#ff7a59;--accent-soft:#4a2420;--muted:#c9a3a3;--ink-2:#ecc9c4}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-text-size-adjust:100%;margin:0;font-size:18px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,.hero-title,.headline{font-family:var(--display);font-weight:600;line-height:1.2}h3{margin:1.2em 0 .5em}.card h3{margin-top:0}.loading{text-align:center;padding:40px}.app{max-width:640px;padding:0 16px calc(32px + env(safe-area-inset-bottom));margin:0 auto}.screen{padding-top:calc(12px + env(safe-area-inset-top));flex-direction:column;gap:14px;display:flex}.screen.center{text-align:center;justify-content:center;align-items:center;min-height:80vh}.screen.wide{max-width:900px}.center{justify-content:center;display:flex}.center-text{text-align:center}.stack{flex-direction:column;gap:10px;display:flex}.narrow{max-width:360px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.row>.btn.big{flex:1}.muted{color:var(--muted)}.small{font-size:.85rem}.lead{color:var(--ink-2);margin:0;font-size:1.1rem}.topbar{align-items:center;gap:8px;min-height:48px;display:flex}.topbar h1{text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:1.25rem;overflow:hidden}.icon-btn{background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:50%;flex-shrink:0;width:44px;height:44px;font-size:1.2rem}.btn{border:2px solid var(--line);background:var(--surface);border-radius:var(--radius);cursor:pointer;min-height:48px;padding:12px 18px;font-weight:700;transition:transform 80ms}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.big{padding:14px 22px;font-size:1.15rem}.btn.huge{font-size:1.5rem;font-family:var(--display);border-radius:24px;padding:22px}.btn.small{min-height:38px;padding:6px 12px;font-size:.9rem}.btn.danger{color:var(--bad);border-color:var(--bad-soft)}.btn.choice{text-align:left}.btn.choice.selected{border-color:var(--accent);background:var(--accent-soft)}.btn.recording{border-color:var(--bad);color:var(--bad)}.link-btn{color:var(--accent);cursor:pointer;background:0 0;border:0;padding:8px;font-size:.95rem;text-decoration:underline}.parent-link{color:var(--muted);align-self:center;margin-top:12px}.field{flex-direction:column;flex:1;gap:4px;display:flex}.field>span{font-size:.95rem;font-weight:700}input:not([type=checkbox]):not([type=range]),select,textarea{border:2px solid var(--line);background:var(--surface);border-radius:12px;width:100%;min-height:48px;padding:10px 12px}input[type=range]{width:100%;accent-color:var(--accent)}.check{align-items:center;gap:10px;padding:6px 0;display:flex}.check input{width:22px;height:22px;accent-color:var(--accent)}.settings .card{flex-direction:column;gap:12px;display:flex}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px}.note{border-radius:12px;padding:10px 14px}.note.warn{background:var(--warn-soft);color:var(--ink);border-left:4px solid var(--warn)}.hero-title{margin:0;font-size:2rem}.home-head{align-items:center;gap:16px;display:flex}.hello{margin:0;font-size:1.8rem}.home-head p{margin:2px 0 0}.avatar-btn{cursor:pointer;background:0 0;border:0;padding:0}.avatar{background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.avatar-acc{position:absolute;top:-12%;right:-8%}.avatar-grid{grid-template-columns:repeat(5,1fr);gap:8px;width:100%;display:grid}.avatar-choice{aspect-ratio:1;background:var(--surface);cursor:pointer;box-shadow:var(--shadow);border:3px solid #0000;border-radius:16px;font-size:2.2rem}.avatar-choice.selected{border-color:var(--accent);background:var(--accent-soft)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface);box-shadow:var(--shadow);border-radius:999px;padding:6px 14px;font-size:.95rem}.chip-icon{margin-right:4px}.levelbar-label{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:.9rem;display:flex}.levelbar-label span{color:var(--muted)}.progress{background:var(--surface-2);border-radius:999px;height:14px;overflow:hidden}.progress.big{height:24px}.progress>div{background:var(--accent);border-radius:999px;height:100%;transition:width .4s}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tile{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);cursor:pointer;border:0;flex-direction:column;align-items:center;gap:4px;padding:16px 8px;font-weight:700;display:flex}.tile-icon{font-size:2rem}.photo-preview{border-radius:12px;max-width:100%;max-height:50vh;margin:8px auto;display:block}.page-edit{min-height:45vh;font-size:1.15rem;line-height:1.6}.spinner-wrap{flex-direction:column;align-items:center;gap:8px;display:flex}.spinner{border:5px solid var(--accent-soft);border-top-color:var(--accent);border-radius:50%;width:48px;height:48px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.timer{font-family:var(--display);text-align:center;font-variant-numeric:tabular-nums;color:var(--muted);font-size:4.5rem}.timer.running{color:var(--ink)}.listening{justify-content:center;align-items:center;gap:10px;font-size:1.2rem;font-weight:700;display:flex}.pulse{background:var(--bad);border-radius:50%;width:16px;height:16px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5;transform:scale(1.5)}}@media (prefers-reduced-motion:reduce){.pulse,.spinner{animation:none}}.page-text{background:var(--surface);border-radius:var(--radius);padding:16px;font-size:1.2rem;line-height:1.9}.w{border-radius:4px}.w.read{background:var(--good-soft)}.w.next{outline:2px solid var(--accent)}.headline{text-align:center;margin:0;font-size:1.6rem}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center;padding:14px 10px}.stat-value{font-family:var(--display);font-size:2.2rem;line-height:1.1}.stat-label{color:var(--muted);font-size:.9rem}.stat-sub{color:var(--good);font-size:.85rem;font-weight:700}.small-stats .stat-value{font-size:1.4rem}.points-earned{text-align:center;font-family:var(--display);color:var(--good);font-size:1.4rem}.word-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.word-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:3px solid #0000;flex-direction:column;gap:8px;padding:14px;display:flex}.word-card.yes{border-color:var(--good)}.word-big{font-family:var(--display);font-size:1.9rem}.ok{color:var(--good);font-weight:700}.marked .w.sub{-webkit-text-decoration:underline wavy var(--warn);text-decoration:underline wavy var(--warn);text-underline-offset:4px}.marked .w.omit{background:var(--surface-2);color:var(--muted)}.marked .w.unread{color:var(--muted);opacity:.6}.marked .w.unsure{-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent);text-underline-offset:4px}.marked .w.pause:before{content:"⏸";vertical-align:super;color:var(--muted);font-size:.6em}.marked .w.fixed{background:var(--good-soft)}.legend{flex-wrap:wrap;gap:10px;margin:8px 0;display:flex}.legend .w{padding:0 4px}.legend .w.sub{-webkit-text-decoration:underline wavy var(--warn);text-decoration:underline wavy var(--warn)}.legend .w.omit{background:var(--surface-2)}.legend .w.unsure{-webkit-text-decoration:underline dotted var(--accent);text-decoration:underline dotted var(--accent)}.legend .w.pause:before{content:"⏸ "}.legend .w.fixed{background:var(--good-soft)}details>summary{cursor:pointer;padding:8px 0;font-weight:700}.q-type{color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:700}.question{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:12px;padding:18px;display:flex}.question p{flex:1;margin:0;font-size:1.35rem;font-weight:700}.answer{min-height:120px;font-size:1.15rem}.feedback{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border-top:6px solid var(--accent);padding:18px}.feedback.spot_on{border-top-color:var(--good)}.feedback.nearly_there{border-top-color:var(--warn)}.feedback-head{font-size:1.4rem;font-family:var(--display);align-items:center;gap:10px;display:flex}.feedback-icon{font-size:2rem}.pts{color:var(--good);margin-left:auto}.hint{background:var(--accent-soft);border-radius:10px;padding:8px 12px}.evidence{border-left:4px solid var(--accent);background:var(--surface-2);border-radius:0 10px 10px 0;margin:8px 0;padding:10px 14px;font-style:italic}.celebrate{background:var(--accent-soft);border-radius:var(--radius);text-align:center;padding:16px}.big-emoji{font-size:3rem}.points-list{margin:0 0 12px;padding:0;list-style:none}.points-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:8px;padding:6px 0;display:flex}.points-list strong{color:var(--good)}.quest{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.quest-label{font-weight:700}.tabs{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.tabs button{background:var(--surface);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);border:0;border-radius:999px;padding:10px 14px;font-weight:700}.tabs button.active{background:var(--accent);color:var(--accent-ink)}.card-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:10px;display:grid}.collect-card{aspect-ratio:3/4;background:linear-gradient(160deg, var(--surface), var(--surface-2));box-shadow:var(--shadow);cursor:pointer;border:0;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px;display:flex}.collect-card.tier2{border:3px solid #c0c7d6}.collect-card.tier3{border:3px solid #e2b33c}.collect-word{font-family:var(--display);word-break:break-word;font-size:1.3rem}.shelf{border-bottom:12px solid #8a5a35;align-items:flex-end;gap:4px;min-height:170px;padding:10px 10px 0;display:flex;overflow-x:auto}.book{writing-mode:vertical-rl;color:#fff;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;min-width:38px;height:150px;padding:8px 4px;font-size:.8rem;font-weight:700;overflow:hidden;transform:rotate(180deg)}.spine0{background:#2f6fdf}.spine1{background:#c2410c;height:135px}.spine2{background:#1f8a4c;height:160px}.spine3{background:#7c3aed;height:140px}.spine4{background:#b45309;height:155px}.unlock-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.unlock{background:var(--surface);box-shadow:var(--shadow);cursor:pointer;border:3px solid #0000;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;font-size:.85rem;font-weight:700;display:flex}.unlock:disabled{opacity:.55;cursor:default}.unlock.selected{border-color:var(--accent)}.unlock-icon{font-size:1.8rem}.session-row{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:0;display:flex}.session-nums{white-space:nowrap;font-weight:700}.session-detail{border-top:1px solid var(--line);flex-direction:column;gap:10px;margin-top:12px;padding-top:12px;display:flex}.qa-item{border-left:4px solid var(--line);margin-bottom:10px;padding-left:10px}.qa-item.spot_on{border-left-color:var(--good)}.qa-item.nearly_there{border-left-color:var(--warn)}.qa-item p{margin:4px 0}.media-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.audio{max-width:100%}.tag-list{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--surface-2);border-radius:999px;padding:4px 10px}.plain{margin:0;padding-left:18px}.plain li{margin-bottom:6px}.chart{position:relative}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .axis{fill:var(--muted);font-size:12px}.chart .series{fill:none;stroke:var(--accent);stroke-width:2px;stroke-linejoin:round}.chart .dot{fill:var(--accent);stroke:var(--surface);stroke-width:2px}.chart .crosshair{stroke:var(--muted);stroke-dasharray:3 3}.chart .bar{fill:var(--accent)}.chart .bar.hover{opacity:.8}.tooltip{background:var(--ink);color:var(--bg);pointer-events:none;white-space:nowrap;border-radius:8px;flex-direction:column;padding:6px 10px;font-size:.8rem;display:flex;position:absolute;top:0;transform:translate(-50%)}@media (width<=420px){html,body{font-size:17px}.timer{font-size:3.6rem}.avatar-grid{grid-template-columns:repeat(5,1fr)}.avatar-choice{font-size:1.7rem}}
