@font-face{font-family:"Chakra Petch";font-style:normal;font-weight:700;font-display:swap;src:url("../assets/fonts/chakrapetch-700.woff2") format("woff2")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url("../assets/fonts/jetbrainsmono-var.woff2") format("woff2")}
:root{--bg:#03050a;--panel:#070d15;--panel-2:#0a121e;--line:#17222f;--line-2:#24344a;--ink:#ecf3fb;--ink-2:#b9c9db;--ink-dim:#8aa0b8;--ink-faint:#4d6178;--hot:#39ffa0;--hot-dim:#1d8f5b;--amber:#ffb454;--risk:#ff2d95;--cyan:#22d3ee;--display:"Chakra Petch",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:var(--mono);font-size:16px;line-height:1.7;-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:radial-gradient(900px 500px at -10% -10%,rgba(10,60,36,.55),transparent 60%),var(--bg)}
a{color:var(--cyan);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line-2)}
a:hover{color:var(--hot)}
.top{display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line);max-width:1040px;margin:0 auto}
.top .mark{font-family:var(--display);font-size:15px;letter-spacing:.22em;color:var(--ink);text-decoration:none}
.top .mark span{color:var(--hot)}
.top .crumb{font-size:12px;letter-spacing:.18em;color:var(--ink-faint);text-transform:uppercase}
.top .spacer{flex:1}
.top .chip{font-size:11px;letter-spacing:.18em;color:var(--hot);border:1px solid var(--hot-dim);padding:4px 9px;border-radius:5px;text-decoration:none}
main{max-width:760px;margin:0 auto;padding:44px 24px 80px}
.kicker{font-size:12px;letter-spacing:.3em;color:var(--hot);text-transform:uppercase}
h1{font-family:var(--display);font-size:clamp(34px,5.4vw,52px);line-height:1.02;margin:12px 0 14px;letter-spacing:-.01em}
.lede{font-size:18px;line-height:1.6;color:var(--ink-2);margin:0 0 30px;max-width:64ch}
h2{font-family:var(--display);font-size:24px;line-height:1.15;margin:44px 0 12px;padding-top:22px;border-top:1px solid var(--line)}
h3{font-family:var(--display);font-size:18px;margin:26px 0 8px;color:var(--ink)}
p{margin:0 0 16px;color:var(--ink-2);max-width:66ch}
ol,ul{margin:0 0 18px;padding-left:22px;color:var(--ink-2);max-width:66ch}
li{margin:0 0 10px}
li::marker{color:var(--hot)}
b,strong{color:var(--ink);font-weight:600}
code{font-family:var(--mono);font-size:.92em;color:var(--ink);background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:1px 6px;white-space:nowrap}
pre{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--hot);border-radius:8px;padding:14px 16px;overflow:auto;color:var(--ink);font-size:14.5px;line-height:1.6;margin:0 0 18px}
pre code{background:none;border:0;padding:0;white-space:pre}
.note{border-left:3px solid var(--amber);padding:10px 16px;background:rgba(255,180,84,.06);margin:0 0 18px;max-width:66ch}
.note p{margin:0;color:var(--ink-2)}
.gap{border-left:3px solid var(--risk);padding:10px 16px;background:rgba(255,45,149,.05);margin:0 0 18px;max-width:66ch}
.gap p{margin:0}
table{border-collapse:collapse;width:100%;margin:0 0 20px;font-size:14.5px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--ink-2)}
th{color:var(--ink-faint);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase}
td b{color:var(--ink)}
.cta{display:inline-block;margin:6px 10px 18px 0;padding:10px 16px;border:1px solid var(--hot-dim);border-radius:7px;color:var(--hot);text-decoration:none;font-family:var(--display);font-size:13px;letter-spacing:.16em}
.cta:hover{border-color:var(--hot);background:rgba(57,255,160,.06)}
.list{list-style:none;padding:0;margin:26px 0 0;max-width:none}
.list li{margin:0;padding:20px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start}
.list li:last-child{border-bottom:1px solid var(--line)}
.list .n{font-family:var(--display);color:var(--hot);font-size:14px;letter-spacing:.14em;padding-top:5px}
.list a.t{font-family:var(--display);font-size:22px;color:var(--ink);text-decoration:none;line-height:1.15}
.list a.t:hover{color:var(--hot)}
.list p{margin:6px 0 0;font-size:14.5px;color:var(--ink-dim)}
.meta{font-size:12px;color:var(--ink-faint);letter-spacing:.12em;margin:0 0 8px;text-transform:uppercase}
.next{margin-top:56px;padding-top:22px;border-top:1px solid var(--line);font-size:14.5px;color:var(--ink-dim)}
.next a{font-family:var(--display);color:var(--ink);font-size:18px;text-decoration:none;display:block;margin-top:6px}
.next a:hover{color:var(--hot)}
footer{max-width:1040px;margin:0 auto;padding:18px 24px 40px;border-top:1px solid var(--line);display:flex;gap:18px;font-size:12px;letter-spacing:.16em;color:var(--ink-faint)}
footer b{color:var(--ink)}
footer a{color:var(--ink-dim);text-decoration:none}
footer .spacer{flex:1}
@media (max-width:640px){.top{padding:14px 16px}.top .crumb{display:none}main{padding:32px 16px 60px}footer{padding:16px 16px 32px;flex-wrap:wrap}.list li{grid-template-columns:34px 1fr}}
