:root{
  --paper:#ffffff; --ink:#000000; --mute:#4a4a4a; --link:#0000ee; --rule:#000000;
  --font:"Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){
  :root{--paper:#000000; --ink:#ffffff; --mute:#b5b5b5; --link:#8fb4ff; --rule:#ffffff;}
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.5 var(--font)}
a{color:var(--link);text-decoration:underline;text-underline-offset:2px}
a:visited{color:var(--mute)}
a:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.masthead,.menu,main,.foot{max-width:var(--w,56rem);margin:0 auto;padding-left:1rem;padding-right:1rem}
.masthead{padding-top:1.5rem;padding-bottom:.75rem;border-bottom:6px solid var(--rule)}
.brand{display:block;color:var(--ink);text-decoration:none;font-weight:900;font-size:clamp(2rem,7vw,3.75rem);line-height:1;letter-spacing:-.03em}
.brand:visited{color:var(--ink)}
.subtitle{margin:.6rem 0 0;font-size:1.05rem;font-weight:700}
.menu{display:flex;gap:1.25rem;padding-top:.6rem;padding-bottom:.6rem;border-bottom:1px solid var(--rule);font-weight:700}
.menu a,.menu a:visited{color:var(--ink)}
main{padding-top:1rem;padding-bottom:3rem}
.feed{list-style:none;margin:0;padding:0}
.feed li{display:flex;gap:.9rem;padding:.85rem 0;border-bottom:1px solid var(--rule)}
.flag{flex:0 0 2.2rem;font-size:1.7rem;line-height:1.2;text-align:center}
.item{min-width:0}
.headline{font-weight:800;font-size:1.2rem;line-height:1.25;overflow-wrap:anywhere}
.dek{margin:.25rem 0 0}
.meta{margin:.25rem 0 0;color:var(--mute);font-size:.9rem}
.pager{display:flex;gap:1.25rem;align-items:center;padding-top:1.25rem;font-weight:700}
.empty{padding:2rem 0;font-weight:700}
.story,.page{max-width:40rem}
.kicker{margin:.5rem 0 0;color:var(--mute);font-weight:700}
.story h1,.page h1{font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.1;letter-spacing:-.02em;margin:.3rem 0 .8rem;font-weight:900}
.lede{font-size:1.2rem;font-weight:700;margin:0 0 1.2rem}
.body p{margin:0 0 1rem}
.source{margin-top:1.5rem;padding:.9rem 1rem;border:3px solid var(--rule)}
.source p{margin:.3rem 0}
.note{color:var(--mute);font-size:.9rem}
.back{margin-top:1.5rem;font-weight:700}
.plain{padding-left:1.1rem}
.foot{padding-top:1rem;padding-bottom:2rem;border-top:6px solid var(--rule);color:var(--mute);font-size:.9rem}
@media (max-width:30rem){body{font-size:16px}.flag{flex-basis:1.8rem;font-size:1.4rem}}
