@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Ubuntu;src:url(/fonts/Ubuntu-Italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Fira Code;src:url(/fonts/FiraCode-VF.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}:root{--bg: #0a0c0f;--bg-panel: #0e1116;--surface: #12161c;--surface-raised: #181d25;--surface-hover: #1c222b;--well: #080a0d;--border: #222a33;--border-subtle: #1a2027;--border-strong: #313b46;--text: #e7ebef;--text-2: #97a2ad;--text-3: #838e9b;--text-faint: #7a8490;--accent: #2d90ff;--accent-soft: #2d90ff26;--accent-text: #8fc3ff;--syn-green: #3fb950;--syn-amber: #e3b341;--syn-coral: #f0716a;--syn-cyan: #39c5cf;--syn-plum: #bd8cff;--green-soft: #3fb95018;--amber-soft: #e3b34118;--coral-soft: #f0716a18;--cyan-soft: #39c5cf18;--plum-soft: #bd8cff1f;--ui: "Ubuntu", system-ui, sans-serif;--mono: "Fira Code", "JetBrains Mono", ui-monospace, monospace;--radius: 10px;--radius-sm: 7px;--radius-lg: 14px;--shadow-deep: rgb(0 0 0 / .65);--maxw: 1200px;--pad: 40px}:root{--amber-text: #f1cf78;--coral-text: #ff9b95;--plum-text: #cfb0ff;--on-accent: var(--bg);--fs-display: clamp(40px, 5.4vw, 66px);--fs-h1: clamp(36px, 4.6vw, 56px);--fs-h1-doc: clamp(32px, 4.4vw, 46px);--fs-h2: clamp(28px, 3.6vw, 42px);--fs-h2-lg: clamp(30px, 4.2vw, 46px);--fs-h2-sm: clamp(26px, 3vw, 36px);--fs-title: 21px;--fs-h3: 20px;--fs-h3-sm: 18px;--fs-lead: 18px;--fs-body-lg: 17px;--fs-body: 15.5px;--fs-body-sm: 14.5px;--fs-caption: 13.5px;--fs-mono-lg: 14px;--fs-mono: 13px;--fs-mono-sm: 12.5px;--fs-mono-xs: 11.5px;--fs-mono-2xs: 10.5px;--nav-h: 70px;--sec-y: clamp(64px, 9vw, 96px);--sec-head-mb: 48px;--ease-out: cubic-bezier(.22, 1, .36, 1);--dur-fast: .14s;--dur-med: .22s;--dur-open: .3s;--dur-reveal: .7s;--shadow-pop: 0 40px 90px -40px var(--shadow-deep), 0 0 0 1px var(--border-subtle);--z-sticky: 40;--z-nav: 100;--z-overlay: 200;--z-top: 1000}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 20px)}body{background:var(--bg);color:var(--text);font-family:var(--ui);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}::selection{background:var(--accent-soft);color:var(--text)}*::-webkit-scrollbar{width:11px;height:11px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:6px;border:3px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted, var(--text-3));background-clip:padding-box;border:3px solid transparent}*::-webkit-scrollbar-thumb:active{background:var(--primary-500, var(--accent));background-clip:padding-box;border:3px solid transparent}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.scroll-hidden{scrollbar-width:none;-ms-overflow-style:none}.scroll-hidden::-webkit-scrollbar{width:0;height:0;display:none}a{color:inherit;text-decoration:none}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.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}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.fq:focus-visible,.hint-head:focus-visible,.mod-head:focus-visible{outline-offset:-3px}.skip-link{position:absolute;top:8px;left:8px;z-index:var(--z-top);padding:10px 16px;background:var(--accent);color:var(--bg);font-weight:600;border-radius:var(--radius-sm);text-decoration:none;transform:translateY(-150%);transition:transform .15s ease}.skip-link:focus{transform:translateY(0)}.caret{display:inline-block;width:.5ch;height:.92em;background:var(--accent);margin-left:8px;transform:translateY(2px);border-radius:1px;vertical-align:baseline}@media(prefers-reduced-motion:no-preference){.caret{animation:blink 1.15s steps(1) infinite}}@keyframes blink{50%{opacity:0}}.label{font-family:var(--mono);font-size:var(--fs-mono);letter-spacing:.04em;color:var(--text-3);display:inline-flex;align-items:center;gap:8px}.label:before{content:"//";color:var(--text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;height:46px;padding:0 22px;border-radius:9px;font-family:var(--ui);font-size:15px;font-weight:600;cursor:pointer;border:1px solid transparent;white-space:nowrap;transition:filter var(--dur-fast),background var(--dur-fast),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--btn-bg, var(--accent));color:var(--btn-fg, var(--on-accent))}.btn-primary:hover{filter:brightness(1.12);transform:translateY(-1px)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text-2);font-family:var(--mono);font-size:var(--fs-mono-lg);font-weight:500}.btn-ghost:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text)}.btn-sm{height:38px;padding:0 16px;font-size:14px}.btn .prompt{font-family:var(--mono);color:color-mix(in srgb,var(--btn-fg, var(--on-accent)) 70%,transparent)}.pill,.diff{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:var(--fs-mono-xs);font-weight:500;line-height:1.5;padding:2px 9px;border-radius:6px;letter-spacing:.02em;white-space:nowrap;color:var(--pill-c, var(--text-2));background:var(--pill-bg, var(--well));border:1px solid var(--pill-bd, transparent)}.pill svg,.diff svg{width:12px;height:12px;flex-shrink:0}.pill.green,.diff.easy{--pill-c: var(--syn-green);--pill-bg: var(--green-soft)}.pill.amber,.diff.medium{--pill-c: var(--syn-amber);--pill-bg: var(--amber-soft)}.pill.coral,.diff.hard{--pill-c: var(--syn-coral);--pill-bg: var(--coral-soft)}.pill.plum{--pill-c: var(--syn-plum);--pill-bg: var(--plum-soft)}.pill.blue{--pill-c: var(--accent-text);--pill-bg: var(--accent-soft)}.pill.br{--pill-bd: color-mix(in srgb, currentColor 30%, transparent)}.pill.upper{font-size:var(--fs-mono-2xs);letter-spacing:.05em;text-transform:uppercase}.ic-box,.assist-point .ic,.free-list .ok,.plus-list .pd,.mini-lang,.track .langbox,.mock-tab .lang,.streak-flame{--ic: 28px;width:var(--ic);height:var(--ic);border-radius:max(4px,calc(var(--ic) * .25));background:var(--ic-bg, var(--well));color:var(--ic-c, var(--text-2));border:1px solid var(--ic-bd, transparent);display:grid;place-items:center;flex-shrink:0}.ic-box svg,.assist-point .ic svg,.free-list .ok svg,.plus-list .pd svg,.mini-lang svg,.track .langbox svg,.mock-tab .lang svg,.streak-flame svg{width:calc(var(--ic) * .55);height:calc(var(--ic) * .55)}.chrome,.mock,.ladder{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);overflow:hidden}.chrome.pop,.mock{box-shadow:var(--shadow-pop)}.chrome-bar,.mock-bar,.ladder-bar{display:flex;align-items:center;gap:10px;padding:11px 14px;background:var(--bg-panel);border-bottom:1px solid var(--border-subtle);font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--text-2)}.chrome-dots,.mock-dots{display:flex;gap:6px;flex-shrink:0}.chrome-dots i,.mock-dots i{width:11px;height:11px;border-radius:50%;background:var(--border-strong)}.chrome-tab,.mock-tab{display:flex;align-items:center;gap:8px;margin-left:6px;min-width:0}.chrome-bar .pill,.chrome-bar .diff,.mock-bar .diff,.mock-bar .pill{margin-left:auto}.chrome-foot,.mock-test{display:flex;align-items:center;gap:10px;padding:10px 16px;background:var(--well);border-top:1px solid var(--border-subtle);font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--text-3);min-height:40px}.microbar{height:4px;border-radius:20px;background:var(--well);box-shadow:inset 0 0 0 1px var(--border-subtle);overflow:hidden}.microbar i{display:block;height:100%;background:var(--accent);border-radius:20px;width:0;transition:width 1s var(--ease-out)}.crumb{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:var(--fs-mono);color:var(--text-3)}.crumb a{color:var(--text-3);transition:color var(--dur-fast)}.crumb a:hover{color:var(--accent-text)}.crumb .sep{color:var(--text-faint)}.crumb .cur{color:var(--text-2)}.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden}.hero-glow{position:absolute;top:var(--glow-y, -180px);right:var(--glow-x, -120px);width:var(--glow-size, 720px);height:var(--glow-size, 720px);background:radial-gradient(circle,var(--glow-c, var(--accent-soft)) 0%,transparent 62%);opacity:var(--glow-o, .7);filter:blur(8px)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:56px 56px;mask-image:var(--grid-mask, radial-gradient(ellipse 80% 60% at 40% 0%, #000 0%, transparent 75%));-webkit-mask-image:var( --grid-mask, radial-gradient(ellipse 80% 60% at 40% 0%, #000 0%, transparent 75%) );opacity:var(--grid-o, .5)}.tok-k{color:var(--syn-plum)}.tok-s{color:var(--syn-green)}.tok-c{color:var(--text-3);font-style:italic}.tok-f{color:var(--accent-text)}.tok-d{color:var(--text)}.tok-e{color:var(--coral-text);font-weight:500}section.block{position:relative;padding:var(--sec-y) 0}.sec-head{margin-bottom:var(--sec-head-mb);max-width:720px}.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}.sec-head h2{font-size:var(--fs-h2);line-height:1.08;letter-spacing:-.03em;font-weight:700;margin:16px 0 0}.sec-head h2 .accent{color:var(--accent-text)}.sec-head p{margin-top:16px;font-size:var(--fs-body-lg);color:var(--text-2);line-height:1.6;max-width:600px;text-wrap:pretty}.sec-head.center p{margin-left:auto;margin-right:auto}.reveal{opacity:0;transform:translateY(26px);transition:opacity var(--dur-reveal) var(--ease-out),transform var(--dur-reveal) var(--ease-out)}.reveal.in{opacity:1;transform:none}.reveal[data-d="1"]{transition-delay:.08s}.reveal[data-d="2"]{transition-delay:.16s}.reveal[data-d="3"]{transition-delay:.24s}.reveal[data-d="4"]{transition-delay:.32s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal,.hero-eyebrow,.hero-sub,.hero-cta,.hero-note,.hero h1 .line,.mock,.cl{opacity:1!important;transform:none!important}.hero-token{display:none!important}}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);height:var(--nav-h);display:flex;align-items:center;border-bottom:1px solid transparent;transition:background .2s,border-color .2s,backdrop-filter .2s}.nav.scrolled{background:color-mix(in oklab,var(--bg-panel) 86%,transparent);backdrop-filter:blur(14px);border-bottom-color:var(--border)}.nav .wrap{display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-logo{height:34px;width:auto;display:block;object-fit:contain}.nav-links{display:flex;align-items:center;gap:4px;margin-left:14px}.nav-links a{font-family:var(--mono);font-size:13.5px;color:var(--text-2);padding:8px 12px;border-radius:var(--radius-sm);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast)}.nav-links a:hover{background:var(--surface);color:var(--text)}.nav-links a[aria-current=page]{background:var(--surface);box-shadow:inset 0 -2px 0 var(--accent);color:var(--text)}.nav-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.nav-login{font-family:var(--mono);font-size:var(--fs-mono-lg);color:var(--text-2);padding:8px}.nav-login:hover{color:var(--text)}.nav-burger{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-left:4px;border:none;background:transparent;color:var(--text-2);border-radius:8px;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.nav-burger:hover{background:var(--surface);color:var(--text)}.hero{position:relative;padding:150px 0 90px;overflow:hidden}.hero-token{position:absolute;font-family:var(--mono);font-size:var(--fs-mono-lg);color:var(--text-faint);opacity:0;user-select:none}@media(prefers-reduced-motion:no-preference){.hero-token{animation:drift 18s linear infinite}}@keyframes drift{0%{opacity:0;transform:translateY(20px)}12%{opacity:.6}88%{opacity:.6}to{opacity:0;transform:translateY(-120px)}}.hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:56px;align-items:center}.hero-copy{max-width:600px}.hero-eyebrow{margin-bottom:24px;opacity:0;animation:rise .7s .05s ease-out forwards}.hero h1{font-size:var(--fs-display);line-height:1.02;letter-spacing:-.035em;font-weight:700;margin-bottom:22px}.hero h1 .accent{color:var(--accent-text)}.hero h1 .strike{color:var(--text-2);text-decoration:line-through;text-decoration-thickness:.055em;text-decoration-color:color-mix(in oklab,var(--text-2) 55%,transparent)}.hero h1 .caret{margin-left:.16em}.hero h1 .line{display:block;opacity:0;animation:rise .8s ease-out forwards}.hero h1 .line:nth-child(1){animation-delay:.12s}.hero h1 .line:nth-child(2){animation-delay:.24s}.hero-sub{font-size:var(--fs-lead);line-height:1.6;color:var(--text-2);max-width:540px;margin-bottom:32px;text-wrap:pretty;opacity:0;animation:rise .8s .38s ease-out forwards}.hero-sub b{color:var(--text);font-weight:500}.hero-cta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;opacity:0;animation:rise .8s .5s ease-out forwards}.hero-note{margin-top:22px;display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:var(--fs-mono);color:var(--text-3);opacity:0;animation:rise .8s .62s ease-out forwards}.hero-note .ok{color:var(--syn-green);display:inline-grid;place-items:center}.hero-note .ok svg{width:15px;height:15px}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.mock{opacity:0;animation:mockin .9s .3s var(--ease-out) forwards}@keyframes mockin{0%{opacity:0;transform:translateY(26px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.mock-tab .lang{--ic: 20px;--ic-bd: var(--border-subtle)}.code{background:var(--well);padding:16px 18px 18px;font-family:var(--mono);font-size:var(--fs-mono);line-height:1.85;min-height:230px}.cl{display:flex;gap:16px;white-space:pre;opacity:0;transform:translate(-6px);transition:opacity var(--dur-med),transform var(--dur-med)}.cl.show{opacity:1;transform:none}.cl .ln{color:var(--text-faint);user-select:none;min-width:14px;text-align:right;font-variant-numeric:tabular-nums}.cl .cc{padding-left:var(--indent, 0);position:relative}.cl[data-indent="1"]{--indent: 4ch}.cl[data-indent="2"]{--indent: 8ch}.cl[data-indent="3"]{--indent: 12ch}.cl.active .cc:after{content:"";display:inline-block;width:7px;height:1.05em;background:var(--accent);margin-left:1px;transform:translateY(2px);border-radius:1px;animation:blink 1.05s steps(1) infinite}.mock-test .prompt{color:var(--accent)}.mock-test .run{color:var(--text-2)}.mock-test .pass{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--syn-green);font-weight:500;opacity:0;transform:translate(6px);transition:opacity .3s,transform .3s}.mock-test .pass.show{opacity:1;transform:none}.mock-test .pass svg{width:13px;height:13px}.mock-ai{background:var(--surface-raised);border-top:1px solid var(--border);padding:13px 16px 15px}.ai-head{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--text-2);margin-bottom:9px}.ai-head .spark{color:var(--syn-plum);display:inline-grid;place-items:center}.ai-head .spark svg{width:14px;height:14px}@media(prefers-reduced-motion:no-preference){.ai-head .spark.pulse svg{animation:sparkpulse 1.4s ease-in-out infinite}}@keyframes sparkpulse{0%,to{opacity:.6;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.ai-head .tag{margin-left:auto;font-size:var(--fs-mono-2xs);color:var(--syn-plum);background:var(--plum-soft);padding:1px 8px;border-radius:5px;letter-spacing:.02em}.ai-msg{font-family:var(--mono);font-size:var(--fs-mono);line-height:1.6;color:var(--text);min-height:2.6em}.ai-msg .cur{display:inline-block;width:6px;height:1em;background:var(--syn-plum);transform:translateY(2px);margin-left:1px;border-radius:1px;animation:blink 1s steps(1) infinite}.ai-foot{margin-top:9px;font-family:var(--mono);font-size:11px;color:var(--text-3)}.assist{background:linear-gradient(180deg,var(--bg-panel),var(--bg));border-top:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle)}.assist-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}.assist-copy h2{font-size:var(--fs-h2);letter-spacing:-.03em;line-height:1.1;font-weight:700;margin:16px 0 18px}.assist-copy h2 .accent{color:var(--syn-plum)}.assist-copy p{font-size:var(--fs-body-lg);color:var(--text-2);line-height:1.65;max-width:520px;text-wrap:pretty}.assist-points{margin-top:26px;display:flex;flex-direction:column;gap:16px}.assist-point{display:flex;gap:13px;align-items:flex-start}.assist-point .ic{--ic: 30px;--ic-bg: var(--plum-soft);--ic-c: var(--syn-plum)}.assist-point .t{font-size:15.5px;font-weight:500;color:var(--text)}.assist-point .d{font-size:14px;color:var(--text-2);line-height:1.5;margin-top:2px}.ladder-bar{padding:12px 16px;font-size:12px}.ladder-bar .spark{color:var(--syn-plum);display:inline-grid;place-items:center}.ladder-bar .spark svg{width:14px;height:14px}.ladder-bar .bal{margin-left:auto;color:var(--text-3)}.ladder-bar .bal b{color:var(--syn-cyan);font-weight:600}.ladder-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}.q-bubble{align-self:flex-end;max-width:78%;background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);color:var(--accent-text);font-family:var(--mono);font-size:var(--fs-mono-sm);padding:8px 12px;border-radius:10px 10px 3px}.hint{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--well);overflow:hidden}.hint-head{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;padding:10px 12px;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:var(--fs-mono-sm);color:var(--text-2);text-align:left;transition:background var(--dur-fast),color var(--dur-fast)}.hint-head:hover{background:var(--surface-hover);color:var(--text)}.hint-head .n{color:var(--syn-plum);flex-shrink:0}.hint-head .chev{margin-left:auto;width:13px;height:13px;color:var(--text-3);transition:transform var(--dur-med);flex-shrink:0}.hint.open .hint-head .chev{transform:rotate(180deg)}.hint-body{padding:0 12px;max-height:0;overflow:hidden;font-size:var(--fs-mono);font-family:var(--ui);color:var(--text-2);line-height:1.55;transition:max-height .28s ease,padding .28s ease}.hint.open .hint-body{padding:2px 12px 12px;max-height:200px}.ladder-lock{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px dashed var(--border-strong);border-radius:var(--radius-sm);font-family:var(--mono);font-size:12px;color:var(--text-3)}.ladder-lock svg{width:14px;height:14px;color:var(--text-faint);flex-shrink:0}.ladder-lock b{color:var(--text-2);font-weight:500}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;counter-reset:step}.step{position:relative;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:26px 24px 24px;transition:border-color var(--dur-fast),transform var(--dur-fast)}.step:hover{border-color:var(--border-strong);transform:translateY(-2px)}.step-n{font-family:var(--mono);font-size:var(--fs-mono);color:var(--accent-text);font-variant-numeric:tabular-nums}.step h3{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.01em;margin:16px 0 9px}.step p{font-size:var(--fs-body-sm);color:var(--text-2);line-height:1.55}.step-ic{position:absolute;top:24px;right:24px;width:22px;height:22px;color:var(--text-3)}.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);padding:var(--card-pad, 26px 24px);transition:border-color var(--dur-fast),transform var(--dur-fast);display:flex;flex-direction:column;min-width:0}.card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.card.c-wide{grid-column:span 4}.card.c-half{grid-column:span 3}.card.c-third{grid-column:span 2}.card-eyebrow{font-family:var(--mono);font-size:12px;color:var(--text-3);margin-bottom:14px}.card-eyebrow b{color:var(--accent-text);font-weight:400}.card h3{font-size:var(--fs-h3);font-weight:600;letter-spacing:-.015em;margin-bottom:8px}.card p{font-size:var(--fs-body-sm);color:var(--text-2);line-height:1.55;max-width:420px;text-wrap:pretty}.card-visual{margin-top:20px}.mini-list{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:var(--radius);overflow:hidden;background:var(--well)}.mini-row{display:flex;align-items:center;gap:11px;padding:10px 13px;border-bottom:1px solid var(--border-subtle)}.mini-row:last-child{border-bottom:none}.mini-row .glyph{width:15px;height:15px;flex-shrink:0}.mini-row .glyph .ring{width:13px;height:13px;border-radius:50%;border:1.8px solid currentColor}.mini-row .glyph.solved{color:var(--syn-green)}.mini-row .glyph.prog{color:var(--syn-amber)}.mini-row .glyph.todo{color:var(--text-faint)}.mini-row .glyph .ring.half{background:conic-gradient(currentColor 0 50%,transparent 50%)}.mini-lang{--ic: 26px;--ic-bg: var(--surface);--ic-bd: var(--border-subtle)}.mini-title{font-size:var(--fs-caption);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}.mini-row .diff{flex-shrink:0}.pk-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pk-tile{border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--well);padding:13px 14px}.pk-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.pk-top .glyph{width:15px;height:15px}.pk-name{font-size:var(--fs-caption);font-weight:500;color:var(--text);line-height:1.35;margin-bottom:10px}.pk-meta{font-family:var(--mono);font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;margin-bottom:9px}.pk-foot{display:flex;align-items:center;justify-content:space-between;margin-top:9px;font-family:var(--mono);font-size:11px;font-variant-numeric:tabular-nums}.pk-foot .pct{color:var(--accent-text)}.pk-foot .done{color:var(--syn-green)}.gami{display:flex;flex-direction:column;gap:14px}.streak-box{display:flex;align-items:center;gap:14px;padding:14px 15px;border:1px solid var(--border-subtle);border-radius:var(--radius);background:var(--well)}.streak-flame{--ic: 38px;--ic-bg: var(--amber-soft);--ic-c: var(--syn-amber)}.streak-v{font-family:var(--mono);font-size:21px;font-weight:700;color:var(--syn-amber);font-variant-numeric:tabular-nums;line-height:1}.streak-l{font-family:var(--mono);font-size:11px;color:var(--text-3);margin-top:3px}.heat{display:flex;gap:4px}.heat i{flex:1;height:26px;border-radius:4px;background:var(--surface-hover)}.heat i.l1{background:color-mix(in srgb,var(--syn-green) 25%,transparent)}.heat i.l2{background:color-mix(in srgb,var(--syn-green) 50%,transparent)}.heat i.l3{background:var(--syn-green)}.xp-row{display:flex;gap:10px;flex-wrap:wrap}.xp-chip{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;color:var(--text-2);background:var(--well);border:1px solid var(--border-subtle);padding:6px 11px;border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.xp-chip b{font-weight:600}.xp-chip.amber b{color:var(--syn-amber)}.xp-chip.cyan b{color:var(--syn-cyan)}.xp-chip.green b{color:var(--syn-green)}.tracks{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.track{display:flex;align-items:center;gap:11px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:11px 16px 11px 12px;transition:border-color var(--dur-fast),transform var(--dur-fast),background var(--dur-fast)}.track:hover{border-color:var(--border-strong);transform:translateY(-2px);background:var(--surface-hover)}.track .langbox{--ic: 34px;--ic-bd: var(--border-subtle)}.track .tn{font-size:var(--fs-body-sm);font-weight:500;color:var(--text);white-space:nowrap}.track.more-chip{gap:10px;padding:11px 16px;opacity:.78;cursor:default}.track.more-chip:hover{transform:none;background:var(--surface);border-color:var(--border);opacity:.92}.track.more-chip .more-count{font-family:var(--mono);font-size:var(--fs-mono-lg);font-weight:600;color:var(--accent-text);background:var(--accent-soft);border:1px solid color-mix(in oklab,var(--accent) 30%,transparent);border-radius:8px;padding:3px 9px;flex-shrink:0}.track.more-chip .more-list{font-family:var(--mono);font-size:12px;color:var(--text-3);white-space:nowrap}.free{border:1px solid var(--border);border-radius:18px;background:linear-gradient(180deg,var(--surface),var(--bg-panel));padding:0;overflow:hidden;display:grid;grid-template-columns:1.15fr 1fr}.free-l{padding:44px;border-right:1px solid var(--border-subtle)}.free-l h2{font-size:var(--fs-h2-sm);letter-spacing:-.03em;font-weight:700;line-height:1.1;margin:14px 0 16px}.free-l p{font-size:16px;color:var(--text-2);line-height:1.6;max-width:440px;text-wrap:pretty;margin-bottom:26px}.free-list{list-style:none;display:flex;flex-direction:column;gap:13px}.free-list li{display:flex;align-items:flex-start;gap:11px;font-size:15px;color:var(--text)}.free-list .ok{--ic: 20px;--ic-bg: var(--green-soft);--ic-c: var(--syn-green);margin-top:2px}.free-list span.sub{color:var(--text-2);font-size:var(--fs-caption)}.free-r{padding:44px 40px;display:flex;flex-direction:column;justify-content:center;background:var(--bg-panel)}.free-r .plus-label{font-family:var(--mono);font-size:12px;color:var(--syn-plum);margin-bottom:16px;display:flex;align-items:center;gap:8px}.free-r .plus-label svg{width:14px;height:14px}.free-r h3{font-size:var(--fs-title);font-weight:600;letter-spacing:-.01em;margin-bottom:8px}.free-r p{font-size:var(--fs-body-sm);color:var(--text-2);line-height:1.6;margin-bottom:22px;text-wrap:pretty}.plus-list{list-style:none;display:flex;flex-direction:column;gap:11px;margin-bottom:8px}.plus-list li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-2)}.plus-list .pd{--ic: 16px;--ic-bg: var(--plum-soft);--ic-c: var(--syn-plum)}.free-r .price{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--text);margin-top:22px}.faq{max-width:820px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.fitem{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden;transition:border-color var(--dur-fast)}.fitem.open{border-color:var(--border-strong)}.fq{display:flex;align-items:center;gap:14px;width:100%;padding:19px 22px;background:none;border:none;cursor:pointer;text-align:left;color:var(--text);font-family:var(--ui);font-size:16.5px;font-weight:500;transition:color var(--dur-fast)}.fq .qn{font-family:var(--mono);font-size:var(--fs-mono);color:var(--text-faint);flex-shrink:0}.fq .plus{margin-left:auto;width:18px;height:18px;position:relative;flex-shrink:0}.fq .plus:before,.fq .plus:after{content:"";position:absolute;background:var(--text-3);border-radius:1px;transition:transform var(--dur-med),background var(--dur-fast)}.fq .plus:before{top:8px;left:0;width:18px;height:2px}.fq .plus:after{left:8px;top:0;width:2px;height:18px}.fitem.open .fq .plus:after{transform:rotate(90deg);opacity:0}.fitem.open .fq .plus:before{background:var(--accent)}.fa{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows var(--dur-open) ease,padding var(--dur-open) ease;padding:0 22px 0 58px}.fa>*{min-height:0;overflow:hidden}.fitem.open .fa{padding:0 22px 22px 58px;grid-template-rows:1fr}.fa p{font-size:15px;color:var(--text-2);line-height:1.65;text-wrap:pretty}.fa code{font-family:var(--mono);font-size:var(--fs-mono);color:var(--accent-text);background:var(--well);padding:1px 6px;border-radius:5px}.final{position:relative;overflow:hidden}.final-card{position:relative;border:1px solid var(--border);border-radius:18px;background:var(--bg-panel);padding:64px 48px 60px;text-align:center;overflow:hidden}.final-card .glow{position:absolute;top:-120px;left:50%;transform:translate(-50%);width:600px;height:400px;background:radial-gradient(ellipse,var(--accent-soft) 0%,transparent 65%);opacity:.8;pointer-events:none}.final-term{position:relative;font-family:var(--mono);font-size:var(--fs-mono-lg);color:var(--text-3);margin-bottom:22px}.final-term .prompt{color:var(--accent)}.final-term .typed{color:var(--text)}.final-card h2{position:relative;font-size:var(--fs-h2-lg);letter-spacing:-.03em;font-weight:700;line-height:1.06;margin-bottom:16px}.final-card p{position:relative;font-size:var(--fs-body-lg);color:var(--text-2);max-width:480px;margin:0 auto 30px;line-height:1.6;text-wrap:pretty}.final-cta{position:relative;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}.legal-footer{margin-top:72px;border-top:1px solid var(--border);background:var(--bg-panel)}.legal-footer .wrap{max-width:var(--maxw)}.lf-main{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:36px;padding:44px 0 36px}.lf-main.wide{grid-template-columns:1.7fr 1fr 1fr 1fr}.lf-brand .brand{margin-bottom:14px}.lf-brand p{font-size:14px;color:var(--text-2);line-height:1.6;max-width:320px;text-wrap:pretty}.lf-col{display:flex;flex-direction:column;align-items:flex-start}.lf-label{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--text-3);margin-bottom:14px}.lf-label:before{content:"// ";color:var(--text-faint)}.lf-col a{font-size:14px;color:var(--text-2);padding:6px 0;white-space:nowrap;transition:color var(--dur-fast)}.lf-col a:hover{color:var(--accent-text)}.lf-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:11px 0;border-top:1px solid var(--border-subtle);font-family:var(--mono);font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums}.lf-branch{display:inline-flex;align-items:center;gap:7px;color:var(--accent-text)}.lf-branch svg{width:13px;height:13px}.lf-status{display:inline-flex;align-items:center;gap:7px;color:var(--syn-amber)}.lf-status .dot{width:7px;height:7px;border-radius:50%;background:var(--syn-amber);box-shadow:0 0 0 3px var(--amber-soft)}.lf-bar .sep{color:var(--text-faint)}.lf-bar .lf-copy{margin-left:auto}@media(max-width:1040px){:root{--pad: 24px}.hero-inner{grid-template-columns:1fr;gap:44px}.hero{padding-top:124px}.assist-grid{grid-template-columns:1fr;gap:36px}.steps{grid-template-columns:1fr}.bento{grid-template-columns:1fr 1fr}.card.c-wide,.card.c-half,.card.c-third{grid-column:span 2}.free{grid-template-columns:1fr}.free-l{border-right:none;border-bottom:1px solid var(--border-subtle);padding:36px 28px}.free-r{padding:36px 28px}}@media(max-width:1120px){html.nav-scroll-lock,html.nav-scroll-lock body{overflow:hidden}.nav-links{display:none}.nav.nav-open .nav-links{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:var(--nav-h);left:0;right:0;gap:0;margin-left:0;padding:6px 0;background:color-mix(in oklab,var(--bg-panel) 86%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.nav.nav-open .nav-links a{min-height:44px;display:flex;align-items:center;padding:0 var(--pad);border-radius:0;border-bottom:1px solid color-mix(in oklab,var(--border) 60%,transparent)}.nav.nav-open .nav-links a:last-child{border-bottom:none}.nav.nav-open .nav-links a[aria-current=page]{box-shadow:inset 3px 0 0 var(--accent)}.nav-burger{display:inline-flex}.nav-actions .btn-sm{height:44px}.nav-login{min-height:44px;display:inline-flex;align-items:center}}@media(max-width:720px){.lf-main,.lf-main.wide{grid-template-columns:1fr 1fr;gap:28px}.lf-brand{grid-column:span 2}.lf-bar .lf-copy{margin-left:0}}@media(max-width:640px){body{font-size:15px}.hero{padding-top:108px}.hero h1{font-size:clamp(34px,10vw,46px)}.bento{grid-template-columns:1fr}.card.c-wide,.card.c-half,.card.c-third{grid-column:span 1}.pk-tiles{grid-template-columns:1fr}.free-l,.free-r{padding:28px 22px}.final-card{padding:44px 24px 40px}.nav-actions .btn-ghost{display:none}.btn-sm{height:44px}.lf-col a{min-height:44px;display:inline-flex;align-items:center}}@media(max-width:360px){.nav .wrap{gap:10px}.nav-actions{gap:8px}.nav-login{padding-left:4px;padding-right:4px}.btn-sm{padding-left:12px;padding-right:12px}}html.no-anim *,html.no-anim *:before,html.no-anim *:after{transition:none!important}html.no-anim .reveal{opacity:1!important;transform:none!important}html.no-anim .hero-eyebrow,html.no-anim .hero-sub,html.no-anim .hero-cta,html.no-anim .hero-note,html.no-anim .hero h1 .line,html.no-anim .mock{opacity:1!important;transform:none!important;animation:none!important}html.no-anim .cl{opacity:1!important;transform:none!important}html.no-anim .hero-token{display:none!important}html.no-anim .caret,html.no-anim .ai-head .spark svg{animation:none!important}html.no-anim .microbar i{transition:none!important}.cookie-banner[data-astro-cid-fzbxxtek]{position:fixed;inset:auto 0 0;z-index:50;border-top:1px solid var(--border);background:color-mix(in srgb,var(--surface) 95%,transparent);backdrop-filter:blur(12px)}.cookie-banner[data-astro-cid-fzbxxtek][hidden]{display:none}.cookie-banner-inner[data-astro-cid-fzbxxtek]{max-width:var(--maxw);margin:0 auto;padding:16px var(--pad);display:flex;flex-direction:column;gap:16px}@media(min-width:640px){.cookie-banner-inner[data-astro-cid-fzbxxtek]{flex-direction:row;align-items:center}}.cookie-banner-text[data-astro-cid-fzbxxtek]{flex:1;font-size:14px;line-height:1.6;color:var(--text-2)}.cookie-banner-text[data-astro-cid-fzbxxtek] strong[data-astro-cid-fzbxxtek]{color:var(--text);font-weight:600}.cookie-banner-text[data-astro-cid-fzbxxtek] a[data-astro-cid-fzbxxtek]{color:var(--accent-text);text-decoration:underline}.cookie-banner-actions[data-astro-cid-fzbxxtek]{display:flex;gap:8px}.cookie-btn[data-astro-cid-fzbxxtek]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:var(--radius);padding:8px 16px;font-size:14px;cursor:pointer;border:1px solid transparent;transition:background-color var(--dur-fast) ease,filter var(--dur-fast) ease}.cookie-btn-primary[data-astro-cid-fzbxxtek]{background:var(--accent);color:var(--on-accent);font-weight:500}.cookie-btn-primary[data-astro-cid-fzbxxtek]:hover{filter:brightness(1.12)}
