/* The developer docs page (/developers/; developers/dv-site.mjs). Self-contained like the Devblog's db.css and the
   Collectibles page's cl.css: the game's dark starfield, the mark's forged gold as the accent, readable code blocks.
   Sections: 1 tokens and page · 2 sky · 3 top bar · 4 hero · 5 sections, tables, code · 6 footer · 7 phones ·
   8 reduced motion and forced colours. */

/* ================================================================== 1 tokens and page */
@font-face{font-family:Rajdhani;src:url('/v/c1803d75cddd/fonts/Rajdhani-Bold.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:Barlow;src:url('/v/c1803d75cddd/fonts/Barlow-Regular.ttf') format('truetype');font-weight:100 500;font-display:swap}
@font-face{font-family:Barlow;src:url('/v/c1803d75cddd/fonts/Barlow-SemiBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
:root{
 --gold:#ffc65a;--gold-hot:#fff1c4;--gold-deep:#ff8a12;--cyan:#6be2ef;--ink:#eef3f8;--ink-2:#c8d3dc;--muted:#a3b3c0;--line:#ffffff1c;
 --panel:linear-gradient(180deg,#121a26f2,#0a1018f5);--cut-s:9px;
 --display:Rajdhani,Bahnschrift,'DIN Alternate','Segoe UI',sans-serif;--ui:Barlow,Inter,'Segoe UI',system-ui,sans-serif;
 --mono:ui-monospace,'Cascadia Mono',Consolas,'SFMono-Regular',Menlo,monospace;--max:980px;color-scheme:dark
}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:border-box}
body.dv{margin:0;min-height:100vh;color:var(--ink);font:16px/1.6 var(--ui);overflow-x:hidden;overflow-wrap:break-word;background:#04070c}
body.dv a{color:var(--gold)}
body.dv a:hover{color:#fff}
.dv-skip{position:absolute;left:12px;top:-60px;z-index:100;padding:10px 14px;background:#000;color:#fff!important}
.dv-skip:focus{top:10px}
h1,h2,h3{font-family:var(--display);font-weight:700;letter-spacing:.04em;line-height:1.1;margin:0 0 12px}
h1{font-size:clamp(34px,6vw,56px)}
h2{font-size:clamp(26px,3.4vw,34px);padding-top:6px}
h3{font-size:20px;margin-top:26px;color:var(--ink-2);letter-spacing:.08em;text-transform:uppercase}
code{font:14px/1.5 var(--mono);color:var(--gold-hot);background:#ffffff0d;padding:1px 5px;border-radius:3px;overflow-wrap:anywhere}

/* ================================================================== 2 sky: a drifting starfield over the deep-space wash */
.dv-sky{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;
 background:radial-gradient(60% 40% at 82% 4%,#ffb52e12,#0000 70%),radial-gradient(55% 45% at 4% 42%,#8b2cf020,#0000 70%),radial-gradient(60% 50% at 100% 100%,#1d2f4a70,#0000 70%),#04070c}
.dv-sky i{position:absolute;inset:-50%;display:block}
.dv-sky .dv-stars.far{background-image:radial-gradient(1px 1px at 20px 30px,#fff9,transparent),radial-gradient(1px 1px at 140px 90px,#cfe3ff88,transparent),radial-gradient(1px 1px at 260px 190px,#fff7,transparent),radial-gradient(1px 1px at 90px 240px,#ffe9c488,transparent),radial-gradient(1px 1px at 330px 60px,#fff6,transparent);background-size:360px 300px;opacity:.9;animation:dv-drift 240s linear infinite}
.dv-sky .dv-stars.near{background-image:radial-gradient(1.5px 1.5px at 60px 120px,#fff,transparent),radial-gradient(1.5px 1.5px at 420px 320px,#d7e8ff,transparent),radial-gradient(2px 2px at 250px 460px,#fff4dd,transparent);background-size:520px 540px;opacity:.75;animation:dv-drift 150s linear infinite reverse}
.dv-sky .dv-glow{inset:0;background:radial-gradient(ellipse 45% 35% at 80% 12%,#ffb52e14,transparent 70%),radial-gradient(ellipse 40% 32% at 8% 55%,#6be2ef12,transparent 70%)}
@keyframes dv-drift{to{transform:translate3d(180px,90px,0)}}

/* ================================================================== 3 top bar */
.dv-top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:linear-gradient(180deg,#04070cf2,#04070cc8);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.dv-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)!important;min-width:0}
.dv-brand b{display:block;font:700 18px/1 var(--display);letter-spacing:.2em}
.dv-brand small{display:block;font:700 11px/1.3 var(--display);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.dv-brand .uw-mark{display:block}
.dv-nav{display:flex;align-items:center;gap:16px}
.dv-nav a:not(.dv-cta){color:var(--ink-2);text-decoration:none;font:700 13px/1 var(--display);letter-spacing:.16em;text-transform:uppercase}
.dv-nav a:not(.dv-cta):hover{color:#fff}
body.dv .dv-cta{display:inline-flex;align-items:center;min-height:36px;padding:0 16px;font:700 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;color:#1a0f00;
 background:linear-gradient(180deg,var(--gold-hot),var(--gold) 50%,var(--gold-deep));box-shadow:0 0 22px #ffb52e44;
 clip-path:polygon(var(--cut-s) 0,100% 0,100% calc(100% - var(--cut-s)),calc(100% - var(--cut-s)) 100%,0 100%,0 var(--cut-s))}
body.dv .dv-cta:hover,body.dv .dv-cta:focus-visible{filter:brightness(1.1);color:#000}

/* ================================================================== 4 hero */
.dv-main{max-width:var(--max);margin:0 auto;padding:0 16px}
.dv-hero{padding:56px 0 10px}
.dv-overline{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px;font:700 12px/1.3 var(--display);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.dv-flag{display:inline-flex;align-items:center;height:22px;padding:0 9px;color:#1a0f00;background:linear-gradient(180deg,var(--gold-hot),var(--gold) 55%,var(--gold-deep));clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}
.dv-lead{max-width:680px;font-size:18px;color:var(--ink-2);margin:0 0 18px}
.dv-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.dv-chips li{display:inline-flex;align-items:center;height:30px;padding:0 12px;font:700 13px/1 var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
 background:linear-gradient(180deg,#1a2230,#0c121b);box-shadow:inset 0 0 0 1px #ffffff2e;clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px)}

/* ================================================================== 5 sections, tables, code */
.dv-sec{padding:48px 0 4px}
.dv-sec p,.dv-list li{color:var(--ink-2)}
.dv-note{font-size:14px;color:var(--muted)!important}
.dv-ep{margin:0 0 12px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--gold)}
.dv-ep p{margin:0}
.dv-ep p+p{margin-top:6px;font-size:15px}
.dv-ep code{background:none;padding:0;font-size:15px;color:var(--ink)}
.dv-verb{display:inline-block;margin-right:10px;padding:1px 7px;font:700 12px/1.6 var(--mono);color:#04121a;background:var(--cyan);border-radius:3px;vertical-align:1px}
.dv-table{max-width:100%;overflow-x:auto;margin:0 0 10px;border:1px solid var(--line);background:#0a1018d9}
.dv-table table{width:100%;border-collapse:collapse;font-size:15px}
.dv-table th,.dv-table td{padding:9px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.dv-table th{font:700 12px/1.3 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--gold);background:#ffffff08}
.dv-table tr:last-child td{border-bottom:0}
.dv-table small{color:var(--muted)}
.dv-code{margin:0 0 16px;border:1px solid var(--line);background:#060a10f2}
.dv-code figcaption{padding:7px 12px;font:700 12px/1.3 var(--display);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);background:#ffffff06}
.dv-code pre{margin:0;padding:12px 14px;overflow-x:auto;max-height:560px}
.dv-code code{display:block;padding:0;background:none;color:#d6e6f2;font-size:13.5px;white-space:pre;overflow-wrap:normal}
.dv-fields{margin:0 0 10px;display:grid;gap:2px}
.dv-fields div{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px solid var(--line)}
.dv-fields dt{margin:0}
.dv-fields dd{margin:0;color:var(--ink-2)}
.dv-list{padding-left:20px}
.dv-list li{margin:0 0 10px}
.dv-list b{color:var(--ink)}

/* ================================================================== 6 footer */
.dv-foot{max-width:var(--max);margin:56px auto 0;padding:26px 16px 40px;border-top:1px solid var(--line);color:var(--muted);font-size:14px}
.dv-foot-brand{display:flex;align-items:center;gap:8px;color:var(--ink);margin:0 0 10px}
.dv-foot-brand b{font:700 15px/1 var(--display);letter-spacing:.2em}
.dv-foot .uw-mark{display:block}
.dv-foot-links{display:flex;flex-wrap:wrap;gap:6px 18px;list-style:none;padding:0;margin:12px 0}
.dv-fine{font-size:13px}

/* ================================================================== 7 phones */
@media (max-width:720px){
 .dv-nav a:not(.dv-cta){display:none}
 .dv-fields div{grid-template-columns:1fr;gap:2px}
 .dv-hero{padding-top:36px}
 .dv-lead{font-size:17px}
}

/* ================================================================== 8 reduced motion and forced colours */
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dv-sky i{animation:none!important}}
@media (forced-colors:active){.dv-sky{display:none}.dv-cta,.dv-flag,.dv-chips li,.dv-verb{forced-color-adjust:none}}
