:root{--color-paper:oklch(97% .012 95);--color-paper-2:oklch(94% .02 95);--color-paper-3:oklch(91% .028 95);--color-ink:oklch(22% .014 245);--color-ink-2:oklch(38% .018 245);--color-muted:oklch(45% .018 245);--color-rule:oklch(80% .024 95);--color-accent:oklch(87% .17 112);--color-accent-deep:oklch(69% .15 112);--color-accent-ink:oklch(23% .035 112);--color-coral:oklch(74% .15 30);--color-coral-soft:oklch(91% .055 30);--color-cyan:oklch(81% .12 205);--color-cyan-soft:oklch(92% .035 205);--color-lavender:oklch(84% .09 300);--color-lavender-soft:oklch(93% .025 300);--color-success:oklch(52% .14 145);--color-success-soft:oklch(92% .045 145);--color-error:oklch(51% .2 25);--color-error-soft:oklch(93% .04 25);--color-focus:oklch(42% .16 250);--color-overlay:oklch(20% .014 245/.45);--font-display:"Trebuchet MS", "Arial Rounded MT Bold", system-ui, sans-serif;--font-body:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-label:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--space-3xs:.125rem;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--text-xs:.72rem;--text-sm:.84rem;--text-base:1rem;--text-md:1.2rem;--text-lg:1.5rem;--text-xl:1.9rem;--text-2xl:2.4rem;--text-display:clamp(2.2rem, 7vw, 4.5rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-micro:.12s;--dur-short:.22s;--dur-long:.42s;--rule-hair:1px;--radius-sm:.75rem;--radius-md:1rem;--radius-card:1.35rem;--radius-pill:999px}*{box-sizing:border-box}html,body{margin:0}html{background:var(--color-paper);scroll-behavior:smooth}body{background:var(--color-paper);min-height:100dvh;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-base);font-feature-settings:"ss01" on, "cv11" on;font-variant-numeric:tabular-nums;line-height:1.6}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit}button:disabled,button[aria-disabled=true]{opacity:.48;cursor:not-allowed}a{color:inherit;text-decoration-thickness:var(--rule-hair);text-underline-offset:var(--space-2xs)}img,svg{display:block}h1,h2,h3,p{margin-block:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;min-width:0;font-style:normal;line-height:1.08}h1{font-size:clamp(2rem, 8vw, var(--text-2xl))}h2{font-size:var(--text-lg)}ul,ol{margin-block:0;padding-inline-start:var(--space-lg)}mark{background:linear-gradient(var(--color-accent) 0 0) no-repeat 0 88% / 100% .32em;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:var(--space-2xs)}::selection{background:var(--color-cyan);color:var(--color-ink)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:normal;text-align:center;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.reveal{animation:reveal var(--dur-long) var(--ease-out) both}@keyframes reveal{0%{transform:translateY(var(--space-xs))}to{transform:none}}.button{justify-content:center;align-items:center;gap:var(--space-xs);max-width:100%;min-height:48px;padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);cursor:pointer;text-align:center;white-space:nowrap;transition:transform var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out);font-weight:700;display:inline-flex}.button svg{width:1.1rem;height:1.1rem}.button:active{transform:translateY(var(--space-2xs))}.button:disabled,.button[aria-disabled=true]{opacity:.48;cursor:not-allowed}.button[data-state=loading]{cursor:wait}.button[data-state=error]{border-color:var(--color-error)}.button[data-state=success]{border-color:var(--color-success)}.button--primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent-deep);box-shadow:0 var(--space-2xs) 0 var(--color-accent-deep)}.button--dark{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.button--danger{border-color:var(--color-error);background:var(--color-error-soft);color:var(--color-error)}.button-row{gap:var(--space-sm);flex-wrap:wrap;display:flex}.field{gap:var(--space-xs);display:grid}.field>span,.choice-group legend,.search-field>span{font-weight:700}.field small{color:var(--color-muted);min-height:1lh}.field input,.field textarea,.search-field input,select{width:100%;min-height:48px;padding:var(--space-sm) var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);outline-offset:1px;background:var(--color-paper);color:var(--color-ink);outline:2px solid #0000}.field input:focus-visible,.field textarea:focus-visible,.search-field input:focus-visible,select:focus-visible{outline-color:var(--color-focus);border-color:var(--color-ink-2)}.field input:disabled,.field textarea:disabled{opacity:.55;cursor:not-allowed}.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:var(--color-error)}.field input[data-state=success],.field textarea[data-state=success]{border-color:var(--color-success)}.field input[data-state=loading],.field textarea[data-state=loading]{cursor:progress}.field textarea{resize:vertical;min-height:20rem;font-family:var(--font-label);font-size:var(--text-sm);line-height:1.55}input[type=range]{accent-color:var(--color-accent-deep);padding-inline:0}.search-field{gap:var(--space-xs);max-width:36rem;display:grid}.app-shell{min-height:100dvh;padding-block-end:calc(5rem + env(safe-area-inset-bottom))}.topbar{z-index:200;justify-content:space-between;align-items:center;gap:clamp(.5rem, 1vw, var(--space-sm));min-height:64px;padding:var(--space-xs) max(var(--space-md), env(safe-area-inset-left));background:var(--color-paper);border-block-end:var(--rule-hair) solid var(--color-rule);display:flex;position:sticky;inset-block-start:0}.wordmark{align-items:center;gap:var(--space-xs);font-family:var(--font-display);white-space:nowrap;font-weight:800;text-decoration:none;display:inline-flex}.wordmark__mark{border-radius:var(--radius-sm);background:var(--color-accent);width:2.2rem;height:2.2rem;font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:-.06em;place-items:center;display:grid}.topbar__status{align-items:baseline;gap:var(--space-2xs);font-family:var(--font-label);font-size:var(--text-sm);display:flex}.topbar__status-label{color:var(--color-muted);font-size:var(--text-xs);display:none}.desktop-nav{display:none}.main-content{width:min(100%,76rem);padding:var(--space-xl) max(var(--space-md), env(safe-area-inset-left));margin-inline:auto}.mobile-nav{z-index:200;padding:var(--space-xs) max(var(--space-xs), env(safe-area-inset-right)) max(var(--space-xs), env(safe-area-inset-bottom));background:var(--color-paper);border-block-start:var(--rule-hair) solid var(--color-rule);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0}.mobile-nav__link{justify-content:center;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-sm);min-height:52px;color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap;flex-direction:column;font-weight:700;text-decoration:none;display:flex}.mobile-nav__link svg{width:1.25rem;height:1.25rem}.mobile-nav__link.is-active{color:var(--color-ink);background:var(--color-accent)}.page-header{gap:var(--space-sm);align-items:end;margin-block-end:var(--space-lg);display:grid}.page-header>div{gap:var(--space-xs);display:grid}.page-header p{max-width:60ch;color:var(--color-muted)}.page-header h1{max-width:18ch}.onboarding-shell{align-content:center;gap:var(--space-2xl);min-height:100dvh;padding:var(--space-xl) max(var(--space-md), env(safe-area-inset-left));background:var(--color-paper);display:grid}.onboarding-copy{gap:var(--space-lg);min-width:0;display:grid}.wordmark--standalone{width:fit-content}.onboarding-copy h1{max-width:9ch;font-size:var(--text-display)}.onboarding-copy>p{max-width:48ch;color:var(--color-muted)}.onboarding-facts{gap:var(--space-xs);max-width:56ch;color:var(--color-muted);padding-inline-start:var(--space-lg);display:grid}.onboarding-track{border-block:var(--rule-hair) solid var(--color-rule);grid-template-columns:repeat(auto-fit,minmax(min(8rem,100%),1fr));min-width:0;display:grid}.onboarding-track span{min-width:0;padding:var(--space-sm);font-family:var(--font-label);overflow-wrap:anywhere;font-weight:700}.onboarding-track span+span{border-inline-start:var(--rule-hair) solid var(--color-rule)}.onboarding-track small{color:var(--color-muted)}.setup-card{gap:var(--space-lg);min-width:0;padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-cyan-soft);display:grid}.setup-card h2{font-size:var(--text-xl)}.choice-group{gap:var(--space-xs);border:0;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;display:grid}.choice-group legend{margin-block-end:var(--space-xs)}.choice{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);cursor:pointer;place-items:center;min-height:48px;display:grid}.choice input{opacity:0;position:absolute}.choice.is-selected{background:var(--color-accent);border-color:var(--color-accent-deep)}.choice:has(input:focus-visible){outline:3px solid var(--color-focus);outline-offset:var(--space-2xs)}.form-note{color:var(--color-muted);font-size:var(--text-sm)}.field .field-error{color:var(--color-error);font-weight:700}.today-hero{gap:var(--space-lg);padding:var(--space-md);border-radius:var(--radius-card);background:var(--color-cyan-soft);align-items:center;margin-block-end:var(--space-xl);display:grid}.today-hero__copy{gap:var(--space-sm);display:grid}.today-hero h1{max-width:14ch;font-size:clamp(2rem,9vw,4rem)}.today-hero p:not(.day-label){max-width:50ch;color:var(--color-ink-2)}.day-label{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.08em}.today-meta{gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-xs);font-weight:700;display:flex}.today-meta span{align-items:center;gap:var(--space-xs);display:inline-flex}.today-meta svg{width:1.2rem}.today-next-action{justify-self:start;margin-block-start:var(--space-xs)}.progress-ring{aspect-ratio:1;text-align:center;background:radial-gradient(circle, var(--color-cyan-soft) 55%, transparent 56%), conic-gradient(var(--color-coral) var(--progress), var(--color-paper) 0);border-radius:50%;place-content:center;justify-self:start;width:9.5rem;display:grid}.progress-ring span{font-family:var(--font-display);font-size:var(--text-xl);font-weight:800;line-height:1}.progress-ring small{font-family:var(--font-label);color:var(--color-muted)}.core-section{gap:var(--space-lg);display:grid}.section-heading{justify-content:space-between;align-items:end;gap:var(--space-lg);display:flex}.section-heading div{gap:var(--space-2xs);display:grid}.section-heading p{color:var(--color-muted)}.section-heading>strong{font-family:var(--font-label)}.core-list{gap:var(--space-sm);display:grid}.core-step{align-items:center;gap:var(--space-md);width:100%;min-height:76px;padding:var(--space-sm);border-radius:var(--radius-card);text-align:start;cursor:pointer;transition:transform var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out);border:0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.core-step:active{transform:translateY(var(--space-2xs))}.core-step__number{border-radius:var(--radius-sm);background:var(--color-paper);width:3rem;height:3rem;font-family:var(--font-display);font-size:var(--text-md);place-items:center;font-weight:800;display:grid}.core-step__number svg{width:1.4rem}.core-step>span:nth-child(2){display:grid}.core-step small{color:var(--color-ink-2)}.core-step__arrow{width:1.25rem}.core-step.is-complete{box-shadow:inset 0 0 0 2px var(--color-success)}.tone-cyan{background:var(--color-cyan-soft)}.tone-pear{background:var(--color-paper-3)}.tone-coral{background:var(--color-coral-soft)}.tone-lavender{background:var(--color-lavender-soft)}.boost-strip{gap:var(--space-lg);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-ink);color:var(--color-paper);margin-block-start:var(--space-2xl);display:grid}.boost-strip div{gap:var(--space-xs);display:grid}.boost-strip p{color:var(--color-paper-3)}.boost-strip .button--dark{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-paper)}.split-panel,.detail-grid{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);min-width:0;display:grid}.surface{align-content:start;gap:var(--space-md);min-width:0;padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);grid-template-columns:minmax(0,1fr);display:grid}.surface--cyan{background:var(--color-cyan-soft);color:var(--color-ink);border-color:var(--color-cyan)}.surface--pear{background:var(--color-paper-3);color:var(--color-ink);border-color:var(--color-accent-deep)}.surface--coral{background:var(--color-coral-soft);color:var(--color-ink);border-color:var(--color-coral)}.backup-preview{overflow-x:auto}.backup-preview table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:34rem}.backup-preview th,.backup-preview td{padding:var(--space-xs) var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);text-align:end}.backup-preview th:first-child{text-align:start}.backup-confirmation{white-space:normal;align-items:flex-start;max-width:46rem}.backup-confirmation input{flex:none}.plain-steps{gap:var(--space-xs);display:grid}.phase-tabs{gap:var(--space-xs);padding-block-end:var(--space-sm);display:flex;overflow-x:auto}.phase-tabs button{min-height:44px;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);white-space:nowrap}.phase-tabs button.is-active{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.curriculum-list{border-block-start:var(--rule-hair) solid var(--color-rule);margin-block-start:var(--space-md);display:grid}.curriculum-stage-guidance{margin:var(--space-sm) var(--space-xs) 0;color:var(--color-muted)}.curriculum-current-action{margin:var(--space-sm) var(--space-xs);justify-self:start}.curriculum-unit{border-block-end:var(--rule-hair) solid var(--color-rule);display:grid}.curriculum-unit>summary{justify-content:space-between;align-items:center;gap:var(--space-sm);min-width:0;padding:var(--space-md) var(--space-xs);cursor:pointer;list-style:none;display:flex}.curriculum-unit>summary::-webkit-details-marker{display:none}.curriculum-unit>summary>div{gap:var(--space-2xs);min-width:0;display:grid}.curriculum-unit>summary p{color:var(--color-muted);font-family:var(--font-label)}.curriculum-unit>summary>span{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);flex:none;font-weight:700}.curriculum-unit[open]>summary{background:var(--color-paper-2)}.curriculum-unit[open]>summary>span{color:var(--color-ink)}.curriculum-unit__days{display:grid}.curriculum-row{gap:var(--space-sm);min-height:72px;padding:var(--space-sm) var(--space-xs);border:0;border-block-end:var(--rule-hair) solid var(--color-rule);text-align:start;cursor:pointer;background:0 0;grid-template-columns:3rem minmax(0,1fr) auto;align-items:center;display:grid}.curriculum-row__day{font-family:var(--font-label);color:var(--color-muted)}.curriculum-row>span:nth-child(2){display:grid}.curriculum-row small{color:var(--color-muted)}.status-chip{width:fit-content;padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-3);font-family:var(--font-label);font-size:var(--text-xs);white-space:nowrap}.status-今日 .status-chip{background:var(--color-accent)}.lesson-layout{gap:var(--space-xl);display:grid}.lesson-note{gap:var(--space-lg);padding-block:var(--space-lg);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.example-line{font-family:var(--font-display);font-size:clamp(1.7rem,7vw,3.5rem);font-weight:800;line-height:1.15}.practice-card{gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-cyan-soft);display:grid}.practice-library{gap:var(--space-md);margin-block-start:var(--space-lg);display:grid}.practice-block-list{border-block-start:var(--rule-hair) solid var(--color-rule);min-width:0;display:grid}.practice-block{gap:var(--space-sm);min-width:0;padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);display:grid}.practice-block h3,.practice-block ol{margin:0}.practice-prompt-list li{margin-block-end:var(--space-xs)}.practice-prompt-list small{color:var(--color-muted);font-family:var(--font-label);margin-block-start:var(--space-2xs);display:block}.practice-block blockquote{max-width:68ch;margin:var(--space-xs) 0;white-space:pre-line;padding:var(--space-md);border-inline-start:.25rem solid var(--color-cyan);background:var(--color-paper);font-size:clamp(1rem,.96rem + .2vw,1.125rem);line-height:1.75}.practice-block-list--form{gap:var(--space-sm);border-block-start-color:color-mix(in srgb, var(--color-ink) 22%, transparent)}.practice-block-list--form .practice-block{padding-inline:var(--space-xs)}.practice-step-label{padding:var(--space-md) var(--space-xs) 0}.practice-meta{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-sm)}.practice-meta.is-error{color:var(--color-error)}.practice-feedback{gap:var(--space-sm);padding:var(--space-md);border:var(--rule-hair) solid color-mix(in srgb, var(--color-ink) 22%, transparent);border-radius:var(--radius-sm);background:var(--color-paper);margin-block-start:var(--space-sm);display:grid}.practice-feedback__head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.practice-feedback h4,.practice-feedback p,.practice-feedback ul{margin:0}.practice-feedback details{min-width:0}.practice-feedback summary{cursor:pointer;font-family:var(--font-label);font-weight:700}.practice-checklist{gap:var(--space-xs);min-width:0;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);margin:0;display:grid}.practice-checklist label{align-items:start;gap:var(--space-xs);grid-template-columns:auto minmax(0,1fr);display:grid}.practice-checklist input{margin-block-start:.2em}.assessment-rubric{min-width:0;margin-block:var(--space-sm);border-block:var(--rule-hair) solid var(--color-rule)}.assessment-rubric>summary{padding-block:var(--space-sm);cursor:pointer;font-family:var(--font-label);font-weight:700}.assessment-rubric__content{gap:var(--space-md);padding-block-end:var(--space-md);display:grid}.assessment-rubric__content section{gap:var(--space-xs);display:grid}.assessment-rubric__content ol{gap:var(--space-2xs);display:grid}.assessment-rubric__content li strong{min-width:1.5em;display:inline-block}.assessment-guardrail{gap:var(--space-xs);padding:var(--space-sm);background:var(--color-accent);color:var(--color-accent-ink);display:grid}@media (width<=30rem){.practice-feedback__head{flex-direction:column;align-items:stretch}}.feedback{min-height:1lh;padding:var(--space-sm);border-radius:var(--radius-sm);background:var(--color-paper-3)}.feedback.is-success{background:var(--color-success-soft);color:var(--color-ink)}.feedback.is-error{background:var(--color-error-soft);color:var(--color-error)}.result-count{margin-block:var(--space-sm);font-family:var(--font-label);color:var(--color-muted)}.library-list{border-block-start:var(--rule-hair) solid var(--color-rule);grid-template-columns:repeat(auto-fill,minmax(min(100%,15rem),1fr));min-width:0;display:grid}.library-list article{align-content:space-between;gap:var(--space-sm);min-width:0;min-height:9rem;padding:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);display:grid}.library-list article span{font-family:var(--font-label);font-size:var(--text-xs);color:var(--color-muted)}.library-list article strong{font-family:var(--font-display);font-size:var(--text-md);overflow-wrap:anywhere}.library-list article small{color:var(--color-muted);overflow-wrap:anywhere}.review-workspace{gap:var(--space-lg);width:min(100%,38rem);margin-inline:auto;display:grid}.review-card{place-content:center;gap:var(--space-lg);min-height:22rem;padding:var(--space-xl);border-radius:var(--radius-card);background:var(--color-cyan-soft);text-align:center;cursor:pointer;transition:transform var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out);border:0;display:grid}.review-card.is-revealed{background:var(--color-accent)}.review-card span{font-family:var(--font-label);font-size:var(--text-xs)}.review-card strong{font-family:var(--font-display);font-size:var(--text-xl);overflow-wrap:anywhere}.review-card small{color:var(--color-ink-2)}.grade-row{gap:var(--space-xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.grade-row button{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);white-space:nowrap;min-height:48px;font-weight:700}.mistake-list,.session-list,.settings-list{border-block-start:var(--rule-hair) solid var(--color-rule);display:grid}.session-filters{align-items:end;gap:var(--space-md);padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper-2);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin-block-end:var(--space-xl);display:grid}.session-list__actions{justify-items:end;gap:var(--space-xs);display:grid}.session-detail dl{gap:var(--space-xs);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.session-detail dt{font-weight:700}.session-detail dt:not(:first-child){margin-block-start:var(--space-sm)}.session-detail dd{overflow-wrap:anywhere;margin:0}.mistake-list article,.session-list article,.settings-list section{justify-content:space-between;align-items:start;gap:var(--space-lg);padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);display:flex}.mistake-list article,.session-list article{grid-template-columns:minmax(0,1fr) auto;display:grid}.mistake-list article>div,.session-list article>div,.settings-list section>div{gap:var(--space-xs);min-width:0;display:grid}.mistake-list strong,.mistake-list p{overflow-wrap:anywhere}.repeat-count{min-width:3.5rem;font-family:var(--font-label);text-align:end}.repeat-count.is-urgent{color:var(--color-error);font-weight:700}.bridge-layout{gap:var(--space-lg);display:grid}.mode-list{gap:var(--space-xs);padding-block-end:var(--space-xs);display:flex;overflow-x:auto}.mode-list button{min-height:44px;padding-inline:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);white-space:nowrap}.mode-list button.is-active{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.prompt-panel{gap:var(--space-md);min-width:0;padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-paper-3);grid-template-columns:minmax(0,1fr);display:grid}.prompt-panel__head{justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;align-items:start;min-width:0;max-width:100%;display:flex}.prompt-panel__head>div{gap:var(--space-2xs);min-width:0;display:grid}.prompt-panel__head span{font-family:var(--font-label);font-size:var(--text-xs);color:var(--color-muted)}.prompt-panel pre{width:100%;max-width:100%;max-height:30rem;padding:var(--space-md);border-block:var(--rule-hair) solid var(--color-rule);white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--font-label);font-size:var(--text-sm);margin:0;overflow:auto}.surface>.button{overflow-wrap:anywhere;white-space:normal}.prompt-panel>p{color:var(--color-muted)}.import-layout{gap:var(--space-lg);display:grid}.import-editor{gap:var(--space-md);display:grid}.import-preview{align-content:start;gap:var(--space-md);min-height:20rem;padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-lavender-soft);display:grid}.error-box{padding:var(--space-md);border-radius:var(--radius-sm);background:var(--color-error-soft);color:var(--color-error)}.preview-data{gap:var(--space-lg);display:grid}.preview-data dl{gap:var(--space-xs) var(--space-md);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.preview-data dt{font-family:var(--font-label);color:var(--color-muted)}.preview-data dt:not(:first-child){margin-top:var(--space-sm)}.preview-data dd{overflow-wrap:anywhere;margin:0}.empty-copy{color:var(--color-muted)}.empty-state{gap:var(--space-sm);padding-block:var(--space-2xl);border-block:var(--rule-hair) solid var(--color-rule);display:grid}.empty-state p{color:var(--color-muted)}.session-list article>strong{font-family:var(--font-display);font-size:var(--text-2xl)}.analytics-grid{gap:var(--space-md);display:grid}.metric{align-content:space-between;gap:var(--space-md);min-height:11rem;padding:var(--space-lg);border-radius:var(--radius-card);background:var(--color-cyan-soft);display:grid}.metric:nth-child(2){background:var(--color-coral-soft)}.metric:nth-child(3){background:var(--color-lavender-soft)}.metric>span{font-family:var(--font-label);font-size:var(--text-xs)}.metric>strong{font-family:var(--font-display);font-size:var(--text-display);line-height:1}.metric>strong small{font-size:var(--text-md);margin-inline-start:var(--space-xs)}.bar{height:var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper);overflow:clip}.bar i{background:var(--color-success);transform-origin:0;width:100%;height:100%;display:block}.mini-bars{align-items:end;gap:var(--space-xs);grid-template-columns:repeat(7,1fr);height:6rem;display:grid}.mini-bars i{border-radius:var(--radius-pill);background:var(--color-paper);height:35%}.mini-bars i.is-done{background:var(--color-accent-deep);height:100%}.boost-builder{gap:var(--space-xl);display:grid}.boost-builder>div{gap:var(--space-md);display:grid}.time-options{gap:var(--space-xs);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.time-options button{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-paper);place-content:center;min-height:6rem;display:grid}.time-options button strong{font-family:var(--font-display);font-size:var(--text-xl)}.time-options button.is-active{background:var(--color-accent);border-color:var(--color-accent-deep)}.mode-grid{gap:var(--space-xs);display:grid}.mode-grid button{gap:var(--space-2xs);padding:var(--space-md);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper);text-align:start;display:grid}.mode-grid button small{color:var(--color-muted)}.mode-grid button.is-active{background:var(--color-cyan-soft);border-color:var(--color-cyan)}.settings-list section{grid-template-columns:minmax(0,1fr);align-items:center;display:grid}.settings-list select{width:100%;min-width:0}.settings-list .button{overflow-wrap:normal;white-space:nowrap}.danger-zone{border-color:var(--color-error);background:var(--color-error-soft)}.danger-zone>div{max-width:65ch}.delete-confirmation{white-space:normal}.switch{align-items:center;gap:var(--space-xs);overflow-wrap:anywhere;white-space:normal;font-weight:700;display:inline-flex}.switch input{width:2.8rem;height:1.6rem;accent-color:var(--color-accent-deep)}.settings-links{gap:var(--space-sm) var(--space-lg);padding-block:var(--space-xl);flex-wrap:wrap;display:flex}.settings-links a{white-space:nowrap;align-items:center;min-height:44px;font-weight:700;display:inline-flex}.statement-footer{gap:var(--space-xl);padding-block:var(--space-2xl) var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule);display:grid}.statement-footer>p{max-width:16ch;font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(2rem,9vw,4rem);font-weight:800;line-height:1}.statement-footer>div{justify-content:space-between;gap:var(--space-md);color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);display:flex}@media (hover:hover) and (pointer:fine){.button:hover,.core-step:hover,.review-card:hover{transform:translateY(calc(var(--space-2xs) * -1))}.curriculum-row:hover{background:var(--color-paper-2)}.mobile-nav__link:hover{color:var(--color-ink)}.field input:hover,.field textarea:hover,.search-field input:hover,select:hover{background:var(--color-paper-2)}}@media (width>=40rem){.preview-data dl{grid-template-columns:auto minmax(0,1fr)}.preview-data dt:not(:first-child){margin-top:0}.topbar{padding-inline:clamp(1rem, 3vw, var(--space-xl))}.topbar__status-label{display:inline}.main-content{padding:var(--space-2xl) var(--space-xl)}.page-header{gap:var(--space-lg);grid-template-columns:minmax(0,1fr) auto;margin-block-end:var(--space-xl)}.onboarding-shell{padding:var(--space-2xl)}.today-hero{padding:var(--space-xl);grid-template-columns:minmax(0,1.4fr) auto;margin-block-end:var(--space-2xl)}.progress-ring{justify-self:end;width:11rem}.boost-strip{padding:var(--space-xl);grid-template-columns:minmax(0,1fr) auto;align-items:center}.split-panel,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.session-detail dl{gap:var(--space-sm) var(--space-lg);grid-template-columns:minmax(8rem,auto) minmax(0,1fr)}.session-detail dt:not(:first-child){margin-block-start:0}.settings-list section{flex-wrap:wrap;display:flex}.settings-list select{width:auto;min-width:7rem}.lesson-layout{grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));align-items:start}.analytics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric--wide,.metric--chart{grid-column:1/-1}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=60rem){.app-shell{padding-block-end:0}.topbar{grid-template-columns:auto minmax(0,1fr) auto;min-height:72px;display:grid}.desktop-nav{justify-content:safe center;gap:var(--space-2xs);min-width:0;max-width:100%;display:flex;overflow-x:auto}.nav-link{min-height:44px;padding-inline:var(--space-md);border-radius:var(--radius-pill);white-space:nowrap;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.nav-link.is-active{background:var(--color-accent)}.topbar__status{justify-self:end}.mobile-nav{display:none}.main-content{padding-block-start:var(--space-2xl)}.onboarding-shell{align-items:center;gap:var(--space-3xl);padding-inline:max(var(--space-2xl), calc((100% - 76rem) / 2));grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.setup-card{padding:var(--space-xl)}.core-list{grid-template-columns:repeat(2,minmax(0,1fr))}.core-step:nth-child(3){transform:translateX(var(--space-lg))}.core-step:nth-child(3):hover{transform:translate(var(--space-lg), calc(var(--space-2xs) * -1))}.bridge-layout{grid-template-columns:minmax(0,min(12rem,20vw)) minmax(0,1fr)}.mode-list{flex-direction:column;overflow:visible}.mode-list button{text-align:start;overflow-wrap:anywhere;white-space:normal}.import-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,min(18rem,40vw));align-items:start}.import-preview{position:sticky;inset-block-start:6rem}.analytics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.metric--wide,.metric--chart{grid-column:span 2}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{transform:none}}html[data-reduce-motion=true]{scroll-behavior:auto}html[data-reduce-motion=true] *,html[data-reduce-motion=true] :before,html[data-reduce-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html[data-reduce-motion=true] .reveal{transform:none}.skip-link{z-index:1000;border:2px solid var(--color-ink);border-radius:var(--radius-sm);background:var(--color-paper);color:var(--color-ink);padding:.75rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.update-banner{z-index:20;background:var(--color-accent);color:var(--color-accent-ink);justify-content:center;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex;position:sticky;top:0}.demo-banner{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-ink);background:var(--color-success-soft);color:var(--color-ink);font-size:.875rem;display:flex}.demo-banner .button{min-height:40px;padding:var(--space-xs) var(--space-md)}.network-dot{font-size:.7rem;font-weight:700}.network-dot.is-offline{color:var(--color-error)}@media (width<=520px){.update-banner,.demo-banner{flex-direction:column;align-items:stretch}}
