:root{--blue:#000;--deep:#001024;--ink:#fff;--dim:#fffc;--line:#ffffff47;--font-main:"Google Sans", "Google Sans Fallback: Segoe UI", "Google Sans Fallback: Helvetica Neue", "Google Sans Fallback: Arial", "Google Sans Fallback: Noto Sans", "Google Sans Fallback: Liberation Sans", sans-serif;--mono:"Geist Mono", ui-monospace, Consolas, monospace;--sans:"Google Sans", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;margin:0}html{color:var(--ink);scroll-behavior:smooth;scroll-padding-top:96px}body,html{background:var(--blue)}body{font:400 16px/1.65 var(--sans);isolation:isolate;min-height:100vh}body:before{content:"";opacity:.25;background:url(../assets/noise-texture.svg) 0 0/2800px 2800px}.starfield,body:before{z-index:-1;pointer-events:none;animation:2.6s ease-out both noise-in;position:fixed;inset:0}.starfield{width:100%;height:100%}@keyframes noise-in{0%{opacity:0}}.hero .line,.scroll-cue,.site-header{animation:1.8s ease-out 1.2s backwards noise-in}a{color:inherit}:focus-visible{outline-offset:3px;outline:2px solid #fff}.wrap{width:min(1280px,100% - 32px);margin-inline:auto}.hero{grid-template-columns:minmax(0,1fr);align-content:center;justify-items:center;min-height:100svh;display:grid}.hero,.logo{position:relative}.logo{aspect-ratio:3;cursor:default;touch-action:manipulation;width:min(1200px,100%)}.logo canvas{width:100%;height:100%;display:block}.logo-fallback{place-items:center;font:700 calc(clamp(48px,14vw,200px)) Space Grotesk,Space Grotesk Fallback\: Segoe UI,Space Grotesk Fallback\: Helvetica Neue,Space Grotesk Fallback\: Arial,Space Grotesk Fallback\: Noto Sans,Space Grotesk Fallback\: Liberation Sans,sans-serif;display:grid;position:absolute;inset:0}.apps{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-items:start;gap:40px;display:grid}.list{padding:0;list-style:none}.row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;gap:2px 16px;padding:18px 0;text-decoration:none;transition:padding .2s,background .2s;display:grid}.list li:first-child .row{border-top:1px solid var(--line)}.row b{font:500 22px/1.2 var(--font-main)}.row .meta{color:var(--dim);font-size:13px}.row .tag{grid-area:1/2;align-self:center;font-size:13px}.row .tag:before{content:"";background:#fff;width:8px;height:8px;margin-right:8px;display:inline-block}.row .tag.beta:before,.row .tag.wip:before{background:0 0;border:1px solid #fff}.row .tag.beta:before{border-style:dashed}.row.on,.row:focus-visible,.row:hover{color:var(--blue);background:#fff;padding-inline:14px}.row.on .meta,.row:focus-visible .meta,.row:hover .meta{color:var(--deep)}.row.on .tag:before,.row:hover .tag:before{background:var(--blue)}.row.on .tag.beta:before,.row.on .tag.wip:before,.row:hover .tag.beta:before,.row:hover .tag.wip:before{border-color:var(--blue);background:0 0}.row .desc{grid-column:1/-1;max-width:52ch;margin-top:6px}.row .chips{flex-wrap:wrap;grid-column:1/-1;gap:6px;margin-top:10px;display:flex}.row .chip{border:1px solid var(--line);padding:5px 7px;font-size:12px;line-height:1}.row.on .chip,.row:focus-visible .chip,.row:hover .chip{border-color:var(--blue)}.row.on .desc,.row:focus-visible .desc,.row:hover .desc{color:var(--blue)}.preview{background:var(--deep);border:1px solid #fff;position:sticky;top:24px}.preview .bar{background:var(--blue);border-bottom:1px solid #fff;align-items:center;gap:6px;height:30px;padding:0 10px;font-size:12px;display:flex}.preview .bar i{border:1px solid #fff;width:8px;height:8px}.preview .host{color:var(--dim);margin-left:10px}.preview .shot,.thumb{aspect-ratio:8/5}.preview canvas{width:100%;height:100%;display:block}.globe{z-index:-1;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.wrap{z-index:1;position:relative}.page{max-width:760px;padding:48px 0 96px}.back{color:var(--dim);border-bottom:1px solid var(--line);margin-bottom:40px;text-decoration:none;display:inline-block}.back:hover{color:#fff;border-color:#fff}.page h1{font:600 calc(clamp(30px,5vw,44px))/1.15 var(--sans);letter-spacing:-.01em;margin-bottom:12px}.page .meta{color:var(--dim);font-size:13px}.empty{color:var(--dim);margin-top:24px}.posts{margin-top:32px;padding:0;list-style:none}.posts a{border-bottom:1px solid var(--line);gap:2px;padding:18px 0;text-decoration:none;display:grid}.posts li:first-child a{border-top:1px solid var(--line)}.posts b{font:500 20px/1.3 var(--font-main)}.posts .desc{color:var(--dim)}.posts a:focus-visible,.posts a:hover{color:var(--blue);background:#fff;padding-inline:14px}.posts a:hover .desc,.posts a:hover .meta{color:var(--deep)}.post h2{font:500 20px/1.3 var(--font-main);margin:40px 0 12px}.post :deep(h2){font:500 20px/1.3 var(--font-main);margin:40px 0 12px}.post p,.post pre,.post ul{margin-top:16px}.post a{text-underline-offset:3px;text-decoration-thickness:1px}.post code{background:#ffffff29;padding:0 5px}.post code,.post pre{font-family:var(--mono)}.post pre{background:var(--deep);border:1px solid var(--line);padding:16px;overflow-x:auto}.post pre code{background:0 0;padding:0}.post pre span{color:#fff!important}.btn,.post h2 a{text-decoration:none}@media (width<=800px){.apps{grid-template-columns:1fr}.preview{display:none}}@media (prefers-reduced-motion:reduce){.hero .line,.scroll-cue,.site-header,body:before{animation:none}*{transition:none!important;animation:none!important}}.notice{color:var(--dim);text-align:center}.admin{max-width:920px;padding:32px 0 96px}.admin h1{font:500 28px/1.2 var(--font-main)}.admin h2{font:500 18px/1.3 var(--font-main)}.admin-head{justify-content:space-between;gap:16px;margin-bottom:24px}.admin-head,.admin-who{flex-wrap:wrap;align-items:center;display:flex}.admin-who{color:var(--dim);gap:14px;font-size:13px}.admin-who a{color:#fff}.tabs{border-bottom:1px solid var(--line);gap:0;margin-bottom:24px;display:flex}.tabs button{color:var(--dim);font:inherit;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 16px}.tabs button.on{color:#fff;border-bottom-color:#fff}.panel{border:1px solid var(--line);background:#03142db3;padding:20px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.admin-list{padding:0;list-style:none}.admin-list button{text-align:left;border:0;border-top:1px solid var(--line);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;grid-template-columns:1fr auto;gap:2px 16px;padding:14px 4px;display:grid}.admin-list button:focus-visible,.admin-list button:hover{color:var(--blue);background:#fff}.admin-list .meta{color:var(--dim);grid-column:1;font-size:13px}.admin-list button:hover .meta{color:var(--deep)}.admin-list .state{color:var(--dim);grid-area:1/2;font-size:12px}.admin-list .state.live{color:#fff}.admin-list button:hover .state{color:var(--blue)}.fields{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{align-content:start;gap:6px;display:grid}.field.wide{grid-column:1/-1}.field label,.field-head label{color:var(--dim);font-size:13px}.field small{color:var(--dim);font-size:12px}.field-head{justify-content:space-between;align-items:center;display:flex}.field-tools{gap:8px;display:flex}input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{color:#fff;border:1px solid var(--line);width:100%;font:inherit;background:#00000040;border-radius:0;padding:9px 10px}textarea{resize:vertical;line-height:1.5}input:focus,select:focus,textarea:focus{outline-offset:0;outline:2px solid #fff}.btn{color:#fff;font:inherit;cursor:pointer;background:0 0;border:1px solid #fff;padding:8px 16px;display:inline-block}.btn.on,.btn.primary,.btn:hover:not(:disabled){color:var(--blue);background:#fff}.btn:disabled{opacity:.5;cursor:default}.btn.small{padding:4px 10px;font-size:12px}.btn.primary:hover:not(:disabled){color:#fff;background:0 0}.btn.danger{color:#ff8a8a;border-color:#ff8a8a}.btn.danger:hover:not(:disabled){color:var(--blue);background:#ff8a8a}.actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.actions .spacer{flex:1}.check{cursor:pointer;align-items:center;gap:8px;display:flex}.errors{color:#ffb3b3;margin-top:16px;padding-left:18px}.notice.err{color:#ffb3b3;text-align:left}.notice.ok{color:#fff;text-align:left;border-left:3px solid #fff;margin-bottom:16px;padding-left:10px}.login{gap:16px;max-width:360px;margin:18vh auto 0;display:grid}.shot-row{align-items:center;gap:12px;display:flex}.thumb{-o-object-fit:cover;object-fit:cover;border:1px solid var(--line);width:120px}.shot-tools{flex-wrap:wrap;gap:8px;display:flex}.md-preview{border:1px solid var(--line);background:#0003;min-height:200px;padding:12px 16px}@media (width<=700px){.fields{grid-template-columns:1fr}}main{z-index:1;position:relative}.eyebrow:before{content:"// "}.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:18px}.eyebrow,.lead,.strip{color:var(--dim)}.lead{max-width:62ch;margin-top:16px;font-size:18px}.narrow{max-width:760px}.site-header{z-index:20;isolation:isolate;position:fixed;top:0;left:0;right:0}.site-header:before{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000bf;-webkit-mask-image:linear-gradient(#000,#0000);mask-image:linear-gradient(#000,#0000)}.site-header:after,.site-header:before{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.site-header:after{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);opacity:0;background:#000000d9;transition:opacity .3s}.site-header.scrolled:after{opacity:1}.strip{border-bottom:1px solid var(--line);font:500 10.5px/24px var(--mono);letter-spacing:.14em}.strip .wrap{justify-content:space-between;gap:16px;display:flex}.strip .sys i{vertical-align:1px;background:#fff;width:6px;height:6px;margin-right:8px;animation:2s steps(2,end) infinite blink;display:inline-block}.strip .utc{text-align:right;font-variant-numeric:tabular-nums;min-width:11ch}@keyframes blink{50%{opacity:.2}}.site-header .bar{justify-content:space-between;align-items:center;height:64px;display:flex}.brand-logo{align-items:center;display:inline-flex}.brand-logo img{width:auto;height:32px;display:block}.brand{font:700 20px/1 "Space Grotesk", "Space Grotesk Fallback: Segoe UI", "Space Grotesk Fallback: Helvetica Neue", "Space Grotesk Fallback: Arial", "Space Grotesk Fallback: Noto Sans", "Space Grotesk Fallback: Liberation Sans",var(--sans);letter-spacing:.02em;text-decoration:none}.brand span{color:var(--dim)}.site-header nav{align-items:center;gap:28px;display:flex}.site-header nav a:not(.btn){color:var(--dim);border-bottom:1px solid #0000;padding:6px 0;font-size:14px;text-decoration:none}.site-header nav a.here:not(.btn),.site-header nav a:not(.btn):hover{color:#fff;border-color:#fff}.burger{border:1px solid var(--line);cursor:pointer;background:0 0;place-content:center;gap:5px;width:40px;height:40px;padding:0;display:none}.burger i{background:#fff;width:18px;height:2px;display:block}.line{text-align:center;color:var(--dim);font:400 calc(clamp(15px,2vw,20px))/1.5 var(--sans);letter-spacing:.01em;transition:opacity var(--fade,.7s) ease;padding:0 16px}.line.out{opacity:0}.hero .line{min-height:1.5em;position:absolute;bottom:14svh;left:0;right:0}.scroll-cue{cursor:pointer;font:500 11px/1 var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--dim);background:0 0;border:0;justify-items:center;gap:10px;text-decoration:none;display:grid;position:absolute;bottom:4svh;left:50%;translate:-50%}.scroll-cue:after{content:"";background:var(--dim);width:1px;height:28px}.section{border-top:1px solid var(--line);background:linear-gradient(#000000d1,#000000d1),repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 0 48px),repeating-linear-gradient(90deg,#ffffff12 0 1px,#0000 0 48px);padding:112px 0}.card{position:relative}.card:after,.card:before{content:"";opacity:0;border:0 solid #fff;width:10px;height:10px;transition:opacity .2s;position:absolute}.card:before{border-width:1px 0 0 1px;top:8px;left:8px}.card:after{border-width:0 1px 1px 0;bottom:8px;right:8px}.card:focus-within:after,.card:focus-within:before,.card:hover:after,.card:hover:before{opacity:1;border-color:var(--blue)}.steps .num:before{content:"PHASE "}.num,.stats dt{font-variant-numeric:tabular-nums}.section-title{text-transform:none;font:600 calc(clamp(30px,4.5vw,46px))/1.1 var(--sans);letter-spacing:-.015em}.cards{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));margin-top:48px;padding:0;list-style:none;display:grid}.card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding:32px 28px 28px;transition:background .2s,color .2s;display:flex}.card:focus-within,.card:hover{color:var(--blue);background:#fff}.card h3{font:600 20px/1.3 var(--sans)}.card p{color:var(--dim);flex:1}.card:focus-within .num,.card:focus-within p,.card:hover .num,.card:hover p{color:var(--deep)}.num{font:500 12px/1 var(--mono);color:var(--dim);letter-spacing:.1em}.more{font:500 13px/1 var(--mono);border-bottom:1px solid;align-self:flex-start;margin-top:8px;padding-bottom:3px;text-decoration:none}.steps{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px;margin-top:48px;padding:0;list-style:none;display:grid}.steps li{border-top:2px solid #fff;align-content:start;gap:10px;padding-top:20px;display:grid}.steps h3{font:600 20px/1.3 var(--sans)}.cta p,.steps p{color:var(--dim)}#work .apps{margin-top:48px}.section .notice{text-align:left;margin-top:24px}.cta{background:var(--deep);border:1px solid #fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:32px;padding:calc(clamp(28px,5vw,56px));display:flex}.cta h2{font:600 calc(clamp(26px,3.5vw,36px))/1.15 var(--sans)}.cta p{max-width:52ch;margin-top:8px}.btn.primary,.post-card,.site-footer nav a{text-decoration:none}.site-footer{z-index:1;border-top:1px solid var(--line);background:#000;padding-top:64px;position:relative}.site-footer .cols{grid-template-columns:1.4fr 1fr 1fr;gap:40px;display:grid}.site-footer .brand{margin-bottom:14px;display:inline-block}.site-footer .blurb{color:var(--dim);max-width:38ch;margin-bottom:12px}.site-footer h2{font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin-bottom:16px}.site-footer nav{align-content:start;gap:8px;display:grid}.site-footer nav a{color:var(--dim);font-size:14px}.site-footer a:hover{color:#fff}.site-footer .legal{border-top:1px solid var(--line);color:var(--dim);margin-top:56px;padding:24px 0;font-size:13px}.inner{min-height:70svh;padding-top:89px}.blk{padding:56px 0}.blk-hero{padding:96px 0 40px}.blk-hero h1{font:600 calc(clamp(36px,6vw,64px))/1.08 var(--sans);letter-spacing:-.02em;max-width:20ch}.blk-hero .btn{margin-top:28px}.blk-title{font:600 calc(clamp(26px,3.5vw,36px))/1.15 var(--sans)}.blk-text h2{font:600 28px/1.2 var(--sans);margin-bottom:8px}.blk .cards,.stats{margin-top:32px}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;display:grid}.stats>div{border-top:2px solid #fff;padding-top:16px}.stats dt{font:600 calc(clamp(36px,5vw,56px))/1 var(--sans)}.stats dd{color:var(--dim);margin:8px 0 0}.blk-image img{border:1px solid var(--line);width:100%;height:auto;display:block}.blk-image figcaption{color:var(--dim);margin-top:10px;font-size:13px}.detail{margin-top:32px}.section.plain{background:0 0;border-top:0}.service{border-top:1px solid var(--line);grid-template-columns:1.1fr 1fr;gap:40px;padding:40px 0;scroll-margin-top:100px;display:grid}.service h2{font:600 28px/1.2 var(--sans);margin:12px 0 10px}.service p{color:var(--dim);max-width:48ch}.ticks{align-content:start;gap:12px;padding:0;list-style:none;display:grid}.ticks li{padding-left:24px;position:relative}.ticks li:before{content:"";background:#fff;width:8px;height:8px;position:absolute;top:.6em;left:0}.post-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;padding:0;list-style:none;display:grid}.post-card{border:1px solid var(--line);background:#00000080;flex-direction:column;gap:10px;height:100%;padding:28px;transition:background .2s,color .2s;display:flex}.post-card b{font:600 22px/1.3 var(--sans)}.post-card .meta{font:500 12px/1 var(--mono);color:var(--dim);letter-spacing:.08em;text-transform:uppercase}.post-card .desc{color:var(--dim);flex:1}.post-card:focus-visible,.post-card:hover{color:var(--blue);background:#fff}.post-card:hover .desc,.post-card:hover .meta{color:var(--deep)}.post .meta{margin-bottom:24px}.post{font-size:17px}.post h2{font-family:var(--sans);font-weight:600}.back{font:500 13px/1 var(--mono)}.empty{color:var(--dim)}.builder{gap:12px;display:grid}.block-list{gap:16px;padding:0;list-style:none;display:grid}.block-card{border:1px solid var(--line);background:#0003;gap:14px;padding:16px;display:grid}.block-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.item-row{border-left:2px solid var(--line);padding-left:14px}.item-row,.picker{gap:10px;display:grid}.picker{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.picker button:not(.btn){text-align:left;color:inherit;border:1px solid var(--line);font:inherit;cursor:pointer;background:0 0;gap:4px;padding:14px;display:grid}.picker button:not(.btn) span{color:var(--dim);font-size:13px}.picker button:not(.btn):hover{color:var(--blue);background:#fff}.picker button:not(.btn):hover span{color:var(--deep)}.builder-preview{border:1px solid var(--line);background:var(--blue);max-height:70vh;overflow:auto}.builder-preview .blk-hero{padding-top:48px}@media (width>=1000px){.cards{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.burger{display:grid}.site-header nav{border-bottom:1px solid var(--line);background:#000;flex-direction:column;align-items:stretch;gap:0;padding:8px 16px 20px;display:none;position:absolute;top:64px;left:0;right:0}.site-header.open nav{display:flex}.site-header nav a:not(.btn){border-bottom:1px solid var(--line);padding:14px 0;font-size:16px}.site-header nav .btn{text-align:center;margin-top:16px}.service,.site-footer .cols{grid-template-columns:1fr}.section{padding:72px 0}}.nav-row{grid-template-columns:1fr 1fr auto;align-items:end;margin-top:8px}.sub-head{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin:20px 0 10px}
