:root{--paper:#f7f5f0;--paper-2:#efece4;--ink:#141412;--ink-60:#5c5a54;--ink-40:#8b887f;--rule:#ddd9cf;--line-blue:#1b5ed7;--line-orange:#e8600a;--line-plum:#8e3b8e;--go:#0f8a4a;--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--s7:96px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font:400 16px/1.5 Archivo,sans-serif}.mono{font-family:Fragment Mono,monospace}.wrap{max-width:1200px;padding:0 var(--s4);margin:0 auto}a{color:inherit}header{border-bottom:2px solid var(--ink)}.mast{padding:var(--s2) 0;justify-content:space-between;align-items:center;display:flex}.wordmark{align-items:center;gap:12px;text-decoration:none;display:flex}.roundel{background:var(--ink);width:34px;height:34px;color:var(--paper);letter-spacing:.02em;border-radius:50%;place-items:center;font:700 13px Archivo;display:grid}.wordmark b{letter-spacing:-.01em;font-size:17px;font-weight:900}nav{gap:var(--s4);font-size:14px;font-weight:500;display:flex}nav a{border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}nav a:hover{border-bottom-color:var(--ink)}nav a.cloud{color:var(--line-orange)}nav a.current{border-bottom-color:var(--ink);font-weight:700}.hero{gap:var(--s6);padding:var(--s7) 0 var(--s6);grid-template-columns:5fr 7fr;align-items:center;display:grid}.hero>*,.proof>*,.cloudgrid>*{min-width:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);margin-bottom:var(--s3);font-family:Fragment Mono;font-size:12px}.eyebrow:before{content:"";background:var(--ink);vertical-align:middle;width:22px;height:2px;margin-right:10px;display:inline-block}h1{letter-spacing:-.025em;text-wrap:balance;font-size:clamp(38px,4.6vw,58px);font-weight:900;line-height:1.02}.hero .sub{margin-top:var(--s3);color:var(--ink-60);max-width:44ch;font-size:18px;line-height:1.55}.hero .sub b{color:var(--ink);font-weight:500}.ctarow{gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;align-items:center;display:flex}.install{background:var(--ink);color:var(--paper);cursor:pointer;text-align:left;border:none;align-items:center;gap:14px;max-width:100%;padding:14px 18px;font-family:Fragment Mono;font-size:14px;display:flex}.install span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.install .cp{color:var(--ink-40)}.install:hover .cp{color:var(--paper)}.ghost{border-bottom:2px solid var(--ink);padding:13px 6px;font-size:15px;font-weight:700;text-decoration:none}.hero-note{margin-top:var(--s2);color:var(--ink-40);font-size:13px}.mapcard{position:relative}figure.map{border:2px solid var(--ink);padding:var(--s3);background:#fff}figure.map figcaption{color:var(--ink-60);margin-bottom:var(--s2);justify-content:space-between;align-items:baseline;padding-right:84px;font-family:Fragment Mono;font-size:12px;display:flex}figure.map figcaption .st{color:var(--ink)}svg{width:100%;height:auto;display:block}.tl{stroke-width:6px;fill:none;stroke-linecap:round}.tl.dim{opacity:.18}.station circle.halo{fill:#fff;stroke-width:3px}.station text{fill:var(--ink);font:500 12px Archivo}.station .tag{fill:var(--ink-40);font:11px Fragment Mono}.station .health{fill:var(--go);opacity:0;font:11px Fragment Mono}.station.ready .health{opacity:1}.station circle.halo{stroke:var(--ink-40)}.station.ready circle.halo{stroke:var(--go);fill:var(--go)}.station.ready circle.halo.big{fill:#fff}.url-plate{opacity:0;transition:opacity .4s ease-out}.url-plate.on{opacity:1}.term{background:var(--ink);color:var(--paper);padding:var(--s3);border:2px solid var(--ink);min-height:150px;margin-top:-2px;font-family:Fragment Mono;font-size:13.5px;line-height:1.7;overflow:hidden}.term .ln{opacity:0}.term .ln.on{opacity:1}.term .ok{color:#4cc98a}.term .dim{color:#8b887f}.term .url{color:#f6b15c}.replay{border:1px solid var(--rule);color:var(--ink-40);cursor:pointer;background:0 0;padding:4px 8px;font-family:Fragment Mono;font-size:11px;position:absolute;top:12px;right:12px}.replay:hover{color:var(--ink);border-color:var(--ink)}section{padding:var(--s7) 0;border-top:2px solid var(--ink)}.secmark{margin-bottom:var(--s5);align-items:center;gap:12px;display:flex}.secmark .dot{border:4px solid var(--ink);background:#fff;border-radius:50%;width:14px;height:14px}.secmark.blue .dot{border-color:var(--line-blue)}.secmark.orange .dot{border-color:var(--line-orange)}.secmark.plum .dot{border-color:var(--line-plum)}.secmark span{letter-spacing:.14em;text-transform:uppercase;color:var(--ink-60);font-family:Fragment Mono;font-size:12px}h2{letter-spacing:-.02em;max-width:24ch;font-size:clamp(28px,3.2vw,40px);font-weight:900;line-height:1.08}.lede{margin-top:var(--s3);color:var(--ink-60);max-width:56ch;font-size:17px}.lede b{color:var(--ink);font-weight:500}.lede a{color:var(--ink)}.pains{margin-top:var(--s5);border:2px solid var(--ink);grid-template-columns:1fr 1fr 1fr;gap:0;display:grid}.pain{padding:var(--s4);border-left:2px solid var(--ink)}.pain:first-child{border-left:none}.pain .k{color:var(--line-orange);margin-bottom:var(--s2);font-family:Fragment Mono;font-size:12px;display:block}.pain h3{letter-spacing:-.01em;margin-bottom:10px;font-size:19px;font-weight:700}.pain p{color:var(--ink-60);font-size:14.5px}.proof{gap:var(--s6);margin-top:var(--s6);grid-template-columns:5fr 6fr;align-items:start;display:grid}.proof.flip{grid-template-columns:6fr 5fr}.proof h3{letter-spacing:-.015em;font-size:24px;font-weight:900;line-height:1.15}.proof .why{margin-top:var(--s2);color:var(--ink-60);max-width:46ch;font-size:15.5px}.proof .why b{color:var(--ink);font-weight:500}.proof .how{margin-top:var(--s2);color:var(--ink-40);font-family:Fragment Mono;font-size:13px}pre.code{border:2px solid var(--ink);padding:var(--s3);background:#fff;font-family:Fragment Mono;font-size:13.5px;line-height:1.65;overflow-x:auto}pre.code .c{color:var(--ink-40)}pre.code .k{color:var(--line-blue)}pre.code .v{color:var(--line-plum)}pre.code .g{color:var(--go)}#cloud{background:var(--ink);color:var(--paper)}#cloud .secmark span{color:var(--paper);opacity:.65}#cloud h2{color:var(--paper)}#cloud .lede{color:#b8b5ac}#cloud .lede b{color:var(--paper)}.badge{letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-orange);color:var(--line-orange);vertical-align:middle;margin-left:14px;padding:4px 10px;font-family:Fragment Mono;font-size:11px;display:inline-block}.cloudgrid{gap:var(--s6);margin-top:var(--s5);grid-template-columns:1fr 1fr;display:grid}.cloudgrid pre.code{color:#e8e5dc;background:#201f1c;border-color:#3a3833}.cloudgrid pre.code .c{color:#78756c}.cloudgrid pre.code .g{color:#4cc98a}.cloudgrid .step{gap:var(--s2);margin-bottom:var(--s4);grid-template-columns:34px 1fr;display:grid}.cloudgrid .step .n{border:2px solid var(--paper);border-radius:50%;place-items:center;width:26px;height:26px;font:700 12px Archivo;display:grid}.cloudgrid .step h3{margin-bottom:6px;font-size:18px;font-weight:700}.cloudgrid .step p{color:#b8b5ac;max-width:42ch;font-size:14.5px}.cloudgrid .step p b{color:var(--paper);font-weight:500}.signup{margin-top:var(--s4);gap:0;max-width:460px;display:flex}.signup input{border:2px solid var(--paper);color:var(--paper);background:0 0;outline:none;flex:1;padding:14px 16px;font:400 15px Archivo}.signup input::placeholder{color:#78756c}.signup button{background:var(--line-orange);color:var(--ink);border:2px solid var(--line-orange);cursor:pointer;white-space:nowrap;padding:14px 22px;font:700 15px Archivo}.signup button:hover{background:#f0721f}.honest{margin-top:var(--s2);color:#78756c;max-width:52ch;font-size:13px}footer{border-top:2px solid var(--ink);padding:var(--s4) 0;color:var(--ink-60);justify-content:space-between;font-family:Fragment Mono;font-size:12.5px;display:flex}footer a{text-decoration:none}footer a:hover{text-decoration:underline}@media (width<=900px){.hero,.proof,.proof.flip,.cloudgrid{gap:var(--s4);grid-template-columns:1fr}.pains{grid-template-columns:1fr}.pain{border-left:none;border-top:2px solid var(--ink)}.pain:first-child{border-top:none}}@media (prefers-reduced-motion:reduce){.term .ln,.station .health,.url-plate{transition:none}}.signup.ok input,.signup.ok button{border-color:var(--go)}.signup-msg{color:#4cc98a;min-height:18px;margin-top:10px;font-family:Fragment Mono;font-size:13px}.signup-msg.err{color:#f6b15c}@media (width<=900px){.wrap{padding:0 var(--s3)}.mast{gap:var(--s1) var(--s2);flex-wrap:wrap}.wordmark b{white-space:nowrap}nav{gap:var(--s2) var(--s3);flex-wrap:wrap;row-gap:6px;font-size:13px}nav a{white-space:nowrap}}
