
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;line-height:1.6;font-size:1.0625rem}
img,svg{max-width:100%}
a{color:var(--link)}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
.wrap-narrow{max-width:720px;margin:0 auto;padding:0 20px}
.preview-flag{font:600 .75rem/1 system-ui,sans-serif;text-align:center;padding:6px;background:var(--flag-bg);color:var(--flag-fg);letter-spacing:.04em}
.top-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;color:inherit}
.nav{display:flex;flex-wrap:wrap;gap:4px 16px}
.nav a{text-decoration:none;color:inherit;opacity:.85;padding:6px 0;font-size:.95rem}
.nav a:hover{opacity:1;text-decoration:underline}
.btn{display:inline-block;padding:13px 22px;border-radius:999px;text-decoration:none;font-weight:600;font-family:system-ui,sans-serif;font-size:1rem}
.doc{padding-top:36px;padding-bottom:48px}
.doc h1{font-size:clamp(1.9rem,5.5vw,2.8rem);line-height:1.12;margin:.2em 0 .3em}
.lede{font-size:1.2rem;opacity:.9}
.meta,.crumbs,.small{font-size:.88rem;opacity:.8}
.crumbs a{color:inherit}
.prose{overflow-wrap:anywhere}
.prose h2{margin-top:2em;font-size:1.45rem;line-height:1.25}
.prose h3{margin-top:1.5em;font-size:1.15rem}
.prose li{margin:.35em 0}
.prose blockquote{margin:1.4em 0;padding:.6em 1.1em;border-left:4px solid var(--accent);font-style:italic}
.prose a{word-break:break-word}
.nfa-inline{display:inline-block;font:600 .8rem/1 system-ui,sans-serif;padding:7px 11px;border-radius:6px;background:var(--nfa-bg);color:var(--nfa-fg);margin:6px 0 10px}
.sources{margin-top:40px;padding:18px 20px;border-radius:12px;background:var(--panel);font-size:.95rem}
.sources h2{margin:0 0 8px;font-size:1.05rem}
.sources ul{margin:0;padding-left:1.1em}
.sources a{word-break:break-word}
.art-list{list-style:none;padding:0;margin:28px 0 0}
.art-row a{display:grid;gap:4px;padding:18px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}
.art-date{font:600 .8rem/1 system-ui,sans-serif;opacity:.7}
.art-title{font-size:1.25rem;font-weight:700;color:var(--link)}
.foot{margin-top:40px;padding:36px 0 44px;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1fr;gap:24px}
.foot-h{font-size:1rem;margin:0 0 8px}
.netlist,.plain{list-style:none;padding:0;margin:0}
.netlist li{margin:0 0 10px}.netlist span{display:block;font-size:.88rem;opacity:.8}
.plain li{margin:0 0 6px}
.nfa{padding:14px 16px;border-radius:10px;background:var(--nfa-bg);color:var(--nfa-fg)}
@media(min-width:800px){.foot-grid{grid-template-columns:2fr 1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

:root{--bg:#0a0c1d;--ink:#eceafe;--link:#c4b5fd;--accent:#e879f9;--panel:#151838;--rule:#2a2d55;--nfa-bg:#2a1740;--nfa-fg:#fde7ff;--flag-bg:#e879f9;--flag-fg:#120a24;--pulse:linear-gradient(90deg,#8b5cf6,#ec4899 60%,#67e8f9)}
body{background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif}
.top{position:relative;background:rgba(10,12,29,.92)}
.top::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--pulse);opacity:.7}
.nav a{color:#dcd8ff}
h1,h2,h3{letter-spacing:-.025em}
.hero{padding:64px 0 24px;position:relative}
.kicker{font:600 .78rem/1 system-ui;letter-spacing:.18em;text-transform:uppercase;color:#a5f3fc}
.hero h1{font-size:clamp(2.6rem,10vw,5.6rem);line-height:.98;margin:14px 0 0;font-weight:800}
.hero h1 em{font-style:normal;background:var(--pulse);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:1.2rem;max-width:32em;color:#cfcbef;margin:22px 0 26px}
.btn-1{background:#f5f3ff;color:#160f33}.btn-2{border:1.5px solid #8b7cf0;color:#e9e5ff;margin-left:6px}
.pulse-line{display:block;width:100%;height:90px;margin:10px 0 0}
.pulse-line path{fill:none;stroke:url(#pl);stroke-width:2.4;animation:beat 2.6s ease-in-out infinite}
@keyframes beat{50%{opacity:.55}}
.simple{display:grid;gap:26px;padding:40px 0;border-top:1px solid var(--rule)}
.simple h2{font-size:clamp(1.6rem,4vw,2.3rem);margin:0}
.simple p{color:#d6d2f4;margin:0 0 12px}
.ways{display:grid;gap:14px;padding:10px 0 40px}
.way{display:block;padding:22px;border-radius:16px;background:var(--panel);border:1px solid var(--rule);text-decoration:none;color:inherit;position:relative;overflow:hidden}
.way::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--pulse)}
.way b{display:block;font-size:1.25rem;margin-bottom:4px}
.way span{color:#cbc6ee}
.atlas{padding:40px 0;border-top:1px solid var(--rule)}
.atlas h2{font-size:clamp(1.6rem,4vw,2.3rem);margin:0 0 6px}
.atlas-map{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:0}
.atlas-map li{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:14px 0;position:relative}
.atlas-map li::before{content:"";width:14px;height:14px;border-radius:50%;border:2px solid #e879f9;margin-top:6px;background:var(--bg);z-index:1}
.atlas-map li::after{content:"";position:absolute;left:7px;top:28px;bottom:-8px;width:2px;background:#3b3570}
.atlas-map li:last-child::after{display:none}
.atlas-map b{display:block;font-size:1.1rem}
.atlas-map span{color:#c9c4ec;font-size:.97rem}
.sec-h{font-size:1.6rem;margin:40px 0 10px}
.latest{list-style:none;padding:0;margin:0 0 20px}
.latest li a{display:block;padding:14px 0;border-bottom:1px solid var(--rule);text-decoration:none;color:inherit}
.latest b{color:#f0abfc}
.safe{margin:20px 0;padding:18px 20px;border-radius:14px;border:1px dashed #6d64c9;color:#dcd8ff;font-size:.95rem}
.foot{background:#070818;border-top:1px solid var(--rule)}
/* Long reads: calm light reading surface */
body.page-guide main,body.page-article main,body.page-about main,body.page-list main{background:#f6f4fc;color:#1b1838;--link:#5b21b6;--panel:#ebe7f8;--rule:#d9d3ef}
body.page-guide .doc h1,body.page-article .doc h1{background:none}
@media(min-width:860px){.simple{grid-template-columns:1fr 1.3fr}.ways{grid-template-columns:repeat(3,1fr)}.atlas-map{grid-template-columns:1fr 1fr;column-gap:40px}}
