:root{--bg:#EEF1F6;--panel:#FFFFFF;--line:#D5DCE7;--text:#101623;--dim:#4E596E;--faint:#8792A6;--amber:#A6520A;
--display:"Archivo",system-ui,sans-serif;--body:"IBM Plex Sans",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,monospace}
@media (prefers-color-scheme:dark){:root{--bg:#0A0D13;--panel:#0E131C;--line:#1F2733;--text:#E7ECF4;--dim:#93A0B5;--faint:#5F6B82;--amber:#FF9D45}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:17px/1.62 var(--body);-webkit-font-smoothing:antialiased}
.wrap{max-width:760px;margin:0 auto;padding-inline:20px}
header{border-bottom:1px solid var(--line);background:var(--panel)}
header .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-block:16px}
.brand{display:flex;align-items:center;gap:9px;font:800 17px var(--display);letter-spacing:.04em;color:var(--text);text-decoration:none}
.brand .sq{width:9px;height:9px;background:var(--amber)}
.brand span{color:var(--faint);font-weight:600}
nav{display:flex;gap:18px}
nav a{color:var(--dim);text-decoration:none;font:500 13px var(--mono);letter-spacing:.12em;text-transform:uppercase}
nav a[aria-current]{color:var(--amber)}
main{padding-block:40px 56px}
.tag{font:500 12px var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin:0 0 8px}
h1{font:900 clamp(30px,6vw,44px)/1.05 var(--display);margin:0 0 10px}
h2{font:800 20px/1.2 var(--display);margin:34px 0 8px}
.meta{color:var(--faint);font-size:14px;margin:0 0 28px}
a{color:var(--amber)}
ul{padding-left:22px}
.callout{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--amber);padding:16px 18px;margin:24px 0}
.kw{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:22px 0}
.kw div{background:var(--panel);border:1px solid var(--line);padding:12px 14px}
.kw b{display:block;font:600 18px var(--mono);color:var(--amber)}
.kw span{color:var(--dim);font-size:14px}
footer{border-top:1px solid var(--line);color:var(--faint);font-size:14px}
footer .wrap{padding-block:20px}
