@font-face{font-family:Geist;src:url(/fonts/geist_regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Geist;src:url(/fonts/geist_medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist_mono_regular.ttf)format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist_mono_medium.ttf)format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Bruno Ace;src:url(/fonts/bruno_ace_regular.ttf)format("truetype");font-display:block}:root{--canvas:#0c0c0f;--raised:#131317;--float:#1a1a1f;--tint:#ffffff08;--line:#ededf014;--line-strong:#ededf024;--ink:#ededf0;--muted:#a1a1aa;--faint:#7c7c86;--paper:#f2f2f3;--on-paper:#0c0c0f;--accent:#8b7cf6;--k-password:#8b7cf6;--k-apikey:#facc15;--k-env:#22d3ee;--k-keystore:#60a5fa;--k-keyfile:#f472b6;--k-note:#c084fc;--k-file:#34d399;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:16px;--sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono", ui-monospace, "SF Mono", Consolas, monospace;--max:1240px;--gutter:clamp(16px, 4vw, 40px);--section:clamp(80px, 11vw, 128px);--ease:cubic-bezier(.22, 1, .36, 1);--fast:.16s}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--canvas);color:var(--ink);font:400 16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:hidden}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}::selection{background:#8b7cf659}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3{text-wrap:balance}p,li,td{text-wrap:pretty}svg{flex:none}.wrap{width:100%;max-width:var(--max);padding:0 var(--gutter);margin:0 auto}.mono{font:400 12px/16px var(--mono)}.label{font:400 12px/16px var(--mono);color:var(--faint);margin:0}.nav{z-index:10;-webkit-backdrop-filter:saturate(140%)blur(12px);border-bottom:1px solid var(--line);background:#0c0c0fcc;position:sticky;top:0}.nav .wrap{align-items:center;gap:32px;height:64px;display:flex}.brand{font:20px/1 "Bruno Ace", var(--sans)}.nav nav[popover]{color:inherit;background:0 0;border:0;margin:0 0 0 auto;padding:0;display:block;position:static;inset:auto;overflow:visible}.nav ul{color:var(--muted);gap:24px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.nav ul a{transition:color var(--fast) var(--ease)}.nav ul a:hover,.nav ul a[aria-current]{color:var(--ink)}.menu-btn{display:none}.btn{min-height:44px;font:500 15px/1 var(--sans);color:var(--on-paper);background:var(--paper);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;transition:background-color var(--fast) var(--ease), transform var(--fast) var(--ease);border:0;justify-content:center;align-items:center;padding:0 20px;display:inline-flex}.btn:hover{background:#fff}.btn:active{transform:scale(.98)}.btn:disabled{cursor:progress;opacity:.7}.nav .btn{border-radius:8px;min-height:36px;padding:0 16px;font-size:14px}.hero{isolation:isolate;padding:128px 0 80px;position:relative}.stream{z-index:-1;pointer-events:none;opacity:0;width:100%;height:100%;transition:opacity .6s var(--ease);position:absolute;inset:0;-webkit-mask:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000);mask:linear-gradient(90deg,#0000,#000 32px calc(100% - 32px),#0000)}.stream.on{opacity:1}@media (width<=719px){.stream{display:none}}.hero .wrap{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:24px;display:grid}.hero-copy{grid-column:1/span 8}.status{color:var(--faint);margin:0}h1{max-width:24ch;font:500 clamp(32px, 4vw, 56px)/1.08 var(--mono);letter-spacing:-.02em;margin:16px 0 24px}.lede{max-width:36rem;color:var(--muted);margin:0 0 40px;font-size:18px;line-height:1.6}.join{max-width:480px}.join label{color:var(--muted);margin-bottom:8px;font-size:14px;display:block}.field{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--tint);transition:border-color var(--fast) var(--ease);grid-template-columns:minmax(0,1fr) auto;gap:4px;padding:4px;display:grid}.field:hover{border-color:#ededf038}.field:focus-within{border-color:#8b7cf6b3}.field input{min-width:0;min-height:44px;font:400 16px var(--sans);color:var(--ink);background:0 0;border:0;outline:0;padding:0 12px}.field input::placeholder{color:var(--faint)}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.help{color:var(--faint);min-height:1.5em;margin:12px 0 0;font-size:14px}.help.err{color:#e5484d}.done{border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--tint);animation:rise .3s var(--ease);align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.done svg{width:16px;height:16px;color:var(--accent);stroke-dasharray:20;animation:draw .4s var(--ease) .1s both;margin-top:4px}.done strong{font-weight:500;display:block}.done span{color:var(--muted);font-size:14px}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes draw{0%{stroke-dashoffset:20px}}.hero-copy>*{animation:rise .5s var(--ease) both}.hero-copy>:nth-child(2){animation-delay:50ms}.hero-copy>:nth-child(3){animation-delay:.1s}.hero-copy>:nth-child(4){animation-delay:.15s}.stage{padding-bottom:clamp(48px,7vw,96px)}.window{border:1px solid var(--line-strong);border-radius:var(--r-xl);background:var(--raised);margin:0;position:relative;overflow:hidden;box-shadow:0 40px 120px -32px #000000e6}.window img{width:100%}.stage .window:after{content:"";background:linear-gradient(transparent, var(--canvas));pointer-events:none;height:30%;position:absolute;inset:auto 0 0}.caption{color:var(--faint);justify-content:space-between;gap:16px;margin-top:16px;display:flex}section{padding:var(--section) 0;border-top:1px solid var(--line)}.split{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.head{grid-column:1/span 4}.head-sticky{position:sticky;top:112px}.body{grid-column:6/span 7}.head.wide{grid-column:1/span 7}.body.narrow{grid-column:9/span 4;align-self:end}.body.narrow p{color:var(--muted);margin:0}h2{font:500 clamp(28px, 2.6vw, 36px)/1.15 var(--mono);letter-spacing:-.01em;margin:12px 0 0}h3{margin:0;font-size:16px;font-weight:500;line-height:1.4}.specimen{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;margin-top:48px;display:grid}.types{grid-column:1/span 5;align-content:start;gap:4px;display:grid}.type{border-radius:var(--r-xl);font:inherit;color:var(--muted);text-align:left;cursor:pointer;transition:background-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);background:0 0;border:0;grid-template-columns:40px minmax(0,1fr);align-items:center;gap:0 12px;padding:8px 12px 8px 8px;display:grid}.type:hover{background:var(--tint)}.type[aria-selected=true]{background:var(--raised);box-shadow:inset 0 0 0 1px var(--line)}.type strong{color:var(--ink);font-size:15px;font-weight:500;line-height:20px}.type span:last-child{grid-column:2;font-size:14px;line-height:20px}.tile{width:40px;height:40px;color:var(--c);background:color-mix(in srgb, var(--c) 12%, transparent);transition:transform var(--fast) var(--ease);border-radius:8px;grid-row:span 2;place-items:center;display:grid}.tile svg{width:16px;height:16px}.type:active .tile{transform:scale(.94)}.card{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--raised);grid-column:6/span 7;padding:24px;position:relative}.card .in{animation:rise .24s var(--ease)}.card header{grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:0 12px;padding-bottom:16px;display:grid}.card header .tile{grid-row:span 2}.card h3{font-size:18px;line-height:24px}.card header p{color:var(--faint);grid-column:2;margin:0;font-size:14px;line-height:20px}.card header .label{grid-area:1/3/span 2}.card dl{margin:0}.f{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:0 8px;padding:12px 0;display:grid}.f dt{font:400 12px/16px var(--mono);color:var(--faint);grid-column:1/-1}.f dd{display:contents}.v{min-width:0;font:400 14px/20px var(--mono);color:var(--ink);overflow-wrap:anywhere;padding:6px 0}.acts{gap:4px;display:flex}.ic{width:32px;height:32px;color:var(--muted);cursor:pointer;transition:background-color var(--fast) var(--ease), color var(--fast) var(--ease), transform var(--fast) var(--ease);background:0 0;border:0;border-radius:8px;place-items:center;padding:0;display:grid}.ic:hover{color:var(--ink);background:#ffffff0f}.ic:active{transform:scale(.92)}.ic svg{width:16px;height:16px}.ic.ok{color:var(--ink)}.ic.ok svg{stroke-dasharray:20;animation:draw .3s var(--ease) both}.files{margin:0;padding:0;list-style:none}.files li{border-top:1px solid var(--line);font:400 14px/20px var(--mono);align-items:center;gap:8px;padding:12px 0;display:flex}.files svg{width:16px;height:16px;color:var(--muted)}.files span{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto}.note{border-top:1px solid var(--line);white-space:pre-line;color:var(--muted);margin:0;padding:12px 0 0;font-size:15px}.toast{z-index:1;width:max-content;max-width:calc(100vw - 2 * var(--gutter));border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--float);color:var(--ink);opacity:0;pointer-events:none;transition:opacity .2s var(--ease), transform .2s var(--ease);align-items:center;gap:8px;margin:12px 0 0;padding:8px 16px;font-size:14px;display:flex;position:absolute;top:100%;left:50%;transform:translate(-50%,-4px);box-shadow:0 16px 40px -16px #000000e6}.toast.on{opacity:1;transform:translate(-50%)}.toast svg{width:16px;height:16px;color:var(--accent)}.toast span{color:var(--muted)}.threats{border-collapse:collapse;width:100%;margin-top:48px;font-size:15px}.threats th{font:400 12px/16px var(--mono);color:var(--faint);text-align:left;padding:0 24px 12px 0}.threats td{border-top:1px solid var(--line);vertical-align:top;color:var(--muted);padding:20px 24px 20px 0}.threats td:first-child{width:24%;color:var(--ink);font-weight:500}.threats td:nth-child(2){width:24%}.limits{grid-template-columns:48% minmax(0,1fr);row-gap:16px;margin-top:64px;display:grid}.limits ul{margin:0;padding:0;list-style:none}.limits li{border-top:1px solid var(--line);color:var(--muted);padding:12px 0}.limits li:first-child{border-top:0;padding-top:0}.limits strong{color:var(--ink);font-weight:500}.scene,.trio{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;display:grid}.scene{margin-top:48px}.scene>*{grid-row:1}.scene .window{grid-column:1/span 8;align-self:start}.scene .popup{z-index:1;grid-column:6/span 4;align-self:end;margin-bottom:-48px}.scene .phone{grid-column:10/span 3;place-self:center end}.trio{margin-top:112px}.trio>div{grid-column:span 4}.trio h3{font:500 20px/28px var(--mono);letter-spacing:-.01em;margin:8px 0 12px}.trio p{color:var(--muted);margin:0}.trio p+p{margin-top:12px}[data-p]{transition:opacity .24s var(--ease)}@media (hover:hover){.platforms:has([data-p=desk]:hover) [data-p]:not([data-p=desk]),.platforms:has([data-p=web]:hover) [data-p]:not([data-p=web]),.platforms:has([data-p=phone]:hover) [data-p]:not([data-p=phone]){opacity:.35}}.keys{grid-template-columns:max-content 1fr;column-gap:16px;margin:24px 0 0;padding:0;list-style:none;display:grid}.keys li{grid-column:1/-1;grid-template-columns:subgrid;border-top:1px solid var(--line);color:var(--muted);align-items:center;padding:12px 0;font-size:15px;display:grid}kbd{font:400 12px/16px var(--mono);color:var(--ink);gap:4px;display:inline-flex}kbd kbd{border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--tint);box-shadow:0 1px 0 var(--line-strong);transition:transform 80ms var(--ease), box-shadow 80ms var(--ease), background-color 80ms var(--ease);padding:2px 6px}.keys li:hover kbd kbd,kbd kbd.down{background:#ffffff17;transform:translateY(1px);box-shadow:0 0 #0000}.phone{border:1px solid var(--line-strong);background:linear-gradient(160deg,#26262c,#141418);border-radius:40px;width:min(280px,100%);padding:8px;box-shadow:0 40px 100px -32px #000000e6}.phone img{border-radius:32px}.popup{border-radius:17px;box-shadow:0 40px 100px -24px #000000f2}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;font-size:16px;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";width:12px;height:12px;color:var(--faint);transition:transform .2s var(--ease), color var(--fast) var(--ease);background:linear-gradient(currentColor,currentColor) 50%/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) 50%/1.5px 12px no-repeat;flex:none}.faq summary:hover:after{color:var(--ink)}.faq details[open] summary:after{color:var(--ink);transform:rotate(45deg)}.faq details p{max-width:60ch;color:var(--muted);margin:-8px 0 24px}.faq details[open] p{animation:rise .3s var(--ease)}.closing{padding:clamp(96px,12vw,160px) 0}.closing .wrap{grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:24px;display:grid}.closing h2{letter-spacing:-.02em;grid-column:1/span 7;margin:0;font-size:clamp(32px,4vw,56px);line-height:1.08}.closing .join{grid-column:8/span 5;justify-self:end;width:100%}footer{border-top:1px solid var(--line);color:var(--faint);padding:32px 0 40px;font-size:14px}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}footer .brand{color:var(--ink);font-size:16px}footer nav{gap:24px;display:flex}footer a{transition:color var(--fast) var(--ease)}footer a:hover{color:var(--ink)}.lost{text-align:center;place-content:center;gap:16px;min-height:100vh;padding:24px;display:grid}.lost h1{margin:24px 0 0;font-size:32px}.lost p{color:var(--muted);margin:0}.lost p a{text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}html,.types{scroll-behavior:auto}}@media (width<=960px){.hero-copy,.head,.body,.head.wide,.body.narrow,.types,.card,.closing h2,.closing .join,.limits h3,.limits ul{grid-column:1/-1}.head-sticky{position:static}.body{margin-top:32px}.body.narrow{margin-top:16px}.closing .join{justify-self:start;margin-top:32px}.types{margin:0 calc(-1 * var(--gutter));padding:0 var(--gutter) 4px;scrollbar-width:none;scroll-behavior:smooth;gap:8px;display:flex;overflow-x:auto;-webkit-mask:linear-gradient(90deg,#0000,#000 16px calc(100% - 32px),#0000);mask:linear-gradient(90deg,#0000,#000 16px calc(100% - 32px),#0000)}.type{border-radius:12px;flex:none;grid-template-columns:28px auto;gap:8px;padding:6px 12px 6px 6px}.type .tile{border-radius:6px;grid-row:auto;width:28px;height:28px}.type span:last-child{display:none}.scene{grid-template-columns:repeat(6,minmax(0,1fr))}.scene>*{grid-row:auto}.scene .window{grid-column:1/-1}.scene .popup{grid-column:2/-1;margin:-64px 0 0}.scene .phone{grid-column:1/-1;justify-self:center;width:min(260px,70%);margin-top:48px}.trio{row-gap:48px;margin-top:64px}.trio>div{grid-column:1/-1}}@media (width<=720px){.hero{padding:96px 0 48px}.nav .btn{margin-left:auto}.menu-btn{width:36px;height:36px;color:var(--ink);border:1px solid var(--line-strong);cursor:pointer;transition:background-color var(--fast) var(--ease);background:0 0;border-radius:8px;place-items:center;margin-left:-16px;padding:0;display:grid}.menu-btn:hover{background:var(--tint)}.menu-btn svg{width:16px;height:16px}.menu-btn svg+svg,.nav:has(:popover-open) .menu-btn svg:first-child{display:none}.nav:has(:popover-open) .menu-btn svg+svg{display:block}.nav nav[popover]:not(:popover-open){display:none}.nav nav[popover]{inset:72px var(--gutter) auto;border:1px solid var(--line-strong);border-radius:var(--r-lg);background:var(--raised);width:auto;height:auto;transition:opacity var(--fast) var(--ease), transform var(--fast) var(--ease), display var(--fast) allow-discrete, overlay var(--fast) allow-discrete;margin:0;padding:8px;position:fixed;box-shadow:0 24px 64px -24px #000000e6}@starting-style{.nav nav[popover]:popover-open{opacity:0;transform:translateY(-4px)}}.nav ul{flex-direction:column;gap:0;font-size:16px}.nav ul a{border-radius:6px;padding:12px;display:block}.nav ul a:hover{background:var(--tint)}.threats thead{display:none}.threats,.threats tbody,.threats tr,.threats td{width:auto;display:block}.threats tr{border-top:1px solid var(--line);padding:16px 0}.threats td,.threats td:first-child,.threats td:nth-child(2){border:0;width:auto;padding:4px 0}.threats td:before{content:attr(data-label);font:400 12px/16px var(--mono);color:var(--faint);display:block}.threats td:first-child:before{content:none}.card{padding:20px}.caption{flex-direction:column;gap:4px}}@media (width<=440px){.field{grid-template-columns:1fr}.card header .label{display:none}}
