:root{--neutral-175: oklch(.175 .01 80);--neutral-205: oklch(.205 .011 80);--neutral-225: oklch(.225 .012 80);--neutral-280: oklch(.28 .012 60);--neutral-330: oklch(.33 .01 80);--neutral-420: oklch(.42 .012 62);--neutral-425: oklch(.42 .012 80);--neutral-520: oklch(.52 .012 64);--neutral-620: oklch(.62 .012 84);--neutral-760: oklch(.76 .012 84);--neutral-780: oklch(.78 .012 76);--neutral-860: oklch(.86 .01 78);--neutral-900: oklch(.9 .012 84);--neutral-930: oklch(.93 .012 80);--neutral-945: oklch(.945 .01 82);--neutral-972: oklch(.972 .008 85);--green-300: oklch(.3 .045 152);--green-400: oklch(.4 .085 150);--green-520: oklch(.52 .09 150);--green-550: oklch(.55 .11 150);--green-720: oklch(.72 .11 152);--green-800: oklch(.8 .1 152);--green-920: oklch(.92 .03 150);--amber-300: oklch(.3 .05 46);--amber-470: oklch(.47 .11 42);--amber-780: oklch(.78 .11 46);--amber-930: oklch(.93 .03 48);--tint-160: oklch(.16 .01 120);--tint-985: oklch(.985 .006 120);--color-paper: var(--neutral-972);--color-paper-2: var(--neutral-945);--color-paper-inset: var(--neutral-930);--color-ink: var(--neutral-280);--color-ink-2: var(--neutral-420);--color-ink-3: var(--neutral-520);--color-rule: var(--neutral-860);--color-rule-strong: var(--neutral-780);--color-accent: var(--green-520);--color-accent-ink: var(--green-400);--color-accent-soft: var(--green-920);--color-on-accent: var(--tint-985);--color-warn-ink: var(--amber-470);--color-warn-soft: var(--amber-930);--color-focus: var(--green-550);--button-primary-bg: var(--color-accent);--button-primary-text: var(--color-on-accent);--button-primary-bg-active: var(--color-accent-ink);--button-secondary-bg: var(--color-paper);--button-secondary-text: var(--color-ink);--button-secondary-border: var(--color-rule-strong);--button-secondary-bg-hover: var(--color-paper-2);--button-secondary-bg-active: var(--color-paper-inset);--button-ghost-text: var(--color-accent-ink);--button-ghost-bg-hover: var(--color-accent-soft)}:root{--topbar-h: 52px;--crumb-h: 40px;--rail-w: 250px;--rail-w-slim: 64px;--font-head: "Fraunces", Georgia, "Times New Roman", serif;--font-body: "Source Serif 4", Georgia, "Times New Roman", serif;--weight-body: 500;--weight-label: 600;--weight-head: 700;--size-display: clamp(2.4rem, 8vw, 4rem);--size-display-xl: clamp(3rem, 10vw, 5rem);--size-h1: clamp(1.7rem, 3.8vw, 2.7rem);--size-h2: clamp(1.4rem, 4vw, 2rem);--size-h3: 1.15rem;--size-body: clamp(16px, 1rem + .2vw, 18px);--size-small: .9rem;--size-meta: .82rem;--size-meta-min: .76rem;--measure: 68ch;--content-max: 1020px;--space-3xs: 2px;--space-2xs: 4px;--space-xs: 8px;--space-s: 16px;--space-m: clamp(24px, 4vw, 40px);--space-l: clamp(32px, 6vw, 64px);--radius-control: 4px;--radius-surface: 8px;--radius-pill: 999px;--shadow-floating: 0 4px 20px oklch(.2 .02 60 / .14);--shadow-floating-ambient: 0 0 40px oklch(.2 .02 60 / .2);--motion-fast: .15s;--motion-mid: .25s;--motion-slow: .38s;--ease-enter: cubic-bezier(0, 0, .2, 1);--ease-exit: cubic-bezier(.4, 0, 1, 1);--motion-enter-rise: 10px;--motion-stagger: 28ms;--motion-dur-base: .22s;--ease-base: cubic-bezier(.22, .61, .36, 1);--activity-width: min(880px, 92%);--review-card-width: var(--activity-width);--review-card-height: clamp(340px, 46vh, 460px);--review-term-weight: 500;--review-term-size: var(--size-h2);--review-measure: var(--measure);--review-progress-track: var(--color-rule);--review-progress-fill: var(--color-accent);--review-progress-height: 4px;--review-correct: var(--color-accent);--review-correct-soft: var(--color-accent-soft);--review-wrong-soft: var(--color-warn-soft);--review-wrong-ink: var(--color-warn-ink)}[data-theme=dark]{--color-paper: var(--neutral-175);--color-paper-2: var(--neutral-205);--color-paper-inset: var(--neutral-225);--color-ink: var(--neutral-900);--color-ink-2: var(--neutral-760);--color-ink-3: var(--neutral-620);--color-rule: var(--neutral-330);--color-rule-strong: var(--neutral-425);--color-accent: var(--green-720);--color-accent-ink: var(--green-800);--color-accent-soft: var(--green-300);--color-on-accent: var(--tint-160);--color-warn-ink: var(--amber-780);--color-warn-soft: var(--amber-300);--color-focus: var(--green-800)}*,*:before,*:after{box-sizing:border-box}html{font-optical-sizing:auto}body{margin:0;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-weight:var(--weight-body);font-size:var(--size-body);line-height:1.55;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-head);font-weight:var(--weight-head);color:var(--color-ink);line-height:1.15;margin:0 0 var(--space-s)}h1{font-size:var(--size-h1)}h2{font-size:var(--size-h2)}h3{font-size:var(--size-h3)}a{color:var(--color-accent-ink);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-control)}.session-cta{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:var(--radius-control);border:1px solid var(--color-rule-strong);background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-weight:var(--weight-label);font-size:var(--size-body);cursor:pointer;transition:background var(--motion-fast) var(--ease-base),filter var(--motion-fast) var(--ease-base)}.session-cta:hover:not(:disabled){background:var(--color-paper-2)}.session-cta--primary{border-color:transparent;background:var(--color-accent);color:var(--color-on-accent)}.session-cta--primary:hover:not(:disabled){background:var(--color-accent);filter:brightness(1.06)}.session-cta:disabled{background:var(--color-paper-inset);color:var(--color-ink-3);cursor:not-allowed;filter:none}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
