@font-face{font-family:JetBrains Mono;font-weight:500;font-display:swap;src:url(/fonts/JetBrainsMono-Medium.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-weight:700;font-display:swap;src:url(/fonts/JetBrainsMono-Bold.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-weight:400;font-display:swap;src:url(/fonts/CourierPrime-Regular.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-weight:700;font-display:swap;src:url(/fonts/CourierPrime-Bold.woff2)format("woff2")}:root{--fh:"JetBrains Mono", "SF Mono", Consolas, monospace;--fb:"Courier Prime", "Courier New", monospace;--bg:#e9efec;--surface:#f2f6f4;--border:#d5e0da;--text:#26302d;--muted:#54645f;--action:#3e625d;--action-text:#f2f6f4;--clay:#b5644a;--link:#9e4f37;--plum:#6e3d60;--plum-tint:#f1e7ee;--window:#507772;--ok:#3e7a4f;--mark-window:#507772;--mark-mouth:#2b4642;--mark-mod:#fff;--mark-glass:.42;--mark-red:#d75c3d;--mark-amber:#fd9941;--mark-green:#36b645;--rl:14px;--rs:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#141c1a;--surface:#1d2724;--border:#2f3d39;--text:#dfe9e5;--muted:#8ca39d;--action:#84a9a4;--action-text:#141c1a;--clay:#de9578;--link:#de9578;--plum:#cfa0c2;--plum-tint:#2a2230;--window:#84a9a4;--ok:#8cc49a;--mark-window:#84a9a4;--mark-mouth:#33504b;--mark-mod:#141c1a;--mark-glass:.44;--mark-red:#f0655a;--mark-amber:#f2b454;--mark-green:#54d96c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font-family:var(--fb);font-size:14.5px;line-height:1.65}h1,h2,h3,h4,button,.mono{font-family:var(--fh);letter-spacing:-.02em}h1,h2,h3,h4{color:var(--text);margin:0}p{margin:0}a{color:var(--link);text-underline-offset:2px;text-decoration:underline}em,i{font-style:normal;font-weight:700}:focus-visible{outline:2px solid var(--action);outline-offset:2px}.cursor{color:var(--clay);font-weight:700;animation:1.2s step-end infinite blink}@keyframes blink{50%{opacity:0}}@media (prefers-reduced-motion:reduce){.cursor{animation:none}}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}@media (max-width:640px){.wrap{padding:0 16px}}.site-head{border-bottom:1px solid var(--border);background:var(--bg)}.site-head>.wrap{align-items:center;gap:12px;min-height:60px;display:flex}.site-head .brand{color:var(--text);align-items:center;gap:12px;text-decoration:none;display:flex}.site-head .wordmark{font-family:var(--fh);letter-spacing:-.02em;white-space:nowrap;font-size:18px;font-weight:700}.site-head>.wrap{flex-wrap:wrap}.site-nav{gap:20px;margin-left:auto;display:flex}.site-nav a{font-family:var(--fh);color:var(--muted);padding:6px 0;font-size:13px;text-decoration:none}.site-nav a[aria-current=page]{color:var(--text)}.menu-btn{font-family:var(--fh);color:var(--text);border:1px solid var(--border);border-radius:var(--rs);cursor:pointer;background:0 0;min-height:40px;margin-left:auto;padding:8px 12px;font-size:13px;font-weight:700;display:none}@media (max-width:719px){.site-head .wordmark{font-size:15px}.menu-btn{display:inline-block}.site-nav{flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:6px 0 10px;display:none}.site-nav.open{display:flex}.site-nav a{border-top:1px solid var(--border);width:100%;padding:10px 0;font-size:14px}}.site-foot{border-top:1px solid var(--border);margin-top:48px}.site-foot .cols{grid-template-columns:repeat(3,1fr);gap:24px;padding:32px 0 16px;font-size:13.5px;display:grid}@media (max-width:640px){.site-foot .cols{grid-template-columns:1fr;gap:16px}}.site-foot h6{font-family:var(--fh);color:var(--muted);margin:0 0 8px;font-size:12px;font-weight:700}.site-foot ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.site-foot .cols a{text-decoration:none}.site-foot .byline{color:var(--muted);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:8px 0 28px;font-size:13px;display:flex}.site-foot .legal{color:var(--muted);padding-bottom:24px;font-size:12px}.teeth{gap:3px;display:inline-flex}.teeth i{background:var(--window);opacity:.55;width:9px;height:9px}.teeth i.gap{background:var(--clay);opacity:1}.btn{font-family:var(--fh);border-radius:var(--rs);background:var(--action);color:var(--action-text);border:1px solid var(--action);cursor:pointer;justify-content:center;align-items:center;gap:0;min-height:44px;padding:12px 18px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.btn.sec{color:var(--action);background:0 0}.btn .cursor{color:currentColor}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--rl);overflow:hidden}.card .chrome{background:var(--bg);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 16px;display:flex}.card .chrome h2{font-size:14px;font-weight:700}.byte{background:var(--clay);flex:none;width:8px;height:8px;display:inline-block}.byte.plum{background:var(--plum)}.page{max-width:72ch;padding:40px 0}.page h1{margin-bottom:12px;font-size:28px}.page p{color:var(--muted)}.skip{background:var(--action);color:var(--action-text);font-family:var(--fh);z-index:100;border-radius:8px;padding:8px 12px;font-weight:700;position:absolute;top:-40px;left:8px}.skip:focus{top:8px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tool{grid-template-columns:minmax(0,1fr) 440px;align-items:start;gap:24px;padding:24px 0 40px;display:grid}@media (max-width:900px){.tool{grid-template-columns:1fr}.tool>.card:last-child{order:-1}}.card .body{gap:16px;padding:20px;display:grid}.field{gap:6px;display:grid}.field .label{font-weight:700}.inp{font-family:var(--fb);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--rs);width:100%;min-height:44px;padding:10px 12px;font-size:14.5px}.hint,.muted,.tag{color:var(--muted)}.hint{font-size:12.5px}.tag{font-family:var(--fh);font-size:12px}.qrwrap{border:1px solid var(--border);aspect-ratio:1;background:#f2f6f4;border-radius:12px;overflow:hidden}.qrwrap svg{width:100%;height:100%;display:block}.opens{color:var(--muted);font-size:13px}.opens b{color:var(--text);overflow-wrap:anywhere}select.inp.sel{appearance:none;font-family:var(--fb);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%23B5644A' stroke-width='2'/></svg>");background-position:right 14px center;background-repeat:no-repeat;padding-right:40px;font-weight:700}textarea.inp{resize:vertical;line-height:1.5}.chk{cursor:pointer;align-items:center;gap:10px;display:flex}.chk input{width:18px;height:18px;accent-color:var(--action);margin:0}.note{background:var(--bg);border:1px solid var(--border);border-radius:var(--rs);color:var(--muted);align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.note .byte{margin-top:7px}.rule{border:0;border-top:1px solid var(--border);margin:4px 0}fieldset.field{border:0;min-width:0;margin:0;padding:0}legend.label{margin-bottom:6px;padding:0}.two{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (max-width:520px){.two{grid-template-columns:1fr}}.swatches{flex-wrap:wrap;gap:8px;display:flex}.sw{border:1px solid var(--border);cursor:pointer;border-radius:8px;width:40px;height:40px;padding:0;position:relative}.sw i{border-radius:3px;position:absolute;inset:10px}.sw.on{outline:2px solid var(--action);outline-offset:2px}.color{background:var(--bg);border:1px solid var(--border);border-radius:var(--rs);grid-template-columns:44px auto 1fr;align-items:center;gap:8px;padding:4px 8px 4px 4px;display:grid}.color input[type=color]{cursor:pointer;background:0 0;border:0;width:44px;height:36px;padding:0}.color .hex{font-family:var(--fh);background:0 0;border:0;min-height:36px;padding:6px 8px}.color input:disabled{opacity:.5;cursor:not-allowed}.adv.ok{color:var(--ok)}.adv.warn{color:var(--clay)}.adv.bad{color:var(--clay);font-weight:700}.seg{border:1px solid var(--border);border-radius:var(--rs);width:100%;display:flex;overflow:hidden}.seg button{font-family:var(--fh);min-height:44px;color:var(--muted);border:0;border-right:1px solid var(--border);cursor:pointer;background:0 0;flex:1 1 0;padding:10px 8px;font-size:13px}.seg button:last-child{border-right:0}.seg button.on{background:var(--action);color:var(--action-text);font-weight:700}input[type=range]{width:100%;accent-color:var(--action)}.radios{gap:8px;display:grid}.radio{border:1px solid var(--border);border-radius:var(--rs);cursor:pointer;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13.5px;display:flex}.radio.on{border-color:var(--action)}.radio input{accent-color:var(--action);margin:4px 0 0}.radio .lvl{font-family:var(--fh);flex:none;width:1.6em;font-weight:700}.qrwrap.checker{background:repeating-conic-gradient(#e6ebe8 0% 25%,#fff 0% 50%) 0 0/20px 20px}.card.sticky{position:sticky;top:16px}@media (max-width:900px){.card.sticky{position:static}}.drop{border:1px dashed var(--border);border-radius:var(--rs);flex-wrap:wrap;align-items:center;gap:14px;padding:14px;display:flex}.drop img{object-fit:contain;border:1px solid var(--border);background:#f2f6f4;border-radius:6px;width:44px;height:44px}.drop .name{font-family:var(--fh);overflow-wrap:anywhere;font-size:13px;font-weight:700}.drop .file{opacity:0;width:1px;height:1px;position:absolute}.drop .choose{cursor:pointer}.linkbtn{font:inherit;color:var(--link);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.badge{font-family:var(--fh);background:var(--plum-tint);color:var(--plum);border-radius:8px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-block}.count{font-family:var(--fh);color:var(--muted);text-align:right;font-size:12px}.count.warn{color:var(--clay);font-weight:700}.dl{border-top:1px solid var(--border);gap:10px;padding-top:16px;display:grid}.dl .line{align-items:center;gap:10px;display:flex}.field.grow{flex:1}.btn.wide{width:100%}.btn:disabled{opacity:.6;cursor:wait}.chip{font-family:var(--fh);color:var(--plum);background:var(--plum-tint);cursor:pointer;vertical-align:middle;border:0;border-radius:8px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:700}.done{z-index:50;background:#141c1a8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.done .card{width:100%;max-width:440px;box-shadow:none}.done .body.center{text-align:center;justify-items:center}.done h3{font-size:18px}.done p.muted{max-width:36ch}.done .btns{gap:10px;width:100%;display:grid}.scan{color:var(--muted);align-items:flex-start;gap:8px;font-size:13.5px;display:flex}.scan .dot{background:var(--muted);border-radius:5px;flex:none;width:10px;height:10px;margin-top:6px}.scan.ok .dot{background:var(--ok)}.scan.fail .dot{background:var(--clay)}.scan b{color:var(--text)}.linkbtn.small{color:var(--muted);font-size:13px}.hero{isolation:isolate;color:var(--text);background:#dce6e2;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.hero{color:#dfe9e5;background:#141c1a}}.hero:before{content:"";z-index:-1;background:linear-gradient(100deg,#e9efecd1 0%,#e9efec8c 46%,#d5e0da40 100%);position:absolute;inset:0}@media (prefers-color-scheme:dark){.hero:before{background:linear-gradient(100deg,#141c1ac7 0%,#141c1a80 46%,#33504b38 100%)}}.hero .blob{filter:blur(60px);z-index:-2;border-radius:50%;position:absolute}.hero .b1{background:#84a9a4;width:720px;height:720px;top:-300px;left:-160px}@media (prefers-color-scheme:dark){.hero .b1{background:#507772}}.hero .b2{opacity:.45;background:#507772;width:560px;height:560px;top:-160px;right:-60px}@media (prefers-color-scheme:dark){.hero .b2{opacity:.7;background:#84a9a4}}.hero .b3{opacity:.55;background:#cfa0c2;width:420px;height:420px;bottom:-240px;right:20%}@media (prefers-color-scheme:dark){.hero .b3{opacity:.6;background:#9c6a8e}}.hero .b4{opacity:.3;background:#de9578;width:300px;height:300px;top:-140px;left:40%}@media (prefers-color-scheme:dark){.hero .b4{opacity:.35;background:#b5644a}}.hero-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:48px;min-height:460px;padding-top:72px;padding-bottom:80px;display:grid}.hero .eyebrow{font-family:var(--fh);color:var(--plum);background:var(--plum-tint);border-radius:8px;margin-bottom:20px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}@media (prefers-color-scheme:dark){.hero .eyebrow{color:#cfa0c2;background:#cfa0c229}}.hero h1{color:var(--text);max-width:22ch;margin-bottom:20px;font-size:44px;line-height:1.1}@media (prefers-color-scheme:dark){.hero h1{color:#f2f6f4}}.hero p{color:var(--muted);max-width:56ch;margin-bottom:28px;font-size:16.5px}@media (prefers-color-scheme:dark){.hero p{color:#b9ccc7}}.hero .hero-cta{padding:14px 24px;font-size:16px}.hero .sub{color:var(--muted);margin:14px 0 0;font-size:13px}@media (prefers-color-scheme:dark){.hero .sub{color:#a9c6c1}}.hero-art{justify-self:end;justify-items:center;gap:10px;display:grid}.hero-art .cap{font-family:var(--fh);color:var(--muted);font-size:12px}@media (max-width:860px){.hero-grid{grid-template-columns:1fr;gap:28px;min-height:0;padding-top:40px;padding-bottom:48px}.hero h1{font-size:30px}.hero p{font-size:15px}.hero-art{justify-self:center}.hero-art svg{width:220px;height:220px}}.band{border-top:1px solid var(--border);padding:48px 0}.band h2{margin-bottom:8px;font-size:22px}.band .lead{color:var(--muted);max-width:60ch;margin-bottom:24px}.steps{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.feats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (max-width:900px){.steps,.feats{grid-template-columns:1fr}}.step .chrome h3{font-size:13px;font-weight:700}.step .chrome .n{font-family:var(--fh);color:var(--muted);margin-left:auto;font-size:12px}.step .body p,.feat .body p{color:var(--muted);font-size:13.5px}.feat .body{align-content:start;gap:10px;display:grid}.feat h3{font-size:15px}.byte.big{width:12px;height:12px}.step,.feat{transition:transform .2s,border-color .2s}.step:hover,.feat:hover{border-color:var(--action);transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.step,.feat{transition:none}.step:hover,.feat:hover{transform:none}}.page .lead{color:var(--text);margin-bottom:20px;font-size:16px}.page h2{margin:24px 0 8px;font-size:18px}.page p,.page li{color:var(--muted)}.page ul{gap:6px;margin:0 0 8px;padding-left:1.2em;display:grid}.page li b{color:var(--text)}.note.draft{margin-bottom:20px}.chrome .x{font-family:var(--fh);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;margin-left:auto;padding:4px 8px;font-size:18px;line-height:1}.chrome .x:hover{color:var(--text);background:var(--surface)}.step .demo{background:var(--bg);border:1px solid var(--border);border-radius:var(--rs);place-items:center;min-height:84px;margin-bottom:10px;padding:10px;display:grid}.demo .fake-sel{width:100%;font-family:var(--fb);background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;padding:8px 10px;font-size:13px;font-weight:700;display:flex}.demo .fake-sel i{color:var(--clay);font-style:normal}.demo .fake-form{gap:5px;width:100%;display:grid}.demo .fake-form .tag{text-align:left}.demo .fake-form span.f{background:var(--surface);border:1px solid var(--border);text-align:left;border-radius:6px;padding:5px 8px;font-size:12px}.demo .swatches .sw{cursor:default;width:30px;height:30px}.demo .swatches .sw i{inset:8px}.demo .mini{border:1px solid var(--border);background:#f2f6f4;border-radius:6px;width:64px;height:64px;overflow:hidden}.demo .mini svg{width:100%;height:100%;display:block}
