:root{--font-sans:var(--font-inter),ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-display-family),var(--font-sans);--font-mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;--fs-display:clamp(2.5rem,1.6rem + 3.6vw,4rem);--fs-h1:clamp(1.875rem,1.35rem + 2.1vw,2.75rem);--fs-h2:clamp(1.375rem,1.18rem + 0.8vw,1.75rem);--fs-h3:1.125rem;--fs-body:1rem;--fs-body-lg:1.0625rem;--fs-small:0.875rem;--fs-caption:0.75rem;--fs-num-sm:1.3125rem;--fs-num:1.5rem;--fs-num-lg:1.75rem;--fs-num-xl:clamp(1.75rem,1.1rem + 2.6vw,2.75rem);--fs-prompt:clamp(1.125rem,0.95rem + 0.7vw,1.4rem);--fs-mark:1.125rem;--fs-chart-label:9px;--lh-tight:1.04;--lh-snug:1.2;--lh-normal:1.45;--lh-body:1.65;--tracking-tight:-0.02em;--tracking-caps:0.06em;--measure:68ch;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--pad-shell:clamp(var(--sp-4),1.2vw + 10px,var(--sp-8));--pad-panel:clamp(var(--sp-4),0.6vw + 12px,var(--sp-5));--pad-hero:clamp(var(--sp-5),2.2vw + 8px,var(--sp-10));--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-pill:999px;--dur-fast:120ms;--dur:160ms;--dur-slow:220ms;--ease:cubic-bezier(0.2,0.6,0.3,1);--sidebar-w:272px;--shell-max:1360px;--content-max:1200px;color-scheme:light}:root,html[data-theme=light]{--canvas:#f4f6f6;--bg:#ffffff;--surface:#f4f6f6;--panel:#ffffff;--surface-raised:#fafbfb;--surface-sunken:#eef1f1;--text:#0d1a17;--text-2:#4a5854;--text-3:#6c7a76;--muted:#4a5854;--line:#e2e7e6;--line-strong:#cbd4d2;--accent:#0d9373;--accent-strong:#0a7a60;--accent-ink:#086552;--accent-contrast:#ffffff;--accent-soft:#e6f4f0;--ok:#157f4e;--ok-soft:#e8f5ee;--danger:#c0241c;--danger-soft:#fdeceb;--warn:#a95c07;--warn-soft:#fdf1e2;--info:#2158c9;--info-soft:#e9effc;--soft:var(--accent-soft);--accent-2:#b3335a;--accent-3:var(--info);--accent-4:var(--warn);--shadow-1:0 1px 2px rgba(13,26,23,0.05);--shadow-2:0 2px 4px rgba(13,26,23,0.04),0 8px 20px -12px rgba(13,26,23,0.16);--shadow-3:0 4px 8px rgba(13,26,23,0.05),0 24px 48px -24px rgba(13,26,23,0.28);--ring:0 0 0 3px color-mix(in srgb,var(--accent) 26%,transparent);color-scheme:light}@media (prefers-color-scheme:dark){:root{--canvas:#0a0f11;--bg:#0f1518;--surface:#0a0f11;--panel:#131b1e;--surface-raised:#182126;--surface-sunken:#0d1416;--text:#e8f0ee;--text-2:#a3b2ae;--text-3:#7d8c88;--muted:#a3b2ae;--line:#242f33;--line-strong:#33434a;--accent:#2fcfa3;--accent-strong:#4ce0b8;--accent-ink:#7de8ca;--accent-contrast:#05211a;--accent-soft:rgba(47,207,163,0.13);--ok:#45d18b;--ok-soft:rgba(69,209,139,0.13);--danger:#ff8079;--danger-soft:rgba(255,128,121,0.13);--warn:#efb054;--warn-soft:rgba(239,176,84,0.13);--info:#79aefc;--info-soft:rgba(121,174,252,0.13);--soft:var(--accent-soft);--accent-2:#f2879f;--accent-3:var(--info);--accent-4:var(--warn);--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 2px 4px rgba(0,0,0,0.3),0 8px 20px -12px rgba(0,0,0,0.6);--shadow-3:0 4px 8px rgba(0,0,0,0.32),0 24px 48px -24px rgba(0,0,0,0.8);--ring:0 0 0 3px color-mix(in srgb,var(--accent) 32%,transparent);color-scheme:dark}}html[data-theme=dark]{--canvas:#0a0f11;--bg:#0f1518;--surface:#0a0f11;--panel:#131b1e;--surface-raised:#182126;--surface-sunken:#0d1416;--text:#e8f0ee;--text-2:#a3b2ae;--text-3:#7d8c88;--muted:#a3b2ae;--line:#242f33;--line-strong:#33434a;--accent:#2fcfa3;--accent-strong:#4ce0b8;--accent-ink:#7de8ca;--accent-contrast:#05211a;--accent-soft:rgba(47,207,163,0.13);--ok:#45d18b;--ok-soft:rgba(69,209,139,0.13);--danger:#ff8079;--danger-soft:rgba(255,128,121,0.13);--warn:#efb054;--warn-soft:rgba(239,176,84,0.13);--info:#79aefc;--info-soft:rgba(121,174,252,0.13);--soft:var(--accent-soft);--accent-2:#f2879f;--accent-3:var(--info);--accent-4:var(--warn);--shadow-1:0 1px 2px rgba(0,0,0,0.4);--shadow-2:0 2px 4px rgba(0,0,0,0.3),0 8px 20px -12px rgba(0,0,0,0.6);--shadow-3:0 4px 8px rgba(0,0,0,0.32),0 24px 48px -24px rgba(0,0,0,0.8);--ring:0 0 0 3px color-mix(in srgb,var(--accent) 32%,transparent);color-scheme:dark}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--sp-16);-webkit-text-size-adjust:100%}body,html{margin:0;min-height:100%;background:var(--canvas);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-synthesis-weight:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{font-variant-numeric:tabular-nums}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:var(--tracking-tight);text-wrap:balance}p{text-wrap:pretty}::selection{background:color-mix(in srgb,var(--accent) 24%,transparent)}a{color:var(--accent-ink);text-underline-offset:.18em}hr{height:1px;border:0;background:var(--line)}code,kbd,pre,samp{font-family:var(--font-mono)}img,svg{max-width:100%}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}button{min-height:44px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-small);font-weight:600;line-height:var(--lh-snug);cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}button:hover:not(:disabled):not([aria-disabled=true]){border-color:var(--accent);background:var(--accent-soft)}button:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}button:disabled,button[aria-disabled=true]{opacity:.5;cursor:not-allowed}button.primary{border-color:transparent;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-1)}button.primary:hover:not(:disabled):not([aria-disabled=true]){border-color:transparent;background:var(--accent-strong);box-shadow:var(--shadow-2)}button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}button.small{min-height:36px;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-caption)}input,select,textarea{width:100%;min-height:44px;font-size:var(--fs-body);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--bg);color:var(--text);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),background var(--dur) var(--ease)}input::placeholder,textarea::placeholder{color:var(--text-3)}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--line-strong)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}input[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 24%,transparent)}select{appearance:none;padding-right:var(--sp-8);background-image:linear-gradient(45deg,transparent 50%,currentColor 0),linear-gradient(135deg,currentColor 50%,transparent 0);background-position:calc(100% - 18px) calc(50% + 1px),calc(100% - 12px) calc(50% + 1px);background-size:6px 6px,6px 6px;background-repeat:no-repeat}textarea{min-height:160px;line-height:var(--lh-normal);resize:vertical}input[type=range]{min-height:32px;padding:0;border:0;background:transparent;accent-color:var(--accent)}input[type=range]:focus{box-shadow:none}input[type=range]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.stats-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}.skip-link{position:absolute;left:var(--sp-2);top:-100px;z-index:1000;min-height:44px;display:inline-flex;align-items:center;padding:var(--sp-2) var(--sp-4);border:1px solid var(--accent);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-weight:700;text-decoration:none;box-shadow:var(--shadow-3);transition:none}.skip-link:focus,.skip-link:focus-visible{top:var(--sp-2)}#content:focus{outline:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.stats-app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;background:var(--canvas);color:var(--text)}.stats-sidebar{position:sticky;top:0;height:100vh;display:grid;grid-template-rows:auto auto 1fr;gap:var(--sp-6);padding:var(--sp-6) var(--sp-4);padding-left:max(var(--sp-4),env(safe-area-inset-left));border-right:1px solid var(--line);background:var(--panel);overflow:auto;overscroll-behavior:contain}.stats-brand{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--sp-3);align-items:center;text-decoration:none;color:inherit}.stats-brand img{border-radius:var(--r-sm);background:var(--accent-soft)}.stats-brand strong{display:block;font-family:var(--font-display);font-size:var(--fs-num-sm);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--lh-snug)}.stats-brand span{display:block;margin-top:2px;color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-nav{display:grid;gap:2px}.stats-nav a{position:relative;min-height:44px;display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-sm);color:var(--text-2);font-size:var(--fs-small);font-weight:600;text-decoration:none;transition:background var(--dur) var(--ease),color var(--dur) var(--ease)}.stats-nav a:hover{background:var(--surface-sunken);color:var(--text)}.stats-nav a.active{background:var(--accent-soft);color:var(--accent-ink)}.stats-nav a.active:before{content:"";position:absolute;left:0;top:50%;width:3px;height:18px;border-radius:var(--r-pill);background:var(--accent);transform:translateY(-50%)}.stats-entitlement{align-self:end;display:grid;gap:var(--sp-1);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-raised)}.stats-entitlement span{color:var(--accent-ink);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-entitlement strong{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;letter-spacing:var(--tracking-tight);overflow-wrap:anywhere}.stats-entitlement small{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}a.stats-entitlement-cta{color:inherit;text-decoration:none;border-color:color-mix(in srgb,var(--accent) 34%,var(--line));background:linear-gradient(160deg,var(--accent-soft),var(--surface-raised));transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}a.stats-entitlement-cta:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-1px)}.stats-main{min-width:0;width:100%;max-width:var(--shell-max);margin-inline:auto;display:grid;gap:var(--sp-5);align-content:start;padding:var(--pad-shell);padding-right:max(var(--pad-shell),env(safe-area-inset-right))}.stats-data-hero,.stats-hero,.stats-panel,.stats-topbar{border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-1)}.stats-panel{min-width:0;display:grid;gap:var(--sp-4);align-content:start;padding:var(--pad-panel)}.stats-layout{display:grid;gap:var(--sp-5)}.stats-panel-head{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:flex-start}.stats-panel-head>div{min-width:0}.stats-panel h2,.stats-panel-head h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-snug);overflow-wrap:anywhere}.stats-panel-head input{max-width:300px}.stats-panel>p{margin:0;max-width:var(--measure);color:var(--text-2);line-height:var(--lh-body)}.stats-kicker{margin:0 0 2px;color:var(--accent-ink);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);line-height:var(--lh-normal);text-transform:uppercase}.stats-topbar{display:flex;justify-content:space-between;gap:var(--sp-5);align-items:center;padding:var(--pad-panel)}.stats-topbar h1{margin:0;font-size:var(--fs-h1);line-height:var(--lh-snug)}.stats-mini-metrics{display:grid;grid-template-columns:repeat(3,minmax(84px,1fr));gap:var(--sp-2)}.stats-mini-metrics div{min-width:0;padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised);text-align:center}.stats-mini-metrics strong{display:block;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug)}.stats-mini-metrics span{display:block;margin-top:2px;color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.file-button,.stats-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-small);font-weight:600;line-height:var(--lh-snug);text-align:center;text-decoration:none;cursor:pointer;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.file-button:focus-within,.file-button:hover,.stats-button:hover{border-color:var(--accent);background:var(--accent-soft)}.stats-button:active{transform:translateY(1px)}.stats-button.primary{border-color:transparent;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-1)}.stats-button.primary:hover{background:var(--accent-strong);box-shadow:var(--shadow-2)}.stats-button.small{min-height:36px;padding:var(--sp-1) var(--sp-3);font-size:var(--fs-caption)}.file-button{position:relative}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.stats-tabs{display:flex;gap:var(--sp-2);overflow-x:auto;padding:2px 2px var(--sp-2);margin-bottom:calc(-1 * var(--sp-2));scrollbar-width:thin;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.stats-tabs button{flex:0 0 auto;min-width:146px;max-width:240px;min-height:56px;display:grid;gap:2px;align-content:center;padding:var(--sp-2) var(--sp-4);border-radius:var(--r-sm);background:var(--panel);scroll-snap-align:start;text-align:left}.stats-tabs button span{font-size:var(--fs-small);font-weight:600;overflow-wrap:anywhere}.stats-tabs button small{color:var(--text-3);font-size:var(--fs-caption);font-weight:600}.stats-tabs button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:var(--shadow-1)}.stats-pill,.stats-tabs button small.locked,.stats-tabs button.active small{color:var(--accent-ink)}.stats-chip-row span,.stats-pill{display:inline-flex;align-items:center;min-height:26px;padding:3px var(--sp-2);border:1px solid color-mix(in srgb,var(--accent) 26%,var(--line));border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:600;line-height:var(--lh-normal);white-space:nowrap}.stats-chip-row{display:flex;flex-wrap:wrap;gap:var(--sp-2)}.stats-grid{display:grid;gap:var(--sp-3)}.stats-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stats-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-calc-grid,.stats-two{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,400px);gap:var(--sp-4);align-items:start}.stats-two.wide-left{grid-template-columns:minmax(0,1fr) minmax(280px,.36fr)}.stats-calc-grid{grid-template-columns:minmax(220px,.26fr) minmax(0,1fr) minmax(230px,.26fr)}.stats-metric{min-width:0;display:grid;gap:2px;align-content:start;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-1)}.stats-metric strong{font-family:var(--font-display);font-size:var(--fs-num-lg);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--lh-snug);overflow-wrap:anywhere}.stats-metric span{color:var(--text-2);font-size:var(--fs-small);font-weight:600}.stats-metric p{margin:var(--sp-1) 0 0;color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-progress{height:8px;overflow:hidden;border-radius:var(--r-pill);background:var(--surface-sunken)}.stats-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent-strong));transition:width var(--dur-slow) var(--ease)}.stats-list,.stats-mastery-list,.stats-step-list{display:grid;gap:var(--sp-2);margin:0;padding:0;list-style:none;counter-reset:none}.stats-list{max-height:58vh;overflow:auto;overscroll-behavior:contain;padding-right:2px;scrollbar-width:thin}.stats-list-item,.stats-mastery-row{width:100%;display:grid;gap:2px;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised);color:var(--text);font-size:var(--fs-small);text-align:left;text-decoration:none;transition:border-color var(--dur) var(--ease),background var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}.stats-list-item strong,.stats-mastery-row span:first-child{font-size:var(--fs-small);font-weight:600;overflow-wrap:anywhere}.stats-list-item span{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-list-item:hover,.stats-mastery-row:hover{border-color:var(--line-strong);background:var(--surface-sunken)}.stats-list-item:active{transform:translateY(1px)}.stats-list-item.active{border-color:var(--accent);background:var(--accent-soft)}.stats-list-item.active strong{color:var(--accent-ink)}.stats-mastery-row{grid-template-columns:minmax(110px,.4fr) minmax(120px,1fr) auto;gap:var(--sp-3);align-items:center}.stats-mastery-row strong{font-size:var(--fs-small);font-weight:600}.stats-empty{margin:0;display:grid;gap:var(--sp-1);justify-items:center;padding:var(--sp-8) var(--sp-4);border:1px dashed var(--line-strong);border-radius:var(--r-md);background:var(--surface-raised);color:var(--text-3);font-size:var(--fs-small);text-align:center}.stats-empty h2,.stats-empty h3,.stats-empty strong{margin:0;color:var(--text);font-size:var(--fs-body);font-weight:600}.stats-empty p,.stats-empty>span:not(.stats-empty-mark){margin:0;max-width:42ch;color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-normal)}.stats-empty-mark{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:var(--sp-1);border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--text-3);font-size:var(--fs-mark);line-height:1}.stats-empty .stats-button{margin-top:var(--sp-3)}.stats-quiz-meta{display:flex;align-items:center;gap:var(--sp-3);flex-shrink:0}.stats-quiz-count{color:var(--text-3);font-variant-numeric:tabular-nums}.stats-quiz-count,.stats-quiz-timer{font-size:var(--fs-small);white-space:nowrap}.stats-quiz-timer{display:inline-flex;align-items:center;min-height:28px;padding:0 var(--sp-3);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--text-2);font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:600;letter-spacing:var(--tracking-tight)}.stats-quiz-timer.low{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:var(--warn-soft);color:var(--warn)}.stats-quiz-timer.out{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:var(--danger-soft);color:var(--danger)}.stats-timeup .stats-actions{margin-top:var(--sp-2)}.stats-note{border:1px solid color-mix(in srgb,var(--info) 24%,var(--line));border-left:3px solid var(--info);border-radius:var(--r-sm);background:var(--info-soft);color:var(--text-2)}.stats-error,.stats-note{margin:0;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-small);line-height:var(--lh-normal)}.stats-error{display:flex;gap:var(--sp-2);align-items:flex-start;border:1px solid color-mix(in srgb,var(--danger) 34%,var(--line));border-left:3px solid var(--danger);border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-weight:600}.stats-error:before{content:"!";flex:none;display:grid;place-items:center;width:18px;height:18px;margin-top:1px;border-radius:var(--r-pill);background:var(--danger);color:var(--panel);font-size:var(--fs-caption);font-weight:800}.stats-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:var(--sp-4);align-items:end}.stats-field{display:grid;gap:var(--sp-2);min-width:0}.stats-field>span{display:flex;justify-content:space-between;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-small);font-weight:600}.stats-field small{color:var(--text-3);font-size:var(--fs-caption);font-weight:500;line-height:var(--lh-normal)}.stats-field.invalid>span{color:var(--danger)}.stats-field.invalid input,.stats-field.invalid textarea{border-color:var(--danger);background:var(--danger-soft)}.stats-field.invalid input:focus-visible,.stats-field.invalid textarea:focus-visible{border-color:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 26%,transparent)}.stats-hint{margin:0;color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-table-wrap{position:relative;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);background-image:linear-gradient(to right,var(--panel) 30%,transparent),linear-gradient(to left,var(--panel) 30%,transparent),linear-gradient(to right,rgba(0,0,0,.09),transparent 14px),linear-gradient(to left,rgba(0,0,0,.09),transparent 14px);background-position:0,100%,0,100%;background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;background-attachment:local,local,scroll,scroll}table{width:100%;border-collapse:collapse;min-width:640px;font-size:var(--fs-small)}td,th{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--line);text-align:left;vertical-align:top}thead th{position:sticky;top:0;background:var(--surface-sunken);color:var(--text-2);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-symbol{text-transform:none;letter-spacing:0}tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}tbody tr:hover{background:var(--surface-raised)}td{font-variant-numeric:tabular-nums}caption{padding:var(--sp-3) var(--sp-4);text-align:left;font-weight:700}.stats-data-hero,.stats-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);gap:var(--sp-8);align-items:center;padding:var(--pad-hero);overflow:hidden}.stats-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 140% at 100% 0,color-mix(in srgb,var(--accent) 12%,transparent),transparent 62%),radial-gradient(90% 120% at 0 100%,color-mix(in srgb,var(--info) 7%,transparent),transparent 58%);pointer-events:none}.stats-data-hero>*,.stats-hero>*{position:relative}.stats-data-hero>div:first-child,.stats-hero-copy{display:grid;gap:var(--sp-3);justify-items:start}.stats-data-hero h2,.stats-hero h1,.stats-hero h2{margin:0;max-width:17ch;font-size:var(--fs-display);line-height:var(--lh-tight)}.stats-data-hero p,.stats-hero p{margin:0;max-width:56ch;color:var(--text-2);font-size:var(--fs-body-lg);line-height:var(--lh-body)}.stats-hero .stats-actions,.stats-hero-proof{margin-top:var(--sp-2)}.stats-hero-proof{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-8);padding-top:var(--sp-4);border-top:1px solid var(--line);width:100%}.stats-hero-proof div{display:grid;gap:0;flex:0 0 auto}.stats-hero-proof strong{font-family:var(--font-display);font-size:var(--fs-num);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--lh-snug)}.stats-hero-proof span{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-hero-visual{min-height:240px;display:grid;align-content:center;gap:var(--sp-3);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-raised);box-shadow:var(--shadow-1)}.stats-hero-visual figcaption{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal);text-align:center}.stats-curve{width:100%}.stats-svg{display:block;width:100%;height:auto;overflow:visible}.stats-svg .axis{stroke:var(--line-strong);stroke-width:1}.stats-svg .tick{stroke:var(--line);stroke-width:1}.stats-svg .curve{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.stats-svg .area{fill:color-mix(in srgb,var(--accent) 18%,transparent);stroke:none}.stats-svg .label{fill:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-chart-label)}.stats-svg line{stroke:var(--line-strong)}.stats-svg polyline{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.stats-list-panel .stats-list{max-height:62vh}.stats-calculator textarea,.stats-data-input textarea{min-height:132px;font-family:var(--font-mono);font-size:var(--fs-small);line-height:var(--lh-normal)}.stats-data-input textarea{min-height:220px}.stats-result{display:grid;gap:var(--sp-4)}.stats-result-answer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-2) var(--sp-4);align-items:center;padding:var(--sp-5);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:var(--r-md);background:linear-gradient(150deg,var(--accent-soft),var(--surface-raised) 70%)}.stats-result-answer>span{grid-column:1;color:var(--accent-ink);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-result-answer strong{grid-column:1;font-family:var(--font-display);font-size:var(--fs-num-xl);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--lh-snug);overflow-wrap:anywhere}.stats-result-answer button{grid-row:1/span 2;grid-column:2;align-self:center;min-width:112px}.stats-given{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);margin:0;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-sunken)}.stats-given>div{display:grid;gap:1px;min-width:0}.stats-given dt{color:var(--text-3);font-size:var(--fs-caption);font-weight:600;letter-spacing:var(--tracking-caps)}.stats-given dd{margin:0;font-family:var(--font-mono);font-size:var(--fs-small);overflow-wrap:anywhere}.stats-step{display:grid;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised)}.stats-step strong{display:flex;gap:var(--sp-2);align-items:baseline;font-size:var(--fs-small);font-weight:600}.stats-step-index{flex:0 0 auto;display:inline-grid;place-items:center;min-width:1.375rem;height:1.375rem;border-radius:var(--r-pill,999px);background:var(--accent-soft);color:var(--accent-ink);font-family:var(--font-mono);font-size:var(--fs-caption);font-weight:700;font-variant-numeric:tabular-nums}.stats-step code{display:block;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-xs);background:var(--surface-sunken);color:var(--text);font-size:var(--fs-small);line-height:var(--lh-normal);overflow-x:auto;overflow-wrap:anywhere}.stats-step>span{font-family:var(--font-mono);overflow-wrap:anywhere}.stats-step-tag,.stats-step>span{color:var(--text-3);font-size:var(--fs-caption)}.stats-step-tag{display:inline-block;margin-right:var(--sp-2);font-family:var(--font-sans,inherit);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-step code .stats-step-tag{color:var(--text-3)}.stats-step p{margin:0;font-size:var(--fs-small);font-weight:600;overflow-wrap:anywhere}.stats-step-why{font-family:inherit}.stats-step-details,.stats-step-why{color:var(--text-2);font-size:var(--fs-caption);line-height:var(--lh-normal)}.stats-step-details{margin:0;padding-left:var(--sp-5)}.stats-numeric{font-variant-numeric:tabular-nums}.stats-field-wide{grid-column:1/-1}.stats-history .stats-list-item span{font-family:var(--font-mono)}.stats-data-hero .stats-actions{justify-content:flex-end}.stats-dataset-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:var(--sp-3)}.stats-warning-list{display:grid;gap:var(--sp-2)}.stats-warning-list p{margin:0;padding:var(--sp-2) var(--sp-3);border:1px solid color-mix(in srgb,var(--warn) 30%,var(--line));border-left:3px solid var(--warn);border-radius:var(--r-sm);background:var(--warn-soft);color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-normal)}.stats-quiz,.stats-reader,.stats-sim{min-height:480px}.stats-reader{gap:var(--sp-5)}.stats-lesson-section{display:grid;gap:var(--sp-2);max-width:var(--measure);padding:var(--sp-4) var(--sp-5);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface-raised)}.stats-lesson-section>span{color:var(--text-3);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-lesson-section h3{margin:0;font-size:var(--fs-h3);line-height:var(--lh-snug)}.stats-lesson-section p{margin:0;font-size:var(--fs-body-lg);line-height:var(--lh-body)}.stats-lesson-section.definition{border-left-color:var(--accent);background:var(--accent-soft)}.stats-lesson-section.definition>span{color:var(--accent-ink)}.stats-lesson-section.example{border-left-color:var(--info);background:var(--info-soft)}.stats-lesson-section.example>span{color:var(--info)}.stats-lesson-section.tip{border-left-color:var(--warn);background:var(--warn-soft)}.stats-lesson-section.tip>span{color:var(--warn)}.stats-lesson-section.formula{border-left-color:var(--line-strong);background:var(--surface-sunken)}.stats-lesson-section.formula p{font-family:var(--font-mono);font-size:var(--fs-body);overflow-x:auto}.stats-lesson-section.text{border-color:transparent;padding-inline:0;background:transparent}.stats-reader-nav{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-3);max-width:var(--measure);margin-top:var(--sp-4);padding-top:var(--sp-5);border-top:1px solid var(--line)}.stats-reader-nav-link{display:grid;gap:var(--sp-1);min-height:44px;padding:var(--sp-3) var(--sp-4);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised);color:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,background .16s ease,transform .16s ease}.stats-reader-nav-link.next{text-align:right}.stats-reader-nav-link:hover{border-color:var(--accent);background:var(--accent-soft)}.stats-reader-nav-link:active{transform:translateY(1px)}.stats-reader-nav-link>span{color:var(--text-3);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-reader-nav-link>strong{font-size:var(--fs-small);font-weight:600;line-height:var(--lh-snug)}.stats-reader-nav-end{grid-column:2;margin:0;align-self:center;color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-normal);text-align:right}@media (max-width:600px){.stats-reader-nav{grid-template-columns:1fr}.stats-reader-nav-end,.stats-reader-nav-link.next{grid-column:1;text-align:left}}@media (prefers-reduced-motion:reduce){.stats-reader-nav-link{transition:none}.stats-reader-nav-link:active{transform:none}}.stats-quiz{gap:var(--sp-5)}.stats-quiz .stats-panel-head h2{font-size:var(--fs-prompt);line-height:var(--lh-normal)}.stats-options{display:grid;gap:var(--sp-2)}.stats-options button{display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--sp-3);align-items:start;min-height:56px;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-sm);background:var(--surface-raised);font-size:var(--fs-small);font-weight:500;text-align:left;overflow-wrap:anywhere}.stats-options button>span{line-height:var(--lh-normal);padding-top:3px}.stats-options button b{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-strong);border-radius:var(--r-pill);color:var(--text-3);font-family:var(--font-display);font-size:var(--fs-caption);font-weight:600;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease)}.stats-options button.active{border-color:var(--accent);background:var(--accent-soft)}.stats-options button.active b{border-color:var(--accent);background:var(--accent);color:var(--accent-contrast)}.stats-feedback.correct,.stats-options button.correct{border-color:color-mix(in srgb,var(--ok) 45%,var(--line));background:var(--ok-soft)}.stats-options button.correct b{border-color:var(--ok);background:var(--ok);color:var(--panel)}.stats-feedback.wrong,.stats-options button.wrong{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));background:var(--danger-soft)}.stats-options button.wrong b{border-color:var(--danger);background:var(--danger);color:var(--panel)}.stats-options button:disabled,.stats-options button[aria-disabled=true]{opacity:1;cursor:default}.stats-feedback-live:empty{display:none}.stats-feedback{display:grid;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md)}.stats-feedback strong{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600}.stats-feedback.correct strong{color:var(--ok)}.stats-feedback.wrong strong{color:var(--danger)}.stats-feedback p{margin:0;max-width:var(--measure);font-size:var(--fs-small);line-height:var(--lh-body)}.stats-feedback-answer{color:var(--text);font-weight:600}.stats-feedback-answer b{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-right:2px;padding:0 5px;border-radius:var(--r-pill);background:var(--ok);color:var(--panel);font-family:var(--font-display);font-size:var(--fs-caption);vertical-align:-5px}.stats-quiz>.stats-progress{margin-top:calc(-1 * var(--sp-2))}.stats-feedback ol{margin:0;padding-left:var(--sp-5);display:grid;gap:var(--sp-1);color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-normal)}.stats-sim{gap:var(--sp-5)}.stats-output-line{margin:0;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised);font-size:var(--fs-small);line-height:var(--lh-normal);overflow-wrap:anywhere}.stats-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--sp-3)}.stats-reference-search{display:grid;gap:var(--sp-1);justify-items:end}.stats-reference-search .stats-hint{margin:0;font-variant-numeric:tabular-nums;text-align:right}@media (max-width:720px){.stats-reference-search{justify-items:stretch}.stats-reference-search .stats-hint{text-align:left}}.stats-card{min-width:0;display:grid;gap:var(--sp-2);align-content:start;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-raised);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.stats-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}.stats-card h3{margin:0;font-size:var(--fs-h3);line-height:var(--lh-snug);overflow-wrap:anywhere}.stats-card code{display:block;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-xs);background:var(--surface-sunken);font-size:var(--fs-small);overflow-x:auto;overflow-wrap:anywhere}.stats-card p,.stats-card small{margin:0;color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-normal)}.stats-card small{color:var(--text-3);font-size:var(--fs-caption)}.stats-locked{gap:var(--sp-4);align-content:start;padding:var(--pad-hero);border-color:color-mix(in srgb,var(--accent) 32%,var(--line));background:linear-gradient(150deg,var(--accent-soft),var(--panel) 65%)}.stats-locked h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-snug)}.stats-locked p{margin:0;max-width:58ch;color:var(--text-2);line-height:var(--lh-body)}.plan-badge,.stats-locked-badge{justify-self:start;display:inline-flex;align-items:center;min-height:24px;padding:2px var(--sp-3);border-radius:var(--r-pill);background:var(--accent);color:var(--accent-contrast);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-locked-preview{display:grid;gap:var(--sp-2);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}.stats-locked-preview>span{color:var(--text-3);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-locked-preview ul{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:var(--sp-2);margin:0;padding:0;list-style:none}.stats-locked-preview li{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-raised);color:var(--text-2);font-size:var(--fs-small)}.stats-locked-preview li.faded{color:var(--text-3);opacity:.6;filter:blur(.6px)}.completion-upsell{display:grid;gap:var(--sp-2);margin:0;padding:var(--sp-5);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--line));border-radius:var(--r-md);background:linear-gradient(150deg,var(--accent-soft),var(--panel) 70%);box-shadow:var(--shadow-2)}.completion-upsell-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600}.completion-upsell-copy{margin:0;max-width:var(--measure);color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-body)}.completion-upsell .stats-actions{margin-top:var(--sp-2)}.upsell-banner-spacer{height:var(--upsell-banner-height,calc(56px + env(safe-area-inset-bottom, 0px)))}.upsell-banner{position:fixed;left:0;right:0;bottom:0;z-index:60;padding-bottom:env(safe-area-inset-bottom,0);background:var(--accent);color:var(--accent-contrast);border-top:1px solid color-mix(in srgb,#000 14%,var(--accent));box-shadow:0 -4px 24px rgba(0,0,0,.18)}.upsell-banner-inner{max-width:var(--content-max);margin:0 auto;padding:var(--sp-2) var(--sp-4);padding-left:max(var(--sp-4),env(safe-area-inset-left));padding-right:max(var(--sp-4),env(safe-area-inset-right));display:flex;align-items:center;gap:var(--sp-3)}.upsell-banner-mark{font-size:var(--fs-small);opacity:.85}.upsell-banner-copy{flex:1;margin:0;font-size:var(--fs-small);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upsell-banner .upsell-banner-cta{flex:none;min-height:38px;background:var(--accent-contrast);border-color:transparent;color:var(--accent)}.upsell-banner .upsell-banner-cta:hover{background:var(--accent-contrast);border-color:transparent;filter:brightness(.94)}.upsell-banner-dismiss{flex:none;width:44px;height:44px;min-height:44px;margin-block:-4px;display:grid;place-items:center;padding:0;border:0;border-radius:var(--r-pill);background:transparent;color:var(--accent-contrast);font-size:var(--fs-small)}.upsell-banner-dismiss:hover{background:color-mix(in srgb,var(--accent-contrast) 20%,transparent);border-color:transparent}.premium-page{min-height:100vh}.premium-proof{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-8);width:100%;margin:var(--sp-2) 0 0;padding:var(--sp-4) 0 0;border-top:1px solid var(--line);list-style:none}.premium-proof li{display:grid;gap:0;flex:0 0 auto}.premium-proof strong{font-family:var(--font-display);font-size:var(--fs-num);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--lh-snug)}.premium-proof span{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.premium-stack{display:grid;gap:var(--sp-5);max-width:1040px;margin:var(--sp-8) auto 0}.plan-panel{padding:var(--pad-hero)}.plan-picker{display:grid;gap:var(--sp-4)}.plan-perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:var(--sp-2) var(--sp-5);margin:0;padding:0;list-style:none}.plan-perks li{display:flex;gap:var(--sp-2);align-items:flex-start;color:var(--text);font-size:var(--fs-small);line-height:var(--lh-normal)}.plan-perks li:before{content:"\2713";flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-ink);font-size:var(--fs-caption);font-weight:800}.plan-ladder{margin:0;color:var(--text-3);font-size:var(--fs-small);line-height:var(--lh-normal)}.plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--sp-3);align-items:stretch}.plan-card{position:relative;display:grid;gap:var(--sp-4);align-content:space-between;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-raised);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.plan-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2);transform:translateY(-2px)}.plan-card.featured{border-color:var(--accent);background:linear-gradient(160deg,var(--accent-soft),var(--panel) 72%);box-shadow:var(--shadow-2)}.plan-card.featured:hover{box-shadow:var(--shadow-3)}.plan-card-info{display:grid;gap:var(--sp-1);min-width:0}.plan-card-title{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);font-size:var(--fs-h3)}.plan-card-price,.plan-card-title{font-family:var(--font-display);font-weight:600}.plan-card-price{font-size:var(--fs-num);letter-spacing:var(--tracking-tight);line-height:var(--lh-snug);overflow-wrap:anywhere}.plan-card-period{display:block;color:var(--text-3);font-family:var(--font-sans);font-size:var(--fs-caption);font-weight:500;letter-spacing:0}.plan-card-anchor{color:var(--accent-ink);font-size:var(--fs-caption);font-weight:600}.plan-card .stats-button{width:100%}.plan-error,.plan-outcome-error{margin:0;padding:var(--sp-3) var(--sp-4);border:1px solid color-mix(in srgb,var(--danger) 38%,var(--line));border-left:3px solid var(--danger);border-radius:var(--r-sm);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-small);font-weight:600;line-height:var(--lh-normal)}.plan-skeleton{height:168px;border:1px solid var(--line);border-radius:var(--r-md);background:linear-gradient(100deg,var(--surface-raised) 30%,var(--surface-sunken) 50%,var(--surface-raised) 70%);background-size:220% 100%;animation:plan-shimmer 1.4s var(--ease) infinite}@keyframes plan-shimmer{0%{background-position:140% 0}to{background-position:-40% 0}}.plan-trust{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);padding-top:var(--sp-1)}.plan-trust span{display:inline-flex;gap:var(--sp-2);align-items:center;color:var(--text-2);font-size:var(--fs-caption);font-weight:600}.plan-trust span:before{content:"\2713";color:var(--accent);font-weight:800}.plan-fineprint{margin:0;color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.premium-code-stack{display:grid;gap:var(--sp-3)}.premium-save-reminder{font-weight:600}.plan-active{display:grid;gap:var(--sp-2);justify-items:center;padding:var(--pad-hero);border:1px solid var(--accent);border-radius:var(--r-md);background:linear-gradient(160deg,var(--accent-soft),var(--panel) 70%);text-align:center}.plan-active strong{font-family:var(--font-display);font-size:var(--fs-h2);font-weight:600}.premium-faq{display:grid;gap:var(--sp-2)}.premium-faq details{border-top:1px solid var(--line);padding:var(--sp-3) 0}.premium-faq details:first-of-type{border-top:0}.premium-faq summary{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;min-height:44px;color:var(--text);font-size:var(--fs-body);font-weight:600;cursor:pointer;list-style:none}.premium-faq summary::-webkit-details-marker{display:none}.premium-faq summary:after{content:"+";flex:none;color:var(--accent);font-size:var(--fs-h3);font-weight:700}.premium-faq details[open] summary:after{content:"\2013"}.premium-faq p{margin:var(--sp-2) 0 0;max-width:var(--measure);color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-body)}.access-code-panel code{display:block;padding:var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-sunken);font-size:var(--fs-small);overflow-x:auto;white-space:nowrap}.legal-page,.native-overview{min-height:100vh;padding:var(--sp-10) var(--pad-shell) var(--sp-12);padding-left:max(var(--pad-shell),env(safe-area-inset-left));padding-right:max(var(--pad-shell),env(safe-area-inset-right));background:var(--canvas);color:var(--text)}.detail-breadcrumb,.legal-layout,.legal-summary-grid,.native-card-grid,.native-hero,.related-guides{max-width:var(--content-max);margin-inline:auto}.detail-breadcrumb{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center;margin-bottom:var(--sp-5);color:var(--text-3);font-size:var(--fs-small)}.detail-breadcrumb a{color:var(--accent-ink);font-weight:600;text-decoration:none}.detail-breadcrumb a:hover{text-decoration:underline}.native-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-6);align-items:end;padding-bottom:var(--sp-8);border-bottom:1px solid var(--line)}.legal-layout,.legal-summary-grid,.native-card-grid,.native-hero+.legal-layout,.native-hero+.native-card-grid{margin-top:var(--sp-8)}.native-hero-copy{display:grid;gap:var(--sp-3);max-width:var(--measure)}.native-kicker{margin:0;color:var(--accent-ink);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);line-height:var(--lh-normal);text-transform:uppercase}.native-hero h1{margin:0;max-width:18ch;font-size:var(--fs-display);line-height:var(--lh-tight)}.native-hero h2{margin:0;font-size:var(--fs-h1);line-height:var(--lh-snug)}.native-hero p{margin:0;max-width:var(--measure);color:var(--text-2);font-size:var(--fs-body-lg);line-height:var(--lh-body)}.legal-hero .native-hero-copy h2{margin:0;font-size:var(--fs-h2)}.native-actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:flex-end}.native-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:var(--sp-2) var(--sp-4);border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--panel);color:var(--text);font-size:var(--fs-small);font-weight:600;line-height:var(--lh-snug);text-align:center;text-decoration:none;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur-fast) var(--ease)}button.native-button{cursor:pointer}.native-button:hover{border-color:var(--accent);background:var(--accent-soft)}.native-button:active{transform:translateY(1px)}.native-button.primary{border-color:transparent;background:var(--accent);color:var(--accent-contrast);box-shadow:var(--shadow-1)}.native-button.primary:hover{background:var(--accent-strong);box-shadow:var(--shadow-2)}.native-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:var(--sp-4)}.native-card{display:grid;gap:var(--sp-3);min-height:168px;align-content:space-between;padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-1);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.native-card-link{color:inherit;text-decoration:none}.native-card-link:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-2px)}.native-card h2,.native-card h3{margin:0;font-size:var(--fs-h3);line-height:var(--lh-snug);overflow-wrap:anywhere}.native-card p{margin:var(--sp-2) 0 0;color:var(--text-2);font-size:var(--fs-small);line-height:var(--lh-normal)}.native-section-copy{display:grid;gap:var(--sp-1);justify-items:start}.native-stat{min-width:0;display:grid;gap:var(--sp-1);padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-1)}.native-stat strong{display:block;font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;line-height:var(--lh-snug);overflow-wrap:anywhere}.native-stat span{display:block;color:var(--text-2);font-size:var(--fs-small);font-weight:600}.native-stat small{color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-normal)}.legal-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:var(--sp-3)}.legal-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:var(--sp-4);align-items:start}.card{padding:var(--sp-5);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-1)}.legal-section{display:grid;gap:var(--sp-3)}.legal-section h2{margin:0;font-size:var(--fs-h2);line-height:var(--lh-snug)}.legal-section h3{margin:var(--sp-2) 0 0;font-size:var(--fs-h3);line-height:var(--lh-snug)}.legal-section li,.legal-section p{margin:0;max-width:var(--measure);color:var(--text-2);font-size:var(--fs-body-lg);line-height:var(--lh-body)}.legal-section code{padding:1px var(--sp-1);border-radius:var(--r-xs);background:var(--surface-sunken);color:var(--text);font-size:.94em;overflow-wrap:anywhere}.legal-section ul{display:grid;gap:var(--sp-2);margin:0;padding-left:var(--sp-5)}.legal-section li{overflow-wrap:anywhere}.legal-section a{color:var(--accent-ink);font-weight:600}.legal-section details{border-top:1px solid var(--line);padding:var(--sp-3) 0 var(--sp-1)}.legal-section details:first-of-type{border-top:0}.legal-section summary{display:flex;justify-content:space-between;gap:var(--sp-4);align-items:center;min-height:44px;color:var(--text);font-weight:600;cursor:pointer;list-style:none}.legal-section summary::-webkit-details-marker{display:none}.legal-section summary:after{content:"+";flex:none;color:var(--accent);font-size:var(--fs-h3);font-weight:700}.legal-section details[open] summary:after{content:"\2013"}.legal-section details>p{margin-top:var(--sp-2)}.related-guides{padding:var(--sp-10) 0 0;color:var(--text)}.related-guides-title{margin:var(--sp-1) 0 var(--sp-4);font-size:var(--fs-h2);line-height:var(--lh-snug)}.related-guides-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:var(--sp-3);margin:0;padding:0;list-style:none}.related-guides-link{display:flex;flex-direction:column;gap:var(--sp-2);height:100%;padding:var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);box-shadow:var(--shadow-1);color:inherit;text-decoration:none;transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.related-guides-link:hover{border-color:var(--accent);box-shadow:var(--shadow-2);transform:translateY(-2px)}.related-guides-link-title{font-family:var(--font-display);font-size:var(--fs-body);font-weight:600;line-height:var(--lh-snug)}.related-guides-link-meta{color:var(--text-3);font-size:var(--fs-caption);font-weight:700;letter-spacing:var(--tracking-caps);text-transform:uppercase}.stats-app+.related-guides{padding:var(--sp-10) var(--pad-shell) 0;max-width:none}.stats-app+.related-guides>*{max-width:var(--shell-max);margin-inline:auto}.recovery-shell{min-height:100vh;display:grid;align-content:center;gap:var(--sp-5);padding:var(--sp-10) var(--pad-shell);background:var(--canvas);color:var(--text)}.recovery-links,.recovery-panel{width:min(880px,100%);margin-inline:auto}.recovery-panel{display:grid;gap:var(--sp-4);justify-items:start;padding:var(--pad-hero);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel);box-shadow:var(--shadow-3)}.brand-mark{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--r-sm);background:var(--accent);color:var(--accent-contrast);font-family:var(--font-display);font-weight:700}.recovery-panel h1{max-width:15ch;margin:0;font-size:var(--fs-h1);line-height:var(--lh-tight)}.recovery-panel p{max-width:var(--measure);margin:0;color:var(--text-2);line-height:var(--lh-body)}.recovery-digest{padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--text-3);font-family:var(--font-mono);font-size:var(--fs-caption);overflow-wrap:anywhere}.recovery-panel .native-actions{justify-content:flex-start}.recovery-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:var(--sp-2)}.recovery-links .native-card{min-height:64px;align-content:center;padding:var(--sp-3) var(--sp-4);color:var(--text);font-size:var(--fs-small);font-weight:600;text-decoration:none}.stats-footer{border-top:1px solid var(--line);background:var(--panel);color:var(--text-2)}.stats-footer-inner{max-width:var(--content-max);margin:0 auto;display:grid;gap:var(--sp-4);padding:var(--sp-8) var(--pad-shell) var(--sp-10);padding-bottom:max(var(--sp-10),env(safe-area-inset-bottom))}.stats-footer-top{display:flex;flex-wrap:wrap;gap:var(--sp-4);justify-content:space-between;align-items:center;padding-bottom:var(--sp-4);border-bottom:1px solid var(--line)}.stats-footer-brand{display:grid;gap:2px}.stats-footer-brand strong{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:600;letter-spacing:var(--tracking-tight)}.stats-footer-brand span{color:var(--text-3);font-size:var(--fs-caption)}.stats-footer-links{display:flex;flex-wrap:wrap;gap:var(--sp-1) var(--sp-5)}.stats-footer-link{min-height:44px;display:inline-flex;align-items:center;color:var(--text-2);font-size:var(--fs-small);font-weight:600;text-decoration:none;transition:color var(--dur) var(--ease)}.stats-footer-link:hover{color:var(--accent-ink)}.stats-footer-copy{margin:0;max-width:var(--measure);color:var(--text-3);font-size:var(--fs-caption);line-height:var(--lh-body)}.stats-footer-copy a{color:var(--text-2);text-decoration:none}.stats-footer-copy a:hover{color:var(--accent-ink);text-decoration:underline}.theme-toggle{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-sunken)}.theme-toggle button{min-height:36px;padding:var(--sp-1) var(--sp-3);border:1px solid transparent;border-radius:var(--r-pill);background:transparent;color:var(--text-3);font-size:var(--fs-caption);font-weight:600}.theme-toggle button:hover:not(:disabled){border-color:transparent;background:transparent;color:var(--text)}.theme-toggle button[aria-pressed=true]{background:var(--panel);color:var(--text);box-shadow:var(--shadow-1)}.muted{color:var(--text-2)}.stats-panel .muted{margin:0;font-size:var(--fs-small);line-height:var(--lh-normal)}@media (min-width:1600px){:root{--sidebar-w:300px;--shell-max:1280px}.stats-app{max-width:1720px;margin-inline:auto;border-inline:1px solid var(--line)}.stats-sidebar{padding:var(--sp-8) var(--sp-5)}}@media (max-width:1180px){.stats-app{grid-template-columns:1fr}.stats-sidebar{position:sticky;top:0;z-index:20;height:auto;grid-template-rows:auto auto;gap:var(--sp-4);padding:var(--sp-4) var(--pad-shell);padding-top:max(var(--sp-4),env(safe-area-inset-top));border-right:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--panel) 92%,transparent);backdrop-filter:blur(10px)}.stats-nav{display:flex;gap:var(--sp-1);overflow-x:auto;padding-bottom:var(--sp-1);scrollbar-width:thin;-webkit-overflow-scrolling:touch}.stats-nav a{flex:0 0 auto;white-space:nowrap}.stats-nav a.active:before{left:50%;top:auto;bottom:2px;width:18px;height:3px;transform:translateX(-50%)}.stats-entitlement{display:none}.stats-calc-grid{grid-template-columns:minmax(210px,.34fr) minmax(0,1fr)}.stats-history{grid-column:1/-1}.stats-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.native-hero,.stats-calc-grid,.stats-data-hero,.stats-hero,.stats-two,.stats-two.wide-left{grid-template-columns:1fr}.native-hero{align-items:start}.native-actions{justify-content:flex-start}.stats-topbar{flex-direction:column;align-items:flex-start}.stats-mini-metrics{width:100%}.stats-list{max-height:none}.stats-list-panel .stats-list{max-height:340px}.stats-panel-head{flex-direction:column}.stats-panel-head input{max-width:none}.stats-mastery-row{grid-template-columns:minmax(0,1fr) auto}.stats-mastery-row .stats-progress{grid-column:1/-1}.stats-data-hero .stats-actions{justify-content:flex-start}.stats-hero-visual{min-height:200px}.legal-layout{grid-template-columns:1fr}}@media (max-width:620px){:root{--pad-shell:var(--sp-4)}.stats-brand{grid-template-columns:36px minmax(0,1fr)}.stats-brand img{width:36px;height:36px}.stats-brand span{display:none}.stats-dataset-summary,.stats-form-grid,.stats-grid.four,.stats-grid.two{grid-template-columns:1fr}.stats-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-actions .file-button,.stats-actions .stats-button,.stats-actions button,.stats-actions>*{flex:1 1 140px}.stats-tabs button{min-width:132px}.stats-result-answer{grid-template-columns:1fr;padding:var(--sp-4)}.stats-result-answer button,.stats-result-answer strong{grid-column:auto;grid-row:auto}.stats-result-answer button{width:100%}.stats-lesson-section{padding:var(--sp-3) var(--sp-4)}.stats-hero-proof{gap:var(--sp-3) var(--sp-5)}.native-actions>*,.native-button{flex:1 1 150px}.plan-perks{grid-template-columns:1fr}.upsell-banner-copy{font-size:var(--fs-caption);white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}}@media (max-width:400px){:root{--fs-display:2rem;--fs-h1:1.625rem;--fs-h2:1.25rem;--pad-shell:var(--sp-3);--pad-panel:var(--sp-4);--pad-hero:var(--sp-5)}.stats-mini-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.native-actions>*,.native-button,.stats-actions .file-button,.stats-actions .stats-button,.stats-actions button,.stats-actions>*{flex:1 1 100%}.stats-hero-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-3)}.stats-tabs button{min-width:124px;max-width:190px}.stats-reader-nav{grid-template-columns:1fr}.stats-given{gap:var(--sp-2) var(--sp-4);padding:var(--sp-3)}}@media print{:root{--canvas:#fff;--panel:#fff;--surface-raised:#fff;--surface-sunken:#fff;--text:#000;--text-2:#222;--text-3:#444;--line:#bbb;--line-strong:#999;--shadow-1:none;--shadow-2:none;--shadow-3:none}.completion-upsell,.native-actions,.skip-link,.stats-actions,.stats-footer-links,.stats-history,.stats-locked,.stats-sidebar,.stats-tabs,.theme-toggle,.upsell-banner,.upsell-banner-spacer{display:none!important}.stats-app{grid-template-columns:1fr}.legal-page,.native-overview,.stats-main{padding:0;max-width:none}.card,.native-card,.stats-card,.stats-panel{break-inside:avoid;border-color:#bbb;box-shadow:none}.stats-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}a[href^=http]:after{content:" (" attr(href) ")";font-size:.8em;color:#555}}