/* developer.winloom.ai — house style v1.4 tokens, same as /site.css on winloom.ai.
   Fonts are self-hosted copies so no visitor IP goes to a third party. */
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/brand/fonts/schibsted-grotesk-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Schibsted Grotesk';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/brand/fonts/schibsted-grotesk-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
:root{
  --ink:#0A0A0A; --surface:#141413; --paper:#F7F7F5; --slate:#5E5E5B;
  --accent:#FF5A2E; --deep:#C93A12;
  --q07:#1B1B1A; --q13:#292929; --q20:#393939; --q40:#696968; --q60:#989897; --q80:#C8C8C6;
  --font:"Schibsted Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --content:1200px; --margin:clamp(20px,5vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--ink);color:var(--paper);font-family:var(--font);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:var(--content);margin:0 auto;padding:0 var(--margin)}
.eyebrow{font-size:11px;letter-spacing:1.9px;text-transform:uppercase;font-weight:700;color:var(--q60)}
.eyebrow b{color:var(--accent)}

.top{position:sticky;top:0;z-index:10;background:rgba(10,10,10,.93);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--q13)}
.top .wrap{display:flex;align-items:center;gap:16px;height:68px}
.top .lockup{height:26px;width:auto;display:block}
.top .tag{font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:var(--q60);border-left:1px solid var(--q20);padding-left:16px}
.top .signin{margin-left:auto;color:var(--paper);font-size:14px;font-weight:600;border:1px solid var(--q20);border-radius:999px;padding:7px 16px}
.top .signin:hover{border-color:var(--accent);text-decoration:none}

.layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:56px;padding-top:48px;padding-bottom:80px}
.toc{position:sticky;top:100px;align-self:start;font-size:14px}
.toc .eyebrow{margin:24px 0 8px}
.toc .eyebrow:first-child{margin-top:0}
.toc ol{list-style:none}
.toc li a{display:flex;align-items:center;gap:8px;color:var(--q80);padding:4px 0}
.toc li a:hover{color:var(--paper);text-decoration:none}

main{max-width:780px}
section{padding:40px 0;border-bottom:1px solid var(--q13)}
section:first-child{padding-top:0}
h1{font-size:clamp(36px,5vw,52px);line-height:1.08;letter-spacing:-.02em;font-weight:700;margin:10px 0 16px}
h2{font-size:24px;letter-spacing:-.01em;font-weight:700;margin-bottom:14px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
p{color:var(--q80);margin:0 0 14px}
p strong{color:var(--paper)}
.lead{font-size:19px;color:var(--paper);max-width:640px}
code{font-family:var(--mono);font-size:.88em;background:var(--q07);border:1px solid var(--q13);border-radius:4px;padding:1px 5px;color:var(--paper)}
pre{background:var(--surface);border:1px solid var(--q13);border-radius:8px;padding:16px 18px;overflow-x:auto;margin:0 0 14px;line-height:1.5}
pre code{background:none;border:0;padding:0;font-size:13.5px}
pre.resp{border-left:3px solid var(--q40)}

.facts{display:grid;grid-template-columns:140px 1fr;gap:10px 20px;margin:24px 0;padding:20px;background:var(--surface);border:1px solid var(--q13);border-radius:8px}
.facts dt{color:var(--q60);font-size:14px}
.facts dd{color:var(--paper);font-size:15px}

table{width:100%;border-collapse:collapse;margin:6px 0 16px;font-size:14.5px}
th{text-align:left;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--q60);font-weight:700;padding:8px 10px;border-bottom:1px solid var(--q20)}
td{padding:9px 10px;border-bottom:1px solid var(--q13);color:var(--q80);vertical-align:top}
td:first-child{white-space:nowrap;color:var(--paper)}

.m{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.5px;padding:2px 6px;border-radius:4px;line-height:1.4}
h2 .m{font-size:13px;padding:3px 8px}
.m.get{background:rgba(247,247,245,.08);color:var(--paper)}
.m.post{background:rgba(255,90,46,.14);color:var(--accent)}
.scope{font-size:13px;color:var(--q60)}

footer{padding-top:40px}
footer p{font-size:14px}

@media (max-width:860px){
  .layout{grid-template-columns:minmax(0,1fr);gap:24px}
  .toc{position:static;border-bottom:1px solid var(--q13);padding-bottom:20px}
  .facts{grid-template-columns:1fr}
  .top .tag{display:none}
  table{display:block;overflow-x:auto}
  td:first-child{white-space:normal}
  p code,td code{overflow-wrap:anywhere}
}
