:root{--bg:#0c0c0e;--fg:#ededed;--muted:#a0a0a8;--accent:#ff9000;--accent-strong:#ffb340;--card:#16161a;--border:#25252a;--note:#1d1a14}
:root[data-theme="light"]{--bg:#ffffff;--fg:#1a1a1a;--muted:#555;--accent:#e07000;--accent-strong:#c45f00;--card:#fafafa;--border:#e6e6e6;--note:#fff6e8}
@media (prefers-color-scheme: light){:root:not([data-theme="dark"]){--bg:#ffffff;--fg:#1a1a1a;--muted:#555;--accent:#e07000;--accent-strong:#c45f00;--card:#fafafa;--border:#e6e6e6;--note:#fff6e8}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:18px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.wrap{max-width:720px;margin:0 auto;padding:24px 16px 80px}
a{color:var(--accent)} a:hover{color:var(--accent-strong)}
header.top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--muted);border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:28px}
header.top a{text-decoration:none}
.crumb{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent)}
h1{font-size:34px;line-height:1.2;margin:.2em 0 .6em}
h2{font-size:24px;margin:2em 0 .5em;padding-top:.6em;border-top:1px solid var(--border)}
h3{font-size:19px;margin:1.6em 0 .4em}
p{margin:0 0 1em}
strong{color:var(--fg)}
.task{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:8px;padding:16px 18px;margin:2em 0}
.task .label{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.infographic-todo{border:2px dashed var(--accent);border-radius:8px;padding:14px 16px;margin:1.6em 0;color:var(--muted);font-size:15px}
.infographic-todo::before{content:"INFOGRAPHIC (to design)";display:block;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--accent);margin-bottom:4px}
figure{margin:1.6em 0} figure img,figure svg{max-width:100%;height:auto;display:block;border-radius:8px}
figcaption{font-size:13px;color:var(--muted);margin-top:6px}
.case{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:16px 18px;margin:1.6em 0}
.case h3{margin-top:0}
.sources{font-size:14px;color:var(--muted);border-top:1px solid var(--border);margin-top:3em;padding-top:1em}
.sources ol{padding-left:20px}
nav.pager{display:flex;justify-content:space-between;gap:12px;margin-top:3em;font-size:15px}
.toc ol{padding-left:22px} .toc li{margin:.3em 0}
.review-note,.note{background:var(--note);border:1px solid var(--border);border-radius:6px;padding:10px 14px;font-size:14px;color:var(--muted);margin:1em 0}
table{border-collapse:collapse;width:100%;font-size:16px;margin:1.2em 0;display:block;overflow-x:auto}
th,td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--card)}

.theme-toggle{position:fixed;bottom:16px;right:16px;z-index:10;background:var(--card);color:var(--fg);border:1px solid var(--border);border-radius:999px;padding:6px 12px;font-size:14px;cursor:pointer}
.theme-toggle:hover{border-color:var(--accent)}
strong{color:var(--accent-strong);font-weight:700}
:root[data-theme="light"] strong{color:var(--fg)}

/* ---- Visual kit v2 ---- */
.lead{font-size:21px;line-height:1.5;color:var(--fg)}
.glance{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:1.6em 0}
.glance .tile{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 14px 12px}
.glance .big{font-size:30px;font-weight:800;line-height:1.05;color:var(--accent);letter-spacing:-.01em}
.glance .small{font-size:14px;color:var(--muted);margin-top:6px;line-height:1.35}
.timeline{list-style:none;margin:1.6em 0;padding:0 0 0 22px;border-left:2px solid var(--border)}
.timeline li{position:relative;margin:0 0 18px;padding-left:6px}
.timeline li::before{content:"";position:absolute;left:-29px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--accent)}
.timeline li.hot::before{background:var(--accent)}
.timeline .when{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent)}
.timeline .what{font-size:17px;line-height:1.45}
.compare{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:1.6em 0}
.compare>div{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 16px}
.compare h4{margin:0 0 8px;font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.compare .yes h4{color:var(--accent)}
.compare ul{margin:0;padding-left:18px;font-size:16px;line-height:1.45}
.compare li{margin:.25em 0}
@media (max-width:560px){.compare{grid-template-columns:1fr}}
.pullquote{margin:2em 0;padding:4px 0 4px 18px;border-left:4px solid var(--accent);font-size:24px;line-height:1.35;font-weight:700}
.redlines{display:grid;gap:8px;margin:1.4em 0}
.redlines div{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:16px}
.redlines div::before{content:"✕";flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:var(--bg);background:#d9484e}
.roadmap{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:1.6em 0}
.roadmap>div{border-radius:10px;padding:12px;border:1px solid var(--border);background:var(--card);font-size:15px;line-height:1.35}
.roadmap .n{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.roadmap .t{font-weight:700;margin-top:4px}
.roadmap .now{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.roadmap .now .n{color:var(--accent)}
.roadmap .later{opacity:.6;border-style:dashed}
@media (max-width:560px){.roadmap{grid-template-columns:1fr 1fr}}
.steps{counter-reset:s;display:grid;gap:8px;margin:1em 0}
.steps div{counter-increment:s;display:flex;gap:12px;align-items:flex-start;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:16px}
.steps div::before{content:counter(s);flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:14px;color:var(--bg);background:var(--accent)}
