:root{--bg:#FFFFFF;--soft:#FFF4F7;--fg:#302036;--muted:#6E5F73;--line:#F1E3E9;--accent:#C42A5D;--brand:#E83E75;--font:"Nunito",ui-rounded,"Segoe UI",system-ui,sans-serif}
:root[data-theme="dark"]{--bg:#1E1423;--soft:#2F2136;--fg:#FBEFF4;--muted:#C2AFC7;--line:#3E2D45;--accent:#FF8DB0;--brand:#FF6E9C}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:400 17px/1.65 var(--font)}
.wrap{max-width:820px;margin:0 auto;padding:0 16px}
header{border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;padding-block:16px;gap:12px}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:1.35rem;color:var(--fg);text-decoration:none}
.brand svg{width:22px;height:auto;color:var(--brand)}
#theme{background:var(--soft);color:var(--fg);border:0;border-radius:999px;padding:8px 14px;font:700 .9rem var(--font);cursor:pointer}
main{padding-block:28px 56px}
h1{font-weight:900;font-size:clamp(1.7rem,5vw,2.2rem);line-height:1.2;margin:.2em 0}
h2{font-weight:800;margin-top:2em;font-size:1.25rem}
h3{font-weight:800;font-size:1.05rem;margin-top:1.4em}
.meta{color:var(--muted);font-size:.95rem}
a{color:var(--accent)}
.tbl{overflow-x:auto;margin:12px 0}
table{width:100%;border-collapse:collapse;font-size:.93rem;min-width:520px}
td,th{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--soft)}
.card{background:var(--soft);border-radius:16px;padding:16px 20px;margin:16px 0}
li{margin:.3em 0}
nav.toc{font-size:.95rem}
footer{border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}
footer .wrap{padding-block:28px;display:flex;flex-wrap:wrap;gap:12px 18px;justify-content:space-between}
footer .links{display:flex;flex-wrap:wrap;gap:8px 16px}
