:root{--bg:#FFFFFF;--ink:#0F1115;--mute:#5B6170;--faint:#7A8090;--rule:#E6E8EC;--tint:#F5F6F8;--accent:#2F5BEA;--accent-tint:#EEF2FF;--measure:68ch}
*{box-sizing:border-box}
html{background:var(--bg);color:var(--ink);font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","tnum"}
body{margin:0}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}
.nav{position:sticky;top:0;z-index:5;background:rgba(255,255,255,.92);backdrop-filter:saturate(180%) blur(8px);border-bottom:1px solid var(--rule)}
.nav .container{display:flex;align-items:center;justify-content:space-between;height:56px;gap:1rem}
.nav .brand{display:flex;align-items:center;gap:.6rem;color:var(--ink);font-weight:600;font-size:.95rem;letter-spacing:-.01em}
.nav .brand:hover{text-decoration:none}
.nav .mark{width:22px;height:22px;border-radius:6px;background:var(--ink);display:inline-block;position:relative}
.nav .mark::after{content:"";position:absolute;left:5px;right:5px;top:12px;height:2px;background:#fff}
.nav .mark::before{content:"";position:absolute;left:5px;width:7px;top:7px;height:2px;background:var(--accent)}
.nav .links{display:flex;gap:1.4rem;font-size:.9rem;align-items:center}
.nav .links a{color:var(--mute)}
.nav .links a.here{color:var(--ink);font-weight:600}
.nav .links a:hover{color:var(--ink);text-decoration:none}
.nav .pdf{border:1px solid var(--rule);padding:.35rem .7rem;border-radius:6px;color:var(--ink)!important}
.hero{padding:4.5rem 0 3rem;border-bottom:1px solid var(--rule)}
.hero .label{font-size:.9rem;color:var(--mute);margin:0 0 1rem}
.hero h1{font-size:clamp(2.2rem,4.6vw,3.4rem);font-weight:600;letter-spacing:-.03em;line-height:1.08;margin:0 0 1rem;max-width:20ch}
.hero .dek{font-size:1.2rem;line-height:1.5;color:var(--mute);max-width:56ch;margin:0 0 2rem}
.hero .cta{display:flex;gap:.75rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.65rem 1.1rem;border-radius:8px;font-weight:600;font-size:.95rem;border:1px solid var(--rule);color:var(--ink)}
.btn:hover{text-decoration:none;border-color:var(--ink)}
.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}
.btn.primary:hover{background:#000}
.byline{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2.5rem;font-size:.9rem;color:var(--mute)}
.byline b{color:var(--ink);font-weight:600}
.section{padding:3rem 0;border-bottom:1px solid var(--rule)}
.section h2{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;margin:0 0 1.25rem}
.finding{display:grid;grid-template-columns:220px 1fr;gap:2rem;padding:1.1rem 0;border-top:1px solid var(--rule)}
.finding:last-child{border-bottom:1px solid var(--rule)}
.finding b{font-weight:600;line-height:1.35}
.finding p{margin:0;color:var(--mute)}
.charts{display:grid;grid-template-columns:1fr;gap:2.5rem}
.chart{margin:0}
.chart figcaption{font-size:.9rem;color:var(--mute);margin-top:.6rem;max-width:68ch}
.chart svg{width:100%;max-width:680px;height:auto;display:block}
.chart svg text{font-family:inherit}
.contents a{display:grid;grid-template-columns:110px 1fr;gap:1.5rem;padding:1rem 0;border-top:1px solid var(--rule);color:var(--ink)}
.contents a:last-child{border-bottom:1px solid var(--rule)}
.contents a:hover{text-decoration:none;background:var(--tint)}
.contents .k{color:var(--mute);font-size:.9rem;padding-top:.15rem}
.contents .t{font-weight:600}
.contents .d{color:var(--mute);font-size:.95rem;margin-top:.15rem}
.note{background:var(--accent-tint);border-left:3px solid var(--accent);padding:.9rem 1.1rem;border-radius:0 6px 6px 0;font-size:.95rem;line-height:1.55;margin:0 0 2rem}
.note p{margin:0}
.pagehead{padding:3.5rem 0 1.5rem}
.pagehead .kicker{font-size:.9rem;color:var(--mute);margin:0 0 .5rem}
.pagehead h1{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:600;letter-spacing:-.025em;line-height:1.1;margin:0;max-width:24ch}
.pagehead .meta{font-size:.9rem;color:var(--mute);margin-top:.9rem;max-width:70ch}
.wrap{display:grid;grid-template-columns:220px minmax(0,var(--measure));gap:4rem;padding-bottom:4rem}
nav.toc{position:sticky;top:76px;align-self:start;font-size:.86rem;line-height:1.45;max-height:calc(100vh - 90px);overflow:auto}
nav.toc summary{display:none}
nav.toc ul{list-style:none;margin:0;padding:0}
nav.toc>ul>li{margin:0 0 .55rem}
nav.toc>ul>li>a{color:var(--mute)}
nav.toc>ul>li.here>a{color:var(--ink);font-weight:600}
nav.toc ul ul{margin:.4rem 0 .3rem 0;padding-left:.75rem;border-left:2px solid var(--rule)}
nav.toc ul ul li{margin:.25rem 0}
nav.toc ul ul a{color:var(--mute)}
nav.toc ul ul a.active{color:var(--accent);font-weight:500}
nav.toc a:hover{text-decoration:none;color:var(--ink)}
article{min-width:0;padding-top:.5rem}
article h1{display:none}
article h2{font-size:1.35rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:2.6rem 0 .8rem;scroll-margin-top:80px}
article h2:first-of-type{margin-top:0}
article p{margin:0 0 1.1rem}
article ul,article ol{padding-left:1.3rem;margin:0 0 1.1rem}
article li{margin:.35rem 0}
article strong{font-weight:600}
article table{border-collapse:collapse;width:100%;margin:1.4rem 0 1.7rem;font-size:.9rem;line-height:1.45}
article th,article td{text-align:left;vertical-align:top;padding:.6rem .7rem;border-bottom:1px solid var(--rule)}
article th{font-weight:600;color:var(--mute);font-size:.82rem;border-bottom:1px solid var(--ink)}
article td:first-child{font-weight:500}
.katex-display{margin:1.3rem 0 1.5rem;padding:.9rem 1rem;background:var(--tint);border-radius:8px;overflow-x:auto;overflow-y:hidden}
.katex{font-size:1.02em}
.readtime{font-size:.86rem;color:var(--mute);margin:0 0 1.2rem}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin:3rem 0 0;padding-top:1.5rem;border-top:1px solid var(--rule)}
.pager a{display:block;color:var(--ink);padding:1rem;border:1px solid var(--rule);border-radius:10px}
.pager a:hover{text-decoration:none;border-color:var(--ink)}
.pager .lbl{font-size:.8rem;color:var(--mute);display:block;margin-bottom:.25rem}
.pager .t{font-weight:600;line-height:1.3;display:block}
.pager .next{text-align:right}
.pager .empty{visibility:hidden}
.progress{position:fixed;top:0;left:0;height:2px;width:0;background:var(--accent);z-index:9}
footer{border-top:1px solid var(--rule);padding:2.5rem 0 4rem;color:var(--mute);font-size:.9rem}
footer .container{display:grid;grid-template-columns:220px minmax(0,var(--measure));gap:4rem}
footer code{font-family:inherit;background:var(--tint);padding:.1rem .35rem;border-radius:4px}
@media (max-width:900px){
  .wrap,footer .container{grid-template-columns:minmax(0,1fr);gap:0}
  nav.toc{position:static;max-height:none;border-bottom:1px solid var(--rule);padding-bottom:1rem;margin-bottom:1.5rem}
  nav.toc summary{display:block;cursor:pointer;font-weight:600;color:var(--ink);list-style:none;font-size:.95rem}
  nav.toc summary::-webkit-details-marker{display:none}
  nav.toc details>ul{margin-top:.9rem}
  .nav .links a:not(.pdf){display:none}
  .finding,.contents a{grid-template-columns:1fr;gap:.3rem}
  html{font-size:16px}
}
@media (max-width:520px){.pager{grid-template-columns:1fr}.pager .next{text-align:left}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media print{html{background:#fff;font-size:11pt}.nav,nav.toc,.pager,.progress,.cta{display:none}.wrap,footer .container{display:block}a{color:inherit}table,tr{break-inside:avoid}}
