:root{--paper:#fdfbf7;--paper-warm:#f5f1e8;--ink:#1a2332;--ink-soft:#3a4556;--ink-muted:#5b6676;--line:#d8d6cd;--accent-dark:#1d4f7a;--page-width:1180px;--space-5:1.25rem;--space-10:2.5rem;--font-display:var(--serif);--font-body:var(--sans)}
[data-theme="dark"]{--paper:#171c23;--paper-warm:#222a34;--ink:#eeeae3;--ink-soft:#d8d6d0;--ink-muted:#b0bac5;--line:#435061;--accent-dark:#96c5ee}
body{background:var(--paper);color:var(--ink)}
a{color:var(--accent-dark);text-underline-offset:3px}
button,summary,a{touch-action:manipulation}
button:focus-visible,summary:focus-visible,a:focus-visible,.table-scroll:focus-visible{outline:3px solid var(--accent-dark);outline-offset:4px}
.skip{position:absolute;left:1rem;top:-5rem;background:var(--paper);padding:1rem;z-index:10}.skip:focus{top:1rem}
.preview-bar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) max(var(--space-5),calc((100vw - var(--page-width))/2));border-bottom:1px solid var(--line);font:500 12px var(--sans);color:var(--ink-muted)}
.preview-bar button{font:inherit;background:transparent;border:0;color:inherit;padding:var(--space-2);cursor:pointer;min-height:36px}
.newspaper{text-align:center;padding:var(--space-8) var(--space-5) var(--space-6)}
.newspaper-name{font:600 clamp(2.6rem,6vw,5.2rem)/1.05 var(--serif);letter-spacing:-.035em;text-decoration:none;color:var(--ink)}
.newspaper p{font:400 17px var(--serif);color:var(--ink-muted);margin-top:var(--space-2)}
#navigation{max-width:var(--page-width);margin:auto;display:flex;justify-content:center;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--space-2) var(--space-3);gap:0 var(--space-4);font:500 12px var(--sans)}
#navigation>a,#navigation>details>summary{display:block;padding:var(--space-3) 0;text-decoration:none;cursor:pointer;color:var(--ink)}
#navigation>details{position:relative}
#navigation>details>summary{list-style:none}#navigation>details>summary::-webkit-details-marker{display:none}
#navigation>details[open]>summary{color:var(--accent-dark)}
.nav-list{position:absolute;top:100%;left:0;width:320px;max-width:85vw;max-height:60vh;overflow:auto;background:var(--paper);border:1px solid var(--line);z-index:5;padding:var(--space-3)}
.nav-list a{display:block;padding:var(--space-3);text-decoration:none;line-height:1.4}.nav-list a:hover{background:var(--paper-warm)}
.heading{max-width:940px;margin:auto;text-align:center;padding:var(--space-12) var(--space-6) var(--space-8)}
.rubric{font:600 12px var(--sans);text-transform:uppercase;letter-spacing:.14em;color:var(--accent-dark);margin-bottom:var(--space-5)}
#article-title{font:600 clamp(2.4rem,4.7vw,4.2rem)/1.05 var(--serif);letter-spacing:-.025em;margin:0 auto var(--space-5);max-width:850px}
#subtitle{font:400 clamp(1.2rem,2vw,1.55rem)/1.4 var(--serif);color:var(--ink-soft);max-width:800px;margin:auto}
#date{font:400 12px/1.6 var(--sans);color:var(--ink-muted);margin-top:var(--space-5)}
#date em{font-style:normal}
.hero{max-width:var(--page-width);margin:0 auto var(--space-12);padding:0 var(--space-5)}
.hero img{display:block;width:100%;height:auto;border:1px solid var(--line)}
.hero figcaption{font:400 12px/1.5 var(--sans);color:var(--ink-muted);margin-top:var(--space-2)}
.reading-layout{display:grid;grid-template-columns:190px minmax(0,780px);gap:var(--space-12);max-width:1100px;margin:0 auto;padding:0 var(--space-5)}
.contents{font:400 13px/1.5 var(--sans);align-self:start;position:sticky;top:var(--space-6)}
.contents summary{font-weight:600;border-top:2px solid var(--accent-dark);padding:var(--space-4) 0;cursor:pointer}
.contents a{display:block;padding:var(--space-3) 0;color:var(--ink-muted);text-decoration:none;border-bottom:1px solid var(--line)}
.contents a:hover{color:var(--accent-dark)}
#article{min-width:0;font:400 21px/1.65 var(--serif)}
#article p{margin-bottom:var(--space-5)}
#article h2{font:600 clamp(1.8rem,3vw,2.3rem)/1.2 var(--serif);margin:var(--space-12) 0 var(--space-6);padding-top:var(--space-5);border-top:1px solid var(--line);scroll-margin-top:var(--space-6)}
#article h3{font:600 clamp(1.35rem,2vw,1.6rem)/1.3 var(--serif);margin:var(--space-8) 0 var(--space-4);scroll-margin-top:var(--space-6)}
#article>h3:first-child{margin-top:0}
#article ul,#article ol{padding-left:var(--space-6);margin:var(--space-5) 0}
#article li{padding-left:var(--space-2);margin:var(--space-4) 0}
#article strong{font-weight:600}
.table-scroll{overflow-x:auto;margin:var(--space-6) 0;border-top:2px solid var(--accent-dark);border-bottom:1px solid var(--line)}
#article table{width:100%;border-collapse:collapse;font:400 14px/1.55 var(--sans);margin:0}
#article th{background:var(--paper-warm);text-align:left;color:var(--ink);font-weight:600}
#article th,#article td{padding:var(--space-3);vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:normal}
#article td p,#article th p{margin:0}
#article tr:last-child td{border-bottom:0}
#article .source-entry{font:400 13px/1.6 var(--sans);overflow-wrap:anywhere;margin-bottom:var(--space-5)}
#article .source-entry a{word-break:break-word}
.closing{max-width:780px;padding:var(--space-6);margin:var(--space-12) auto;background:var(--paper-warm);font:400 13px/1.6 var(--sans);color:var(--ink-muted)}
.closing>a{display:inline-block;margin-top:var(--space-4)}
footer{max-width:var(--page-width);border-top:1px solid var(--line);margin:auto;display:flex;justify-content:space-between;gap:var(--space-5);padding:var(--space-8) var(--space-5);font:400 12px var(--sans);color:var(--ink-muted)}
@media(max-width:850px){.reading-layout{display:block;max-width:780px}.contents{position:static;margin-bottom:var(--space-8)}.contents nav{display:grid;grid-template-columns:1fr 1fr;gap:0 var(--space-5)}.heading{padding-top:var(--space-8)}#navigation{gap:0 var(--space-3)}.nav-list{position:fixed;top:auto;left:5vw;right:5vw;width:90vw;max-width:none}#article{font-size:20px}}
@media(max-width:500px){.newspaper{padding:var(--space-6) var(--space-4)}.newspaper p{font-size:15px}#navigation{font-size:11px;gap:0 var(--space-3)}#navigation>a,#navigation>details>summary{padding:var(--space-3) 0;font-size:12px}.heading{padding-inline:var(--space-5)}.hero{padding:0}.hero figcaption{padding:0 var(--space-5)}.contents nav{display:block}#article table{min-width:650px}footer{flex-direction:column}.preview-bar{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.growth-figure{margin:var(--space-8) 0}.growth-figure img{display:block;width:100%;height:auto;border:1px solid var(--line)}.growth-figure figcaption{font:400 13px/1.55 var(--sans);color:var(--ink-muted);margin-top:var(--space-3)}.growth-method{font:400 14px/1.6 var(--sans);padding:var(--space-5);background:var(--paper-warm)}
.article-languages{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.2rem;padding:1rem;margin:auto;max-width:1100px;font:400 13px/1.5 var(--sans);border-bottom:1px solid var(--line)}.article-languages a{color:var(--ink-muted);text-decoration:none}.article-languages a[aria-current]{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:4px}
#article>p>img{max-width:100%;height:auto!important}
#article .footnotes{font:400 14px/1.6 var(--sans);overflow-wrap:anywhere}
#article .footnotes a{word-break:break-word}
@media print{.preview-bar,#navigation,.contents,.closing,footer{display:none}.reading-layout{display:block}.newspaper{padding:0}.heading{padding:1rem}#article{font-size:11pt}.hero{max-width:160mm}.table-scroll{overflow:visible}#article table{min-width:0;font-size:9pt}#article h2,#article h3{break-after:avoid}#article tr{break-inside:avoid}}
