:root{color:#18334c;background:#f0faff;--meadow-blue:#1767cf;--meadow-green:#13835b;--meadow-yellow:#ffc83d}header .brand{color:#1268be}header .brand b{color:#16835b}.intro{background:linear-gradient(120deg,#1268cd,#0795a6);box-shadow:0 8px 24px #1268cd1f}.intro p{color:#fff}.intro .meter{background:#ffffff40}.level-heading{background:#12578c}.level.active,.primary{background:#1767cf;color:#fff}.primary:hover{background:#0f54b0}.secondary{background:#ecf5ff;color:#185ba8}.workspace{border-color:#cbdff1;box-shadow:0 12px 36px #1567a80c}.panel-title,.lesson-title{color:#143a57}.level-kicker{color:#ffe07b}.stepper{scroll-margin-top:12px;align-items:stretch;gap:8px}.stepper button{position:relative;min-width:110px;border-radius:14px;padding:10px 12px 7px;background:#ecf4ff;color:#294d72;min-height:66px}.stepper button.current{background:#1767cf;color:#fff}.stepper button.finished{background:#dcf7e9;color:#146d4b}.tab-progress{display:block;height:4px;background:#1533521a;border-radius:8px;margin-top:8px;overflow:hidden}.tab-progress i{display:block;height:100%;background:#14875d;border-radius:8px;transition:width .2s}.current .tab-progress{background:#ffffff50}.current .tab-progress i{background:#ffe075}.tab-percent{display:block;text-align:right;font-size:12px;margin-top:3px}.task-progress{background:#f2faff;border:1px solid #d3e7f6;padding:14px 16px;border-radius:15px;margin:0 0 22px}.task-progress>div{display:flex;justify-content:space-between;gap:10px;align-items:center}.task-progress span{font-size:14px;color:#3d5e75}.task-progress progress{display:block;width:100%;height:10px;margin-top:10px;accent-color:#14875d;border:0;border-radius:8px;overflow:hidden;background:#daeaf2}.task-progress progress::-webkit-progress-bar{background:#daeaf2;border-radius:8px}.task-progress progress::-webkit-progress-value{background:#14875d;border-radius:8px}.task-progress progress::-moz-progress-bar{background:#14875d;border-radius:8px}.task-progress p{font-size:14px;margin:8px 0 0;color:#3d5e75;line-height:1.5}.sound{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:44px;background:#e4f2ff;color:#155aa5;border:1px solid #c3dff7;border-radius:12px;white-space:nowrap}.sound:before{content:'🔊';font-size:16px}.sound:hover{background:#cfebff}.sentence-card{align-items:center}.sentence-card .sound,.dialogue-line > .sound{font-size:14px;padding:9px 12px}.dialogue-line{scroll-margin-top:18px;transition:background .2s}.dialogue-line.playing{background:#e1f4ff}.dialogue-line.ready{background:#e9fbf1}.task-confirm{margin:18px 0;min-height:44px}.task-confirmed{color:#116d49;background:#e6f8ee;display:inline-block;border-radius:10px;padding:10px 14px;line-height:1.5;margin:14px 0}.paper-task-controls{margin:20px 0;padding:16px;border:1px solid #d2e5f3;border-radius:14px;line-height:1.5}.paper-task-controls h4{font-size:20px;margin:0 0 10px}.paper-task-controls>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.paper-task-controls .task-confirmed{margin:0}.lesson-award{display:flex;align-items:center;gap:18px;background:#fff8d7;border:1px solid #f0d16d;border-radius:18px;padding:20px;margin:0 0 24px}.lesson-award>span{font-size:48px}.lesson-award b{font-size:23px;color:#5e4810}.lesson-award p{margin:6px 0 0;color:#69541a;font-size:16px}.learning-award[hidden]{display:none}.learning-award{position:fixed;left:50%;bottom:max(24px,env(safe-area-inset-bottom));transform:translateX(-50%);z-index:1200;display:flex;align-items:center;gap:14px;max-width:calc(100vw - 24px);padding:16px 20px;background:#fff;border:2px solid #a7dbc2;box-shadow:0 8px 36px #183c5930;border-radius:18px;color:#164d36;font-weight:800;pointer-events:auto;isolation:isolate}.learning-award.star{border-color:#edc655;background:#fffbe7;color:#655015}.learning-award.lesson,.learning-award.confetti{border-color:#f1bd3c;background:#fff9d9;color:#655015}.award-icon{font-size:32px}.learning-award button{border:0;background:none;color:inherit;min-width:44px;min-height:44px;font-size:24px}.confetti-pieces{position:absolute;inset:0;pointer-events:none;z-index:-1}.confetti-pieces i{position:absolute;left:calc(var(--n)*6%);top:0;width:6px;height:13px;background:#20ae83;animation:reward-confetti 1.3s ease-out forwards;animation-delay:calc(var(--n)*20ms)}.confetti-pieces i:nth-child(3n){background:#ffbe35}.confetti-pieces i:nth-child(3n+1){background:#3b88e8}@keyframes reward-confetti{0%{transform:translateY(0) rotate(0);opacity:1}100%{transform:translateY(-140px) rotate(230deg);opacity:0}}
@media(max-width:650px){.stepper button{min-width:105px;min-height:66px;font-size:14px}.sentence-card{display:grid;grid-template-columns:24px minmax(0,1fr);gap:9px}.sentence-card > .sound{grid-column:2;justify-self:start}.dialogue-line{display:grid;grid-template-columns:28px minmax(0,1fr);gap:9px}.dialogue-line > .sound{grid-column:2;justify-self:start}.task-progress{padding:12px}.learning-award{width:max-content;font-size:15px;padding:12px}.award-icon{font-size:27px}.lesson-award{padding:16px}.lesson-award b{font-size:20px}}
@media(prefers-reduced-motion:reduce){.confetti-pieces{display:none}.tab-progress i,.dialogue-line{transition:none}}@media print{.learning-award,.task-progress,.paper-task-controls{display:none!important}}
.action-row:has(>button:only-child){justify-content:flex-end}.learning-award .confetti-pieces{position:fixed;inset:auto;left:calc(-50vw + 50%);bottom:calc(-1 * max(24px,env(safe-area-inset-bottom)));width:100vw;height:100dvh;z-index:-1;overflow:hidden}.learning-award .confetti-pieces i{left:calc(var(--x)*1%);top:-20px;width:9px;height:16px;animation:full-screen-confetti 3.3s ease-in forwards;animation-delay:var(--d);transform:rotate(var(--r))}@keyframes full-screen-confetti{0%{translate:0 -30px;rotate:0deg;opacity:1}85%{opacity:1}100%{translate:30px 110vh;rotate:600deg;opacity:0}}@media(prefers-reduced-motion:reduce){.learning-award .confetti-pieces{display:none}}
.remaining-task-list{margin-top:14px;padding-top:12px;border-top:1px solid #cfe1ed}.remaining-task-list ul{padding-left:20px;margin:8px 0;display:grid;gap:5px}.task-link{border:0;background:none;color:#125dab;font-size:14px;text-align:left;padding:5px 2px;min-height:32px;line-height:1.45;text-decoration:underline;text-underline-offset:3px}.task-link:hover{color:#093e77}.remaining-task-list details{margin-top:12px;font-size:14px}.remaining-task-list summary{cursor:pointer;color:#315c78;min-height:32px}.remaining-task-list li>span{font-size:14px;color:#166645}.listening-task-tip{font-size:14px;line-height:1.5;color:#48677c;margin:12px 0}.step-complete-notice{background:#e2f8ec;color:#116440;font-weight:800;padding:14px 16px;border-radius:12px;font-size:16px;line-height:1.5;margin:14px 0}.task-footer-status{margin:20px 0 10px;border-top:1px solid #d6e5ef;padding-top:8px;line-height:1.5}.task-footer-status>p:not(.step-complete-notice){font-size:14px;color:#48677c}.task-footer-status .task-link{display:block}.guided-practice article,.sound{scroll-margin-top:24px}@media print{.task-footer-status{display:none!important}}
.task-progress>#task-checklist{display:block}

.remaining-task-list>summary{cursor:pointer;color:#315c78;font-size:14px;min-height:32px;line-height:1.5}.task-footer-status:empty{display:none}
