@layer reset{*,:before,:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;min-height:100dvh;line-height:1.55}img,picture,video,canvas,svg{max-width:100%;display:block}img{height:auto}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[class],ol[class]{padding:0;list-style:none}a{color:inherit}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer tokens{@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/inter-latin-wght-normal.woff2)format("woff2-variations")}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/bricolage-grotesque-latin-wght-normal.woff2)format("woff2-variations")}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0%;size-adjust:107.12%}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-display:"Bricolage Grotesque Variable", "Inter Variable", "Inter Fallback", system-ui, sans-serif;--font-sans:"Inter Variable", "Inter Fallback", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, "Cascadia Code", Consolas, monospace;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1.0625rem;--text-lg:clamp(1.125rem, 1.08rem + .2vw, 1.25rem);--text-xl:clamp(1.25rem, 1.15rem + .43vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.35rem + .65vw, 1.875rem);--text-3xl:clamp(1.75rem, 1.48rem + 1.2vw, 2.5rem);--text-4xl:clamp(2.125rem, 1.7rem + 1.9vw, 3.25rem);--text-display:clamp(2.5rem, 1.9rem + 2.7vw, 4.25rem);--leading-none:1.05;--leading-tight:1.12;--leading-heading:1.2;--leading-snug:1.4;--leading-normal:1.55;--leading-relaxed:1.7;--tracking-tight:-.028em;--tracking-snug:-.014em;--tracking-normal:0;--tracking-caps:.08em;--gray-950:#09090b;--gray-925:#0c0c0f;--gray-900:#111113;--gray-850:#16161a;--gray-800:#1c1c21;--gray-700:#27272e;--gray-600:#3f3f46;--gray-500:#71717a;--gray-400:#a1a1aa;--gray-300:#d4d4d8;--gray-200:#e4e4e7;--gray-100:#f4f4f5;--gray-50:#fafafa;--blue-300:#9dbbff;--blue-400:#7ca4ff;--blue-500:#5b8cff;--blue-600:#3d6fea;--violet-400:#a78bfa;--violet-500:#8b5cf6;--success:#34d399;--success-bg:#34d3991a;--success-border:#34d39947;--warning:#fbbf24;--warning-bg:#fbbf241a;--warning-border:#fbbf2447;--error:#f87171;--error-bg:#f871711a;--error-border:#f8717147;--info:var(--blue-500);--info-bg:#5b8cff1a;--info-border:#5b8cff47;--color-bg:var(--gray-950);--color-bg-subtle:var(--gray-925);--color-surface:var(--gray-900);--color-surface-raised:var(--gray-850);--color-surface-overlay:#09090be0;--color-text:var(--gray-50);--color-text-secondary:var(--gray-300);--color-text-muted:var(--gray-400);--color-text-faint:var(--gray-500);--color-heading:var(--gray-50);--color-link:var(--blue-400);--color-link-hover:var(--blue-300);--color-border:#ffffff14;--color-border-strong:#ffffff24;--color-border-input:#ffffff29;--color-btn-primary-bg:var(--gray-50);--color-btn-primary-bg-hover:var(--gray-200);--color-btn-primary-text:var(--gray-950);--color-accent:var(--blue-500);--color-accent-soft:#5b8cff24;--color-accent-2:var(--violet-500);--color-focus:var(--blue-400);--color-selection:#5b8cff4d;--gradient-brand:linear-gradient(135deg, var(--blue-500), var(--violet-500));--grid-line:#7ca4ff0e;--grid-size:40px;--code-bg:#0d0d10;--code-keyword:var(--violet-400);--code-string:#7ee2a8;--code-comment:var(--gray-500);--code-fn:var(--blue-400);--code-punct:var(--gray-400);--space-0:0;--space-px:1px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-section:clamp(4rem, 3rem + 4.5vw, 7rem);--space-section-sm:clamp(2.5rem, 2rem + 2.2vw, 4rem);--space-card:clamp(1.25rem, 1rem + 1vw, 1.75rem);--container-max:75rem;--container-narrow:46rem;--container-form:36rem;--page-padding:clamp(1rem, 4vw, 2rem);--header-height:4rem;--grid-gap:var(--space-6);--grid-gap-lg:var(--space-8);--measure:44rem;--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:22px;--radius-full:999px;--shadow-sm:0 1px 2px #0006;--shadow-md:0 4px 16px #00000073;--shadow-lg:0 12px 40px #0000008c;--shadow-glow:0 0 0 1px #5b8cff40, 0 8px 40px #5b8cff1f;--duration-fast:.14s;--duration-base:.22s;--duration-slow:.4s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-drawer:400;--z-toast:500}}@layer base{html{background:var(--color-bg)}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--fw-regular);line-height:var(--leading-normal);color:var(--color-text-secondary);background:var(--color-bg)}::selection{background:var(--color-selection);color:var(--color-text)}h1,h2,h3,h4{color:var(--color-heading);font-family:var(--font-display);font-weight:var(--fw-semibold);line-height:var(--leading-heading);letter-spacing:0;text-wrap:balance}a{text-decoration:none}p a,li a:not([class]),td a{color:var(--color-link);text-underline-offset:3px;transition:color var(--duration-fast) var(--ease-out);-webkit-text-decoration:underline #7ca4ff59;text-decoration:underline #7ca4ff59}p a:hover,li a:not([class]):hover,td a:hover{color:var(--color-link-hover)}code,pre,kbd{font-family:var(--font-mono);font-size:.875em}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}.skip-link{top:-100px;left:var(--space-4);z-index:var(--z-toast);padding:var(--space-2) var(--space-4);background:var(--color-surface-raised);color:var(--color-text);border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);position:absolute}.skip-link:focus{top:var(--space-4)}}@layer layout{.container{width:100%;max-width:var(--container-max);padding-inline:var(--page-padding);margin-inline:auto}.container--narrow{max-width:var(--container-narrow)}.container--form{max-width:var(--container-form)}.site{flex-direction:column;min-height:100dvh;display:flex}.site__main{flex:1}.grid{gap:var(--grid-gap);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=960px){.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}}}@layer components{.header{z-index:var(--z-sticky);height:var(--header-height);background:var(--color-surface-overlay);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--color-border);position:sticky;top:0}.header__inner{align-items:center;gap:var(--space-6);height:100%;display:flex}.header__logo{align-items:center;gap:var(--space-2);font-weight:var(--fw-semibold);font-size:var(--text-md);letter-spacing:var(--tracking-snug);color:var(--color-text);display:inline-flex}.header__logo-mark{border-radius:var(--radius-sm);background:var(--gradient-brand);color:#fff;width:1.65rem;height:1.65rem;font-family:var(--font-mono);place-items:center;font-size:.8rem;font-weight:500;display:inline-grid}.header__nav{display:none}.header__actions{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.header__burger{display:block;position:relative}.header__burger>summary{cursor:pointer;border-radius:var(--radius-sm);border:1px solid var(--color-border);width:2.5rem;height:2.5rem;color:var(--color-text-muted);place-items:center;list-style:none;display:grid}.header__burger>summary::-webkit-details-marker{display:none}.header__burger[open]>summary{color:var(--color-text);background:var(--color-surface-raised)}.header__panel{min-width:14rem;padding:var(--space-2);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:none;position:absolute;top:calc(100% + .5rem);right:0}.header__burger[open] .header__panel{display:block}.header__panel a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-base);display:block}.header__panel a:hover{background:var(--color-surface);color:var(--color-text)}@media (width>=960px){.header__nav{align-items:center;gap:var(--space-1);display:flex}.header__nav a{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out)}.header__nav a:hover,.header__nav a[aria-current=page]{color:var(--color-text);background:#ffffff0f}.header__burger{display:none}}.footer{margin-top:var(--space-section);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);padding-block:var(--space-16) var(--space-10);font-size:var(--text-sm)}.footer__grid{gap:var(--space-10);grid-template-columns:minmax(0,1fr);display:grid}.footer__brand p{margin-top:var(--space-3);max-width:20rem;color:var(--color-text-faint)}.footer__col h3{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin-bottom:var(--space-4)}.footer__col ul{gap:var(--space-2);display:grid}.footer__col a{color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-out)}.footer__col a:hover{color:var(--color-text)}.footer__bottom{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border);gap:var(--space-4);color:var(--color-text-faint);flex-wrap:wrap;justify-content:space-between;display:flex}@media (width>=768px){.footer__grid{grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr))}}.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--fw-medium);letter-spacing:var(--tracking-snug);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);border:1px solid #0000;padding:.55rem 1.1rem;display:inline-flex}.btn--primary{background:var(--color-btn-primary-bg);color:var(--color-btn-primary-text)}.btn--primary:hover{background:var(--color-btn-primary-bg-hover);box-shadow:0 0 24px #fafafa1f}.btn--secondary{border-color:var(--color-border-strong);color:var(--color-text-secondary);background:0 0}.btn--secondary:hover{color:var(--color-text);background:#ffffff0a;border-color:#ffffff47}.btn--ghost{color:var(--color-text-muted);padding-inline:var(--space-3);background:0 0}.btn--ghost:hover{color:var(--color-text);background:#ffffff0d}.btn--lg{font-size:var(--text-base);border-radius:var(--radius-md);padding:.8rem 1.5rem}.btn--full{width:100%}.btn__arrow{transition:transform var(--duration-fast) var(--ease-out)}.btn:hover .btn__arrow{transform:translate(2px)}.badge{align-items:center;gap:var(--space-2);border-radius:var(--radius-full);border:1px solid var(--color-border-strong);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-text-muted);background:#ffffff08;padding:.3rem .75rem;font-weight:500;display:inline-flex}.badge--accent{border-color:var(--info-border);background:var(--info-bg);color:var(--blue-300)}.badge__dot{border-radius:var(--radius-full);background:var(--gradient-brand);width:6px;height:6px}.tag{border-radius:var(--radius-xs);border:1px solid var(--color-border);font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--color-text-muted);white-space:nowrap;background:#ffffff0d;align-items:center;padding:.2rem .6rem;display:inline-flex}.tag--difficulty-beginner{color:var(--success);border-color:var(--success-border);background:var(--success-bg)}.tag--difficulty-intermediate{color:var(--warning);border-color:var(--warning-border);background:var(--warning-bg)}.tag--difficulty-advanced{color:var(--error);border-color:var(--error-border);background:var(--error-bg)}.card{gap:var(--space-3);padding:var(--space-card);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out), transform var(--duration-base) var(--ease-out), box-shadow var(--duration-base) var(--ease-out);flex-direction:column;display:flex;position:relative}a.card:hover{border-color:var(--color-border-strong);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size);background-color:var(--color-surface-raised);transform:translateY(-2px)}.card__eyebrow{align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--blue-400);display:flex}.card__title{font-size:var(--text-lg);font-weight:var(--fw-semibold);color:var(--color-text)}a.card:hover .card__title{color:#fff}.card__text{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-snug)}.card__meta{padding-top:var(--space-3);align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-text-faint);flex-wrap:wrap;margin-top:auto;display:flex}.card__icon{border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-surface-raised);width:2.4rem;height:2.4rem;color:var(--blue-400);place-items:center;display:grid}.card__icon svg{width:1.2rem;height:1.2rem}.card--feature{gap:var(--space-4)}.card--feature .card__arrow{top:var(--space-card);right:var(--space-card);color:var(--color-text-faint);transition:transform var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);position:absolute}a.card--feature:hover .card__arrow{color:var(--color-text);transform:translate(2px,-2px)}.card__stack{gap:var(--space-2);flex-wrap:wrap;display:flex}.tech-tile{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color var(--duration-base) var(--ease-out), background var(--duration-base) var(--ease-out);display:flex}.tech-tile:hover{border-color:var(--color-border-strong);background:var(--color-surface-raised)}.tech-tile__logo{width:1.5rem;height:1.5rem;color:var(--gray-300);opacity:.85;transition:opacity var(--duration-base) var(--ease-out), color var(--duration-base) var(--ease-out);flex-shrink:0}.tech-tile__logo svg{width:100%;height:100%}.tech-tile:hover .tech-tile__logo{opacity:1;color:#fff}.tech-tile__name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text);line-height:1.25}.tech-tile__role{font-size:var(--text-xs);color:var(--color-text-faint);line-height:1.3}.hero{padding-block:var(--space-section) var(--space-section-sm);background-image:linear-gradient(to bottom, transparent 55%, var(--color-bg) 96%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:100% 100%, var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size);animation:90s linear infinite hero-grid-drift;position:relative;overflow:hidden}@keyframes hero-grid-drift{to{background-position:0 0, 0 var(--grid-size), var(--grid-size) 0}}.hero__inner{gap:var(--space-12);grid-template-columns:minmax(0,1fr);align-items:center;display:grid;position:relative}.hero__copy{align-items:flex-start;gap:var(--space-6);flex-direction:column;display:flex}.hero__kicker{align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--blue-400);display:inline-flex}.hero__kicker:before{content:"";background:var(--gradient-brand);border-radius:1px;width:1.5rem;height:2px}.hero__title{font-size:var(--text-display);font-weight:var(--fw-bold);line-height:var(--leading-tight)}.hero__title em{color:var(--blue-400);font-style:normal}.hero__lead{max-width:34rem;font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--color-text-muted)}.hero__cta{gap:var(--space-3);flex-wrap:wrap;display:flex}.hero__note{font-size:var(--text-sm);color:var(--color-text-faint)}@media (width>=1024px){.hero__inner{gap:var(--space-16);grid-template-columns:minmax(0,6fr) minmax(0,5fr)}}.mockup{border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:var(--code-bg);box-shadow:var(--shadow-lg);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.7;position:relative;overflow:hidden}.mockup__bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:#ffffff05;display:flex}.mockup__dots{gap:6px;display:flex}.mockup__dots span{border-radius:var(--radius-full);background:var(--gray-700);width:10px;height:10px}.mockup__filename{color:var(--color-text-faint);font-size:var(--text-xs)}.mockup__tabs{gap:var(--space-1);display:flex}.mockup__tab{cursor:pointer;border-radius:var(--radius-xs);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-faint);transition:color var(--duration-fast) var(--ease-out), background var(--duration-fast) var(--ease-out);background:0 0;border:0;padding:.25rem .7rem}.mockup__tab:hover{color:var(--color-text-secondary)}.mockup__tab.is-active{color:var(--gray-200);background:#ffffff12}.mockup__pane{display:none}.mockup__pane.is-active{animation:pane-in .28s var(--ease-out);display:block}@keyframes pane-in{0%{opacity:0;transform:translateY(4px)}}.mockup__progress{transform-origin:0;background:var(--gradient-brand);opacity:.7;width:100%;height:1px;position:absolute;top:2.55rem;left:0;transform:scaleX(0)}.mockup--rotating .mockup__progress{animation:6s linear infinite tab-progress}@keyframes tab-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.mockup__brand{color:#d97757;width:1rem;height:1rem;margin-left:auto}.mockup__brand svg{width:100%;height:100%}.mockup__body{padding:var(--space-4) var(--space-5);overflow-x:auto}.mockup__body pre{font-size:inherit;white-space:pre;margin:0}.mockup .tok-k{color:var(--code-keyword)}.mockup .tok-s{color:var(--code-string)}.mockup .tok-c{color:var(--code-comment)}.mockup .tok-f{color:var(--code-fn)}.mockup .tok-t{color:var(--gray-300)}.term{flex-direction:column;justify-content:flex-end;gap:2px;height:26rem;display:flex;overflow:hidden}.term__line{white-space:nowrap}.term--js .term__line{display:none}.term--js .term__line.is-on{animation:term-in .2s var(--ease-out);display:block}@keyframes term-in{0%{opacity:0;transform:translateY(3px)}}.term__type{vertical-align:bottom;white-space:nowrap;max-width:30ch;color:var(--gray-200);display:inline-block;overflow:hidden}.term--js .term__type{max-width:0}.term--js .term__type.is-on{animation:1.4s steps(28,end) forwards term-type,.2s linear 1.9s forwards term-submit}@keyframes term-type{0%{max-width:0}to{max-width:var(--tw,28ch)}}@keyframes term-submit{0%{max-width:var(--tw,28ch)}to{max-width:0}}.term__prompt{color:var(--gray-200)}.term__prompt:before{content:"> ";color:var(--gray-500)}.term__tool{color:var(--gray-300)}.term__tool:before{content:"● ";color:var(--success)}.term__result{color:var(--gray-500)}.term__result:before{content:"  ⎿ "}.term__gap{height:.55em}.term__spinner{color:#d97757;display:none}.term--js .term__spinner.is-on{animation:1.1s ease-in-out infinite term-pulse;display:block}.term__spinner:before{content:"✳ "}@keyframes term-pulse{50%{opacity:.35}}.term__done{color:var(--gray-200)}.term__done:before{content:"● ";color:#d97757}.term__input{margin-top:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--gray-700);border-radius:var(--radius-sm);color:var(--gray-500)}.term__cursor{vertical-align:text-bottom;background:var(--gray-300);width:.55em;height:1.05em;margin-left:2px;animation:1.1s step-end infinite term-blink;display:inline-block}@keyframes term-blink{50%{opacity:0}}.section{padding-block:var(--space-section-sm)}.section--lg{padding-block:var(--space-section)}.section--alt{background:var(--color-bg-subtle);border-block:1px solid var(--color-border)}.section__head{gap:var(--space-3);max-width:38rem;margin-bottom:var(--space-10);flex-direction:column;display:flex}.section__head--center{text-align:center;align-items:center;margin-inline:auto}.section__head--row{justify-content:space-between;align-items:flex-end;gap:var(--space-6);flex-direction:row;max-width:none}.section__eyebrow{align-items:center;gap:var(--space-3);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--blue-400);display:inline-flex}.section__eyebrow:before,.section__head--center .section__eyebrow:after{content:"";background:var(--gradient-brand);border-radius:1px;width:1.5rem;height:2px}.section__title{font-size:var(--text-3xl);letter-spacing:var(--tracking-tight)}.section__sub{color:var(--color-text-muted);font-size:var(--text-md);line-height:var(--leading-snug);max-width:34rem}.section__more{flex-shrink:0;display:none}@media (width>=640px){.section__more{display:inline-flex}}.marquee{width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.marquee__track{align-items:center;gap:var(--space-16);width:max-content;padding-block:var(--space-4);animation:36s linear infinite marquee;display:flex}.marquee:hover .marquee__track{animation-play-state:paused}@keyframes marquee{to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee{overflow-x:auto;-webkit-mask-image:none;mask-image:none}}.marquee__item{align-items:center;gap:var(--space-3);color:var(--gray-400);white-space:nowrap;transition:color var(--duration-base) var(--ease-out);display:inline-flex}.marquee__item:hover{color:#fff}.marquee__item svg{flex-shrink:0;width:1.6rem;height:1.6rem}.marquee__name{font-size:var(--text-base);font-weight:var(--fw-medium)}.about-split{gap:var(--space-10);grid-template-columns:minmax(0,1fr);align-items:center;display:grid}@media (width>=960px){.about-split{gap:var(--space-16);grid-template-columns:minmax(0,5fr) minmax(0,6fr)}}.about-split__points{gap:var(--space-4);margin-top:var(--space-6);display:grid}.about-split__point{gap:var(--space-3);align-items:flex-start;display:flex}.about-split__point svg{width:1.1rem;height:1.1rem;color:var(--success);flex-shrink:0;margin-top:.2rem}.about-split__point strong{color:var(--color-text);font-weight:var(--fw-medium)}.why-card{padding:var(--space-card);border-top:1px solid var(--color-border-strong);gap:var(--space-2);flex-direction:column;display:flex;position:relative}.why-card:before{content:"";top:-1px;left:var(--space-card);background:var(--gradient-brand);width:2rem;height:2px;position:absolute}.why-card h3{font-size:var(--text-md)}.why-card p{color:var(--color-text-muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.newsletter{text-align:center;align-items:center;gap:var(--space-4);padding:var(--space-12) var(--space-card);border:1px solid var(--color-border-strong);border-radius:var(--radius-xl);background:radial-gradient(60% 120% at 50% 0%, #5b8cff17, transparent 70%), var(--color-surface);flex-direction:column;display:flex}.newsletter h2{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight)}.newsletter p{color:var(--color-text-muted);max-width:26rem}.newsletter__form{gap:var(--space-3);flex-direction:column;width:100%;max-width:26rem;display:flex}@media (width>=640px){.newsletter__form{flex-direction:row}.newsletter__form input[type=email]{flex:1}}.prose{max-width:var(--measure);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--color-text-secondary)}.prose>*+*{margin-top:var(--space-5)}.prose h2{margin-top:var(--space-12);font-size:var(--text-2xl);scroll-margin-top:calc(var(--header-height) + var(--space-4))}.prose h3{margin-top:var(--space-8);font-size:var(--text-xl);scroll-margin-top:calc(var(--header-height) + var(--space-4))}.prose ul,.prose ol{gap:var(--space-2);padding-left:1.4rem;display:grid}.prose li::marker{color:var(--color-text-faint)}.prose strong{color:var(--color-text);font-weight:var(--fw-semibold)}.prose code{border:1px solid var(--color-border);border-radius:var(--radius-xs);color:var(--gray-200);background:#ffffff12;padding:.1em .35em;font-size:.85em}.prose pre{background:var(--code-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);line-height:1.7;overflow-x:auto}.prose pre code{color:var(--gray-300);background:0 0;border:0;padding:0}.prose blockquote{border-left:2px solid var(--color-accent);padding-left:var(--space-4);color:var(--color-text-muted)}.prose hr{border:0;border-top:1px solid var(--color-border);margin-block:var(--space-10)}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.prose th,.prose td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:top}.prose th{color:var(--color-text);font-weight:var(--fw-medium);font-size:var(--text-sm);border-bottom-color:var(--color-border-strong)}.prose figure{margin-block:var(--space-8)}.prose .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.prose aside{padding:var(--space-4) var(--space-5);border:1px solid var(--info-border);border-radius:var(--radius-md);background:var(--info-bg);font-size:var(--text-base)}.article-layout{gap:var(--space-12);padding-block:var(--space-12);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1024px){.article-layout{gap:var(--space-16);grid-template-columns:minmax(0,1fr) 15rem}}.article-header{align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-10);flex-direction:column;display:flex}.article-header h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight);max-width:46rem}.article-header__lead{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--color-text-muted);max-width:40rem}.article-header__meta{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--color-text-faint);flex-wrap:wrap;display:flex}.article-header__meta strong{color:var(--color-text-secondary);font-weight:var(--fw-medium)}.breadcrumbs{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-faint);flex-wrap:wrap;display:flex}.breadcrumbs a{color:var(--color-text-muted)}.breadcrumbs a:hover{color:var(--color-text)}.breadcrumbs__sep{color:var(--gray-700)}.quick-answer{padding:var(--space-5) var(--space-6);border:1px solid var(--info-border);border-radius:var(--radius-md);background:var(--info-bg);margin-bottom:var(--space-8);max-width:var(--measure)}.quick-answer__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--blue-300);margin-bottom:var(--space-2)}.quick-answer p{color:var(--color-text-secondary)}.verdict{padding:var(--space-5) var(--space-6);border:1px solid var(--success-border);border-radius:var(--radius-md);background:var(--success-bg);margin-bottom:var(--space-8);max-width:var(--measure)}.verdict__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--success);margin-bottom:var(--space-2)}.sources{margin-top:var(--space-12);padding-top:var(--space-6);border-top:1px solid var(--color-border);max-width:var(--measure)}.sources h2{font-size:var(--text-md);margin-bottom:var(--space-4)}.sources ol{gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);padding-left:1.2rem;display:grid}.related{margin-top:var(--space-16)}.related h2{font-size:var(--text-xl);margin-bottom:var(--space-6)}.toc{display:none}@media (width>=1024px){.toc{top:calc(var(--header-height) + var(--space-6));max-height:calc(100dvh - var(--header-height) - var(--space-12));font-size:var(--text-sm);align-self:start;display:block;position:sticky;overflow-y:auto}.toc__label{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);margin-bottom:var(--space-4)}.toc ul{gap:var(--space-1);border-left:1px solid var(--color-border);display:grid}.toc a{padding:var(--space-1) var(--space-4);color:var(--color-text-muted);line-height:var(--leading-snug);transition:color var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);border-left:1px solid #0000;margin-left:-1px;display:block}.toc a:hover{color:var(--color-text);border-left-color:var(--color-border-strong)}.toc li[data-level="3"] a{padding-left:var(--space-8);font-size:var(--text-xs)}}.faq{margin-top:var(--space-16);max-width:var(--measure)}.faq h2{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.faq__item{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.faq__item+.faq__item{margin-top:var(--space-3)}.faq__item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);font-weight:var(--fw-medium);color:var(--color-text);list-style:none;display:flex}.faq__item summary::-webkit-details-marker{display:none}.faq__item summary:after{content:"+";font-family:var(--font-mono);color:var(--color-text-faint);transition:transform var(--duration-fast) var(--ease-out)}.faq__item[open] summary:after{transform:rotate(45deg)}.faq__answer{padding:0 var(--space-5) var(--space-5);color:var(--color-text-muted);line-height:var(--leading-relaxed)}.field{gap:var(--space-2);flex-direction:column;display:flex}.field__label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary)}.field__hint{font-size:var(--text-xs);color:var(--color-text-faint)}.input,.textarea,.select{background:var(--color-bg-subtle);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);width:100%;color:var(--color-text);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);padding:.6rem .85rem;font-size:1rem}.input::placeholder,.textarea::placeholder{color:var(--color-text-faint)}.input:focus,.textarea:focus,.select:focus{border-color:var(--color-focus);outline:none;box-shadow:0 0 0 3px #5b8cff2e}.textarea{resize:vertical;min-height:6.5rem;line-height:var(--leading-normal)}.field__error{font-size:var(--text-xs);color:var(--error)}.hp-field{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.form-status{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-sm)}.form-status--success{background:var(--success-bg);border:1px solid var(--success-border);color:var(--success)}.form-status--error{background:var(--error-bg);border:1px solid var(--error-border);color:var(--error)}.checks{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));display:grid}.check{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);display:flex}.check:has(input:checked){border-color:var(--info-border);background:var(--info-bg);color:var(--color-text)}.check input{accent-color:var(--color-accent)}.generator{gap:var(--space-8);padding-block:var(--space-8) var(--space-16);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=1024px){.generator{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start}}.generator__form{gap:var(--space-5);padding:var(--space-card);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.generator__output{position:relative}@media (width>=1024px){.generator__output{top:calc(var(--header-height) + var(--space-6));position:sticky}}.generator__output .mockup__body{max-height:60dvh;overflow:auto}.generator__output pre{white-space:pre-wrap;word-break:break-word;color:var(--gray-300);font-size:var(--text-xs)}.generator__actions{gap:var(--space-3);margin-left:auto;display:flex}.generator__copy-ok{color:var(--success);font-size:var(--text-xs);font-weight:var(--fw-medium)}.timeline{gap:var(--space-6);max-width:var(--measure);display:grid;position:relative}.timeline:before{content:"";background:var(--color-border-strong);width:1px;position:absolute;top:1.5rem;bottom:1.5rem;left:1.19rem}.timeline__step{gap:var(--space-5);display:flex;position:relative}.timeline__num{z-index:var(--z-raised);border-radius:var(--radius-full);background:var(--color-surface-raised);border:1px solid var(--color-border-strong);width:2.4rem;height:2.4rem;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--blue-400);flex-shrink:0;place-items:center;display:grid;position:relative}.timeline__card{min-width:0;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);flex:1}.timeline__card h3{font-size:var(--text-md);margin-bottom:var(--space-2)}.timeline__card p{color:var(--color-text-muted);font-size:var(--text-base);line-height:var(--leading-snug)}.flow-chain{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.flow-chain__step{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--color-text-secondary);transition:border-color var(--duration-fast) var(--ease-out), color var(--duration-fast) var(--ease-out);display:inline-flex}.flow-chain__step small{font-size:var(--text-xs);color:var(--color-text-faint);font-variant-numeric:tabular-nums}a.flow-chain__step:hover{border-color:var(--info-border);color:var(--color-text)}.flow-chain--pulse .flow-chain__step{animation:flow-pulse 8s var(--ease-in-out) infinite}.flow-chain--pulse .flow-chain__step:first-of-type{animation-delay:0s}.flow-chain--pulse .flow-chain__step:nth-of-type(2){animation-delay:.5s}.flow-chain--pulse .flow-chain__step:nth-of-type(3){animation-delay:1s}.flow-chain--pulse .flow-chain__step:nth-of-type(4){animation-delay:1.5s}.flow-chain--pulse .flow-chain__step:nth-of-type(5){animation-delay:2s}.flow-chain--pulse .flow-chain__step:nth-of-type(6){animation-delay:2.5s}.flow-chain--pulse .flow-chain__step:nth-of-type(7){animation-delay:3s}.flow-chain--pulse .flow-chain__step:nth-of-type(8){animation-delay:3.5s}@keyframes flow-pulse{0%,12%,to{border-color:var(--color-border-strong);box-shadow:none}5%{border-color:var(--info-border);box-shadow:0 0 14px #5b8cff40}}.flow-chain__arrow{color:var(--color-text-faint);font-size:var(--text-sm)}.page-head{padding-block:var(--space-16) var(--space-6);gap:var(--space-4);flex-direction:column;align-items:flex-start;display:flex}.page-head h1{font-size:var(--text-4xl);letter-spacing:var(--tracking-tight)}.page-head__lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:38rem;line-height:var(--leading-snug)}.hub-list{padding-block:var(--space-8) var(--space-16)}.start-here{margin-bottom:var(--space-10);padding:var(--space-6);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);background:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), var(--color-surface);background-size:var(--grid-size) var(--grid-size), var(--grid-size) var(--grid-size), 100% 100%;max-width:var(--measure)}.start-here__title{font-size:var(--text-md);margin-bottom:var(--space-2)}.start-here__intro{color:var(--color-text-muted);font-size:var(--text-base);margin-bottom:var(--space-5)}.start-here ol{gap:var(--space-4);counter-reset:start-here;padding:0;list-style:none;display:grid}.start-here li{counter-increment:start-here;color:var(--color-text-secondary);font-size:var(--text-base);line-height:var(--leading-snug);padding-left:2.6rem;position:relative}.start-here li:before{content:counter(start-here);border-radius:var(--radius-full);background:var(--color-surface-raised);border:1px solid var(--info-border);width:1.9rem;height:1.9rem;font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--blue-400);place-items:center;display:grid;position:absolute;top:0;left:0}.start-here li strong{color:var(--color-text)}.empty-state{padding:var(--space-16) var(--space-card);text-align:center;border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);color:var(--color-text-muted)}.empty-state h2{font-size:var(--text-lg);margin-bottom:var(--space-2)}.error-page{text-align:center;min-height:100dvh;padding:var(--space-8);place-items:center;display:grid}.error-page__code{font-family:var(--font-mono);font-size:var(--text-display);color:var(--blue-400)}.pricing-grid{gap:var(--space-6);grid-template-columns:minmax(0,1fr);max-width:52rem;margin-inline:auto;display:grid}@media (width>=768px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.price-card{gap:var(--space-5);padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);flex-direction:column;display:flex}.price-card--highlight{border-color:var(--info-border);box-shadow:var(--shadow-glow)}.price-card__price{font-size:var(--text-3xl);font-weight:var(--fw-bold);color:var(--color-text)}.price-card__price span{font-size:var(--text-sm);font-weight:var(--fw-regular);color:var(--color-text-faint)}.price-card ul{gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);display:grid}.price-card ul li{gap:var(--space-2);align-items:flex-start;display:flex}.price-card ul svg{width:1rem;height:1rem;color:var(--success);flex-shrink:0;margin-top:.15rem}html.js [data-reveal]{opacity:0;transition:opacity .52s var(--ease-out), transform .52s var(--ease-out);transition-delay:var(--reveal-delay,0s);transform:translateY(14px)}html.js [data-reveal].is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.js [data-reveal]{opacity:1;transform:none}}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.text-muted{color:var(--color-text-muted)}.text-faint{color:var(--color-text-faint)}.text-center{text-align:center}.mono{font-family:var(--font-mono)}.scroll-x{-webkit-overflow-scrolling:touch;overflow-x:auto}}
