:root{--bg:#ebeff2;--panel:#f8fafb;--ink:#15212b;--muted:#586774;--line:#cad3da;--accent:#0b6a70;--accent-ink:#fff;--accent-soft:#d5e8e9;--brass:#8f6417;--brass-soft:#f1e6cf;--c-dev:#3e63b8;--c-work:#7a4fb0;--c-browser:#c2582b;--c-search:#2e8a57;--c-data:#0b6a70;--c-cloud:#4b7fa6;--c-commerce:#a8792a;--c-automation:#b24470;--c-creative:#8c5a3c;--c-reference:#66737f;--f-display:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body:"Schibsted Grotesk", "Segoe UI", system-ui, sans-serif;--f-mono:"IBM Plex Mono", ui-monospace, Consolas, monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f151a;--panel:#161f26;--ink:#e2e8ed;--muted:#93a1ad;--line:#283541;--accent:#55b9bf;--accent-ink:#0b1b1c;--accent-soft:#163236;--brass:#d9aa55;--brass-soft:#2e2615;--c-dev:#7c9de6;--c-work:#b08fe0;--c-browser:#e88a5e;--c-search:#63c48c;--c-data:#55b9bf;--c-cloud:#85b2d4;--c-commerce:#d9aa55;--c-automation:#e27fa6;--c-creative:#c8997a;--c-reference:#9aa7b2;color-scheme:dark}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);margin:0;font-size:15px;line-height:1.5}img{max-width:100%}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}[hidden]{display:none!important}.mono{font-family:var(--f-mono)}.wrap{max-width:1180px;margin:0 auto;padding:28px 20px 64px}.muted{color:var(--muted)}.sitebar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-bottom:18px;display:flex}.logo{font-family:var(--f-display);color:var(--ink);letter-spacing:-.01em;align-items:center;gap:8px;font-size:22px;font-weight:800;text-decoration:none;display:inline-flex}.logo svg{width:20px;height:20px}.sitebar nav{flex-wrap:wrap;gap:18px;font-size:14px;display:flex}.sitebar nav a{color:var(--muted);text-decoration:none}.sitebar nav a:hover,.sitebar nav a[aria-current=page]{color:var(--ink)}header.top{border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 32px;padding:18px 0 22px;display:flex}header.top h1{font-family:var(--f-display);letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(32px,6vw,50px);font-weight:800;line-height:1.02}header.top p{color:var(--muted);text-wrap:balance;max-width:56ch;margin:10px 0 0}.crumbs{color:var(--muted);margin-bottom:10px;font-size:13px}.crumbs a{color:var(--muted)}.meters{flex-wrap:wrap;gap:22px;display:flex}.meter{gap:2px;display:grid}.meter b{font-family:var(--f-display);font-variant-numeric:tabular-nums;font-size:28px;font-weight:600;line-height:1}.meter span{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:11px}.btn{font:600 14px/1 var(--f-body);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:11px 16px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.small{padding:7px 11px;font-size:13px}.searchrow{flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0 18px;display:flex}.search{flex:320px;position:relative}.search input{width:100%;font:16px var(--f-body);border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;padding:13px 14px 13px 42px}.search svg{width:18px;height:18px;color:var(--muted);position:absolute;top:50%;left:14px;translate:0 -50%}select{font:14px var(--f-body);border:1px solid var(--line);background:var(--panel);color:var(--ink);border-radius:8px;padding:11px 12px}.layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:32px;display:grid}aside.rail{gap:24px;display:grid;position:sticky;top:16px}.rail h2{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 8px;font-size:11px;font-weight:600}.catlist{gap:2px;margin:0;padding:0;list-style:none;display:grid}.catlist a{color:var(--ink);border-radius:7px;align-items:center;gap:10px;padding:7px 10px;font-size:14px;text-decoration:none;display:flex}.catlist a:hover{background:var(--panel)}.catlist a[aria-current=page]{background:var(--accent-soft);font-weight:600}.catlist .n{font:12px var(--f-mono);color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto}.plug{background:var(--cc,var(--muted));width:9px;height:9px;box-shadow:0 0 0 2px var(--bg);border-radius:50%;flex:none}.seg{flex-wrap:wrap;gap:6px;display:flex}.seg button{font:13px var(--f-body);border:1px solid var(--line);background:var(--panel);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 10px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.toggle{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.nojs-hide{display:none}.resulthead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.resulthead h2{font-family:var(--f-display);margin:0;font-size:22px;font-weight:600}.resulthead .count{color:var(--muted);font-size:13px}.rack{border:1px solid var(--line);background:var(--panel);border-radius:12px;overflow:hidden}.row{border-top:1px solid var(--line);color:inherit;grid-template-columns:minmax(0,1fr) auto;gap:6px 20px;padding:16px 18px;text-decoration:none;display:grid}.row:first-child{border-top:0}.row:hover{background:color-mix(in srgb, var(--accent-soft) 45%, transparent)}.nameline{flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0;display:flex}.nameline h3{font-family:var(--f-display);margin:0;font-size:18px;font-weight:600}.by{color:var(--muted);font-size:13px}.stamp{font:500 10.5px var(--f-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--brass);background:var(--brass-soft);border-radius:4px;padding:2px 7px}.summary{opacity:.86;grid-column:1;max-width:72ch;margin:0}.meta{color:var(--muted);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px 16px;font-size:13px;display:flex}.cat{align-items:center;gap:7px;display:inline-flex}.ports{grid-area:1/2/span 2;align-items:start;gap:12px;display:flex}.port{font:500 10px var(--f-mono);letter-spacing:.06em;color:var(--muted);justify-items:center;gap:4px;display:grid}.jack{border:2px solid var(--line);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.jack:after{content:"";background:var(--line);border-radius:50%;width:8px;height:8px}.port.on{color:var(--ink)}.port.on .jack{border-color:var(--accent)}.port.on .jack:after{background:var(--accent)}.auth{font:12px var(--f-mono);border:1px solid var(--line);border-radius:999px;padding:2px 8px}.empty{text-align:center;color:var(--muted);padding:48px 24px}.empty strong{color:var(--ink);font-family:var(--f-display);margin-bottom:6px;font-size:18px;font-weight:600;display:block}.detail{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:32px;margin-top:28px;display:grid}.sheet{border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:22px 24px}.sheet h2{font-family:var(--f-display);margin:0 0 12px;font-size:20px;font-weight:600}.kv{grid-template-columns:max-content minmax(0,1fr);gap:10px 18px;margin:0;font-size:14px;display:grid}.kv dt{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding-top:2px;font-size:12px}.kv dd{overflow-wrap:anywhere;min-width:0;margin:0}.endpoint{flex-wrap:wrap;align-items:center;gap:8px;display:flex}code,pre{font-family:var(--f-mono);font-size:13px}.endpoint code{background:var(--bg);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:6px;padding:5px 9px}pre.snippet{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin:0;padding:14px;overflow-x:auto}.tags{flex-wrap:wrap;gap:6px;display:flex}.tag{font:12px var(--f-mono);color:var(--muted);background:var(--bg);border-radius:4px;padding:2px 8px}.stack{gap:20px;display:grid}.related{gap:8px;margin:0;padding:0;list-style:none;display:grid}.related a{color:var(--ink);align-items:center;gap:8px;text-decoration:none;display:flex}.related a:hover{color:var(--accent)}.prose{max-width:68ch}.prose h2{font-family:var(--f-display);margin:32px 0 8px;font-size:22px;font-weight:600}.prose li{margin-bottom:6px}form.form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.field{align-content:start;gap:6px;min-width:0;display:grid}.field.full{grid-column:1/-1}.field label,.field legend{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px;font-weight:600}.field .opt{text-transform:none;letter-spacing:0;font-weight:400}fieldset.field{border:0;margin:0;padding:0}.field input[type=text],.field input[type=url],.field textarea,.field select{width:100%;font:15px var(--f-body);border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;padding:10px 12px}.field textarea{resize:vertical;min-height:84px}.checks{flex-wrap:wrap;gap:16px;display:flex}.checks label{text-transform:none;letter-spacing:0;color:var(--ink);align-items:center;gap:6px;font-size:14px;font-weight:400;display:flex}.formfoot{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:14px;display:flex}.note{color:var(--muted);font-size:14px}.note.err{color:#b3392f}@media (prefers-color-scheme:dark){.note.err{color:#e57b70}}.dupe{background:var(--brass-soft);color:var(--ink);border-radius:8px;margin:-4px 0 0;padding:10px 12px;font-size:14px;display:block}.dupe.sure{background:var(--accent-soft)}.trap{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.btn:disabled{opacity:.6;cursor:progress}footer.site{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:48px;padding-top:18px;font-size:13px;display:flex}footer.site a{color:var(--muted)}@media (width<=820px){.layout,.detail,form.form{grid-template-columns:minmax(0,1fr);gap:18px}aside.rail{position:static}.catlist{gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.catlist a{white-space:nowrap;border:1px solid var(--line);background:var(--panel)}.catlist .n{margin-left:4px}.row{grid-template-columns:minmax(0,1fr)}.ports{grid-area:auto/1}}@media (prefers-reduced-motion:no-preference){.row,.btn,.catlist a{transition:background-color .15s,border-color .15s}}
