@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/dm-sans-latin-400-italic.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/dm-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/dm-sans-latin-600-normal.woff2) format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/dm-sans-latin-700-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-400-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/source-serif-4-latin-400-italic.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-serif-4-latin-500-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-serif-4-latin-600-normal.woff2) format("woff2")}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-serif-4-latin-700-normal.woff2) format("woff2")}:root{--brand-400: #60a5fa;--dentin-day-ground: #f4f7fa;--dentin-day-plane: #e7edf3;--dentin-day-sheet: #ffffff;--dentin-day-raised: #ffffff;--dentin-day-ink: #192c43;--dentin-day-muted: #52647a;--dentin-day-cut: #d2dbe4;--dentin-day-signal: #2563eb;--dentin-day-error: #b4364a;--dentin-day-retained: #15803d;--paper: var(--dentin-day-ground);--plane: var(--dentin-day-plane);--plate: var(--dentin-day-sheet);--canvas: var(--paper);--ink: var(--dentin-day-ink);--field: var(--plate);--rail: var(--header-bg);--raised: var(--dentin-day-raised);--muted: var(--dentin-day-muted);--edge: var(--dentin-day-cut);--hair: var(--dentin-day-cut);--control-edge: #788a9e;--faint: color-mix(in srgb, var(--ink) 28%, transparent);--accent: var(--dentin-day-signal);--retained: var(--dentin-day-retained);--focus: var(--accent);--danger: var(--dentin-day-error);--focus-ring: var(--accent);--hard: #4d6185;--cta: #31548a;--cta-hover: #263f69;--cta-ink: #ffffff;--header-bg: #ffffff;--header-ink: var(--ink);--header-muted: var(--muted);--lightbox: #14181E;--lightbox-ink: #EEF2F7;--lightbox-muted: #B9C3CF;--banner-surface: #50565d;--banner-ink: #ffffff;--banner-muted: #f1f2f3;--selected: #dbeafe;--selected-strong: #bfdbfe;--danger-bg: #ffe4e6;--rating-again: #9f1239;--rating-again-bg: #ffe4e6;--rating-hard: var(--hard);--rating-hard-bg: #dbeafe;--rating-good: #0f766e;--rating-good-bg: #ccfbf1;--rating-easy: #166534;--rating-easy-bg: #dcfce7;--rating-hard-text: #1e40af;--retained-text: #166534;--danger-text: #9f1239;--accent-text: #1d4ed8;--flag-dot: #b7791f;--flag-text: #92600f;--uncertain-bg: #e7edf3;--uncertain-edge: #6b7c99;--uncertain-text: #3e4e68;--tint-mint-bg: #dcfce7;--tint-mint-fg: #166534;--tint-sky-bg: #dbeafe;--tint-sky-fg: #1d4ed8;--tint-amber-bg: #fef3c7;--tint-amber-fg: #92400e;--tint-violet-bg: #ede9fe;--tint-violet-fg: #5b21b6;--tint-rose-bg: #ffe4e6;--tint-rose-fg: #9f1239;--tile-sky: #e0f2fe;--tile-sky-fg: #0369a1;--tile-mint: #dcfce7;--tile-mint-fg: #15803d;--tile-violet: #ede9fe;--tile-violet-fg: #6d28d9;--tile-rose: #ffe4e6;--tile-rose-fg: #be123c;--tile-neutral: #eef2f7;--tile-neutral-fg: #334155;--elev-1: 0 2px 4px rgb(25 44 67 / .05);--elev-2: 0 4px 12px rgb(25 44 67 / .12);--display: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--ui: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--reading-scale: 1;--radius: 8px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-pill: 999px;--radius-btn: 10px;--radius-seg: 10px;--tap: 44px;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .875rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--fs-3xl: 2.25rem;--fs-4xl: 3rem;--fs-display: clamp(2.25rem, 4.5vw, 3.75rem);--fs-hero: clamp(2.75rem, 5vw, 4.5rem);--fs-card-title: 1.75rem;--fs-row-title: 1.125rem;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--content-max: 137.5rem;--gutter: clamp(20px, 4vw, 60px);--header-h: 4.5rem;--page-header-top: 2rem;--page-header-gap: 1.5rem;--page-header-copy-height: 6.5rem;--page-title-size: clamp(2.25rem, 3.5vw, 3rem);--page-title-leading: 1.15;--page-description-gap: .75rem;--dock-h: 4.4rem;--ease-out: cubic-bezier(.3, .7, .3, 1);--ease-draw: cubic-bezier(.55, 0, .25, 1);--motion-hover: .2s;--motion-draw: 1.2s;--motion-fast: .15s;--motion-ui: .2s;--acc-expand: .25s;--acc-collapse: .25s;--acc-ease: cubic-bezier(.22, 1, .36, 1);--t-row: .16s;--z-skip: 100;--z-rail: 20;--z-dock: 30;--z-toast: 40;color-scheme:light}@media(max-width:900px){:root{--gutter: 1rem;--page-header-top: 1.5rem;--page-header-gap: 1.75rem}}html[data-theme=dark],.theme-night{--dentin-night-ground: #10151C;--dentin-night-plane: #242B37;--dentin-night-sheet: #1B212B;--dentin-night-raised: #303947;--dentin-night-ink: #E9EEF5;--dentin-night-muted: #9AA6B4;--dentin-night-cut: #353D4A;--dentin-night-signal: #6FA8FF;--banner-surface: #40454a;--paper: var(--dentin-night-ground);--canvas: var(--dentin-night-ground);--plane: var(--dentin-night-plane);--plate: var(--dentin-night-sheet);--field: var(--dentin-night-sheet);--raised: var(--dentin-night-raised);--rail: var(--header-bg);--ink: var(--dentin-night-ink);--muted: var(--dentin-night-muted);--faint: color-mix(in srgb, var(--ink) 26%, transparent);--edge: var(--dentin-night-cut);--hair: rgba(255, 255, 255, .1);--control-edge: #7D8592;--header-bg: #161C24;--header-ink: var(--dentin-night-ink);--header-muted: var(--dentin-night-muted);--accent: var(--dentin-night-signal);--accent-text: #6FA8FF;--cta: #2F6BE8;--cta-hover: #2A5FD0;--cta-ink: #FFFFFF;--focus: #8FB8FF;--focus-ring: #8FB8FF;--selected: #25324A;--selected-strong: #2E3D59;--danger: #F0A8AE;--danger-bg: #382327;--danger-text: #F0A8AE;--retained: #6FCA96;--retained-text: #6FCA96;--hard: #B0BAC7;--rating-again: #F0A8AE;--rating-again-bg: #382327;--rating-hard: #8FB8FF;--rating-hard-bg: #253040;--rating-hard-text: #8FB8FF;--rating-good: #5EC7B7;--rating-good-bg: #1B2E2C;--rating-easy: #6FCA96;--rating-easy-bg: #1F2E27;--flag-dot: #E0C888;--flag-text: #E0C888;--uncertain-bg: #262B38;--uncertain-edge: var(--control-edge);--uncertain-text: #C0C4D8;--tint-mint-bg: #1F2E27;--tint-mint-fg: #6FCA96;--tint-sky-bg: #253040;--tint-sky-fg: #8FB8FF;--tint-amber-bg: #2C2A1E;--tint-amber-fg: #E0C888;--tint-violet-bg: #262B38;--tint-violet-fg: #C0C4D8;--tint-rose-bg: #382327;--tint-rose-fg: #F0A8AE;--tile-mint: #1F2E27;--tile-mint-fg: #6FCA96;--tile-rose: #382327;--tile-rose-fg: #F0A8AE;--tile-sky: #253040;--tile-sky-fg: #8FB8FF;--tile-violet: #262B38;--tile-violet-fg: #C0C4D8;--tile-neutral: #27303F;--tile-neutral-fg: #C4CCD6;--elev-1: none;--elev-2: none;color-scheme:dark}html[data-text-size=large]{--reading-scale: 1.1}html[data-text-size=small]{--reading-scale: .9}html[data-text-size=larger]{--reading-scale: 1.2}html[data-text-size=largest]{--reading-scale: 1.3}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100dvh;font-family:var(--ui);line-height:1.5;background:var(--canvas);color:var(--ink)}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}a{color:inherit}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}[data-route-focus]:focus,[data-route-focus]:focus-visible{outline:none}.skip-link{position:fixed;z-index:var(--z-skip);inset-block-start:8px;inset-inline-start:8px;transform:translateY(-160%);padding:10px 14px;background:var(--ink);color:var(--canvas);font-weight:700;text-decoration:none;border-radius:var(--radius-sm)}.skip-link:focus{transform:none}.display{font-family:var(--display);font-weight:700;font-size:var(--fs-display);line-height:1.02;letter-spacing:-.015em;text-wrap:balance}.whisper{font-family:var(--ui);font-style:normal;font-weight:500;color:var(--muted);font-size:var(--fs-sm)}.molar-mark{display:block;flex-shrink:0;width:40px;height:40px;object-fit:contain}.empty-state{display:grid;justify-items:center;gap:.35rem;text-align:center}.empty-state-mark{display:block;opacity:.16;object-fit:contain}.empty-state-line{margin:0;max-width:46ch;font-family:var(--display);font-size:1.05rem;font-weight:600;color:var(--ink)}.empty-state.is-compact{justify-items:start;text-align:start}.empty-state.is-compact .empty-state-line{font-family:var(--ui);font-size:var(--fs-sm);font-weight:500;color:var(--muted)}.empty-state-next{color:var(--accent);font-size:var(--fs-sm);font-weight:600;background:none;border:0;padding:0;min-height:0;text-decoration:none}.empty-state-next:hover{text-decoration:underline;text-underline-offset:.2em}.screen.not-found.is-active{display:grid;justify-items:center;align-content:center;gap:var(--sp-4);min-height:70vh;padding:var(--sp-8) var(--gutter);text-align:center}.not-found .display{margin:0;font-size:var(--fs-card-title)}.workspace:has(>.screen.not-found){display:flex;flex-direction:column}.workspace>.screen.not-found.is-active{flex:1 0 auto;min-height:0}.eyebrow{margin:0;font-family:var(--ui);font-size:var(--fs-xs);font-weight:700;letter-spacing:0;color:var(--accent-text)}.lede{color:var(--muted);max-width:52ch;font-size:clamp(15px,1.4vw,17px);text-wrap:pretty}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:active{transform:none}}.error-panel{max-width:34rem;margin:14vh auto 0;padding:clamp(20px,3vw,32px);background:var(--raised);border:1px solid color-mix(in srgb,var(--edge) 45%,transparent);border-radius:var(--radius)}.error-title{font-size:var(--fs-display);line-height:.95;margin:8px 0 10px}.error-panel .lede{margin:0 0 18px}.skeleton{background:var(--selected);border-radius:var(--radius-sm)}.skeleton-line{height:14px;margin:8px 0}.skeleton-line.short{max-width:40%}.skeleton-row{height:64px;margin:0 0 10px}.skeleton-stem{height:44px;max-width:80%;margin:12px 0 22px}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton-choice{min-height:58px}.overlay-backdrop{position:fixed;z-index:var(--z-skip);inset:0;display:grid;place-items:center;background:color-mix(in srgb,#000 45%,transparent);padding:20px}.overlay-panel{width:min(440px,100%);max-height:82vh;overflow:auto;background:var(--raised);border:1px solid color-mix(in srgb,var(--edge) 55%,transparent);border-radius:var(--radius);padding:clamp(18px,3vw,26px)}.overlay-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.overlay-title{font-size:clamp(26px,3.4vw,34px);line-height:1;margin:0}.overlay-title+.field{margin-top:14px}.overlay-close{min-width:44px;min-height:44px;border-radius:var(--radius-sm);font-size:22px;color:var(--muted)}.overlay-close:hover{background:var(--selected);color:var(--ink)}.shortcut-list{margin:0;display:grid;gap:2px}.shortcut-row{display:grid;grid-template-columns:minmax(min(110px,45%),auto) minmax(0,1fr);align-items:center;gap:12px;padding:8px 6px;border-bottom:1px solid color-mix(in srgb,var(--edge) 35%,transparent)}.shortcut-row dt,.shortcut-row dd{min-width:0;overflow-wrap:break-word;hyphens:auto}.shortcut-row dt{margin:0}.shortcut-row dd{margin:0;font-size:var(--fs-sm);color:var(--ink)}kbd{display:inline-block;padding:3px 8px;background:var(--selected);border:1px solid color-mix(in srgb,var(--edge) 60%,transparent);border-radius:var(--radius-sm);font-family:var(--ui);font-size:var(--fs-xs);font-weight:700;color:var(--ink)}.coach-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.lib-note-editor{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"field save" "conflict conflict";gap:.75rem;align-items:end;margin-top:1rem;padding:1rem 0}.lib-note-editor>label{grid-area:field;display:grid;gap:.45rem;color:var(--muted);font-size:var(--fs-sm);font-weight:700}.lib-note-editor textarea{resize:vertical}.lib-note-editor>.button{grid-area:save}.lib-note-editor.is-popover{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "field" "footer";gap:.85rem;margin:0;padding:0}.lib-note-editor.is-popover.has-conflict{grid-template-areas:"heading" "field" "conflict" "footer"}.lib-note-heading{grid-area:heading;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem;align-items:center}.lib-note-heading h2{margin:0;font-family:var(--ui);font-size:var(--fs-base);font-weight:700;line-height:1.4;overflow-wrap:break-word}.lib-note-editor.is-popover .lib-note-close{width:44px;min-height:44px;padding:0;color:var(--muted)}.lib-note-editor.is-popover>label{min-width:0}.lib-note-editor.is-popover textarea{min-height:11rem;max-height:28rem;font-size:max(1rem,var(--fs-base));font-weight:400;line-height:1.6}.lib-note-editor.is-popover textarea::placeholder{color:var(--muted);opacity:1}.lib-note-footer{grid-area:footer;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.lib-note-details{display:grid;gap:.2rem;min-width:0;flex:1 1 6rem;color:var(--muted);font-size:var(--fs-sm);font-weight:400;line-height:1.4}.lib-note-count{font-variant-numeric:tabular-nums;font-weight:400}.lib-note-editor.is-popover .lib-note-footer>.button{flex:0 1 auto;width:auto;margin-inline-start:auto}.lib-note-conflict{grid-area:conflict;display:grid;gap:.65rem;padding:.9rem 1rem;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--selected) 72%,var(--paper))}.lib-note-conflict-summary,.lib-note-conflict-preview{margin:0;line-height:1.5}.lib-note-conflict-summary{color:var(--ink)}.lib-note-conflict-preview{color:var(--muted);white-space:pre-wrap;overflow-wrap:break-word;hyphens:auto}.lib-note-conflict-preview strong{color:var(--ink)}.lib-note-conflict-actions{display:flex;flex-wrap:wrap;gap:.35rem}.lib-note-conflict-actions .button{min-height:44px}.screen.is-active.offline-gate{display:grid;place-items:center;min-height:70dvh;padding:2rem var(--gutter)}.offline-gate .empty-state{gap:.75rem;max-width:30rem}.offline-gate-body{margin:0;max-width:42ch;color:var(--muted);font-size:var(--fs-base);line-height:1.55}.button{min-width:0;overflow-wrap:break-word;hyphens:none;min-height:var(--tap);padding:10px 16px;border-radius:var(--radius-btn);display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;text-decoration:none;background:var(--cta);color:var(--cta-ink)}.button:hover{background:var(--cta-hover)}.button:active{background:color-mix(in srgb,var(--cta-hover) 88%,#000)}.button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.button.secondary{background:var(--selected);color:var(--ink)}.button.secondary:hover{background:var(--selected-strong)}.button.quiet{background:transparent;color:var(--ink)}.button.quiet:hover{background:var(--selected)}.button.button-danger{background:var(--danger);color:var(--canvas)}.button.button-danger:hover{background:color-mix(in srgb,var(--danger) 88%,var(--ink))}.button:disabled,.button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.button.block{width:100%}.field{display:grid;gap:6px;margin-bottom:12px}.field label{font-size:var(--fs-sm);font-weight:700;color:var(--muted)}.input{width:100%;min-width:0;min-height:var(--tap);border:1px solid var(--control-edge);border-radius:var(--radius-sm);background:var(--field);padding:10px 12px;transition:border-color var(--motion-fast) var(--ease-out)}.input:focus{border-color:var(--ink);outline:none;box-shadow:inset 0 0 0 1px var(--focus-ring)}.input:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.field-error{min-height:1.2em;color:var(--danger);font-size:var(--fs-sm)}.field-hint{margin:-4px 0 12px;color:var(--muted);font-size:var(--fs-sm)}.segmented{display:grid;grid-auto-flow:column;gap:3px;padding:3px;background:var(--selected);border-radius:var(--radius-sm);margin-bottom:14px}.segmented button{min-height:var(--tap);border-radius:var(--radius-sm);font-weight:700;color:var(--muted)}.chip:hover{background:var(--selected)}.chip.is-on{background:var(--ink);color:var(--plate);border-color:var(--ink)}.practice-quick-chip,.lib-quick-chip{display:inline-flex;align-items:center;gap:.5rem;min-height:var(--tap);height:auto;max-width:100%;white-space:nowrap;padding-inline:1rem;border:1px solid var(--hair);border-radius:999px;background:var(--plane);color:var(--ink);font:inherit;font-size:var(--fs-base);font-weight:600;cursor:pointer;transition:border-color var(--motion-hover) var(--ease-out),background-color var(--motion-hover) var(--ease-out)}.practice-quick-chip svg,.lib-quick-chip svg{flex:none;color:var(--muted)}.practice-quick-chip .practice-quick-count,.lib-quick-chip .lib-chip-count{color:var(--muted);font-weight:500}.lib-quick-chip.is-on{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}.lib-quick-chip.is-on svg{color:var(--cta-ink)}.lib-quick-chip.is-on .lib-chip-count{color:color-mix(in srgb,var(--cta-ink) 80%,transparent)}.segmented button[aria-selected=true]{background:var(--canvas);color:var(--ink)}.theme-toggle{min-height:var(--tap);min-width:var(--tap);padding:0 10px;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-xs);font-weight:700}.theme-toggle:hover{background:var(--selected);color:var(--ink)}.choice-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.choice{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto);gap:12px;align-items:center;text-align:start;width:100%;min-width:0;min-height:56px;padding:12px 16px;border:1px solid var(--hair);border-radius:var(--radius-md);background:transparent;color:var(--ink);font-size:calc(1rem * var(--reading-scale));line-height:1.5;overflow-wrap:break-word;hyphens:auto;transition:background-color var(--motion-fast) var(--ease-out)}.choice:hover:not(:disabled){background:var(--paper)}.choice.is-selected{box-shadow:inset 0 0 0 2px var(--cta)}.choice.is-selected .choice-key{background:var(--cta);color:var(--cta-ink)}.choice:disabled{cursor:default}.choice:disabled:not(.is-correct):not(.is-wrong):not(.is-selected){opacity:.7}.choice.is-correct{background:var(--tile-mint);border-color:transparent}@keyframes choice-settle{0%{transform:translateY(2px)}to{transform:none}}@media(prefers-reduced-motion:no-preference){.choice.is-correct{animation:choice-settle var(--motion-fast) var(--ease-out)}}@media(prefers-reduced-motion:reduce){.choice.is-correct{animation:none;transition:none}}.choice.is-correct .choice-key{background:var(--tile-mint-fg);color:var(--plate)}.choice.is-wrong{background:var(--tile-rose);border-color:transparent}.choice.is-wrong .choice-key{background:var(--tile-rose-fg);color:var(--plate)}.choice.is-selected.is-correct{box-shadow:inset 0 0 0 2px var(--tile-mint-fg)}.choice.is-selected.is-wrong{box-shadow:inset 0 0 0 2px var(--tile-rose-fg)}.choice-key{display:grid;place-items:center;width:32px;height:32px;border-radius:var(--radius-pill);background:var(--plane);color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}.choice-text{overflow-wrap:break-word;hyphens:auto;min-width:0}.choice-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-pill)}.choice-mark.is-right{color:var(--tile-mint-fg)}.choice-mark.is-wrong{color:var(--tile-rose-fg)}.toast{position:fixed;z-index:var(--z-toast);inset-inline-start:50%;inset-block-start:auto;inset-block-end:1.5rem;transform:translate(-50%) translateY(12px);display:inline-flex;align-items:center;gap:4px;padding:8px 8px 8px 16px;background:var(--raised);color:var(--ink);border:1px solid color-mix(in srgb,var(--edge) 55%,transparent);border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:700;max-width:min(90vw,380px);text-align:center;transition:transform var(--motion-ui) var(--ease-out),opacity var(--motion-ui) var(--ease-out);pointer-events:none;opacity:0;visibility:hidden}.toast.is-visible{transform:translate(-50%) translateY(0);opacity:1;visibility:visible;pointer-events:auto}@media(max-width:900px){.toast{inset-block-end:calc(var(--dock-h) + env(safe-area-inset-bottom,0px) + .75rem);z-index:var(--z-toast)}html:has(.shell[data-focus]) .toast{inset-block-start:calc(var(--header-h) + env(safe-area-inset-top,0px) + .5rem);inset-block-end:auto;transform:translate(-50%) translateY(-12px)}html:has(.shell[data-focus]) .toast.is-visible{transform:translate(-50%) translateY(0)}}.toast-msg{padding-block:4px}.toast-action{min-height:44px;min-width:44px;padding:0 12px;border-radius:var(--radius-sm);color:var(--accent-text);font-size:var(--fs-sm);font-weight:700;letter-spacing:0;flex-shrink:0}.toast-action:hover{background:var(--selected)}@media(prefers-reduced-motion:reduce){.toast{transition:none}}.select-box{position:relative;display:grid;min-width:0}.select-box select.input{appearance:none;-webkit-appearance:none;min-height:var(--tap);padding:0 2.4rem 0 .9rem;border-radius:var(--radius-md);border-color:var(--control-edge);background:var(--plane);color:var(--ink);font:inherit;font-size:var(--fs-base)}.select-box select.input option{color:var(--ink);background:var(--field)}.select-box .select-caret{position:absolute;inset-inline-end:.85rem;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}html[data-theme=dark] .mock-bar-track{background:#ffffff1a}html[data-theme=dark] .viz-spark-line{stroke:var(--accent-text)}html[data-theme=dark] .viz-spark-dot{fill:var(--accent-text)}html[data-theme=dark] :is(.practice-note-popover,.practice-plate-pop,.toast){background:var(--raised)}html[data-theme=dark] .toast{border-color:var(--hair);box-shadow:var(--elev-2)}html[data-theme=dark] :is(.whisper,.access-chapter-fact,.access-forgot,.access-key-pair,.access-form-notice,.access-notice,.access-panel-foot,.access-panel-sub,.access-session-email,.app-footer-tagline,.avatar-menu-email,.blueprint-acc-none,.blueprint-note,.blueprint-panel-detail,.blueprint-panel-empty,.blueprint-panel-placeholder,.blueprint-work-empty,.co-session-copy,.device-empty,.device-label,.field-error,.field-hint,.film-layer,.fsrs-correction,.fsrs-recorded,.lib-compact-counters,.lib-compact-stem,.lib-memory-timeline,.lib-stat-sub,.memory-forecast-axis,.memory-note,.memory-tile-label,.mock-blueprint-rows,.mock-break-identity,.mock-card-copy,.mock-custom-eligible,.mock-review-evidence,.plan-readout-label,.practice-cards-note,.practice-figure-caption,.practice-figure-credit,.practice-figure-error,.practice-keys,.practice-match,.practice-recent-empty,.practice-recent-meta,.shortcut-row,.sitting-strip-mobile-more,.sitting-strip-more,.today-break-note,.today-card-foot,.today-deadline-days,.today-deadline-note,.today-deadline-shared,.today-deadline-warning,.today-option-est,.today-trajectory-help,.today-trajectory-key,.today-trajectory-status,.uncertain-notice,.viz-hbar-label,.viz-hbar-sub){font-weight:500}.card{background:var(--plate);border:1px solid var(--hair);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--elev-1);min-width:0}@media(max-width:700px){.card{padding:16px}}.seg{display:flex;gap:4px;padding:4px;background:var(--plane);border-radius:var(--radius-seg);overflow-x:auto;scrollbar-width:none}.seg::-webkit-scrollbar{display:none}.seg-item{flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:.35rem .75rem;border:0;border-radius:var(--radius);background:transparent;color:var(--muted);font-size:var(--fs-base);font-weight:600;font-family:var(--ui);white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out)}@media(prefers-reduced-motion:reduce){.seg-item{transition:none}}.seg-item:hover:not(.is-active){color:var(--ink)}.seg-item.is-active{background:var(--plate);color:var(--ink);box-shadow:var(--elev-1)}.seg-item:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}@media(max-width:40rem),(pointer:coarse){.seg-item{min-height:var(--tap)}}.seg.is-fit{width:fit-content;max-width:100%}.seg.is-fit .seg-item{flex:0 0 auto}.status-chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;hyphens:none;min-height:26px;padding:0 .55rem;border:0;border-radius:999px;color:var(--muted);font-size:var(--fs-xs);font-weight:760}.status-chip.is-correct{background:var(--tint-mint-bg);color:var(--tint-mint-fg)}.status-chip.is-wrong,.status-chip.is-leech{background:var(--tint-rose-bg);color:var(--tint-rose-fg)}.status-chip.is-needs-revision,.status-chip.is-weak-spots,.status-chip.is-suspended{background:var(--tint-amber-bg);color:var(--tint-amber-fg)}.status-chip.is-revealed,.status-chip.is-pass{background:var(--tint-sky-bg);color:var(--tint-sky-fg)}.status-chip.is-uncertain{background:var(--tint-violet-bg);color:var(--tint-violet-fg)}.qmap-cell{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;padding:0;border:0;border-radius:var(--radius);background:var(--plane);color:var(--muted);font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums}.qmap-cell.is-right{background:var(--tile-mint);color:var(--tile-mint-fg)}.qmap-cell.is-wrong{background:var(--tile-rose);color:var(--tile-rose-fg)}.qmap-cell.is-current{box-shadow:inset 0 0 0 2px var(--cta);color:var(--ink)}.qmap-cell.is-flagged{color:var(--flag-text)}.qmap-cell:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.question-meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.45rem 1rem;margin-bottom:1rem}.question-meta-id{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;min-width:0;color:var(--muted);font-size:var(--fs-sm);font-weight:720}.question-num{padding:.24rem .65rem;border-radius:999px;background:var(--paper);border:1px solid var(--hair);color:var(--ink);font-size:var(--fs-xs)}.question-meta-side{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.35rem;min-width:0}.question-stem{font-family:var(--display);font-size:calc(1.25rem * var(--reading-scale));font-weight:500;line-height:1.45;letter-spacing:-.008em;max-width:70ch;text-wrap:pretty;overflow-wrap:break-word;hyphens:auto;margin:.75rem 0 1.25rem}.uncertain-notice{color:var(--uncertain-text)}.uncertain-notice strong{color:var(--ink)}.uncertain-notice.is-question{max-width:50rem;margin:0 0 var(--sp-3);font-size:var(--fs-sm);font-weight:500}.question-notice{max-width:50rem;margin:0 0 var(--sp-3);color:var(--ink);font-size:var(--fs-sm);font-weight:500}.choice-tail{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.15rem .5rem;min-width:0;justify-self:end}.choice-result{font-size:var(--fs-xs);font-weight:700;color:var(--muted);overflow-wrap:break-word;hyphens:none;text-align:end}.question-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-top:1rem}.question-actions .button{flex:0 1 auto;min-width:0;max-width:100%;min-height:44px;overflow-wrap:break-word;hyphens:auto}.question-actions .question-more{margin-inline-start:auto}.question-actions .button.is-on{background:var(--selected-strong);box-shadow:inset 0 0 0 1px var(--ink)}.question-answer{border-top:1px solid var(--hair);margin-top:1.25rem;padding-top:1.25rem;overflow-wrap:break-word;hyphens:auto}.question-answer-title{margin:0;font-family:var(--display);font-size:1.125rem;font-weight:600;line-height:1.35}.question-your-answer{margin:.5rem 0 0;color:var(--muted)}.rating-panel{margin-top:1.25rem}.rating-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.rating-panel-label{margin:0;font-size:var(--fs-sm);font-weight:600;color:var(--muted)}.rating-panel-undo{min-height:0;padding-block:4px}.fsrs-recorded-actions{display:inline-flex;align-items:center;gap:.5rem}.evidence-inset{background:var(--plane);border:1px solid var(--hair);border-radius:var(--radius-md);padding:20px;display:grid;gap:20px;margin-top:1.25rem;min-width:0}@media(max-width:700px){.evidence-inset{padding:12px;gap:14px}.evidence-inset .seg-item{flex:1 1 auto;padding:.35rem .6rem;font-size:var(--fs-sm)}}.question-more{position:relative}.more-menu{position:absolute;z-index:var(--z-dock);inset-block-start:calc(100% + .35rem);inset-inline-end:0;display:grid;min-width:16rem;max-width:min(20rem,calc(100vw - 2rem));max-height:calc(100vh - 1rem);overflow-y:auto;overscroll-behavior:contain;padding:.35rem;background:var(--raised);border:1px solid color-mix(in srgb,var(--edge) 62%,transparent);border-radius:var(--radius-sm);box-shadow:var(--elev-1)}.more-menu.is-up{inset-block-start:auto;inset-block-end:calc(100% + .35rem)}.more-group{display:grid;min-width:0}.more-group+.more-group{margin-top:.25rem;padding-top:.25rem;border-top:1px solid var(--hair)}.more-group-label{margin:.25rem .7rem .1rem;color:var(--muted);font-size:var(--fs-xs);font-weight:700}.more-item{display:grid;gap:.1rem;width:100%;min-height:44px;padding:.5rem .7rem;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);text-align:start;font:inherit;font-size:.85rem;font-weight:650;cursor:pointer}.more-item-desc{color:var(--muted);font-size:var(--fs-xs);font-weight:400;line-height:1.4}.more-item:hover,.more-item.is-on{background:var(--selected)}.question-actions .report-issue-form{flex-basis:100%}.question-foot-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem 1.25rem;margin-top:1.25rem;color:var(--muted);font-size:var(--fs-xs)}.question-foot-meta .lib-meta-tag{display:inline;min-height:0;padding:0;vertical-align:baseline}@media(max-width:40rem),(pointer:coarse){.question-foot-meta .lib-meta-tag{display:inline-block;min-height:var(--tap);line-height:var(--tap)}}.question-foot-meta b{color:var(--ink);font-weight:700}.protected-content{position:relative}.protected-watermark{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2}.protected-watermark-fill{position:absolute;inset:-45%;display:grid;grid-template-columns:repeat(4,1fr);align-content:start;gap:2.6rem 2.2rem;transform:rotate(-28deg);opacity:.05;color:currentColor;font-size:.82rem;font-weight:600;letter-spacing:.08em;line-height:1}.content-print-notice{display:none}@media print{.content-print-restricted[data-content-surface=library] [data-protected-content],.content-print-restricted[data-content-surface=practice] [data-protected-content],.content-print-restricted[data-content-surface=mock] [data-protected-content],.content-print-restricted[data-content-surface=review] [data-protected-content],.practice-figure-viewer-backdrop,body>[data-protected-content]{display:none!important}.content-print-restricted[data-content-surface=library] .content-print-notice,.content-print-restricted[data-content-surface=practice] .content-print-notice,.content-print-restricted[data-content-surface=mock] .content-print-notice,.content-print-restricted[data-content-surface=review] .content-print-notice{display:block!important;padding:2rem;color:#111;background:#fff}}.access.screen.is-active{overflow-x:clip;background:var(--paper);color:var(--ink)}.access-bar{position:sticky;top:0;z-index:var(--z-rail);min-height:4rem;border-bottom:1px solid var(--hair);background:color-mix(in srgb,var(--paper) 84%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}@supports not (backdrop-filter: blur(1px)){.access-bar{background:var(--paper)}}@media(prefers-reduced-transparency:reduce){.access-bar{background:var(--paper)}}.access-bar-inner{width:min(100%,var(--content-max));min-height:4rem;margin-inline:auto;padding-inline:var(--gutter);display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:0 var(--sp-4)}.access-bar-brand{display:inline-flex;align-items:center;gap:10px;min-width:0;min-height:var(--tap);color:var(--ink);text-decoration:none}.access-bar-brand .brand-mark{width:2rem;height:2rem;flex:0 0 auto;object-fit:contain}.access-bar-tools{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0;margin-inline-start:auto}.access-bar .theme-toggle{min-width:var(--tap);padding-inline:13px;border-radius:var(--radius-sm);color:var(--muted);background:color-mix(in srgb,var(--raised) 28%,transparent)}.access-bar .theme-toggle:hover{color:var(--ink);background:color-mix(in srgb,var(--raised) 58%,transparent)}.access-hero{width:min(100%,var(--content-max));min-height:calc(100dvh - 4rem);margin-inline:auto;padding:var(--sp-8) var(--gutter);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-10);align-items:center}.access-plate{position:relative;min-height:min(78dvh,720px);border:1px solid var(--edge);border-radius:var(--radius-xl);overflow:hidden;background:var(--lightbox)}.access-plate:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(to top,var(--lightbox) 0%,var(--lightbox) 34%,color-mix(in srgb,var(--lightbox) 72%,transparent) 60%,transparent 82%),linear-gradient(to top right,var(--lightbox) 0%,color-mix(in srgb,var(--lightbox) 55%,transparent) 45%,transparent 75%)}.access-plate-photo{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:72% center}.access-plate-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(24px,4vw,56px);max-width:32rem}.access-title{margin:0;font-family:var(--display);font-size:var(--fs-hero);font-weight:600;line-height:1.04;letter-spacing:-.02em;text-wrap:balance;color:var(--lightbox-ink)}.access-tagline{max-width:34ch;margin:1.1rem 0 0;font-size:var(--fs-lg);line-height:1.5;color:var(--lightbox-muted)}.access-panel{display:flex;align-self:start;flex-direction:column;align-items:center;justify-content:flex-start;gap:1rem;min-width:0}.access-panel-card{width:min(440px,100%);padding:clamp(26px,2.6vw,36px);background:var(--plate);border:1px solid var(--edge);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.access-panel-head{margin-bottom:24px}.access-panel-title{margin:0;font-family:var(--display);font-size:1.75rem;font-weight:600;line-height:1.1;letter-spacing:-.015em;text-wrap:balance;color:var(--ink)}.access-panel-sub{max-width:36ch;margin:10px 0 0;font-size:var(--fs-base);line-height:1.5;color:var(--muted)}.access-notice,.access-form-notice{display:flex;align-items:flex-start;gap:.5rem;margin:0;padding:.7rem .9rem;border-radius:var(--radius-md);background:var(--tint-sky-bg);color:var(--tint-sky-fg);font-size:var(--fs-sm);line-height:1.45}.access-notice{width:min(440px,100%)}.access-form-notice{margin-bottom:18px}.access-notice svg,.access-form-notice svg{flex:none;margin-top:1px}.access .segmented{display:grid;grid-template-columns:1fr 1fr;gap:3px;padding:4px;margin-bottom:22px;border-radius:var(--radius-pill);background:var(--plane);border:1px solid var(--edge)}.access .segmented button{min-width:0;min-height:44px;padding:0 1rem;border-radius:var(--radius-pill);background:transparent;color:var(--muted);font-size:var(--fs-base);font-weight:700;white-space:nowrap;transition:background-color var(--motion-hover) var(--ease-out),color var(--motion-hover) var(--ease-out)}.access .segmented button:hover{color:var(--ink)}.access .segmented button[aria-selected=true]{background:var(--cta);color:var(--cta-ink)}.access .segmented button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.access .field{gap:7px;margin-bottom:15px}.access .field label{font-size:var(--fs-sm);font-weight:600;color:var(--ink)}.access .input{min-height:48px;padding-inline:14px;border:0;border-radius:var(--radius-md);background:var(--plane);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--control-edge) 34%,transparent)}.access .input::placeholder{color:color-mix(in srgb,var(--muted) 70%,transparent)}.access .input:focus{box-shadow:inset 0 0 0 2px var(--focus-ring)}.access .input:focus-visible{outline-color:var(--focus-ring)}.access .input[aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--danger)}.access .field-error{display:flex;align-items:flex-start;gap:.45rem;margin-top:7px;padding:.55rem .75rem;border-radius:var(--radius-md);background:var(--danger-bg);color:var(--danger-text);font-size:var(--fs-sm);line-height:1.4}.access .field-error svg{flex:none;margin-top:1px}.access .button.block{min-height:48px;border-radius:var(--radius-md);box-shadow:none}.access-forgot{display:inline-flex;align-items:center;min-height:var(--tap);margin:6px 0 0;padding:7px 0;color:var(--muted);font-size:var(--fs-sm)}.access-forgot:hover{color:var(--ink);background:transparent}.access-panel-foot{margin:16px 0 0;font-size:var(--fs-xs);line-height:1.45;color:var(--muted);text-align:start}.access-session-state{display:grid;gap:12px}.access-session-state .lede,.access-session-email{margin:0}.access-session-state .lede{color:var(--ink)}.access-session-email{overflow-wrap:break-word;hyphens:none;color:var(--muted);font-size:var(--fs-sm);line-height:1.45}.access-session-state .button{margin-top:8px}@media(max-width:1023px){.access-hero{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-6);min-height:0}.access-plate{min-height:0;aspect-ratio:4 / 3;max-height:22rem}.access-plate-photo{object-position:78% center}.access-title{font-size:var(--fs-display)}.access-panel-card{width:100%;max-width:30rem;margin-inline:auto}.access-notice{width:100%;max-width:30rem}}@media(max-width:390px){.access-panel-card{padding:1.4rem 1.1rem}.access .segmented button{padding-inline:.5rem;font-size:var(--fs-sm);white-space:normal;line-height:1.15}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.access-plate-photo{will-change:transform;animation:access-plate-drift linear both;animation-timeline:view();animation-range:exit 0% exit 100%}}}@keyframes access-plate-drift{0%{transform:scale(1.04) translateY(0)}to{transform:scale(1.12) translateY(6%)}}@media(prefers-reduced-motion:reduce){.access .segmented button{transition:none}}.access-section{width:min(100%,var(--content-max));margin-inline:auto;padding:clamp(2rem,5vw,4rem) var(--gutter)}.access-section>h2,.access-faq-copy>h2{margin:0;font-family:var(--display);font-size:var(--fs-display);font-weight:600;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}.access-section-sub{max-width:46ch;margin:1rem 0 0;font-size:var(--fs-lg);line-height:1.55;color:var(--muted)}.access-chapters-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-10);margin-top:var(--sp-8)}.access-chapters-plate{position:sticky;top:calc(4rem + var(--sp-8));height:min(64dvh,540px);border-radius:var(--radius-xl);border:1px solid var(--edge);background:var(--plane);overflow:hidden}.access-chapter-art{position:absolute;inset:10%;width:80%;height:80%;object-fit:contain;opacity:0;transform:scale(calc(.97 * var(--chapter-art-scale, 1)));transition:opacity .42s var(--ease-out),transform .42s var(--ease-out)}.access-chapter-art.is-active{opacity:1;transform:scale(var(--chapter-art-scale, 1))}.access-chapter-art[src*="/artwork/access/measuring"],.access-chapter-art-inline[src*="/artwork/access/measuring"]{--chapter-art-scale: .84}.access-chapter{min-height:62dvh;display:flex;flex-direction:column;justify-content:center}.access-chapter-art-inline{display:none}.access-chapter-title{margin:0;font-family:var(--display);font-size:var(--fs-2xl);font-weight:600;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}.access-chapter-body{max-width:46ch;margin:var(--sp-3) 0 0;font-size:var(--fs-md);line-height:1.6;color:var(--muted)}.access-chapter-fact{margin:var(--sp-4) 0 0;font-size:var(--fs-sm);line-height:1.5;color:var(--ink)}.access-bento{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-4)}.access-bento-cell{min-width:0;padding:var(--sp-8);border:1px solid var(--edge);border-radius:var(--radius-xl);background:var(--plate);box-shadow:var(--elev-1);overflow:hidden}.access-bento-a{grid-column:span 7;grid-row:span 2;display:flex;flex-direction:column}.access-bento-b,.access-bento-c{grid-column:span 5}.access-bento-cell>h3{margin:0;font-family:var(--display);font-size:var(--fs-2xl);font-weight:600;line-height:1.15;letter-spacing:-.015em;color:var(--ink)}.access-bento-cell>p:not(.access-bento-ratings){max-width:46ch;margin:var(--sp-3) 0 0;font-size:var(--fs-md);line-height:1.6;color:var(--muted)}.access-bento-ratings{margin:auto 0 0;padding-top:var(--sp-8);font-family:var(--display);font-size:var(--fs-3xl);font-weight:600;line-height:1.25;letter-spacing:-.02em}.access-bento-ratings .is-again{color:var(--rating-again)}.access-bento-ratings .is-hard{color:var(--rating-hard)}.access-bento-ratings .is-good{color:var(--rating-good)}.access-bento-ratings .is-easy{color:var(--rating-easy)}@media(min-width:900px){.access-bento-ratings{display:grid;font-size:clamp(2.75rem,4.2vw,4rem);line-height:1.05}}.access-bento-b{padding-top:0;padding-inline:0}.access-bento-photo{display:block;width:100%;height:clamp(9rem,24vw,14rem);object-fit:cover}.access-bento-photo[src*="/photos/access-study-cards"]{height:auto;aspect-ratio:1600 / 667;min-height:9rem;object-position:center top}@media(min-width:900px){.access-bento-photo[src*="/photos/access-study-cards"]{min-height:14rem}}html[data-theme=dark] .access-bento-photo{filter:brightness(.85) saturate(.9)}.access-bento-b>h3,.access-bento-b>p{padding-inline:var(--sp-8)}.access-bento-b>h3{margin-top:var(--sp-6)}.access-bento-b>p:last-child{margin-bottom:var(--sp-8)}.access-bento-keys{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-5)}.access-key-pair{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--fs-sm)}.access-closing{max-width:40rem;text-align:center}.access-closing .access-section-sub{margin-inline:auto}.access-closing-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3);margin-top:var(--sp-6)}@media(max-width:1023px){.access-chapters-grid{display:block}.access-chapters-plate{display:none}.access-chapter{min-height:0;padding-block:var(--sp-8)}.access-chapter-art-inline{display:block;width:auto;max-width:100%;max-height:12rem;margin-bottom:var(--sp-5);object-fit:contain;object-position:left center;transform:scale(var(--chapter-art-scale, 1))}}@media(max-width:899px){.access-bento{grid-template-columns:1fr}.access-bento-a,.access-bento-b,.access-bento-c{grid-column:auto;grid-row:auto}}@media(prefers-reduced-motion:reduce){.access-chapter-art{transition:none}}.access-bar-nav{display:none}@media(min-width:1024px){.access-bar-nav{display:flex;align-items:center;gap:var(--sp-5)}}.access-bar-nav a{padding:6px 2px;border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-sm);text-decoration:none}.access-bar-nav a:hover{color:var(--ink)}.access-bar-nav a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.access-landing .access-section[id]{scroll-margin-top:calc(4rem + var(--sp-4))}.access-landing .access-section h2[id]{scroll-margin-top:calc(4rem + var(--sp-8))}.access-landing .access-section-sub{max-width:60ch}.access-landing h1,.access-landing h2,.access-landing h3,.access-landing p,.access-landing summary,.access-landing dd,.access-landing dt{overflow-wrap:break-word;hyphens:auto}.access-landing .access-bento{margin-top:var(--sp-8)}.access-mocks{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:var(--sp-10);align-items:center}.access-mocks-photo{display:block;width:100%;height:auto;aspect-ratio:5 / 4;object-fit:cover;border:1px solid var(--edge);border-radius:var(--radius-xl)}html[data-theme=dark] .access-mocks-photo{filter:brightness(.85) saturate(.9)}.access-mocks-copy>h2{margin:0;font-family:var(--display);font-size:var(--fs-display);font-weight:600;line-height:1.08;letter-spacing:-.02em;text-wrap:balance;color:var(--ink)}.access-mocks-copy>.access-section-sub{max-width:60ch}.access-mocks-dl{margin:var(--sp-6) 0 0}.access-mocks-row{padding-block:var(--sp-4)}.access-mocks-row+.access-mocks-row{border-top:1px solid var(--hair)}.access-mocks-row dt{font-size:var(--fs-md);font-weight:600;color:var(--ink)}.access-mocks-row dd{max-width:46ch;margin:4px 0 0;font-size:var(--fs-md);line-height:1.55;color:var(--muted)}.access-trust{text-align:center}.access-trust .access-trust-h{max-width:32ch;margin-inline:auto;font-size:var(--fs-2xl);line-height:1.3}.access-trust-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3) var(--sp-6);margin:var(--sp-6) 0 0;padding:0;list-style:none}.access-trust-list li{font-size:var(--fs-sm);color:var(--ink)}.access-faq-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-6);align-items:start}.access-faq-list{margin-top:var(--sp-6)}.access-faq-aside{display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-4)}.access-tryone{display:grid;gap:var(--sp-4);padding:var(--sp-5);border:1px solid var(--hair);border-radius:var(--radius-lg);background:var(--raised);text-align:start}.access-tryone-title{margin:0;font-family:var(--display);font-size:var(--fs-xl);font-weight:600;color:var(--ink)}.access-tryone-stem{margin:0;font-size:var(--fs-md);line-height:1.55;color:var(--ink)}.access-tryone .choice{font-size:var(--fs-md)}.access-tryone .choice.is-correct{border-color:var(--tile-mint-fg)}.access-tryone .choice.is-wrong{border-color:var(--tile-rose-fg)}.access-tryone-explain{margin:0;padding-top:var(--sp-4);border-top:1px solid var(--hair);font-size:var(--fs-md);line-height:1.6;color:var(--muted)}.access-tryone-ratings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-2);margin:0}.access-tryone-ratings .fsrs-btn{display:grid;place-items:center;min-height:3rem;padding:8px 6px;border:1px solid var(--hair);border-radius:10px;font-size:var(--fs-sm);font-weight:600;pointer-events:none}.access-tryone-ratings .is-again{color:var(--rating-again);border-color:color-mix(in srgb,var(--rating-again) 58%,var(--edge))}.access-tryone-ratings .is-hard{color:var(--rating-hard);border-color:color-mix(in srgb,var(--rating-hard) 58%,var(--edge))}.access-tryone-ratings .is-good{color:var(--rating-good);border-color:color-mix(in srgb,var(--rating-good) 58%,var(--edge))}.access-tryone-ratings .is-easy{color:var(--rating-easy);border-color:color-mix(in srgb,var(--rating-easy) 58%,var(--edge))}.access-tryone-caption{margin:0;font-size:var(--fs-sm);line-height:1.5;color:var(--muted)}.access-tryone-reset{justify-self:start}.access-faq-cta{margin:0;font-size:var(--fs-md);color:var(--muted)}.access-faq-cta-link{padding:0;border:0;background:none;font:inherit;color:var(--accent-text);cursor:pointer;text-decoration:underline;text-underline-offset:3px}.access-faq-cta-link:hover{text-decoration-thickness:2px}.access-faq-item+.access-faq-item{border-top:1px solid var(--hair)}.access-faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);min-height:3.5rem;padding-block:var(--sp-3);cursor:pointer;list-style:none;border-radius:var(--radius-sm);font-size:var(--fs-md);font-weight:600;color:var(--ink)}.access-faq-item summary::-webkit-details-marker{display:none}.access-faq-item summary svg{width:18px;height:18px;flex:none;color:var(--muted);transition:transform .2s var(--ease-out)}.access-faq-item[open] summary svg{transform:rotate(180deg)}.access-faq-item summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.access-faq-item>p{max-width:60ch;margin:0;padding:0 0 var(--sp-5);font-size:var(--fs-md);line-height:1.6;color:var(--muted)}@media(max-width:899px){.access-mocks{display:flex;flex-direction:column;gap:var(--sp-6);align-items:stretch}.access-mocks-photo{aspect-ratio:16 / 10}}@media(max-width:640px){.access-faq-grid{grid-template-columns:minmax(0,1fr);gap:var(--sp-5)}}.access .button{transition:transform .12s var(--ease-out)}.access .button:active{transform:scale(.98)}@media(prefers-reduced-motion:no-preference){html.access-landing{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){.access-faq-item summary svg{transition:none}.access .button{transition:none}.access .button:active{transform:none}}.access-stage{position:relative;isolation:isolate;color:var(--ink);background:radial-gradient(52% 64% at 38% 42%,rgb(111 168 255 / .11),transparent 72%),radial-gradient(40% 50% at 88% 70%,rgb(111 168 255 / .06),transparent 70%),var(--lightbox);border-bottom:1px solid rgb(255 255 255 / .06)}.access-stage .access-hero{padding-block:clamp(2rem,5vw,4.5rem)}.access-stage .access-plate{border:0;border-radius:0;background:transparent;overflow:visible}.access-stage .access-plate-photo{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 30%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 72%,transparent 92%);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent 0%,#000 30%,#000 88%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 14%,#000 72%,transparent 92%);mask-composite:intersect}.access-stage .access-plate:before{background:linear-gradient(to top,var(--lightbox) 0%,color-mix(in srgb,var(--lightbox) 80%,transparent) 28%,transparent 60%),linear-gradient(to right,color-mix(in srgb,var(--lightbox) 88%,transparent) 0%,transparent 52%)}.access-stage .access-plate-copy{max-width:34rem;padding-inline:0}.access-eyebrow{display:inline-flex;align-items:center;gap:.6rem;margin:0 0 1.1rem;color:#a9c7ff;font-size:var(--fs-xs);font-weight:700;letter-spacing:.16em;text-transform:uppercase}.access-eyebrow:before{content:"";width:1.75rem;height:1px;background:currentColor;opacity:.7}.access-proof{display:grid;max-width:27rem;gap:.7rem;margin:1.75rem 0 0;padding:1.4rem 0 0;list-style:none;border-top:1px solid rgb(255 255 255 / .1)}.access-proof li{display:flex;align-items:center;gap:.8rem;color:var(--lightbox-ink);font-size:var(--fs-base);line-height:1.45}.access-proof svg{flex:none;box-sizing:content-box;padding:7px;border-radius:var(--radius-pill);background:#6fa8ff1f;color:#a9c7ff}.access-stage .access-panel-card{position:relative;width:min(460px,100%);background:color-mix(in srgb,var(--plate) 74%,transparent);-webkit-backdrop-filter:blur(22px) saturate(140%);backdrop-filter:blur(22px) saturate(140%);border:1px solid rgb(255 255 255 / .09);border-radius:var(--radius-xl);box-shadow:inset 0 1px #ffffff0f,0 40px 90px -30px #000c,0 0 0 1px #00000040}.access-stage .access-panel-card:before{content:"";position:absolute;inset:-1px 12% auto;height:1px;background:linear-gradient(90deg,transparent,rgb(169 199 255 / .7),transparent);pointer-events:none}.access-panel-eyebrow{margin:0 0 .6rem;color:var(--accent-text);font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.access-stage .access-panel-title{font-size:2rem}.access-stage .button.block[type=submit]{background:linear-gradient(180deg,color-mix(in srgb,var(--cta) 82%,#fff) 0%,var(--cta) 100%);box-shadow:inset 0 1px #fff3,0 14px 30px -14px color-mix(in srgb,var(--cta) 85%,transparent)}.access-stage .button.block[type=submit]:hover:not(:disabled){background:linear-gradient(180deg,color-mix(in srgb,var(--cta) 90%,#fff) 0%,var(--cta-hover) 100%)}.access-stage .access-notice{background:color-mix(in srgb,var(--lightbox-ink) 7%,transparent);color:var(--lightbox-ink)}@media(max-width:1023px){.access-stage .access-hero{padding-block:1.25rem 2.5rem}.access-stage .access-plate-photo{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 35%,#000 92%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 70%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 35%,#000 92%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 10%,#000 70%,transparent 100%)}.access-proof{display:none}}@media(max-width:640px){.access-stage .access-plate{display:flex;flex-direction:column;aspect-ratio:auto;max-height:none}.access-stage .access-plate:before{display:none}.access-stage .access-plate-photo{position:relative;inset:auto;height:11.5rem;object-position:72% 32%}.access-stage .access-plate-copy{position:relative;padding:.25rem 0 0}.access-eyebrow{margin-bottom:.7rem}}.access-input-wrap{position:relative;display:block}.access-input-wrap .input{width:100%;padding-inline-start:44px}.access-input-wrap.has-action .input{padding-inline-end:50px}.access-input-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:var(--muted);pointer-events:none;transition:color var(--motion-hover) var(--ease-out)}.access-input-wrap:focus-within .access-input-icon{color:var(--accent-text)}.access-input-action{position:absolute;top:50%;right:4px;transform:translateY(-50%);display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--muted);cursor:pointer}.access-input-action:hover{color:var(--ink);background:color-mix(in srgb,var(--ink) 8%,transparent)}.access-input-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:-2px}.access-input-code{font-variant-numeric:tabular-nums;letter-spacing:.06em}.access-strength{display:flex;align-items:center;gap:.65rem;margin-top:8px;color:var(--muted);font-size:var(--fs-xs)}.access-strength-bars{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;flex:none;width:5.5rem}.access-strength-bars span{height:4px;border-radius:var(--radius-pill);background:var(--plane);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--control-edge) 30%,transparent);transition:background-color var(--motion-hover) var(--ease-out)}.access-strength[data-level="1"] .access-strength-bars span:nth-child(-n+1),.access-strength[data-level="2"] .access-strength-bars span:nth-child(-n+2),.access-strength[data-level="3"] .access-strength-bars span{background:var(--retained);box-shadow:none}.access-strength[data-level="1"] .access-strength-bars span:nth-child(-n+1){background:var(--flag-dot)}.access .segmented{position:relative}.access .segmented:before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 5.5px);border-radius:var(--radius-pill);background:var(--cta);box-shadow:0 6px 16px -8px color-mix(in srgb,var(--cta) 90%,transparent);transition:transform .22s var(--ease-out)}.access .segmented:has(#tab-signup[aria-selected=true]):before{transform:translate(calc(100% + 3px))}.access .segmented button{position:relative;z-index:1}.access .segmented button[aria-selected=true]{background:transparent;color:var(--cta-ink)}@media(prefers-reduced-motion:reduce){.access .segmented:before{transition:none}}.access-panel-foot{display:flex;align-items:flex-start;gap:.45rem}.access-panel-foot-icon{flex:none;margin-top:1px;color:var(--retained-text)}.access-notice-space{width:min(460px,100%)}.access-notice-space.is-pending{visibility:hidden}.app-root{min-height:100dvh}.screen{display:none;min-height:100dvh}.screen.is-active{display:block}.recovery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.35rem}.shell{min-height:100dvh;display:flex;flex-direction:column}.shell-bar{position:sticky;top:0;z-index:var(--z-rail);background:var(--header-bg);border-block-end:1px solid var(--edge)}.shell-bar-inner{width:min(100%,var(--content-max));min-height:var(--header-h);margin-inline:auto;padding-inline:var(--gutter);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(1rem,2vw,2.25rem)}.brand-btn{flex:1 0 max-content;min-width:0;min-height:3.25rem;display:inline-flex;align-items:center;justify-self:start;gap:.65rem;padding:.35rem .5rem .35rem 0;color:var(--header-ink);text-align:start;text-decoration:none;border-radius:var(--radius-sm)}.brand-btn .brand-mark{width:2rem;height:2rem;flex:0 0 auto;object-fit:contain}.brand-copy{min-width:0;display:grid}.identity-word{font-family:var(--ui);font-size:1.375rem;font-weight:600;letter-spacing:-.01em;line-height:1.1;color:var(--header-ink)}.nav{display:flex;align-items:center;justify-content:center;justify-self:center;gap:1.75rem;min-width:0}.nav-btn{display:inline-flex;align-items:center;justify-content:center;min-height:2.75rem;color:var(--header-muted);border-radius:var(--radius-sm);font-size:1rem;font-weight:500;letter-spacing:.01em;text-decoration:none;transition:color var(--motion-fast) var(--ease-out)}.nav-btn:hover{color:var(--header-ink)}.nav-btn>span{display:inline-block;padding-block-end:.3rem;border-block-end:2px solid transparent}.nav-btn[aria-current=page]{color:var(--header-ink);font-weight:600}.nav-btn[aria-current=page]>span{border-block-end-color:var(--cta)}html[data-theme=dark] .nav-btn[aria-current=page]>span{border-block-end-color:var(--accent-text)}.nav-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.shell-tools{display:flex;align-items:center;justify-content:flex-end;flex:1 0 max-content;gap:.55rem;min-width:0}.shell-search{display:flex;align-items:center;gap:.45rem;flex:0 1 auto;width:15rem;min-width:9rem;height:2.5rem;padding-inline:.85rem .45rem;border-radius:var(--radius-pill);background:var(--plane)}.shell-search:focus-within{outline:3px solid var(--focus-ring);outline-offset:3px}.shell-search-icon{color:var(--header-muted);flex:0 0 auto}.shell-search-input{flex:1 1 auto;min-width:0;min-height:2.25rem;padding:0;border:0;background:transparent;color:var(--header-ink);font-size:var(--fs-sm)}.shell-search-input::placeholder{color:var(--header-muted)}.shell-search-input:focus{outline:none}.shell-search-kbd,.kbd{padding:.15rem .45rem;border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--plate);color:var(--header-muted);font-size:var(--fs-xs);font-weight:600;line-height:1.3}.shell-search-btn{display:none;min-width:var(--tap);min-height:var(--tap);align-items:center;justify-content:center;color:var(--header-muted);border-radius:var(--radius-sm)}.shell-search-btn:hover{color:var(--header-ink);background:color-mix(in srgb,var(--ink) 7%,transparent)}.shell-status{display:flex;align-items:center;margin:0;color:var(--header-muted);font-size:var(--fs-xs);font-weight:500;white-space:nowrap}.shell-status-dot{width:.45rem;height:.45rem;border-radius:50%;background:var(--retained);flex:0 0 auto}.shell-status-dot.is-syncing{background:var(--brand-400);animation:sync-pulse 1s ease-in-out infinite}.shell-status-dot.is-failing{background:var(--danger-text)}@keyframes sync-pulse{0%,to{opacity:.4}50%{opacity:1}}.avatar-anchor{position:relative}.avatar-trigger{min-height:var(--tap);display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .15rem .25rem .25rem;border-radius:var(--radius-pill);color:var(--header-muted);transition:background-color var(--motion-fast) var(--ease-out)}.avatar-trigger:hover,.avatar-trigger[aria-expanded=true]{background:color-mix(in srgb,var(--ink) 7%,transparent);color:var(--header-ink)}.avatar-initials{display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--cta);color:var(--cta-ink);font-size:var(--fs-xs);font-weight:700;letter-spacing:.02em}.avatar-menu{position:absolute;z-index:var(--z-dock);inset-inline-end:0;inset-block-start:calc(100% + .55rem);width:min(17.5rem,calc(100vw - 2rem));max-width:calc(100vw - 2rem);padding:.4rem;color:var(--ink);background:var(--raised);border:1px solid var(--edge);border-radius:var(--radius-md);box-shadow:var(--elev-2)}.avatar-menu-head{display:grid;gap:.1rem;padding:.7rem .8rem .6rem;border-block-end:1px solid var(--edge);margin-bottom:.3rem}.avatar-menu-name{font-size:var(--fs-sm);font-weight:700;color:var(--ink);overflow-wrap:break-word;hyphens:auto}.avatar-menu-email{font-size:var(--fs-xs);color:var(--muted);overflow-wrap:break-word;hyphens:auto}.avatar-menu-item{display:flex;align-items:center;gap:.6rem;width:100%;min-height:var(--tap);padding:.5rem .8rem;border-radius:var(--radius-sm);color:var(--ink);font-size:var(--fs-sm);font-weight:650;text-align:start;text-decoration:none}.avatar-menu-item:hover{background:var(--selected)}.avatar-menu-item[aria-current=page]{color:var(--accent-text)}.shell-bar .theme-toggle:hover{color:var(--header-ink);background:color-mix(in srgb,var(--header-ink) 10%,transparent)}.theme-toggle{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-pill);color:var(--header-muted);transition:color var(--motion-fast) var(--ease-out)}.theme-toggle:hover{color:var(--header-ink)}.workspace{flex:1 0 auto;width:min(100%,var(--content-max));min-width:0;margin-inline:auto;padding:0 var(--gutter) 6rem}.workspace>.screen{min-height:0}@media(min-width:901px){.shell[data-current=today] .workspace{padding-bottom:0}}.mobile-nav{display:none}@media(max-width:1100px){.shell-bar-inner{gap:.75rem}.nav{gap:1.1rem}}@media(max-width:1149px){.shell-search{display:none}.shell-search-btn{display:inline-flex}}@media(min-width:1150px){.shell-search-btn{display:none}}@media(max-width:900px){.shell-bar{position:static}.shell-bar-inner{min-height:auto;padding:.85rem 1rem .75rem;display:flex;flex-wrap:wrap;gap:.65rem .8rem}.brand-btn{flex:1 1 auto;min-height:2.8rem}.nav{display:none}.shell-tools{width:auto;margin-inline-start:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.shell-tools>.theme-toggle{display:none}.workspace{--workspace-top: .85rem;width:100%;padding:var(--workspace-top) 1rem calc(var(--dock-h) + 2.15rem + env(safe-area-inset-bottom))}.mobile-nav{position:fixed;z-index:var(--z-dock);inset-inline:0;bottom:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));min-height:calc(var(--dock-h) + env(safe-area-inset-bottom,0px));padding:.3rem .35rem max(.35rem,env(safe-area-inset-bottom));background:var(--header-bg);border-block-start:1px solid color-mix(in srgb,var(--header-ink) 12%,transparent)}.mobile-nav .nav-btn{min-height:var(--tap);min-width:0;flex-direction:column;gap:.15rem;padding:.35rem .05rem;border-radius:var(--radius-sm);font-size:var(--fs-xs);font-weight:650;letter-spacing:0;text-align:center}.mobile-nav .nav-btn>span{display:block;max-width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:min(var(--fs-xs),3.4vw)}.mobile-nav .nav-btn[aria-current=page]{background:color-mix(in srgb,var(--header-ink) 16%,transparent);color:var(--header-ink)}.mobile-nav .nav-icon{display:block}}@media(max-width:600px){body{min-width:0}.shell-bar-inner{min-height:3.75rem;padding:.45rem .75rem;display:flex;flex-wrap:wrap;gap:.35rem .8rem}.brand-btn{min-width:0;min-height:2.75rem;gap:.45rem;padding:.25rem 0}.brand-btn .brand-mark{width:1.7rem;height:1.7rem}.identity-word{font-size:1.1rem}.shell-tools{width:auto;min-width:0;margin-inline-start:auto;display:flex;flex-wrap:wrap;align-items:center;gap:.05rem}.avatar-menu{position:fixed;inset-block-start:var(--header-h);inset-inline:.75rem;width:auto;max-width:none}}@media(max-width:430px){.shell-bar-inner{min-height:3.75rem;padding:.45rem .75rem;gap:.35rem}.brand-btn{min-height:2.75rem;gap:.375rem}.brand-btn .brand-mark{width:1.5rem;height:1.5rem}.identity-word{font-size:.95rem}}@media(max-width:900px)and (max-height:560px){.workspace{padding-bottom:1.5rem}.mobile-nav{position:static}}@media print{.shell-bar,.mobile-nav,.toast,button{display:none!important}html,body{background:#fff!important;color:#000!important}.workspace{width:100%;padding:0}}.app-footer{width:min(100%,var(--content-max));margin-inline:auto;margin-block-start:2rem;padding:3rem var(--gutter);border-block-start:1px solid var(--edge)}.app-footer-inner{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem 1.6rem}.app-footer-inner>*{min-width:0}.app-footer-brand{display:inline-flex;align-items:center;gap:.5rem;min-width:0}.app-footer-brand .app-footer-mark{width:1.75rem;height:1.75rem;flex-shrink:0}.app-footer-name{min-width:0;overflow-wrap:break-word;hyphens:auto;color:var(--ink);font-weight:600;letter-spacing:-.01em}.app-footer-tagline{margin:0;overflow-wrap:break-word;hyphens:auto;color:var(--muted);font-size:var(--fs-base)}.app-footer-links{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-inline-start:auto}.app-footer-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:var(--fs-base);font-weight:500;text-decoration:none;cursor:pointer}.app-footer-link:hover{color:var(--ink)}.app-footer-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:var(--radius-sm)}@media(max-width:900px){.app-footer{padding-block-end:calc(var(--dock-h) + 1.5rem + env(safe-area-inset-bottom))}}@media(max-width:600px){.app-footer{padding-inline:1rem}}.settings .tile-sky{background:var(--tile-sky);color:var(--tile-sky-fg)}.settings .tile-mint{background:var(--tile-mint);color:var(--tile-mint-fg)}.settings .tile-rose{background:var(--tile-rose);color:var(--tile-rose-fg)}.settings .tile-neutral{background:var(--tile-neutral);color:var(--tile-neutral-fg)}.settings .shell-status{margin:0;color:var(--muted);font-size:var(--fs-sm);white-space:normal;overflow-wrap:break-word;hyphens:auto}.settings .shell-status .shell-status-dot{margin-inline-end:.45rem}.settings-switch{appearance:none;flex:none;position:relative;width:44px;height:24px;margin:0;padding:0;border:0;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--muted) 30%,var(--plane));cursor:pointer;transition:background-color var(--motion-hover) var(--ease-out)}.settings-switch:before{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--plate);box-shadow:0 1px 3px color-mix(in srgb,var(--ink) 18%,transparent);transition:transform var(--motion-hover) var(--ease-out)}.settings-switch:checked{background:var(--cta)}.settings-switch:checked:before{transform:translate(20px)}html[data-theme=dark] .settings-switch{background:var(--plane);box-shadow:inset 0 0 0 1px var(--control-edge)}html[data-theme=dark] .settings-switch:checked{background:var(--cta);box-shadow:none}html[data-theme=dark] .settings-switch:before{background:var(--ink)}.settings-switch:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.settings .vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.button.quiet.button-danger-text{color:var(--danger-text)}.button.quiet.button-danger-text:hover{background:color-mix(in srgb,var(--danger) 12%,transparent)}.data-btn{min-width:0;min-height:var(--tap);padding-inline:var(--sp-4);border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:var(--fs-sm);font-weight:700;text-align:start;overflow-wrap:break-word;hyphens:auto}.data-btn:hover{background:var(--selected)}.data-memory{display:grid;gap:0;padding:0;background:transparent}.settings .whisper{font-family:var(--ui);font-style:normal}.memory-note{margin:var(--sp-1) 0 var(--sp-3);max-width:60ch;color:var(--muted);font-size:var(--fs-base);line-height:1.45}.memory-steps-input{width:auto;min-width:min(12rem,100%);min-height:48px;border-radius:var(--radius-md);background:var(--plane)}.memory-steps-input[aria-invalid=true]{border-color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.memory-forecast,.memory-retention{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-2);padding-block:var(--sp-3);border-top:1px solid var(--hair)}.memory-forecast .memory-note,.memory-retention .memory-note{margin:0}.memory-loading{padding-block:var(--sp-3);border-top:1px solid var(--hair)}.memory-loading-bars{height:40px;margin:var(--sp-2) 0}.memory-loading-line{display:block;width:100%}.memory-forecast-bars{display:flex;align-items:stretch;gap:2px;height:40px;margin:0;padding:0;list-style:none}.memory-forecast-bars li{flex:0 1 8px;min-width:2px;display:flex;align-items:flex-end;border-radius:2px;background:var(--plane);overflow:hidden}.memory-forecast-fill{display:block;width:100%;min-height:0;background:var(--cta)}.memory-forecast-bars li.is-break .memory-forecast-fill{background:var(--muted);opacity:.35}.memory-forecast-bars li.is-exam .memory-forecast-fill{box-shadow:inset 0 0 0 1px var(--ink)}.memory-forecast-axis{margin:0;color:var(--muted);font-size:var(--fs-sm)}.memory-retention-table{width:100%;max-width:22rem;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-sm)}.memory-retention-table th,.memory-retention-table td{padding:.3rem .75rem .3rem 0;overflow-wrap:break-word;hyphens:auto;text-align:start;font-weight:400}.memory-retention-table thead th{color:var(--muted);font-size:var(--fs-xs);font-weight:600}.memory-retention-table tbody th{color:var(--muted)}.memory-retention-table td{color:var(--ink)}.memory-rating-tiles{display:flex;flex-wrap:wrap;gap:6px;margin:var(--sp-1) 0 0;padding:0;list-style:none}.memory-tile{display:grid;justify-items:center;gap:1px;min-width:3.6rem;padding:.45rem .7rem;border-radius:var(--radius-sm);background:var(--plane)}.memory-tile-count{color:var(--ink);font-size:var(--fs-base);font-weight:700}.memory-tile-label{color:var(--muted);font-size:var(--fs-xs)}@media(max-width:360px){.settings .select-box,.settings .select-box select.input,.memory-steps-input{min-width:0;width:100%;max-width:100%}}@media(prefers-reduced-motion:reduce){.settings-switch,.settings-switch:before{transition:none}}.stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}.muted{color:var(--muted)}.section-title{font-family:var(--display);font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.015em;margin-bottom:var(--sp-4)}.big-number{font-family:var(--display);font-size:var(--fs-4xl);font-weight:600;line-height:1.05;letter-spacing:-.02em}.row-list{display:grid;grid-template-columns:minmax(0,1fr)}.row-meta{font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums}.row-side{flex:none;display:flex;align-items:center;gap:var(--sp-3)}.bar{display:block;height:6px;border-radius:var(--radius-pill);background:var(--plane);overflow:hidden}.bar>span{display:block;height:100%;width:0%;border-radius:inherit;background:var(--accent)}.pill-note{font-size:var(--fs-sm);color:var(--muted);padding:.2rem .6rem;border-radius:var(--radius-pill);background:var(--plane);white-space:nowrap;hyphens:none}.text-link{color:var(--accent-text);font-weight:600;font-size:var(--fs-base);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.text-link:hover{text-decoration:underline}.note-line{margin-top:var(--sp-4);font-size:var(--fs-sm);color:var(--muted)}.back-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--muted);font-size:var(--fs-base);font-weight:600;text-decoration:none}.back-link svg{width:16px;height:16px}.back-link:hover{color:var(--ink);text-decoration:none}details.disclosure{border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--plate);box-shadow:var(--elev-1)}details.disclosure>summary{list-style:none;display:flex;align-items:center;gap:var(--sp-3);min-height:56px;padding:.9rem 1.15rem;cursor:pointer;font-weight:600;font-size:var(--fs-md);border-radius:var(--radius-lg)}details.disclosure>summary::-webkit-details-marker{display:none}details.disclosure>summary .caret{width:18px;height:18px;color:var(--muted);transition:transform .16s var(--ease-out)}details.disclosure[open]>summary .caret{transform:rotate(180deg)}details.disclosure>summary .caret{margin-inline-start:auto}.disclosure-body{padding:0 1.15rem 1.15rem}.fact-row{display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-8)}.fact{font-size:var(--fs-base);margin:0;min-width:0;overflow-wrap:break-word}.fact .fact-label{display:inline-block;color:var(--muted);margin-inline-end:4px}.fact strong{font-weight:700}.choice-cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-4)}.choice-card{display:block;text-align:start;background:var(--plate);border:1px solid var(--edge);border-radius:var(--radius-lg);box-shadow:var(--elev-1);padding:var(--sp-6);text-decoration:none;color:inherit}.choice-card:hover{text-decoration:none;border-color:var(--control-edge)}.choice-card h3{margin:0;font-family:var(--display);font-size:var(--fs-xl);font-weight:600;line-height:1.25}.choice-card p{margin:6px 0 0;color:var(--muted);font-size:var(--fs-base)}.choice-card .row-side{color:var(--muted)}.worth-card{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;padding:.9rem 1.15rem}.worth-card .text-link{margin-inline-start:0}.worth-card .today-insight-cta{margin-top:0}.stand-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto;column-gap:var(--sp-4);align-items:center;padding:.7rem 0;border-bottom:1px solid var(--hair)}.stand-row:last-child{border-bottom:0}.stand-name{grid-column:1;grid-row:1;font-weight:600;font-size:var(--fs-md);min-width:0;overflow-wrap:break-word;hyphens:auto}.stand-meta{grid-column:1;grid-row:2;font-size:var(--fs-sm);color:var(--muted);font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:break-word;hyphens:none}.stand-bar{grid-column:2;grid-row:1 / span 2;width:7rem}.stand-status{grid-column:3;grid-row:1 / span 2;min-width:0}.stand-row .stand-toggle{grid-column:1 / span 2;grid-row:1 / span 2;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-template-rows:auto auto;column-gap:var(--sp-4);align-items:center;text-align:start;color:inherit;font:inherit;padding:0;min-height:44px}.stand-row .stand-toggle .stand-name{grid-column:1;grid-row:1}.stand-row .stand-toggle .stand-meta{grid-column:1;grid-row:2}.stand-row .stand-toggle .stand-bar{grid-column:2;grid-row:1 / span 2}.stand-row .stand-toggle .stand-caret{grid-column:3;grid-row:1 / span 2;color:var(--muted)}@media(max-width:640px){.stand-row{grid-template-columns:minmax(0,1fr) minmax(0,45%);grid-template-areas:"name name" "meta status" "bar bar";row-gap:5px;column-gap:var(--sp-3)}.stand-row>.stand-name{grid-area:name}.stand-row>.stand-meta{grid-area:meta;align-self:center}.stand-row>.stand-status{grid-area:status}.stand-row>.stand-bar{grid-area:bar;width:100%;margin-top:4px}.stand-row:has(.stand-toggle){grid-template-columns:minmax(0,1fr);grid-template-areas:"toggle" "status"}.stand-row .stand-toggle{grid-column:1;grid-area:toggle;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name caret" "meta caret" "bar bar";row-gap:5px}.stand-row .stand-toggle .stand-name{grid-area:name}.stand-row .stand-toggle .stand-meta{grid-area:meta}.stand-row .stand-toggle .stand-bar{grid-area:bar;width:100%;margin-top:4px}.stand-row .stand-toggle .stand-caret{grid-area:caret}.stand-row:has(.stand-toggle) .stand-status{grid-area:status;justify-self:start}}.stand-card{display:grid;gap:var(--sp-4)}.stand-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-3)}@media(max-width:1023.98px)and (min-width:641px){.stand-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,12rem),1fr))}}@media(max-width:640px){.stand-tiles{grid-template-columns:minmax(0,1fr)}}.stand-tile{display:grid;grid-template-rows:subgrid;grid-row:span 4;gap:.55rem;min-width:0;padding:.9rem 1rem;border:1px solid var(--hair);border-radius:var(--radius-md);background:var(--paper)}.stand-tiles.is-weights .stand-tile{grid-row:span 3}.stand-tile-head{display:contents}.stand-tile-head .pill-note{align-self:flex-start;max-width:100%}@media(max-width:640px){.stand-tile-head .pill-note{white-space:normal;overflow-wrap:break-word}}.stand-tile .stand-name,.stand-tile .stand-meta,.stand-tile .stand-status{grid-column:auto;grid-row:auto}.stand-tile .stand-bar{grid-column:auto;grid-row:auto;width:100%}.stand-note{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.4;overflow-wrap:break-word;hyphens:none}.stand-trajectory{min-width:0;padding-top:var(--sp-4);border-top:1px solid var(--hair)}.stand-foot{margin-top:0}.card h2,.section-title{min-width:0;overflow-wrap:break-word;hyphens:auto}.stand-name-detail{display:block;font-size:var(--fs-sm);color:var(--muted);font-weight:400;overflow-wrap:break-word;hyphens:auto}.choice-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.choice-card-head h3{min-width:0;overflow-wrap:break-word;hyphens:auto}.choice-card-head .row-side{flex:none}.today-big{margin-top:12px}.today-big-sub{font-size:var(--fs-xl);letter-spacing:-.01em}.today-plan-meta{margin-top:8px;min-width:0;overflow-wrap:break-word;hyphens:auto}.today-plan-done{margin-top:6px}.today-prescription .bar{margin-top:16px}.today-prescription .next-actions{margin-top:20px}.home-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-6)}.prog-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-8)}.prog-side{display:grid;gap:var(--sp-6);align-content:start;min-width:0}@media(min-width:1100px){.prog-split{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--sp-8);align-items:start}}@media(max-width:640px){.choice-cards{grid-template-columns:minmax(0,1fr)}}@media(max-width:600px){.setting-row:has(.seg){grid-template-columns:minmax(0,1fr);align-items:start}.setting-row>.seg,.setting-row .setting-row-control:has(.seg){width:100%}.setting-row .seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,3rem),1fr));overflow-x:visible}.setting-row .seg .seg-item{min-width:0;min-height:44px;padding-inline:.3rem;white-space:normal;overflow-wrap:break-word;text-align:center}}.shell-bar.is-focus .shell-bar-inner{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr) minmax(0,auto);align-items:center;min-height:3.75rem;position:relative}.focus-exit{justify-self:start;display:inline-flex;align-items:center;gap:6px;min-width:0;overflow:hidden;white-space:nowrap;min-height:44px;padding:0 .7rem;border-radius:var(--radius-sm);color:var(--muted);font-weight:600;font-size:var(--fs-base)}.focus-exit:hover{color:var(--ink)}.focus-brand{gap:.55rem;color:var(--ink)}.focus-brand-label{color:var(--muted);font-size:var(--fs-xs);font-weight:700}.focus-brand:hover .focus-brand-label{color:var(--ink)}.focus-position{text-align:center;font-size:var(--fs-base);font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:640px){.shell-bar.is-focus .shell-bar-inner{display:flex;flex-wrap:wrap;align-items:center;row-gap:2px}.focus-exit{order:1;max-width:100%}.focus-brand{padding-inline:.5rem}.focus-brand .identity-word,.focus-brand .brand-mark{display:none}.focus-brand .focus-brand-label{color:var(--ink);font-size:var(--fs-sm)}.focus-actions,.focus-slot{order:2;margin-inline-start:auto;flex-wrap:wrap;justify-content:flex-end}.focus-position{order:3;flex-basis:100%;padding-bottom:.35rem}}.focus-position-sub{font-weight:400}.focus-slot{justify-self:end}.focus-actions{justify-self:end;display:flex;align-items:center;gap:2px;min-width:0}.focus-progress{height:3px;background:var(--plane)}.focus-progress>span{display:block;height:100%;width:0;background:var(--accent);transition:width .16s var(--ease-out)}@media(prefers-reduced-motion:reduce){.focus-progress>span{transition:none}}body:has(.shell[data-focus]) .mobile-nav{display:none}@media(max-width:900px){body:has(.shell[data-focus]) .workspace{padding-bottom:0}}.focus-body{width:min(100%,44rem);margin-inline:auto}.focus-body.wide{width:min(100%,var(--content-max))}.resume-banner{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-6);padding:.7rem 1rem;border-radius:var(--radius-md);background:var(--selected);font-size:var(--fs-base)}.resume-banner .text-link{margin-inline-start:auto}.topic-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}.topic-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:var(--sp-3);align-items:center;text-align:start;padding:var(--sp-3) var(--sp-4);border:1px solid var(--edge);border-radius:var(--radius-md);background:var(--plate);min-height:44px}.topic-card:hover{border-color:var(--control-edge)}.topic-card[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.topic-name{grid-column:2;grid-row:1;font-weight:600;font-size:var(--fs-md);min-width:0;overflow-wrap:break-word;hyphens:auto}.topic-note,.topic-meta{grid-column:2;grid-row:2;margin:2px 0 0;color:var(--muted);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;overflow-wrap:break-word;hyphens:auto}.topic-check{grid-column:1;grid-row:1 / -1;width:1.4rem;height:1.4rem;border-radius:var(--radius-pill);border:1.5px solid var(--control-edge);display:inline-grid;place-items:center;color:transparent}.topic-card[aria-pressed=true] .topic-check{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}.topic-check svg{width:14px;height:14px}.topic-acc{grid-column:3;grid-row:1 / -1;justify-self:end}.topic-name-detail{display:block;font-size:var(--fs-sm);color:var(--muted);font-weight:400;overflow-wrap:break-word;hyphens:auto}@media(max-width:480px){.topic-acc{grid-column:2;grid-row:3;justify-self:start;margin-top:4px}}.chip{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;hyphens:none;min-height:44px;min-width:44px;padding:.45rem 1rem;border:1px solid var(--edge);border-radius:var(--radius-pill);background:var(--plate);color:var(--ink);font-weight:600;font-size:var(--fs-base)}.chip:hover:not(:disabled){border-color:var(--control-edge)}.chip[aria-pressed=true]{background:var(--cta);border-color:var(--cta);color:var(--cta-ink)}.chip:disabled{opacity:.5}.stat-rows{display:grid;grid-template-columns:minmax(0,1fr)}.stat-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-4);padding:.6rem 0;border-bottom:1px solid var(--hair)}.stat-row:last-child{border-bottom:0}.stat-row .n{font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.stand-intro{margin:0;color:var(--muted);font-size:var(--fs-base);line-height:1.5}.stand-tiles.is-weights .stand-tile{gap:.2rem;background:transparent}.stand-weight{font-family:var(--display);font-size:var(--fs-2xl);font-weight:600;line-height:1.1;letter-spacing:-.015em;color:var(--ink)}.topic-recommended{display:inline-block;max-width:100%;background:var(--tint-sky-bg);color:var(--tint-sky-fg);font-weight:700;overflow-wrap:anywhere}.topic-card-all .topic-acc{min-width:0;max-width:100%}.topic-card-all .topic-recommended{display:inline-block}.topic-disclosure{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);width:100%;min-height:44px;padding:var(--sp-2) var(--sp-4);border:1px dashed var(--edge);border-radius:var(--radius-md);background:transparent;color:var(--ink);font:inherit;font-weight:600;text-align:start;cursor:pointer}.topic-disclosure:hover{border-color:var(--control-edge);background:var(--paper)}.topic-disclosure:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.topic-disclosure .caret{color:var(--muted);transition:transform var(--motion-fast) var(--ease-out)}.topic-disclosure .caret.is-open{transform:rotate(180deg)}.topic-disclosure-count{color:var(--muted);font-weight:500}.topic-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-2)}.topic-rows[hidden]{display:none}@media(prefers-reduced-motion:reduce){.topic-disclosure .caret{transition:none}}.today-briefing{width:min(100%,var(--content-max));margin-inline:0;padding-inline:0;padding-block-end:4rem;color:var(--ink)}.hub-deadline{position:relative;display:inline-flex;min-width:0}.hub-deadline-trigger{display:inline-flex;align-items:baseline;gap:.45rem;padding:0;border:0;background:none;color:var(--muted);font:inherit;font-size:var(--fs-xl);font-weight:500;cursor:pointer;text-align:start;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.2em;transition:color var(--motion-fast) var(--ease-out),text-decoration-color var(--motion-fast) var(--ease-out)}.hub-deadline-trigger:hover{color:var(--ink);text-decoration-color:currentColor}.hub-deadline.is-tile{display:block}.hub-deadline-trigger.exam-tile{display:grid;gap:.15rem;justify-items:start;width:100%;min-width:min(100%,11.5rem);padding:.8rem 1.15rem .9rem;border:1px solid var(--edge);border-radius:var(--radius-lg);background:var(--plate);box-shadow:var(--elev-1);color:var(--ink);font-size:var(--fs-base);text-decoration:none;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}.hub-deadline-trigger.exam-tile:hover{border-color:var(--control-edge);color:var(--ink)}.exam-tile-label{display:inline-flex;align-items:center;gap:.4rem;color:var(--muted);font-size:var(--fs-xs);font-weight:650}.exam-tile-date{font-family:var(--display);font-size:var(--fs-xl);font-weight:600;letter-spacing:-.01em}.exam-tile-sub{color:var(--muted);font-size:var(--fs-sm)}.exam-tile-cta{margin-top:.3rem;color:var(--accent-text);font-size:var(--fs-sm);font-weight:650}.hub-deadline.is-tile .today-deadline{left:auto;right:0}.hub-deadline.is-inline{display:block;flex-basis:100%}.hub-deadline-line{margin:0;font:inherit;color:var(--muted)}.hub-deadline-inline-btn{padding:.1em .3em;border:0;border-radius:var(--radius-sm);background:none;font:inherit;font-weight:600;color:var(--accent-text);cursor:pointer}.hub-deadline-inline-btn:hover,.hub-deadline-inline-btn:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,transparent)}.today-deadline{position:absolute;z-index:30;top:calc(100% + .6rem);left:0;width:22.5rem;max-width:calc(100vw - 2 * var(--gutter));padding:var(--sp-5);background:var(--plate);border:1px solid var(--edge);border-radius:var(--radius-lg);box-shadow:var(--elev-2);outline:none}.today-deadline-meta p{margin:0}.today-deadline-date{color:var(--ink);font-weight:600;font-size:var(--fs-base)}.today-deadline-days,.today-deadline-note{margin:.2rem 0 0;color:var(--muted);font-size:var(--fs-sm)}.today-deadline-shared,.today-deadline-warning{margin:0;color:var(--muted);font-size:var(--fs-sm)}.today-deadline-shared .today-text-action{min-height:0;padding:0;font-size:var(--fs-sm)}.today-deadline-warning{margin-top:var(--sp-3);color:var(--ink)}.today-deadline-offer{display:grid;justify-items:start;gap:var(--sp-1);margin-top:var(--sp-3)}.today-deadline-offer .today-text-action{min-height:0;padding:0;font-size:var(--fs-sm)}.today-deadline-actions{display:flex;flex-wrap:wrap;align-items:baseline;gap:.1rem .9rem;margin-top:var(--sp-3)}.today-deadline-actions .today-text-action,.today-deadline-actions .today-break-toggle{min-height:0;padding:0;font-size:var(--fs-sm);font-weight:600}.today-schedule{display:grid;gap:var(--sp-4);margin-top:var(--sp-3);padding-top:var(--sp-4);border-top:1px solid var(--hair)}.today-schedule-date,.today-break-manager,.today-break-input{display:grid;gap:var(--sp-2)}.today-schedule-date{margin-top:var(--sp-3)}.today-break-input{grid-template-columns:1fr auto;align-items:end}.today-break-presets{display:flex;flex-wrap:wrap;gap:var(--sp-3)}.today-break-list{margin:0;padding:0;list-style:none}.today-break-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-4);border-top:1px solid var(--hair)}.today-break-list li>*{min-width:0}.today-text-action,.today-break-toggle{min-height:44px;padding:.55rem var(--sp-1);color:var(--accent-text);background:transparent;border:0;border-radius:var(--radius-sm);font-weight:600;text-align:start;cursor:pointer}.today-text-action:hover,.today-text-action:focus-visible,.today-break-toggle:hover,.today-break-toggle:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--accent) 10%,transparent)}.today-text-action:disabled{color:var(--muted)}.next-actions>a.today-text-action{display:inline-flex;align-items:center}.today-break-toggle{color:var(--muted)}.today-practice-message{margin:0 0 var(--sp-4);color:var(--danger)}.today-loading{display:grid;gap:var(--sp-3);padding-block:var(--sp-8)}.today-loading span{display:block;height:1rem;background:color-mix(in srgb,var(--ink) 8%,transparent)}.today-loading span:nth-child(1){width:52%}.today-loading span:nth-child(2){width:100%}.today-loading span:nth-child(3){width:68%}.today-empty{color:var(--muted);padding-block:var(--sp-6)}.today-prescription{container-type:inline-size;background:var(--plate);border:1px solid color-mix(in srgb,var(--ink) 10%,transparent);border-radius:var(--radius-lg);box-shadow:var(--elev-1);padding:clamp(1.5rem,2.4vw,2rem)}.today-rx{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-4) var(--sp-6);min-width:0}.today-rx-main,.today-rx-side{min-width:0}.today-rx-side{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--sp-3);align-content:center}.today-rx-side .next-actions{margin-top:0;min-width:0;max-width:100%}.today-rx-side .bar{margin-top:0}.today-rx-side .today-plan-done{margin:0}@media(min-width:900px){.today-rx{grid-template-columns:minmax(0,1fr) minmax(15rem,max-content);align-items:center}.today-rx-side{justify-items:end;padding-inline-start:clamp(1.5rem,2.5vw,2.25rem);border-inline-start:1px solid var(--hair)}.today-rx-side .bar{width:min(100%,16rem)}}.today-hero{margin:0}.today-hero-n{font-weight:500}.today-hero-sub{overflow-wrap:break-word;hyphens:auto}.today-prescription h2{margin:var(--sp-2) 0 0;font-family:var(--display);font-size:var(--fs-card-title);font-weight:500;letter-spacing:-.015em}.next-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3);margin-top:1.4rem}.today-start{min-height:56px;padding-inline:var(--sp-6);border-radius:var(--radius-btn);background:var(--cta);color:var(--cta-ink);font-size:var(--fs-lg);font-weight:700;gap:.55rem}.today-start:hover,.today-start:active{background:var(--cta-hover)}.today-start:disabled{opacity:.55}.next-adjust{min-height:3rem;padding-inline:1.1rem;gap:var(--sp-2)}.today-complete{display:grid;gap:.2rem}.today-complete-line{margin:0;color:var(--retained-text);font-weight:700}.today-complete-hint{margin:0;color:var(--muted);font-size:var(--fs-sm);line-height:1.5;overflow-wrap:break-word}.today-continuation{display:block;width:100%;margin-top:var(--sp-4);padding:.8rem 0 0;border:0;border-top:1px solid var(--hair);background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-base);font-weight:600;text-align:start;cursor:pointer}.today-continuation:hover{color:var(--ink)}.next-settings{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--acc-collapse) var(--acc-ease)}.next-settings.is-open{grid-template-rows:1fr;transition-duration:var(--acc-expand)}.next-settings-inner{min-height:0;overflow:hidden;visibility:hidden}.next-settings.is-open .next-settings-inner{visibility:visible}.next-restart{color:var(--muted)}.next-restart:hover{color:var(--danger-text)}.plan-settings{display:grid;gap:var(--sp-4);padding-top:var(--sp-4);margin-top:var(--sp-3);border-top:1px solid var(--hair)}.plan-settings>*{min-width:0}.plan-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2)}.plan-sentence-word,.plan-benefit{color:var(--muted)}.plan-sentence-word{min-width:0;overflow-wrap:break-word;hyphens:auto}.plan-benefit{overflow-wrap:break-word;hyphens:auto}.plan-chiprow{display:inline-flex;flex-wrap:wrap;vertical-align:middle;gap:var(--sp-1);min-width:0}.plan-chiprow button{min-width:44px;min-height:44px;padding-inline:.65rem;border:0;border-radius:var(--radius-sm);color:var(--muted);background:color-mix(in srgb,var(--paper) 76%,transparent);overflow-wrap:break-word;hyphens:none}.plan-chiprow button.is-selected{color:var(--accent-text);background:var(--paper);font-weight:780}.plan-custom-input{display:inline-block;width:5.5rem;max-width:min(5.5rem,100%);min-height:44px;vertical-align:middle;margin-inline:var(--sp-1)}.plan-readout{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--sp-4);min-width:0}.plan-readout-item{min-width:0}.plan-readout-label{margin:0;color:var(--muted);font-size:var(--fs-xs);overflow-wrap:anywhere}.plan-readout-n{margin:.2rem 0 0;font-size:1.05rem;font-weight:780;overflow-wrap:anywhere}.plan-benefit{margin:0;max-width:70ch}.hub-card-link{display:inline-flex;align-items:center;gap:.3rem;margin-inline-start:auto;min-width:0;overflow-wrap:break-word;hyphens:none;color:var(--muted);font-size:var(--fs-base);font-weight:600;text-decoration:none}.hub-card-link:hover{color:var(--ink)}.today-options{padding:clamp(1.5rem,2.2vw,1.75rem);background:var(--plate);border:1px solid var(--edge);border-radius:var(--radius-lg);box-shadow:var(--elev-1)}.today-card-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.3rem var(--sp-4);margin-bottom:1.1rem}.today-card-head h2{min-width:0;max-width:100%;overflow-wrap:anywhere;hyphens:auto;margin:0;font-family:var(--display);font-size:var(--fs-card-title);font-weight:500;letter-spacing:-.02em}.today-card-foot{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--sp-1) var(--sp-4);margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--hair);color:var(--muted);font-size:.875rem}.hub-chip-streak,.hub-chip-sitting{color:var(--muted)}.hub-chip-streak strong{color:var(--ink);font-weight:700}.today-option-list{display:grid;gap:var(--sp-3);grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:1024px){.today-option-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.today-option-list{grid-template-columns:minmax(0,1fr)}}.today-option-row{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:.65rem;min-width:0;padding:var(--sp-4) 1.15rem;background:var(--plate);border:1px solid var(--hair);border-radius:var(--radius-md);transition:background-color var(--t-row) ease-out}.today-option-row:hover{background:var(--paper)}.today-option-icon{width:3rem;height:3rem;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--radius-md)}.today-option-icon.is-due{background:var(--tile-sky);color:var(--tile-sky-fg)}.today-option-icon.is-wrong{background:var(--tile-rose);color:var(--tile-rose-fg)}.today-option-icon.is-new{background:var(--tile-mint);color:var(--tile-mint-fg)}.today-option-icon.is-revision{background:var(--tile-violet);color:var(--tile-violet-fg)}.today-option-copy{min-width:0;overflow-wrap:break-word;hyphens:auto}.today-option-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem .55rem;min-width:0}.today-option-title>*{min-width:0;overflow-wrap:break-word;hyphens:auto}.today-option-title strong{font-family:var(--display);font-size:var(--fs-row-title);font-weight:500}.today-option-title .tabular{color:var(--muted);font-size:var(--fs-sm);font-weight:600}.today-option-sub{margin:.15rem 0 0;color:var(--muted);font-size:var(--fs-sm)}.today-option-sub .today-text-action{min-height:0;padding:0;font-size:var(--fs-sm);font-weight:600}.today-option-sub .today-text-action:hover{background:none;text-decoration:underline;text-underline-offset:.2em}.today-option-side{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-width:0;margin-top:auto}.today-option-library{flex:0 0 auto;min-height:0;padding:0;color:var(--muted);font-size:var(--fs-sm);font-weight:500}.today-option-library:hover{background:none;color:var(--ink);text-decoration:underline;text-underline-offset:.2em}.today-option-est{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;color:var(--muted);font-size:var(--fs-base)}.today-option-play{flex:0 0 auto;margin-inline-start:auto;display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;border:0;border-radius:var(--radius-btn);background:var(--plane);color:var(--ink);cursor:pointer;transition:background-color var(--t-row) ease-out,color var(--t-row) ease-out}.today-option-play:hover{background:var(--cta);color:var(--cta-ink)}.today-insight-line{margin:0;min-width:0;overflow-wrap:break-word;hyphens:auto;font-family:var(--display);font-size:1.5rem;font-weight:500;letter-spacing:-.01em;line-height:1.2}.today-insight-cta{margin-top:var(--sp-4);min-height:2rem;text-decoration:none}.today-trajectory{min-width:0}.today-progress-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:1.05rem}.today-progress-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem .8rem;margin:0 0 .45rem;font-size:var(--fs-base)}.today-progress-meta>span{min-width:0;overflow-wrap:break-word;hyphens:none}.today-progress-meta>span:last-child{color:var(--muted);font-weight:600}.today-progress-bar{height:8px;border-radius:var(--radius-pill);background:var(--plane);overflow:hidden}.today-progress-fill{display:block;height:100%;border-radius:inherit;background:var(--cta)}.today-trajectory-plot{min-height:8px}.today-trajectory-line{position:relative;height:8px;border-radius:var(--radius-pill);background:var(--plane)}.today-trajectory-fill{position:absolute;inset:0 auto 0 0;border-radius:inherit;background:var(--cta)}.today-trajectory-marker{position:absolute;top:50%;width:2px;height:14px;border-radius:999px;background:var(--muted);transform:translate(-50%,-50%)}.today-trajectory-marker.is-actual{background:var(--ink);height:16px}.today-trajectory-marker.is-near-start{transform:translateY(-50%)}.today-trajectory-marker.is-near-end{transform:translate(-100%,-50%)}.today-trajectory-plot.has-coincident-markers{padding-block:var(--sp-3)}.today-trajectory-plot.has-coincident-markers .today-trajectory-marker{transform:translate(-50%)}.today-trajectory-plot.has-coincident-markers .today-trajectory-marker.is-near-start{transform:translate(0)}.today-trajectory-plot.has-coincident-markers .today-trajectory-marker.is-near-end{transform:translate(-100%)}.today-trajectory-plot.has-coincident-markers .today-trajectory-marker.is-required{top:auto;bottom:calc(50% + 4px)}.today-trajectory-plot.has-coincident-markers .today-trajectory-marker.is-actual{top:calc(50% + 4px)}.today-trajectory-help,.today-break-note,.today-trajectory-status{margin:.45rem 0 0;color:var(--muted);font-size:var(--fs-sm)}.today-trajectory-key{display:flex;flex-wrap:wrap;gap:.2rem var(--sp-4);margin:.45rem 0 0;color:var(--muted);font-size:var(--fs-sm)}.today-trajectory-key-item{display:inline-flex;align-items:center;gap:.4rem}.today-trajectory-swatch{display:inline-block;width:2px;height:14px;border-radius:999px;background:var(--muted)}.today-trajectory-swatch.is-actual{background:var(--ink);height:16px}@media(max-width:899.98px),(pointer:coarse){.hub-deadline-inline-btn,.today-option-sub .today-text-action,.today-deadline-shared .today-text-action,.today-deadline-offer .today-text-action,.today-deadline-actions .today-text-action,.today-deadline-actions .today-break-toggle{display:inline-flex;align-items:center;min-height:var(--tap);padding-inline:var(--sp-1)}.today-insight-cta{display:inline-flex;align-items:center;min-height:var(--tap)}}@media(max-width:780px){.today-briefing{padding-block-end:4rem}.today-prescription{padding:var(--sp-5)}.plan-readout{grid-template-columns:repeat(2,minmax(0,1fr))}.today-card-head{flex-direction:column;align-items:flex-start}.today-option-row{padding:.9rem 1rem}}@media(max-width:899.98px){.next-actions{flex-direction:column;align-items:stretch}.today-start{width:100%}.next-adjust{width:100%;justify-content:center}}@media(max-width:420px){.today-break-input{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.today-briefing *{scroll-behavior:auto}.next-settings{transition:none}}@container (max-width: 36rem){.today-rx{grid-template-columns:minmax(0,1fr)}.today-rx-side{justify-items:start;padding-inline-start:0;border-inline-start:0;border-top:1px solid var(--hair);padding-top:var(--sp-4)}}.today-prescription{border:0;box-shadow:none}.next-adjust.button{background:transparent;color:var(--accent-text);box-shadow:none}.today-options{background:transparent;border:0;box-shadow:none;padding:1.25rem 0}.today-option-icon{background:transparent;width:1.75rem;height:1.75rem;border-radius:0}@media(max-width:899.98px){.next-actions{gap:.25rem;margin-top:1rem}.today-start{min-height:48px;font-size:1rem}.next-adjust{min-height:44px}}.today-option-list.is-quiet{grid-template-columns:minmax(0,1fr) minmax(0,3fr)}@media(max-width:1024px){.today-option-list.is-quiet{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media(max-width:640px){.today-option-list.is-quiet{grid-template-columns:minmax(0,1fr)}}.today-option-list.is-quiet>.today-queues-empty:only-child{grid-column:1 / -1}.today-queues-empty{display:flex;align-items:center;margin:0;padding:var(--sp-4) 1.15rem;border:1px dashed var(--edge);border-radius:var(--radius-md);color:var(--muted);font-size:var(--fs-base);line-height:1.55}.today-steps{margin-top:var(--sp-5);padding-top:var(--sp-4);border-top:1px solid var(--hair)}.today-steps-label{display:flex;align-items:baseline;gap:var(--sp-2);margin:0 0 .6rem;color:var(--ink);font-size:var(--fs-sm);font-weight:700}.today-steps-label .tabular{color:var(--muted);font-weight:500}.today-steps-list{display:flex;flex-wrap:wrap;gap:var(--sp-2) 1.75rem;margin:0;padding:0;list-style:none}.today-steps-list li{display:inline-flex;flex-wrap:wrap;align-items:center;min-width:0;max-width:100%;overflow-wrap:anywhere;gap:.55rem;min-height:2rem;color:var(--ink);font-size:var(--fs-base)}.today-steps-list li.is-done{color:var(--muted)}.today-steps-mark{flex:none;display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--radius-pill);border:1.5px solid var(--control-edge);background:var(--plate)}.today-steps-mark.is-done{border-color:var(--cta);background:var(--cta);color:var(--cta-ink)}.today-steps-count{color:var(--muted);font-size:var(--fs-sm)}.today-steps-action{display:inline-flex;align-items:center;min-height:2rem;padding:0;border:0;background:none;color:var(--accent-text);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}.today-steps-action:hover{text-decoration:underline;text-underline-offset:.2em}.today-steps-action:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--radius-sm)}@media(max-width:640px){.today-steps-list{flex-direction:column;gap:var(--sp-1)}}.tour-scrim{position:fixed;inset:0;z-index:var(--z-skip)}.tour-scrim.is-dim{background:color-mix(in srgb,#000 45%,transparent)}.tour-ring{position:fixed;z-index:calc(var(--z-skip) + 1);border-radius:var(--radius-md);box-shadow:0 0 0 2px var(--accent),0 0 0 9999px color-mix(in srgb,#000 45%,transparent);pointer-events:none;transition:top .18s ease,left .18s ease,width .18s ease,height .18s ease}.tour-popover{position:fixed;z-index:calc(var(--z-skip) + 2);width:min(360px,calc(100vw - 24px));max-height:calc(100vh - 32px);overflow:auto;background:var(--raised);border:1px solid color-mix(in srgb,var(--edge) 55%,transparent);border-radius:var(--radius-lg);padding:18px 20px;box-shadow:0 12px 36px color-mix(in srgb,#000 22%,transparent)}.tour-popover.is-centered{top:50%;left:50%;transform:translate(-50%,-50%)}.tour-popover.is-anchored{transition:top .18s ease,left .18s ease}.tour-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:6px;font-size:.8125rem;color:var(--muted)}.tour-progress{height:3px;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--edge) 60%,transparent);margin-bottom:12px;overflow:hidden}.tour-progress>span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.tour-title{margin:0 0 6px;font-size:1.125rem;font-weight:600;line-height:1.3;color:var(--ink)}.tour-body{margin:0 0 14px;font-size:.9375rem;line-height:1.5;color:var(--muted)}.tour-rating-row{display:flex;gap:6px;margin-bottom:14px}.tour-rating{flex:1;padding:8px 4px;border-radius:var(--radius-btn);border:1.5px solid var(--edge);font-size:.8125rem;font-weight:600;text-align:center}.tour-rating.is-again{color:var(--rating-again);border-color:color-mix(in srgb,var(--rating-again) 58%,var(--edge));background:var(--rating-again-bg)}.tour-rating.is-hard{color:var(--rating-hard);border-color:color-mix(in srgb,var(--rating-hard) 58%,var(--edge));background:var(--rating-hard-bg)}.tour-rating.is-good{color:var(--rating-good);border-color:color-mix(in srgb,var(--rating-good) 58%,var(--edge));background:var(--rating-good-bg)}.tour-rating.is-easy{color:var(--rating-easy);border-color:color-mix(in srgb,var(--rating-easy) 58%,var(--edge));background:var(--rating-easy-bg)}.tour-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.tour-back{margin-right:auto}@media(max-width:640px){.tour-popover,.tour-popover.is-centered,.tour-popover.is-anchored{inset:auto 0 0;width:auto;max-height:55vh;transform:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.tour-ring,.tour-popover,.tour-progress>span{transition:none}}
