:root{--learning-sky:#eaf5ff;--today-saffron:#f5b83b;--trail-orange:#e87532;--mastery-teal:#168b8c;--study-ink:#17324d;--warm-white:#fffdf8;--sky-deep:#cce7f7;--line-blue:#9fc7dd;--teal-soft:#d8efeb;--saffron-soft:#fff1c9;--muted-ink:#526b80;--danger-soft:#fff0e9;--font-display:"Avenir Next", Avenir, "Trebuchet MS", "PingFang SC", sans-serif;--font-body:"Atkinson Hyperlegible", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--radius-small:6px;--radius-medium:10px;--radius-large:16px;--shadow-soft:0 12px 32px #17324d17;color:var(--study-ink);background:var(--learning-sky);font-family:var(--font-body);font-size:17px;line-height:1.65}*{box-sizing:border-box}html{background:var(--learning-sky);min-width:320px}body{background:radial-gradient(circle at 8% 8%, #ffffffd6, transparent 24rem), linear-gradient(180deg, var(--learning-sky) 0%, #f3f9ff 48%, var(--learning-sky) 100%);min-width:320px;color:var(--study-ink);margin:0;overflow-x:hidden}button,input,select,textarea{color:inherit;font:inherit}button,select{cursor:pointer}button:disabled{cursor:not-allowed}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:3px;outline:4px solid #2364aa}h1,h2,h3,p,blockquote,figure{margin-top:0}h1,h2,h3{color:var(--study-ink);font-family:var(--font-display);text-wrap:balance;line-height:1.18}h1{letter-spacing:-.025em;margin-bottom:.75rem;font-size:clamp(26px,3.4vw,32px)}h2{margin-bottom:.75rem;font-size:clamp(1.45rem,2.8vw,1.75rem)}h3{margin-bottom:.55rem;font-size:1.2rem}p,li,label,blockquote{overflow-wrap:break-word;word-break:normal}main{width:min(100%,1240px);min-height:100vh;margin-inline:auto;padding:clamp(1.25rem,3vw,2.5rem)}.min-h-12{min-height:48px}.task-button{border-radius:var(--radius-small);background:var(--warm-white);min-width:48px;min-height:48px;color:var(--study-ink);text-align:center;border:1px solid #7aa5be;padding:.7rem 1.15rem;font-weight:750;line-height:1.25;transition:border-color .16s,background-color .16s,box-shadow .16s,transform .16s}.task-button:hover:not(:disabled){border-color:var(--trail-orange);transform:translateY(-1px);box-shadow:0 5px #e875322e}.task-button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}.task-button:disabled{color:#6c7c89;opacity:.78;background:#edf2f5;border-color:#b8c7d2}.task-button--primary{color:#fff;background:#a84e14;border-color:#a84e14}.task-button--primary:hover:not(:disabled){background:#853b0d;border-color:#853b0d}.task-button--listen{border-color:var(--mastery-teal);background:var(--teal-soft);color:#0b6265}.trail-view{position:relative}.trail-view__header{border-bottom:2px solid var(--line-blue);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:1.25rem 2rem;max-width:1000px;margin:0 auto 2rem;padding:.5rem 0 1.5rem;display:grid}.trail-view__header h1{grid-column:1;max-width:14ch;margin-bottom:0;font-size:32px}.trail-view__header .task-button{grid-area:1/2/span 2;align-self:center}.trail-view__eyebrow{color:#a84e14;font-family:var(--font-display);letter-spacing:.11em;text-transform:uppercase;grid-column:1;margin-bottom:.35rem;font-size:.88rem;font-weight:800}.trail-list{width:min(100%,1000px);margin:0 auto;padding:1.5rem 0 4rem;list-style:none;position:relative}.trail-list:before{background:repeating-linear-gradient(to bottom, var(--trail-orange) 0 16px, transparent 16px 27px);content:"";border-radius:4px;width:4px;position:absolute;top:0;bottom:0;left:calc(50% - 2px)}.trail-day{width:50%;min-width:0;padding:0 3.5rem 1.75rem 0;position:relative}.trail-day:nth-child(2n){margin-left:50%;padding-left:3.5rem;padding-right:0}.trail-day:before{z-index:2;border:5px solid var(--learning-sky);background:var(--trail-orange);width:24px;height:24px;box-shadow:0 0 0 2px var(--trail-orange);content:"";border-radius:50%;position:absolute;top:1.2rem;right:-12px}.trail-day:nth-child(2n):before{left:-12px;right:auto}.trail-day__unit{background:var(--study-ink);color:#fff;letter-spacing:.04em;border-radius:999px;margin:0 0 .65rem;padding:.28rem .62rem;font-size:.88rem;display:inline-block}.trail-day__button{border-radius:var(--radius-medium);width:100%;min-height:116px;color:var(--study-ink);font-family:var(--font-body);text-align:left;background:#fffdf8e6;border:1px solid #a9c9da;border-bottom:3px solid #77a9c3;grid-template-columns:minmax(0,1fr) auto;gap:.25rem 1rem;padding:1rem 1.1rem;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid}.trail-day__button:hover:not(:disabled){border-color:var(--trail-orange);box-shadow:var(--shadow-soft);transform:translateY(-2px)}.trail-day__number{color:#a84e14;font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:.88rem;font-weight:900}.trail-day__title{font-family:var(--font-display);grid-column:1/-1;font-size:1.16rem;font-weight:800;line-height:1.25}.trail-day__focus{color:var(--muted-ink);grid-column:1/-1;font-size:.9rem;line-height:1.42}.trail-day__time{color:var(--muted-ink);white-space:nowrap;grid-area:1/2;font-size:.88rem}.trail-day__lock{color:#667783;grid-column:1/-1;margin-top:.2rem;font-size:.88rem;font-weight:750}.trail-day--today:before{background:var(--today-saffron);box-shadow:0 0 0 2px #bd7311,0 0 0 8px #f5b83b40}.trail-day--today .trail-day__button{background:var(--today-saffron);border-color:#bd7311;box-shadow:0 12px 28px #ad670b29}.trail-day--completed:before{background:var(--mastery-teal);box-shadow:0 0 0 2px var(--mastery-teal)}.trail-day--completed .trail-day__button{border-color:var(--mastery-teal);border-bottom-color:var(--mastery-teal);background:var(--teal-soft)}.trail-day--locked:before{background:#aebdc7;box-shadow:0 0 0 2px #8ca0ae}.trail-day--locked .trail-day__button{color:#617485;background:#eef4f7c2;border-style:dashed dashed solid}.learning-view{width:min(100%,1120px)}.learning-view__header{border-bottom:2px solid var(--line-blue);grid-template-columns:minmax(0,.92fr) minmax(360px,1.08fr);align-items:center;gap:clamp(1.5rem,4vw,3.25rem);margin-bottom:2.5rem;padding-bottom:2rem;display:grid}.learning-view__intro{min-width:0}.learning-view__intro>.task-button{margin-bottom:1.5rem}.learning-view__day{color:#a84e14;font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.4rem;font-size:.9rem;font-weight:900}.learning-view__intro h1{font-size:32px}.learning-view__intro h1+p{color:var(--muted-ink);font-size:1.05rem}.learning-view__progress{border-left:4px solid var(--mastery-teal);background:var(--teal-soft);color:#0c6163;margin-bottom:0;padding:.45rem .7rem;font-size:.88rem;font-weight:750;display:inline-block}.voice-control{gap:.5rem;margin-top:1rem;display:grid}.voice-control>label{color:var(--muted-ink);font-size:.88rem;font-weight:800}.voice-control__actions{align-items:stretch;gap:.65rem;display:flex}.voice-control select{border-radius:var(--radius-small);background:var(--warm-white);border:1px solid #7da9c1;flex:auto;min-width:0;min-height:48px;padding:.55rem .65rem}.voice-control__status{min-height:1.65em;color:var(--muted-ink);margin-bottom:0;font-size:.875rem}.learning-view__hero{border-radius:var(--radius-large);background:var(--warm-white);min-width:0;box-shadow:var(--shadow-soft);border:1px solid #9fc5d9;margin:0;overflow:hidden}.learning-view__hero-image{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.learning-view>[data-testid=active-learning-task],.learning-transition,.learning-view>.task-button{width:min(100%,900px);margin-inline:auto}.learning-view>.task-button{margin-top:1rem;display:block}.task-shell{width:100%;position:relative}.task-waypoint{min-height:74px;margin-bottom:1rem;padding:.15rem 0 0 4rem;position:relative}.task-waypoint__trail{border:7px solid var(--learning-sky);background:var(--trail-orange);width:34px;height:34px;box-shadow:0 0 0 3px var(--trail-orange);border-radius:50%;position:absolute;top:.15rem;left:.25rem}.task-waypoint__trail:after{background:repeating-linear-gradient(to bottom, var(--trail-orange) 0 8px, transparent 8px 13px);content:"";border-radius:3px;width:3px;height:46px;position:absolute;top:30px;left:8px}.task-waypoint--mastered .task-waypoint__trail{background:var(--mastery-teal);box-shadow:0 0 0 3px var(--mastery-teal)}.task-waypoint__label{color:#a84e14;letter-spacing:.05em;margin-bottom:.25rem;font-size:.88rem;font-weight:850}.task-waypoint h2{margin-bottom:.3rem}.task-waypoint__position{color:var(--muted-ink);margin-bottom:0;font-size:.88rem}.task-surface{border:1px solid #a9c9da;border-top:5px solid var(--today-saffron);border-radius:var(--radius-medium);background:var(--warm-white);box-shadow:var(--shadow-soft);padding:clamp(1.25rem,3vw,2rem);font-size:1.05rem}.task-surface>:last-child{margin-bottom:0}.task-tools{border-top:1px solid var(--line-blue);margin-top:1rem;padding-top:1rem}.task-actions,.input-mode{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.task-actions>.task-button,.input-mode>.task-button{flex:180px}.task-response{gap:.65rem;margin-top:1.2rem;display:grid}.task-response label{font-weight:800}.task-response input,.task-response textarea,.review-filters select{border-radius:var(--radius-small);width:100%;min-height:52px;color:var(--study-ink);background:#fff;border:2px solid #7da9c1;padding:.72rem .85rem;font-size:1.06rem;line-height:1.5}.task-response textarea{resize:vertical;min-height:150px}.task-response input:focus,.task-response textarea:focus,.review-filters select:focus{border-color:#2364aa}.task-feedback,.reading-focus,.reading-transcript,.dialogue-answer-demo,.teach-back-probe,.example-answer,.encouragement-bubble{border-left:4px solid var(--trail-orange);border-radius:0 var(--radius-small) var(--radius-small) 0;background:var(--saffron-soft);margin-top:1rem;padding:.85rem 1rem;font-size:.95rem}.task-feedback__kind,.teach-back-probe__label{margin-bottom:.25rem;font-weight:850}.word-card{grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr);align-items:center;gap:1.5rem;margin-bottom:1.25rem;display:grid}.word-card__image{border-radius:var(--radius-small);object-fit:cover;width:100%;height:auto;max-height:320px;display:block}.word-card__image--described{background:linear-gradient(135deg, #ffffffbf, transparent), var(--learning-sky);color:#345a74;text-align:center;border:1px solid #abd0e2;place-items:center;min-height:210px;padding:1.25rem;font-size:.96rem;display:grid}.word-card figcaption{min-width:0}.word-card figcaption h3{margin-bottom:.5rem;font-size:clamp(1.85rem,4vw,2.6rem)}.word-card__meaning{color:#0c6668;font-size:1.2rem;font-weight:850}.sentence-prompt,.reading-line,.dialogue-line,.teach-back-prompt{color:var(--study-ink);font-family:var(--font-display);margin-bottom:1.25rem;font-size:clamp(1.18rem,2.8vw,1.5rem);font-weight:750;line-height:1.55}.reading-line,.dialogue-line{border-left:5px solid var(--mastery-teal);background:var(--teal-soft);padding:1rem 1.15rem}.reading-transcript{border-left-color:var(--mastery-teal);background:var(--teal-soft)}.transcript-evidence{flex-wrap:wrap;gap:.5rem;margin:1rem 0;display:flex}.transcript-token{border-radius:var(--radius-small);color:var(--study-ink);padding:.3rem .55rem;font-size:.88rem}.transcript-token--missing,.transcript-token--replaced{background:#ffe2d4}.transcript-token--added{background:#fff0b9}.dialogue-speaker{color:#0c6668;letter-spacing:.04em;margin-bottom:.45rem;font-size:.88rem;font-weight:850}.role-choice{border-radius:var(--radius-medium);background:var(--warm-white);box-shadow:var(--shadow-soft);border:1px solid #a9c9da;flex-wrap:wrap;gap:.75rem;margin:0;padding:1.4rem;display:flex}.role-choice legend{font-family:var(--font-display);padding:0 .4rem;font-weight:800}.role-choice .task-button{flex:220px}.dialogue-self-assessment{margin-top:1rem}.input-mode{margin:1rem 0}.input-mode .task-button[aria-pressed=true],.speed-control__option[aria-pressed=true]{color:#fff;background:#0c6668;border-color:#0c6668}.input-mode .task-button[aria-pressed=true]:hover:not(:disabled),.speed-control__option[aria-pressed=true]:hover:not(:disabled){background:#084f52;border-color:#084f52}.understanding-state{border-left:5px solid var(--mastery-teal);background:var(--teal-soft);margin-top:1rem;padding:1rem}.understanding-state--review{border-left-color:var(--trail-orange);background:var(--saffron-soft)}.understanding-state__label{font-family:var(--font-display);margin-bottom:.25rem;font-size:1.1rem;font-weight:850}.example-answer p,.dialogue-answer-demo p,.teach-back-probe p,.task-feedback p,.understanding-state p,.encouragement-bubble p{margin-bottom:0}.speed-control{border:0;margin:0;padding:0}.speed-control__legend{color:var(--muted-ink);margin-bottom:.5rem;font-size:.88rem;font-weight:800}.speed-control__options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.speed-control__option{border-radius:var(--radius-small);background:var(--warm-white);min-width:0;min-height:48px;color:var(--study-ink);border:1px solid #7da9c1;flex-direction:column;justify-content:center;padding:.5rem .65rem;font-weight:750;display:flex}.speed-control__option small{opacity:.8;font-size:.88rem;font-weight:600}.learning-transition{border-radius:var(--radius-medium);background:var(--warm-white);box-shadow:var(--shadow-soft);border:1px solid #a9c9da;padding:1.4rem}.learning-transition .encouragement-bubble{margin-top:0;margin-bottom:1rem}.summary-view,.review-book-view{width:min(100%,1000px)}.summary-view__header,.review-book-view>header{border-bottom:2px solid var(--line-blue);margin-bottom:1.75rem;padding-bottom:1.25rem}.review-book-view>header .task-button{margin-bottom:1.25rem}.summary-section,.review-empty,.review-summary,.review-book-view>section{border-radius:var(--radius-medium);background:var(--warm-white);border:1px solid #a9c9da;margin-bottom:1rem;padding:1.25rem}.summary-section--mastered{border-left:6px solid var(--mastery-teal);background:linear-gradient(90deg, var(--teal-soft), var(--warm-white) 42%)}.summary-section--needs-work{border-left:6px solid var(--trail-orange);background:linear-gradient(90deg, var(--saffron-soft), var(--warm-white) 42%)}.summary-scores{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;padding:0;list-style:none;display:grid}.summary-scores li{border-bottom:3px solid var(--mastery-teal);background:var(--teal-soft);text-align:center;padding:.65rem;font-size:.9rem}.summary-encouragement{border-left:5px solid var(--today-saffron);background:var(--saffron-soft);padding:1rem 1.25rem;font-weight:750}.summary-actions{flex-wrap:wrap;gap:.75rem;display:flex}.summary-actions .task-button{flex:220px}.review-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.review-filters label{gap:.4rem;font-weight:800;display:grid}.review-history{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.review-summary{background:#f8fcff;margin-bottom:0}.review-retries ul{gap:.75rem;padding:0;list-style:none;display:grid}.review-retries li{border-left:4px solid var(--trail-orange);background:var(--saffron-soft);gap:.5rem;padding:1rem;display:grid}.recovery-notice{border-left:4px solid var(--trail-orange);background:var(--saffron-soft);width:min(100%,1000px);margin:0 auto 1.25rem;padding:.8rem 1rem;font-weight:750}@media (max-width:899px){main{padding:clamp(1rem,4vw,2rem)}.trail-view__header{grid-template-columns:minmax(0,1fr);align-items:start}.trail-view__header .task-button{grid-area:auto/1;justify-self:start}.trail-list:before{left:18px}.trail-day,.trail-day:nth-child(2n){width:100%;margin-left:0;padding:0 0 1.25rem 3.75rem}.trail-day:before,.trail-day:nth-child(2n):before{top:1.15rem;left:6px;right:auto}.learning-view__header{grid-template-columns:minmax(0,1fr);gap:1.25rem}.learning-view__hero{width:100%;max-width:720px}.word-card{grid-template-columns:minmax(0,1fr)}.word-card__image,.word-card__image--described{max-height:300px}.review-history,.review-filters{grid-template-columns:minmax(0,1fr)}.summary-scores{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:520px){:root{font-size:16px}.trail-day__button{grid-template-columns:minmax(0,1fr)}.trail-day__time{grid-area:auto/1}.task-surface{padding:1rem}.task-actions,.input-mode,.voice-control__actions,.summary-actions{flex-direction:column}.task-actions>.task-button,.input-mode>.task-button,.voice-control__actions>.task-button,.summary-actions>.task-button{flex-basis:auto;width:100%}.speed-control__options{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
