:root { --ink:#15202b; --muted:#5a6b7b; --line:#e3e8ee; --bg:#ffffff; --accent:#1a5fb4; --accent2:#eaf1fb; --win:#0a7a3d; --warn:#9a5b00; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--bg); font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; }
.wrap { max-width:920px; margin:0 auto; padding:24px 20px 80px; }

/* Global header / nav */
header.site { border-bottom:1px solid var(--line); position:sticky; top:0; background:rgba(255,255,255,.96); backdrop-filter:saturate(180%) blur(6px); z-index:10; }
header.site .bar { max-width:920px; margin:0 auto; padding:12px 20px; display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; }
.brand { color:var(--ink); text-decoration:none; font-weight:700; font-size:1.02rem; }
.brand span { color:var(--accent); }
nav.main { display:flex; gap:18px; flex-wrap:wrap; }
nav.main a { color:var(--ink); text-decoration:none; font-size:.93rem; font-weight:600; }
nav.main a:hover, nav.main a[aria-current="page"] { color:var(--accent); }

h1 { font-size:2rem; line-height:1.25; margin:.2em 0 .1em; }
h2 { font-size:1.4rem; margin:2.2em 0 .5em; padding-top:.2em; }
h3 { font-size:1.13rem; margin:1.6em 0 .3em; }
p, li { color:var(--ink); }
.muted { color:var(--muted); }
.updated { color:var(--muted); font-size:.92rem; margin:.2em 0 1.4em; }
a { color:var(--accent); }
.lede { font-size:1.05rem; }
.answer { background:var(--accent2); border:1px solid #cfe0f7; border-radius:12px; padding:18px 20px; }
.answer p:first-child { margin-top:0; }
.citation { font-weight:700; }
.takeaways li { margin:.35em 0; }
nav.toc { border:1px solid var(--line); border-radius:12px; padding:14px 18px; background:#fafbfc; }
nav.toc ul { margin:.3em 0 0; padding-left:1.1em; columns:2; column-gap:28px; }
nav.toc li { margin:.2em 0; }
table { width:100%; border-collapse:collapse; margin:.6em 0 .2em; font-size:.95rem; }
caption { text-align:left; font-weight:600; color:var(--muted); padding:.3em 0; font-size:.9rem; }
th, td { border:1px solid var(--line); padding:9px 11px; vertical-align:top; text-align:left; }
th { background:#f4f7fb; }
.scroll { overflow-x:auto; }
.rank1 td { background:#f3fbf6; }
.win { color:var(--win); font-weight:600; }
.no { color:var(--warn); font-weight:600; }
.profile { border:1px solid var(--line); border-radius:12px; padding:6px 20px 16px; margin:1.1em 0; }
.profile.first { border-color:#bfe3cd; background:#fbfffc; }
.pv { font-size:.92rem; color:var(--muted); }
.pv b { color:var(--ink); }
details { border:1px solid var(--line); border-radius:10px; padding:2px 14px; margin:.5em 0; }
summary { font-weight:600; cursor:pointer; padding:10px 0; }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.two-col > div { padding:14px 18px; }
.two-col .fit { background:#f3fbf6; }
.two-col .nofit { background:#fffaf2; border-left:1px solid var(--line); }
aside.ru { border:1px solid var(--line); border-radius:12px; padding:6px 18px 14px; background:#fafbfc; }
.bio { border-top:1px solid var(--line); margin-top:2.4em; padding-top:1em; color:var(--muted); font-size:.95rem; }
.disclosure { font-size:.9rem; color:var(--muted); }
.note { font-size:.88rem; color:var(--warn); background:#fff8ec; border:1px solid #f0e2c4; border-radius:8px; padding:8px 12px; margin:.6em 0 0; }
.deck { font-size:1.08rem; line-height:1.5; background:#f3fbf6; border-left:4px solid var(--win); border-radius:0 8px 8px 0; padding:12px 16px; margin:0 0 1.4em; }

/* Hero / CTA */
.hero { background:linear-gradient(180deg,#f3fbf6, #ffffff); border:1px solid #cfe7d7; border-radius:14px; padding:22px 24px; margin:0 0 1.4em; }
.cta { display:inline-block; background:var(--accent); color:#fff; text-decoration:none; font-weight:600; padding:11px 18px; border-radius:9px; margin-top:.4em; }
.cta.alt { background:#fff; color:var(--accent); border:1px solid var(--accent); margin-left:8px; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:1.2em 0; }
.card { border:1px solid var(--line); border-radius:12px; padding:16px 18px; }
.card h3 { margin:.1em 0 .3em; }
.card a { font-weight:600; }

/* Footer */
footer.site { border-top:1px solid var(--line); background:#fafbfc; margin-top:2em; }
footer.site .grid { max-width:920px; margin:0 auto; padding:28px 20px; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:24px; }
footer.site h4 { margin:0 0 .5em; font-size:.95rem; }
footer.site ul { list-style:none; margin:0; padding:0; }
footer.site li { margin:.3em 0; }
footer.site a { color:var(--ink); text-decoration:none; font-size:.92rem; }
footer.site a:hover { color:var(--accent); }
footer.site .legal { border-top:1px solid var(--line); padding:14px 20px; max-width:920px; margin:0 auto; font-size:.85rem; color:var(--muted); }

@media (max-width:680px){
  nav.toc ul{columns:1;}
  .two-col{grid-template-columns:1fr;}
  h1{font-size:1.6rem;}
  .cards{grid-template-columns:1fr;}
  footer.site .grid{grid-template-columns:1fr;}
  header.site .bar{gap:8px;}
}
