@charset "UTF-8";
:root { color-scheme: dark; --paper:#080808; --panel:#101010; --ink:#f4f4f0; --muted:#a1a1a1; --line:#2a2a2a; --serif:"Songti SC","Noto Serif CJK SC","SimSun",serif; --sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; --mono:"SFMono-Regular",Consolas,monospace; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:32px; }
body { margin:0; background:var(--paper); color:var(--ink); font:14px/1.6 var(--sans); -webkit-font-smoothing:antialiased; }
body::before { content:""; position:fixed; inset:0; pointer-events:none; opacity:.025; background-image:linear-gradient(#fff 1px,transparent 1px),linear-gradient(90deg,#fff 1px,transparent 1px); background-size:48px 48px; z-index:-1; }
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; cursor:pointer; }
a,button { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
img { display:block; max-width:100%; }
[hidden] { display:none!important; }
h1,h2,h3,p,figure { margin:0; }
h1,h2,h3 { font-weight:400; font-family:var(--serif); }
.skip { position:fixed; top:-80px; left:20px; background:var(--paper); padding:12px; z-index:100; }
.skip:focus { top:10px; }
.site-header,.section,footer { width:min(880px,calc(100% - 64px)); margin-inline:auto; }
.site-header { height:88px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--line); }
.brand { font-size:18px; font-weight:600; letter-spacing:.1em; white-space:nowrap; }
.brand span { margin-left:12px; color:var(--muted); font:10px var(--mono); letter-spacing:.1em; }
.site-header nav { color:var(--muted); font-size:12px; }
.site-header nav a:hover,footer a:hover { color:var(--ink); }
.weekly-index { min-height:calc(100svh - 166px); padding-block:66px 76px; }
.weekly-heading { margin-bottom:38px; }
.index-kicker { font:10px/1.6 var(--mono); letter-spacing:.14em; color:var(--muted); margin-bottom:21px; }
.weekly-heading h1 { font-size:44px; line-height:1.3; letter-spacing:.04em; }
.index-note { margin-top:18px; font-size:13px; color:var(--muted); }
.weekly-list { display:grid; gap:10px; }
.weekly-entry { display:grid; grid-template-columns:88px 1fr 104px; gap:13px 24px; align-items:center; padding:25px 27px; border:1px solid var(--line); border-radius:3px; background:var(--panel); transition:border-color .18s,background .18s; }
.weekly-number { grid-column:1; grid-row:1; font:11px/1.6 var(--mono); color:var(--muted); }
.weekly-entry h2 { grid-column:2; grid-row:1; font-size:26px; letter-spacing:.04em; }
.weekly-excerpt { grid-column:2; grid-row:2; font-size:12px; line-height:1.9; color:var(--muted); max-width:460px; }
.weekly-entry time { grid-column:3; grid-row:1; font:10px/1.6 var(--mono); color:var(--muted); text-align:right; }
.entry-arrow { grid-column:3; grid-row:2; justify-self:end; font-size:11px; }
.weekly-entry:hover { border-color:#666; background:#161616; }
footer { display:flex; justify-content:space-between; gap:20px; border-top:1px solid var(--line); padding-block:23px 30px; font:10px/1.6 var(--mono); color:var(--muted); }
.story-header,.story-body,.story-nav { width:min(680px,calc(100% - 64px)); margin-inline:auto; }
.story-header { padding-block:62px 36px; border-bottom:1px solid var(--line); }
.story-rubric { font:11px/1.6 var(--mono); color:var(--muted); }
.story-rubric span { margin-left:16px; }
.story-header h1 { font-size:44px; line-height:1.4; letter-spacing:.04em; margin-top:22px; }
.story-deck { margin-top:18px; color:var(--muted); font-size:13px; }
.story-body { padding-block:20px 56px; font:17px/2.15 var(--serif); overflow-wrap:anywhere; color:#d5d5d2; }
.story-body p { margin-block:26px; }
.story-body h2,.story-body h3 { color:var(--ink); font-size:25px; margin:56px 0 24px; }
.story-body strong { font-weight:600; color:var(--ink); }
.story-body blockquote { margin:32px 0; padding-left:22px; border-left:1px solid #555; color:var(--muted); }
.story-body blockquote p { margin-block:0; }
.story-body ul { padding-left:24px; }
.story-body code { font:inherit; }
.story-body a:not(.story-photo) { text-decoration:underline; text-underline-offset:4px; }
.story-photo { display:block; margin-block:40px 28px; }
.story-body img { width:auto; max-height:780px; margin-inline:auto; object-fit:contain; }
.story-nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; padding-bottom:64px; }
.story-nav a { padding:18px 16px; border:1px solid var(--line); border-radius:3px; background:var(--panel); font-family:var(--serif); }
.story-nav a:hover { border-color:#666; }
.story-nav small { display:block; font:10px var(--mono); margin-bottom:10px; color:var(--muted); }
.story-nav [aria-current="page"] { color:var(--muted); }
.lightbox { max-width:none; max-height:none; width:100%; height:100%; inset:0; margin:0; border:0; background:#080808; color:var(--ink); padding:75px 80px 85px; }
.lightbox::backdrop { background:#080808; }
.lightbox[open] { display:flex; align-items:center; justify-content:center; }
.lightbox img { width:100%; height:100%; object-fit:contain; }
.lightbox-bar,.lightbox-caption { position:absolute; left:32px; right:32px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; }
.lightbox-bar { top:22px; }.lightbox-caption { bottom:27px; }
.lightbox button { border:0; background:none; padding:12px; }
.photo-prev,.photo-next { position:absolute; top:48%; font-size:24px; }
.photo-prev { left:12px; }.photo-next { right:12px; }
body:has(.lightbox[open]) { overflow:hidden; }
@media(max-width:600px) {
 .site-header,.section,footer,.story-header,.story-body,.story-nav { width:calc(100% - 36px); }
 .site-header { height:72px; }.brand span { font-size:8px; margin-left:6px; letter-spacing:0; }.site-header nav { font-size:11px; }
 .weekly-index { padding-block:43px 50px; }.weekly-heading { margin-bottom:28px; }.weekly-heading h1,.story-header h1 { font-size:35px; }
 .weekly-entry { grid-template-columns:1fr auto; gap:14px; padding:21px 19px; }
 .weekly-number { grid-column:1; grid-row:1; }.weekly-entry time { grid-column:2; grid-row:1; }
 .weekly-entry h2 { grid-column:1 / -1; grid-row:2; font-size:25px; }
 .weekly-excerpt { grid-column:1 / -1; grid-row:3; }.entry-arrow { grid-column:2; grid-row:4; margin-top:3px; }
 .story-header { padding-block:42px 28px; }.story-body { font-size:16px; }.story-nav { gap:6px; }.story-nav a { font-size:12px; padding:14px 10px; }
 .lightbox { padding:70px 32px 85px; }.lightbox-bar,.lightbox-caption { left:15px; right:15px; font-size:11px; }.photo-prev { left:0; }.photo-next { right:0; }.lightbox button { padding:7px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }.weekly-entry { transition:none; } }
