@font-face{font-family:Lexend;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend Fallback;src:local("Arial");ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.00%;size-adjust:109.91%}.__className_f75355{font-family:Lexend,Lexend Fallback;font-style:normal}.__variable_f75355{--font-lexend:"Lexend","Lexend Fallback"}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/edc640959b0c7826-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ac0e76ddaeeb7981-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/64d784ea54a4acde-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ff71da380fbe67dd-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/6d831b18ae5b01dc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/558ca1a6aa3cb55e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_6d24ac{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.__variable_6d24ac{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback"}:root{color-scheme:dark;--bg:#0e0e10;--bg-2:#141417;--bg-3:#1a1a1e;--panel:#16161a;--card-surface:color-mix(in srgb,var(--panel) 58%,transparent);--border:#25252b;--border-strong:#2f2f36;--border-faint:#1d1d22;--ink:#ededea;--ink-2:#b8b6b0;--ink-3:#8a877f;--ink-4:#5a5852;--ember:#d97442;--ember-2:#b8582a;--molten:#ec8a4a;--molten-dim:rgba(236,138,74,0.16);--lava-glow:rgba(217,116,66,0.16);--sage:#3d9e6b;--sage-dim:rgba(61,158,107,0.16);--action-start:#b95725;--action-end:#7f3214;--action-text:#ffffff;--accent-border-soft:rgba(217,116,66,0.32);--accent-border-strong:rgba(217,116,66,0.56);--accent-shadow:rgba(127,50,20,0.28);--forge-glow-1:rgba(236,138,74,0.13);--forge-glow-2:rgba(168,44,26,0.12);--forge-glow-3:rgba(217,116,66,0.06);--forge-glow-opacity:0.76;--forge-glow-opacity-low:0.62;--forge-glow-opacity-mobile:0.58;--forge-glow-opacity-mobile-low:0.48;--shadow-sm:0 1px 2px rgba(0,0,0,0.4);--shadow-md:0 8px 24px rgba(0,0,0,0.35),0 1px 2px rgba(0,0,0,0.4);--shadow-lg:0 32px 80px rgba(0,0,0,0.55),0 2px 8px rgba(0,0,0,0.5);--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--font-lexend:"Lexend";--font-jetbrains-mono:"JetBrains Mono";--font-sans:var(--font-lexend,"Lexend"),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-lexend,"Lexend"),serif;--font-mono:var(--font-jetbrains-mono,"JetBrains Mono"),ui-monospace,Menlo,monospace;--container:1200px;--site-header-height:66px;--section-padding-block-start:clamp(42px,4vh,42px);--section-padding-block-end:clamp(42px,4vh,42px);--section-content-gap:clamp(20px,3vh,32px);--z-header:50}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100vh;overflow-x:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer}a,button{color:inherit}a{text-decoration:none}section[id]{scroll-margin-top:var(--site-header-height)}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-3)}.flex-1{flex:1 1}:focus-visible{outline:2px solid var(--ember);outline-offset:2px}.skip-link{position:absolute;left:16px;top:-60px;z-index:100;padding:10px 16px;background:var(--panel);border:1px solid var(--border-strong);border-radius:var(--radius);color:var(--ink);font-size:14px;transition:top .16s}.skip-link:focus-visible{top:16px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--ink-4);background-clip:padding-box}.btn{height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--bg-2);border:1px solid var(--border);border-radius:10px;color:var(--ink);font-size:15px;font-weight:500;letter-spacing:-.005em;transition:background .16s,border-color .16s,transform .16s,box-shadow .16s}.btn:hover{background:var(--bg-3);border-color:var(--border-strong)}.btn:active{transform:translateY(1px)}.btn svg{transition:transform .2s}.btn:hover svg{transform:translateX(2px)}.btn.lg{height:52px;padding:0 22px;border-radius:12px;font-size:16px}.btn.primary{background:linear-gradient(180deg,var(--action-start) 0,var(--action-end) 100%);border-color:var(--action-end);color:var(--action-text);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 24px var(--accent-shadow)}.btn.primary:hover{border-color:var(--action-start);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 10px 28px var(--accent-shadow);transform:translateY(-1px)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--bg-2);color:var(--ink)}.theme-toggle{height:36px;display:flex;padding:3px;background:var(--bg-2);border:1px solid var(--border);border-radius:999px}.theme-toggle button{width:30px;height:28px;display:grid;place-items:center;background:transparent;border:none;border-radius:999px;color:var(--ink-3);transition:all .2s}.theme-toggle button.active{background:var(--bg-3);color:var(--ember);box-shadow:0 0 0 1px var(--border-strong) inset}.brand{display:inline-flex;align-items:center;gap:10px;font-size:17px;font-weight:600;letter-spacing:-.015em}.brand-logo{width:24px;height:28px;display:inline-grid;place-items:center;flex:0 0 auto}.brand-logo img{grid-area:1/1;width:100%;height:100%;display:block;object-fit:contain}.brand-lg{gap:12px;font-size:19px}.brand-lg .brand-logo{width:29px;height:34px}.brand-logo-default{display:none}.brand-logo-white,[data-theme=light] .brand-logo-default{display:block}[data-theme=light] .brand-logo-white{display:none}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-header);display:flex;align-items:center;gap:24px;min-width:0;padding:16px 32px;background:color-mix(in oklab,var(--bg) 88%,transparent);border-bottom:1px solid transparent;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:border-color .2s}.site-header.scrolled{border-bottom-color:var(--border)}.site-header nav{display:inline-flex;flex:0 1 auto;gap:6px;margin-left:12px;white-space:nowrap}.site-header nav a{position:relative;padding:8px 12px;border-radius:8px;color:var(--ink-2);font-size:14px;transition:color .16s,background .16s}.site-header nav a:hover{background:var(--bg-2);color:var(--ink)}.site-header nav a:after{content:"";position:absolute;right:12px;bottom:3px;left:12px;height:2px;background:var(--ember);border-radius:999px;opacity:0;transform:scaleX(.6);transition:opacity .2s,transform .2s}.site-header nav a.active{color:var(--ink)}.site-header nav a.active:after{opacity:.9;transform:none}.site-header .spacer{flex:1 1 auto;min-width:0}.site-header .actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.home{position:relative;isolation:isolate;background-image:radial-gradient(900px 540px at 90% -10%,var(--lava-glow),transparent 60%),radial-gradient(700px 400px at -5% 50%,var(--lava-glow),transparent 60%)}.home>footer,.home>main{position:relative;z-index:1}.ember-background{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;contain:paint}.ember-background:before{content:"";position:absolute;inset:-3% -5% 0;background:radial-gradient(ellipse 112% 70% at 43% 116%,var(--forge-glow-1) 0,var(--forge-glow-2) 42%,transparent 73%),radial-gradient(ellipse 72% 48% at 79% 109%,var(--forge-glow-2) 0,transparent 68%),linear-gradient(to top,var(--forge-glow-3) 0,transparent 59%);opacity:var(--forge-glow-opacity);transform:translate3d(-1.5%,0,0) scale(1.035);will-change:transform,opacity}.ember-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none}.container{max-width:var(--container);margin:0 auto;padding:0 32px}.page-section{box-sizing:border-box;min-height:calc(100svh - var(--site-header-height));padding-block:var(--section-padding-block-start) var(--section-padding-block-end);scroll-margin-top:var(--site-header-height)}.page-section__inner{width:100%;min-height:calc(100svh - var(--site-header-height) - var(--section-padding-block-start) - var(--section-padding-block-end))}.hero,.hero-inner{position:relative}.hero-inner{max-width:1240px;margin:0 auto;padding:0 32px;display:grid;grid-template-rows:auto auto auto auto;align-content:center;justify-items:center;grid-row-gap:clamp(32px,3.4vh,42px);row-gap:clamp(32px,3.4vh,42px);text-align:center;transform:translateY(clamp(-32px,-4vh,-16px))}.hero h1{max-width:980px;margin:0;margin-inline:auto;font-family:var(--font-display);font-size:clamp(42px,5.5vw,72px);font-weight:500;line-height:1.05;letter-spacing:-.035em;text-wrap:balance}.hero h1 .accent{background:linear-gradient(180deg,var(--molten),var(--ember-2));background-clip:text;color:transparent;-webkit-background-clip:text}.hero .lede{max-width:720px;margin:0 auto;color:var(--ink-2);font-size:clamp(17px,1.35vw,20px);line-height:1.6;text-wrap:pretty}.hero-action{margin-top:clamp(4px,.75vh,6px)}.hero-action .btn:hover svg{transform:translateY(2px)}.hero-meta{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 0;margin:0;color:color-mix(in oklab,var(--ink-2) 72%,var(--ink-3));font-family:var(--font-mono);font-size:clamp(12.5px,1vw,13.5px);line-height:1.6;letter-spacing:.03em}.hero-meta>span{display:inline-flex;align-items:center}.hero-meta__separator{margin:0 clamp(9px,1.2vw,16px);color:var(--ember);opacity:.8}.section h2{margin:0 0 16px;font-family:var(--font-display);font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.025em;text-wrap:balance}.section .section-lede{max-width:600px;margin:0 0 40px;color:var(--ink-2);font-size:17px;line-height:1.55;text-wrap:pretty}.section-head{max-width:780px;margin:0 auto;text-align:center}.section-head .section-lede{margin-right:auto;margin-left:auto}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:1fr;grid-gap:clamp(18px,2vw,28px);gap:clamp(18px,2vw,28px)}.tools-section .page-section__inner{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;grid-gap:var(--section-content-gap);gap:var(--section-content-gap)}.tools-section .products-grid{align-items:stretch}.product-card{padding:clamp(28px,2.5vw,38px);display:grid;grid-template-rows:auto auto auto 1fr;grid-gap:14px;gap:14px;background:var(--card-surface);border:1px solid var(--border);border-top:2px solid var(--accent-border-soft);border-radius:var(--radius-lg);transition:border-color .2s}.product-card:hover{border-color:var(--border-strong);border-top-color:var(--accent-border-strong)}.product-card .product-head{display:flex;align-items:center;gap:8px}.product-card h3{margin:0;font-family:var(--font-display);font-size:21px;font-weight:500;letter-spacing:-.015em}.product-github-link{min-height:30px;margin-left:auto;padding:5px 8px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;gap:6px;background:transparent;border:1px solid transparent;border-radius:999px;color:var(--ember);font-family:var(--font-mono);font-size:11.5px;font-weight:500;line-height:1.2;letter-spacing:.04em;text-transform:uppercase;transition:color .18s,background .18s,border-color .18s}.product-github-link:hover{background:var(--molten-dim);border-color:var(--accent-border-soft);color:var(--ember)}.product-github-link:focus-visible{outline-offset:3px}.product-head .status-badge{margin-left:auto}.product-copy{display:grid;grid-gap:8px;gap:8px}.product-card .product-tagline,.product-card p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.55}.product-card .product-tagline{font-weight:500}.product-preview{overflow:hidden;background:var(--bg-2);border:1px solid var(--border);border-radius:12px;aspect-ratio:1120/839}.product-preview img{width:100%;height:auto;display:block;object-fit:contain}.product-preview__placeholder{height:100%;padding:28px;display:grid;align-content:center;grid-gap:12px;gap:12px;background:linear-gradient(135deg,color-mix(in oklab,var(--bg-2) 88%,var(--panel)),var(--bg-2));color:var(--ink-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.03em}.product-preview__placeholder i{height:1px;display:block;background:var(--border-strong)}.product-preview__placeholder i:nth-of-type(2){width:84%}.product-preview__placeholder i:nth-of-type(3){width:58%}.product-card .product-foot{width:100%;align-self:end;padding-top:2px;display:flex;align-items:center;justify-content:space-between;gap:12px}.product-details-link{padding:0;background:transparent;border:0;box-shadow:none;color:var(--ember);font:inherit;font-size:15px;font-weight:500;line-height:1.4;text-decoration:underline;-webkit-text-decoration-color:transparent;text-decoration-color:transparent;text-underline-offset:3px;cursor:pointer;transition:color .16s,-webkit-text-decoration-color .16s;transition:color .16s,text-decoration-color .16s;transition:color .16s,text-decoration-color .16s,-webkit-text-decoration-color .16s}.product-details-link:focus-visible,.product-details-link:hover{color:var(--ember);-webkit-text-decoration-color:currentColor;text-decoration-color:currentColor}.status-badge{padding:4px 10px;border-radius:999px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.status-badge.alpha{background:var(--molten-dim);border:1px solid var(--accent-border-soft);color:var(--ember)}.status-badge.upcoming{background:var(--bg-2);border:1px solid var(--border-strong);color:var(--ink-3)}.availability-note{height:44px;display:inline-flex;align-items:center;color:var(--ink-3);font-size:14px}.principles-section .page-section__inner{min-height:calc(100svh - var(--site-header-height) - var(--section-padding-block-start) - var(--section-padding-block-end));display:flex;flex-direction:column;justify-content:space-between;gap:var(--section-content-gap)}.principles-section .section-lede{margin-bottom:0}.principles-grid{max-width:1080px;width:100%;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;align-items:stretch;grid-gap:clamp(12px,1.5vw,20px);gap:clamp(12px,1.5vw,20px)}.principle{padding:clamp(24px,2.5vw,32px);min-height:220px;display:flex;flex-direction:column;gap:16px;background:var(--card-surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:border-color .2s}.principle:hover{border-color:var(--border-strong)}.principle .principle-head{display:flex;align-items:center;gap:12px}.principle .ic{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;background:var(--bg-2);border:1px solid var(--border);border-radius:9px;color:var(--ember);transition:color .2s,border-color .2s}.principle:hover .ic{border-color:var(--accent-border-soft);color:var(--ember)}.principle h3{margin:0;font-size:17px;font-weight:500;letter-spacing:-.01em}.principle p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.55}.quiet-line{margin:0;color:var(--ink-3);font-family:var(--font-mono);font-size:12.5px;letter-spacing:.04em;text-align:center}.dialog-backdrop{position:fixed;inset:0;z-index:calc(var(--z-header) + 10);padding:clamp(18px,4vw,48px);display:grid;place-items:center;overflow-y:auto;background:rgba(5,5,7,.9);opacity:0;transition:opacity .24s ease-out}.dialog-backdrop[data-state=open]{opacity:1}.roadforge-dialog{position:relative;width:min(960px,100%);max-height:calc(100svh - clamp(36px, 8vw, 96px));padding:clamp(28px,4vw,48px);overflow-y:auto;background:radial-gradient(700px 260px at 82% 0,var(--forge-glow-1),transparent 66%),var(--panel);border:1px solid var(--border-strong);border-top-color:var(--accent-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);opacity:0;transform:translateY(14px) scale(.98);transition:opacity .24s ease-out,transform .24s cubic-bezier(.22,1,.36,1)}.roadforge-dialog[data-state=open]{opacity:1;transform:none}.dialog-close{position:absolute;top:18px;right:18px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;padding:0;background:var(--bg-2);border:1px solid var(--border);border-radius:999px;color:var(--ink-2);font-size:25px;line-height:1;transition:color .16s,border-color .16s,background .16s}.dialog-close:hover{background:var(--bg-3);border-color:var(--border-strong);color:var(--ink)}.dialog-head{max-width:720px;padding-right:44px}.dialog-kicker{margin:0 0 10px;color:var(--ember);font-family:var(--font-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase}.dialog-head h2{margin:0 0 12px;font-family:var(--font-display);font-size:clamp(28px,4vw,38px);font-weight:500;line-height:1.15;letter-spacing:-.025em}.dialog-head>p:last-child{margin:0;color:var(--ink-2);font-size:16px}.dialog-evidence-grid{margin-top:clamp(28px,4vh,40px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:clamp(20px,3vh,30px) clamp(26px,4vw,48px);gap:clamp(20px,3vh,30px) clamp(26px,4vw,48px)}.dialog-evidence-item{position:relative;padding-top:16px;border-top:1px solid var(--border)}.dialog-evidence-item:before{content:"";position:absolute;top:-1px;left:0;width:28px;height:1px;background:var(--ember)}.dialog-evidence-item h3{margin:0 0 6px;font-size:15.5px;font-weight:500}.dialog-evidence-item p{margin:0;color:var(--ink-3);font-size:14px;line-height:1.55}.dialog-footer{margin-top:clamp(24px,4vh,36px);padding-top:22px;gap:12px 20px;border-top:1px solid var(--border)}.dialog-footer,.dialog-footer-actions{display:flex;align-items:center;flex-wrap:wrap}.dialog-footer-actions{gap:12px}.dialog-stack{min-width:0;margin:0 0 0 auto;flex-shrink:1;color:var(--ink-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.035em;word-break:break-word}.site-footer{margin-top:32px;padding:24px 32px;border-top:1px solid var(--border);color:var(--ink-3);font-size:14px}.site-footer .row{max-width:var(--container);margin:0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:24px}.site-footer .dot{color:var(--ink-4)}.site-footer a{color:var(--ink-2);transition:color .16s}.site-footer a:hover{color:var(--ink)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes rise-in-view{0%{opacity:0;translate:0 16px}to{opacity:1;translate:0 0}}@keyframes forge-atmosphere-breathe{0%{transform:translate3d(-1.5%,0,0) scale(1.035);opacity:var(--forge-glow-opacity-low)}to{transform:translate3d(1.5%,-.5%,0) scale(1.055);opacity:var(--forge-glow-opacity)}}@media (prefers-reduced-motion:no-preference){.ember-background:before{animation:forge-atmosphere-breathe 18s ease-in-out infinite alternate}.hero .hero-action,.hero .hero-meta,.hero .lede,.hero h1{animation:rise .64s cubic-bezier(.22,1,.36,1) backwards}.hero .lede{animation-delay:90ms}.hero .hero-action{animation-delay:.18s}.hero .hero-meta{animation-delay:.27s}@supports (animation-timeline:view()){.principle,.product-card,.section-head{animation:rise-in-view linear both;animation-timeline:view();animation-range:entry 5% entry 35%}}}@media (max-width:700px){.products-grid{grid-template-columns:1fr}}@media (max-width:1024px){.principles-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.site-header{gap:12px;padding:12px 16px}.site-header nav{gap:2px;margin-left:0}.site-header nav a{padding:7px 8px}.site-header .spacer{flex:1 1}}@media (max-width:720px){.container{padding:0 20px}.hero-inner{padding-left:20px;padding-right:20px}}@media (max-width:640px){.ember-background{--forge-glow-opacity:var(--forge-glow-opacity-mobile);--forge-glow-opacity-low:var(--forge-glow-opacity-mobile-low)}.principles-grid{grid-template-columns:1fr}.dialog-backdrop{place-items:end center;padding:12px}.roadforge-dialog{width:100%;max-height:calc(100svh - 24px);padding:28px 22px 24px;border-radius:18px;transform:translateY(20px) scale(.99)}.dialog-close{top:14px;right:14px}.dialog-head{padding-right:38px}.dialog-evidence-grid{grid-template-columns:1fr;gap:20px}.dialog-footer{flex-direction:column;align-items:flex-start;gap:14px}.dialog-footer-actions{flex-wrap:wrap}.dialog-stack{margin:0;min-width:0}.hero-meta{display:grid;grid-template-columns:repeat(2,max-content);font-size:12px}.hero-meta__separator{margin:0 9px}.hero-meta>span:nth-child(3) .hero-meta__separator{display:none}.hero h1{font-size:clamp(40px,12vw,52px)}.hero .lede{font-size:17px;line-height:1.58}.product-card{min-height:0;padding:24px}.product-card .product-foot{flex-wrap:wrap}.site-footer{padding:20px}.site-footer .row{flex-direction:column;align-items:flex-start;gap:14px}.site-footer .dot{display:none}}@media (prefers-reduced-motion:reduce){.ember-canvas{display:none}}@media (min-width:701px) and (max-height:820px){.product-card{grid-template-rows:auto auto 1fr}.product-preview{display:none}}@media (max-width:380px){.site-header{gap:8px;padding:10px}.brand-lg{gap:7px;font-size:16px}.brand-lg .brand-logo{width:23px;height:27px}.site-header nav{gap:0}.site-header nav a{padding:7px 5px;font-size:13px}.theme-toggle{height:32px;padding:2px}.theme-toggle button{width:25px;height:26px}.hero h1{font-size:clamp(38px,12vw,44px)}.hero .lede{margin-top:clamp(20px,3.5vh,24px);font-size:16px;line-height:1.5}.hero-meta{grid-template-columns:max-content}.hero-meta__separator{display:none}.product-card .product-head{align-items:flex-start;flex-wrap:wrap}.product-card .status-badge{margin-left:0}.dialog-footer-actions .btn{width:100%}}