@charset "UTF-8";
:root{--ink:#17233e;--muted:#52617a;--blue:#193dcb;--blue-dark:#122d9c;--blue-pale:#edf1ff;--paper:#fff;--canvas:#f5f7fc;--line:#dce2ee;--gold:#ffd766;--green:#126747;--red:#a62934;--radius:18px;font-family:"Segoe UI",Arial,sans-serif;font-size:16px;color:var(--ink);background:var(--canvas);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;line-height:1.6}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a{color:var(--blue);text-underline-offset:4px}button,select,input,textarea{border-radius:10px}button{min-height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);padding:9px 16px;font-weight:600}button:hover:not(:disabled){border-color:var(--blue);background:var(--blue-pale)}button.primary,.primary{background:var(--blue);color:#fff;border:1px solid var(--blue);font-weight:650;border-radius:10px;padding:11px 22px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px}button.primary:hover,.primary:hover{background:var(--blue-dark);color:#fff}button.ghost{background:transparent;border-color:transparent}button.text{border:0;background:transparent;color:var(--blue);text-decoration:underline}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.8rem,3vw,2.7rem);line-height:1.17;letter-spacing:-.035em;margin-bottom:14px;font-weight:750}h2{font-size:1.5rem;line-height:1.25;letter-spacing:-.025em}h3{font-size:1.1rem;line-height:1.35}p{margin-bottom:16px}small,.small{font-size:.875rem}strong{font-weight:650}img{max-width:100%;display:block}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid #cb7900;outline-offset:4px}.skip{position:fixed;top:-100px;left:16px;background:var(--paper);z-index:50;padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.muted{color:var(--muted)}.eyebrow{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:750;color:var(--blue);margin-bottom:12px}.badge{display:inline-flex;align-items:center;gap:5px;border-radius:6px;background:var(--blue-pale);color:var(--blue-dark);padding:4px 9px;font-size:.8rem;font-weight:750;line-height:1.35}.badge.gold{background:#fff0bb;color:#654500}.badge.green{background:#e4f3ec;color:var(--green)}.stack{display:grid;gap:18px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.between{justify-content:space-between}.divider{border-top:1px solid var(--line);padding-top:22px;margin-top:22px}.shell{min-height:100vh;display:grid;grid-template-columns:232px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;border-right:1px solid var(--line);background:#fff;padding:30px 22px;display:flex;flex-direction:column;gap:30px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:800;line-height:1.15;letter-spacing:-.04em;font-size:1.2rem}.brandmark{width:40px;height:40px;display:grid;place-items:center;background:var(--blue);color:white;border-radius:12px}.brandmark svg{width:27px;height:27px}.sidenav{display:grid;gap:6px}.sidenav a{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:var(--muted);font-weight:600;text-decoration:none}.sidenav a[aria-current=page]{color:var(--blue);background:var(--blue-pale)}.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:20px;font-size:.875rem;color:var(--muted)}.topbar{min-height:76px;padding:16px 38px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;background:#ffffffd9}.topbar .route-label{display:flex;align-items:center;gap:8px;font-size:.875rem}.topbar button{font-size:.875rem}.content{max-width:1250px;margin:auto;padding:38px 42px 64px}.welcome{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:start;margin-bottom:26px}.welcome p{max-width:650px}.today{font-size:.875rem;color:var(--muted);padding-top:10px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(240px,1fr);gap:24px}.continue{background:var(--blue);border-radius:var(--radius);color:#fff;padding:30px;display:grid;grid-template-columns:1fr 145px;gap:12px;min-height:235px;position:relative;overflow:hidden}.continue .eyebrow,.continue .muted{color:#d8e1ff}.continue h2{font-size:1.9rem;max-width:460px;margin:12px 0}.continue .primary{background:var(--gold);border-color:var(--gold);color:#17233e;margin-top:10px}.continue .avatar{align-self:end;width:145px;height:160px;object-fit:cover;border-radius:75px 75px 16px 16px}.progress-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}.big-number{font-size:2.7rem;line-height:1.2;font-weight:750;letter-spacing:-.05em}.big-number span{font-size:1rem;letter-spacing:0;color:var(--muted);font-weight:400}.progress-track{height:9px;border-radius:8px;background:#e7eaf3;overflow:hidden;margin:16px 0}.progress-track>span{display:block;height:100%;background:var(--blue);border-radius:8px;transition:width .3s}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:34px 0 16px}.section-heading h2{margin:0}.lesson-list{display:grid;gap:12px}.lesson-row{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:20px;align-items:center;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:14px}.lesson-row h3{margin:0 0 5px}.lesson-row p{margin:0;font-size:.875rem;color:var(--muted)}.level-icon{display:grid;place-items:center;min-height:50px;width:52px;border-radius:12px;background:var(--blue-pale);color:var(--blue);font-weight:750}.lesson-row .row{gap:7px}.route-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.route-card{padding:22px 18px;text-align:left;display:flex;flex-direction:column;gap:8px;align-items:flex-start;min-height:154px;position:relative}.route-card[aria-pressed=true]{background:var(--blue-pale);border:2px solid var(--blue);padding:21px 17px}.route-card .route-symbol{font-size:1.2rem;background:var(--canvas);color:var(--blue);width:40px;height:40px;border-radius:10px;display:grid;place-items:center}.route-card small{font-weight:400;color:var(--muted)}.route-detail{padding:25px;border-radius:var(--radius);border:1px solid var(--line);background:white;margin-top:22px}.field{display:grid;gap:7px}select{min-height:44px;padding:8px 36px 8px 12px;border:1px solid #a7b4ce;background:#fff;color:var(--ink)}.levels{display:flex;gap:9px;flex-wrap:wrap}.level-chip{border-radius:100px;padding:8px 18px}.level-chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.notice{padding:16px 20px;background:var(--blue-pale);border-radius:12px;color:#253e80;font-size:.9375rem}.notice.warn{background:#fff4d3;color:#705000}.notice.error{background:#ffeded;color:#8d1a2c}.notice.success{background:#e6f4ed;color:var(--green)}.lesson-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:34px}.lesson-rail{padding-top:10px}.lesson-rail ol{list-style:none;padding:0;margin:22px 0}.lesson-rail li{margin-bottom:7px}.step-link{width:100%;text-align:left;border-color:transparent;background:transparent;font-size:.875rem;display:flex;align-items:center;gap:10px;padding:10px}.step-link .num{width:27px;height:27px;border:1px solid #b7c1d4;border-radius:50%;display:grid;place-items:center;flex:none;font-size:.8rem}.step-link[aria-current=step]{background:var(--blue-pale);color:var(--blue)}.step-link[aria-current=step] .num{background:var(--blue);border-color:var(--blue);color:white}.step-link.done .num{background:#e3f2eb;border-color:#bddccb;color:var(--green)}.lesson-body{min-width:0;max-width:860px}.lesson-body h1{font-size:2rem}.lesson-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px;min-height:360px}.lesson-header{margin-bottom:24px}.lesson-header .row{margin-bottom:12px}.lesson-footer{display:flex;gap:14px;justify-content:space-between;align-items:center;padding-top:22px;margin-top:22px;border-top:1px solid var(--line)}.lesson-footer .small{color:var(--muted)}.guide{display:flex;gap:14px;align-items:center;margin:22px 0;background:var(--blue-pale);padding:18px;border-radius:14px}.guide img{width:60px;height:60px;object-fit:cover;border-radius:50%;flex:none}.guide p{margin:0}.guide strong{color:var(--blue);font-size:.875rem}.guide button{flex:none;padding:8px;min-width:44px}.guide .small{color:var(--muted)}.objective{font-size:1.35rem;line-height:1.55;max-width:650px}.checklist{padding:0;list-style:none;display:grid;gap:14px}.checklist li{display:flex;gap:11px}.checklist li:before{content:'✓';color:var(--green);font-weight:750}.learning-card{background:#f0f4ff;border:1px solid #d7e1fc;border-radius:16px;padding:28px;touch-action:pan-y}.learning-card h2{font-size:1.6rem}.example{font-size:1.35rem;line-height:1.5;font-weight:650;border-left:3px solid var(--blue);padding-left:18px;margin:24px 0}.translation{color:var(--muted);font-size:1rem;font-weight:400}.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-top:20px}.dots{display:flex;gap:8px}.dot{width:9px;height:9px;background:#b8c4e9;border-radius:50%}.dot.active{background:var(--blue)}details{border:1px solid var(--line);border-radius:12px;padding:0;background:white;margin-top:18px}summary{cursor:pointer;padding:15px 18px;font-weight:650}details>div{padding:0 20px 20px}.reading{white-space:pre-wrap;line-height:1.85;font-size:1.075rem;padding:22px;background:#fafbff;border-left:3px solid var(--blue);border-radius:6px;margin:20px 0}.reading.full{max-width:75ch}.audio-panel{padding:22px;background:var(--canvas);border-radius:14px;margin:20px 0}.audio-panel audio{width:100%;display:block;margin:15px 0}.audio-options{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.audio-options label{display:flex;align-items:center;gap:9px;font-size:.875rem}.audio-options input{width:19px;height:19px}.fragments{display:grid;gap:6px;margin-top:14px;max-height:280px;overflow:auto;padding:4px}.fragment{display:flex;align-items:center;gap:12px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:#fff}.fragment button{font-size:.875rem;flex:none}.fragment p{margin:0;font-size:.9375rem}.fragment.active{border-color:var(--blue);background:var(--blue-pale)}.speaker{font-size:.8rem;color:var(--blue);font-weight:750}.question{margin-bottom:28px}.question legend{font-size:1.1rem;font-weight:650;margin-bottom:14px;line-height:1.55}.question fieldset{border:0;padding:0;margin:0;min-width:0}.answers{display:grid;gap:10px}.answer{display:flex;align-items:flex-start;gap:12px;background:white;border:1px solid #bdc8db;border-radius:10px;padding:13px 16px;cursor:pointer}.answer:hover{background:var(--canvas)}.answer input{width:20px;height:20px;margin:3px 0 0;flex:none;accent-color:var(--blue)}.answer:has(input:checked){border-color:var(--blue);background:var(--blue-pale)}.feedback{padding:14px 18px;margin-top:16px;border-radius:10px;background:#fff1db;color:#6f4700;outline:none}.feedback.correct{background:#e5f5ed;color:var(--green)}.feedback p:last-child{margin:0}.hint{margin-top:12px;color:var(--muted);font-size:.9375rem}.dialog-line{border-radius:16px 16px 16px 3px;background:var(--blue-pale);padding:22px;margin:20px 0;font-size:1.125rem}.dialog-options{display:grid;gap:12px}.dialog-options button{text-align:left;padding:15px 20px;font-weight:500}.task-text{width:100%;resize:vertical;min-height:180px;padding:16px;border:1px solid #9faec9;color:var(--ink);background:white;line-height:1.6}.task-checks{display:grid;gap:12px;margin:20px 0}.task-checks label{display:flex;gap:11px;align-items:flex-start}.task-checks input{width:20px;height:20px;margin-top:4px;flex:none;accent-color:var(--blue)}.result{background:var(--blue-pale);border-radius:16px;padding:28px}.result h2{font-size:1.8rem}.result-score{font-size:3rem;font-weight:800;letter-spacing:-.05em;color:var(--blue)}.empty{border:1px dashed #b4c0d7;padding:25px;border-radius:14px;background:white}.resources{display:grid;grid-template-columns:1fr 1fr;gap:18px}.resource{background:white;border:1px solid var(--line);padding:24px;border-radius:14px}.resource p{color:var(--muted)}.character-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.character{border:1px solid var(--line);border-radius:16px;background:white;padding:24px}.character img{width:120px;height:135px;object-fit:cover;border-radius:70px 70px 12px 12px;margin-bottom:18px}.character audio{max-width:100%;width:100%}.character p{font-size:.9375rem;color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);text-decoration:none;font-size:.875rem;margin-bottom:23px}.mobile-steps{display:none}.save-status{font-size:.8rem;color:var(--muted)}.footer-note{margin:36px 0 0;color:var(--muted);font-size:.875rem}.children{--blue:#2850b4;--blue-dark:#173779;--blue-pale:#edf3ff;--radius:24px}.children .learning-card{border-bottom:5px solid #f1c848}.children .lesson-row{border-radius:20px}.children .level-icon{background:#fff0b8;color:#594800}.senior .lesson-card{font-size:1.08rem}.senior .answer{padding:16px}.large-text{font-size:20px}.hidden{display:none!important}
@media(min-width:1600px){.content{padding-top:48px}.lesson-layout{gap:45px}}
@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:26px 15px}.content{padding:28px}.topbar{padding:16px 28px}.dashboard-grid{grid-template-columns:1.5fr 1fr}.continue{grid-template-columns:1fr}.continue .avatar{display:none}.lesson-layout{grid-template-columns:160px minmax(0,1fr);gap:20px}.lesson-card{padding:24px}.route-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.shell{display:block}.sidebar{height:auto;position:relative;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 22px;gap:16px;border-right:0;border-bottom:1px solid var(--line)}.brand{font-size:1rem}.brandmark{width:34px;height:34px}.sidenav{display:flex;gap:2px}.sidenav a{padding:10px}.sidenav a span{display:none}.sidebar-foot{display:none}.topbar{min-height:65px;padding:13px 22px}.content{padding:28px 22px 50px}.lesson-layout{display:block}.lesson-rail{display:none}.mobile-steps{display:block;margin-bottom:20px}.mobile-steps select{max-width:100%;width:100%}.lesson-body{max-width:none}.dashboard-grid{grid-template-columns:1.4fr 1fr}.welcome{grid-template-columns:1fr}.today{display:none}.character-grid{grid-template-columns:1fr}.character{display:grid;grid-template-columns:90px 1fr;gap:20px}.character img{width:90px;height:100px}.lesson-row{gap:15px;padding:20px}.lesson-row .primary{padding:9px 16px}.route-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:580px){.sidebar{padding:13px 16px}.sidenav a{padding:8px;min-height:44px;min-width:44px;justify-content:center}.brand{font-size:.95rem}.topbar{padding:12px 16px;align-items:flex-start}.topbar .route-label{max-width:50%}.topbar .row{gap:4px;justify-content:flex-end}.topbar button{padding:7px 9px}.content{padding:26px 16px 42px}.welcome{margin-bottom:18px;gap:0}.dashboard-grid{grid-template-columns:1fr}.continue{padding:25px;grid-template-columns:1fr 95px;min-height:230px}.continue h2{font-size:1.6rem}.continue .avatar{display:block;width:95px;height:118px}.progress-panel{padding:22px}.progress-panel .big-number{font-size:2rem}.route-grid{grid-template-columns:1fr 1fr;gap:10px}.route-card{min-height:145px;padding:18px 14px}.route-card[aria-pressed=true]{padding:17px 13px}.lesson-row{grid-template-columns:43px minmax(0,1fr);gap:14px;padding:18px}.level-icon{width:43px;height:45px;font-size:.875rem}.lesson-row>.primary{grid-column:2;justify-self:start}.lesson-card{padding:22px 18px;border-radius:15px}.lesson-body h1{font-size:1.75rem}.lesson-header{margin-bottom:20px}.learning-card{padding:22px 18px}.learning-card h2{font-size:1.4rem}.example{font-size:1.2rem;padding-left:13px}.guide{padding:14px;gap:11px;align-items:flex-start}.guide img{width:44px;height:44px}.guide button{padding:7px}.guide p{font-size:.9375rem}.lesson-footer{flex-wrap:wrap}.lesson-footer .small{width:100%;order:-1}.audio-panel{padding:15px}.fragment{flex-wrap:wrap}.fragment button{padding:8px 10px}.resources{grid-template-columns:1fr}.section-heading{align-items:flex-start;gap:12px}.section-heading h2{font-size:1.35rem}.section-heading .small{font-size:.8rem}.route-detail{padding:20px}.character{display:block}.character img{width:100px;height:115px}.level-chip{padding:8px 14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.sidebar,.topbar,.lesson-rail,.mobile-steps,button,audio,.lesson-footer{display:none}.shell,.lesson-layout{display:block}.content{padding:0}.lesson-card{border:0;padding:0}details>*{display:block}.reading{background:white}.guide{display:none}body{background:white;color:black}}

.toy-option{width:90px;height:80px;object-fit:contain;margin-bottom:6px}details>div>img{width:100%;height:auto}.final-context{margin:22px 0}.save-error{color:#a62934!important}.dialog-options .toy-option{display:inline-block;vertical-align:middle;margin-right:14px}.learning-card{user-select:text}button svg{vertical-align:middle}

.checklist li.is-pending:before{content:"○";color:var(--muted)}
