/* Cowerx / Paper and Night. See DESIGN.md. */
@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Instrument;src:url('/assets/fonts/instrument-serif-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:JetBrains;src:url('/assets/fonts/jetbrains-mono-latin.woff2') format('woff2');font-style:normal;font-weight:400 500;font-display:swap}
:root,[data-mood=paper]{color-scheme:light;--bg:#F6F4EE;--surface:#FFFFFF;--raised:#FFFFFF;--ink:#111312;--muted:#5E625D;--faint:#8C8F89;--rule:#E3E0D7;--accent:#1F4D3A;--link:#1F4D3A;--signal:#D9F35B;--ok:#1F4D3A;--warn:#755316;--bad:#8b342b;--body-size:17px;--body-leading:1.6;--shadow:none}
[data-mood=night]{color-scheme:dark;--bg:#0B0C0C;--surface:#131514;--raised:#1A1D1B;--ink:#ECEAE3;--muted:#9A9D96;--faint:#62665F;--rule:#242825;--accent:#D9F35B;--link:#B8D4C6;--signal:#D9F35B;--ok:#7FD4A0;--warn:#E8C468;--bad:#EE7B6B;--body-size:15px;--body-leading:1.55;--shadow:0 12px 32px #0004}
:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;--radius:10px;--pill:999px;--max:1120px;--measure:64ch;--gutter:24px;--t1:11px;--t2:13px;--t3:15px;--t4:17px;--t5:20px;--t6:26px;--t7:34px;--t8:48px;--t9:64px;--t10:88px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--body-size)/var(--body-leading) Inter,Arial,sans-serif}img,svg{max-width:100%;height:auto}a{color:var(--link);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button,input{font:inherit}button{cursor:pointer}p{max-width:var(--measure)}h1,h2,h3{font-family:Instrument,Georgia,serif;font-weight:400;letter-spacing:-.01em;line-height:1.06}h1{font-size:clamp(40px,6vw,88px);margin:0 0 var(--s6)}h2{font-size:clamp(34px,4vw,64px);margin:0 0 var(--s5)}h3{font-size:var(--t7);margin:0 0 var(--s4)}h1 em,h2 em{font-weight:400}small,.small{font-size:var(--t2);color:var(--muted)}.wrap,main{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.measure,.prose{max-width:var(--measure)}.grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--gutter)}.grid>*{grid-column:span 4;min-width:0}.skip{position:absolute;left:var(--s5);top:-100px;background:var(--surface);padding:var(--s3);z-index:10}.skip:focus{top:var(--s3)}
.masthead,.top{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);min-height:80px;border-bottom:1px solid var(--rule)}.masthead nav,.top nav,.foot nav{display:flex;flex-wrap:wrap;gap:var(--s5)}.masthead nav a,.top nav a,.foot a{font-size:var(--t2);color:var(--muted);text-decoration:none}.brand,.wordmark{display:inline-flex;align-items:center;gap:var(--s2);font:400 26px/1 Instrument,Georgia,serif;text-decoration:none;color:var(--ink)}.brand img,.wordmark img{width:112px;height:auto}.mark{display:inline-block;width:10px;height:10px;background:var(--signal);vertical-align:middle}.hero{padding-block:var(--s9);border-bottom:1px solid var(--rule)}.hero h1{max-width:13ch}.eyebrow,.label{font:600 var(--t1)/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 var(--s4)}.lead,.standfirst{font-size:var(--t5);line-height:1.5;max-width:var(--measure);color:var(--muted)}.section{padding-block:var(--s9);border-bottom:1px solid var(--rule)}.metric{min-width:0}.metric .value{display:block;font:400 clamp(34px,4vw,48px)/1.1 JetBrains,monospace;letter-spacing:-.04em;color:var(--accent);font-variant-numeric:tabular-nums}.metric .value.signal{display:inline-block;background:var(--signal);color:#111312;padding:0 var(--s2)}.metric .caption{color:var(--muted);font-size:var(--t3)}.mono,time,.count,.meta{font-family:JetBrains,monospace;font-variant-numeric:tabular-nums;font-size:var(--t2)}.status{display:inline-flex;align-items:center;gap:var(--s2);border:1px solid var(--rule);border-radius:var(--pill);padding:var(--s2) var(--s3);font-size:var(--t2)}.status::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--ok)}.status.live::before{animation:pulse 2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.status.warn::before{background:var(--warn)}.status.bad::before{background:var(--bad)}
.row-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}.row-list li{border-bottom:1px solid var(--rule);margin:0}.row-list a{min-height:52px;padding:var(--s3) 0;display:flex;align-items:center;justify-content:space-between;gap:var(--s5);text-decoration:none;color:var(--ink)}.row-list a::after{content:'↗';color:var(--accent)}.row-list .meta{margin-left:auto;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--s5);min-width:0}.card h2,.card h3{font-size:var(--t7)}.card p{color:var(--muted)}.card a{min-height:44px;display:inline-flex;align-items:center}.button,.cta,button[type=submit]{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--s2) var(--s5);border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--bg);font:600 var(--t3)/1.3 Inter,Arial,sans-serif;text-decoration:none}.button:hover,.cta:hover,button[type=submit]:hover{opacity:.85}.button.secondary{background:transparent;color:var(--ink);border-color:var(--rule)}[data-mood=night] .button,[data-mood=night] .cta,[data-mood=night] button[type=submit]{background:var(--accent);border-color:var(--accent);color:#111312}
.table-wrap,.table-scroll{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse}th,td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}thead th{font:600 var(--t1)/1.4 Inter,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}td:not(:first-child){font-variant-numeric:tabular-nums}td.numeric,th.numeric{text-align:right;font-family:JetBrains,monospace}.chart{max-width:100%}.chart rect,.chart path{stroke-width:1}.chart .subject{fill:var(--accent);stroke:var(--accent)}.chart .other{fill:var(--faint);stroke:var(--faint)}.chart text{font:var(--t2) JetBrains,monospace;fill:var(--muted)}.foot,footer{padding-block:var(--s6);border-top:1px solid var(--rule);color:var(--muted);font-size:var(--t2)}.prose li{margin-bottom:var(--s3)}article{border-bottom:1px solid var(--rule);padding:var(--s6) 0}article:last-child{border-bottom:0}article h2{font-size:var(--t7)}.journal article{position:relative;padding-left:var(--s8)}.journal article::before{content:attr(data-index);position:absolute;left:0;top:var(--s6);font:var(--t2) JetBrains,monospace;color:var(--muted)}.journal article small{font-family:JetBrains,monospace}.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s5)}figure{margin:0}figcaption{font-size:var(--t2);color:var(--muted)}details{border-bottom:1px solid var(--rule);padding:var(--s4) 0}summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.ad-slot:empty{display:none}
@media(max-width:760px){.grid>*{grid-column:span 12}.masthead,.top{align-items:flex-start;flex-direction:column;padding-block:var(--s4);gap:var(--s4)}.masthead nav,.top nav{gap:var(--s4)}.hero,.section{padding-block:var(--s8)}.gallery{grid-template-columns:1fr}.journal article{padding-left:var(--s7)}.row-list a{align-items:flex-start}.row-list .meta{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}

/* Publication spacing and touch reach. */
a{display:inline-block;min-height:44px;min-width:44px;max-width:100%;overflow-wrap:anywhere;vertical-align:middle}main>section:not(.hero):not(.section){padding-block:var(--s8);border-bottom:1px solid var(--rule)}.cards{list-style:none;padding:0}.cards>li{grid-column:span 6}.cards .card{height:100%}.chart svg{max-width:100%;height:auto}.chart text{fill:var(--muted)}@media(max-width:760px){.cards>li{grid-column:span 12}}

#main>.section .grid>.card{grid-column:span 6}.chart-row{display:grid;grid-template-columns:minmax(88px,1fr) minmax(60px,3fr) 50px;align-items:center;gap:var(--s3);margin:var(--s3) 0;font-size:var(--t3)}.bar-track{height:8px;background:var(--rule);display:block}.bar-track i{height:100%;display:block}.bar-track .subject{background:var(--accent)}.bar-track .other{background:var(--faint)}.chart-row .mono{text-align:right}@media(max-width:760px){#main>.section .grid>.card{grid-column:span 12}.chart-row{grid-template-columns:80px minmax(0,1fr) 45px;font-size:var(--t2)}}

/* Paper review: masthead, aligned front-page cards, metrics and issue navigation. */
h1,h2{text-wrap:balance}
.masthead{gap:var(--s6)}
.masthead .brand{flex-shrink:0}
.masthead nav{min-width:0;flex-wrap:nowrap;gap:var(--s5);overflow-x:auto;overscroll-behavior-inline:contain}
.masthead nav a{display:inline-flex;flex:0 0 auto;align-items:center;min-width:44px;min-height:44px;padding-inline:6px;white-space:nowrap}
.hero .metric .label{display:block;margin:0 0 var(--s2)}
.hero .metric .caption{margin:var(--s2) 0 0}
.home-card{display:flex;flex-direction:column;border:1px solid var(--rule)}
.home-card .value{margin:0}
.home-card .label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:var(--s2) 0 0}
.home-card .card-body{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;line-height:1.5;max-height:3em;margin:var(--s4) 0 var(--s5)}
.home-card .card-meta{margin:auto 0 0;font:var(--t2)/1.5 JetBrains,monospace;border-top:1px solid var(--rule);padding-top:var(--s3)}
.home-card .card-meta a{font:inherit}
.issue-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s5);margin:0 0 var(--s4)}
.issue-nav a{display:inline-flex;align-items:center;min-height:44px}
@media(max-width:760px){.masthead{gap:var(--s6)}.masthead nav{width:100%;gap:var(--s5)}}

/* Keep policy links readable when older generated pages have text-only footers. */
.foot{display:flex;align-items:center;flex-wrap:wrap;gap:var(--s5)}
.foot nav[aria-label="Site policies"]{display:inline-flex;flex-wrap:wrap;gap:var(--s5)}
.foot nav[aria-label="Site policies"] a{color:var(--muted);text-decoration:none}
