:root{color-scheme:light;--font-display: "Bricolage Grotesque", "Archivo", ui-sans-serif, system-ui, sans-serif;--font-body: "Geist", ui-sans-serif, system-ui, sans-serif;--font-outlier: "Geist Mono", ui-monospace, monospace;--color-paper: oklch(95% .022 78);--color-paper-2: oklch(90.5% .03 75);--color-paper-3: oklch(85% .035 73);--color-ink: oklch(23% .03 55);--color-ink-2: oklch(33% .032 58);--color-muted: oklch(42% .033 64);--color-rule: oklch(82% .026 76);--color-rule-2: oklch(72% .03 74);--color-accent: oklch(62% .19 28);--color-accent-2: oklch(58% .14 165);--color-accent-ink: oklch(98% .012 85);--color-interest: oklch(65% .2 330);--color-interest-soft: oklch(92% .06 330);--color-win: oklch(62% .16 145);--color-win-soft: oklch(93% .05 145);--color-focus: oklch(55% .18 28);--color-good: oklch(55% .14 155);--color-warn: oklch(68% .16 75);--color-bad: oklch(55% .18 25);--shadow-sm: 0 1px 2px oklch(22% .02 55 / .06), 0 1px 3px oklch(22% .02 55 / .04);--shadow-md: 0 4px 12px oklch(22% .02 55 / .08), 0 2px 4px oklch(22% .02 55 / .04);--shadow-lg: 0 12px 32px oklch(22% .02 55 / .1), 0 4px 8px oklch(22% .02 55 / .05);--shadow-glow: 0 0 24px oklch(65% .2 330 / .25);--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--text-xs: .64rem;--text-sm: .8rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.9531rem;--text-2xl: 2.4414rem;--text-3xl: 3.0518rem;--text-display: clamp(2.4rem, 4.5vw + 1rem, 4.5rem);--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.25rem;--radius-2xl: 1.75rem;--radius-pill: 999px;--rule-thin: 1px;--rule-thick: 2px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--color-scrim: oklch(8% .015 50);--color-hero-bg: oklch(12% .025 52);--color-hero-text: oklch(95% .008 80);--color-hero-muted: oklch(72% .018 75);--color-hero-border: oklch(30% .022 58);--color-hero-border-hover: oklch(58% .016 70);--color-hero-ink: oklch(97% .008 80);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--color-paper: oklch(15% .02 52);--color-paper-2: oklch(19% .024 54);--color-paper-3: oklch(24% .028 56);--color-ink: oklch(95% .012 82);--color-ink-2: oklch(84% .016 80);--color-muted: oklch(70% .022 76);--color-rule: oklch(30% .026 58);--color-rule-2: oklch(40% .032 60);--color-accent: oklch(70% .18 30);--color-accent-2: oklch(68% .13 165);--color-accent-ink: oklch(16% .022 55);--color-interest: oklch(72% .18 330);--color-interest-soft: oklch(28% .06 330);--color-win: oklch(72% .14 145);--color-win-soft: oklch(26% .05 145);--color-focus: oklch(75% .16 30);--color-good: oklch(72% .12 155);--color-warn: oklch(75% .14 75);--color-bad: oklch(68% .16 25);--shadow-sm: 0 1px 2px oklch(0% 0 0 / .2);--shadow-md: 0 4px 12px oklch(0% 0 0 / .25);--shadow-lg: 0 12px 32px oklch(0% 0 0 / .35);--shadow-glow: 0 0 24px oklch(72% .18 330 / .2)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-paper: oklch(15% .02 52);--color-paper-2: oklch(19% .024 54);--color-paper-3: oklch(24% .028 56);--color-ink: oklch(95% .012 82);--color-ink-2: oklch(84% .016 80);--color-muted: oklch(70% .022 76);--color-rule: oklch(30% .026 58);--color-rule-2: oklch(40% .032 60);--color-accent: oklch(70% .18 30);--color-accent-2: oklch(68% .13 165);--color-accent-ink: oklch(16% .022 55);--color-interest: oklch(72% .18 330);--color-interest-soft: oklch(28% .06 330);--color-win: oklch(72% .14 145);--color-win-soft: oklch(26% .05 145);--color-focus: oklch(75% .16 30);--color-good: oklch(72% .12 155);--color-warn: oklch(75% .14 75);--color-bad: oklch(68% .16 25);--shadow-sm: 0 1px 2px oklch(0% 0 0 / .2);--shadow-md: 0 4px 12px oklch(0% 0 0 / .25);--shadow-lg: 0 12px 32px oklch(0% 0 0 / .35);--shadow-glow: 0 0 24px oklch(72% .18 330 / .2)}}.slot-text{display:inline-flex;white-space:pre}.char-slot{position:relative;display:inline-flex;flex:none;justify-content:center;overflow:hidden;overflow-x:visible;overflow-y:clip;line-height:1.3;vertical-align:bottom}.char-slot.is-resizing{overflow-x:clip}.char-sizer{visibility:hidden;white-space:pre}.char-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;white-space:pre;will-change:transform}html{background:var(--color-paper-2)}body{margin:0;background:var(--color-paper-2);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.theme-toggle{display:inline-flex;align-items:center;gap:var(--space-3xs);flex-shrink:0;padding:.1875rem;border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2)}.theme-toggle-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.theme-toggle-btn:hover{color:var(--color-ink)}.theme-toggle-btn[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.theme-toggle-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(prefers-reduced-motion:reduce){.theme-toggle-btn{transition:none}}.app-shell{min-height:100dvh;background:var(--color-paper-2)}.loading-shell,.auth-shell{display:grid;place-items:center;padding:var(--space-xl)}.auth-panel,.diagnostic-panel{display:grid;gap:var(--space-lg);width:min(100%,48rem);border:var(--rule-thick) solid var(--color-ink);border-radius:var(--radius-lg);background:var(--color-paper);padding:clamp(var(--space-lg),5vw,var(--space-2xl))}.auth-panel h1{max-width:none}.auth-copy,.privacy-note{color:var(--color-muted);line-height:1.5}.auth-form{display:grid;gap:var(--space-md)}.stats-bar{display:inline-flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm)}.stat-chip{display:inline-flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-paper-2);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-sm);font-weight:800}.stat-chip.pending{background:color-mix(in oklch,var(--color-accent) 10%,var(--color-paper));color:var(--color-accent)}.stat-chip.muted{background:transparent;color:var(--color-muted)}.stat-chip.streak{background:color-mix(in oklch,var(--color-accent) 12%,var(--color-paper));color:var(--color-accent)}.daily-challenge-card{display:grid;gap:var(--space-xs);border:var(--rule-thin) solid color-mix(in oklch,var(--color-win) 28%,var(--color-rule));border-radius:var(--radius-lg);background:color-mix(in oklch,var(--color-win) 6%,var(--color-paper));padding:var(--space-md)}.daily-challenge-card strong{font-family:var(--font-display)}.daily-challenge-card span,.daily-challenge-card small{color:var(--color-muted);line-height:1.4}h1,h2,h3,p{margin:0}.top-slab{position:sticky;top:0;z-index:var(--z-sticky);display:grid;grid-template-columns:auto minmax(0,1fr) auto auto auto auto auto;align-items:center;gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);background:color-mix(in oklch,var(--color-paper) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--space-sm) clamp(var(--space-md),4vw,var(--space-xl));box-shadow:var(--shadow-sm)}.brand{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800;letter-spacing:.02em;text-transform:uppercase}.nav-note{min-width:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.25;text-align:center}.nav-link{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);padding-inline:var(--space-md);font-size:var(--text-sm);font-weight:800;text-decoration:none;white-space:nowrap;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.profile-menu{position:relative}.profile-btn{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:var(--rule-thin) solid var(--color-rule-2);border-radius:50%;background:var(--color-paper-2);color:var(--color-ink);cursor:pointer;transition:border-color var(--dur-short) var(--ease-out),background var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.profile-btn:hover{border-color:var(--color-ink-2);background:var(--color-paper-3)}}.profile-dropdown{position:absolute;right:0;top:calc(100% + var(--space-xs));z-index:var(--z-dropdown);min-width:10rem;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper);box-shadow:var(--shadow-md);padding:var(--space-xs);display:grid;gap:1px;animation:dropIn .15s var(--ease-out)}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}.profile-dropdown-item{display:flex;align-items:center;width:100%;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-ink);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);font-weight:800;font-family:var(--font-body);text-align:left;text-decoration:none;cursor:pointer;transition:background var(--dur-micro) var(--ease-out)}@media(hover:hover)and (pointer:fine){.profile-dropdown-item:hover{background:var(--color-paper-2)}}.profile-dropdown-item-muted{color:var(--color-muted)}.profile-dropdown-sep{height:var(--rule-thin);background:var(--color-rule);margin:var(--space-2xs) 0}@media(prefers-reduced-motion:reduce){.profile-dropdown{animation:none}}.theme-switch{display:inline-grid;grid-template-columns:repeat(3,minmax(0,auto));gap:var(--space-2xs);justify-self:end;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:var(--space-2xs);background:var(--color-paper-2)}.theme-switch button{display:inline-flex;width:2rem;min-height:2rem;align-items:center;justify-content:center;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);padding:0;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.theme-switch button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.62fr);gap:var(--space-xl);align-items:end;max-width:92rem;margin:0 auto;padding:clamp(var(--space-xl),7vw,var(--space-3xl)) clamp(var(--space-md),4vw,var(--space-xl)) var(--space-xl)}.kicker{margin-block-end:var(--space-sm);color:var(--color-accent);font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:800;letter-spacing:.06em;text-transform:uppercase}h1{max-width:11ch;font-family:var(--font-display);font-size:var(--text-display);font-weight:800;line-height:.96;letter-spacing:0;overflow-wrap:anywhere}.hero-copy{display:grid;gap:var(--space-lg);min-width:0}.hero-copy>p{max-width:45ch;color:var(--color-muted);font-size:var(--text-md);line-height:1.5}.coachmark-banner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-sm);max-width:92rem;margin:0 auto var(--space-md);padding-inline:clamp(var(--space-md),4vw,var(--space-xl))}.compact-xp{width:5rem}.app-hero{grid-template-columns:minmax(0,1fr);align-items:start;gap:var(--space-sm);padding-block:var(--space-lg) var(--space-md)}.app-hero .kicker{margin-block-end:var(--space-2xs);font-size:var(--text-xs);letter-spacing:.08em}.app-hero h1{max-width:24ch;font-size:var(--text-lg);line-height:1.15}.drill-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:92rem;margin:0 auto var(--space-xl);padding-inline:clamp(var(--space-md),4vw,var(--space-xl))}.drill-rail div{min-width:0;border-block:var(--rule-thick) solid var(--color-ink);border-inline-end:var(--rule-thin) solid var(--color-rule-2);padding:var(--space-md)}.drill-rail div:first-child{border-inline-start:var(--rule-thick) solid var(--color-ink)}.drill-rail div:last-child{border-inline-end:var(--rule-thick) solid var(--color-ink)}.drill-rail span{color:var(--color-accent);font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:800}.drill-rail strong{display:block;margin-block:var(--space-2xs);font-family:var(--font-display);font-size:var(--text-md);line-height:1.1}.drill-rail p{color:var(--color-muted);font-size:var(--text-sm);line-height:1.4}.workbench{display:grid;grid-template-columns:minmax(16rem,.76fr) minmax(0,1.45fr) minmax(17rem,.85fr);gap:var(--space-lg);align-items:stretch;max-width:92rem;margin:0 auto;padding:0 clamp(var(--space-md),4vw,var(--space-xl)) var(--space-3xl)}.setup-panel,.chat-panel,.coach-panel{display:grid;gap:var(--space-md);min-width:0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.setup-panel,.coach-panel{position:sticky;top:calc(3.875rem + var(--space-md));align-content:start}.coach-panel{grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 5.875rem);min-height:34rem;overflow:hidden}.chat-panel{position:sticky;top:calc(3.875rem + var(--space-md));display:flex;flex-direction:column;height:calc(100dvh - 5.875rem);min-height:34rem;background:var(--color-paper-2)}.chat-panel .chat-log{flex:1 1 0;min-height:0}.panel-head{display:flex;align-items:center;gap:var(--space-xs)}.panel-head{color:var(--color-muted)}.panel-head h2{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-base);font-weight:700;letter-spacing:.01em}label{display:grid;gap:var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);font-weight:800}select,input,textarea{width:100%;min-height:2.875rem;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);outline:2px solid transparent;outline-offset:1px;background:var(--color-paper);color:var(--color-ink);padding:var(--space-sm);font-weight:600;line-height:1.35;resize:vertical;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out)}textarea{min-height:6rem}select::placeholder,input::placeholder,textarea::placeholder{color:var(--color-muted)}select:focus-visible,input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}@media(hover:hover)and (pointer:fine){.theme-switch button:hover,select:hover,input:hover,textarea:hover{background:var(--color-paper-2);border-color:var(--color-ink-2)}}.persona-card,.persona-editor,.coach-block,.empty-state{display:grid;gap:var(--space-xs);min-width:0}.persona-card{border-block:var(--rule-thick) solid var(--color-ink);padding-block:var(--space-md)}.persona-card strong{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.1}.persona-card span,.persona-card small,.coach-block p,.empty-state p{color:var(--color-muted);line-height:1.5}.persona-editor{border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-md)}.persona-editor summary{cursor:pointer;color:var(--color-ink);font-size:var(--text-sm);font-weight:800;list-style:none}.persona-editor summary::-webkit-details-marker{display:none}.persona-editor summary:after{content:"+";float:right;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700}.persona-editor[open] summary:after{content:"−"}.persona-editor-body{display:grid;gap:var(--space-sm);margin-top:var(--space-sm)}.persona-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 5.5rem;gap:var(--space-sm)}.persona-editor-grid label:last-child{grid-column:1 / -1}.persona-editor label{gap:var(--space-2xs);font-size:var(--text-xs)}.persona-editor input,.persona-editor select,.persona-editor textarea{min-height:2.5rem;border-radius:var(--radius-md);padding:var(--space-sm);font-size:var(--text-sm);line-height:1.45}.persona-editor textarea{min-height:5rem;resize:vertical}.persona-editor-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-sm)}.persona-editor-actions .primary-btn{min-width:6.75rem;margin-inline-start:auto}.persona-editor-shortcut{opacity:.82}.persona-editor-locked{margin:0;border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-md);color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.tag-field{display:grid;gap:var(--space-xs)}.tag-field-label{color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.tag-field-hint{margin:0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.4}.tag-input{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);padding:var(--space-xs);min-height:2.75rem}.tag-input:focus-within{border-color:var(--color-ink-2)}.tag-input input{flex:1 1 8rem;min-width:6rem;border:none;background:transparent;color:var(--color-ink);padding:.35rem .5rem;font:inherit;font-size:var(--text-sm);line-height:1.4}.tag-input input:focus{outline:none}.tag-input input:disabled{cursor:not-allowed;opacity:.55}.tag-pill{display:inline-flex;align-items:center;gap:.15rem;max-width:100%;border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--color-accent) 14%,var(--color-paper));padding:.2rem .35rem .2rem .6rem;font-size:var(--text-xs);font-weight:700;line-height:1.3}.tag-pill-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag-remove{display:grid;place-items:center;flex-shrink:0;width:1.15rem;height:1.15rem;border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);padding:0;font-size:1rem;line-height:1;opacity:0;transition:opacity var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.tag-pill:hover .tag-remove,.tag-pill:focus-within .tag-remove{opacity:1}@media(hover:hover)and (pointer:fine){.tag-remove:hover{background:color-mix(in oklch,var(--color-accent) 22%,transparent);color:var(--color-ink)}}.path-list{display:grid;gap:var(--space-xs)}.path-card{display:grid;gap:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);padding:var(--space-md);text-align:left}.path-card[aria-pressed=true]{border-color:var(--color-ink);background:color-mix(in oklch,var(--color-accent) 12%,var(--color-paper))}.path-card span,.path-card small{color:var(--color-muted);line-height:1.35}.chat-log{display:flex;min-height:0;flex-direction:column;gap:var(--space-md);overflow-y:auto;padding:var(--space-xs)}.bubble{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm);max-width:82%;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-lg);padding:var(--space-md);line-height:1.5;animation:bubble-in var(--dur-short) var(--ease-out) both}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px)}}@media(prefers-reduced-motion:reduce){.bubble,.verdict.good,.verdict.mixed,.verdict.bad,.score-bar-fill,.hint-row .starter-chip{animation:none}}.bubble p{min-width:0;overflow-wrap:anywhere}.bubble.user{align-self:end;border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.bubble.persona{align-self:start;background:var(--color-paper);color:var(--color-ink)}.typing{color:var(--color-muted);font-style:italic}.empty-state{border:var(--rule-thin) dashed var(--color-rule-2);border-radius:var(--radius-md);padding:var(--space-lg);background:color-mix(in oklch,var(--color-accent-2) 5%,var(--color-paper));color:var(--color-muted)}.starter-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);min-width:0;margin-block-start:var(--space-xs)}.starter-chip{display:inline-flex;min-width:0;max-width:100%;min-height:2.5rem;align-items:center;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);padding-inline:var(--space-sm);font-size:var(--text-sm);font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.composer{display:flex;flex-direction:column;gap:var(--space-sm);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-md)}.composer-input{display:grid;gap:var(--space-sm)}.composer-field{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.composer-field:focus-within{border-color:var(--color-accent)}@media(hover:hover)and (pointer:fine){.composer-field:hover{border-color:var(--color-ink-2)}.composer-field:focus-within:hover{border-color:var(--color-accent)}}.composer-compose-row{display:flex;align-items:flex-end;gap:var(--space-xs);padding:var(--space-xs) var(--space-xs) 0}.composer-emoji-anchor{position:relative;flex-shrink:0;padding-bottom:var(--space-xs)}.composer-emoji-btn{display:grid;place-items:center;width:2.25rem;height:2.25rem;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);transition:color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.composer-emoji-btn[aria-expanded=true]{background:color-mix(in oklch,var(--color-accent) 14%,transparent);color:var(--color-ink)}@media(hover:hover)and (pointer:fine){.composer-emoji-btn:hover:not(:disabled){background:color-mix(in oklch,var(--color-accent) 10%,transparent);color:var(--color-ink)}}.composer-emoji-btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.composer-emoji-btn:disabled{opacity:.55;cursor:not-allowed}.emoji-picker-popover{position:absolute;z-index:30;bottom:calc(100% + var(--space-xs));left:0;overflow:hidden;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.composer-textarea-wrap{position:relative;flex:1;min-width:0}.emoji-suggestions{position:absolute;z-index:20;right:0;bottom:calc(100% + var(--space-2xs));left:0;display:grid;gap:0;margin:0;padding:var(--space-2xs);list-style:none;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);box-shadow:var(--shadow-md);max-height:14rem;overflow:auto}.emoji-suggestion{display:flex;align-items:center;gap:var(--space-sm);width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-ink);padding:.45rem .55rem;text-align:left;transition:background-color var(--dur-short) var(--ease-out)}.emoji-suggestion--active,.emoji-suggestion:hover{background:color-mix(in oklch,var(--color-accent) 12%,var(--color-paper))}.emoji-suggestion-glyph{font-size:1.35rem;line-height:1}.emoji-suggestion-meta{display:grid;gap:.1rem;min-width:0;font-size:var(--text-xs);line-height:1.25}.emoji-suggestion-meta strong{font-weight:800}.emoji-suggestion-meta span:last-child{color:var(--color-muted);font-family:var(--font-mono, ui-monospace, monospace)}.composer-field textarea{min-height:5.5rem;border:none;outline:none;background:transparent;padding:var(--space-sm) var(--space-sm) var(--space-xs);resize:vertical}.composer-field textarea:focus-visible{outline:none}.composer-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-sm)}.composer-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-sm);margin-left:auto}.composer-actions .secondary-btn,.composer-actions .primary-btn{min-width:6.75rem}.composer-shortcut{margin:0}.hint-row{display:flex;flex-wrap:wrap;gap:var(--space-xs);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-sm)}@keyframes chip-in{0%{opacity:0;transform:translateY(5px)}}.hint-row .starter-chip{animation:chip-in var(--dur-short) var(--ease-out) both}.hint-row .starter-chip:nth-child(2){animation-delay:55ms}.hint-row .starter-chip:nth-child(3){animation-delay:.11s}.coach-help-btn{border-color:var(--color-accent-2)}.primary-btn,.secondary-btn,.ghost-btn{display:inline-flex;min-height:2.875rem;align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-thick) solid var(--color-ink);border-radius:var(--radius-pill);padding:0 var(--space-md);color:var(--color-ink);font-weight:800;white-space:nowrap;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.primary-btn{background:var(--color-accent);color:var(--color-accent-ink)}.secondary-btn,.ghost-btn{background:var(--color-paper)}.ghost-btn{min-height:2.5rem;border-width:var(--rule-thin)}.icon-btn{width:2.5rem;padding-inline:0}.danger-btn{border-color:var(--color-bad);color:var(--color-bad)}@media(hover:hover)and (pointer:fine){.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.nav-link:hover,.starter-chip:hover,.path-card:hover{transform:translateY(-1px)}.secondary-btn:hover,.ghost-btn:hover,.nav-link:hover,.starter-chip:hover{border-color:var(--color-ink)}}.primary-btn:active,.secondary-btn:active,.ghost-btn:active,.nav-link:active,.starter-chip:active{transform:translateY(1px)}.primary-btn:disabled,.secondary-btn:disabled,.ghost-btn:disabled{opacity:.55}.ended-banner{display:grid;gap:var(--space-xs);border:var(--rule-thick) solid var(--color-bad);border-radius:var(--radius-lg);padding:var(--space-md);background:color-mix(in oklch,var(--color-bad) 9%,var(--color-paper))}.ended-banner span{color:var(--color-muted);line-height:1.45}.error-text{color:var(--color-bad);font-size:var(--text-sm);line-height:1.4}.verdict{display:inline-flex;align-items:center;gap:var(--space-xs);width:fit-content;border:var(--rule-thin) solid currentColor;border-radius:var(--radius-pill);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);text-transform:capitalize}.coach-scroll{display:grid;gap:var(--space-md);min-height:0;overflow-y:auto;padding:var(--space-3xs)}.coach-panel.coach-good{border-color:var(--color-good)}.coach-panel.coach-mixed{border-color:var(--color-warn)}.coach-panel.coach-bad{border-color:var(--color-bad)}@keyframes verdict-good{0%{transform:scale(.84);opacity:.2}60%{transform:scale(1.08);opacity:1}to{transform:scale(1);opacity:1}}@keyframes verdict-arrive{0%{opacity:0;transform:translateY(3px)}}.verdict.good{background:color-mix(in oklch,var(--color-good) 12%,var(--color-paper));color:var(--color-good);animation:verdict-good .45s var(--ease-out)}.verdict.mixed{background:color-mix(in oklch,var(--color-warn) 14%,var(--color-paper));color:var(--color-warn);animation:verdict-arrive .3s var(--ease-out)}.verdict.bad{background:color-mix(in oklch,var(--color-bad) 12%,var(--color-paper));color:var(--color-bad);animation:verdict-arrive .3s var(--ease-out)}.coach-block-neutral,.coach-block-good,.coach-block-bad,.coach-block-better{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md)}.coach-block-neutral{background:var(--color-paper-2)}.coach-block-good{border-color:color-mix(in oklch,var(--color-good) 28%,var(--color-rule));background:color-mix(in oklch,var(--color-good) 6%,var(--color-paper))}.coach-block-bad{border-color:color-mix(in oklch,var(--color-bad) 32%,var(--color-rule));background:color-mix(in oklch,var(--color-bad) 6%,var(--color-paper))}.coach-block-better{border-color:var(--color-good);background:color-mix(in oklch,var(--color-good) 12%,var(--color-paper))}.coach-block-better p{color:var(--color-ink);font-weight:700}.final-review{display:grid;gap:var(--space-xs);border:var(--rule-thick) solid var(--color-warn);border-radius:var(--radius-lg);background:color-mix(in oklch,var(--color-warn) 12%,var(--color-paper));padding:var(--space-md)}.final-review.strong{border-color:var(--color-good);background:color-mix(in oklch,var(--color-good) 12%,var(--color-paper))}.final-review span{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.final-review strong{font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.final-review p{color:var(--color-muted);line-height:1.45}.coach-block h3{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em}.coach-block ul{margin:0;padding-inline-start:var(--space-lg)}.coach-block li{margin-block:var(--space-2xs);color:var(--color-muted);line-height:1.45}.score-grid{display:grid;gap:var(--space-xs);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-sm)}.score{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-xs);align-items:center;font-size:var(--text-sm)}.score span{color:var(--color-muted);font-weight:800;text-transform:capitalize}.score strong{font-family:var(--font-outlier);font-variant-numeric:tabular-nums}.score-bar{grid-column:1 / -1;height:.4rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-paper-3)}.score-bar-fill{height:100%;border-radius:inherit;background:var(--color-accent-2);transform-origin:left center;transition:transform var(--dur-long) var(--ease-out);animation:score-bar-in var(--dur-long) var(--ease-out) both}@keyframes score-bar-in{0%{transform:scaleX(0)}}.spin{animation:spin var(--dur-long) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:76rem){.workbench{grid-template-columns:minmax(15rem,.8fr) minmax(0,1.35fr)}.coach-panel{grid-column:1 / -1;position:static;height:auto;min-height:0;overflow:visible}.coach-scroll{overflow:visible}}@media(max-width:60rem){.top-slab{grid-template-columns:minmax(0,1fr) auto auto auto auto}.nav-note{display:none}.hero,.workbench{grid-template-columns:1fr}.setup-panel,.chat-panel,.coach-panel{position:static}.drill-rail{grid-template-columns:1fr}.drill-rail div,.drill-rail div:first-child,.drill-rail div:last-child{border:var(--rule-thick) solid var(--color-ink);border-block-end:0}.drill-rail div:last-child{border-block-end:var(--rule-thick) solid var(--color-ink)}.chat-panel{height:min(42rem,78dvh);min-height:34rem}}@media(max-width:40rem){.top-slab{grid-template-columns:1fr auto;grid-template-rows:auto auto;align-items:center;gap:var(--space-xs) var(--space-md);padding:var(--space-xs) var(--space-md)}.top-slab>.brand{grid-column:1;grid-row:1}.top-slab>.profile-menu{grid-column:2;grid-row:1}.stats-bar,.nav-note{grid-column:1 / -1;grid-row:2;justify-content:flex-start}.nav-link,.theme-switch,.top-slab .ghost-btn{display:none}.stats-bar{gap:var(--space-xs)}.stats-bar .stat-chip:nth-of-type(2),.compact-xp{display:none}.hero{gap:var(--space-sm);padding:var(--space-md) var(--space-md) var(--space-sm)}.app-hero h1{font-size:var(--text-lg);line-height:1.08}.app-hero .kicker{display:none}.workbench{display:flex;flex-direction:column}.chat-panel{order:1}.setup-panel{order:2}.coach-panel{order:3}.chat-panel{height:auto;min-height:min(28rem,60dvh);max-height:70dvh}.setup-panel,.chat-panel,.coach-panel{padding:var(--space-md)}.composer-actions{display:grid;grid-template-columns:1fr 1fr}.composer-actions .secondary-btn,.composer-actions .primary-btn{width:100%;min-width:0}.bubble{max-width:100%;padding:var(--space-sm)}.starter-chip{width:100%;justify-content:center}.history-panel{gap:var(--space-sm);padding:0 var(--space-md) var(--space-md)}.history-sidebar,.history-detail{padding:var(--space-sm)}.history-filters{grid-template-columns:1fr}.history-detail-head{display:grid;gap:var(--space-sm);padding-block-end:var(--space-sm)}.history-detail-actions{align-items:stretch}.history-metrics{justify-content:flex-start;gap:var(--space-2xs)}.history-transcript{max-height:none;padding:var(--space-sm)}.history-message{max-width:100%}.score{gap:var(--space-2xs) var(--space-xs)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.15s!important;animation-iteration-count:1!important;transition-duration:.15s!important}}.difficulty-section{display:grid;gap:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper-2);padding:var(--space-sm)}.difficulty-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.section-label{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase}.difficulty-badge{border-radius:var(--radius-pill);padding:var(--space-3xs) var(--space-xs);font-family:var(--font-outlier);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.diff-level-1{background:var(--color-win-soft);color:var(--color-win)}.diff-level-2{background:color-mix(in oklch,var(--color-accent-2) 18%,var(--color-paper));color:var(--color-accent-2)}.diff-level-3{background:color-mix(in oklch,var(--color-warn) 16%,var(--color-paper));color:var(--color-warn)}.diff-level-4{background:color-mix(in oklch,var(--color-accent) 14%,var(--color-paper));color:var(--color-accent)}.diff-level-5{background:color-mix(in oklch,var(--color-bad) 14%,var(--color-paper));color:var(--color-bad)}.diff-level-6,.diff-level-7{background:color-mix(in oklch,var(--color-bad) 12%,var(--color-paper));color:var(--color-bad)}.diff-level-8,.diff-level-9,.diff-level-10{background:var(--color-ink);color:var(--color-paper)}.difficulty-slider{width:100%;min-height:0;height:1.25rem;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;border-radius:var(--radius-pill);background:transparent;padding:0;cursor:pointer;outline:none}.difficulty-slider::-webkit-slider-runnable-track{height:.35rem;border-radius:var(--radius-pill);background:var(--color-paper-3);border:var(--rule-thin) solid var(--color-rule)}.difficulty-slider::-webkit-slider-thumb{-webkit-appearance:none;width:1rem;height:1rem;margin-top:-.39rem;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-paper);box-shadow:0 0 0 1px var(--color-rule-2);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out)}.difficulty-slider::-moz-range-track{height:.35rem;border-radius:var(--radius-pill);background:var(--color-paper-3);border:var(--rule-thin) solid var(--color-rule)}.difficulty-slider::-moz-range-thumb{width:1rem;height:1rem;border-radius:50%;background:var(--color-accent);border:2px solid var(--color-paper);box-shadow:0 0 0 1px var(--color-rule-2);cursor:pointer;transition:transform var(--dur-micro) var(--ease-out)}.difficulty-slider:hover::-webkit-slider-thumb,.difficulty-slider:focus-visible::-webkit-slider-thumb{transform:scale(1.12)}.difficulty-slider:hover::-moz-range-thumb,.difficulty-slider:focus-visible::-moz-range-thumb{transform:scale(1.12)}.difficulty-slider:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.difficulty-ticks{display:flex;justify-content:space-between;color:var(--color-muted);margin-block-start:calc(var(--space-xs) * -1);font-size:.72rem;font-weight:700}.difficulty-desc{margin:0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.35}.profile-picker{display:grid;gap:var(--space-xs)}.profile-select{width:100%;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-paper-2);color:var(--color-ink);padding:var(--space-sm);font-weight:800}.profile-select:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.profile-select-note{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.4}.app-view-bar{max-width:92rem;margin:0 auto var(--space-md);padding-inline:clamp(var(--space-md),4vw,var(--space-xl))}.app-view-tabs{display:inline-flex;gap:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);padding:var(--space-2xs)}.app-view-tabs button{display:inline-flex;min-height:2.25rem;align-items:center;justify-content:center;gap:var(--space-2xs);border:0;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);padding:0 var(--space-md);font-size:var(--text-sm);font-weight:700;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.app-view-tabs button[aria-selected=true]{background:var(--color-ink);color:var(--color-paper)}.history-panel{display:grid;grid-template-columns:minmax(18rem,.38fr) minmax(0,1fr);gap:var(--space-md);height:clamp(30rem,calc(100dvh - 13.5rem),44rem);max-width:92rem;margin:0 auto;padding:0 clamp(var(--space-md),4vw,var(--space-xl)) var(--space-xl)}.history-sidebar,.history-detail{min-height:0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper);padding:var(--space-md);overflow:hidden}.history-sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:start;gap:var(--space-sm)}.history-filter-drawer{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2)}.history-filter-drawer summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);cursor:pointer;padding:var(--space-sm);color:var(--color-ink);font-size:var(--text-sm);font-weight:800;list-style-position:inside}.history-filter-drawer summary span{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);text-transform:uppercase}.history-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-xs);padding:0 var(--space-sm) var(--space-sm)}.history-filters label{display:grid;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.history-filters select{min-width:0;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-ink);min-height:2.25rem;padding:var(--space-xs)}.history-filters-clear{grid-column:1 / -1;width:100%;min-height:2.25rem;font-size:var(--text-sm)}.history-list{display:grid;align-content:start;gap:var(--space-xs);min-height:0;overflow:auto;padding-inline-end:var(--space-2xs)}.history-list button{display:grid;gap:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);padding:var(--space-xs) var(--space-sm);text-align:start;transition:border-color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}@media(hover:hover)and (pointer:fine){.history-list button:not([aria-pressed=true]):hover{border-color:var(--color-ink-2);transform:translateY(-1px)}}.history-list button:active{transform:translateY(1px)}.history-list button[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.history-list button strong{font-weight:700}.history-list span,.history-list small,.history-empty{color:var(--color-muted);font-size:var(--text-sm);line-height:1.35}.history-list button[aria-pressed=true] span,.history-list button[aria-pressed=true] small{color:color-mix(in oklch,var(--color-paper) 78%,transparent)}.history-detail{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.75fr);grid-template-rows:auto minmax(0,1fr);gap:var(--space-md);align-content:start}.history-detail-head{grid-column:1 / -1;display:flex;align-items:start;justify-content:space-between;gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);padding-block-end:var(--space-md)}.history-detail-head h2{margin-block-start:var(--space-2xs);font-size:var(--text-md);line-height:1.2}.history-detail-actions{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-sm)}.history-metrics{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--space-xs)}.history-metrics span{border-radius:var(--radius-pill);background:var(--color-paper-3);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);font-weight:800}.history-transcript{display:flex;flex-direction:column;gap:var(--space-sm);min-height:0;max-height:none;overflow:auto;border-radius:var(--radius-md);background:color-mix(in oklch,var(--color-paper-2) 88%,var(--color-ink));padding:var(--space-md)}.history-message{display:grid;gap:var(--space-2xs);max-width:min(66ch,84%);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);line-height:1.45}.history-message p{margin:0;overflow-wrap:anywhere}.history-message.persona{align-self:flex-start;background:var(--color-paper);color:var(--color-ink)}.history-message.user{align-self:flex-end;border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.history-message-meta{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.history-message.user .history-message-meta{justify-self:end;color:color-mix(in oklch,var(--color-paper) 72%,transparent)}.history-chat-log{display:flex;flex-direction:column;gap:var(--space-sm);min-height:0;overflow-y:auto;padding:var(--space-xs)}.history-chat-log .bubble{grid-template-columns:1fr}.history-coach{display:grid;gap:var(--space-sm);align-self:start;max-height:100%;overflow:auto;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);padding:var(--space-sm)}@media(max-width:980px){.history-panel{grid-template-columns:1fr;height:auto}.history-sidebar,.history-detail{overflow:visible}.history-list,.history-coach{max-height:22rem}}@media(max-width:46rem){.history-detail{grid-template-columns:1fr;grid-template-rows:auto}}.path-tabs{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-block-end:var(--space-xs)}.path-tab{flex-shrink:0;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);font-weight:800;white-space:nowrap;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),background-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.path-tab[aria-pressed=true]{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}@media(hover:hover)and (pointer:fine){.path-tab:not([aria-pressed=true]):hover{border-color:var(--color-ink-2);color:var(--color-ink);transform:translateY(-1px)}}.path-tab:active{transform:translateY(1px)}.path-description{margin:0 0 var(--space-xs);color:var(--color-muted);font-size:var(--text-sm);line-height:1.4}.drill-card-top{display:flex;align-items:center;gap:var(--space-xs);margin-block-end:var(--space-2xs)}.persona-avatar-sm{display:grid;place-items:center;flex-shrink:0;width:1.875rem;height:1.875rem;border-radius:var(--radius-pill);background:linear-gradient(135deg,var(--color-interest-soft),var(--color-paper-3));color:var(--color-interest);font-family:var(--font-display);font-size:var(--text-sm);font-weight:800}.drill-card-meta{display:flex;align-items:center;gap:var(--space-xs);min-width:0;flex:1}.drill-persona-label{color:var(--color-ink);font-size:var(--text-sm);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scenario-badge{flex-shrink:0;border-radius:var(--radius-pill);padding:1px var(--space-xs);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;text-transform:capitalize;white-space:nowrap}.scenario-easy{background:var(--color-win-soft);color:var(--color-win)}.scenario-medium{background:color-mix(in oklch,var(--color-warn) 16%,var(--color-paper));color:var(--color-warn)}.scenario-hard{background:color-mix(in oklch,var(--color-bad) 14%,var(--color-paper));color:var(--color-bad)}[data-reveal]{opacity:0;transform:translateY(var(--reveal-y, 14px));filter:blur(8px);transition:opacity .56s var(--ease-out) var(--delay, 0ms),transform .56s var(--ease-out) var(--delay, 0ms),filter .56s var(--ease-out) var(--delay, 0ms)}[data-reveal].revealed{opacity:1;transform:none;filter:none}@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1;transform:none;filter:none;transition:none}}.lp-loading{display:grid;place-items:center;min-height:100dvh;color:var(--color-muted);font-size:var(--text-sm)}.landing-shell{overflow-x:clip}.lp-nav{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) clamp(var(--space-md),4vw,var(--space-xl));background:color-mix(in oklch,var(--color-paper) 95%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid transparent;transition:border-color .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.lp-nav--scrolled{border-bottom-color:var(--color-rule);box-shadow:var(--shadow-sm)}.lp-brand{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800;letter-spacing:.02em;text-decoration:none;text-transform:uppercase;white-space:nowrap}.lp-nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-lg);flex:1;justify-content:center}.lp-nav-links a{color:var(--color-muted);font-size:var(--text-sm);font-weight:600;text-decoration:none;transition:color .16s cubic-bezier(.16,1,.3,1);white-space:nowrap}.lp-nav-links a:hover{color:var(--color-ink)}.lp-nav-actions{display:inline-flex;align-items:center;gap:var(--space-sm);flex-shrink:0}.lp-nav-cta{display:inline-flex;align-items:center;min-height:2.25rem;padding:0 var(--space-md);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-sm);font-weight:700;border:none;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background .16s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.lp-nav-cta:hover{background:var(--color-accent)}.lp-nav-cta:active{transform:scale(.97)}.lp-nav-cta:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.lp-hero{background:radial-gradient(120% 85% at 88% -10%,color-mix(in oklch,var(--color-accent) 14%,transparent),transparent 52%),var(--color-hero-bg);color:var(--color-hero-text);border-bottom:2px solid var(--color-ink)}.lp-hero-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.85fr);gap:var(--space-xl);align-items:center;max-width:92rem;margin:0 auto;padding:clamp(var(--space-2xl),8vw,var(--space-3xl)) clamp(var(--space-md),5vw,var(--space-xl))}.lp-hero-copy{display:grid;gap:var(--space-lg);min-width:0}.lp-hero-eyebrow,.lp-hero-lead,.lp-hero-actions,.lp-hero-trust{animation:hero-enter .64s var(--ease-out) both}.lp-hero-eyebrow{animation-delay:80ms}.lp-hero-lead{animation-delay:.32s}.lp-hero-actions{animation-delay:.44s}.lp-hero-trust{animation-delay:.54s}@keyframes hero-enter{0%{opacity:0;transform:translateY(20px);filter:blur(6px)}to{opacity:1;transform:none;filter:blur(0)}}.lp-h1-line{display:block;overflow:hidden;padding-block-end:.08em;margin-block-end:-.08em}.lp-h1-line>span{display:block;animation:line-rise .76s var(--ease-out) both}.lp-h1-line:nth-child(1)>span{animation-delay:.15s}.lp-h1-line:nth-child(2)>span{animation-delay:.27s}.lp-h1-line:nth-child(3)>span{animation-delay:.39s}@keyframes line-rise{0%{transform:translateY(108%)}to{transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.lp-hero-eyebrow,.lp-hero-lead,.lp-hero-actions,.lp-hero-trust,.lp-h1-line>span{animation:none}}.lp-h1{font-family:var(--font-display);font-size:clamp(3.2rem,7.5vw,6.5rem);font-weight:800;line-height:.96;letter-spacing:-.02em;color:var(--color-hero-ink);text-wrap:balance;overflow-wrap:anywhere;margin:0}.lp-hero-lead{max-width:46ch;color:var(--color-hero-muted);font-size:var(--text-md);font-weight:450;line-height:1.55;margin:0}.lp-hero-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.lp-hero-eyebrow{display:inline-flex;align-items:center;width:fit-content;gap:var(--space-xs);color:var(--color-hero-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.14em;text-transform:uppercase}.lp-hero-eyebrow:before{content:"";width:1.75rem;height:2px;background:var(--color-accent)}.lp-hero-trust{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);list-style:none;margin:var(--space-xs) 0 0;padding:0}.lp-hero-trust li{position:relative;display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--color-hero-muted);font-size:var(--text-sm);font-weight:500}.lp-hero-trust li:not(:first-child):before{content:"";width:3px;height:3px;border-radius:50%;background:var(--color-hero-border-hover)}.lp-hero-visual{justify-self:end;width:100%;max-width:26rem;animation:demo-enter .7s .12s cubic-bezier(.16,1,.3,1) both}@media(prefers-reduced-motion:reduce){.lp-hero-visual{animation:none}}.lp-moment{display:grid;gap:var(--space-sm);border:1px solid var(--color-hero-border);border-radius:var(--radius-2xl);background:var(--color-paper);padding:clamp(var(--space-md),2.5vw,var(--space-lg));box-shadow:0 0 0 1px var(--color-hero-border),var(--shadow-lg)}.lp-moment-head{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-rule)}.lp-moment-avatar{display:grid;place-items:center;width:2.5rem;height:2.5rem;flex-shrink:0;border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-md);font-weight:800}.lp-moment-id{display:grid;margin-right:auto}.lp-moment-id strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;line-height:1.1}.lp-moment-id span{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.lp-moment-interest{display:grid;justify-items:end;gap:var(--space-2xs)}.lp-moment-interest>span{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lp-moment-meter{display:block;width:4rem;height:.4rem;border-radius:var(--radius-pill);background:var(--color-interest-soft);overflow:hidden}.lp-moment-meter i{display:block;height:100%;width:100%;border-radius:inherit;background:var(--color-interest);transform-origin:left center;transform:scaleX(var(--pct, 0));animation:meter-grow 1s 1.34s var(--ease-out) both}@keyframes meter-grow{0%{transform:scaleX(0)}to{transform:scaleX(var(--pct, 0))}}.lp-bubble{margin:0;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-lg);font-size:var(--text-sm);line-height:1.5}.lp-bubble--her{background:var(--color-paper-3);color:var(--color-ink);border-end-start-radius:var(--radius-xs, .375rem);justify-self:start;max-width:85%}.lp-moment-swap{display:grid;gap:var(--space-xs);justify-items:end}.lp-bubble--old,.lp-bubble--new{display:grid;gap:var(--space-2xs);max-width:90%;justify-self:end}.lp-bubble-tag{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lp-bubble--old{background:color-mix(in oklch,var(--color-bad) 12%,var(--color-paper));color:var(--color-muted);text-decoration:line-through;text-decoration-color:color-mix(in oklch,var(--color-bad) 60%,transparent)}.lp-bubble--old .lp-bubble-tag{color:var(--color-bad);text-decoration:none}.lp-bubble--new{background:var(--color-ink);color:var(--color-paper)}.lp-bubble--new .lp-bubble-tag{color:var(--color-accent)}.lp-moment-head,.lp-bubble--her,.lp-bubble--old{animation:moment-in .52s var(--ease-out) both}.lp-moment-head{animation-delay:.38s}.lp-bubble--her{animation-delay:.56s}.lp-bubble--old{animation-delay:.78s}.lp-bubble--new{animation:moment-pop .62s 1.04s var(--ease-out) both}@keyframes moment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes moment-pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.lp-moment-head,.lp-bubble--her,.lp-bubble--old,.lp-bubble--new,.lp-moment-meter i{animation:none}.lp-moment-meter i{transform:scaleX(var(--pct, 0))}}.lp-cta-primary{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;padding:0 var(--space-lg);background:var(--color-accent);color:var(--color-accent-ink);font-size:.925rem;font-weight:700;border:none;border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background .16s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.lp-cta-primary:hover{background:var(--color-focus);transform:translateY(-1px);box-shadow:var(--shadow-md)}.lp-cta-primary:active{transform:scale(.97);box-shadow:none}.lp-cta-primary:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.lp-cta-primary{transition:background .16s var(--ease-out),transform .14s var(--ease-out),box-shadow .2s var(--ease-out)}.lp-cta-primary:disabled{opacity:.55;cursor:not-allowed}.lp-cta-ghost{display:inline-flex;align-items:center;min-height:2.875rem;padding:0 var(--space-md);background:transparent;color:var(--color-hero-muted);font-size:.925rem;font-weight:600;border:1.5px solid var(--color-hero-border);border-radius:var(--radius-pill);cursor:pointer;text-decoration:none;white-space:nowrap;transition:border-color .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1)}.lp-cta-ghost:hover{border-color:var(--color-hero-border-hover);color:var(--color-hero-ink)}.lp-cta-ghost:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.lp-cta-outline{display:inline-flex;align-items:center;justify-content:center;min-height:2.875rem;padding:0 var(--space-lg);background:transparent;color:var(--color-ink);font-size:.925rem;font-weight:700;border:2px solid var(--color-ink);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;transition:background .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1),transform .12s cubic-bezier(.16,1,.3,1)}.lp-cta-outline:hover{background:var(--color-ink);color:var(--color-paper)}.lp-cta-outline:active{transform:scale(.97)}.lp-cta-outline:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.lp-cta-full{width:100%}.lp-demo-window{border:1px solid var(--color-hero-border);border-radius:var(--radius-2xl);background:var(--color-paper);overflow:hidden;box-shadow:0 0 0 1px var(--color-hero-border),var(--shadow-lg);animation:demo-enter .7s .12s cubic-bezier(.16,1,.3,1) both}@keyframes demo-enter{0%{opacity:0;transform:translateY(28px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.lp-demo-window{animation:none}}.lp-container{max-width:72rem;margin:0 auto;padding-inline:clamp(var(--space-md),4vw,var(--space-xl))}.lp-section-h{font-family:var(--font-display);font-size:clamp(var(--text-xl),3vw,var(--text-3xl));font-weight:700;line-height:1.05;letter-spacing:-.015em;text-wrap:balance;margin:0}.lp-section-sub{max-width:56ch;color:var(--color-muted);font-size:var(--text-base);line-height:1.55;margin:0}.lp-how{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-how .lp-section-h{margin-block-end:clamp(var(--space-xl),4vw,var(--space-2xl))}.lp-steps{display:grid;gap:0;list-style:none;margin:0;padding:0;border-top:2px solid var(--color-ink)}.lp-step{display:grid;grid-template-columns:clamp(3rem,7vw,6rem) minmax(0,1fr);gap:var(--space-xl);align-items:baseline;border-bottom:1px solid var(--color-rule);padding:clamp(var(--space-lg),4vw,var(--space-xl)) 0}.lp-step-n{font-family:var(--font-display);font-size:clamp(3rem,7vw,6rem);font-weight:800;line-height:.9;color:var(--color-rule-2);-webkit-user-select:none;user-select:none;transition:color .3s cubic-bezier(.16,1,.3,1)}.lp-step:hover .lp-step-n{color:var(--color-accent)}.lp-step-body{display:grid;gap:var(--space-sm)}.lp-step-body h3{font-family:var(--font-display);font-size:clamp(var(--text-md),2.2vw,var(--text-xl));font-weight:700;line-height:1.1;letter-spacing:-.01em;margin:0}.lp-step-body p{max-width:58ch;color:var(--color-muted);font-size:var(--text-base);line-height:1.6;margin:0}.lp-shift{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;background:var(--color-paper-3);border-bottom:1px solid var(--color-rule)}.lp-shift-head{display:grid;gap:var(--space-xs);margin-block-end:clamp(var(--space-lg),3vw,var(--space-2xl))}.lp-shift .lp-section-sub{color:var(--color-ink-2)}.lp-shift-grid{display:grid;gap:0;border-top:2px solid var(--color-ink)}.lp-shift-row{display:grid;gap:var(--space-md);padding:clamp(var(--space-lg),3vw,var(--space-xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-shift-scene{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:-.01em}.lp-shift-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);align-items:stretch}.lp-shift-side{display:grid;gap:var(--space-xs);align-content:start;padding:var(--space-md);border-radius:var(--radius-xl);border:1px solid var(--color-rule-2);background:var(--color-paper)}.lp-shift-side--after{border-color:var(--color-ink);box-shadow:var(--shadow-sm)}.lp-shift-label{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.lp-shift-label--before{color:var(--color-bad)}.lp-shift-label--after{color:var(--color-accent)}.lp-shift-line{margin:0;color:var(--color-ink);font-size:var(--text-base);line-height:1.5}.lp-shift-side--before .lp-shift-line{color:var(--color-muted)}.lp-shift-note{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.45}.lp-shift-row[data-reveal]{transform:none}.lp-shift-row .lp-shift-side{opacity:0;transition:opacity .56s var(--ease-out),transform .56s var(--ease-out)}.lp-shift-row .lp-shift-side--before{transform:translate(-16px);transition-delay:60ms}.lp-shift-row .lp-shift-side--after{transform:translate(16px);transition-delay:.18s}.lp-shift-row.revealed .lp-shift-side{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.lp-shift-row .lp-shift-side{opacity:1;transform:none;transition:none}}@media(max-width:640px){.lp-shift-pair{grid-template-columns:1fr}}.lp-personas{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-personas-head{display:grid;gap:var(--space-xs);margin-block-end:clamp(var(--space-lg),3vw,var(--space-2xl))}.lp-persona-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin-block-end:var(--space-md)}.lp-persona-lg{display:grid;gap:var(--space-md);align-content:start;border:1px solid var(--color-rule-2);border-radius:var(--radius-2xl);background:var(--color-paper);padding:clamp(var(--space-lg),3vw,var(--space-xl));box-shadow:var(--shadow-sm);transition:box-shadow .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.lp-persona-lg:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.lp-persona-initial{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-pill);background:var(--color-ink);color:var(--color-paper);font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;flex-shrink:0}.lp-persona-initial--sm{width:2.25rem;height:2.25rem;font-size:var(--text-md)}.lp-persona-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.1;margin:0}.lp-persona-quote{color:var(--color-muted);font-size:var(--text-base);line-height:1.5;font-style:italic;margin:0}.lp-persona-traits{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.lp-persona-traits span{display:inline-flex;align-items:center;padding:var(--space-2xs) var(--space-sm);background:var(--color-paper-3);color:var(--color-ink-2);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-pill)}.lp-persona-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-sm)}.lp-persona-sm{display:grid;gap:var(--space-xs);align-content:start;border:1px solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);padding:var(--space-md);transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out),border-color .22s var(--ease-out)}.lp-persona-sm:hover{transform:translateY(-2px);border-color:var(--color-rule-2);box-shadow:var(--shadow-sm)}.lp-persona-sm strong{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;line-height:1.1;margin:0}.lp-persona-sm small{color:var(--color-accent);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lp-persona-sm-head{display:flex;align-items:center;gap:var(--space-sm)}.lp-persona-sm-line{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.45}.lp-persona-more{max-width:52ch;margin:var(--space-lg) 0 0;color:var(--color-muted);font-size:var(--text-base);font-style:italic;line-height:1.55}.lp-coach{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;background:var(--color-hero-bg);color:var(--color-hero-text);border-top:1px solid var(--color-ink);border-bottom:1px solid var(--color-ink)}.lp-coach-head{display:grid;gap:var(--space-xs);margin-block-end:clamp(var(--space-lg),3vw,var(--space-xl))}.lp-coach .lp-section-h{color:var(--color-hero-ink)}.lp-coach .lp-section-sub{color:var(--color-hero-muted)}.lp-coach-showcase{display:flex;justify-content:center}.lp-coach-card{display:grid;gap:var(--space-lg);width:min(100%,36rem);border:1px solid var(--color-rule-2);border-radius:var(--radius-2xl);background:var(--color-paper);padding:clamp(var(--space-lg),3vw,var(--space-xl));box-shadow:var(--shadow-md)}.lp-coach-verdict{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-pill);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;width:fit-content}.lp-verdict-good{background:var(--color-win-soft);color:var(--color-win)}.lp-coach-sections{display:grid;gap:var(--space-md)}.lp-coach-section h3{margin:0 0 var(--space-xs);color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase}.lp-coach-section ul{margin:0;padding-inline-start:var(--space-md);display:grid;gap:var(--space-xs)}.lp-coach-section li{color:var(--color-ink);font-size:var(--text-base);line-height:1.5}.lp-coach-betterline{margin:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;line-height:1.1;color:var(--color-ink)}.lp-score-grid{display:grid;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--color-rule)}.lp-score{display:grid;grid-template-columns:6rem minmax(0,1fr) 2.5rem;gap:var(--space-sm);align-items:center}.lp-score-label{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.lp-score-track{height:.4rem;border-radius:var(--radius-pill);background:var(--color-paper-3);overflow:hidden}.lp-score-fill{height:100%;width:100%;border-radius:inherit;background:var(--color-accent);transform:scaleX(0);transform-origin:left center;transition:transform .72s var(--ease-out)}.lp-coach-showcase.revealed .lp-score-fill{transform:scaleX(var(--pct, 0))}.lp-coach-showcase.revealed .lp-score:nth-child(1) .lp-score-fill{transition-delay:.14s}.lp-coach-showcase.revealed .lp-score:nth-child(2) .lp-score-fill{transition-delay:.22s}.lp-coach-showcase.revealed .lp-score:nth-child(3) .lp-score-fill{transition-delay:.3s}.lp-coach-showcase.revealed .lp-score:nth-child(4) .lp-score-fill{transition-delay:.38s}.lp-coach-showcase.revealed .lp-score:nth-child(5) .lp-score-fill{transition-delay:.46s}.lp-coach-showcase.revealed .lp-score:nth-child(6) .lp-score-fill{transition-delay:.54s}@media(prefers-reduced-motion:reduce){.lp-score-fill{transform:scaleX(var(--pct, 0));transition:none}}.lp-score-val{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;text-align:right;color:var(--color-ink-2)}.lp-compare{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-compare-head{display:grid;gap:var(--space-xs);margin-block-end:clamp(var(--space-xl),4vw,var(--space-2xl))}.lp-compare-table{border-top:2px solid var(--color-ink)}.lp-compare-row{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:var(--space-2xs) var(--space-lg);padding:clamp(var(--space-md),3vw,var(--space-lg)) 0;border-bottom:1px solid var(--color-rule)}@media(min-width:640px){.lp-compare-row{grid-template-columns:minmax(0,1.4fr) minmax(8rem,auto) minmax(0,2fr);grid-template-rows:auto;align-items:center}}.lp-compare-row--alt .lp-compare-label{color:var(--color-muted);font-size:var(--text-base);font-weight:600}.lp-compare-row--alt .lp-compare-cost{color:var(--color-muted);font-family:var(--font-display);font-size:var(--text-md);font-weight:700;white-space:nowrap}.lp-compare-row--alt .lp-compare-verdict{color:var(--color-muted);font-size:var(--text-sm);line-height:1.45;grid-column:1 / -1}@media(min-width:640px){.lp-compare-row--alt .lp-compare-verdict{grid-column:auto}}.lp-compare-row--us{border-bottom:none;border-top:2px solid var(--color-ink);margin-top:-1px}.lp-compare-row--us .lp-compare-label{font-family:var(--font-display);font-size:var(--text-lg);font-weight:800;letter-spacing:-.01em;color:var(--color-ink)}.lp-compare-row--us .lp-compare-cost{font-family:var(--font-display);font-size:clamp(var(--text-xl),3vw,var(--text-2xl));font-weight:800;letter-spacing:-.02em;color:var(--color-accent);white-space:nowrap}.lp-compare-row--us .lp-compare-verdict{font-size:var(--text-base);font-weight:600;color:var(--color-ink);line-height:1.45;grid-column:1 / -1}@media(min-width:640px){.lp-compare-row--us .lp-compare-verdict{grid-column:auto}}.lp-pricing{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-pricing-head{display:grid;gap:var(--space-xs);justify-items:center;text-align:center;margin-block-end:clamp(var(--space-lg),3vw,var(--space-xl))}.lp-pricing-disclaimer{font-size:var(--text-sm)}.lp-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-md);align-items:stretch}.lp-pricing-grid--two{grid-template-columns:repeat(2,minmax(0,1fr));max-width:52rem;margin-inline:auto}.lp-price-card{display:grid;gap:var(--space-md);align-content:start;border:1.5px solid var(--color-rule-2);border-radius:var(--radius-xl);background:var(--color-paper);padding:clamp(var(--space-lg),2.5vw,var(--space-xl));transition:transform .22s cubic-bezier(.16,1,.3,1)}.lp-price-card:hover{transform:translateY(-2px)}.lp-price-card--featured{border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.lp-plan-name{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.lp-price-card--featured .lp-plan-name{color:var(--color-paper-3)}.lp-plan-price{display:flex;align-items:baseline;gap:var(--space-2xs)}.lp-plan-price strong{font-family:var(--font-display);font-size:clamp(2.4rem,5vw,3.5rem);font-weight:800;line-height:1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:0}.lp-plan-price small{color:var(--color-muted);font-size:var(--text-base);font-weight:500}.lp-price-card--featured .lp-plan-price small{color:var(--color-paper-3)}.lp-plan-desc{color:var(--color-muted);font-size:var(--text-sm);line-height:1.5;margin:0}.lp-price-card--featured .lp-plan-desc{color:var(--color-paper-3)}.lp-plan-hook{color:var(--color-muted);font-size:var(--text-sm);line-height:1.5;margin:0;padding-bottom:var(--space-md);border-bottom:1px solid var(--color-rule-2)}.lp-price-card--featured .lp-plan-hook{color:var(--color-paper-3);border-bottom-color:color-mix(in oklch,var(--color-paper) 18%,transparent)}.lp-plan-features{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-sm);flex:1}.lp-plan-features li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);line-height:1.4;color:var(--color-ink-2)}.lp-plan-features li svg{flex-shrink:0;color:var(--color-accent)}.lp-price-card--featured .lp-plan-features li{color:var(--color-paper-3)}.lp-price-card--featured .lp-plan-features li svg{color:var(--color-accent);filter:brightness(1.4)}.lp-faq{padding:clamp(var(--space-2xl),7vw,var(--space-3xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-faq .lp-section-h{margin-block-end:clamp(var(--space-lg),3vw,var(--space-xl))}.lp-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:2px solid var(--color-ink)}.lp-faq-item{display:grid;gap:var(--space-sm);padding:clamp(var(--space-lg),3vw,var(--space-xl)) 0;border-bottom:1px solid var(--color-rule)}.lp-faq-item:nth-child(odd){padding-inline-end:clamp(var(--space-lg),4vw,var(--space-2xl));border-inline-end:1px solid var(--color-rule)}.lp-faq-item:nth-child(2n){padding-inline-start:clamp(var(--space-lg),4vw,var(--space-2xl))}.lp-faq-item dt{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;line-height:1.15;letter-spacing:-.01em}.lp-faq-item dd{margin:0;color:var(--color-muted);font-size:var(--text-base);line-height:1.6}.lp-cta-band{padding:clamp(var(--space-2xl),8vw,var(--space-3xl)) 0;background:var(--color-hero-bg);color:var(--color-hero-text);border-top:1px solid var(--color-ink)}.lp-cta-band-inner{display:grid;gap:var(--space-xl);justify-items:start}.lp-cta-heading{font-family:var(--font-display);font-size:clamp(var(--text-2xl),4.5vw,var(--text-display));font-weight:800;line-height:1;letter-spacing:-.02em;max-width:18ch;text-wrap:balance;margin:0;color:var(--color-hero-ink)}.lp-footer{display:flex;align-items:center;gap:var(--space-xs);justify-content:center;border-top:2px solid var(--color-ink);padding:var(--space-md) clamp(var(--space-md),4vw,var(--space-xl));color:var(--color-muted);font-size:var(--text-sm);text-align:center}.lp-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:var(--space-md);background:color-mix(in oklch,var(--color-scrim) 55%,transparent);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:backdrop-in .2s cubic-bezier(.16,1,.3,1) both}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.lp-modal{position:relative;display:grid;gap:var(--space-md);width:min(100%,26rem);border:2px solid var(--color-ink);border-radius:var(--radius-xl);background:var(--color-paper);padding:clamp(var(--space-lg),5vw,var(--space-xl));box-shadow:var(--shadow-lg);animation:modal-in .26s cubic-bezier(.16,1,.3,1) both}@keyframes modal-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.lp-modal-backdrop,.lp-modal{animation:none}}.lp-modal-close{position:absolute;top:var(--space-md);right:var(--space-md);display:grid;place-items:center;width:2rem;height:2rem;border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);cursor:pointer;transition:border-color .16s cubic-bezier(.16,1,.3,1),color .16s cubic-bezier(.16,1,.3,1)}.lp-modal-close:hover{border-color:var(--color-ink);color:var(--color-ink)}.lp-modal-close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.lp-modal-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.1;letter-spacing:-.01em;padding-inline-end:var(--space-xl);margin:0}.lp-modal-sub{color:var(--color-muted);font-size:var(--text-sm);line-height:1.5;margin:0}.lp-auth-form{display:grid;gap:var(--space-md)}.lp-field{display:grid;gap:var(--space-xs)}.lp-field>span{color:var(--color-muted);font-size:var(--text-sm);font-weight:700}.lp-field input{width:100%;min-height:2.875rem;border:1.5px solid var(--color-rule-2);border-radius:var(--radius-md);outline:none;background:var(--color-paper);color:var(--color-ink);padding:var(--space-sm) var(--space-md);font-size:var(--text-base);font-weight:500;transition:border-color .16s cubic-bezier(.16,1,.3,1),box-shadow .16s cubic-bezier(.16,1,.3,1)}.lp-field input::placeholder{color:var(--color-muted)}.lp-field input:focus{border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-focus) 20%,transparent)}.lp-auth-error{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:color-mix(in oklch,var(--color-bad) 10%,var(--color-paper));color:var(--color-bad);font-size:var(--text-sm);line-height:1.45;margin:0}.lp-auth-toggle{background:none;border:none;color:var(--color-muted);font-size:var(--text-sm);font-weight:600;cursor:pointer;text-align:center;text-decoration:underline;text-underline-offset:3px;padding:0;transition:color .16s cubic-bezier(.16,1,.3,1)}.lp-auth-toggle:hover{color:var(--color-ink)}@media(max-width:900px){.lp-hero-inner{grid-template-columns:1fr;gap:var(--space-xl)}.lp-demo-window{max-width:28rem;justify-self:center}.lp-hero-visual{justify-self:center;max-width:30rem}.lp-persona-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-pricing-grid,.lp-pricing-grid--two{grid-template-columns:1fr;max-width:28rem;margin-inline:auto}.lp-faq-grid{grid-template-columns:1fr}.lp-faq-item:nth-child(odd){padding-inline-end:0;border-inline-end:none}.lp-faq-item:nth-child(2n){padding-inline-start:0}}@media(max-width:640px){.lp-nav-links{display:none}.lp-h1{font-size:clamp(2.6rem,11vw,3.8rem)}.lp-persona-featured{grid-template-columns:1fr}.lp-persona-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lp-score{grid-template-columns:5rem minmax(0,1fr) 2rem}.lp-step{grid-template-columns:2.5rem minmax(0,1fr);gap:var(--space-md)}.lp-step-n{font-size:clamp(2rem,6vw,3rem)}.lp-cta-heading{font-size:clamp(var(--text-xl),7vw,var(--text-2xl))}}.interest-meter{display:grid;gap:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);padding:var(--space-md);box-shadow:var(--shadow-sm)}.interest-meter.compact{padding:var(--space-sm) var(--space-md);border-color:var(--color-rule);box-shadow:none}.interest-meter-head{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs)}.interest-meter-label{color:var(--color-muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase}.interest-meter-head strong{font-family:var(--font-display);font-size:var(--text-sm)}.interest-delta{margin-inline-start:auto;border-radius:var(--radius-pill);padding:var(--space-3xs) var(--space-xs);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800}.interest-delta.up{background:var(--color-win-soft);color:var(--color-win);animation:delta-pop .5s var(--ease-out)}@keyframes delta-pop{0%{transform:scale(.75) translateY(3px);opacity:0}55%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.interest-delta.down{background:color-mix(in oklch,var(--color-bad) 12%,var(--color-paper));color:var(--color-bad)}.interest-track{height:.55rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-paper-3)}.interest-fill{height:100%;width:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-interest),var(--color-accent));transform-origin:left center;transition:transform var(--dur-long) var(--ease-out)}.interest-meter.tone-hot .interest-fill{box-shadow:var(--shadow-glow)}.interest-value{color:var(--color-muted);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800}.conversation-player{display:grid;gap:var(--space-md);min-width:0}.conversation-player.compact .conversation-log{min-height:16rem;max-height:22rem}.conversation-log{display:flex;min-height:18rem;max-height:26rem;flex-direction:column;gap:var(--space-sm);overflow-y:auto;border-radius:var(--radius-xl);background:var(--color-paper-2);padding:var(--space-md)}.conv-bubble{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm);max-width:88%;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper);padding:var(--space-sm) var(--space-md);line-height:1.45;box-shadow:var(--shadow-sm)}.conv-bubble p{margin:0;min-width:0;overflow-wrap:anywhere}.conv-sender{display:block;margin-block-end:var(--space-3xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.conv-bubble.user{align-self:end;border-color:transparent;background:var(--color-accent);color:var(--color-accent-ink)}.conv-bubble.persona{align-self:start}.conv-bubble.coach{align-self:center;max-width:95%;border-color:color-mix(in oklch,var(--color-accent-2) 40%,var(--color-rule));background:color-mix(in oklch,var(--color-accent-2) 10%,var(--color-paper))}.conv-bubble.is-typing p:after{content:"";display:inline-block;width:.45em;height:.95em;margin-inline-start:var(--space-3xs);background:currentColor;vertical-align:-.12em;animation:conv-caret 1s steps(2) infinite}@keyframes conv-caret{50%{opacity:0}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:#07020073;padding:var(--space-md);animation:backdrop-in var(--dur-short) var(--ease-out)}@keyframes backdrop-in{0%{opacity:0}}.modal-panel{display:grid;gap:var(--space-lg);width:min(100%,28rem);max-height:min(90dvh,40rem);overflow-y:auto;border-radius:var(--radius-2xl);background:var(--color-paper);padding:var(--space-xl);box-shadow:var(--shadow-lg);animation:modal-in var(--dur-long) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(14px) scale(.97)}}.modal-panel h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);line-height:1.1}.stat-pill-row{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.stat-pill{display:inline-flex;align-items:center;gap:var(--space-2xs);border-radius:var(--radius-pill);background:var(--color-paper-2);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);font-weight:800}.stat-pill.win{background:var(--color-win-soft);color:var(--color-win);animation:win-pop .65s var(--ease-out)}@keyframes win-pop{0%{transform:scale(.82);opacity:.3}55%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.xp-bar{display:grid;gap:var(--space-2xs)}.xp-bar-track{height:.5rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-paper-3)}.xp-bar-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-accent),var(--color-win));transform-origin:left center;transition:transform var(--dur-long) var(--ease-out)}.diagnostic-shell{display:grid;gap:var(--space-xl);width:min(100%,40rem);margin:0 auto;padding:clamp(var(--space-lg),5vw,var(--space-2xl))}.diagnostic-progress{display:grid;gap:var(--space-xs)}.diagnostic-progress-bar{height:.45rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-paper-3)}.diagnostic-progress-fill{height:100%;border-radius:inherit;background:var(--color-accent);transform-origin:left center;transition:transform var(--dur-long) var(--ease-out)}.diagnostic-card{display:grid;gap:var(--space-lg);border-radius:var(--radius-2xl);background:var(--color-paper);padding:var(--space-xl);box-shadow:var(--shadow-md)}.diagnostic-card h1,.diagnostic-card h2{margin:0;font-family:var(--font-display);line-height:1.05}.diagnostic-card h1{font-size:var(--text-2xl)}.diagnostic-card h2{font-size:var(--text-xl)}.diagnostic-card p{margin:0;color:var(--color-muted);line-height:1.5}.example-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.example-chip{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);font-weight:700;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.example-chip:hover{border-color:var(--color-accent);transform:translateY(-1px)}.pattern-reveal{display:grid;gap:var(--space-lg);text-align:center}.pattern-reveal .pattern-badge{justify-self:center;border-radius:var(--radius-pill);background:var(--color-interest-soft);color:var(--color-interest);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:800}.coachmark{display:grid;gap:var(--space-xs);border:var(--rule-thin) solid color-mix(in oklch,var(--color-accent) 28%,var(--color-rule));border-radius:var(--radius-md);background:color-mix(in oklch,var(--color-accent) 8%,var(--color-paper));padding:var(--space-sm) var(--space-md);font-size:var(--text-sm);line-height:1.45}.coachmark strong{font-weight:800}.diagnostic-steps-list{margin:0;padding-inline-start:var(--space-lg);color:var(--color-muted);line-height:1.6}.textarea-shortcut{display:inline-flex;align-items:center;gap:.35rem;justify-self:start;color:var(--color-muted);font-size:var(--text-xs);font-weight:750;line-height:1.2}.textarea-shortcut svg{color:var(--color-accent-2);opacity:.85}.textarea-shortcut span{white-space:nowrap}.modal-actions{display:grid;gap:var(--space-sm)}.modal-panel-wide{max-width:min(720px,96vw);max-height:88vh;overflow-y:auto}.debrief-section{margin-block-start:var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule);padding-block-start:var(--space-lg);display:grid;gap:var(--space-md)}.debrief-section h3{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.debrief-section h4{font-size:var(--text-sm);font-weight:700;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-xs)}.debrief-summary{color:var(--color-base);font-size:var(--text-sm);line-height:1.6;margin:0}.debrief-weakest{background:color-mix(in srgb,var(--color-bad) 12%,transparent);border:var(--rule-thin) solid var(--color-bad);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-sm)}.debrief-moments{display:grid;gap:var(--space-md)}.debrief-moment{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);padding:var(--space-md);display:grid;gap:var(--space-xs);background:var(--color-paper)}.debrief-turn-label{font-size:var(--text-xs);font-weight:800;color:var(--color-muted);text-transform:uppercase;letter-spacing:.06em}.debrief-exchange{display:grid;gap:var(--space-3xs)}.debrief-msg{font-size:var(--text-sm);margin:0}.debrief-msg em{font-style:normal;font-weight:700}.debrief-annotation{font-size:var(--text-sm);color:var(--color-base);margin:0;padding-block-start:var(--space-xs);border-block-start:var(--rule-thin) solid var(--color-rule)}.debrief-better-play{font-size:var(--text-sm);color:var(--color-win);margin:0}.debrief-game-plan{background:color-mix(in srgb,var(--color-accent) 8%,transparent);border-radius:var(--radius-md);padding:var(--space-md)}.debrief-game-plan p{font-size:var(--text-sm);line-height:1.6;margin:0}.mode-section{display:grid;gap:var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-md);background:var(--color-paper-2);padding:var(--space-sm)}.mode-tabs{display:flex;gap:var(--space-3xs)}.mode-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3xs);border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper);border-radius:var(--radius-sm);padding:var(--space-xs) var(--space-2xs);font-size:var(--text-xs);font-weight:700;cursor:pointer;white-space:nowrap;transition:background .12s,border-color .12s,color .12s}.mode-tab[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.mode-tab-live[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-paper)}.mode-tab[data-tooltip]{position:relative}.mode-tab[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);z-index:var(--z-dropdown, 200);width:max-content;max-width:18rem;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-ink);color:var(--color-paper);padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);font-weight:600;line-height:1.45;text-align:center;white-space:normal;pointer-events:none;opacity:0;transition:opacity .12s var(--ease-out);filter:drop-shadow(0 1px 2px color-mix(in oklch,var(--color-ink) 20%,transparent))}.mode-tab[data-tooltip]:before{content:"";position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%);z-index:calc(var(--z-dropdown, 200) + 1);border:5px solid transparent;border-block-start-color:var(--color-ink);pointer-events:none;opacity:0;transition:opacity .12s var(--ease-out)}@media(hover:hover)and (pointer:fine){.mode-tab[data-tooltip]:hover:after,.mode-tab[data-tooltip]:focus-visible:after,.mode-tab[data-tooltip]:hover:before,.mode-tab[data-tooltip]:focus-visible:before{opacity:1}}.mode-desc{font-size:var(--text-xs);color:var(--color-muted);margin:0;line-height:1.5}.coach-style-row{display:flex;align-items:center;gap:var(--space-xs);padding-block-start:var(--space-xs);border-block-start:var(--rule-thin) solid var(--color-rule)}.section-label-inline{font-size:var(--text-xs);font-weight:800;color:var(--color-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.coach-style-tabs{display:flex;gap:var(--space-3xs);margin-inline-start:auto}.coach-style-tabs button{border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper);border-radius:var(--radius-sm);padding:var(--space-3xs) var(--space-sm);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.coach-style-tabs button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper);border-color:var(--color-ink)}.live-mode-badge{display:inline-flex;align-items:center;gap:4px;margin-inline-start:auto;background:var(--color-accent);color:var(--color-paper);border-radius:var(--radius-pill);padding:2px var(--space-xs);font-size:var(--text-xs);font-weight:800}.objective-badge{display:inline-flex;align-items:center;gap:4px;background:var(--color-win-soft);color:var(--color-win);border-radius:var(--radius-pill);padding:2px var(--space-xs);font-size:var(--text-xs);font-weight:800}.objective-banner{display:flex;align-items:center;gap:var(--space-xs);background:color-mix(in oklch,var(--color-accent) 6%,var(--color-paper-2));border-block-end:var(--rule-thin) solid var(--color-rule);padding:var(--space-xs) var(--space-md);font-size:var(--text-xs);color:var(--color-muted);margin-inline:calc(var(--space-lg) * -1);margin-block-start:calc(var(--space-md) * -1)}.objective-banner svg{flex-shrink:0;color:var(--color-accent)}.objective-check{margin-inline-start:auto;color:var(--color-win);font-weight:800}.bored-cue{text-align:center;font-size:var(--text-xs);color:var(--color-muted);font-style:italic;padding:var(--space-3xs) var(--space-md);margin:0;animation:fade-in .6s var(--ease-out)}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.conv-bubble.is-typing p:after{animation:none}.interest-fill,.diagnostic-progress-fill,.xp-bar-fill{transition-duration:.15s}.modal-backdrop,.modal-panel,.stat-pill.win,.interest-delta.up{animation:none}}.account-shell{min-height:100dvh;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body)}.account-header{display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);padding:var(--space-md) clamp(var(--space-md),4vw,var(--space-xl))}.account-header a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);text-decoration:none;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.account-header a:hover{border-color:var(--color-ink-2);color:var(--color-ink)}.account-title{margin:0;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-lg);font-weight:800;line-height:1.1;text-align:center}.account-content{width:min(100% - 2rem,42rem);margin:0 auto;padding:clamp(var(--space-lg),5vw,var(--space-2xl)) 0;display:grid;gap:var(--space-md)}.account-section{display:grid;gap:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper-2);padding:var(--space-lg)}.account-section:first-child{grid-template-columns:auto 1fr;align-items:center}.account-avatar{display:grid;place-items:center;width:3rem;height:3rem;border-radius:var(--radius-lg);background:var(--color-paper-3);color:var(--color-accent)}.account-email{margin:0;overflow-wrap:anywhere;color:var(--color-ink);font-size:var(--text-base);font-weight:800}.account-section-title{margin:0;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);font-weight:800;line-height:1.2}.account-theme-row,.account-delete-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.account-theme-btn,.account-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.5rem;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);padding:.625rem var(--space-md);font:inherit;font-size:var(--text-sm);font-weight:800;cursor:pointer;transition:background var(--dur-micro) var(--ease-out),border-color var(--dur-micro) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.account-theme-btn:hover,.account-btn:hover{border-color:var(--color-ink-2)}.account-theme-btn--active,.account-btn{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.account-btn:active{transform:scale(.98)}.account-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.account-btn--outline{border-color:var(--color-rule-2);background:transparent;color:var(--color-ink)}.account-section--danger{border-color:color-mix(in oklch,var(--color-bad) 35%,var(--color-rule));background:color-mix(in oklch,var(--color-bad) 4%,var(--color-paper-2))}.account-section--warn{border-color:color-mix(in oklch,var(--color-accent) 35%,var(--color-rule));background:color-mix(in oklch,var(--color-accent) 4%,var(--color-paper-2))}.account-section-copy{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.account-btn--danger{border-color:var(--color-bad);background:var(--color-bad);color:var(--color-paper)}.account-btn--warn{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.account-form,.account-delete-confirm{display:grid;gap:var(--space-md)}.account-form label,.account-delete-confirm label{display:grid;gap:var(--space-xs);color:var(--color-ink);font-size:var(--text-sm);font-weight:800}.account-form label span{color:var(--color-muted);font-size:var(--text-sm);font-weight:600}.account-form input,.account-delete-confirm input{width:100%;box-sizing:border-box;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-paper);color:var(--color-ink);padding:.8rem var(--space-md);font:inherit}.account-form input:focus,.account-delete-confirm input:focus{outline:none;border-color:var(--color-focus);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-focus) 20%,transparent)}.account-delete-confirm p,.account-error,.account-success{margin:0;color:var(--color-muted);font-size:var(--text-sm);line-height:1.5}.account-delete-confirm strong{color:var(--color-bad)}.account-error{color:var(--color-bad);font-weight:800}.account-success{color:var(--color-win);font-weight:800}@media(max-width:520px){.account-content{width:min(100% - 1rem,42rem)}.account-section{padding:var(--space-md)}.account-theme-btn,.account-btn{flex:1 1 auto}}@media(prefers-reduced-motion:reduce){.account-header a,.account-theme-btn,.account-btn{transition:none}}.progress-shell{min-height:100dvh;background:var(--color-paper)}.progress-nav{display:flex;align-items:center;gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);padding:var(--space-sm) clamp(var(--space-md),4vw,var(--space-xl))}.progress-back{display:inline-flex;align-items:center;gap:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:800;text-decoration:none;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.progress-back:hover{border-color:var(--color-ink-2);color:var(--color-ink)}}.progress-brand{color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:800;letter-spacing:.02em;text-transform:uppercase;text-decoration:none}.progress-container{max-width:72rem;margin:0 auto;padding:clamp(var(--space-xl),5vw,var(--space-2xl)) clamp(var(--space-md),4vw,var(--space-xl));display:grid;gap:var(--space-xl)}.progress-header{display:grid;gap:var(--space-sm)}.progress-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:700;letter-spacing:-.02em;color:var(--color-ink);line-height:1;text-wrap:balance}.progress-headline{font-size:var(--text-md);font-weight:600;color:var(--color-ink-2);line-height:1.4}.progress-headline .headline-accent{color:var(--color-accent)}.progress-headline .headline-good{color:var(--color-win)}.progress-headline .headline-neutral{color:var(--color-muted)}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-md)}.stat-tile{display:grid;gap:var(--space-3xs);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper-2);padding:var(--space-lg) var(--space-md)}.stat-tile-value{font-family:var(--font-outlier);font-size:var(--text-xl);font-weight:800;color:var(--color-ink);line-height:1}.stat-tile-value.accent{color:var(--color-accent)}.stat-tile-value.win{color:var(--color-win)}.stat-tile-value.warn{color:var(--color-warn)}.stat-tile-value.interest{color:var(--color-interest)}.stat-tile-label{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.progress-panel{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);overflow:hidden}.progress-panel-head{display:flex;align-items:baseline;gap:var(--space-sm);border-bottom:var(--rule-thin) solid var(--color-rule);padding:var(--space-md) var(--space-lg);background:var(--color-paper-2)}.progress-panel-head h2{font-size:var(--text-base);font-weight:800;color:var(--color-ink);letter-spacing:-.01em}.progress-panel-note{color:var(--color-muted);font-size:var(--text-sm)}.progress-panel-body{padding:var(--space-lg)}.progress-two-col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}@media(max-width:52rem){.progress-two-col{grid-template-columns:1fr}}.progress-three-col{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-md)}.radar-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:center}@media(max-width:44rem){.radar-layout{grid-template-columns:1fr}}.radar-center{display:flex;justify-content:center}.radar-legend{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md);margin-top:var(--space-sm);justify-content:center}.radar-legend-item{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-xs);font-weight:800;color:var(--color-muted)}.radar-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.radar-legend-baseline{width:14px;height:3px;background:var(--color-rule-2);flex-shrink:0}.skill-bars{display:grid;gap:var(--space-sm)}.skill-bar-row{display:grid;grid-template-columns:7rem 1fr auto;align-items:center;gap:var(--space-sm)}.skill-bar-label-col{display:flex;align-items:center;gap:var(--space-xs)}.skill-bar-name{font-size:var(--text-sm);font-weight:800;color:var(--color-ink);text-transform:capitalize;white-space:nowrap}.skill-delta{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;border-radius:var(--radius-pill);padding:0 var(--space-xs);white-space:nowrap}.skill-delta.up{background:var(--color-win-soft);color:var(--color-win)}.skill-delta.down{background:color-mix(in oklch,var(--color-bad) 12%,var(--color-paper));color:var(--color-bad)}.skill-bar-track{height:.55rem;border-radius:var(--radius-pill);background:var(--color-paper-3);overflow:hidden}.skill-bar-fill{height:100%;border-radius:inherit;background:var(--skill-color, var(--color-accent));width:100%}.skill-bar-value{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;color:var(--color-muted);text-align:right;min-width:2rem}.heatmap-wrap{overflow-x:auto;padding-bottom:var(--space-xs)}.heatmap-grid{display:grid;grid-template-columns:repeat(52,12px);grid-template-rows:repeat(7,12px);grid-auto-flow:column;gap:3px;min-width:fit-content}.heatmap-cell{width:12px;height:12px;background:var(--color-paper-3)}.bar-chart{display:grid;gap:var(--space-sm)}.bar-row{display:grid;grid-template-columns:8rem 1fr;align-items:center;gap:var(--space-sm)}.bar-label-col{display:grid;gap:1px}.bar-label{font-size:var(--text-sm);font-weight:800;color:var(--color-ink);text-transform:capitalize;white-space:nowrap}.bar-sublabel{font-size:var(--text-xs);color:var(--color-muted)}.bar-track-col{display:flex;align-items:center;gap:var(--space-sm)}.bar-track{flex:1;height:.55rem;border-radius:var(--radius-pill);background:var(--color-paper-3);overflow:hidden}.bar-fill{height:100%;border-radius:inherit;background:var(--bar-color, var(--color-accent));width:100%}.bar-value{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;color:var(--color-muted);min-width:1.5rem;text-align:right}.ring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:var(--space-lg)}.ring-wrap{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.ring-label{font-size:var(--text-sm);font-weight:800;color:var(--color-ink);text-align:center;line-height:1.3}.insights-list{display:grid;gap:var(--space-sm)}.insight-item{display:flex;gap:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);padding:var(--space-md)}.insight-item.good{border-color:color-mix(in oklch,var(--color-win) 28%,var(--color-rule));background:color-mix(in oklch,var(--color-win) 4%,var(--color-paper))}.insight-item.warn{border-color:color-mix(in oklch,var(--color-warn) 28%,var(--color-rule));background:color-mix(in oklch,var(--color-warn) 4%,var(--color-paper))}.insight-item.neutral{background:var(--color-paper-2)}.insight-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;margin-top:6px}.insight-item.good .insight-dot{background:var(--color-win)}.insight-item.warn .insight-dot{background:var(--color-warn)}.insight-item.neutral .insight-dot{background:var(--color-muted)}.insight-text{font-size:var(--text-sm);color:var(--color-ink);line-height:1.6}.recap-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--space-md)}.recap-stat{display:grid;gap:var(--space-3xs)}.recap-value{font-family:var(--font-outlier);font-size:var(--text-lg);font-weight:800;color:var(--color-ink);line-height:1}.recap-value.delta-up{color:var(--color-win)}.recap-value.delta-down{color:var(--color-bad)}.recap-label{font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--color-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-xl) var(--space-md);color:var(--color-muted);text-align:center}.empty-state p{font-size:var(--text-sm);line-height:1.5;max-width:28rem}.empty-state a{color:var(--color-accent);font-weight:800;text-decoration:none}.empty-state a:hover{text-decoration:underline;text-underline-offset:2px}@media(prefers-reduced-motion:reduce){.progress-back{transition:none}.skill-bar-fill,.bar-fill{transition:none!important;transform:scaleX(1)!important}}.progress-shell{min-height:100dvh;background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body)}.progress-loading{display:grid;min-height:100dvh;place-items:center;color:var(--color-muted);font-weight:800}.progress-header{display:grid;grid-template-columns:2.5rem 1fr auto;align-items:center;gap:var(--space-md);border-bottom:var(--rule-thin) solid var(--color-rule);padding:var(--space-md) clamp(var(--space-md),4vw,var(--space-xl))}.progress-header a{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink-2);text-decoration:none;transition:border-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.progress-header a:hover{border-color:var(--color-ink-2);color:var(--color-ink)}.progress-header h1{margin:0;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-lg);font-weight:800;line-height:1.1}.progress-content{width:min(100% - 2rem,72rem);margin:0 auto;padding:clamp(var(--space-lg),5vw,var(--space-2xl)) 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md)}.progress-stats-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md)}.progress-stat,.progress-baseline-gate,.progress-insights,.progress-skills,.progress-trend,.progress-paths,.progress-endings,.progress-week{display:grid;gap:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper-2);padding:var(--space-lg)}.progress-stat{gap:var(--space-2xs)}.progress-baseline-gate{grid-column:1 / -1;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.72fr);align-items:center;gap:clamp(var(--space-lg),5vw,var(--space-2xl));background:var(--color-paper-2);padding:clamp(var(--space-lg),5vw,var(--space-2xl))}.progress-baseline-copy{display:grid;gap:var(--space-md);justify-items:start}.progress-baseline-kicker{display:inline-flex;align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);background:var(--color-paper-3);color:var(--color-accent);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:800}.progress-baseline-copy h2{max-width:19ch;margin:0;color:var(--color-ink);font-family:var(--font-body);font-size:clamp(var(--text-lg),3vw,var(--text-2xl));font-weight:800;line-height:1.1;letter-spacing:-.02em}.progress-baseline-copy p{max-width:44rem;margin:0;color:var(--color-muted);font-size:var(--text-base);line-height:1.5}.progress-baseline-cta{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:2.75rem;border:var(--rule-thick) solid var(--color-ink);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);padding:0 var(--space-lg);font-size:var(--text-sm);font-weight:800;text-decoration:none}.progress-baseline-preview{display:grid;gap:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);padding:var(--space-lg)}.progress-baseline-preview-head{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-ink)}.progress-baseline-preview-head strong{font-size:var(--text-base);font-weight:800}.progress-baseline-preview-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-sm)}.progress-baseline-preview-row span{color:var(--color-muted);font-size:var(--text-sm);font-weight:800}.progress-baseline-preview-row b{color:var(--color-ink);font-family:var(--font-outlier);font-size:var(--text-xs);text-transform:uppercase}.progress-baseline-note{display:flex;align-items:center;gap:var(--space-xs);border-radius:var(--radius-lg);background:color-mix(in oklch,var(--color-win) 8%,var(--color-paper));color:var(--color-ink-2);padding:var(--space-sm);font-size:var(--text-sm);font-weight:800}.progress-stat strong{color:var(--color-ink);font-family:var(--font-outlier);font-size:var(--text-xl);font-weight:800;line-height:1}.progress-stat span,.progress-skill-bar>span,.progress-trend-item>span,.progress-path-row>span,.progress-ending-item span,.progress-week-row span{color:var(--color-muted);font-size:var(--text-sm);font-weight:800}.progress-insights,.progress-skills,.progress-trend{grid-column:1 / -1}.progress-insights h2,.progress-skills h2,.progress-trend h2,.progress-paths h2,.progress-endings h2,.progress-week h2{margin:0;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);font-weight:800;line-height:1.2}.progress-insights ul{display:grid;gap:var(--space-sm);margin:0;padding:0;list-style:none}.progress-insight{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-lg);background:var(--color-paper);color:var(--color-ink);padding:var(--space-md);line-height:1.5}.progress-insight--good{border-color:color-mix(in oklch,var(--color-win) 35%,var(--color-rule))}.progress-insight--warn{border-color:color-mix(in oklch,var(--color-warn) 35%,var(--color-rule))}.progress-skill-bars,.progress-trend-list,.progress-endings-list{display:grid;gap:var(--space-sm)}.progress-skill-bar,.progress-trend-item{display:grid;grid-template-columns:8rem minmax(0,1fr) 3rem;align-items:center;gap:var(--space-sm)}.progress-skill-bar>span{text-transform:capitalize}.progress-bar-track,.progress-path-bar{height:.6rem;overflow:hidden;border-radius:var(--radius-pill);background:var(--color-paper-3)}.progress-bar-fill,.progress-path-fill{height:100%;border-radius:inherit;background:var(--color-accent)}.progress-skill-bar strong,.progress-trend-item strong,.progress-path-row>span:last-child,.progress-ending-item strong,.progress-week-row strong{color:var(--color-ink);font-family:var(--font-outlier);font-size:var(--text-sm);font-weight:800;text-align:right}.progress-path-row{display:grid;grid-template-columns:minmax(8rem,1fr) minmax(0,1fr) auto;align-items:center;gap:var(--space-sm)}.progress-path-title{color:var(--color-ink)!important}.progress-ending-item,.progress-week-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-top:var(--rule-thin) solid var(--color-rule);padding-top:var(--space-sm)}.progress-ending-item:first-child,.progress-week-row:first-of-type{border-top:0;padding-top:0}@media(max-width:760px){.progress-content,.progress-stats-row,.progress-baseline-gate,.progress-skill-bar,.progress-trend-item,.progress-path-row{grid-template-columns:1fr}.progress-skill-bar strong,.progress-trend-item strong,.progress-path-row>span:last-child{text-align:left}}@media(prefers-reduced-motion:reduce){.progress-header a{transition:none}}.tutorial-shell{min-height:100dvh;background:var(--color-paper)}.tutorial-nav{position:sticky;top:0;z-index:var(--z-sticky);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-bottom:var(--rule-thick) solid var(--color-ink);background:var(--color-paper);padding:var(--space-sm) clamp(var(--space-md),4vw,var(--space-xl));color:var(--color-muted);font-size:var(--text-sm);font-weight:800}.back-link,.shuffle-btn{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;gap:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);padding-inline:var(--space-md);font-size:var(--text-sm);font-weight:800;text-decoration:none;white-space:nowrap;transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.tutorial-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(20rem,.75fr);gap:var(--space-xl);align-items:end;max-width:92rem;margin:0 auto;padding:clamp(var(--space-xl),7vw,var(--space-3xl)) clamp(var(--space-md),4vw,var(--space-xl)) var(--space-xl)}.tutorial-hero h1{max-width:10ch;font-family:var(--font-display);font-size:var(--text-display);font-weight:800;line-height:.96;letter-spacing:0}.tutorial-hero>p{color:var(--color-muted);font-size:var(--text-md);line-height:1.5}.tutorial-grid{display:grid;grid-template-columns:minmax(17rem,.65fr) minmax(0,1.35fr);gap:var(--space-lg);align-items:start;max-width:92rem;margin:0 auto;padding:0 clamp(var(--space-md),4vw,var(--space-xl)) var(--space-3xl)}.tutorial-list{position:sticky;top:calc(3.75rem + var(--space-md));display:grid;gap:var(--space-xs);max-height:calc(100dvh - 5.75rem);overflow-y:auto;border:var(--rule-thick) solid var(--color-ink);border-radius:var(--radius-lg);background:var(--color-paper);padding:var(--space-sm)}.tutorial-list button{display:grid;gap:var(--space-2xs);min-width:0;border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);color:var(--color-ink);padding:var(--space-md);text-align:left;transition:background-color var(--dur-short) var(--ease-out),border-color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.tutorial-list button[aria-pressed=true]{border-color:var(--color-ink);background:color-mix(in oklch,var(--color-accent) 14%,var(--color-paper))}.tutorial-list strong{font-family:var(--font-display);font-size:var(--text-md);line-height:1.1}.tutorial-list span{color:var(--color-muted);font-size:var(--text-xs);font-weight:800;line-height:1.35;text-transform:uppercase}.tutorial-stage{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:calc(100dvh - 8.25rem);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-2xl);background:var(--color-paper);overflow:hidden;box-shadow:var(--shadow-md)}.tutorial-player-wrap{padding:var(--space-lg)}.tutorial-stage-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md);align-items:start;border-bottom:var(--rule-thick) solid var(--color-ink);background:var(--color-paper);padding:var(--space-lg)}.tutorial-stage-head h2{margin-block:var(--space-xs);font-family:var(--font-display);font-size:var(--text-2xl);line-height:1}.tutorial-stage-head p{max-width:58ch;color:var(--color-muted);line-height:1.5}.tutorial-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.tutorial-tags span{border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-muted);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-xs);font-weight:800;text-transform:uppercase}.tutorial-log{display:flex;min-height:0;max-height:calc(100dvh - 18rem);flex-direction:column;gap:var(--space-sm);overflow-y:auto;padding:var(--space-lg)}.tutorial-bubble{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-xs);max-width:min(42rem,82%);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-lg);background:var(--color-paper);padding:var(--space-sm) var(--space-md);line-height:1.45}.tutorial-bubble p{min-width:0;overflow-wrap:anywhere}.tutorial-bubble.user{align-self:end;border-color:var(--color-ink);background:var(--color-ink);color:var(--color-paper)}.tutorial-bubble.persona{align-self:start}.tutorial-bubble.coach{align-self:center;max-width:min(48rem,92%);border-color:var(--color-accent-2);background:color-mix(in oklch,var(--color-accent-2) 13%,var(--color-paper))}.tutorial-bubble.is-typing p:after{content:"";display:inline-block;width:.55em;height:1em;margin-inline-start:var(--space-3xs);background:currentColor;vertical-align:-.15em;animation:tutorial-caret-blink 1s steps(2) infinite}@keyframes tutorial-caret-blink{50%{opacity:0}}@media(hover:hover)and (pointer:fine){.back-link:hover,.shuffle-btn:hover,.tutorial-list button:hover{border-color:var(--color-ink);transform:translateY(-1px)}}.back-link:active,.shuffle-btn:active,.tutorial-list button:active{transform:translateY(1px)}@media(max-width:68rem){.tutorial-hero,.tutorial-grid{grid-template-columns:1fr}.tutorial-list{position:static;max-height:none;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.tutorial-stage{min-height:42rem}.tutorial-log{max-height:34rem}}@media(max-width:42rem){.tutorial-nav{align-items:stretch;flex-direction:column}.back-link{width:100%}.tutorial-hero{padding-block-start:var(--space-xl)}.tutorial-list{grid-template-columns:1fr}.tutorial-stage-head{grid-template-columns:1fr;padding:var(--space-md)}.shuffle-btn{width:100%}.tutorial-log{padding:var(--space-md)}.tutorial-bubble{max-width:100%}}@media(prefers-reduced-motion:reduce){.tutorial-bubble.is-typing p:after{animation:none}}.learn-nav{justify-content:flex-start}.learn-tabs{display:inline-flex;gap:var(--space-2xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);padding:var(--space-2xs);background:var(--color-paper-2)}.learn-tabs button{display:inline-flex;align-items:center;gap:var(--space-2xs);border:none;border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:800;font-family:var(--font-body);cursor:pointer;white-space:nowrap;transition:background var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.learn-tabs button[aria-selected=true]{background:var(--color-ink);color:var(--color-paper)}.learn-lessons-grid{max-width:60rem;margin:0 auto;padding:var(--space-xl) clamp(var(--space-md),4vw,var(--space-xl));display:grid;gap:var(--space-sm)}.learn-lesson-card{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-xl);background:var(--color-paper);overflow:hidden;transition:border-color var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out);opacity:0;transform:translateY(8px);animation:cardIn .35s var(--ease-out) forwards;animation-delay:calc(var(--card-i, 0) * 40ms)}@keyframes cardIn{to{opacity:1;transform:none}}.learn-lesson-card.recommended{border-color:color-mix(in oklch,var(--color-accent) 30%,var(--color-rule))}@media(hover:hover)and (pointer:fine){.learn-lesson-card:hover{border-color:var(--color-rule-2);box-shadow:var(--shadow-sm)}}.learn-lesson-toggle{display:grid;gap:var(--space-2xs);width:100%;border:none;background:none;padding:var(--space-lg);text-align:left;cursor:pointer}.learn-lesson-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px;border-radius:var(--radius-xl)}.learn-lesson-meta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.learn-skill-chip{display:inline-flex;align-items:center;gap:var(--space-xs);border-radius:var(--radius-pill);background:color-mix(in oklch,var(--chip-color, var(--color-accent)) 12%,var(--color-paper));color:var(--chip-color, var(--color-accent));padding:var(--space-2xs) var(--space-sm);font-family:var(--font-outlier);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.recommended-tag{border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);padding:0 var(--space-xs);font-size:calc(var(--text-xs) * .9)}.learn-read-time{display:inline-flex;align-items:center;gap:var(--space-2xs);color:var(--color-muted);font-size:var(--text-xs);font-weight:800}.learn-lesson-title{font-size:var(--text-md);font-weight:800;color:var(--color-ink);letter-spacing:-.01em;line-height:1.25;text-wrap:balance}.learn-key-line{color:var(--color-muted);font-size:var(--text-sm);line-height:1.5;font-style:italic}.learn-lesson-body{display:grid;gap:var(--space-lg);border-top:var(--rule-thin) solid var(--color-rule);padding:var(--space-lg);background:var(--color-paper-2);animation:expandIn .25s var(--ease-out)}@keyframes expandIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.learn-lesson-prose{display:grid;gap:var(--space-md);max-width:65ch}.learn-lesson-prose p{font-size:var(--text-base);color:var(--color-ink);line-height:1.65;text-wrap:pretty}.learn-lesson-ctas{display:flex;gap:var(--space-sm);flex-wrap:wrap}.learn-cta-playbook{display:inline-flex;align-items:center;gap:var(--space-xs);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-pill);background:var(--color-paper);color:var(--color-ink);padding:.5rem var(--space-md);font-size:var(--text-sm);font-weight:800;font-family:var(--font-body);cursor:pointer;transition:border-color var(--dur-short) var(--ease-out)}@media(hover:hover)and (pointer:fine){.learn-cta-playbook:hover{border-color:var(--color-ink-2)}}.learn-cta-practice{display:inline-flex;align-items:center;gap:var(--space-xs);border:none;border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-ink);padding:.5rem var(--space-md);font-size:var(--text-sm);font-weight:800;text-decoration:none;transition:background var(--dur-micro) var(--ease-out)}@media(hover:hover)and (pointer:fine){.learn-cta-practice:hover{background:#b20015;background:oklch(48% .2 26)}}@media(prefers-reduced-motion:reduce){.learn-lesson-card{animation:none;opacity:1;transform:none}.learn-lesson-body{animation:none}.learn-tabs button,.learn-cta-playbook,.learn-cta-practice{transition:none}}
