:root{--bg:#0d1117;--panel:#131a23;--line:#232c38;--text:#e8edf3;--dim:#93a1b3;--copper:#ff9d4d;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans)}
header.site,footer.site{border-bottom:1px solid var(--line);padding:14px 20px;display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}
footer.site{border-top:1px solid var(--line);border-bottom:0;margin-top:48px;color:var(--dim);font-size:14px}
header.site a.brand{color:var(--copper);font-weight:700;text-decoration:none;margin-right:auto}
a{color:var(--copper)}
nav a{margin-right:16px;color:var(--text);text-decoration:none}
nav a:hover{color:var(--copper)}
main{max-width:760px;margin:0 auto;padding:32px 20px}
h1{font-size:2rem;margin:0 0 .5em}h2{margin-top:1.8em;font-size:1.3rem}
code{background:var(--panel);border:1px solid var(--line);padding:1px 6px;border-radius:4px}
.cta{display:inline-block;background:var(--copper);color:#111;padding:10px 18px;border-radius:8px;font-weight:600;text-decoration:none}
pre{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;overflow-x:auto;font-size:13.5px;line-height:1.5}
pre code{background:none;border:0;padding:0}
.toc{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 18px;columns:2;font-size:15px}
.toc a{display:block;text-decoration:none}
.part{border-top:1px solid var(--line);margin-top:28px;padding-top:6px}
.tag{display:inline-block;font-size:12px;color:var(--dim);border:1px solid var(--line);border-radius:99px;padding:0 10px;margin-right:6px}
table{border-collapse:collapse;width:100%;margin:12px 0;font-size:15px}td,th{border:1px solid var(--line);padding:6px 10px;text-align:left}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.cards a{display:block;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:14px;text-decoration:none;color:var(--text)}
.cards a b{color:var(--copper)}.cards a span{display:block;color:var(--dim);font-size:14px}
@media(max-width:560px){.toc{columns:1}}
/* readability upgrade */
body{font-size:18px;line-height:1.75}
header.site{position:sticky;top:0;background:rgba(13,17,23,.95);backdrop-filter:blur(6px);z-index:5}
main{max-width:740px}
h1{font-size:2.3rem;line-height:1.2;margin-bottom:.4em}
h2{font-size:1.5rem;margin:2.2em 0 .5em;padding-left:12px;border-left:4px solid var(--copper);scroll-margin-top:70px}
p,li{max-width:66ch}li{margin:.35em 0}
.toc{display:flex;flex-wrap:wrap;gap:8px;columns:auto;padding:14px;margin:18px 0}
.toc a{display:inline-block;background:#0d1117;border:1px solid var(--line);border-radius:99px;padding:2px 14px;font-size:15px}
.toc a:hover{border-color:var(--copper)}
.part{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:6px 22px 18px;margin-top:28px}
.part h2{border:0;padding:0;margin:.6em 0 .3em}
.part b{color:#ffd2a8}
.note,.try,.warn{border-radius:10px;padding:12px 16px;margin:18px 0;border:1px solid;font-size:17px}
.note{background:#12233a;border-color:#2b5a91}.try{background:#10261f;border-color:#2a7a5f}.warn{background:#2c1d10;border-color:#a8641f}
.note::before{content:"💡 Idea: ";font-weight:700}.try::before{content:"🔧 Try it: ";font-weight:700}.warn::before{content:"⚠️ Careful: ";font-weight:700}
.big{font-size:1.15rem;color:var(--dim)}
th{background:var(--panel)}

/* ---------------- header / nav flow ---------------- */
header.site nav{display:flex;flex-wrap:wrap;gap:2px 4px;margin-right:auto}
header.site nav a{margin:0;padding:4px 10px;border-radius:6px;font-size:16px}
header.site nav a:hover{background:var(--panel)}
header.site nav a[aria-current="page"]{color:var(--copper);background:var(--panel)}
header.site a.brand{margin-right:12px}
.cta-sm{padding:6px 14px;font-size:15px;white-space:nowrap}
footer.site nav{display:flex;flex-wrap:wrap;gap:4px 16px}
footer.site nav a{margin:0;color:var(--dim)}
footer.site nav a:hover{color:var(--copper)}
footer.site{justify-content:space-between}
@media(max-width:760px){
  header.site{position:static;padding:10px 14px}
  header.site a.brand{flex:1 1 auto}
  .cta-sm{order:2}
  header.site nav{order:3;flex:1 0 100%;flex-wrap:nowrap;overflow-x:auto;margin:0 -14px;padding:0 14px 2px;scrollbar-width:none}
  header.site nav a{white-space:nowrap;font-size:15px}
  body{font-size:17px}
  h1{font-size:1.9rem}
  table{display:block;overflow-x:auto}
}
