:root{--bg:#f7f3ec;--card:#fffdf9;--fg:#141210;--muted:#6f6a62;--line:#e4ddd1;--accent:#d94a1e;--accent-soft:#fbe4d8;
--open:#0f766e;--open-soft:#d5efe9;--closed:#475569;--closed-soft:#e2e8f0;--new:#fff4c2;
--serif:"Newsreader",Georgia,serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;
--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,sans-serif}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#12100e;--card:#1a1714;--fg:#f1ece4;--muted:#a39b90;
--line:#2b2621;--accent:#ff6a3d;--accent-soft:#3a1f14;--open:#5eead4;--open-soft:#0f2e2a;--closed:#cbd5e1;--closed-soft:#272d36;--new:#3a3215}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
header.top{max-width:1280px;margin:0 auto;padding:18px 16px 12px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;font:700 30px/1 var(--serif);letter-spacing:-.6px}
.logo{width:30px;height:30px;color:var(--accent)}
.tag{color:var(--muted);font-size:14px}
.by{display:block;font-size:11px;color:var(--muted);opacity:.75;margin-top:1px}.by:hover{color:var(--accent);opacity:1}
.hright{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.live{font:12px var(--mono);color:var(--muted);display:flex;align-items:center;gap:7px}
.quick{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.quick a{font:600 12.5px var(--sans);padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--fg)}
.quick a:hover{border-color:var(--accent);color:var(--accent)}
@media (max-width:820px){.hright{margin-left:0;align-items:flex-start;width:100%}.quick{justify-content:flex-start}}
.live i{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:pulse 2s infinite}
@keyframes pulse{70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media (prefers-reduced-motion:reduce){.live i{animation:none}}
.tabs{max-width:1280px;margin:0 auto;padding:0 16px 10px;display:flex;flex-wrap:wrap;gap:4px 2px;font-size:13px;font-weight:600}
@media (max-width:820px){.tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}}
.tabs::-webkit-scrollbar{display:none}
.tabs a{white-space:nowrap;padding:5px 10px;border-radius:999px;color:var(--muted)}
.tabs a:hover{color:var(--fg);background:var(--line)}.tabs a[aria-current=page]{background:var(--fg);color:var(--bg)}
h2 a{color:inherit}
.bar{position:sticky;top:0;z-index:5;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(8px);
border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.bar{max-width:none;display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:8px max(16px,calc((100vw - 1248px)/2))}
.bar nav{display:flex;gap:4px 16px;flex-wrap:wrap;font-size:13px;font-weight:600;margin-right:auto}
.ctl{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}
.ctl button,.dens,.since button{font:600 12px var(--sans);border:0;background:transparent;color:var(--muted);padding:6px 12px;cursor:pointer}
.ctl button[aria-pressed=true]{background:var(--fg);color:var(--bg)}
.dens{border:1px solid var(--line);border-radius:999px}.dens[aria-pressed=true]{background:var(--fg);color:var(--bg)}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.since{max-width:1248px;margin:10px auto 0;padding:8px 14px;background:var(--new);border-radius:10px;font-size:14px;display:flex;align-items:center;gap:10px}
.signup{max-width:1248px;margin:4px auto 12px;padding:10px 16px;border:1px solid var(--line);border-radius:12px;background:var(--card);
display:flex;flex-wrap:wrap;gap:10px 12px;align-items:center;font-size:14px}
.signup{position:relative;padding-right:40px}
.signup .x{position:absolute;top:4px;right:6px;width:28px;height:28px;border:0;border-radius:6px;background:transparent;
color:var(--muted);font:20px/1 var(--sans);cursor:pointer}.signup .x:hover{background:var(--line);color:var(--fg)}
.signup>div{flex:1 1 420px;font-size:13.5px}.signup small{color:var(--muted);font-size:11.5px}
.signup input[type=email]{flex:0 1 240px;font:14px var(--sans);padding:7px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--fg)}
.signup button{font:600 13.5px var(--sans);padding:7px 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}
.signup .hp,.contact .hp{position:absolute;left:-9999px}
.contact{display:grid;gap:14px;max-width:560px;margin-top:18px}
.contact label{display:grid;gap:5px;font-weight:600;font-size:14px}
.contact input,.contact textarea{font:15px var(--sans);padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg)}
.contact button{justify-self:start;font:600 14px var(--sans);padding:9px 18px;border:0;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer}
.contact small{color:var(--muted)}
@media (max-width:820px){.signup{margin:4px 16px 12px}.signup input[type=email]{flex:1 1 200px}}
.since[hidden]{display:none}.since button{margin-left:auto;color:var(--fg);text-decoration:underline}
h2{font:600 11.5px/1 var(--mono);text-transform:uppercase;letter-spacing:1.2px;color:var(--accent);margin:26px 0 4px;padding-bottom:8px;
border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline}
h2 .rss{font-size:10px;color:var(--muted);letter-spacing:.5px}
.try{max-width:1280px;margin:0 auto;padding:0 16px}
[id]{scroll-margin-top:96px}
.try ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px}
.try li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}
.try li a{display:block;color:var(--fg);font:600 15px/1.3 var(--sans);margin-top:3px}.try li a:hover{color:var(--accent)}
.try li .badges{margin-top:5px}
.try li p{margin:4px 0 0;font-size:13px;line-height:1.45;color:var(--fg);opacity:.8;
display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cat{font:600 10.5px var(--mono);color:var(--accent);text-transform:uppercase;letter-spacing:.6px}
main{max-width:1280px;margin:0 auto;padding:0 16px 24px;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:44px}
article{padding:12px 0;border-bottom:1px solid var(--line);position:relative}
article.new::before,.try li.new::before{content:"NEW";position:absolute;left:-44px;top:15px;font:700 9px var(--mono);color:var(--accent);
letter-spacing:.5px}
.try li{position:relative}.try li.new{background:linear-gradient(90deg,var(--new),transparent 70%)}
article.cur{background:var(--accent-soft);box-shadow:-10px 0 0 var(--accent-soft),10px 0 0 var(--accent-soft)}
article h3{margin:3px 0;font-weight:650}
.big h3{font:700 22px/1.22 var(--serif);letter-spacing:-.2px}
.small h3{font-size:14.5px;line-height:1.35}
article p{margin:5px 0}.small p{font-size:13.5px;color:var(--muted)}
.why{font:italic 500 15px/1.4 var(--serif);color:var(--accent)}
.meta,.more{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.more{display:block;margin-top:5px}.more a{text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:2px}
.fav{width:14px;height:14px;border-radius:3px;vertical-align:-2px}
.src{font-weight:650;color:var(--fg)}
.perm{opacity:0;font:600 12px var(--mono);color:var(--muted);margin-left:2px}article:hover .perm,article.cur .perm{opacity:1}
.hn{white-space:nowrap}
.facts{font:11.5px/1.4 var(--mono);color:var(--muted);margin-top:4px}
.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}
.b{font:600 10.5px/1 var(--mono);padding:4px 7px;border-radius:5px;background:var(--line);color:var(--fg);letter-spacing:.2px}
.b.org{background:transparent;border:1px solid var(--line)}
.b.open{background:var(--open-soft);color:var(--open)}.b.closed{background:var(--closed-soft);color:var(--closed)}
.b.official{background:var(--accent-soft);color:var(--accent)}
.older{display:inline-block;margin:12px 0 4px;font-size:13px;font-weight:650;color:var(--accent)}
.dl{display:inline-block;font:600 12.5px var(--sans);padding:6px 12px;border-radius:7px;background:var(--accent);color:#fff;white-space:nowrap}
.dl:hover{color:#fff;opacity:.9}
.trackers a{display:block;padding:9px 0;border-bottom:1px solid var(--line);font-weight:600;font-size:14px}
.ship{background:var(--card);border-top:2px solid var(--fg);margin-top:16px}
.ship>*{max-width:1280px;margin-left:auto;margin-right:auto;padding-left:16px;padding-right:16px}
.ship h2.band{font:700 26px/1.2 var(--serif);text-transform:none;letter-spacing:-.3px;color:var(--fg);border:0;margin:0;padding-top:26px}
.ship .grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px;padding-bottom:40px}
body[data-filter=open] .story:not([data-open=open]),body[data-filter=closed] .story:not([data-open=closed]){display:none}
body.compact article p,body.compact .badges,body.compact .facts,body.compact .more{display:none}
body.compact article{padding:7px 0}body.compact .big h3{font-size:17px}
footer{max-width:1280px;margin:0 auto;padding:22px 16px 40px;font-size:13px;color:var(--muted);display:flex;gap:6px 10px;flex-wrap:wrap}
footer .count{font:11px var(--mono);color:var(--muted);opacity:.6;margin-left:12px}
footer a{font-weight:600;color:var(--fg)}footer .credit,footer .credit a{font-weight:400;color:var(--muted)}.keys{margin-left:auto}
kbd{font:11px var(--mono);border:1px solid var(--line);border-bottom-width:2px;border-radius:4px;padding:0 4px}
.arch{max-width:880px;margin:0 auto;padding:8px 16px 40px}
.arch h1{font:700 38px/1.15 var(--serif);letter-spacing:-.5px;margin:18px 0 8px}
.kicker{font:600 11.5px var(--mono);text-transform:uppercase;letter-spacing:1px;color:var(--accent)}
.lede{font:500 19px/1.5 var(--serif)}
.prose p{font-size:16px;line-height:1.65}.prose h2{margin-top:30px}
.go{font-weight:700;color:var(--accent)}
.note{color:var(--muted);font-size:14px}
.editions{list-style:none;padding:0}.editions li{padding:10px 0;border-bottom:1px solid var(--line)}.editions small{color:var(--muted)}
.model{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;font:13px var(--mono);background:var(--card);
border:1px solid var(--line);border-radius:10px;padding:12px 16px}.model dt{color:var(--muted)}.model dd{margin:0}
.timeline{list-style:none;padding:0}.timeline li{padding:8px 0;border-bottom:1px solid var(--line);font-size:14px}
.timeline time{font:12px var(--mono);color:var(--muted);margin-right:8px}
.pager{display:flex;justify-content:space-between;margin:24px 0;font-weight:650}
.scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13.5px}
th{font:600 11px var(--mono);text-transform:uppercase;letter-spacing:.8px;color:var(--muted);text-align:left;padding:8px;border-bottom:2px solid var(--fg)}
td{padding:9px 8px;border-bottom:1px solid var(--line);vertical-align:top}td small{color:var(--muted)}
@media (max-width:1100px){.ship .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.try ol{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:820px){main{grid-template-columns:1fr;gap:0}.try ol,.ship .grid{grid-template-columns:1fr}.tag{display:none}
.keys{display:none}.arch h1{font-size:30px}article.new::before{position:static;margin-right:6px}}
