:root{color-scheme:light;--bg:#faf9f4;--bg2:#f3f1e9;--panel:#ffffff;--panel2:#f7f5ee;--line:#e6e3d8;--line2:#d2cec0;--raise:#ffffff;--txt:#1c202a;--mut:#565c6b;--faint:#878d9c;--hi:#ede22e;--hi-ink:#7a6f04;--hi-t:rgba(237,226,46,0.26);--pen-ink:#2f43bd;--pen-ink-t:rgba(47,67,189,0.08);--ok:#1a8a54;--ok-ink:#14714a;--ok-t:rgba(26,138,84,0.10);--err:#cc4a33;--err-ink:#a63a26;--err-t:rgba(204,74,51,0.09);--flux:var(--pen-ink);--violet:var(--pen-ink);--sky:var(--pen-ink);--marker:var(--hi-ink);--check:var(--ok);--pen:var(--err);--flux-t:var(--pen-ink-t);--violet-t:var(--pen-ink-t);--sky-t:var(--pen-ink-t);--marker-t:var(--hi-t);--check-t:var(--ok-t);--pen-t:var(--err-t);--ser1:#2f43bd;--ser2:#a63a26;--ser3:#14714a;--ser4:#7a6f04;--ser5:#6a3fa0;--ser6:#0e6b78;--grid:#e6e3d8;--axis:#878d9c;--on-hi:#1c202a;--sticker-edge:#1c202a;--on-pen:#ffffff;--font-sans-stack:var(--font-sans),"Avenir Next","Segoe UI",sans-serif;--font-mono-stack:var(--font-mono),"SF Mono",Menlo,monospace;--t-xs:12px;--t-sm:14px;--t-md:16px;--t-lg:18px;--t-xl:21px;--t-2xl:26px;--t-3xl:33px;--t-4xl:42px;--lh-tight:1.14;--lh-snug:1.35;--lh-body:1.6;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--r-sm:8px;--r-md:12px;--r-lg:18px;--r-pill:999px;--ease:cubic-bezier(0.2,0.8,0.2,1);--shadow-card:0 1px 2px rgba(28,32,42,0.05),0 4px 14px rgba(28,32,42,0.05);--shadow-lift:0 2px 6px rgba(28,32,42,0.07),0 10px 28px rgba(28,32,42,0.09);--shadow-pop:0 6px 16px rgba(28,32,42,0.11),0 24px 56px rgba(28,32,42,0.16);--nav-h:58px}:root[data-theme=dark]{color-scheme:dark;--bg:#10141b;--bg2:#141920;--panel:#1a1f29;--panel2:#212734;--line:#2d3442;--line2:#3d4557;--raise:#262d3c;--txt:#f0efe9;--mut:#a6abb8;--faint:#737a89;--hi:#ede22e;--hi-ink:#ede22e;--hi-t:rgba(237,226,46,0.10);--pen-ink:#93a5ff;--pen-ink-t:rgba(147,165,255,0.10);--ok:#4ecb8d;--ok-ink:#4ecb8d;--ok-t:rgba(78,203,141,0.10);--err:#ff8a80;--err-ink:#ff8a80;--err-t:rgba(255,138,128,0.10);--ser1:#93a5ff;--ser2:#ff8a80;--ser3:#4ecb8d;--ser4:#ede22e;--ser5:#c9a3ff;--ser6:#5fd3e0;--grid:#2d3442;--axis:#737a89;--on-hi:#1c202a;--on-pen:#10141b;--sticker-edge:#000000;--shadow-card:0 1px 2px rgba(0,0,0,0.3),0 4px 14px rgba(0,0,0,0.25);--shadow-lift:0 4px 16px rgba(0,0,0,0.35);--shadow-pop:0 12px 32px rgba(0,0,0,0.5)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#10141b;--bg2:#141920;--panel:#1a1f29;--panel2:#212734;--line:#2d3442;--line2:#3d4557;--raise:#262d3c;--txt:#f0efe9;--mut:#a6abb8;--faint:#737a89;--hi:#ede22e;--hi-ink:#ede22e;--hi-t:rgba(237,226,46,0.10);--pen-ink:#93a5ff;--pen-ink-t:rgba(147,165,255,0.10);--ok:#4ecb8d;--ok-ink:#4ecb8d;--ok-t:rgba(78,203,141,0.10);--err:#ff8a80;--err-ink:#ff8a80;--err-t:rgba(255,138,128,0.10);--ser1:#93a5ff;--ser2:#ff8a80;--ser3:#4ecb8d;--ser4:#ede22e;--ser5:#c9a3ff;--ser6:#5fd3e0;--grid:#2d3442;--axis:#737a89;--on-hi:#1c202a;--on-pen:#10141b;--sticker-edge:#000000;--shadow-card:0 1px 2px rgba(0,0,0,0.3),0 4px 14px rgba(0,0,0,0.25);--shadow-lift:0 4px 16px rgba(0,0,0,0.35);--shadow-pop:0 12px 32px rgba(0,0,0,0.5)}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--txt);font-family:var(--font-sans-stack);font-size:var(--t-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{text-decoration:none}a,button{color:inherit}button{cursor:pointer}button,input,select,textarea{font:inherit}.num,.price,.stat-val{font-family:var(--font-mono-stack);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.01em}.shell{max-width:880px;margin:0 auto;padding:var(--s6) var(--s4) 120px}.ico{display:inline-block;vertical-align:-.125em;flex:none}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 86%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.3);backdrop-filter:blur(16px) saturate(1.3);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1180px;margin:0 auto;padding:var(--s3) var(--s4);display:flex;align-items:center;gap:var(--s4)}.brand{gap:9px;font-size:var(--t-lg);font-weight:700;letter-spacing:-.02em;line-height:var(--lh-tight)}.brand,.brand-mark{display:flex;align-items:center;flex:none}.brand-mark{width:30px;height:30px;border-radius:9px;justify-content:center;background:var(--hi);border:1.5px solid var(--txt);color:#1c202a}.brand em{font-style:normal;color:inherit}.nav{gap:4px;flex:1 1}.nav,.nav a{display:flex;align-items:center}.nav a{position:relative;gap:6px;white-space:nowrap;color:var(--mut);font-size:var(--t-sm);font-weight:550;padding:8px 11px;border-radius:var(--r-sm);border:1px solid transparent;transition:color .18s var(--ease),background .18s var(--ease),border-color .18s var(--ease)}@media (hover:hover){.nav a:hover{color:var(--txt);background:var(--panel2)}}@media (pointer:coarse){.account-btn,.nav a{min-height:44px}}.nav a.active{color:var(--pen-ink);background:var(--pen-ink-t);border-color:color-mix(in srgb,var(--pen-ink) 30%,transparent)}.nav a.active.a-marker{color:var(--hi-ink);background:var(--hi-t);border-color:color-mix(in srgb,var(--hi-ink) 34%,transparent)}.account{position:relative;flex:none}.account-btn{display:flex;align-items:center;gap:7px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-pill);padding:5px 12px 5px 6px;font-size:var(--t-sm);font-weight:600;transition:border-color .18s var(--ease),background .18s var(--ease)}.account-btn:hover{border-color:var(--line2);background:var(--panel2)}.avatar{width:24px;height:24px;border-radius:var(--r-pill);flex:none;background:var(--hi);color:#1c202a;display:flex;align-items:center;justify-content:center}.account-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;z-index:40;background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);padding:6px;box-shadow:var(--shadow-pop);animation:pop .16s var(--ease)}.account-menu a,.account-menu button{display:flex;width:100%;align-items:center;gap:10px;text-align:left;background:none;border:none;font-size:var(--t-sm);padding:10px 11px;border-radius:var(--r-sm);transition:background .14s var(--ease)}.account-menu a:hover,.account-menu button:hover{background:var(--panel2)}.account-menu .danger{color:var(--err-ink)}.menu-caption{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);padding:8px 11px 2px}.theme-row{display:flex;gap:4px;padding:4px 6px 6px}.theme-row button{flex:1 1;justify-content:center;gap:6px;font-size:var(--t-xs);font-weight:650;border:1px solid var(--line);border-radius:var(--r-sm);padding:7px 4px;min-height:40px}.theme-row button.on{background:var(--hi-t);border-color:color-mix(in srgb,var(--hi-ink) 40%,transparent);color:var(--hi-ink)}.tabbar{display:none}.hero-title{font-size:var(--t-4xl);font-weight:800;letter-spacing:-.035em;text-align:center;margin:var(--s5) 0 var(--s2);text-wrap:balance;font-variation-settings:"opsz" 42}.hero-title,.page-title{line-height:var(--lh-tight)}.page-title{display:flex;align-items:center;gap:10px;font-size:var(--t-2xl);font-weight:750;letter-spacing:-.025em;margin:0 0 6px}.sub{color:var(--mut);font-size:var(--t-sm);line-height:var(--lh-body);margin:0 0 var(--s5);max-width:62ch}.sub.center{text-align:center;margin-left:auto;margin-right:auto}.label{display:block;font-size:var(--t-sm);font-weight:650;margin:var(--s4) 0 var(--s2)}.eyebrow,.label{line-height:var(--lh-snug)}.eyebrow{letter-spacing:.11em}.muted{color:var(--mut);font-size:var(--t-sm);line-height:var(--lh-body)}.h1{font-size:var(--t-xl);font-weight:700;line-height:var(--lh-tight);letter-spacing:-.02em;margin:var(--s3) 0 var(--s2)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s5);margin-bottom:var(--s3);box-shadow:var(--shadow-card)}.dashed-card{border:1.5px dashed var(--line2);border-radius:var(--r-lg);padding:var(--s6) var(--s5);text-align:center;background:var(--bg2)}.icon-tile{width:56px;height:56px;border-radius:15px;margin:0 auto var(--s4);display:flex;align-items:center;justify-content:center}.icon-tile.flux,.icon-tile.sky,.icon-tile.violet{background:var(--pen-ink-t);border:1px solid color-mix(in srgb,var(--pen-ink) 28%,transparent);color:var(--pen-ink)}.icon-tile.marker{background:var(--hi-t);border:1px solid color-mix(in srgb,var(--hi-ink) 32%,transparent);color:var(--hi-ink)}.input,.select,.textarea{width:100%;background:var(--panel);color:var(--txt);border:1px solid var(--line2);border-radius:var(--r-sm);padding:12px 14px;outline:none;transition:border-color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease)}.input:hover,.select:hover,.textarea:hover{border-color:var(--faint)}.input:focus,.select:focus,.textarea:focus{border-color:var(--pen-ink);box-shadow:0 0 0 3px var(--pen-ink-t)}.input::placeholder,.textarea::placeholder{color:var(--faint)}.textarea{resize:vertical;min-height:92px;line-height:var(--lh-body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--r-sm);padding:11px 18px;font-size:var(--t-sm);font-weight:650;line-height:1.2;background:var(--panel);color:var(--txt);border:1px solid var(--line2);transition:background .18s var(--ease),border-color .18s var(--ease),transform .12s var(--ease),opacity .18s var(--ease),box-shadow .18s var(--ease)}.btn:hover{background:var(--raise);border-color:var(--faint)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.42;cursor:not-allowed;transform:none}.btn:disabled:hover{background:var(--panel);border-color:var(--line2)}.btn.block{width:100%}.btn.small{padding:8px 13px;font-size:var(--t-xs)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--panel2);border-color:var(--line)}.btn.marker,.btn.primary{background:var(--hi);color:var(--on-hi);border:1.5px solid var(--sticker-edge);font-weight:700;box-shadow:0 2px 0 var(--sticker-edge)}.btn.marker:hover,.btn.primary:hover{background:color-mix(in srgb,var(--hi) 88%,#fff);border-color:var(--sticker-edge);transform:translateY(-1px);box-shadow:0 3px 0 var(--sticker-edge)}.btn.marker:active,.btn.primary:active{transform:translateY(1px);box-shadow:0 1px 0 var(--sticker-edge)}.btn.primary:disabled:hover{background:var(--hi);box-shadow:0 2px 0 var(--sticker-edge);transform:none}.btn.sky,.btn.violet{background:var(--pen-ink);color:var(--on-pen);border-color:transparent;font-weight:700}.btn.sky:hover,.btn.violet:hover{background:color-mix(in srgb,var(--pen-ink) 86%,#fff)}.btn.outline-flux,.btn.outline-violet{color:var(--pen-ink);border-color:color-mix(in srgb,var(--pen-ink) 42%,transparent);background:var(--pen-ink-t)}.btn.outline-flux:hover,.btn.outline-violet:hover{background:color-mix(in srgb,var(--pen-ink) 16%,transparent);border-color:var(--pen-ink)}.btn.lg{padding:14px 26px;font-size:var(--t-md)}.chip{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);font-weight:600;line-height:1.4;border-radius:var(--r-pill);padding:4px 11px;background:var(--panel2);color:var(--mut);border:1px solid var(--line)}.chip.flux,.chip.sky,.chip.violet{color:var(--pen-ink);border-color:color-mix(in srgb,var(--pen-ink) 32%,transparent);background:var(--pen-ink-t)}.chip.marker{color:var(--hi-ink);border-color:color-mix(in srgb,var(--hi-ink) 38%,transparent);background:var(--hi-t)}.chip.good{color:var(--ok-ink);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:var(--ok-t)}.chip.warn{border-color:color-mix(in srgb,var(--err) 40%,transparent)}.chip.clickable{cursor:pointer;transition:background .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease)}.chip.clickable:hover{border-color:var(--faint);color:var(--txt)}@media (pointer:coarse){.chip.clickable{min-height:40px;padding-top:8px;padding-bottom:8px}}.chip.selected{background:var(--hi);border-color:var(--sticker-edge)}.chip.selected,.chip.selected:hover{color:var(--on-hi)}.row{gap:var(--s2)}.row,.spread{display:flex;align-items:center;flex-wrap:wrap}.spread{justify-content:space-between;gap:var(--s3)}.stack{display:flex;flex-direction:column;gap:var(--s3)}.error-box{border:1px solid color-mix(in srgb,var(--err) 42%,transparent);background:var(--err-t);color:var(--err-ink);border-radius:var(--r-sm);padding:12px 14px;margin:var(--s3) 0}.error-box,.info-box{font-size:var(--t-sm);line-height:var(--lh-body)}.info-box{background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-sm);padding:13px 15px;color:var(--mut)}.final-answer{border:1px solid color-mix(in srgb,var(--ok) 38%,transparent);background:var(--ok-t);border-radius:var(--r-md);padding:var(--s4) var(--s5);margin-bottom:var(--s3)}.final-answer .block-label{color:var(--ok-ink)}.step-block{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--pen-ink);border-radius:var(--r-md);padding:var(--s4) var(--s5);margin-bottom:var(--s3);transition:border-color .18s var(--ease)}.step-block:hover{border-color:var(--line2);border-left-color:var(--pen-ink)}.step-block .block-label{color:var(--pen-ink)}.explanation-block{border:1px solid color-mix(in srgb,var(--hi-ink) 34%,transparent);background:var(--hi-t);border-radius:var(--r-md);padding:var(--s4) var(--s5);margin-bottom:var(--s3)}.explanation-block .block-label{color:var(--hi-ink)}.block-label{display:flex;align-items:center;gap:7px;font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:var(--lh-snug);margin-bottom:7px}.block-body{font-size:var(--t-sm);line-height:var(--lh-body);white-space:pre-wrap}.answer-lg{font-family:var(--font-mono-stack);font-size:var(--t-xl);font-weight:600;line-height:var(--lh-snug);letter-spacing:-.01em}.fade-in .explanation-block,.fade-in .final-answer,.fade-in .step-block{animation:rise .4s var(--ease) both}.followup{margin-top:var(--s3);padding-top:var(--s3);border-top:1px dashed var(--line2)}.followup-answer{margin-top:var(--s2);font-size:var(--t-sm);line-height:var(--lh-body);color:var(--mut);white-space:pre-wrap;border-left:2px solid var(--pen-ink);padding-left:var(--s3)}.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:600;line-height:1.4;color:var(--mut);margin-bottom:5px}.crumb-path{min-width:0}.q-card{cursor:pointer;transition:border-color .18s var(--ease),transform .18s var(--ease),box-shadow .18s var(--ease)}.q-card:hover{border-color:color-mix(in srgb,var(--pen-ink) 45%,var(--line));transform:translateY(-1px);box-shadow:var(--shadow-lift)}.q-card:focus-visible{border-color:var(--pen-ink)}@media (pointer:coarse){.q-card .btn.small.ghost{min-height:44px;min-width:44px}}.btn.ghost.star-btn.on,.btn.ghost.star-btn:hover{color:var(--hi-ink);background:var(--hi-t);border-color:color-mix(in srgb,var(--hi-ink) 30%,transparent)}.star-btn.on .ico{fill:currentColor}.q-card.starred{box-shadow:inset 3px 0 0 var(--hi),var(--shadow-card)}.q-card.starred:hover{box-shadow:inset 3px 0 0 var(--hi),var(--shadow-lift)}.search-bar{position:relative;margin:var(--s4) 0}.search-bar .input{padding-left:40px}.search-bar .s-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--faint);display:flex}.level-card{display:block;width:100%;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 16px;margin-bottom:var(--s2);position:relative;transition:border-color .18s var(--ease),background .18s var(--ease)}.level-card:hover{border-color:var(--line2);background:var(--panel2)}.level-card.selected{border-color:var(--pen-ink);background:var(--pen-ink-t)}.level-card.selected:after{content:"";position:absolute;right:15px;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:var(--r-pill);background:var(--pen-ink)}.level-card .lv-name{font-weight:650;font-size:var(--t-sm);line-height:var(--lh-snug)}.level-card.selected .lv-name{color:var(--pen-ink)}.level-card .lv-desc{color:var(--mut);font-size:var(--t-xs);line-height:var(--lh-snug)}.plans{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s3);gap:var(--s3);margin:var(--s5) 0}.plan{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);display:flex;flex-direction:column;box-shadow:var(--shadow-card)}.plan.best{border:2px solid var(--txt);box-shadow:var(--shadow-lift);position:relative}.plan-head{gap:9px;margin-bottom:var(--s3);flex-wrap:wrap}.plan-head,.plan-icon{display:flex;align-items:center}.plan-icon{width:32px;height:32px;border-radius:var(--r-sm);flex:none;justify-content:center;background:var(--panel2);border:1px solid var(--line);color:var(--mut)}.plan.best .plan-icon{background:var(--hi);border-color:var(--sticker-edge);color:#1c202a}.plan-name{font-size:var(--t-lg)}.plan-name,.price{font-weight:700;line-height:var(--lh-tight)}.price{font-size:var(--t-3xl);letter-spacing:-.03em}.price small{font-family:var(--font-sans-stack);font-size:var(--t-sm);font-weight:600;color:var(--faint);letter-spacing:0}.price-note{font-size:var(--t-xs);color:var(--ok-ink);font-weight:600;margin-top:3px;line-height:var(--lh-snug)}.plan-tag{color:var(--mut);margin:6px 0 var(--s3)}.plan-for,.plan-tag{font-size:var(--t-sm);line-height:var(--lh-body)}.plan-for{margin:0 0 var(--s4);padding:11px 13px;border-radius:var(--r-sm);background:var(--bg2);border:1px solid var(--line)}.plan.best .plan-for{background:var(--hi-t);border-color:color-mix(in srgb,var(--hi-ink) 26%,transparent)}.feat{display:flex;gap:9px;align-items:flex-start;font-size:var(--t-sm);line-height:var(--lh-snug);margin-bottom:13px}.feat-detail{display:block;color:var(--mut);font-size:var(--t-xs);line-height:var(--lh-body);margin-top:3px}.feat-when{display:inline-block;margin-left:6px;vertical-align:1px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--hi-ink);background:var(--hi-t);border-radius:var(--r-pill);padding:2px 7px;border:1px solid color-mix(in srgb,var(--hi-ink) 30%,transparent)}.feat .tick{color:var(--ok);flex:none;margin-top:2px}.feat.violet .tick{color:var(--pen-ink)}.feat.off{color:var(--mut)}.feat.off .tick{color:var(--faint)}.plan>.btn,.plan>div>.btn.block{margin-top:auto}.codes{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));grid-gap:var(--s3);gap:var(--s3)}.chat-scroll{display:flex;flex-direction:column;gap:10px;padding:var(--s1) 0 var(--s4);min-height:38vh}.bubble{max-width:82%;padding:11px 15px;border-radius:var(--r-lg);white-space:pre-wrap;font-size:var(--t-sm);line-height:var(--lh-body);animation:rise .22s var(--ease)}.bubble.user{align-self:flex-end;background:var(--pen-ink);color:var(--on-pen);border-bottom-right-radius:5px;font-weight:500}.bubble.ai{align-self:flex-start;background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:5px;box-shadow:var(--shadow-card)}.chat-inputrow{display:flex;gap:var(--s2);position:-webkit-sticky;position:sticky;bottom:var(--s4)}.typing{display:inline-flex;gap:4px;align-items:center;padding:3px 0}.typing i{width:6px;height:6px;border-radius:var(--r-pill);background:var(--mut);animation:bounce 1.2s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.today{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-bottom:var(--s5);box-shadow:var(--shadow-card)}.today-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);padding:11px var(--s5);border-bottom:1px solid var(--line);background:var(--panel2)}.today-body{padding:var(--s4) var(--s5)}.today-main{display:flex;align-items:center;gap:10px;font-size:var(--t-lg);font-weight:650;line-height:var(--lh-snug)}.today-n{font-family:var(--font-mono-stack);font-size:var(--t-3xl);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--hi-ink)}.today-foot{display:flex;gap:var(--s2);flex-wrap:wrap;padding:12px var(--s5);border-top:1px solid var(--line);background:var(--bg2)}.example{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s5);margin:0 0 var(--s5);box-shadow:var(--shadow-lift)}.example:before{content:"";position:absolute;left:-1px;top:18px;bottom:18px;width:4px;border-radius:0 3px 3px 0;background:var(--hi)}.example .explanation-block,.example .final-answer,.example .step-block{margin-bottom:var(--s2)}.example-q{font-family:var(--font-mono-stack);font-size:var(--t-md);font-weight:550;line-height:var(--lh-snug);margin:6px 0 var(--s4)}.meter{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:11px 14px;margin-bottom:var(--s3);box-shadow:var(--shadow-card)}.meter-row{display:flex;align-items:center;justify-content:space-between;gap:var(--s3)}.meter-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut)}.meter-time{font-size:var(--t-lg);font-weight:700;letter-spacing:-.02em}.meter-time.low{color:var(--hi-ink)}.meter-time.critical{color:var(--err-ink)}.meter-track{height:6px;margin-top:8px;border-radius:var(--r-pill);overflow:hidden;background:var(--bg2);border:1px solid var(--line)}.meter-fill{height:100%;border-radius:var(--r-pill);background:var(--pen-ink);transition:width .9s linear,background .3s var(--ease)}.meter-fill.low{background:var(--hi)}.meter-fill.critical{background:var(--err)}.meter-foot{display:flex;align-items:center;gap:var(--s2);margin-top:7px}.meter-paused{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);font-weight:600;color:var(--hi-ink);background:var(--hi-t);border:1px solid color-mix(in srgb,var(--hi-ink) 28%,transparent);border-radius:var(--r-pill);padding:2px 9px}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));grid-gap:var(--s2);gap:var(--s2)}.scenario{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:13px 14px;transition:border-color .18s var(--ease),background .18s var(--ease),transform .14s var(--ease)}.scenario:hover{border-color:var(--line2);transform:translateY(-1px)}.scenario.selected{border-color:var(--pen-ink);background:var(--pen-ink-t)}.scenario .sc-ico{color:var(--pen-ink);display:flex;margin-bottom:3px}.scenario .sc-title{font-weight:650;font-size:var(--t-sm);line-height:var(--lh-snug)}.scenario .sc-blurb{color:var(--mut);font-size:var(--t-xs);line-height:var(--lh-snug)}.bubble{position:relative}.bubble-speak{background:none;border:none;color:inherit;opacity:.45;padding:2px 4px;margin-left:6px;vertical-align:-2px;transition:opacity .16s var(--ease)}.bubble-speak:hover{opacity:1}.correction{align-self:flex-start;max-width:85%;border:1px solid color-mix(in srgb,var(--hi-ink) 34%,transparent);background:var(--hi-t);border-radius:var(--r-md);padding:10px 13px;margin-top:-2px}.corr-line{font-size:var(--t-sm);line-height:var(--lh-snug)}.corr-line s{color:var(--mut);-webkit-text-decoration-color:var(--err);text-decoration-color:var(--err)}.corr-line b{color:var(--ok);font-weight:650}.progress-track{height:6px;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r-pill);overflow:hidden;margin:var(--s3) 0 var(--s5)}.progress-fill{height:100%;background:var(--pen-ink);border-radius:var(--r-pill);transition:width .45s var(--ease)}.option{display:block;width:100%;text-align:left;background:var(--panel);color:var(--txt);border:1px solid var(--line2);border-radius:var(--r-md);padding:13px 15px;margin-bottom:var(--s2);font-size:var(--t-sm);line-height:var(--lh-snug);transition:border-color .16s var(--ease),background .16s var(--ease),transform .12s var(--ease),opacity .2s var(--ease)}.option:hover:not(:disabled){border-color:var(--pen-ink);background:var(--pen-ink-t)}.option:active:not(:disabled){transform:scale(.995)}.option.correct{border-color:var(--ok);background:var(--ok-t)}.option.wrong{border-color:var(--err);background:var(--err-t)}.option.dim{opacity:.5}.ex-prompt{font-weight:650;font-size:var(--t-lg);line-height:1.4;margin-bottom:var(--s4);white-space:pre-wrap}.ex-hint{font-size:var(--t-xs);color:var(--mut);margin:0 0 10px}.option.picked{border-color:var(--pen-ink);background:var(--pen-ink-t)}.ex-grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s2);gap:var(--s2)}.ex-grid2 .option{margin-bottom:0;text-align:center;font-weight:600}.opt-multi{display:flex;align-items:center;gap:10px}.opt-box{flex:none;width:18px;height:18px;border-radius:5px;border:1.5px solid var(--line2);display:grid;place-items:center;color:var(--on-pen)}.option.picked .opt-box{background:var(--pen-ink);border-color:var(--pen-ink)}.option.correct .opt-box{background:var(--ok);border-color:var(--ok)}.ex-sentence{font-size:var(--t-lg);line-height:2;margin-bottom:var(--s4)}.ex-blank{display:inline-block;min-width:84px;padding:1px 10px;margin:0 3px;border-bottom:2px solid var(--line2);text-align:center;font-weight:650;color:var(--faint);white-space:pre}.ex-blank.filled{color:var(--pen-ink);border-bottom-color:var(--pen-ink)}.ex-blank.correct{color:var(--ok-ink);border-bottom-color:var(--ok)}.ex-blank.wrong{color:var(--err-ink);border-bottom-color:var(--err)}.tok{display:inline-flex;align-items:center;font:inherit;font-size:var(--t-sm);font-weight:600;line-height:1;padding:10px 13px;border-radius:var(--r-sm);cursor:pointer;background:var(--panel);color:var(--txt);border:1px solid var(--line2);transition:border-color .14s var(--ease),background .14s var(--ease),transform .1s var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (pointer:coarse){.tok{min-height:44px}}.tok:hover:not(:disabled){border-color:var(--pen-ink)}.tok:active:not(:disabled){transform:scale(.96)}.tok.armed{border-color:var(--pen-ink);box-shadow:0 0 0 3px var(--pen-ink-t)}.tok-used,.tok.armed{background:var(--pen-ink-t)}.tok-used{border-color:color-mix(in srgb,var(--pen-ink) 35%,transparent)}.tok-used.correct{background:var(--ok-t);border-color:var(--ok)}.tok-used.wrong{background:var(--err-t);border-color:var(--err)}.ex-tray{display:flex;flex-wrap:wrap;gap:var(--s2);align-items:center;min-height:62px;padding:var(--s3);margin-bottom:var(--s3);background:var(--bg2);border:1.5px dashed var(--line2);border-radius:var(--r-md)}.ex-tray.correct{border-style:solid;border-color:var(--ok);background:var(--ok-t)}.ex-tray.wrong{border-style:solid;border-color:var(--err);background:var(--err-t)}.ex-tray-empty{font-size:var(--t-xs);color:var(--faint)}.ex-bank{display:flex;flex-wrap:wrap;gap:var(--s2)}.ex-order{list-style:none;padding:0;margin:0}.ord{display:flex;align-items:center;gap:10px;margin-bottom:var(--s2);background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-md);padding:4px 8px 4px 4px}.ord.armed{border-color:var(--pen-ink);box-shadow:0 0 0 3px var(--pen-ink-t)}.ord.correct{border-color:var(--ok);background:var(--ok-t)}.ord.wrong{border-color:var(--err);background:var(--err-t)}.ord-n{flex:none;width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;font-size:var(--t-xs);font-weight:700;background:var(--bg2);color:var(--mut)}.ord-body{flex:1 1;text-align:left;background:none;border:0;color:inherit;font:inherit;font-size:var(--t-sm);line-height:var(--lh-snug);padding:8px 0;cursor:pointer;min-width:0}.ord-arrows{display:flex;flex-direction:column;gap:2px;flex:none}.ord-arrows .btn.small{padding:4px 10px;min-height:22px}@media (pointer:coarse){.ord-arrows{flex-direction:row}.ord-arrows .btn.small{min-height:44px;min-width:44px}}.cc{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--s6);gap:var(--s6)}.cc-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.cc-line{stroke:var(--pen-ink);stroke-width:2.5;stroke-linecap:round;opacity:.85}.cc-line.ok{stroke:var(--ok)}.cc-line.bad{stroke:var(--err);stroke-dasharray:5 4}.cc-col{display:flex;flex-direction:column;gap:var(--s2)}.cc-item{background:var(--panel);color:var(--txt);font:inherit;font-size:var(--t-sm);line-height:var(--lh-snug);text-align:left;border:1px solid var(--line2);border-radius:var(--r-md);padding:12px 13px;cursor:pointer;min-height:46px;transition:border-color .14s var(--ease),background .14s var(--ease)}.cc-item.armed,.cc-item:hover:not(:disabled){border-color:var(--pen-ink)}.cc-item.armed{background:var(--pen-ink-t);box-shadow:0 0 0 3px var(--pen-ink-t)}.cc-item.linked{border-color:color-mix(in srgb,var(--pen-ink) 45%,transparent)}.cc-item.open:not(:disabled){border-style:dashed;border-color:var(--pen-ink)}.cc-item.correct{border-color:var(--ok);background:var(--ok-t)}.cc-item.wrong{border-color:var(--err);background:var(--err-t)}.cc-item.shake{animation:shake .4s var(--ease)}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}.cat-pool{min-height:44px;margin-bottom:var(--s4)}.cat-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:var(--s3);gap:var(--s3)}.cat-col{background:var(--bg2);border:1.5px dashed var(--line2);border-radius:var(--r-md);padding:var(--s3);min-height:96px;display:flex;flex-direction:column;gap:var(--s2)}.cat-col.open{border-color:var(--pen-ink);background:var(--pen-ink-t)}.cat-head{font:inherit;font-size:var(--t-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);background:none;border:0;text-align:left;padding:2px 0;cursor:pointer;border-radius:4px}.cat-head:focus-visible{outline:2px solid var(--pen-ink);outline-offset:2px}.mark-line{line-height:2.4}.mark-tok{font:inherit;font-size:var(--t-lg);background:none;color:inherit;border:0;border-bottom:2px solid transparent;border-radius:4px;padding:2px 3px;cursor:pointer}.mark-tok:hover:not(:disabled){background:var(--bg2)}.mark-tok.on{background:var(--hi-t);border-bottom-color:var(--hi-ink);font-weight:650}.mark-tok.correct{background:var(--ok-t);border-bottom-color:var(--ok);font-weight:650}.mark-tok.wrong{background:var(--err-t);border-bottom-color:var(--err);text-decoration:line-through}.drag-ghost{position:fixed;z-index:80;pointer-events:none;transform:translate(-50%,-140%);background:var(--panel);border:1px solid var(--pen-ink);border-radius:var(--r-sm);padding:10px 13px;font-size:var(--t-sm);font-weight:600;box-shadow:var(--shadow-lift)}.streak-bar{gap:var(--s3);background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:13px var(--s4);margin-bottom:var(--s3);box-shadow:var(--shadow-card)}.streak-bar,.streak-flame{display:flex;align-items:center}.streak-flame{width:40px;height:40px;border-radius:var(--r-sm);flex:none;justify-content:center;background:var(--hi-t);color:var(--hi-ink);border:1px solid color-mix(in srgb,var(--hi-ink) 30%,transparent)}.streak-flame.cold{background:var(--panel2);color:var(--faint);border-color:var(--line)}.streak-n{font-family:var(--font-mono-stack);font-size:var(--t-xl);font-weight:700;line-height:1.1;letter-spacing:-.02em}.streak-days{display:flex;gap:5px;margin-left:auto}.streak-day{width:9px;height:9px;border-radius:3px;background:var(--bg2);border:1px solid var(--line2)}.streak-day.on{background:var(--hi);border-color:#9a9110}.wall{display:flex;flex-wrap:wrap;gap:var(--s2)}.brick{border-radius:var(--r-sm);padding:9px 13px;font-size:var(--t-xs);font-weight:600;line-height:var(--lh-snug);border:1px solid;cursor:default;transition:transform .2s var(--ease)}.brick.missed{color:var(--err);border-color:color-mix(in srgb,var(--err) 40%,transparent);background:var(--err-t)}.brick.recovered{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent);background:var(--ok-t)}.brick.recovered:hover{transform:translateY(-2px)}.decay-row{display:grid;grid-template-columns:1fr 108px 44px;grid-gap:var(--s3);gap:var(--s3);align-items:center;padding:11px 0;border-bottom:1px solid var(--line)}.decay-row:last-child{border-bottom:none}.decay-name{font-size:var(--t-sm);line-height:var(--lh-snug)}.decay-track{height:6px;background:var(--bg2);border:1px solid var(--line);overflow:hidden}.decay-fill,.decay-track{border-radius:var(--r-pill)}.decay-fill{height:100%;transition:width .6s var(--ease)}.decay-pct{font-family:var(--font-mono-stack);font-size:var(--t-xs);color:var(--mut);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:480px){.decay-row{grid-template-columns:1fr 70px 40px}}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;margin-bottom:var(--s4)}.stat{background:var(--panel);padding:14px 16px}.stat-cap{font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--mut);line-height:var(--lh-snug)}.stat-val{font-size:var(--t-2xl);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin-top:5px}.img-preview{position:relative}.img-preview img{width:100%;border-radius:var(--r-md);border:1px solid var(--line2);display:block}.img-preview button{position:absolute;top:9px;right:9px;background:rgba(28,32,42,.78);color:#fff;border:none;border-radius:var(--r-pill);width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:background .16s var(--ease)}.img-preview button:hover{background:rgba(28,32,42,.95)}.cam-sheet{position:fixed;inset:0;z-index:60;background:var(--bg);overflow-y:auto;padding:var(--s4);padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom, 0px));animation:fade .18s var(--ease)}.cam-body,.cam-sheet{display:flex;flex-direction:column}.cam-body{flex:1 1;min-height:auto;width:100%;max-width:760px;margin:0 auto}.cam-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}.cam-title{font-size:var(--t-lg);font-weight:700;line-height:var(--lh-snug)}.cam-stage{position:relative;flex:1 1;min-height:200px;display:flex;align-items:center;justify-content:center;background:#05070b;border:1px solid var(--line2);border-radius:var(--r-lg);overflow:hidden}.cam-stage[hidden]{display:none}.cam-stage img,.cam-stage video{width:100%;height:100%;display:block;object-fit:contain}.cam-stage img{position:absolute;inset:0;background:#05070b}.cam-guide{position:absolute;inset:8%;pointer-events:none}.cam-guide span{position:absolute;width:28px;height:28px;border:3px solid var(--hi);opacity:.9}.cam-guide span:first-child{top:0;left:0;border-right:0;border-bottom:0;border-top-left-radius:5px}.cam-guide span:nth-child(2){top:0;right:0;border-left:0;border-bottom:0;border-top-right-radius:5px}.cam-guide span:nth-child(3){bottom:0;left:0;border-right:0;border-top:0;border-bottom-left-radius:5px}.cam-guide span:nth-child(4){bottom:0;right:0;border-left:0;border-top:0;border-bottom-right-radius:5px}.cam-wait{position:absolute;gap:9px;color:#f0efe9;font-size:var(--t-sm);font-weight:550}.cam-controls,.cam-wait{display:flex;align-items:center}.cam-controls{justify-content:center;gap:var(--s4);padding-top:var(--s4);flex-wrap:wrap}.btn.cam-shutter{width:74px;height:74px;min-height:0;padding:0;border-radius:var(--r-pill);flex:none}.cam-hint{text-align:center;margin:10px 0 0;font-size:var(--t-xs);color:var(--mut);line-height:var(--lh-snug)}.cam-status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap}.modal-overlay{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.42);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:var(--s4);animation:fade .2s var(--ease)}.modal{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--s5);width:100%;max-width:460px;max-height:88vh;overflow-y:auto;box-shadow:var(--shadow-pop);animation:pop .24s var(--ease)}.spinner{width:16px;height:16px;border-radius:var(--r-pill);flex:none;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentcolor;animation:spin .7s linear infinite}.skeleton{background:linear-gradient(90deg,var(--panel2) 25%,var(--bg2) 37%,var(--panel2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:var(--r-sm)}.fade-in{animation:rise .26s var(--ease)}.pop-in{animation:pop .3s var(--ease)}@keyframes spin{to{transform:rotate(1turn)}}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@keyframes flip-green{0%{transform:rotateY(0)}50%{transform:rotateY(90deg) scale(1.06)}to{transform:rotateY(0)}}.just-recovered{animation:flip-green .55s var(--ease)}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--pen-ink);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (max-width:760px){.shell{padding:var(--s5) var(--s4) calc(var(--nav-h) + 40px)}.nav{display:none}.topbar-inner{padding:10px var(--s4)}.tabbar{display:block;position:fixed;bottom:0;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--panel) 92%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0)}.tabbar-inner{display:flex;max-width:620px;margin:0 auto}.tabbar a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px 10px;color:var(--mut);font-size:10.5px;font-weight:600;letter-spacing:.01em;min-height:var(--nav-h);transition:color .16s var(--ease)}.tabbar a.active{color:var(--pen-ink)}.tabbar a.active.a-marker{color:var(--hi-ink)}.hero-title{font-size:var(--t-3xl)}.page-title{font-size:var(--t-xl)}.plans{grid-template-columns:1fr}.chat-inputrow{bottom:calc(var(--nav-h) + 12px)}.cc{gap:var(--s3)}.cc-item{font-size:var(--t-xs);padding:10px;min-height:44px}.ex-sentence,.mark-tok{font-size:var(--t-md)}.cat-cols{grid-template-columns:1fr 1fr}.ex-grid2{gap:var(--s2)}.cam-sheet{padding:var(--s3);padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom, 0px))}.cam-stage{border-radius:var(--r-md)}.btn.cam-shutter{width:66px;height:66px}}@media (max-width:400px){.shell{padding-left:var(--s3);padding-right:var(--s3)}.card,.dashed-card{padding:var(--s4)}}.seg{display:flex;gap:4px;padding:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md)}.seg button{flex:1 1;justify-content:center;cursor:pointer;background:none;border:1px solid transparent;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:650;color:var(--mut);padding:8px 6px;min-height:38px;transition:background .15s,color .15s}.seg button:hover{color:var(--ink)}.seg button.on{background:var(--hi-t);border-color:color-mix(in srgb,var(--hi-ink) 40%,transparent);color:var(--hi-ink)}.gate-overlay{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:var(--s4);animation:fade .22s var(--ease);overflow-y:auto}.gate{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--s5);width:100%;max-width:420px;margin:auto;box-shadow:var(--shadow-pop);animation:pop .24s var(--ease);position:relative}.gate-close{position:absolute;top:10px;right:10px;width:44px;height:44px;display:grid;place-items:center;background:none;border:0;border-radius:var(--r-sm);color:var(--mut);cursor:pointer;transition:color .15s var(--ease),background .15s var(--ease)}.gate-close:hover{color:var(--txt);background:var(--panel2)}.gate-close:focus-visible{outline:2px solid var(--pen-ink);outline-offset:2px}.gate-err{color:var(--err-ink);font-size:var(--t-sm);font-weight:550;margin:8px 0 0}.gate-points{list-style:none;padding:0;margin:var(--s4) 0 0;display:flex;flex-direction:column;gap:7px}.gate-points li{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);color:var(--mut)}.gate-points svg{color:var(--ok-ink);flex:none}.gate-fine{font-size:var(--t-xs);color:var(--faint);text-align:center;margin:var(--s4) 0 0;line-height:1.5}.gate-fine a{color:var(--pen-ink)}.gate-actions{display:flex;justify-content:space-between;gap:var(--s2);margin-top:var(--s3)}.linkish{background:none;border:none;padding:4px 2px;cursor:pointer;font-size:var(--t-xs);font-weight:600;color:var(--pen-ink)}.linkish:disabled{color:var(--faint);cursor:default}.linkish:hover:not(:disabled){text-decoration:underline}.code-input{text-align:center;font-size:25px;font-weight:700;letter-spacing:.34em;text-indent:.34em;padding:14px 10px}.gate-waiting{display:flex;align-items:center;justify-content:center;gap:9px;padding:14px;margin-top:4px;font-size:var(--t-sm);color:var(--mut);background:var(--panel2)}.chart,.gate-waiting{border:1px solid var(--line);border-radius:var(--r-md)}.chart{display:block;width:100%;height:auto;background:var(--panel);font-family:var(--font-sans),system-ui,sans-serif}.chart .num{font-family:var(--font-mono),ui-monospace,monospace}.chart-wrap{margin:var(--s3) 0}.obj-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:10px}.obj-bar .btn{font-size:var(--t-xs);padding:6px 10px;min-height:32px}.obj-note{font-size:var(--t-xs);color:var(--faint);margin-left:auto}.data-table-wrap{overflow-x:auto;margin-top:10px}table.data-table{border-collapse:collapse;width:100%;font-size:var(--t-sm)}table.data-table td,table.data-table th{border:1px solid var(--line);padding:6px 10px;text-align:left;white-space:nowrap}table.data-table th{background:var(--panel2);font-weight:700;position:-webkit-sticky;position:sticky;top:0}table.data-table td.n{text-align:right;font-family:var(--font-mono),ui-monospace,monospace}table.data-table tbody tr:nth-child(2n){background:var(--panel2)}.data-input{min-height:190px;text-align:left;font-family:var(--font-mono),ui-monospace,monospace;font-size:var(--t-sm);line-height:1.55;white-space:pre}.ex-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:12px}.ex-label{font-size:var(--t-xs);color:var(--faint);font-weight:600;margin-right:2px}.photo-fold{margin-top:14px}.photo-fold>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:7px;font-size:var(--t-sm);font-weight:600;color:var(--pen-ink);padding:6px 2px;min-height:32px}.photo-fold>summary::-webkit-details-marker{display:none}.photo-fold>summary:hover{text-decoration:underline}.caveat{display:flex;gap:9px;align-items:flex-start;background:var(--err-t);border:1px solid var(--err-ink);border-radius:var(--r-md);padding:11px 13px;margin-bottom:var(--s4);font-size:var(--t-sm);color:var(--txt);line-height:1.5}.caveat svg{color:var(--err-ink);flex:none;margin-top:2px}.insight-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:7px}.insight-list li{line-height:var(--lh-body)}.saved-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));grid-gap:10px;gap:10px}.saved-card{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);min-height:76px;transition:border-color .15s var(--ease),transform .15s var(--ease)}.saved-card:hover{border-color:var(--pen-ink);transform:translateY(-1px)}.saved-open{display:flex;flex-direction:column;gap:3px;width:100%;text-align:left;cursor:pointer;background:none;border:0;color:inherit;font:inherit;padding:13px 72px 13px 13px;min-height:76px;border-radius:inherit}.saved-open>svg{color:var(--pen-ink)}.saved-title{font-weight:650;font-size:var(--t-sm);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.saved-meta{font-size:var(--t-xs);color:var(--faint)}.saved-x{position:absolute;top:8px;right:8px;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-sm);color:var(--faint);cursor:pointer;background:none;border:0}.saved-x:hover{background:var(--err-t);color:var(--err-ink)}.saved-star{position:absolute;top:8px;right:44px;z-index:1;display:grid;place-items:center;width:26px;height:26px;border-radius:var(--r-sm);color:var(--faint);cursor:pointer;background:none;border:0}@media (pointer:coarse){.saved-star,.saved-x{width:36px;height:36px;top:4px}.saved-x{right:4px}.saved-star{right:44px}.saved-open{padding-right:84px}}.saved-star.on,.saved-star:hover{background:var(--hi-t);color:var(--hi-ink)}.saved-star.on .ico{fill:currentColor}.or-rule{display:flex;align-items:center;gap:12px;margin:20px 0 14px;color:var(--faint);font-size:var(--t-xs);font-weight:600;letter-spacing:.03em}.or-rule:after,.or-rule:before{content:"";flex:1 1;height:1px;background:var(--line)}.solve-input{text-align:left;min-height:96px}.nudge{font-size:var(--t-xs);color:var(--mut);margin-top:10px;text-align:center}.nudge a{color:var(--pen-ink);font-weight:600}.nav-badge{min-width:17px;height:17px;padding:0 5px;border-radius:9px;display:inline-flex;align-items:center;justify-content:center;background:var(--hi-ink);color:var(--bg);font-size:10px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.tabbar a{position:relative}.tabbar .nav-badge{position:absolute;top:2px;left:50%;margin-left:6px}.subnav{display:flex;gap:4px;padding:4px;margin-bottom:var(--s5);background:var(--panel2);border:1px solid var(--line);border-radius:var(--r-md);width:-moz-fit-content;width:fit-content;max-width:100%;overflow-x:auto;scrollbar-width:none}.subnav::-webkit-scrollbar{display:none}.subnav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:8px 14px;min-height:38px;border-radius:var(--r-sm);font-size:var(--t-sm);font-weight:600;color:var(--mut);transition:color .15s var(--ease),background .15s var(--ease)}@media (hover:hover){.subnav a:hover{color:var(--txt)}}@media (pointer:coarse){.subnav a{min-height:44px}}.subnav a.active{background:var(--panel);color:var(--txt);box-shadow:0 1px 2px rgba(0,0,0,.07)}.notice{display:flex;gap:9px;align-items:flex-start;background:var(--hi-t);border:1px solid color-mix(in srgb,var(--hi-ink) 34%,transparent);border-radius:var(--r-md);padding:11px 13px;font-size:var(--t-sm);color:var(--txt);line-height:1.5}.notice svg{color:var(--hi-ink);flex:none;margin-top:2px}.eyebrow{font-size:var(--t-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}.muted.over{color:var(--err-ink);font-weight:600}.help{font-size:var(--t-sm);line-height:var(--lh-body);color:var(--txt)}.help ol{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:9px}.help li::marker{color:var(--pen-ink);font-weight:700}.help-req,.help-tip,.help-warn{border-radius:var(--r-md);padding:10px 12px;margin:0 0 12px;font-size:var(--t-sm);line-height:1.5}.help-req{background:var(--panel2);border:1px solid var(--line)}.help-tip{background:var(--pen-ink-t);border:1px solid color-mix(in srgb,var(--pen-ink) 26%,transparent);margin:12px 0 0}.help-warn{background:var(--err-t);border:1px solid color-mix(in srgb,var(--err-ink) 30%,transparent)}li.help-warn{margin-bottom:0}.exam-watch{background:var(--hi-t);border:1px solid color-mix(in srgb,var(--hi-ink) 34%,transparent);border-radius:var(--r-md);padding:14px;margin-top:var(--s4)}.exam-watch .block-label{display:flex;align-items:center;gap:7px;color:var(--hi-ink)}.flag{display:flex;gap:10px;align-items:flex-start;margin-top:12px}.flag-claim{font-weight:600;line-height:1.45}.lec-quote{margin:7px 0 0;padding:7px 11px;border-left:3px solid var(--line2);background:var(--panel2);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:var(--t-xs);color:var(--mut);font-style:italic;line-height:1.5}.lec-quote:before{content:"\201C"}.lec-quote:after{content:"\201D"}.lec-card{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:14px;margin-bottom:10px;transition:border-color .15s var(--ease)}.lec-card.got{border-color:color-mix(in srgb,var(--ok-ink) 45%,transparent)}.lec-card.missed{border-color:color-mix(in srgb,var(--err-ink) 45%,transparent)}.lec-card-n{flex:none;width:24px;height:24px;border-radius:var(--r-pill,999px);display:grid;place-items:center;background:var(--panel2);font-size:var(--t-xs);font-weight:700;color:var(--mut);font-family:var(--font-mono),ui-monospace,monospace}.lec-card-body{flex:1 1;min-width:0}.lec-prompt{font-weight:650;line-height:1.45;margin-bottom:10px}.lec-answer{line-height:var(--lh-body);margin-bottom:2px}.lec-marked{font-size:var(--t-xs);color:var(--mut);margin-top:9px}.lec-note{margin-top:var(--s4);border-top:1px solid var(--line);padding-top:var(--s3)}.lec-note>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:650;color:var(--pen-ink);min-height:34px}.lec-note>summary::-webkit-details-marker{display:none}.lec-section{margin-bottom:var(--s4)}.lec-heading{font-size:var(--t-md);font-weight:700;margin:0 0 6px}.lec-section ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px}.lec-section li{line-height:var(--lh-body)}.lec-terms{margin:10px 0 0;display:flex;flex-direction:column;gap:11px}.lec-terms dt{font-weight:700}.lec-terms dd{margin:2px 0 0;color:var(--mut);line-height:1.5}.lec-formula{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.lec-formula code{background:var(--panel2);padding:5px 9px;border-radius:var(--r-sm);font-size:var(--t-sm);width:-moz-fit-content;width:fit-content}.lec-gaps{margin-top:var(--s5);padding:13px;background:var(--panel2);border:1px dashed var(--line2);border-radius:var(--r-md)}.lec-gaps ul{margin:8px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.lec-gaps li{font-size:var(--t-sm);line-height:1.5;color:var(--mut)}.lec-misheard{font-size:var(--t-xs);color:var(--faint);margin-top:var(--s4);line-height:1.6}.lec-misheard em{color:var(--mut);font-style:normal;font-weight:600}.chip.warn{background:var(--err-t);color:var(--err-ink)}.btn.small.good{color:var(--ok-ink);border-color:color-mix(in srgb,var(--ok-ink) 40%,transparent)}.audio-drop{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:22px 16px;border:1.5px dashed var(--line2);border-radius:var(--r-md);background:var(--panel2);color:var(--mut);transition:border-color .15s var(--ease),background .15s var(--ease)}.audio-drop svg{color:var(--pen-ink)}.audio-drop.dragging{border-color:var(--pen-ink);background:var(--pen-ink-t)}.audio-drop-title{font-weight:650;color:var(--txt)}.audio-drop-detail{font-size:var(--t-xs);line-height:1.55;max-width:46ch}.audio-drop-busy{display:flex;align-items:center;gap:12px;width:100%;text-align:left}.audio-drop-busy>div{flex:1 1;min-width:0}.audio-drop-file{font-weight:650;color:var(--txt);font-size:var(--t-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legal{max-width:720px}.legal h2{font-size:var(--t-lg);margin:var(--s5) 0 var(--s2)}.legal h3{font-size:var(--t-md);margin:var(--s4) 0 var(--s1)}.legal li,.legal p{line-height:1.6;color:var(--txt)}.legal ul{padding-left:20px}.legal li{margin-bottom:6px}.site-foot{display:flex;justify-content:center;align-items:center;gap:10px;padding:var(--s5) var(--s4) calc(var(--s5) + var(--nav-h, 0px));font-size:var(--t-xs);color:var(--faint)}.site-foot a{color:var(--mut);text-decoration:none}.site-foot a:hover{color:var(--txt);text-decoration:underline}.slip-card{border-color:color-mix(in srgb,var(--hi-ink) 40%,transparent);background:var(--hi-t)}.howto{margin-bottom:var(--s4)}.howto-step{display:flex;gap:10px;align-items:flex-start;margin-bottom:var(--s3);font-size:var(--t-sm);line-height:var(--lh-snug)}.howto-n{flex:none;width:22px;height:22px;border-radius:var(--r-pill);display:grid;place-items:center;font-size:11px;font-weight:700;background:var(--pen-ink-t);color:var(--pen-ink)}.cm-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}.cm-head .page-title{margin-bottom:4px}.cm-toolbar{display:flex;gap:var(--s2);align-items:center;flex-wrap:wrap;margin-bottom:var(--s3)}.cm-search{position:relative;flex:1 1 240px;min-width:0}.cm-search .input{padding-left:38px;width:100%}.cm-search>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mut);pointer-events:none}.cm-filters{display:flex;gap:6px;overflow-x:auto;padding:2px 0 6px;margin-bottom:var(--s3);scrollbar-width:none;-webkit-overflow-scrolling:touch}.cm-filters::-webkit-scrollbar{display:none}.cm-chip{flex:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;min-height:34px;border-radius:var(--r-pill);background:var(--panel);border:1px solid var(--line);color:var(--mut);font-size:var(--t-sm);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease),border-color .15s var(--ease)}.cm-chip:hover{color:var(--txt);border-color:var(--line2)}.cm-chip.on{background:var(--hi-t);border-color:color-mix(in srgb,var(--hi-ink) 40%,transparent);color:var(--hi-ink)}@media (pointer:coarse){.cm-chip{min-height:40px}}.cm-list{display:flex;flex-direction:column;gap:var(--s3)}.cm-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow-card);transition:border-color .15s var(--ease),transform .15s var(--ease)}@media (hover:hover){.cm-card:hover{border-color:var(--line2)}}.cm-card-top{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;color:var(--mut)}.cm-card-top,.cm-type{align-items:center;font-size:var(--t-xs)}.cm-type{display:inline-flex;gap:5px;padding:3px 9px;border-radius:var(--r-pill);font-weight:700;letter-spacing:.01em;border:1px solid transparent}.cm-type.question{background:var(--pen-ink-t);color:var(--pen-ink)}.cm-type.resource{background:var(--ok-t);color:var(--ok-ink)}.cm-type.practice{background:var(--hi-t);color:var(--hi-ink)}.cm-type.discussion,.cm-type.poll,.cm-type.tip{background:var(--panel2);color:var(--txt);border-color:var(--line)}.cm-title{font-size:var(--t-lg);font-weight:700;line-height:1.3;color:var(--txt);text-decoration:none;display:block;overflow-wrap:anywhere}.cm-title:hover{text-decoration:underline;-webkit-text-decoration-color:var(--line2);text-decoration-color:var(--line2);text-underline-offset:3px}.cm-excerpt{color:var(--mut);font-size:var(--t-sm);line-height:var(--lh-body);margin:6px 0 0;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.cm-foot{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s3);flex-wrap:wrap}.cm-count{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-xs);color:var(--mut);font-weight:600}.cm-count.answered{color:var(--ok-ink)}.cm-acts{margin-left:auto;display:flex;gap:4px}.cm-act{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 10px;background:none;border:1px solid transparent;border-radius:var(--r-sm);color:var(--mut);font-size:var(--t-xs);font-weight:650;cursor:pointer;transition:background .15s var(--ease),color .15s var(--ease)}@media (hover:hover){.cm-act:hover{background:var(--panel2);color:var(--txt)}}.cm-act.on{color:var(--pen-ink);background:var(--pen-ink-t)}.cm-act:focus-visible{outline:2px solid var(--pen-ink);outline-offset:2px}@media (pointer:coarse){.cm-act{min-height:44px;min-width:44px;justify-content:center}}.cm-avatar{display:inline-grid;place-items:center;border-radius:var(--r-pill);border:1px solid;font-weight:700;flex:none;letter-spacing:.02em}.cm-author{display:inline-flex;align-items:center;gap:8px;color:var(--txt);text-decoration:none;font-weight:600;font-size:var(--t-sm);min-width:0}.cm-author:hover .cm-author-name{text-decoration:underline}.cm-author-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-rep{color:var(--mut);font-weight:600;font-size:var(--t-xs)}.cm-meta-dot:before{content:"·";margin:0 2px;color:var(--faint)}.cm-empty{text-align:center;padding:var(--s6) var(--s4);border:1px dashed var(--line2);border-radius:var(--r-lg);color:var(--mut)}.cm-empty h3{margin:0 0 6px;color:var(--txt);font-size:var(--t-md)}.cm-empty p{margin:0 0 var(--s3);font-size:var(--t-sm);line-height:var(--lh-body)}.cm-banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:var(--r-md);font-size:var(--t-sm);line-height:1.5;margin-bottom:var(--s3);border:1px solid var(--line);background:var(--panel2);color:var(--txt)}.cm-banner.warn{background:var(--err-t);border-color:color-mix(in srgb,var(--err-ink) 30%,transparent);color:var(--err-ink)}.cm-banner.ok{background:var(--ok-t);border-color:color-mix(in srgb,var(--ok-ink) 30%,transparent);color:var(--ok-ink)}.cm-thread .cm-title{font-size:var(--t-2xl);letter-spacing:-.01em;line-height:1.2}.cm-post-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--lh-body);margin:var(--s3) 0 0;font-size:var(--t-md)}.cm-solve-ref{margin-top:var(--s3)}.cm-aidraft{margin-top:var(--s4);border:1px solid var(--line2);border-radius:var(--r-lg);padding:var(--s4);background:linear-gradient(180deg,var(--panel2),var(--panel))}.cm-aidraft-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--t-xs);font-weight:700;color:var(--pen-ink);background:var(--pen-ink-t);padding:3px 9px;border-radius:var(--r-pill);margin-bottom:10px}.cm-aidraft-label.checked{color:var(--ok-ink);background:var(--ok-t)}.cm-aidraft-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--lh-body);font-size:var(--t-sm);margin:0}.cm-aidraft-fine{margin:10px 0 0;font-size:var(--t-xs);color:var(--mut);line-height:1.5}.cm-comments{margin-top:var(--s5)}.cm-comments h2{font-size:var(--t-lg);margin:0 0 var(--s3)}.cm-comment{padding:var(--s3) 0;border-top:1px solid var(--line)}.cm-comment.reply{margin-left:36px;border-top:1px dashed var(--line)}.cm-comment.accepted{background:var(--ok-t);border:1px solid color-mix(in srgb,var(--ok-ink) 30%,transparent);border-radius:var(--r-md);padding:var(--s3);margin:var(--s2) 0}.cm-comment-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:var(--t-xs);color:var(--mut);margin-bottom:6px}.cm-comment-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:var(--lh-body);font-size:var(--t-sm);margin:0}.cm-comment-acts{display:flex;gap:2px;margin-top:4px;flex-wrap:wrap}.cm-accepted-tag{display:inline-flex;align-items:center;gap:4px;color:var(--ok-ink);font-weight:700}.cm-reply-box{margin:var(--s2) 0 0 36px}.cm-textarea{width:100%;min-height:92px;resize:vertical;font:inherit;font-size:var(--t-sm);line-height:1.55;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line2);background:var(--panel);color:var(--txt)}.cm-textarea:focus-visible{outline:2px solid var(--pen-ink);outline-offset:1px;border-color:transparent}.cm-types{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:var(--s4)}@media (max-width:560px){.cm-types{grid-template-columns:repeat(2,1fr)}}.cm-type-tile{text-align:left;padding:12px;border-radius:var(--r-md);cursor:pointer;background:var(--panel);border:1px solid var(--line);color:var(--txt);display:flex;flex-direction:column;gap:4px;min-height:84px;font:inherit;transition:border-color .15s var(--ease),background .15s var(--ease)}.cm-type-tile strong{font-size:var(--t-sm);display:flex;align-items:center;gap:6px}.cm-type-tile span{font-size:var(--t-xs);color:var(--mut);line-height:1.4}.cm-type-tile.on{border-color:var(--pen-ink);background:var(--pen-ink-t)}.cm-type-tile:focus-visible{outline:2px solid var(--pen-ink);outline-offset:2px}.cm-field{margin-bottom:var(--s4)}.cm-field>label{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.cm-field .hint,.cm-field>label{font-size:var(--t-xs);color:var(--mut)}.cm-field .hint{margin:6px 0 0;line-height:1.5}.cm-field .input,.cm-field select.input{width:100%}.cm-inline{display:flex;gap:8px;flex-wrap:wrap}.cm-inline>*{flex:1 1 160px}.cm-tags{display:flex;gap:6px;flex-wrap:wrap}.cm-tag,.cm-tags{align-items:center}.cm-tag{display:inline-flex;gap:4px;padding:4px 8px 4px 10px;border-radius:var(--r-pill);background:var(--panel2);border:1px solid var(--line);font-size:var(--t-xs);font-weight:600}.cm-tag button{background:none;border:0;color:var(--mut);cursor:pointer;display:grid;place-items:center;width:22px;height:22px;border-radius:var(--r-pill)}.cm-tag button:hover{color:var(--err-ink)}.cm-poll-edit{display:flex;flex-direction:column;gap:6px}.cm-attach{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px dashed var(--line2);border-radius:var(--r-md);font-size:var(--t-sm)}.cm-attach.on{border-style:solid;border-color:var(--ok-ink);background:var(--ok-t)}.cm-poll{margin-top:var(--s4);display:flex;flex-direction:column;gap:8px}.cm-poll-opt{position:relative;overflow:hidden;text-align:left;padding:10px 12px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);cursor:pointer;font:inherit;color:var(--txt);display:flex;justify-content:space-between;gap:10px}.cm-poll-opt .bar{position:absolute;inset:0 auto 0 0;background:var(--hi-t);z-index:0;transition:width .3s var(--ease)}.cm-poll-opt>span{position:relative;z-index:1}.cm-poll-opt.mine{border-color:var(--hi-ink)}.cm-poll-opt:disabled{cursor:default}.cm-poll-total{font-size:var(--t-xs);color:var(--mut)}.cm-resource{margin-top:var(--s4);border:1px solid color-mix(in srgb,var(--ok-ink) 35%,transparent);background:var(--ok-t);border-radius:var(--r-lg);padding:var(--s4);display:flex;gap:var(--s3);align-items:center;flex-wrap:wrap}.cm-resource .icon-tile{margin:0}.cm-resource-meta{flex:1 1 200px;min-width:0}.cm-resource-meta strong{display:block;font-size:var(--t-md)}.cm-resource-meta span{font-size:var(--t-xs);color:var(--mut)}.cm-profile-head{display:flex;gap:var(--s4);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--s4)}.cm-profile-head h1{margin:0;font-size:var(--t-xl)}.cm-handle{color:var(--mut);font-weight:600}.cm-bio,.cm-handle{font-size:var(--t-sm)}.cm-bio{margin:8px 0 0;line-height:var(--lh-body);overflow-wrap:anywhere}.cm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:8px;gap:8px;margin:var(--s4) 0}.cm-stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px}.cm-stat b{display:block;font-size:var(--t-xl);font-weight:800;letter-spacing:-.01em}.cm-stat span{font-size:var(--t-xs);color:var(--mut);font-weight:600}.cm-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:var(--s4)}.cm-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-pill);background:var(--hi-t);color:var(--hi-ink);border:1px solid color-mix(in srgb,var(--hi-ink) 35%,transparent);font-size:var(--t-xs);font-weight:700}.cm-foryou{display:grid;grid-gap:8px;gap:8px;margin-bottom:var(--s4)}.cm-fy-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}.cm-fy-row .name{flex:1 1;min-width:0;font-weight:600;font-size:var(--t-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cm-fy-row .sub-path{display:block;font-size:var(--t-xs);color:var(--mut);font-weight:500}.cm-fy-row .btn.small{flex:none}.about{max-width:680px;margin:0 auto}.about-hero{padding-bottom:var(--s5);border-bottom:1px solid var(--line);margin-bottom:var(--s5)}.about-h1{font-size:clamp(26px,5vw,34px);line-height:1.15;text-wrap:balance;margin-bottom:var(--s3)}.about-dek{font-size:var(--t-md);line-height:var(--lh-body);max-width:60ch;margin:0}.about-section{margin-bottom:var(--s6)}.about-h2{font-size:var(--t-lg);font-weight:700;margin:0 0 var(--s3);letter-spacing:-.005em}.about-body{max-width:62ch}.about-beliefs{display:grid;grid-gap:var(--s3);gap:var(--s3)}.about-belief{display:flex;gap:var(--s3);align-items:flex-start}.about-belief-icon{flex:none;width:40px;height:40px;margin:0}.about-belief strong{display:block;font-size:var(--t-md);margin-bottom:4px}.about-belief p{margin:0;color:var(--mut);font-size:var(--t-sm);line-height:var(--lh-body);overflow-wrap:anywhere}.about-stack{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin:var(--s4) 0 var(--s3)}.about-stack-row{display:flex;align-items:baseline;gap:var(--s3);padding:11px var(--s4);border-bottom:1px solid var(--line);font-size:var(--t-sm)}.about-stack-row:last-child{border-bottom:none}.about-stack-name{flex:1 1;min-width:0;overflow-wrap:anywhere}.about-stack-name em{color:var(--mut);font-style:normal}.about-stack-price{font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex:none}.about-stack-row.total{background:var(--panel2);font-weight:650}.about-stack-row.ours{background:var(--hi-t);color:var(--hi-ink);font-weight:700}.about-stack-row.ours .about-stack-name em{color:inherit}.about-note{font-size:var(--t-xs);line-height:1.55;max-width:62ch}.about-nots{list-style:none;padding:0;margin:0;display:grid;grid-gap:10px;gap:10px}.about-nots li{padding-left:22px;position:relative;font-size:var(--t-sm);line-height:var(--lh-body);color:var(--mut);overflow-wrap:anywhere}.about-nots li b{color:var(--txt)}.about-nots li:before{content:"";position:absolute;left:0;top:9px;width:10px;height:2px;border-radius:2px;background:var(--err-ink);opacity:.8}.about-cta{text-align:center;padding:var(--s5) var(--s4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}@media (max-width:560px){.about-cta .row{flex-direction:column}.about-cta .btn{width:100%;justify-content:center}}.lp :where(h1,h2,h3,p,li,span,a,strong){overflow-wrap:anywhere}.lp{--lp-gut:clamp(20px,5vw,56px);--lp-max:1120px;max-width:none;margin:0;padding:0}.lp-nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--s4);max-width:var(--lp-max);margin:0 auto;padding:14px var(--lp-gut);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.lp-nav{background:var(--bg)}}.lp-brand{display:inline-flex;align-items:center;gap:9px;flex:none;font-weight:800;font-size:var(--t-lg);letter-spacing:-.015em;color:var(--txt);text-decoration:none}.lp-brand.sm{font-size:var(--t-sm)}.lp-mark{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:9px;background:var(--hi);color:var(--on-hi);box-shadow:0 1px 0 var(--sticker-edge)}.lp-brand.sm .lp-mark{width:22px;height:22px;border-radius:7px}.lp-links{display:flex;gap:4px;margin:0 auto}.lp-links a{padding:8px 12px;border-radius:var(--r-sm);text-decoration:none;color:var(--mut);font-size:var(--t-sm);font-weight:600;transition:color .15s var(--ease),background .15s var(--ease)}@media (hover:hover){.lp-links a:hover{color:var(--txt);background:var(--panel2)}}.lp-actions{display:flex;align-items:center;gap:8px;flex:none;margin-left:auto}.lp-signin{background:none;border:0;cursor:pointer;font:inherit;font-size:var(--t-sm);font-weight:650;color:var(--mut);padding:10px 12px;min-height:40px;border-radius:var(--r-sm)}@media (hover:hover){.lp-signin:hover{color:var(--txt);background:var(--panel2)}}.lp-cta{white-space:nowrap}.lp-burger{display:none}@media (max-width:860px){.lp-links,.lp-signin{display:none}.lp-burger{display:grid;place-items:center;width:44px;height:44px;background:none;border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--txt);cursor:pointer}}.lp-mobile{position:-webkit-sticky;position:sticky;top:66px;z-index:39;display:grid;grid-gap:2px;gap:2px;max-width:var(--lp-max);margin:0 auto;padding:10px var(--lp-gut) 16px;background:var(--bg);border-bottom:1px solid var(--line);animation:fade-in .18s var(--ease)}.lp-mobile a,.lp-mobile button{text-align:left;text-decoration:none;font:inherit;background:none;border:0;color:var(--txt);font-size:var(--t-md);font-weight:600;padding:13px 4px;min-height:48px;cursor:pointer;border-radius:var(--r-sm)}.lp-mobile .btn{margin-top:6px;justify-content:center}.lp-hero{max-width:var(--lp-max);margin:0 auto;padding:clamp(28px,5vw,60px) var(--lp-gut) clamp(40px,6vw,76px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);grid-gap:clamp(28px,5vw,56px);gap:clamp(28px,5vw,56px);align-items:center}@media (max-width:940px){.lp-hero{grid-template-columns:1fr;gap:32px}}.lp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin-bottom:14px}.lp-eyebrow-dot{width:6px;height:6px;border-radius:50%;background:var(--hi-ink);flex:none}.lp-h1{font-size:clamp(34px,6.2vw,58px);line-height:1.04;letter-spacing:-.025em;font-weight:800;margin:0 0 var(--s4);text-wrap:balance;color:var(--txt)}.lp-dek{font-size:clamp(16px,1.6vw,19px);line-height:1.55;color:var(--mut);margin:0 0 var(--s5);max-width:46ch}.lp-hero-cta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.lp-fine{margin:14px 0 0;font-size:var(--t-xs);color:var(--mut);line-height:1.5}.lp-frame{border:1px solid var(--line2);border-radius:var(--r-lg);overflow:hidden;background:var(--panel);box-shadow:var(--shadow-pop);transform:perspective(1400px) rotateY(-1.6deg) rotateX(1deg);transition:transform .5s var(--ease)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.lp-frame:hover{transform:perspective(1400px) rotateY(0deg) rotateX(0deg)}}@media (max-width:940px){.lp-frame{transform:none}}.lp-frame-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:var(--panel2);border-bottom:1px solid var(--line)}.lp-dot{width:9px;height:9px;border-radius:50%;background:var(--line2);flex:none}.lp-frame-title{margin-left:10px;font-size:var(--t-xs);font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}.lp-frame-body{padding:var(--s4);max-height:560px;overflow:hidden;position:relative}.lp-frame-body:after{content:"";position:absolute;inset:auto 0 0 0;height:90px;pointer-events:none;background:linear-gradient(to bottom,transparent,var(--panel))}.lp-frame-body .example{margin:0;border:0;padding:0;background:none;box-shadow:none}.lp-section{max-width:var(--lp-max);margin:0 auto;padding:clamp(44px,7vw,88px) var(--lp-gut)}.lp-section[id]{scroll-margin-top:84px}.lp-head{max-width:62ch;margin-bottom:clamp(28px,4vw,44px)}.lp-h2{font-size:clamp(25px,3.4vw,36px);line-height:1.12;letter-spacing:-.02em;font-weight:800;margin:0 0 var(--s3);text-wrap:balance;color:var(--txt)}.lp-sub{font-size:var(--t-md);line-height:var(--lh-body);color:var(--mut);margin:0;max-width:58ch}.lp-pillars{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:var(--s3);gap:var(--s3)}@media (max-width:1000px){.lp-pillars{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.lp-pillars{grid-template-columns:1fr}}.lp-pillar{display:flex;flex-direction:column;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s4);box-shadow:var(--shadow-card);transition:border-color .18s var(--ease),transform .18s var(--ease)}@media (hover:hover) and (prefers-reduced-motion:no-preference){.lp-pillar:hover{border-color:var(--line2);transform:translateY(-2px)}}.lp-pillar-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--pen-ink-t);color:var(--pen-ink);margin-bottom:var(--s3)}.lp-pillar-kicker{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--hi-ink);margin-bottom:6px}.lp-pillar-title{font-size:var(--t-md);font-weight:700;line-height:1.3;margin:0 0 8px}.lp-pillar-body{font-size:var(--t-sm);line-height:var(--lh-body);color:var(--mut);margin:0;overflow-wrap:anywhere}.lp-section-cta{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-top:clamp(26px,4vw,40px)}.lp-section-cta-note{font-size:var(--t-sm);color:var(--mut)}.lp-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);grid-gap:clamp(16px,3vw,32px);gap:clamp(16px,3vw,32px)}@media (max-width:820px){.lp-steps{grid-template-columns:1fr;gap:var(--s4)}}.lp-step{padding-top:var(--s4);border-top:2px solid var(--hi)}.lp-step-n{display:block;font-family:var(--font-mono-stack);font-size:var(--t-sm);font-weight:500;color:var(--hi-ink);letter-spacing:.06em;margin-bottom:10px}.lp-step-t{font-size:var(--t-lg);font-weight:700;line-height:1.25;margin:0 0 8px;letter-spacing:-.01em}.lp-step-b{font-size:var(--t-sm);line-height:var(--lh-body);color:var(--mut);margin:0}.lp-proof{text-align:center}.lp-proof .lp-eyebrow,.lp-proof .lp-h2{justify-content:center}.lp-proof .lp-h2{max-width:22ch;margin-left:auto;margin-right:auto}.lp-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s4);gap:var(--s4);margin-top:clamp(26px,4vw,40px);text-align:left}@media (max-width:820px){.lp-proof-grid{grid-template-columns:1fr}}.lp-proof-grid>div{padding:var(--s4);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--panel)}.lp-proof-grid strong{display:block;font-size:var(--t-md);margin-bottom:6px}.lp-proof-grid span{font-size:var(--t-sm);color:var(--mut);line-height:var(--lh-body)}.lp-final{max-width:calc(var(--lp-max) - 2 * var(--lp-gut));margin:0 var(--lp-gut) clamp(48px,7vw,88px);padding:clamp(40px,6vw,72px) var(--lp-gut);text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}@media (min-width:1180px){.lp-final{margin-left:auto;margin-right:auto}}.lp-final-h{max-width:20ch}.lp-final-h,.lp-final-sub{margin-left:auto;margin-right:auto}.lp-final-cta{justify-content:center;margin-top:var(--s5)}.lp-foot{border-top:1px solid var(--line);background:var(--bg2)}.lp-foot-cols{max-width:var(--lp-max);margin:0 auto;padding:clamp(32px,5vw,52px) var(--lp-gut) var(--s5);display:grid;grid-template-columns:repeat(3,1fr);grid-gap:var(--s5);gap:var(--s5)}@media (max-width:760px){.lp-foot-cols{grid-template-columns:repeat(2,1fr);gap:var(--s4)}}.lp-foot-cols>div{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.lp-foot-h{font-size:var(--t-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}.lp-foot-cols a,.lp-foot-cols button{font:inherit;font-size:var(--t-sm);color:var(--mut);text-decoration:none;background:none;border:0;padding:7px 0;cursor:pointer;text-align:left;min-height:34px}.lp-foot-cols a:hover,.lp-foot-cols button:hover{color:var(--txt);text-decoration:underline;text-underline-offset:3px}@media (pointer:coarse){.lp-foot-cols a,.lp-foot-cols button{min-height:44px;padding:11px 0}}.lp-foot-base{max-width:var(--lp-max);margin:0 auto;padding:var(--s4) var(--lp-gut) calc(var(--s5) + var(--nav-h, 0px));border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:var(--s3);flex-wrap:wrap;font-size:var(--t-xs);color:var(--mut)}.reveal-armed{opacity:0;transform:translateY(14px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.reveal-in{opacity:1;transform:none}@media (pointer:coarse){.lp .btn,.lp-cta,.lp-links a,.lp-signin{min-height:44px}.lp-links a{display:inline-flex;align-items:center}.lp-brand{min-height:44px}}