@import "https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,700&family=IBM+Plex+Sans:wght@400;600;700&display=swap";:root{--color-paper:oklch(96.5% .005 200);--color-paper-2:oklch(93.5% .007 200);--color-paper-3:oklch(89% .01 200);--color-paper-raised:oklch(98% .004 200);--color-rule:oklch(82% .008 200);--color-rule-strong:oklch(62% .012 202);--color-muted:oklch(45% .012 205);--color-neutral:oklch(34% .016 205);--color-ink-2:oklch(22% .02 205);--color-ink:oklch(13% .024 205);--color-accent:oklch(42% .13 145);--color-accent-dark:oklch(31% .1 145);--color-accent-paper:oklch(91% .035 145);--color-accent-ink:oklch(98% .004 200);--color-focus:oklch(48% .15 145);--color-error:oklch(48% .17 28);--color-error-paper:oklch(93% .025 28);--color-warning:oklch(55% .13 75);--color-warning-paper:oklch(93% .03 75);--color-scrim:oklch(13% .024 205/.42);--font-display:"Fraunces", "Times New Roman", serif;--font-body:"IBM Plex Sans", "Trebuchet MS", sans-serif;--font-label:"IBM Plex Sans", "Trebuchet MS", sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-md:1.25rem;--text-lg:1.5625rem;--text-xl:1.9531rem;--text-2xl:2.4414rem;--text-3xl:3.0518rem;--text-display:clamp(2.7rem, 6vw, 5.25rem);--text-display-s:clamp(2.25rem, 4.5vw, 4rem);--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;--space-4xl:9rem;--page-max:90rem;--page-gutter:clamp(1rem, 4vw, 3.5rem);--measure:65ch;--rail-width:12.5rem;--rule-hair:1px;--rule-heavy:2px;--radius-sm:.35rem;--radius-md:.75rem;--radius-lg:1.25rem;--shadow-raised:0 1px 2px oklch(20% .01 205/.06);--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;--z-base:1;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-modal:400;--z-toast:500;--z-tooltip:600}*,:before,:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}html{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);scroll-behavior:smooth;font-size:100%}body{background:linear-gradient(var(--color-rule) var(--rule-hair), transparent var(--rule-hair)) 0 0 / 100% 4rem, var(--color-paper);min-width:20rem;min-height:100dvh;padding-block-end:calc(5rem + env(safe-area-inset-bottom));line-height:1.6}button,select,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.42}a{color:inherit}h1,h2,h3,p,dl,dd,figure,fieldset{margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;overflow-wrap:anywhere;min-width:0;font-style:normal;font-weight:700;line-height:1.08}h1{font-size:var(--text-display-s)}h2{font-size:clamp(var(--text-xl), 4vw, var(--text-2xl))}strong{font-weight:700}.sr-only{width:var(--rule-hair);height:var(--rule-hair);margin:calc(var(--rule-hair) * -1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:var(--z-tooltip);padding:var(--space-sm) var(--space-md);background:var(--color-ink);color:var(--color-paper);transition:transform var(--dur-short) var(--ease-out);position:fixed;inset-block-start:var(--space-md);inset-inline-start:var(--space-md);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:var(--rule-heavy) solid var(--color-focus);outline-offset:var(--space-2xs)}.loading-shell{place-items:center;min-height:100dvh;display:grid}.app-shell{min-height:100dvh}.side-rail{display:none}.mobile-head{z-index:var(--z-sticky);min-height:3.75rem;padding-inline:max(var(--space-md), env(safe-area-inset-left)) max(var(--space-md), env(safe-area-inset-right));border-block-end:var(--rule-hair) solid var(--color-rule);background:var(--color-paper-raised);justify-content:space-between;align-items:center;display:flex;position:sticky;inset-block-start:0}.mobile-wordmark{padding:var(--space-xs) 0;font-family:var(--font-display);font-size:var(--text-md);white-space:nowrap;cursor:pointer;background:0 0;border:0;font-weight:700}.mobile-head>span{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs)}.workspace{width:100%;max-width:var(--page-max);min-width:0;padding:var(--space-xl) var(--page-gutter) 0;margin-inline:auto}.workspace:focus{outline:0}.footer-line{gap:var(--space-xs);padding-block:var(--space-lg);border-block-start:var(--rule-hair) solid var(--color-rule-strong);color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);flex-direction:column;margin-block-start:var(--space-3xl);display:flex}.mobile-nav{z-index:var(--z-sticky);padding:var(--space-xs) max(var(--space-xs), env(safe-area-inset-left)) max(var(--space-xs), env(safe-area-inset-bottom)) max(var(--space-xs), env(safe-area-inset-right));border-block-start:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-raised);grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;inset-block-end:0;inset-inline:0}.rail-link{min-width:0;min-height:3.25rem;padding:var(--space-xs);color:var(--color-muted);cursor:pointer;white-space:nowrap;transition:color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:relative}.rail-link:hover,.rail-link.is-hover{color:var(--color-ink)}.rail-link:active,.rail-link.is-active-state{transform:translateY(var(--space-3xs))}.rail-link:disabled,.rail-link.is-disabled{cursor:not-allowed;opacity:.45}.rail-link[data-state=loading]{cursor:wait}.rail-link[data-state=error]{color:var(--color-error)}.rail-link[data-state=success]{color:var(--color-accent)}.rail-link.is-active{color:var(--color-accent-dark);font-weight:700}.rail-link__mark,.rail-link__text,.rail-link__count{display:none}.rail-link__short{font-family:var(--font-label);text-overflow:ellipsis;font-size:.6875rem;overflow:hidden}.mobile-nav .rail-link__count{background:var(--color-error);width:1.1rem;height:1.1rem;color:var(--color-paper-raised);border-radius:50%;place-items:center;font-size:.625rem;display:grid;position:absolute;inset-block-start:var(--space-2xs);inset-inline-end:var(--space-2xs)}.overline{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.11em;font-weight:500}.button{min-height:2.75rem;padding:var(--space-sm) var(--space-lg);border:var(--rule-hair) solid var(--color-ink);border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.button:hover,.button.is-hover{transform:translateY(calc(var(--space-3xs) * -1))}.button:active,.button.is-active{transform:translateY(var(--space-3xs))}.button:disabled,.button.is-disabled{cursor:not-allowed;opacity:.42;transform:none}.button[data-state=loading]{cursor:wait}.button[data-state=error],.button.is-error{border-color:var(--color-error);color:var(--color-error)}.button[data-state=success],.button.is-success{border-color:var(--color-accent);color:var(--color-accent-dark)}.button--primary{background:var(--color-ink);color:var(--color-paper-raised)}.button--primary:hover,.button--primary.is-hover{background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.button--quiet{background:0 0}.button--quiet:hover,.button--quiet.is-hover{background:var(--color-paper-3)}.button--quiet.is-marked{border-color:var(--color-warning);background:var(--color-warning-paper)}.text-link,.back-link{min-height:2.75rem;padding:var(--space-xs) 0;border:0;border-block-end:var(--rule-hair) solid currentColor;color:var(--color-ink);white-space:nowrap;cursor:pointer;transition:color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);background:0 0}.text-link:hover,.back-link:hover{color:var(--color-accent-dark)}.text-link:disabled,.back-link:disabled{cursor:not-allowed;opacity:.42}.home-hero{gap:var(--space-xl);padding-block:var(--space-lg) var(--space-2xl);display:grid}.hero-copy{align-items:flex-start;gap:var(--space-lg);flex-direction:column;display:flex}.hero-copy h1{max-width:12ch;font-size:var(--text-display)}.hero-lede{max-width:48ch;color:var(--color-neutral);font-size:var(--text-md);line-height:1.6}.hero-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.today-sheet{min-height:19rem;padding:var(--space-lg);border-block-start:var(--rule-heavy) solid var(--color-ink);border-block-end:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-2);align-self:end}.today-sheet__top{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);text-transform:uppercase;justify-content:space-between;display:flex}.today-sheet__number{font-family:var(--font-display);font-variant-numeric:tabular-nums;letter-spacing:-.06em;margin-block-start:var(--space-lg);font-size:clamp(5rem,22vw,9rem);font-weight:400;line-height:.86;display:block}.today-sheet__unit{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);margin-block-start:var(--space-sm);display:block}.today-sheet__rule{height:var(--rule-hair);margin-block:var(--space-xl) var(--space-md);background:var(--color-rule-strong)}.score-strip{gap:var(--space-xl);padding-block:var(--space-xl);border-block:var(--rule-hair) solid var(--color-rule-strong);display:grid}.score-strip__lead{align-items:end;gap:var(--space-sm);grid-template-columns:1fr auto;display:grid}.score-strip__label{color:var(--color-muted)}.score-strip__lead>strong{font-family:var(--font-display);font-size:var(--text-3xl);font-variant-numeric:tabular-nums;font-weight:400;line-height:1}.score-strip__lead small{font-family:var(--font-body);font-size:var(--text-base)}progress{background:var(--color-paper-3);border:0;border-radius:0;grid-column:1/-1;width:100%;height:.4rem;overflow:hidden}progress::-webkit-progress-bar{background:var(--color-paper-3)}progress::-webkit-progress-value{background:var(--color-accent)}progress::-moz-progress-bar{background:var(--color-accent)}.score-strip__stats{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.score-strip__stats>div{gap:var(--space-xs);padding-inline:var(--space-sm);border-inline-start:var(--rule-hair) solid var(--color-rule);flex-direction:column-reverse;display:flex}.score-strip__stats dt{color:var(--color-muted);font-size:var(--text-xs)}.score-strip__stats dd{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.score-strip__stats small{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.quick-plan,.scene-index,.review-section,.time-plan,.phrase-bank,.answer-key{padding-block-start:var(--space-3xl)}.section-head{align-items:flex-start;gap:var(--space-md);flex-direction:column;margin-block-end:var(--space-xl);display:flex}.section-head>div{gap:var(--space-xs);flex-direction:column;display:flex}.section-head>p{max-width:48ch;color:var(--color-muted)}.plan-list{border-block-start:var(--rule-hair) solid var(--color-rule-strong)}.plan-list>button{align-items:center;gap:var(--space-md);width:100%;min-height:5.5rem;padding:var(--space-md) 0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);text-align:start;cursor:pointer;transition:color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;grid-template-columns:4rem minmax(0,1fr) auto;display:grid}.plan-list>button:hover,.plan-list>button:focus-visible{color:var(--color-accent-dark)}.plan-list>button:active{transform:translateX(var(--space-2xs))}.plan-list span{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.plan-list span small{font-family:var(--font-label);font-size:var(--text-xs);margin-inline-start:var(--space-2xs)}.plan-list strong{font-size:var(--text-md)}.plan-list em{color:var(--color-muted);font-style:normal;display:none}.scene-table{border-block-start:var(--rule-heavy) solid var(--color-ink)}.scene-row{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-md) 0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);text-align:start;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);background:0 0;grid-template-columns:2.25rem minmax(0,1fr) auto;display:grid}.scene-row:hover,.scene-row:focus-visible{background:var(--color-paper-2)}.scene-row:active{transform:translateX(var(--space-2xs))}.scene-row__number,.scene-row__progress{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.scene-row__title{flex-direction:column;min-width:0;display:flex}.scene-row__title strong{font-family:var(--font-display);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-row__title small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.scene-row__score,.scene-row__progress{display:none}.scene-row__arrow{font-size:var(--text-md)}.page-intro{align-items:flex-start;gap:var(--space-lg);max-width:54rem;padding-block:var(--space-xl) var(--space-2xl);flex-direction:column;display:flex}.page-intro h1{max-width:13ch;font-size:var(--text-display)}.page-intro>p:not(.overline){max-width:55ch;color:var(--color-neutral);font-size:var(--text-md)}.setup-sheet{gap:var(--space-lg);padding:var(--space-xl);border-block:var(--rule-heavy) solid var(--color-ink);background:var(--color-paper-2);display:grid}.setup-field{gap:var(--space-xs);flex-direction:column;display:flex}.setup-field label{font-family:var(--font-label);font-size:var(--text-xs);letter-spacing:.05em}select{width:100%;min-height:3rem;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule-strong);border-radius:var(--radius-sm);background:var(--color-paper-raised);color:var(--color-ink);cursor:pointer}select:hover{border-color:var(--color-ink)}select:disabled{cursor:not-allowed;opacity:.45}select[aria-invalid=true]{border-color:var(--color-error)}select[data-state=success]{border-color:var(--color-accent)}.setup-submit{align-self:end}.part-spec{gap:var(--space-md);padding-block-start:var(--space-2xl);display:grid}.part-spec>button{align-items:center;gap:var(--space-xs) var(--space-md);min-width:0;padding:var(--space-lg);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-raised);text-align:start;cursor:pointer;transition:border-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.part-spec>button:hover{border-color:var(--color-accent);transform:translateY(calc(var(--space-3xs) * -1))}.part-spec>button:active{transform:translateY(var(--space-3xs))}.part-spec span{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-xs);grid-column:1/-1}.part-spec strong{font-family:var(--font-display);font-size:var(--text-lg)}.part-spec small{color:var(--color-muted);grid-column:1/-1}.part-spec i{grid-area:2/3;font-style:normal}.drill-head{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);padding-block-end:var(--space-lg);display:flex}.drill-head>div:first-child{align-items:flex-start;gap:var(--space-xs);flex-direction:column;display:flex}.drill-head p{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs)}.back-link{min-height:2rem;font-size:var(--text-sm);padding:0}.drill-progress{align-items:flex-end;gap:var(--space-xs);min-width:6rem;color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);flex-direction:column;display:flex}.drill-progress progress{width:6rem}.question-workbench{border-block-start:var(--rule-heavy) solid var(--color-ink)}.source-pane{border-block-end:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-2)}.source-pane__head{gap:var(--space-2xs);padding:var(--space-md);border-block-end:var(--rule-hair) solid var(--color-rule);flex-direction:column;display:flex}.source-pane__head span{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-xs);text-transform:uppercase}.source-pane__head strong{font-family:var(--font-display);font-size:var(--text-md)}.source-pane__body{max-height:26rem;padding:var(--space-lg);color:var(--color-ink-2);font-size:var(--text-sm);white-space:pre-wrap;line-height:1.75;overflow-y:auto}.question-sheet{padding-block:var(--space-xl)}.question-meta{gap:var(--space-xs) var(--space-md);color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);flex-wrap:wrap;margin-block-end:var(--space-lg);display:flex}.question-sheet h1{max-width:30ch;font-family:var(--font-body);font-size:clamp(var(--text-lg), 4vw, var(--text-2xl));letter-spacing:-.015em;font-weight:600;line-height:1.35}.question-sheet h1>span{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-sm);letter-spacing:0;vertical-align:top}.options{gap:var(--space-sm);border:0;margin-block-start:var(--space-xl);padding:0;display:grid}.option{min-height:3.75rem;padding:var(--space-sm);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-raised);cursor:pointer;transition:border-color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out), transform var(--dur-micro) var(--ease-out);grid-template-columns:2.5rem minmax(0,1fr) 1.5rem;align-items:center;display:grid}.option:hover{border-color:var(--color-ink)}.option:active{transform:translateY(var(--space-3xs))}.option:has(input:focus-visible){outline:var(--rule-heavy) solid var(--color-focus);outline-offset:var(--space-2xs)}.option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-paper)}.option.is-correct{border-color:var(--color-accent);background:var(--color-accent-paper)}.option.is-wrong{border-color:var(--color-error);background:var(--color-error-paper)}.option:has(input:disabled){cursor:default}.option input{opacity:0;pointer-events:none;position:absolute}.option__letter{border:var(--rule-hair) solid var(--color-rule-strong);width:2rem;height:2rem;font-family:var(--font-label);font-size:var(--text-xs);border-radius:50%;place-items:center;display:grid}.option.is-correct .option__letter{border-color:var(--color-accent-dark);background:var(--color-accent-dark);color:var(--color-accent-ink)}.option:has(input:checked) .option__letter{border-color:var(--color-accent-dark);background:var(--color-accent-dark);color:var(--color-accent-ink)}.option.is-wrong .option__letter{border-color:var(--color-error);background:var(--color-error);color:var(--color-paper-raised)}.option__text{min-width:0;line-height:1.45}.option__state{color:var(--color-accent-dark);font-size:var(--text-md);text-align:center;font-weight:700}.option.is-wrong .option__state{color:var(--color-error)}.answer-error{min-height:1.5rem;color:var(--color-error);font-size:var(--text-sm);margin-block-start:var(--space-xs)}.feedback{gap:var(--space-md);padding:var(--space-lg);border-block-start:var(--rule-heavy) solid var(--color-accent);background:var(--color-accent-paper);margin-block-start:var(--space-lg);display:grid}.feedback--wrong{border-block-start-color:var(--color-error);background:var(--color-error-paper)}.feedback__result{align-items:center;gap:var(--space-sm);display:flex}.feedback__result>span{background:var(--color-accent-dark);width:2rem;height:2rem;color:var(--color-paper-raised);border-radius:50%;place-items:center;display:grid}.feedback--wrong .feedback__result>span{background:var(--color-error)}.feedback p{max-width:var(--measure)}.question-actions{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-lg);display:flex}.question-actions--single{justify-content:flex-end}.question-actions--single>span{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);display:none}.result-sheet{justify-content:center;align-items:flex-start;gap:var(--space-lg);min-height:65dvh;padding-block:var(--space-2xl);flex-direction:column;display:flex}.result-figure{align-items:baseline;gap:var(--space-sm);font-variant-numeric:tabular-nums;display:flex}.result-figure strong{font-family:var(--font-display);letter-spacing:-.06em;font-size:clamp(6rem,25vw,12rem);font-weight:400;line-height:.8}.result-figure span{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-lg)}.result-sheet h1{max-width:17ch}.result-sheet>p:not(.overline){color:var(--color-neutral)}.result-breakdown{border-block:var(--rule-hair) solid var(--color-rule-strong);grid-template-columns:repeat(3,minmax(0,1fr));width:100%;display:grid}.result-breakdown>div{gap:var(--space-xs);padding:var(--space-md);border-inline-end:var(--rule-hair) solid var(--color-rule);flex-direction:column;display:flex}.result-breakdown span{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs)}.result-breakdown strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums}.result-breakdown small{color:var(--color-muted);font-size:var(--text-sm)}.review-list{border-block-start:var(--rule-heavy) solid var(--color-ink)}.review-row{gap:var(--space-xs) var(--space-md);width:100%;padding:var(--space-md) 0;border:0;border-block-end:var(--rule-hair) solid var(--color-rule);text-align:start;cursor:pointer;background:0 0;grid-template-columns:minmax(0,1fr) auto;display:grid}.review-row:hover .review-row__prompt{color:var(--color-accent-dark)}.review-row__id,.review-row__type{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs)}.review-row__prompt{text-overflow:ellipsis;white-space:nowrap;transition:color var(--dur-micro) var(--ease-out);grid-column:1/-1;overflow:hidden}.review-row__type{display:none}.empty-state{justify-content:center;align-items:flex-start;gap:var(--space-sm);min-height:12rem;color:var(--color-muted);flex-direction:column;display:flex}.empty-state strong{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-lg)}.strategy-grid{gap:var(--space-lg);display:grid}.strategy-primary,.strategy-note{padding:var(--space-xl);border:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-raised);position:relative}.strategy-primary{border-block-start:var(--rule-heavy) solid var(--color-ink)}.strategy-number{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-sm);margin-block-end:var(--space-2xl);display:block}.strategy-primary h2,.strategy-note h2{max-width:16ch;margin-block-end:var(--space-md)}.strategy-primary>p,.strategy-note>p{max-width:48ch;color:var(--color-neutral)}.rule-list{margin-block:var(--space-xl);border-block-start:var(--rule-hair) solid var(--color-rule-strong)}.rule-list>div{gap:var(--space-xs) var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);grid-template-columns:minmax(5rem,.8fr) 1.4fr;display:grid}.rule-list dt{font-family:var(--font-label);font-size:var(--text-sm);font-weight:500}.rule-list dd{margin:0}.rule-list dd:last-child{color:var(--color-accent-dark);grid-column:1/-1;font-weight:700}.strategy-note ul,.strategy-note ol{gap:var(--space-sm);margin-block:var(--space-xl);padding-inline-start:var(--space-lg);display:grid}.strategy-note li>span{min-width:5rem;color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);display:inline-block}.strategy-note--dark{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper-raised)}.strategy-note--dark .strategy-number,.strategy-note--dark>p{color:var(--color-paper-3)}.text-link--paper{color:var(--color-paper-raised)}.time-plan__line{border-block-start:var(--rule-heavy) solid var(--color-ink)}.time-plan__line>div{gap:var(--space-xs);padding-block:var(--space-lg);border-block-end:var(--rule-hair) solid var(--color-rule);display:grid}.time-plan__line span{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-sm)}.time-plan__line strong{font-family:var(--font-display);font-size:var(--text-md)}.time-plan__line p{color:var(--color-muted)}.phrase-columns{gap:var(--space-xl);padding:var(--space-xl);background:var(--color-paper-2);display:grid}.phrase-columns ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.phrase-columns li{gap:var(--space-2xs);padding-block:var(--space-sm);border-block-end:var(--rule-hair) solid var(--color-rule);flex-direction:column;display:flex}.phrase-columns strong{font-family:var(--font-label);font-size:var(--text-sm)}.phrase-columns span{color:var(--color-muted)}.materials-intro h1{max-width:10ch}.pdf-workbench{border-block-start:var(--rule-heavy) solid var(--color-ink)}.pdf-toolbar{align-items:center;gap:var(--space-2xs);padding-block:var(--space-sm);scrollbar-width:thin;display:flex;overflow-x:auto}.pdf-toolbar button{min-width:3rem;min-height:2.75rem;padding:var(--space-xs);border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius-sm);font-family:var(--font-label);font-size:var(--text-xs);white-space:nowrap;cursor:pointer;background:0 0}.pdf-toolbar button:hover,.pdf-toolbar button.is-active{border-color:var(--color-accent-dark);background:var(--color-accent-paper);color:var(--color-accent-dark)}.pdf-frame{border:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-2);width:100%;height:70dvh;min-height:30rem}.answer-key__list{border-block-start:var(--rule-heavy) solid var(--color-ink)}.answer-key details{border-block-end:var(--rule-hair) solid var(--color-rule)}.answer-key summary{align-items:center;gap:var(--space-sm);cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;min-height:4rem;list-style:none;display:grid}.answer-key summary::-webkit-details-marker{display:none}.answer-key summary>span,.answer-key summary>small{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);white-space:nowrap}.answer-key summary strong{font-family:var(--font-display);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.answer-key__body{gap:var(--space-sm);padding:0 0 var(--space-lg);display:grid}.answer-key__body>div{gap:var(--space-xs);flex-direction:column;display:flex}.answer-key__body strong{color:var(--color-accent-dark);font-family:var(--font-label);font-size:var(--text-xs)}.answer-key__body span{font-family:var(--font-label);font-size:var(--text-sm);font-variant-numeric:tabular-nums;line-height:1.8}.reveal{animation:reveal var(--dur-long) var(--ease-out) both}@keyframes reveal{0%{opacity:0;transform:translateY(var(--space-xs))}to{opacity:1;transform:translateY(0)}}@media (width>=40rem){.workspace{padding-block-start:var(--space-2xl)}.footer-line{flex-direction:row;justify-content:space-between}.home-hero{gap:var(--space-2xl);grid-template-columns:minmax(0,1.5fr) minmax(15rem,.65fr)}.score-strip{grid-template-columns:minmax(0,1.1fr) minmax(20rem,1fr)}.plan-list>button{grid-template-columns:5rem minmax(10rem,.7fr) minmax(0,1fr) auto}.plan-list em{display:block}.scene-row{grid-template-columns:3rem minmax(0,1.5fr) 5rem 5rem auto}.scene-row__score,.scene-row__progress{white-space:nowrap;flex-direction:column;display:flex}.scene-row__score small{color:var(--color-muted);font-size:var(--text-xs);font-weight:400}.section-head{flex-direction:row;justify-content:space-between;align-items:flex-end}.setup-sheet{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.setup-submit{grid-column:1/-1;justify-self:end}.part-spec{grid-template-columns:1.15fr .9fr 1fr}.question-sheet{padding-block:var(--space-2xl)}.option{padding:var(--space-md)}.question-actions--single>span{display:block}.review-row{grid-template-columns:8rem minmax(0,1fr) 6rem auto;align-items:center}.review-row__prompt{grid-column:auto}.review-row__type{display:block}.strategy-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}.strategy-primary{grid-row:span 2}.time-plan__line{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.time-plan__line>div{padding:var(--space-lg);border-inline-end:var(--rule-hair) solid var(--color-rule)}.phrase-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.answer-key__body>div{grid-template-columns:5rem minmax(0,1fr);display:grid}}@media (width>=60rem){body{padding-block-end:0}.mobile-head,.mobile-nav{display:none}.side-rail{z-index:var(--z-sticky);width:var(--rail-width);padding:var(--space-lg);border-inline-end:var(--rule-hair) solid var(--color-rule-strong);background:var(--color-paper-raised);flex-direction:column;display:flex;position:fixed;inset-block:0;inset-inline-start:0}.wordmark{align-items:flex-start;gap:var(--space-2xs);text-align:start;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.wordmark__main{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.wordmark__sub{color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs)}.rail-nav{justify-content:center;gap:var(--space-2xs);flex-direction:column;flex:1;display:flex}.side-rail .rail-link{justify-content:flex-start;gap:var(--space-sm);min-height:2.75rem;padding-inline:0}.side-rail .rail-link__mark{width:var(--space-2xs);background:0 0;height:1.5rem;display:block}.side-rail .rail-link.is-active .rail-link__mark{background:var(--color-accent)}.side-rail .rail-link__text,.side-rail .rail-link__count{display:block}.side-rail .rail-link__short{display:none}.side-rail .rail-link__count{color:var(--color-error);font-family:var(--font-label);font-size:var(--text-xs);margin-inline-start:auto}.rail-foot{align-items:baseline;gap:var(--space-2xs);border-block-start:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-label);font-size:var(--text-xs);grid-template-columns:1fr auto;padding-block-start:var(--space-md);display:grid}.rail-foot strong{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl);font-variant-numeric:tabular-nums;grid-row:span 2;font-weight:400}.workspace{width:calc(100% - var(--rail-width));padding-inline:var(--page-gutter);margin-inline-start:var(--rail-width)}.source-pane__body{max-height:34rem}}@media (width>=72rem){.question-workbench.has-source{gap:var(--space-2xl);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.question-workbench.has-source .source-pane{max-height:calc(100dvh - var(--space-2xl));border-block-end:0;align-self:start;position:sticky;inset-block-start:var(--space-lg)}.question-workbench:not(.has-source) .question-sheet{max-width:58rem;margin-inline:auto}}@media (width>=90rem){:root{--rail-width:14rem}.workspace{padding-inline:var(--space-2xl)}}@media (hover:hover) and (pointer:fine){.button:hover{transform:translateY(calc(var(--space-3xs) * -1))}}@media (pointer:coarse){.button,.text-link,.back-link,.rail-link,.pdf-toolbar button{min-height:2.75rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:var(--dur-micro)!important;transition-duration:var(--dur-micro)!important;animation-iteration-count:1!important}.reveal{transform:none}}
