:root{--night:#080b16;--night-line:#1d2440;--night-text:#aeb6cf;--paper:#fff;--paper-2:#f5f7fb;--line:#e3e8f1;--ink:#0b1022;--ink-2:#3b4560;--muted:#6b7590;
  --blue:#1a4dff;--blue-dark:#1238c9;--display:"Lexend",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --body:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.7 var(--body);-webkit-font-smoothing:antialiased}
a{color:var(--blue)}
a:hover{color:var(--blue-dark)}
h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}

/* Header */
.top{background:var(--night);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--night-line)}
.top .wrap{height:68px;display:flex;align-items:center;gap:28px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:var(--display);font-weight:600;font-size:21px;letter-spacing:-.02em}
.logo img{width:28px;height:26px}
.top nav{display:flex;gap:26px;margin-left:auto}
.top nav a{color:var(--night-text);text-decoration:none;font-size:15px}
.top nav a:hover,.top nav a[aria-current]{color:#fff}
.top .btn{background:var(--blue);color:#fff;text-decoration:none;font-family:var(--display);font-weight:500;font-size:15px;padding:9px 16px;border-radius:10px;white-space:nowrap}
.top .btn:hover{background:var(--blue-dark);color:#fff}
@media (max-width:720px){.top nav a.hide-sm{display:none}.top nav{gap:18px}.top .btn{display:none}}

/* Hub */
.hub-hero{background:var(--night);color:#fff;padding:72px 0 64px}
.hub-hero h1{font-size:clamp(36px,5.4vw,60px);max-width:18ch}
.hub-hero p{color:var(--night-text);font-size:19px;max-width:58ch;margin:18px 0 0}
.guides{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:56px 0 24px}
.guide{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:26px;text-decoration:none;color:var(--ink);transition:border-color .15s,transform .15s}
.guide:hover{border-color:#b9c6ff;transform:translateY(-2px);color:var(--ink)}
.guide .n{font-family:var(--display);color:var(--blue);font-size:14px;font-weight:500}
.guide h2{font-size:22px;margin:8px 0 10px}
.guide p{color:var(--ink-2);font-size:16px;line-height:1.6;margin:0 0 16px;flex:1}
.guide .go{font-family:var(--display);font-weight:500;font-size:15px;color:var(--blue)}

/* Article */
.crumbs{font-size:14px;color:var(--muted);padding:26px 0 0}
.crumbs a{color:var(--muted)}
.art-head{padding:18px 0 30px;border-bottom:1px solid var(--line);margin-bottom:34px}
.art-head h1{font-size:clamp(32px,4.6vw,50px);max-width:22ch}
.byline{font-size:15px;color:var(--muted);margin-top:16px}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:64px;padding-bottom:80px}
article{max-width:720px}
article h2{font-size:28px;margin:52px 0 14px}
article h3{font-size:20px;margin:32px 0 8px}
article p,article li{color:#27304a}
article ul,article ol{padding-left:22px}
article li{margin:6px 0}
.answer{background:var(--paper-2);border-left:4px solid var(--blue);border-radius:0 14px 14px 0;padding:20px 24px;margin:0 0 28px}
.answer b{display:block;font-family:var(--display);font-weight:600;font-size:14px;color:var(--blue);margin-bottom:4px;letter-spacing:0}
.answer p{margin:0;color:var(--ink)}
.key{border:1px solid var(--line);border-radius:14px;padding:18px 24px;margin:28px 0}
.key h2{font-size:18px;margin:0 0 6px}
.key ul{margin:0}
table{width:100%;border-collapse:collapse;font-size:16px;margin:20px 0}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
th{font-family:var(--display);font-weight:500;font-size:14px;color:var(--muted)}
.table-scroll{overflow-x:auto}
sup a{text-decoration:none;font-size:13px;padding:0 1px}
.faq details{border-bottom:1px solid var(--line);padding:16px 0}
.faq summary{font-family:var(--display);font-weight:500;font-size:18px;cursor:pointer}
.faq details p{margin:10px 0 0}
.sources{font-size:15px;line-height:1.6}
.sources li{margin:8px 0;color:var(--ink-2);overflow-wrap:anywhere}
.note{font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px;margin-top:40px}
aside{position:sticky;top:96px;align-self:start;font-size:15px}
aside h2{font-family:var(--display);font-size:13px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 10px}
aside ol,aside ul{list-style:none;padding:0;margin:0 0 30px}
aside li{margin:8px 0;line-height:1.4}
aside a{color:var(--ink-2);text-decoration:none}
aside a:hover{color:var(--blue)}
.help{background:var(--night);color:#fff;border-radius:16px;padding:22px}
.help p{color:var(--night-text);margin:6px 0 14px;font-size:15px;line-height:1.5}
.help a{color:#fff;font-family:var(--display);font-weight:500}
@media (max-width:960px){.layout{grid-template-columns:1fr;gap:20px}aside{position:static}aside .toc{display:none}}

/* Footer */
footer{background:var(--night);color:var(--night-text);font-size:14px;padding:30px 0}
footer .wrap{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}
footer a{color:var(--night-text);text-decoration:none;margin-right:18px}
footer a:hover{color:#fff}
