@font-face{font-family:Host Grotesk;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/HostGrotesk-Var-CaAeD4ra.woff2)format("woff2")}@font-face{font-family:Azeret Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/AzeretMono-Var-UgQwO16B.woff2)format("woff2")}:root{--bg:#080808;--panel:#0f0f0f;--raise:#171717;--ink:#f4f4ef;--body:#b9b9b2;--mute:#8d8d86;--rule:#ffffff1a;--rule2:#ffffff38;--sig:#fff;--g:clamp(18px,4vw,64px);--sans:"Host Grotesk",system-ui,sans-serif;--mono:"Azeret Mono",ui-monospace,Menlo,monospace;--out:cubic-bezier(.16,1,.3,1);--std:cubic-bezier(.4,0,.2,1)}*,:before,:after{box-sizing:border-box}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth;scrollbar-color:#3a3a36 var(--bg);scrollbar-width:thin;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--body);font:400 1.0625rem/1.5 var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;overflow-x:clip}::selection{background:var(--sig);color:#000}:focus-visible{outline:2px solid var(--sig);outline-offset:3px}h1,h2,h3,p,ul,ol,fieldset{margin:0;padding:0}ul,ol{list-style:none}a{color:inherit}.vh{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{left:var(--g);z-index:60;background:var(--sig);color:#000;padding:10px 14px;text-decoration:none;position:fixed;top:-80px}.skip:focus-visible{top:12px}.wrap{width:min(1280px,100% - 2*var(--g));margin-inline:auto}.nav{z-index:40;height:60px;padding:0 var(--g);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--rule);background:#080808bd;align-items:center;gap:30px;display:flex;position:fixed;inset:0 0 auto}.brand{color:var(--ink);letter-spacing:-.01em;align-items:center;gap:10px;margin-right:auto;font-weight:500;text-decoration:none;display:flex}.brand svg{fill:currentColor;width:15px;height:15px}.nav nav{gap:26px;display:flex}.nav nav a{color:var(--body);transition:color .15s var(--std);font-size:.9375rem;text-decoration:none}.nav nav a:hover{color:var(--ink)}.btn{border:1px solid var(--sig);background:var(--sig);color:#050505;height:48px;font:500 1rem/1 var(--sans);letter-spacing:-.005em;white-space:nowrap;cursor:pointer;transition:background .16s var(--std),border-color .16s var(--std),color .16s var(--std),transform .1s var(--std);border-radius:2px;justify-content:center;align-items:center;gap:10px;padding:0 20px;text-decoration:none;display:inline-flex}.btn svg{fill:none;stroke:currentColor;stroke-width:1.6px;width:16px;height:16px;transition:transform .2s var(--out)}.btn:hover{background:#d9d9d4;border-color:#d9d9d4}.btn:hover svg{transform:translate(3px)}.btn:active{transform:translateY(1px)}.btn.ghost{border-color:var(--rule2);color:var(--ink);background:0 0}.btn.ghost:hover{background:#ffffff0f;border-color:#fff6}.btn.sm{flex:none;height:36px;padding:0 14px;font-size:.9375rem}.hero{align-items:center;min-height:max(620px,100svh);padding-top:60px;display:flex;position:relative;overflow:hidden}.hero canvas{image-rendering:pixelated;position:absolute;top:0;left:0}.lock-flat{fill:none;width:min(24vw,280px);stroke:var(--ink);stroke-width:5px;display:none;position:absolute;top:50%;right:16%;transform:translateY(-50%)}.no-gl .lock-flat{display:block}.no-gl .hero canvas,.no-gl .pick{display:none}.hero .wrap{z-index:2;pointer-events:none;position:relative}.hero .wrap>*{pointer-events:auto}h1{color:var(--ink);font:400 clamp(2.9rem,6.3vw,5.9rem)/.95 var(--sans);letter-spacing:-.04em;text-wrap:balance}.lede{max-width:29rem;color:var(--body);text-wrap:pretty;margin-top:clamp(18px,2.6vh,28px);font-size:clamp(1.0625rem,1.3vw,1.25rem);line-height:1.42}.cta{flex-wrap:wrap;gap:12px;margin-top:clamp(22px,3.4vh,36px);display:flex}.hero-links{flex-wrap:wrap;gap:8px 22px;max-width:620px;margin-top:18px;font-size:.9375rem;display:flex}.hero-links a{color:var(--body);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule2);text-decoration-color:var(--rule2)}.hero-links a:hover{color:var(--ink);text-decoration-color:currentColor}.hero-links .same-co{color:var(--mute)}.pick{z-index:1;color:var(--ink);font:400 .8125rem/1 var(--mono);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;justify-content:center;align-items:flex-end;padding:0 0 4px;display:flex;position:absolute}.pick span{background:var(--bg);border:1px solid var(--rule2);transition:color .2s var(--std),border-color .2s var(--std);padding:7px 10px}.pick:hover span{border-color:#ffffff73}.sec{padding-top:clamp(84px,13vh,150px);scroll-margin-top:20px}h2{color:var(--ink);font:400 clamp(2.05rem,3.7vw,3.4rem)/1.03 var(--sans);letter-spacing:-.036em;text-wrap:balance}h2 span{color:var(--mute)}h3{color:var(--ink);font:500 1.375rem/1.15 var(--sans);letter-spacing:-.018em}.svc{border-top:1px solid var(--rule);border-left:1px solid var(--rule);grid-template-columns:repeat(12,minmax(0,1fr));margin-top:clamp(28px,5vh,52px);display:grid}.svc li{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);grid-column:span 3}.svc li.big{grid-column:span 6}.svc a{height:100%;min-height:268px;transition:background .2s var(--std);flex-direction:column;padding:clamp(18px,1.9vw,28px);text-decoration:none;display:flex;position:relative}.svc a:hover{background:var(--panel)}.svc .ic{width:120px;height:120px;image-rendering:pixelated;margin:0 0 auto -10px}.svc .big a{grid-template-rows:auto 1fr auto auto;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;min-height:320px;display:grid}.svc .big .ic{grid-area:1/2/-1;align-self:center;width:216px;height:216px;margin:0}.svc .big .fact{grid-area:1/1;justify-self:start;position:static}.svc .big h3{grid-area:3/1}.svc .big p{grid-area:4/1}.svc h3{margin-top:22px}.svc .big h3{letter-spacing:-.03em;font-size:clamp(1.6rem,2.3vw,2.1rem);font-weight:400}.svc p{max-width:25rem;margin-top:8px;font-size:1rem;line-height:1.42}.fact{border:1px solid var(--rule2);color:var(--ink);font:400 .75rem/1 var(--mono);padding:6px 9px;position:absolute;top:clamp(18px,1.9vw,28px);right:clamp(18px,1.9vw,28px)}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:clamp(28px,5vw,88px);display:grid}.split.flip{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.lanes{border-top:1px solid var(--rule);flex-direction:column;display:flex}.lanes .cap{order:2}.lane{border-bottom:1px solid var(--rule);grid-template-columns:10.5rem minmax(0,1fr) 10.5rem;align-items:center;gap:18px;height:58px;display:grid}.lane .tool{color:var(--ink);font-size:1rem}.lane canvas{width:100%;height:36px;image-rendering:pixelated;display:block}.lane .state{color:var(--mute);font:400 .75rem/1 var(--mono);transition:color .2s var(--std);justify-self:end}.lane[data-rule=run] .state{color:var(--ink)}.lane .state.ok{color:var(--sig)}.cap{color:var(--mute);margin-top:14px;font-size:.875rem}.rec{background:var(--panel);border:1px solid var(--rule2);padding:clamp(18px,2.2vw,30px)}.rec header{color:var(--mute);font:400 .75rem/1 var(--mono);justify-content:space-between;align-items:center;display:flex}.rec header p+p{border:1px solid var(--ink);color:var(--ink);padding:6px 9px}.rec h3{letter-spacing:-.025em;margin-top:26px;font-size:clamp(1.3rem,1.9vw,1.7rem);font-weight:400}.rec ol{border-top:1px solid var(--rule);margin-top:20px}.rec li{border-bottom:1px solid var(--rule);min-height:48px;font:400 .8125rem/1.35 var(--mono);color:var(--mute);grid-template-columns:minmax(0,1.5fr) minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:14px;padding:8px 0;display:grid}.rec code{font:inherit;color:var(--ink)}.rec li b{color:var(--ink);text-align:right;font-weight:400}.rec li.hit b{color:var(--sig)}.rec>p{margin-top:18px;font-size:1rem}.rec>p span{color:var(--mute);font:400 .75rem/1 var(--mono);margin-right:10px}.holds{border-top:1px solid var(--rule);margin-top:clamp(22px,3.4vh,34px)}.holds li{border-bottom:1px solid var(--rule);color:var(--ink);padding:13px 0;font-size:1rem}.build{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;gap:clamp(28px,5vw,88px);margin-top:clamp(28px,5vh,52px);display:grid}fieldset{border:0;flex-wrap:wrap;gap:8px;display:flex}fieldset+fieldset,.field{margin-top:30px}legend,.field label{color:var(--ink);letter-spacing:-.01em;flex:0 0 100%;margin-bottom:12px;padding:0;font-size:1.125rem}.field label{display:block}fieldset label{cursor:pointer;position:relative}fieldset input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}fieldset span{border:1px solid var(--rule2);height:44px;color:var(--body);transition:background .15s var(--std),color .15s var(--std),border-color .15s var(--std);border-radius:2px;align-items:center;padding:0 16px;font-size:1rem;display:flex}fieldset label:hover span{color:var(--ink);border-color:#ffffff73}fieldset input:checked+span{background:var(--ink);border-color:var(--ink);color:#050505}fieldset input:focus-visible+span{outline:2px solid var(--sig);outline-offset:3px}.fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin-top:34px;display:grid}.fld{min-width:0;display:block}.fld.wide{grid-column:1/-1}.fld>span{color:var(--ink);margin-bottom:8px;font-size:.9375rem;display:block}.fld input,.fld select,.fld textarea{border:1px solid var(--rule2);background:var(--panel);width:100%;height:50px;color:var(--ink);caret-color:var(--sig);font:400 1rem/1.4 var(--sans);transition:border-color .15s var(--std);border-radius:2px;padding:0 14px;display:block}.fld input[name=website],.fld input[name=email]{font-family:var(--mono);font-size:.9375rem}.fld textarea{resize:vertical;height:auto;min-height:92px;padding:12px 14px}.fld select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23b9b9b2' stroke-width='1.5'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:40px}.fld select:invalid{color:var(--mute)}.fld input::placeholder{color:var(--mute);opacity:1}.fld :is(input,select,textarea):hover{border-color:#ffffff73}.fld :is(input,select,textarea):focus-visible{outline:2px solid var(--sig);outline-offset:3px}.fld [aria-invalid=true]{border-color:#ff8f8f}.fe{color:#ff8f8f;margin-top:6px;font-size:.875rem;display:block}.trap{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.agree{color:var(--body);cursor:pointer;flex-wrap:wrap;align-items:flex-start;gap:0 12px;margin-top:16px;font-size:.9375rem;line-height:1.4;display:flex;position:relative}.agree input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.agree i{border:1px solid var(--rule2);background:var(--panel) center/12px no-repeat;width:20px;height:20px;transition:background-color .12s var(--std),border-color .12s var(--std);border-radius:2px;flex:none;margin-top:1px}.agree span{flex:1 1 0;min-width:0}.agree:hover i{border-color:#ffffff73}.agree input:checked+i{background-color:var(--sig);border-color:var(--sig);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M2 7.5l3.2 3L12 3.5' fill='none' stroke='%23050505' stroke-width='2'/%3E%3C/svg%3E")}.agree input:focus-visible+i{outline:2px solid var(--sig);outline-offset:3px}.agree .fe{flex:0 0 100%;padding-left:32px}.ts-slot:not(:empty){margin-top:14px}.status{min-height:1.5em;color:var(--body);margin-top:12px;font-size:.9375rem}.status.bad{color:#ff8f8f}.status a{color:var(--ink);text-underline-offset:.2em}.btn[disabled]{opacity:.55;cursor:default}.done{max-width:44rem;margin-top:clamp(28px,5vh,52px)}.done .note{min-height:0}.note{background:var(--panel);border:1px solid var(--rule2);min-height:13.5rem;color:var(--ink);font:400 .875rem/1.6 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;padding:clamp(16px,1.8vw,24px);display:block}.note i{color:var(--mute);font-style:normal}.note mark{color:var(--sig);background:0 0}.out{position:sticky;top:84px}.out .cta{margin-top:16px}.fine{color:var(--mute);margin-top:14px;font-size:.875rem}.foot{margin-top:clamp(84px,14vh,160px);padding-bottom:26px}.foot canvas{image-rendering:pixelated;margin-inline:auto;display:block}.foot-row{border-top:1px solid var(--rule);color:var(--mute);flex-wrap:wrap;gap:8px 26px;margin-top:clamp(28px,5vh,56px);padding-top:18px;font-size:.875rem;display:flex}.foot-row span{margin-right:auto}.foot-row a{color:var(--body);text-decoration:none}.foot-row a:hover{color:var(--ink);text-underline-offset:.2em;text-decoration:underline}@media (width<=900px){.nav,.nav nav{gap:14px}.nav nav a:not(.m){display:none}.nav nav a{font-size:.875rem}.btn.sm{padding:0 12px}.hero{align-items:flex-start;min-height:max(640px,100svh)}.hero .wrap{padding-top:clamp(28px,6vh,56px)}.hero-links{gap:6px 0;margin-top:14px}.hero-links a{background:var(--bg);margin-right:10px;padding:3px 8px 3px 0}.svc li{grid-column:span 6}.svc li.big{grid-column:span 12}.svc a{min-height:210px}.svc .big a{min-height:260px}.svc .big .ic{width:144px;height:144px}.split,.split.flip,.build{grid-template-columns:minmax(0,1fr)}.out{position:static}.split.flip .copy{order:-1}.lane{grid-template-rows:auto 20px;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;height:auto;padding:12px 0}.lane canvas{grid-area:2/1/auto/-1;height:20px}.lane .state{grid-area:1/2}.rec li{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}.rec li code{grid-column:1/-1}}@media (width<=520px){.fields{grid-template-columns:minmax(0,1fr)}.svc li{grid-column:span 12}.svc a{min-height:0}.svc .ic{margin-bottom:8px}.svc .big a{grid-template-rows:none;grid-template-columns:minmax(0,1fr);min-height:0}.svc .big .ic,.svc .big .fact,.svc .big h3,.svc .big p{grid-area:auto/1}.svc .big .ic{justify-self:start;margin-left:-8px}.svc .big .fact{order:5;margin-top:16px}.btn{flex:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}.foot-row nav{flex-wrap:wrap;gap:8px 24px;display:flex}body #exc-consent{color:var(--body);background:#101010;border-color:#ffffff38}body #exc-consent p{color:var(--body)}body #exc-consent button{color:var(--ink);border-color:#ffffff38;border-radius:2px}body #exc-consent button:hover{border-color:var(--ink)}body #exc-consent a{color:var(--mute)}body #exc-consent button:focus-visible,body #exc-consent a:focus-visible{outline-color:var(--sig)}
