:root{--color-bg:#fff6e5;--color-bg-deep:#ffe7b8;--color-surface:#fff;--color-surface-soft:#fffaf0;--color-line:#f1e2c4;--color-text:#3b2a1a;--color-muted:#7a6650;--color-primary:#ffbe2e;--color-primary-strong:#e08a00;--color-primary-soft:#fff1cc;--color-primary-ink:#4a2c00;--color-correct:#2fb36b;--color-correct-soft:#dff6e8;--color-try-again:#ff7a45;--color-try-again-soft:#ffe8dc;--color-focus:#1f6feb;--color-math:#4c8dff;--color-math-soft:#e5efff;--color-english:#ff5d9e;--color-english-soft:#ffe6f0;--color-it:#14b8a6;--color-it-soft:#dcf7f3;--radius:24px;--radius-small:14px;--stem-size:30px;--font-child:"Nunito", system-ui, sans-serif;--font-parent:"Be Vietnam Pro", system-ui, -apple-system, "Segoe UI", sans-serif;--shadow:0 10px 30px #7a52141f;--shadow-small:0 4px 12px #7a52141a;--press-edge:0 6px 0}.theme-calm{--color-bg:#f2f6f8;--color-bg-deep:#dcebf0;--color-line:#dde6ea;--color-primary:#2bb3b1;--color-primary-strong:#13807e;--color-primary-soft:#dff4f3;--color-primary-ink:#fff;--radius:16px;--stem-size:24px}*,:before,:after{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-child);-webkit-font-smoothing:antialiased;margin:0}:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.child-screen{background:radial-gradient(circle at 8% 12%, #ffbe2e38 0 120px, transparent 121px), radial-gradient(circle at 92% 18%, #ff5d9e1f 0 90px, transparent 91px), radial-gradient(circle at 88% 88%, #4c8dff29 0 140px, transparent 141px), radial-gradient(circle at 6% 92%, #14b8a61f 0 100px, transparent 101px), var(--color-bg);min-height:100vh;padding:24px 16px 48px;position:relative;overflow-x:hidden}.child-screen--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex}.child-title{letter-spacing:-.01em;margin:0;font-size:clamp(28px,5vw,38px);font-weight:900}.child-lead{color:var(--color-muted);max-width:36ch;margin:0;font-size:clamp(18px,3vw,22px)}.corner-link{color:var(--color-muted);font-family:var(--font-parent);box-shadow:var(--shadow-small);background:#ffffffb3;border-radius:999px;padding:8px 14px;font-size:14px;text-decoration:none;position:absolute;top:16px;right:16px}.corner-link:hover{color:var(--color-text)}.big-button,.pin-key,.avatar-choice{font:inherit;cursor:pointer;border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);border:none;transition:transform .12s,box-shadow .12s}.big-button{background:var(--color-primary);color:var(--color-primary-ink);box-shadow:var(--press-edge) var(--color-primary-strong);padding:16px 44px;font-size:24px;font-weight:900}.big-button:hover:not(:disabled){box-shadow:0 8px 0 var(--color-primary-strong);transform:translateY(-2px)}.big-button:active:not(:disabled){box-shadow:0 2px 0 var(--color-primary-strong);transform:translateY(4px)}.big-button--quiet{background:var(--color-surface);color:var(--color-text);box-shadow:var(--press-edge) var(--color-line)}.big-button--quiet:hover:not(:disabled){box-shadow:0 8px 0 var(--color-line)}.big-button--quiet:active:not(:disabled){box-shadow:0 2px 0 var(--color-line)}.big-button:disabled{opacity:.45;cursor:not-allowed}.text-button{font:inherit;color:var(--color-muted);text-underline-offset:4px;cursor:pointer;background:0 0;border:none;font-size:17px;font-weight:700;text-decoration:underline}.avatar-picker{flex-wrap:wrap;justify-content:center;gap:20px;margin:0;padding:0;list-style:none;display:flex}.avatar-choice{min-width:170px;box-shadow:var(--press-edge) var(--color-line), var(--shadow);flex-direction:column;align-items:center;gap:10px;padding:28px 24px 22px;font-size:24px;font-weight:800;display:flex}.avatar-choice:hover{transform:translateY(-4px)rotate(-1deg)}.avatar-choice:active{box-shadow:0 2px 0 var(--color-line);transform:translateY(3px)}.avatar{place-items:center;line-height:1;display:inline-grid}.avatar--large{background:var(--color-primary-soft);border-radius:50%;width:104px;height:104px;font-size:64px}.avatar--small{font-size:28px}.pin-pad{flex-direction:column;align-items:center;gap:24px;display:flex}.pin-dots{gap:16px;display:flex}.pin-dots--shake{animation:.4s shake}.pin-dot{border:3px solid var(--color-primary-strong);border-radius:50%;width:22px;height:22px;transition:transform .15s,background .15s}.pin-dot--filled{background:var(--color-primary-strong);transform:scale(1.15)}.pin-keys{grid-template-columns:repeat(3,84px);gap:14px;display:grid}.pin-key{height:84px;box-shadow:var(--press-edge) var(--color-line);font-size:34px;font-weight:900}.pin-key:active:not(:disabled){box-shadow:0 2px 0 var(--color-line);transform:translateY(4px)}.pin-key:disabled{opacity:.5;cursor:not-allowed}.pin-key--delete{background:var(--color-primary-soft)}.pin-keys .pin-key:nth-child(10){grid-column:2}.mascot{overflow:visible}.mascot-shadow{fill:#7a521424}.mascot-feet{fill:none;stroke:#ff9a1f;stroke-width:4px;stroke-linecap:round}.mascot-comb{fill:#ff6b4a}.mascot-belly{fill:#fff6d2;opacity:.85}.mascot-wing{fill:#f5a800}.mascot-beak{fill:#ff9a1f}.mascot-cheek{fill:#ff8fa8;opacity:.7}.mascot-eyes{fill:#3b2a1a}.mascot-line{fill:none;stroke:#3b2a1a;stroke-width:4px;stroke-linecap:round}.mascot-glint{fill:#fff}.mascot--idle,.mascot--think{animation:3s ease-in-out infinite bob}.mascot--wave .mascot-wing--right{transform-origin:96px 66px;animation:1.2s ease-in-out infinite wave}.mascot--cheer{animation:.9s ease-in-out infinite hop}.theme-calm .mascot-body{filter:saturate(.85)}@keyframes shake{25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes wave{50%{transform:rotate(-14deg)}}@keyframes bob{50%{transform:translateY(-5px)}}@keyframes hop{0%,to{transform:translateY(0)}40%{transform:translateY(-10px)}}@keyframes pop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}.subject--math{--subject:var(--color-math);--subject-soft:var(--color-math-soft)}.subject--english{--subject:var(--color-english);--subject-soft:var(--color-english-soft)}.subject--it{--subject:var(--color-it);--subject-soft:var(--color-it-soft)}.subject-badge{background:var(--subject-soft);color:var(--color-text);box-shadow:inset 0 0 0 2px var(--subject);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-weight:800;display:inline-flex}.child-topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;max-width:960px;margin:0 auto 8px;display:flex}.who-chip{background:var(--color-surface);box-shadow:var(--shadow-small);border-radius:999px;align-items:center;gap:8px;padding:6px 16px 6px 8px;font-size:18px;font-weight:800;display:inline-flex}.ticket-chip{font:inherit;background:var(--color-surface);box-shadow:var(--shadow-small);color:var(--color-text);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:12px;padding:10px 18px;font-size:18px;font-weight:800;transition:transform .12s;display:inline-flex}.ticket-chip:hover{transform:translateY(-2px)}.ticket-chip-streak{border-left:2px solid var(--color-line);padding-left:12px}.today-layout{flex-direction:column;align-items:center;gap:24px;max-width:760px;margin:0 auto;padding-top:16px;display:flex}.hero{align-items:center;gap:12px;width:100%;display:flex}.hero .mascot{flex-shrink:0}.speech{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);flex-direction:column;flex:1;gap:8px;padding:24px 28px;display:flex;position:relative}.speech:before{content:"";border:14px solid #0000;border-left:0;border-right-color:var(--color-surface);position:absolute;top:50%;left:-14px;transform:translateY(-50%)}.speech .child-lead{max-width:none}.today-card{border-radius:var(--radius);background:var(--color-surface);width:100%;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:20px;padding:28px;display:flex}.subject-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;width:100%;margin:0;padding:0;list-style:none;display:grid}.subject-card{border-radius:var(--radius-small);background:var(--subject-soft);border-bottom:6px solid var(--subject);flex-direction:column;align-items:center;gap:4px;padding:18px 12px;display:flex}.subject-card-icon{font-size:40px}.subject-card-name{font-size:20px;font-weight:900}.subject-card-count{color:var(--color-muted);font-size:17px;font-weight:700}.today-minutes{color:var(--color-muted);margin:0;font-size:19px;font-weight:700}.doing-screen{flex-direction:column;align-items:center;gap:24px;display:flex}.doing-header{flex-direction:column;gap:14px;width:min(880px,100%);font-size:19px;font-weight:800;display:flex}.doing-header-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.doing-count{white-space:nowrap;flex:1}.work-clock{background:var(--color-surface);color:var(--color-muted);box-shadow:var(--shadow-small);border-radius:999px;padding:6px 14px;font-weight:700}.work-clock--over{background:var(--color-try-again-soft);color:#b2461b}.progress-dots{gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress-dots li{background:var(--color-line);border-radius:999px;flex:1;height:12px;transition:background .2s}.progress-dots .progress-dot--done{background:var(--color-correct)}.progress-dots .progress-dot--current{background:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.question-card{border-radius:var(--radius);border-top:10px solid var(--subject,var(--color-primary));background:var(--color-surface);width:min(880px,100%);box-shadow:var(--shadow);padding:32px}.question-instruction{color:var(--color-muted);margin:0 0 10px;font-size:19px;font-weight:700}.question-stem{font-size:var(--stem-size);white-space:pre-line;margin:0 0 28px;font-weight:900;line-height:1.4}.speak-button{background:var(--color-primary-soft);vertical-align:middle;cursor:pointer;border:none;border-radius:50%;place-items:center;width:40px;height:40px;font-size:20px;display:inline-grid}.speak-button:hover{background:var(--color-primary)}.speak-button:disabled{cursor:progress}.choices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.choices--two{grid-template-columns:repeat(2,1fr)}.choice-row{align-items:center;gap:8px;display:flex}.choice-row .choice{flex:1}.choice-row .speak-button{flex-shrink:0}.choice{min-height:76px;font:inherit;text-align:left;color:var(--color-text);border:3px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface-soft);box-shadow:0 4px 0 var(--color-line);cursor:pointer;align-items:center;gap:14px;padding:12px 20px;font-size:24px;font-weight:800;transition:transform .12s,border-color .12s,background .12s;display:flex}.choice:hover{border-color:var(--subject,var(--color-primary));transform:translateY(-2px)}.choice:active{box-shadow:0 2px 0 var(--color-line);transform:translateY(2px)}.choice--picked{border-color:var(--subject,var(--color-primary-strong));background:var(--subject-soft,var(--color-primary-soft));box-shadow:0 4px 0 var(--subject,var(--color-primary-strong))}.choice-key{background:var(--color-surface);width:36px;height:36px;box-shadow:inset 0 0 0 2px var(--color-line);border-radius:50%;flex-shrink:0;place-items:center;font-size:18px;display:inline-grid}.choice--picked .choice-key{background:var(--subject,var(--color-primary));color:#fff;box-shadow:none}.typed-answer{align-items:center;gap:12px;display:flex}.typed-input{min-width:0;font:inherit;color:var(--color-text);border:3px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface-soft);flex:0 460px;padding:16px 20px;font-size:28px;font-weight:800}.typed-input:focus{border-color:var(--subject,var(--color-primary-strong));background:var(--color-surface);outline:none}.typed-input::placeholder{color:#c4b398;font-weight:700}.typed-unit{font-size:24px;font-weight:800}.doing-nav{justify-content:space-between;gap:16px;width:min(880px,100%);display:flex}.confirm-box{border-radius:var(--radius);background:var(--color-surface);width:min(880px,100%);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 24px;padding:24px;display:flex}.confirm-box .child-lead{color:var(--color-text);flex-basis:100%;font-weight:800}.sentence-builder{flex-direction:column;gap:18px;width:100%;display:flex}.sentence-line{border:3px dashed var(--subject,var(--color-primary));border-radius:var(--radius-small);background:var(--subject-soft,var(--color-surface));flex-wrap:wrap;align-items:center;gap:8px;min-height:72px;padding:12px;display:flex}.sentence-hint{color:var(--color-muted);font-size:18px;font-weight:700}.tile-pool{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tile{font:inherit;background:var(--color-primary);color:var(--color-primary-ink);box-shadow:0 4px 0 var(--color-primary-strong);cursor:pointer;border:none;border-radius:14px;padding:10px 18px;font-size:24px;font-weight:800;transition:transform .12s}.tile:hover{transform:translateY(-2px)}.tile:active{box-shadow:0 1px 0 var(--color-primary-strong);transform:translateY(3px)}.tile--placed{background:var(--color-surface);color:var(--color-text);box-shadow:0 4px 0 var(--color-line)}.result-screen{flex-direction:column;align-items:center;gap:24px;display:flex}.result-hero{border-radius:var(--radius);background:linear-gradient(180deg, var(--color-primary-soft), var(--color-surface) 60%);width:min(880px,100%);box-shadow:var(--shadow);text-align:center;flex-direction:column;align-items:center;gap:12px;padding:28px 24px;display:flex}.stars{gap:8px;margin:0;font-size:52px;display:flex}.star{filter:grayscale();opacity:.25}.star--on{filter:none;opacity:1;animation:.5s ease-out both pop}.star--on:nth-child(2){animation-delay:.15s}.star--on:nth-child(3){animation-delay:.3s}.score-ring{background:conic-gradient(var(--color-correct) calc(var(--score) * 1%), var(--color-line) 0);border-radius:50%;place-items:center;width:150px;height:150px;margin:4px 0;display:grid}.score-ring span{background:var(--color-surface);border-radius:50%;place-items:center;width:118px;height:118px;padding:8px;font-size:22px;font-weight:900;line-height:1.2;display:grid}.result-list{flex-direction:column;gap:14px;width:min(880px,100%);margin:0;padding:0;list-style:none;display:flex}.result-item{border-radius:var(--radius-small);background:var(--color-surface);box-shadow:var(--shadow-small);padding:20px 24px;font-size:19px}.result-item p{margin:6px 0}.result-item--correct{border-left:8px solid var(--color-correct)}.result-item--retry{border-left:8px solid var(--color-try-again)}.result-verdict{font-weight:900}.result-item--correct .result-verdict{color:#1d7d48}.result-item--retry .result-verdict{color:#b2461b}.result-stem{font-size:22px;font-weight:800}.result-explanation{background:var(--color-surface-soft);color:var(--color-muted);border-radius:12px;padding:10px 14px}.tickets-screen{gap:18px}.ticket-stub{border-radius:var(--radius-small);background:linear-gradient(135deg, #ffd25e, var(--color-primary));color:var(--color-primary-ink);box-shadow:var(--shadow);text-align:left;align-items:center;gap:20px;padding:22px 32px;display:flex;position:relative}.ticket-stub:before,.ticket-stub:after{content:"";background:var(--color-bg);border-radius:50%;width:26px;height:26px;position:absolute;top:50%;transform:translateY(-50%)}.ticket-stub:before{left:-13px}.ticket-stub:after{right:-13px}.ticket-stub-icon{border-right:3px dashed #4a2c004d;padding-right:20px;font-size:48px}.ticket-balance{margin:0;font-size:30px;font-weight:900}.ticket-each{opacity:.8;margin:4px 0 0;font-size:17px;font-weight:700}.streak-pill{background:var(--color-try-again-soft);border-radius:999px;margin:0;padding:8px 18px;font-size:18px;font-weight:800}.ticket-countdown{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);flex-direction:column;align-items:center;padding:20px 36px;display:flex}.countdown{font-variant-numeric:tabular-nums;color:var(--color-primary-strong);margin:0;font-size:64px;font-weight:900}.ticket-history{border-radius:var(--radius);background:var(--color-surface);width:min(560px,100%);box-shadow:var(--shadow-small);text-align:left;padding:18px 22px}.ticket-history h2{margin:0 0 10px;font-size:20px}.ticket-history ul{flex-direction:column;margin:0;padding:0;font-size:17px;list-style:none;display:flex}.ticket-history li{border-bottom:1px dashed var(--color-line);padding:8px 0}.ticket-history li:last-child{border-bottom:none}.ticket-plus{color:#1d7d48;font-weight:900}.ticket-minus{color:var(--color-muted);font-weight:900}.earned-tickets{border-radius:var(--radius-small);background:var(--color-surface);box-shadow:var(--shadow-small);padding:14px 22px}.earned-tickets .ticket-balance{font-size:22px}.earned-tickets ul{color:var(--color-muted);text-align:center;margin:6px 0 0;padding:0;font-size:17px;list-style:none}@media (width<=600px){.hero{text-align:center;flex-direction:column}.speech:before{border:14px solid #0000;border-top:0;border-bottom-color:var(--color-surface);top:-14px;left:50%;transform:translate(-50%)}.question-card{padding:22px 18px}.today-card{padding:20px 16px}.pin-keys{grid-template-columns:repeat(3,76px)}.pin-key{height:76px}.big-button{padding:14px 28px;font-size:21px}}.matching{flex-direction:column;gap:14px;display:flex}.matching-columns{grid-template-columns:1fr 1fr;gap:14px 28px;display:grid}.matching-column{flex-direction:column;gap:12px;display:flex}.match-card{min-height:60px;font:inherit;text-align:left;color:var(--color-text);border:3px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface-soft);box-shadow:0 4px 0 var(--color-line);cursor:pointer;align-items:center;gap:10px;padding:10px 16px;font-size:21px;font-weight:800;transition:transform .12s,border-color .12s;display:flex;position:relative}.match-card:hover{transform:translateY(-2px)}.match-card--chosen{border-color:var(--subject,var(--color-primary-strong));background:var(--subject-soft,var(--color-primary-soft));transform:scale(1.03)}.match-card--pair1{--pair:#4c8dff}.match-card--pair2{--pair:#ff5d9e}.match-card--pair3{--pair:#14b8a6}.match-card--pair4{--pair:#f59e0b}.match-card--pair5{--pair:#8b5cf6}[class*=match-card--pair]{border-color:var(--pair);box-shadow:0 4px 0 var(--pair)}.match-number{background:var(--pair);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:15px;display:inline-grid}.passage{font-size:var(--stem-size);margin:0;font-weight:800;line-height:2.1}.blank-input{font:inherit;color:var(--subject,var(--color-primary-strong));text-align:center;border:none;border-bottom:4px solid var(--subject,var(--color-primary));background:var(--subject-soft,var(--color-primary-soft));border-radius:10px 10px 4px 4px;margin:0 6px;padding:2px 10px}.blank-input:focus{outline:3px solid var(--color-focus);outline-offset:2px}@media (width<=600px){.matching-columns{gap:10px}.match-card{min-height:52px;padding:8px 10px;font-size:17px}}.lesson-card{border-radius:var(--radius);border-left:10px solid var(--subject);background:linear-gradient(90deg, var(--subject-soft), var(--color-surface) 70%);width:100%;box-shadow:var(--shadow);align-items:center;gap:16px;padding:20px 24px;display:flex}.lesson-card-icon{font-size:44px}.lesson-card-body{flex-direction:column;flex:1;gap:2px;font-size:21px;display:flex}.lesson-card-label{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;font-size:15px;font-weight:800}.lesson-card .big-button{padding:12px 28px;font-size:20px}.lesson-screen{flex-direction:column;align-items:center;gap:22px;display:flex}.lesson-step-head{align-items:center;gap:12px;margin-bottom:8px;display:flex}.lesson-step-head .question-stem{margin:0}.lesson-text{white-space:pre-line;margin:0;font-size:23px;line-height:1.6}.worked-example{border-left:6px solid var(--subject);border-radius:var(--radius-small);background:var(--subject-soft);margin-top:18px;padding:16px 20px;font-size:22px;font-weight:700}.worked-example p{margin:4px 0}.worked-example--faded{border-left-style:dashed}.faded-prompt{color:var(--color-muted);font-style:italic;font-weight:600}.lesson-step-kind{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 2px;font-size:15px;font-weight:800}.contrast{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:18px;display:grid}.contrast-side{border-radius:var(--radius-small);padding:14px 18px;font-size:21px;font-weight:700}.contrast-side p{margin:4px 0}.contrast-side--wrong{border-left:6px solid var(--color-try-again);background:var(--color-try-again-soft)}.contrast-side--right{border-left:6px solid var(--color-correct);background:var(--color-correct-soft)}.contrast-label{font-size:16px;font-weight:800}.remedy-stops{flex-wrap:wrap;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:flex}.remedy-stop{border:3px solid var(--color-try-again);color:var(--color-text);font:inherit;box-shadow:var(--shadow-small);cursor:pointer;background:#fff;border-radius:999px;padding:8px 16px;font-weight:800}.lesson-count{color:var(--color-muted);align-self:center;font-size:18px;font-weight:800}.lesson-intro{text-align:center}.doing-nav--end{justify-content:flex-end}.lesson-check-intro{text-align:center;width:min(720px,100%)}.try-feedback{border-radius:var(--radius-small);background:var(--color-surface);width:min(880px,100%);box-shadow:var(--shadow-small);padding:16px 22px;font-size:19px}.try-feedback p{margin:6px 0}.try-feedback--right{border-left:8px solid var(--color-correct)}.try-feedback--wrong{border-left:8px solid var(--color-try-again)}@media (width<=600px){.lesson-card{flex-wrap:wrap}.lesson-text{font-size:20px}}.lesson-screen>.progress-dots,.lesson-screen .doing-header{width:min(880px,100%)}.test-note{color:var(--color-muted);margin:0;font-size:16px;font-weight:700}.essay{flex-direction:column;gap:6px;display:flex}.essay-input{width:100%;font:inherit;color:var(--color-text);border:3px solid var(--color-line);border-radius:var(--radius-small);background:var(--color-surface-soft);resize:vertical;padding:16px 18px;font-size:22px;line-height:1.6}.essay-input:focus{border-color:var(--subject,var(--color-primary-strong));background:var(--color-surface);outline:none}.essay-count{color:var(--color-muted);align-self:flex-end;margin:0;font-size:16px;font-weight:700}.result-feedback{background:var(--color-primary-soft);white-space:pre-line;border-radius:12px;padding:10px 14px}.journey-screen{font-family:var(--font-child);background:#7fd0f5;position:fixed;inset:0;overflow:hidden}.journey-top{z-index:3;pointer-events:none;background:linear-gradient(#ffffffbf,#fff0);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:12px 16px;display:flex;position:absolute;top:0;left:0;right:0}.journey-top>*{pointer-events:auto}.journey-back{font:inherit;color:var(--color-text);box-shadow:var(--shadow-small);cursor:pointer;background:#fff;border:none;border-radius:999px;padding:8px 14px;font-size:17px;font-weight:800}.journey-title{margin:0;font-size:22px;font-weight:900}@media (width<=600px){.journey-top{grid-template-columns:auto 1fr;grid-template-areas:"back progress""tabs tabs""remedies remedies";gap:8px;padding:10px 12px;display:grid}.journey-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.journey-back{grid-area:back;justify-self:start;padding:6px 12px;font-size:15px}.island-progress{grid-area:progress;justify-self:end;margin:0;padding:5px 12px;font-size:15px}.island-tabs,.remedy-stops{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.island-tabs{grid-area:tabs}.remedy-stops{grid-area:remedies}.remedy-stops>li{flex:none}.island-tab,.remedy-stop{white-space:nowrap;flex:none;padding:6px 12px;font-size:15px}}.journey-message{text-align:center;font-size:22px;font-weight:800;position:absolute;top:45%;left:16px;right:16px}.island-tabs{flex-wrap:wrap;gap:8px;display:flex}.island-tab{font:inherit;color:var(--color-text);cursor:pointer;background:#ffffffbf;border:3px solid #0000;border-radius:999px;padding:8px 14px;font-size:16px;font-weight:800}.island-tab[aria-pressed=true]{border-color:var(--subject);background:#fff}.island-progress{box-shadow:var(--shadow-small);background:#fff;border-radius:999px;margin:0 0 0 auto;padding:6px 14px;font-weight:800}.island{--zone-direction:90deg;position:absolute;inset:0}.island--vertical{--zone-direction:0deg}.island-scroller{overscroll-behavior:contain;scrollbar-width:thin;position:absolute;inset:0;overflow:auto hidden}.island--vertical .island-scroller{overflow:hidden auto}.island-map{position:relative;overflow:hidden}.island-zone{position:absolute;top:0;bottom:0}.island--vertical .island-zone{bottom:auto;left:0;right:0}.island-zone--beach{background:linear-gradient(var(--zone-direction), #f2d58a, #f7e7b4)}.island-zone--palms{background:linear-gradient(var(--zone-direction), #d4eda0, #b6e39b)}.island-zone--falls{background:linear-gradient(var(--zone-direction), #b0e3b0, #8fd6c8)}.island-zone--peak{background:linear-gradient(var(--zone-direction), #b7c9a8 0%, #d9d4cb 60%, #fff 100%)}.island-zone-label{white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;color:#3b2a1a8c;font-size:14px;font-weight:800;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.island--vertical .island-zone-label{bottom:12px;left:20px;transform:none}.island-trail{position:absolute;inset:0}.island-trail path{fill:none;stroke-linecap:round}.island-trail-ahead{stroke:#c79a5b;stroke-width:10px;stroke-dasharray:2 18}.island-trail-walked{stroke:var(--color-primary-strong);stroke-width:12px}.island-prop{pointer-events:none;font-size:34px;position:absolute;transform:translate(-50%,-50%)}.island-stations{margin:0;padding:0;list-style:none}.island-stations li{position:absolute;transform:translate(-50%,-50%)}.station{width:70px;height:70px;font:inherit;cursor:pointer;border:4px solid #fff;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 5px #0000002e}.station-icon{font-size:26px;line-height:1}.station-code{white-space:nowrap;background:#ffffffd9;border-radius:999px;padding:1px 8px;font-size:13px;font-weight:800;position:absolute;bottom:-26px}.station-stars{color:#e08a00;letter-spacing:1px;background:#ffffffe6;border-radius:999px;padding:0 6px;font-size:15px;position:absolute;top:-22px}.station--passed{background:#ffd45c}.station--open{background:var(--subject);width:82px;height:82px;animation:1.6s ease-in-out infinite pulse}.station--resting{background:#9aa8d6}.station--writing{border-style:dashed;border-color:var(--color-muted);background:#f3efe6}.station--locked{filter:grayscale(.6);background:#e7e1d6}.station[aria-expanded=true]{outline:4px solid var(--color-focus);outline-offset:3px}.island-chick{pointer-events:none;position:absolute;transform:translate(-50%,-108%)}.island-chick--walking{transition:left .9s ease-in-out,top .9s ease-in-out}.island-chick-body{display:block}.island-chick-body--drop{animation:.6s ease-out both chick-drop}.island-summit{flex-direction:column;align-items:center;font-size:48px;display:flex;position:absolute;transform:translate(-50%,-50%)}.island-summit-label{text-align:center;background:#ffffffd9;border-radius:999px;max-width:200px;padding:2px 10px;font-size:14px;font-weight:800}.station-card{z-index:4;border-radius:var(--radius);background:var(--color-surface);width:min(440px,100% - 32px);box-shadow:var(--shadow);padding:16px 20px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.station-card-title{margin:2px 0 6px;font-size:22px}.station-card .child-lead{margin:0 0 12px;font-size:18px}.station-card-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.station-card .big-button{padding:12px 28px;font-size:20px}@keyframes chick-drop{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 5px #0000002e,0 0 #ffffffb3}50%{box-shadow:0 5px #0000002e,0 0 0 14px #fff0}}.journey-card{border:4px solid #7fd0f5}.journey-card-list{gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.journey-card-list li{align-items:baseline;gap:10px;font-size:19px;display:flex}.journey-card-list strong{white-space:nowrap}.parent-shell,.parent-login{--p-bg:#f5f6f8;--p-surface:#fff;--p-line:#e6e8ec;--p-line-soft:#f0f2f5;--p-text:#1d2433;--p-muted:#667085;--p-primary:#0f8b8d;--p-primary-hover:#0b7476;--p-primary-soft:#e3f4f4;--p-danger:#c4320a;--p-danger-soft:#fef0eb;--p-warning-soft:#fff4dc;--p-radius:14px;--p-shadow:0 1px 2px #1018280d, 0 1px 3px #1018280f;background:var(--p-bg);min-height:100vh;color:var(--p-text);font-family:var(--font-parent);font-size:15px;line-height:1.5}.parent-shell{--p-side:#0f172a;--p-side-raised:#1e293b;--p-side-text:#cbd5e1;grid-template-columns:236px minmax(0,1fr);display:grid}.parent-sidebar{background:var(--p-side);height:100vh;color:var(--p-side-text);flex-direction:column;gap:18px;padding:20px 14px;display:flex;position:sticky;top:0}.parent-brand{color:#fff;align-items:center;gap:10px;padding:0 8px;display:flex}.parent-brand .mascot{animation:none}.parent-brand strong{font-family:var(--font-child);font-size:17px;font-weight:900}.child-chooser{flex-direction:column;gap:6px;padding:0 4px;display:flex}.child-chooser-label{letter-spacing:.04em;text-transform:uppercase;opacity:.7;padding:0 4px;font-size:12px;font-weight:600}.parent-shell .child-chooser select{background:var(--p-side-raised);color:#fff;cursor:pointer;border:1px solid #334155;border-radius:10px;width:100%;padding:9px 12px;font-weight:600}.parent-shell .child-chooser select:focus{border-color:var(--p-primary);box-shadow:0 0 0 3px #0f8b8d59}.parent-nav{flex-direction:column;gap:2px;display:flex}.parent-nav--bottom{border-top:1px solid var(--p-side-raised);margin-top:auto;padding-top:12px}.parent-nav a,.parent-shell button.parent-leave{color:var(--p-side-text);text-align:left;background:0 0;border-radius:10px;align-items:center;gap:12px;padding:9px 12px;font-weight:500;text-decoration:none;display:flex}.parent-nav a:hover,.parent-shell button.parent-leave:hover{background:var(--p-side-raised);color:#fff}.parent-nav a[aria-current=page]{background:var(--p-side-raised);color:#fff;font-weight:600}.parent-nav-label{flex:1}.nav-icon{flex-shrink:0}.parent-page{width:100%;padding:28px 72px 64px 32px}.parent-page--wide{padding:0}.parent-page>section>h1,.page-head h1,.master-head h1{letter-spacing:-.01em;margin:0 0 6px;font-size:24px;font-weight:700}.parent-page>section>h1+.hint{margin-bottom:20px;font-size:15px}.parent-page>section>h1:not(:has(+.hint)){margin-bottom:20px}.parent-page h2{margin:0 0 12px;font-size:18px;font-weight:600}.parent-page h3{margin:4px 0 10px;font-size:16px;font-weight:600}.settings-tabs{border-bottom:1px solid var(--p-line);gap:4px;margin-bottom:24px;padding-bottom:2px;display:flex;overflow-x:auto}.settings-tabs a{color:var(--p-muted);border-bottom:2px solid #0000;flex-shrink:0;padding:8px 14px;font-weight:500;text-decoration:none}.settings-tabs a:hover{color:var(--p-text)}.settings-tabs a[aria-current=page]{border-bottom-color:var(--p-primary);color:var(--p-text);font-weight:600}.card{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-surface);box-shadow:var(--p-shadow);margin-bottom:20px;padding:22px 24px}.card .card{box-shadow:none;background:#fbfcfd}.card-list{margin:0;padding:0;list-style:none}.hint{color:var(--p-muted);margin:0;font-size:14px}.form-error{background:var(--p-danger-soft);color:var(--p-danger);border-radius:8px;margin:0;padding:8px 12px}[role=status]{color:var(--p-primary-hover)}.form{flex-direction:column;gap:10px;display:flex}.form label,.settings-grid label{font-weight:500}.parent-shell input:not([type=checkbox],[type=radio]),.parent-shell select,.parent-shell textarea,.parent-login input{font:inherit;background:var(--p-surface);color:var(--p-text);border:1px solid #d0d5dd;border-radius:10px;padding:9px 12px;transition:border-color .12s,box-shadow .12s}.parent-shell input:focus,.parent-shell select:focus,.parent-shell textarea:focus,.parent-login input:focus{border-color:var(--p-primary);box-shadow:0 0 0 4px var(--p-primary-soft);outline:none}.parent-shell input[type=checkbox],.parent-shell input[type=radio]{accent-color:var(--p-primary);width:16px;height:16px}.parent-shell textarea{resize:vertical;min-height:84px}.parent-shell button,.parent-login button,label.button{font:inherit;background:var(--p-primary);color:#fff;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-weight:600;transition:background .12s;display:inline-flex}.parent-shell button:hover:not(:disabled),.parent-login button:hover:not(:disabled),label.button:hover{background:var(--p-primary-hover)}.parent-shell button.secondary,label.button.secondary{background:var(--p-surface);color:var(--p-text);box-shadow:inset 0 0 0 1px #d0d5dd}.parent-shell button.secondary:hover:not(:disabled),label.button.secondary:hover{background:var(--p-line-soft)}.parent-shell button:disabled,.parent-login button:disabled{opacity:.55;cursor:not-allowed}label.button.is-busy{opacity:.6;cursor:progress}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inline-form input{width:6em}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.photo-button{flex-direction:column;align-items:flex-start;gap:6px;margin:8px 0 16px;display:flex}.photo-button:focus-within label.button{outline:2px solid var(--p-primary);outline-offset:2px}.child-picker{border:1px solid var(--p-line);background:var(--p-surface);border-radius:12px;align-items:center;gap:10px;margin-bottom:20px;padding:6px 6px 6px 14px;font-weight:500;display:inline-flex}.settings-grid{grid-template-columns:max-content minmax(10em,16em);align-items:center;gap:10px 16px;display:grid}@media (width>=1100px){.settings-grid{grid-template-rows:auto auto;grid-template-columns:none;grid-auto-columns:minmax(9em,1fr);grid-auto-flow:column;align-items:end;gap:6px 18px}}.operator-options,.avatar-options,.bonus-list{border:none;margin:4px 0;padding:0}.operator-options{flex-wrap:wrap;gap:16px;display:flex}.operator-options legend,.avatar-options legend,.bonus-list legend{margin-bottom:6px;font-weight:500}.bonus-list{flex-direction:column;gap:8px;display:flex}.bonus-list .inline-form input[type=number]{width:4.5em}.avatar-options{flex-wrap:wrap;gap:8px;display:flex}.avatar-option{border:1px solid var(--p-line);cursor:pointer;border-radius:12px;align-items:center;gap:6px;padding:6px 10px;font-size:26px;display:flex}.avatar-option:has(input:checked){border-color:var(--p-primary);background:var(--p-primary-soft)}.badge{background:var(--p-line-soft);color:#475467;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.badge--learned{color:#067647;background:#dcfae6}.badge--warning{background:var(--p-warning-soft);color:#93370d}.badge--current{color:#2d3fa8;background:#e0eaff}.badge--review{color:#5925dc;background:#f0e9ff}.badge--challenge{color:#93370d;background:#fef0c7}.child-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.child-grid>li{display:flex}.child-card{flex-direction:column;flex:1;gap:14px;margin:0;padding:18px 20px;display:flex}.child-card--inactive .child-card-head{opacity:.6}.child-card-head{align-items:center;gap:14px;display:flex}.child-card .avatar--small{background:#fff4d6;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:30px;display:grid}.child-card-who{flex:1;min-width:0}.child-card h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:18px;overflow:hidden}.child-card-who p{color:var(--p-muted);margin:2px 0 0;font-size:14px}.child-card-actions{border-top:1px solid var(--p-line-soft);flex-wrap:wrap;gap:6px 18px;padding-top:12px;display:flex}.parent-shell .child-card-actions button.link-button{font-size:14px}.parent-shell .child-card-actions button.link-button[aria-expanded=true]{text-decoration:underline}.parent-shell .child-card-actions button.child-card-lock{color:var(--p-muted);margin-left:auto}.child-card-status{margin:0;font-size:14px}.screen-notice{margin:0 0 16px}.pin-input{letter-spacing:.3em;width:7em}.new-child-form{margin-bottom:20px}.form-section{border:none;flex-direction:column;gap:10px;margin:0;padding:0;display:flex}.form-section+.form-section{border-top:1px solid var(--p-line-soft);padding-top:14px}.form-section>legend{margin-bottom:8px;padding:0;font-weight:600}.field-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 16px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field label{font-weight:500}.lesson-list{margin:8px 0 16px;padding:0;list-style:none}.lesson-row{border-bottom:1px solid var(--p-line-soft);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:10px 4px;display:flex}.lesson-list>li:last-child .lesson-row{border-bottom:none}.lesson-row-title{flex:1;min-width:12em;font-weight:500}.lesson-row button{padding:6px 12px;font-size:14px}.toc-rows{margin:8px 0;padding:0;list-style:none}.toc-row{border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:flex}.toc-row--doubtful{background:var(--p-warning-soft)}.toc-code{width:7em}.toc-title{flex:1;min-width:12em}.table-scroll{overflow-x:auto}.week-plan{border-collapse:collapse;min-width:100%}.week-plan th,.week-plan td{text-align:center;border-bottom:1px solid var(--p-line-soft);padding:8px 6px}.week-plan thead th{color:var(--p-muted);font-size:13px;font-weight:600}.week-plan th[scope=row]{text-align:left;white-space:nowrap;font-weight:600}.parent-shell .week-plan input{text-align:center;width:3.5em;padding:6px}.week-plan tfoot td,.week-plan tfoot th{color:var(--p-muted);border-bottom:none;font-size:13px}.upcoming-list{margin:8px 0 0;padding:0;list-style:none}.upcoming-day{border-bottom:1px solid var(--p-line-soft);flex-wrap:wrap;align-items:center;gap:12px;padding:10px 0;display:flex}.upcoming-day:last-child{border-bottom:none}.upcoming-date{white-space:nowrap;background:var(--p-primary-soft);min-width:6.5em;color:var(--p-primary-hover);text-align:center;border-radius:8px;padding:4px 8px;font-weight:600}.upcoming-what{flex:1;min-width:10em}.upcoming-day--off .upcoming-date,.upcoming-day--rest .upcoming-date,.upcoming-day--outside_year .upcoming-date{background:var(--p-line-soft);color:var(--p-muted)}.upcoming-day--off .upcoming-what,.upcoming-day--rest .upcoming-what,.upcoming-day--outside_year .upcoming-what{color:var(--p-muted)}.upcoming-day .inline-form input{width:12em}.preview-list{counter-reset:question;flex-direction:column;gap:12px;margin:16px 0 0;padding:0;list-style:none;display:flex}.preview-list>li{border:1px solid var(--p-line);counter-increment:question;border-radius:12px;padding:14px 16px 14px 52px;position:relative}.preview-list>li:before{content:counter(question);background:var(--p-primary-soft);width:26px;height:26px;color:var(--p-primary-hover);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid;position:absolute;top:14px;left:14px}.preview-list p{margin:4px 0}.preview-list ul{margin:4px 0;padding-left:20px}.preview-stem{margin:6px 0;font-size:17px;font-weight:600}.item-actions{border-top:1px dashed var(--p-line);flex-wrap:wrap;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.parent-shell .item-actions button{padding:6px 12px;font-size:13px}.inbox-item{border-left:4px solid var(--p-primary);flex-direction:column;gap:6px;display:flex}.inbox-item--done{border-left-color:var(--p-line);opacity:.65}.inbox-title{margin:0;font-size:16px;font-weight:600}.inbox-decision input{flex:1;min-width:12em}.adjust-form{margin:14px 0 4px}.adjust-form input{flex:1;width:auto;min-width:8em}.ledger-list{flex-direction:column;margin:14px 0 0;padding:0;list-style:none;display:flex}.ledger-list li{border-bottom:1px solid var(--p-line-soft);padding:8px 0}.ledger-list li:last-child{border-bottom:none}.parent-shell .ticket-plus{color:#067647}.parent-shell .ticket-minus{color:var(--p-muted)}.usage-table{border-collapse:collapse;margin:12px 0}.usage-table th,.usage-table td{text-align:right;border-bottom:1px solid var(--p-line-soft);padding:6px 14px}.usage-table th{color:var(--p-muted);font-size:13px;font-weight:600}.usage-table th:first-child,.usage-table td:first-child{text-align:left}.dialog{width:calc(100% - 32px);max-width:400px;font-family:var(--font-parent);border:none;border-radius:16px;padding:24px;box-shadow:0 20px 50px #10182840}.dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182873}.dialog h2{margin:0 0 4px;font-size:18px}.parent-login{background:radial-gradient(circle at 50% 0%, var(--p-primary-soft), var(--p-bg) 60%);flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px 16px;display:flex}.parent-login-card{width:min(400px,100%);padding:32px 28px}.parent-login-card .mascot{align-self:center}.parent-login-card h1{text-align:center;margin:0 0 8px;font-size:22px}.parent-login-card button{margin-top:8px;padding:11px 18px}.parent-login-back{color:var(--p-muted);text-decoration:none}.parent-login-back:hover{color:var(--p-text)}@media (width<=900px){.parent-shell{grid-template-columns:minmax(0,1fr)}.parent-sidebar{z-index:10;flex-flow:wrap;align-items:center;gap:8px 12px;height:auto;padding:10px 16px;position:static}.parent-brand{flex:1;padding:0}.child-chooser{flex-basis:100%;order:2;padding:0}.parent-nav{scrollbar-width:none;flex-direction:row;flex-basis:100%;order:3;overflow-x:auto}.parent-nav--bottom{border:0;order:4;margin:0;padding:0}.parent-nav a,.parent-shell button.parent-leave{flex-shrink:0;gap:6px;padding:8px 10px}.parent-page{padding:24px 16px 48px}}@media (width<=600px){.child-card{flex-wrap:wrap}.settings-grid{grid-template-columns:1fr}.card{padding:18px 16px}.preview-list>li{padding-left:44px}}.form>input[type=date],.form>input[type=time],.form>input[type=number],.form>select{align-self:flex-start;min-width:14em}.form>input:not([type]),.form>input[type=text],.form>input[type=email],.form>input[type=password],.form>textarea{max-width:40rem}.form>button[type=submit]{align-self:flex-end}.parent-login-card>button[type=submit]{align-self:stretch}.expander{margin:4px 0 8px}.expander>summary{color:var(--p-primary-hover);cursor:pointer;border:1px dashed #b8c0cc;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;list-style:none;display:inline-flex}.expander>summary::-webkit-details-marker{display:none}.expander>summary:hover{background:var(--p-primary-soft);border-color:var(--p-primary)}.expander[open]>summary{margin-bottom:12px}.move-buttons{gap:2px;display:inline-flex}.parent-shell button.icon-button{width:28px;height:28px;padding:0;font-size:14px}.parent-shell button.icon-button:disabled{opacity:.25}.source-buttons{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.source-buttons .photo-button{margin:0}.guess-note{white-space:normal;border-radius:10px;align-self:flex-start;padding:8px 12px;font-size:13px}.school-notes{border-top:1px solid var(--p-line);margin-top:20px;padding-top:16px}.note-list,.example-list{flex-direction:column;gap:8px;margin:10px 0;padding:0;list-style:none;display:flex}.note{border-left:4px solid var(--p-primary);background:var(--p-primary-soft);border-radius:8px;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:10px 12px;display:flex}.note--ended{border-left-color:var(--p-line);background:var(--p-line-soft);opacity:.75}.note-text{flex:100%;font-weight:500}.note .hint{flex:1}.parent-shell .note button{padding:4px 10px;font-size:13px}.lesson-examples{border:1px dashed var(--p-line);border-radius:var(--p-radius);margin:-8px 0 16px;padding:16px 20px}.lesson-examples h4{margin:0 0 4px;font-size:15px}.example-list li{background:var(--p-line-soft);border-radius:8px;align-items:center;gap:10px;padding:6px 10px;display:flex}.example-list li span{flex:1}.worksheet-pick{border:1px solid var(--p-line);border-radius:10px;flex-direction:column;gap:8px;margin:8px 0;padding:12px;display:flex}.worksheet-pick label{align-items:flex-start;gap:8px;display:flex}.learn-ahead{margin:10px 0 0}.teaching-panel{border:1px solid var(--p-line);border-radius:var(--p-radius);background:#fbfcfd;margin:0 0 16px;padding:18px 20px}.teaching-panel h4{margin:14px 0 6px;font-size:15px}.teaching-steps{flex-direction:column;gap:10px;margin:8px 0;padding-left:20px;display:flex}.teaching-steps li{background:var(--p-surface);box-shadow:var(--p-shadow);border-radius:10px;padding:10px 12px}.teaching-steps h4{margin:2px 0 4px}.teaching-text{white-space:pre-line;margin:0}.worked-lines{background:var(--p-line-soft);white-space:pre-wrap;border-radius:8px;margin:8px 0 0;padding:10px 12px;font-family:inherit}.teaching-questions{margin:4px 0;padding-left:20px}.teaching-questions p{margin:2px 0}.parent-shell{--p-chart:#0d9488}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;margin-bottom:18px;display:flex}.stat-tiles{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.stat-tile{border:1px solid var(--p-line);border-radius:var(--p-radius);background:var(--p-surface);flex-direction:column;gap:4px;padding:14px 16px;display:flex}.stat-tile-label{color:var(--p-muted);font-size:13px}.stat-tile-value{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.two-columns{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 20px;display:grid}.watch-list{gap:12px;margin:0 0 12px;padding:0;list-style:none;display:grid}.watch-list li{flex-direction:column;display:flex}.subject-bars{gap:14px;margin:0;padding:0;list-style:none;display:grid}.subject-bars-label{justify-content:space-between;margin-bottom:6px;display:flex}.bar{background:var(--p-line-soft);border-radius:999px;height:8px;display:block;overflow:hidden}.bar>span{background:var(--p-chart);border-radius:999px;height:100%;display:block}.parent-shell button.link-button{color:var(--p-primary);background:0 0;padding:0;font-weight:600}.parent-shell button.link-button:hover{background:0 0;text-decoration:underline}.essay-feedback{background:var(--p-primary-soft);white-space:pre-line;border-radius:8px;padding:8px 12px}.pdf-import-row{flex-wrap:wrap;align-items:center;gap:10px 16px;margin:10px 0;display:flex}.file-button{border:1px solid var(--p-line);background:var(--p-surface);cursor:pointer;border-radius:8px;align-items:center;padding:8px 14px;font-weight:600;display:inline-flex;position:relative}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-button:focus-within{outline:2px solid var(--p-primary);outline-offset:2px}.pdf-import-progress{align-items:center;gap:12px;margin-top:8px;display:flex}.pdf-import-progress progress{flex:1;max-width:360px;height:10px}.pdf-import-summary{margin-top:10px}.knowledge-panel{border-left:3px solid var(--p-primary);margin:8px 0 16px;padding:12px 16px}.source-list{white-space:pre-line;gap:6px;margin:8px 0;padding-left:20px;display:grid}.component-list{gap:10px;margin:8px 0;padding:0;list-style:none;display:grid}.component-card{border:1px solid var(--p-line);background:var(--p-surface);border-radius:8px;padding:10px 12px}.component-card h4{margin:0 0 4px}.component-needs{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.chip{background:var(--p-line);border-radius:999px;padding:2px 8px;font-size:13px}.mistake-list{gap:6px;margin:4px 0 0;padding-left:20px;display:grid}.master-detail{grid-template-columns:minmax(320px,26%) minmax(0,1fr);height:100vh;display:grid}.master{border-right:1px solid var(--p-line);background:var(--p-surface);position:relative;overflow-y:auto}.master-detail--folded{grid-template-columns:52px minmax(0,1fr)}.parent-shell button.master-fold{z-index:3;background:var(--p-line-soft);width:30px;height:30px;color:var(--p-muted);border-radius:8px;padding:0;font-size:16px;line-height:1;position:absolute;top:22px;right:10px}.parent-shell button.master-fold:hover{background:var(--p-line);color:var(--p-text)}.master-folded-title{display:none}.master-detail--folded .master{overflow:hidden}.master-detail--folded .master-list{display:none}.master-detail--folded .master-folded-title{color:var(--p-muted);writing-mode:vertical-rl;text-align:center;justify-self:center;width:100%;margin:70px 0 0;font-weight:600;display:block}.master-head{z-index:2;border-bottom:1px solid var(--p-line);background:var(--p-surface);padding:22px 52px 14px 18px;position:sticky;top:0}.master-head h1{font-size:20px}.master-empty{padding:18px}.filter-chips{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.parent-shell .filter-chips button{background:var(--p-line-soft);color:var(--p-text);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:500}.parent-shell .filter-chips button[aria-pressed=true]{background:var(--p-text);color:#fff}.master-day{color:var(--p-muted);letter-spacing:.04em;text-transform:uppercase;margin:0;padding:12px 18px 4px;font-size:12px;font-weight:600}.parent-shell button.master-entry{width:100%;color:var(--p-text);text-align:left;background:0 0;border-left:3px solid #0000;border-radius:0;justify-content:stretch;gap:6px;padding:12px 18px;font-weight:400;display:grid}.parent-shell button.master-entry:hover{background:var(--p-line-soft)}.parent-shell button.master-entry[aria-current=true]{background:var(--p-primary-soft);border-left-color:var(--p-primary)}.master-entry-top{justify-content:space-between;gap:8px;display:flex}.master-entry-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.score{font-variant-numeric:tabular-nums;font-weight:700}.detail-pane{min-width:0;padding:0 72px 64px 32px;overflow-y:auto}.detail-pane>.hint{padding-top:24px}.parent-shell button.detail-back{color:var(--p-primary);background:0 0;margin-bottom:12px;padding:0;font-weight:600;display:none}.detail{gap:16px;display:grid}.detail .card{margin:0}.detail-head{z-index:2;border-bottom:1px solid var(--p-line);background:var(--p-bg);justify-content:space-between;align-items:flex-start;gap:16px;margin:0 -72px 0 -32px;padding:20px 72px 14px 32px;display:flex;position:sticky;top:0}.detail-head h2{margin:6px 0 2px;font-size:20px}.detail-score{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700}.subject-chip{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.subject-chip--math{color:#1d4ed8;background:#e5efff}.subject-chip--english{color:#be185d;background:#fde7f1}.subject-chip--it{color:#0f766e;background:#dcf7f3}.score-badge{font-variant-numeric:tabular-nums;border-radius:999px;padding:2px 10px;font-size:14px;font-weight:700}.score-badge--good{color:#15803d;background:#dcfce7}.score-badge--fair{color:#b45309;background:#fef3c7}.score-badge--low{color:#b91c1c;background:#fee2e2}.score-badge--none{background:var(--p-line-soft);color:var(--p-muted)}.detail-score{border-radius:14px;flex-direction:column;align-items:center;padding:10px 18px;display:flex}.detail-score strong{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.1}.detail-score span{font-size:13px;font-weight:500}.review{gap:20px;display:grid}.review-group{gap:10px;display:grid}.review-group h3{margin:0;font-size:15px;font-weight:700}.review-card{border:1px solid var(--p-line);background:var(--p-surface);border-radius:12px;padding:14px 16px}.review-stem{white-space:pre-line;margin:0 0 10px;font-size:16px;font-weight:600}.review-compare{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;display:grid}.review-compare-cell{border-radius:10px;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.review-compare-cell span{letter-spacing:.03em;text-transform:uppercase;opacity:.8;font-size:12px;font-weight:600}.review-compare-cell strong{white-space:pre-line;font-size:15px}.review-compare-cell--bad{color:#b91c1c;background:#fef2f2}.review-compare-cell--ok{color:#15803d;background:#f0fdf4}.review-why{color:var(--p-muted);white-space:pre-line;margin:10px 0 0;font-size:14px}.review-essay{background:var(--p-line-soft);white-space:pre-line;border-radius:10px;margin:0;padding:10px 12px}.review-all-right{color:#15803d;background:#f0fdf4;border-radius:12px;margin:0;padding:14px 16px;font-weight:600}.review-right-group summary{cursor:pointer;font-size:15px;font-weight:700}.review-rows{border:1px solid var(--p-line);background:var(--p-surface);border-radius:12px;margin:8px 0 0;padding:0;list-style:none}.review-row-details{border-top:1px solid var(--p-line-soft)}.review-rows>li:first-child .review-row-details{border-top:0}.review-row{cursor:pointer;grid-template-columns:22px minmax(0,1fr) minmax(0,40%) auto 14px;align-items:baseline;gap:12px;padding:9px 14px;list-style:none;display:grid}.review-row::-webkit-details-marker{display:none}.review-row:hover,.review-row-details[open]>.review-row{background:var(--p-line-soft)}.review-row-body{padding:4px 14px 14px 46px}.review-instruction{margin:0 0 2px}.review-options{margin:0 0 10px;padding-left:20px}.review-row-mark{color:#15803d;font-weight:700}.review-row-mark--blank{color:var(--p-muted)}.review-row-stem{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.review-row-answer{color:var(--p-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums;overflow:hidden}.lesson-taught summary{cursor:pointer;font-weight:700}.lesson-taught[open] summary{margin-bottom:12px}.lesson-steps{gap:14px;margin:0;padding-left:20px;display:grid}.lesson-steps p{white-space:pre-line;margin:4px 0 0}.attempt-list{gap:6px;margin:0 0 16px;padding:0;list-style:none;display:grid}.digest-week{margin-top:8px}.digest-week p{margin:0 0 8px;line-height:1.55}.digest-section{margin-bottom:10px}.digest-section h3{margin:0 0 4px;font-size:.95rem}.digest-section ul{margin:0;padding-left:20px;line-height:1.55}@media (width<=900px){.master-detail,.master-detail--folded{grid-template-columns:minmax(0,1fr);height:auto}.parent-shell button.master-fold,.master-detail--folded .master-folded-title{display:none}.master-detail--folded .master-list{display:block}.master,.detail-pane{overflow:visible}.detail-head{margin:0 -16px;padding:14px 16px 12px}.master{border-right:0}.master-detail--chosen .master,.master-detail:not(.master-detail--chosen) .detail-pane{display:none}.parent-shell .master-detail--chosen button.detail-back{display:inline-block}.detail-pane{padding:12px 16px 48px}}.parent-shell button.bell{z-index:20;background:var(--p-surface);width:40px;height:40px;color:var(--p-text);border:1px solid var(--p-line);box-shadow:var(--p-shadow);border-radius:50%;place-items:center;padding:0;display:grid;position:fixed;top:14px;right:18px}.parent-shell button.bell:hover{background:var(--p-line-soft)}.bell-count{color:#111827;text-align:center;background:#f59e0b;border-radius:999px;min-width:20px;padding:0 6px;font-size:12px;font-weight:700;line-height:20px;position:absolute;top:-4px;right:-4px}.drawer{background:var(--p-bg);width:min(440px,100vw);max-width:none;height:100vh;max-height:none;color:var(--p-text);border:0;margin:0 0 0 auto;padding:0;box-shadow:-8px 0 24px #1018282e}.drawer::backdrop{background:#10182859}.drawer-body{padding:24px 20px;position:relative}.drawer-body h1{margin:0 0 12px;font-size:20px}.parent-shell button.drawer-close{color:var(--p-muted);background:0 0;padding:4px 10px;position:absolute;top:18px;right:16px}.parent-shell button.drawer-close:hover{background:var(--p-line-soft)}.drawer .card{box-shadow:none;margin-bottom:10px;padding:12px 14px}.drawer .inbox-title{margin:2px 0 6px;font-size:14px;font-weight:500}.drawer .form-actions{margin-top:0}.parent-shell .drawer .form-actions button{padding:5px 12px;font-size:13px}.book-choices{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 20px;display:grid}.book-choice{flex-direction:column;gap:6px;font-weight:500;display:flex}.book-panel>summary{cursor:pointer;flex-wrap:wrap;align-items:baseline;gap:4px 14px;list-style:none;display:flex}.book-panel>summary::-webkit-details-marker{display:none}.book-panel>summary:before{content:"▸";color:var(--p-muted);transition:transform .12s}.book-panel[open]>summary:before{transform:rotate(90deg)}.book-panel[open]>summary{margin-bottom:16px}.book-panel-title{font-size:18px;font-weight:600}.book-settings{background:var(--p-line-soft);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;display:flex}.book-roadmap{margin-left:auto;font-weight:500}.book-import{gap:12px;display:grid}.lesson-details{border-left:3px solid var(--p-line);gap:4px;margin:0 0 8px 12px;padding:10px 14px;display:grid}.lesson-details-move{align-items:center;gap:8px;display:flex}.lesson-row>.badge:first-child{text-align:center;min-width:76px}.parent-shell .upcoming-day button{padding:5px 12px;font-size:13px}.assign-bar{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.assign-field{flex-direction:column;gap:6px;font-weight:500;display:flex}.assign-field--count input{width:6em}.assign-actions{gap:8px;margin-left:auto;display:flex}.assign-note{flex-basis:100%}.assign-done{display:block}.preview-stem{white-space:pre-line;margin:6px 0 4px;font-weight:600}.preview-options{margin:0 0 4px;padding-left:20px}.preview-answer{color:var(--p-muted);margin:0 0 8px}.review-row-chevron{color:var(--p-muted);transition:transform .12s}.review-row-details[open] .review-row-chevron{transform:rotate(90deg)}
