@import url("https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;500;700&display=swap");:root{--bg:#050607;--bg-2:#080a0b;--surface:#0b0d0f;--surface-2:#101315;--hairline:rgba(200,220,235,0.08);--hairline-2:rgba(200,220,235,0.16);--hairline-3:rgba(200,220,235,0.28);--ink:#e9edf0;--ink-2:#c2cbd1;--muted:#858f96;--muted-2:#5a646b;--mint:#3ddc97;--mint-soft:rgba(61,220,151,0.10);--mint-line:rgba(61,220,151,0.34);--rose:#ff6b9d;--r-1:4px;--r-2:8px;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--pad-1:16px;--pad-2:24px;--pad-3:48px;--pad-4:96px;--grid-w:1080px;--grid-narrow:720px}*{box-sizing:border-box}html{height:100%;scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","cv11";overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit}img{max-width:100%}:focus{outline:none}:focus-visible{outline:1px solid var(--mint);outline-offset:3px;border-radius:2px}::selection{background:var(--mint-soft);color:var(--ink)}.skip-link{position:absolute;left:-9999px;top:0;z-index:200;padding:10px 14px;background:var(--surface);border:1px solid var(--mint-line);color:var(--ink);font-size:13px}.skip-link:focus{left:12px;top:12px}.app-root{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:var(--grid-w);margin:0 auto;padding:0 var(--pad-3)}.container.narrow{max-width:var(--grid-narrow)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgba(5,6,7,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline)}.nav-row{display:flex;height:64px;gap:var(--pad-2)}.brand,.nav-row{align-items:center}.brand{display:inline-flex;gap:10px;font-weight:500;font-size:14px;letter-spacing:.02em;color:var(--ink)}.brand img{display:block;width:20px;height:20px}.nav-links{display:flex;align-items:center;gap:2px;margin-left:auto}.nav-link{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;background:transparent;border:0;color:var(--muted);font-size:13px;cursor:pointer;transition:color .15s}.nav-link.active,.nav-link:hover{color:var(--ink)}.nav-link .dot{width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:4px}.nav-quiet{margin-left:8px;padding:6px 8px;background:transparent;border:0;color:var(--muted);font-size:12px;letter-spacing:.06em;cursor:pointer;transition:color .15s}.nav-quiet:hover{color:var(--ink)}.kbd{font-size:10.5px;padding:1px 5px;border:1px solid var(--hairline-2);border-radius:3px;color:var(--muted)}.nav-burger{display:none;margin-left:auto;width:36px;height:36px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--hairline-2);border-radius:var(--r-1);color:var(--ink);cursor:pointer}.nav-mobile{display:none;border-bottom:1px solid var(--hairline);background:var(--bg-2);padding:8px var(--pad-3) 18px}.nav-mobile.open{display:block}.nav-mobile .nav-link,.nav-mobile .nav-quiet{display:flex;width:100%;justify-content:flex-start;padding:12px 4px;font-size:15px;border-bottom:1px solid var(--hairline)}.nav-mobile .nav-link:last-of-type{border-bottom:0}.h-hero{font-size:clamp(40px,7.4vw,92px);line-height:1.02;letter-spacing:-.045em}.h-hero,.h-page{font-weight:300;color:var(--ink);margin:0}.h-page{font-size:clamp(30px,4vw,46px);line-height:1.08;letter-spacing:-.035em}.h-item{font-weight:400;font-size:16px;line-height:1.4;letter-spacing:-.01em;color:var(--ink);margin:0}.body{color:var(--ink-2);font-size:15px;line-height:1.75;max-width:62ch}.body-sm{font-size:12.5px;line-height:1.6}.body-sm,.meta{color:var(--muted)}.meta{font-size:12px;letter-spacing:.04em}.dim{color:var(--muted)}.mint{color:var(--mint)}.rose{color:var(--rose)}.col,.row{display:flex}.col{flex-direction:column}.gap-1{gap:8px}.gap-2{gap:14px}.gap-3{gap:24px}.gap-4{gap:40px}.center{align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.baseline{align-items:baseline}.section{padding-bottom:var(--pad-3)}.rule{border:0;border-top:1px solid var(--hairline);margin:0}.page-head{padding-top:var(--pad-3);padding-bottom:var(--pad-2)}.page-head .h-page{margin-bottom:18px}.index{border-top:1px solid var(--hairline)}.entry{display:grid;grid-template-columns:24px 1fr auto;align-items:baseline;grid-column-gap:var(--pad-2);column-gap:var(--pad-2);width:100%;padding:18px 4px;background:transparent;border:0;border-bottom:1px solid var(--hairline);color:inherit;text-align:left;cursor:pointer;transition:background .15s,color .15s}.entry:hover{background:rgba(255,255,255,.018)}.entry:hover .entry-glyph{color:var(--mint);transform:translateX(2px)}.entry:hover .entry-title{color:#fff}.entry-glyph{color:var(--muted-2);font-size:13px;transition:color .15s,transform .15s}.entry-title{font-weight:400;font-size:16px;line-height:1.45;color:var(--ink);letter-spacing:-.01em;transition:color .15s}.entry-sub{display:block;margin-top:4px;letter-spacing:.02em}.entry-meta,.entry-sub{color:var(--muted);font-size:12px}.entry-meta{white-space:nowrap;padding-left:var(--pad-2)}.entry:hover .entry-meta{color:var(--ink-2)}.grid-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:1px;gap:1px;background:var(--hairline);border:1px solid var(--hairline)}.tile{display:block;width:100%;text-align:left;background:var(--bg);border:0;padding:0;color:inherit;cursor:pointer;transition:background .15s}.tile:hover{background:var(--surface)}.tile .tile-hit{border-radius:0}.mark{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--surface)}.mark img{width:100%;height:100%;object-fit:cover;display:block}.mark-glyph{position:absolute;inset:0;display:grid;place-items:center;font-size:clamp(48px,9vw,84px);font-weight:300;letter-spacing:-.04em;color:var(--ink);opacity:.16;transition:opacity .3s ease,letter-spacing .4s ease}.tile:hover .mark-glyph{opacity:.42;letter-spacing:-.01em}.mark-hair{position:absolute;inset:0;background:linear-gradient(var(--hairline) 1px,transparent 1px) 0 0 /100% 33.33%,linear-gradient(90deg,var(--hairline) 1px,transparent 1px) 0 0 /33.33% 100%;pointer-events:none}.tile-body{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:14px 16px 16px}.tile-name{color:var(--ink);font-size:13.5px}.tile-note{color:var(--muted);font-size:12px}.product{display:flex;flex-direction:column}.product .btn{margin:0 16px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;min-height:42px;border-radius:var(--r-1);font-family:var(--mono);font-size:13px;font-weight:400;cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s,color .15s}.btn-primary{background:var(--ink);color:#06080a;border-color:var(--ink)}.btn-primary:hover{background:#fff;border-color:#fff}.btn-primary:disabled{opacity:.45;cursor:default}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--hairline-2)}.btn-ghost:hover{border-color:var(--hairline-3);background:rgba(255,255,255,.02)}.btn-quiet{background:transparent;color:var(--muted);border-color:transparent;padding:8px 4px;min-height:0}.btn-quiet:hover{color:var(--ink)}.link-quiet{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2);font-size:13px;background:none;border:0;padding:2px 0;cursor:pointer;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.link-quiet:hover{color:var(--ink);border-bottom-color:var(--mint-line)}.filters{display:flex;align-items:center;gap:18px;flex-wrap:wrap;padding:14px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);margin-bottom:var(--pad-2)}.filter{background:transparent;border:0;padding:4px 0;color:var(--muted);font-size:13px;cursor:pointer;transition:color .15s}.filter:hover{color:var(--ink-2)}.filter[aria-pressed=true]{color:var(--ink)}.filter[aria-pressed=true] .filter-n{color:var(--mint)}.filter-n{color:var(--muted-2);font-size:11px;margin-left:5px}.filters .spacer{flex:1 1}.filter-group{display:inline-flex;gap:14px;align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.aside{display:flex;flex-direction:column;gap:28px;padding-top:4px}.aside-head{color:var(--muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.aside-list{display:flex;flex-direction:column;gap:6px}.aside-list a,.aside-list span{color:var(--ink-2);font-size:13px}.aside-list a:hover{color:var(--mint)}.overlay{position:fixed;inset:0;z-index:100;background:rgba(3,4,5,.78);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);overflow-y:auto;padding:5vh 16px 8vh;animation:fadeIn .18s ease both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.overlay-panel{width:min(760px,100%);margin:0 auto;background:var(--bg);border:1px solid var(--hairline-2);border-radius:var(--r-2);animation:rise .2s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.overlay-bar{position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:14px;padding:12px 20px;background:rgba(5,6,7,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--hairline)}.overlay-close{margin-left:auto;background:transparent;border:1px solid var(--hairline-2);border-radius:var(--r-1);color:var(--ink-2);font-size:12px;padding:6px 12px;cursor:pointer;transition:color .15s,border-color .15s}.overlay-close:hover{color:var(--ink);border-color:var(--hairline-3)}.overlay-body{padding:32px 40px 44px}.overlay-title{font-weight:300;font-size:clamp(24px,3.4vw,36px);line-height:1.14;letter-spacing:-.03em;color:var(--ink);margin:0}.overlay-foot{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:36px;padding-top:18px;border-top:1px solid var(--hairline)}.prose{color:var(--ink-2);font-size:15.5px;line-height:1.8}.prose h2{color:var(--ink);font-weight:500;font-size:20px;line-height:1.35;letter-spacing:-.01em;margin:2em 0 .6em}.prose h2:first-child{margin-top:.4em}.prose h3{color:var(--ink);font-weight:500;font-size:16px;margin:1.8em 0 .5em}.prose p{margin:0 0 1.1em}.prose ul{margin:0 0 1.2em;padding-left:1.2em}.prose li{margin:.35em 0}.prose li::marker{color:var(--muted-2)}.prose strong{color:var(--ink);font-weight:700}.prose em{font-style:italic}.prose a{color:var(--mint);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.prose a:hover{color:#6ff0b7}.prose code{font-family:var(--mono);font-size:.88em;color:var(--ink);background:var(--surface-2);padding:.12em .4em;border-radius:3px}.prose pre{overflow-x:auto;padding:16px;border:1px solid var(--hairline);border-radius:var(--r-1);background:var(--bg-2);margin:0 0 1.4em}.prose pre code{background:none;padding:0;color:var(--ink-2)}.prose hr{border:0;border-top:1px solid var(--hairline);margin:2em 0}.field{width:100%;font-family:var(--mono);font-size:14px;padding:12px 0;border:0;border-bottom:1px solid var(--hairline-2);border-radius:0;background:transparent;color:var(--ink);transition:border-color .15s}.field::placeholder{color:var(--muted-2)}.field:hover{border-bottom-color:var(--hairline-3)}.field:focus{outline:none;border-bottom-color:var(--mint)}.field:focus-visible{outline:none}textarea.field{resize:vertical;min-height:44px}.field-label{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.form{display:flex;flex-direction:column;gap:18px;max-width:460px}.form-row{display:flex;gap:14px;flex-wrap:wrap}.form-row>.field{flex:1 1 180px}.status{font-size:13px;color:var(--mint)}.status.err{color:var(--rose)}.opt{background:transparent;border:1px solid var(--hairline-2);border-radius:var(--r-1);color:var(--ink-2);font-size:12.5px;padding:7px 14px;min-height:34px;cursor:pointer;transition:color .15s,border-color .15s}.opt:hover{color:var(--ink);border-color:var(--hairline-3)}.opt[aria-pressed=true]{color:var(--ink);border-color:var(--mint-line);background:var(--mint-soft)}.swatch{width:28px;height:28px;border-radius:50%;border:1px solid var(--hairline-3);cursor:pointer;padding:0}.swatch[aria-pressed=true]{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--mint)}.stepper{display:inline-flex;align-items:center;border:1px solid var(--hairline-2);border-radius:var(--r-1)}.stepper button{width:36px;height:36px;background:transparent;border:0;color:var(--ink-2);font-size:16px;cursor:pointer}.stepper button:hover,.stepper span{color:var(--ink)}.stepper span{min-width:36px;text-align:center;font-size:14px}.cmdk-backdrop{position:fixed;inset:0;z-index:120;background:rgba(3,4,5,.8);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:grid;place-items:start center;padding:12vh 16px 0;animation:fadeIn .15s ease both}.cmdk{width:min(520px,100%);background:var(--bg-2);border:1px solid var(--hairline-2);border-radius:var(--r-2);overflow:hidden}.cmdk-input{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline);color:var(--muted)}.cmdk-input input{flex:1 1;background:transparent;border:0;outline:none;color:var(--ink);font-family:var(--mono);font-size:14px}.cmdk-input input::placeholder{color:var(--muted-2)}.cmdk-list{max-height:46vh;overflow:auto;padding:6px}.cmdk-row{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:var(--r-1);cursor:pointer;font-size:13px;color:var(--ink-2)}.cmdk-row.active{background:rgba(255,255,255,.045);color:var(--ink)}.cmdk-row .ico{width:18px;color:var(--muted-2);text-align:center;font-size:12px}.cmdk-row .badge{margin-left:auto;color:var(--muted-2);font-size:11px}.cmdk-empty{padding:14px 10px;color:var(--muted);font-size:13px}.footer{margin-top:auto;border-top:1px solid var(--hairline);padding:var(--pad-3) 0 var(--pad-3)}.footer-row{align-items:baseline;justify-content:space-between;gap:20px}.footer-links,.footer-row{display:flex;flex-wrap:wrap}.footer-links{gap:18px}.footer-links a{color:var(--muted);font-size:12.5px;transition:color .15s}.footer-links a:hover{color:var(--ink)}.footer-note{color:var(--muted-2);font-size:11.5px}@media (max-width:880px){:root{--pad-3:24px;--pad-4:64px}.nav-desktop-only,.nav-links{display:none}.nav-burger{display:inline-flex}.nav-mobile .nav-quiet{border-bottom:0}.entry{grid-template-columns:20px 1fr;column-gap:14px}.entry-meta{grid-column:2;padding-left:0;margin-top:6px}.overlay-body{padding:24px 20px 36px}.overlay{padding:0}.overlay-panel{border:0;border-radius:0;min-height:100%}}@media (min-width:881px){.nav-mobile{display:none!important}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.tile:hover .mark-glyph{letter-spacing:-.04em}.entry:hover .entry-glyph{transform:none}}