@font-face{font-family:archivo;src:url(../fonts/archivo-latin.woff2)format("woff2");font-weight:400 800;font-stretch:62% 125%;font-display:swap}@font-face{font-family:ibm plex mono;src:url(../fonts/ibm-plex-mono-400-latin.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:ibm plex mono;src:url(../fonts/ibm-plex-mono-500-latin.woff2)format("woff2");font-weight:500;font-display:swap}:root{--bg:#2a3032;--paper:#333a3d;--ink:#dddad8;--text2:#a9aeb0;--hair:#444c4f;--accent:#73939c;--accent-text:#9dbac2;--on-accent:#1a1f21;--code:#23292b;--shadow:0 14px 28px rgba(0, 0, 0, .35);--body:"Archivo", sans-serif;--mono:"IBM Plex Mono", monospace;color-scheme:dark}:root[data-theme=light]{--bg:#dddad8;--paper:#ebe9e7;--ink:#2c3335;--text2:#535c5f;--hair:#c4c1be;--accent:#73939c;--accent-text:#4c6c75;--on-accent:#1f2527;--code:#e4e1df;--shadow:0 14px 28px rgba(44, 51, 53, .16);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);background-color:var(--bg);font:16px/1.6 var(--body);transition:background-color .25s,color .25s}a{color:inherit;text-decoration:none}code{font-family:var(--mono);font-size:.9em;background:var(--code);padding:1px 5px}.wrap{max-width:1180px;margin:0 auto;padding:0 24px}.mono{font-family:var(--mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase}.display{font-weight:800;font-stretch:112%;letter-spacing:-.01em}header{border-bottom:1px solid var(--hair);background:var(--bg);position:sticky;top:0;z-index:10}header .wrap{display:flex;align-items:center;gap:14px;height:68px}.portal{display:flex;color:var(--ink)}.portal:hover{color:var(--accent-text)}.portal svg{width:38px;height:34px}.sep{color:var(--hair);font-size:22px}.brand{font-weight:800;font-stretch:112%;font-size:21px;line-height:1}nav{margin-left:auto;display:flex;align-items:center;gap:22px;color:var(--text2)}nav a:hover{color:var(--ink)}.sq{border:1px solid var(--hair);background:0 0;color:var(--ink);height:34px;min-width:34px;padding:0 9px;cursor:pointer;display:inline-grid;place-items:center;font:500 12px var(--mono);letter-spacing:.06em}.sq:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.hero{display:grid;grid-template-columns:minmax(0,1fr)minmax(0,1.15fr);gap:56px;padding:72px 0;align-items:center}.eyebrow{color:var(--accent-text);margin-bottom:14px;display:block}.hero h1{font-size:clamp(28px,3.4vw,42px);line-height:1.12;margin:0 0 18px;text-wrap:balance}.hero h1 em{font-style:normal;color:var(--accent-text)}.intro{font-size:17px;color:var(--text2);margin:0 0 26px}.hero-shot{margin:0;border:1px solid var(--hair);box-shadow:var(--shadow);background:var(--paper)}.hero-shot img{display:block;width:100%;height:auto}.links{display:flex;flex-wrap:wrap;padding:0 0 1px 1px}.links a{border:1px solid var(--hair);margin:0 0 -1px -1px;padding:9px 16px;font-weight:500;font-size:14px;transition:background .15s,color .15s}.links a:first-child{background:var(--ink);border-color:var(--ink);color:var(--bg)}.links a:hover{background:var(--accent);border-color:var(--accent);color:var(--on-accent);position:relative}.block{padding-bottom:72px}.sect{border-top:1px solid var(--ink);padding-top:18px;margin-bottom:28px}.sect h2{margin:0;font-size:14px}.features{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:1px;background:var(--hair);border:1px solid var(--hair)}.feature{background:var(--bg);padding:24px 24px 26px}.feature .num{color:var(--accent-text)}.feature h3{font-size:19px;font-weight:700;font-stretch:108%;line-height:1.25;margin:10px 0 8px}.feature p{margin:0;color:var(--text2);font-size:15px}.screens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.screens figure{margin:0}.screens img{display:block;width:100%;height:auto;border:1px solid var(--hair);transition:transform .2s ease,box-shadow .2s ease}.screens a:hover img{transform:translateY(-3px);box-shadow:var(--shadow)}.screens figcaption{color:var(--text2);margin-top:10px}.quickstart{display:grid;grid-template-columns:minmax(0,1.6fr)minmax(0,1fr);gap:48px;align-items:start}.qs-intro{font-size:17px;color:var(--text2);margin:0 0 18px}.requirements{border:1px solid var(--hair);background:var(--paper);padding:14px 18px;margin-bottom:30px}.requirements .mono{color:var(--accent-text)}.requirements p{margin:6px 0 0;color:var(--text2);font-size:15px}.steps{list-style:none;margin:0;padding:0}.steps li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:18px 0;border-top:1px solid var(--hair)}.steps li:first-child{border-top:0;padding-top:0}.step-no{color:var(--accent-text);padding-top:4px}.step-body h3{margin:0 0 6px;font-size:18px;font-weight:700;font-stretch:108%}.step-body p{margin:0 0 10px;color:var(--text2);font-size:15px}.step-body p a,.note a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}.code{position:relative}.code pre{margin:0;background:var(--code);border:1px solid var(--hair);padding:12px 84px 12px 14px;overflow-x:auto}.code pre code{background:0 0;padding:0;font-size:14px;color:var(--ink)}.copy{position:absolute;top:7px;right:7px;border:1px solid var(--hair);background:var(--bg);color:var(--text2);padding:4px 8px;cursor:pointer;font-size:11px}.copy:hover{color:var(--ink);border-color:var(--ink)}.qs-aside{display:grid;gap:16px}.note{border:1px solid var(--hair);background:var(--paper);padding:18px 20px}.note h3{margin:0 0 6px;font-size:16px;font-weight:700}.note p{margin:0;color:var(--text2);font-size:15px}.hero-shot a{display:block;cursor:zoom-in}.screens a{cursor:zoom-in}.lightbox{position:fixed;inset:0;z-index:50;background:rgba(20,24,26,.97);display:flex;align-items:center;justify-content:center;gap:16px;padding:24px}.lightbox[hidden]{display:none}.lightbox figure{margin:0;max-width:min(1280px,100%);max-height:100%;display:flex;flex-direction:column;align-items:center;min-width:0}.lightbox img{display:block;max-width:100%;max-height:calc(100vh - 110px);width:auto;height:auto;border:1px solid #444c4f;box-shadow:0 20px 50px rgba(0,0,0,.5)}.lightbox figcaption{color:#dddad8;margin-top:12px;text-align:center}.lightbox .lb-btn{color:#dddad8;border-color:#5d6669;background:rgba(42,48,50,.8);flex:none;font-size:18px}.lightbox .lb-btn:hover{background:#dddad8;color:#2a3032;border-color:#dddad8}.lightbox .lb-close{position:absolute;top:16px;right:16px;font-size:14px}body.lb-open{overflow:hidden}@media(max-width:860px){.lightbox{padding:64px 8px 16px;gap:4px}.lightbox .lb-prev,.lightbox .lb-next{position:absolute;bottom:16px}.lightbox .lb-prev{left:16px}.lightbox .lb-next{right:16px}}.page{max-width:760px;padding:64px 0 96px}.page h1{font-size:clamp(28px,3.4vw,42px);line-height:1.12;margin:0 0 28px}.page p{color:var(--text2)}.page a{color:var(--accent-text);text-decoration:underline;text-underline-offset:3px}footer{border-top:1px solid var(--hair);padding:26px 0 40px;color:var(--text2)}footer .wrap{display:flex;gap:22px;flex-wrap:wrap;align-items:center}footer .right{margin-left:auto;display:flex;gap:22px}footer a:hover{color:var(--ink)}@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rv{animation:rise .6s cubic-bezier(.2,.7,.2,1)both}.d1{animation-delay:.05s}.d2{animation-delay:.15s}.d3{animation-delay:.25s}.d4{animation-delay:.35s}.d5{animation-delay:.45s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{animation:none}.screens img{transition:none}}@media(max-width:960px){.hero{grid-template-columns:1fr;gap:36px;padding:44px 0 56px}.quickstart{grid-template-columns:1fr}.screens{grid-template-columns:1fr}}@media(max-width:860px){nav .hide-sm{display:none}header .wrap{gap:10px}nav{gap:8px}}