:root{--sky:#f4f1e9;--ink:#293c35;--body:#45594e;--muted:#647267;--line:#d1d6ca;--paper:#fbf9f2;--accent:#86623e;--serif:'Noto Serif CJK SC','Source Han Serif SC','Songti SC',STSong,Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;color-scheme:light}
body.night{--sky:#182a2a;--ink:#e0e6d9;--body:#cad7cb;--muted:#a7b9af;--line:#435a50;--paper:#203630;--accent:#dfbb8d;color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;scroll-padding-top:var(--reading-offset,140px)}body{margin:0;background:var(--sky);color:var(--ink);font:1rem/1.9 var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,article:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}p,h1,h2,h3{margin:0}button:disabled{cursor:default;opacity:.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;z-index:100;top:0;left:20px;padding:10px;background:var(--paper);transform:translateY(-110%)}.skip-link:focus{transform:none}
.site-nav{max-width:1144px;margin:auto;padding:25px 48px;display:flex;justify-content:space-between;align-items:center;gap:24px}.site-nav button{border:0;background:none;padding:8px 0}.wordmark{font:1.45rem var(--serif)!important;letter-spacing:.18em}.wordmark small{display:block;margin-top:5px;font:.75rem var(--sans);letter-spacing:.22em}.nav-links{display:flex;align-items:center;gap:26px;font-size:.875rem}.nav-links a{text-decoration:none}.nav-links button:last-child{min-width:36px;min-height:40px}
.river-head{max-width:1144px;margin:auto;padding:65px 48px 85px;display:grid;grid-template-columns:1.15fr 1fr;gap:90px;align-items:center}.eyebrow{font:.75rem/1.8 var(--sans);color:var(--accent);letter-spacing:.12em}h1{font:400 clamp(2.5rem,4.5vw,3.75rem)/1.5 var(--serif);margin:24px 0 26px}h1 em{font-style:normal;color:var(--accent)}.river-subtitle{color:var(--body);font-size:1rem;line-height:2}.now{display:flex;gap:14px;margin-top:30px;color:var(--muted);font-size:.8125rem}.now>span:first-child{flex-shrink:0;color:var(--accent);font-size:.75rem}.featured{padding-top:46px}.featured .eyebrow{color:var(--muted);margin-bottom:10px}.featured-work{padding:22px 0;border-bottom:1px solid var(--line)}.featured-work h2{font:400 1.5rem/1.6 var(--serif);margin:5px 0 10px}.featured-work h2 a{text-decoration:none}.featured-work h2 a:hover{text-decoration:underline}.featured-work p{font-size:.875rem;color:var(--body);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.featured-meta{font-size:.75rem;color:var(--muted)}
.reading-heading{max-width:1000px;margin:auto;padding:10px 32px 20px;display:flex;align-items:baseline;justify-content:space-between;gap:20px}.reading-heading h2{font:400 1.25rem/1.6 var(--serif)}.reading-heading p{color:var(--muted);font-size:.75rem}.reading-tools{position:sticky;top:0;z-index:20;background:var(--sky);border-block:1px solid var(--line)}.reading-tools-inner{max-width:1000px;margin:auto;padding:9px 32px}#theme-filters{display:flex;gap:24px;flex-wrap:wrap}#theme-filters button{font-size:.875rem;border:0;background:none;color:var(--body);padding:9px 0;border-bottom:1px solid transparent}#theme-filters button[aria-pressed=true]{border-color:var(--accent);color:var(--ink)}#theme-filters small{font-size:.75rem;color:var(--muted);margin-left:6px}.reading-guide{display:flex;align-items:center;gap:18px;min-height:38px;flex-wrap:wrap}.reading-guide p{font-size:.75rem;color:var(--muted);margin-right:auto}.reading-guide button{font-size:.875rem;border:0;background:none;padding:6px 0}.reading-guide button span{color:var(--muted);margin-left:5px}
#river-flow-content{max-width:1000px;margin:32px auto 0;padding:0 32px;display:flow-root;overflow-anchor:none}
.month-marker{display:flex;align-items:center;gap:18px;margin:42px 0 28px 4%;font-size:.8125rem;color:var(--muted);letter-spacing:.08em}
.month-marker:first-child{margin-top:0}
.month-marker::after{content:'';width:48px;height:1px;background:var(--line)}
.fragment{width:68%;margin:0 0 44px 4%;padding:0 0 0 20px;overflow-wrap:anywhere;border-left:2px solid transparent}
.fragment.whisper{width:58%;margin-left:32%;margin-bottom:38px}
.fragment.work{width:76%;margin-left:12%;margin-bottom:48px}
.fragment.thought:nth-of-type(3n){margin-left:20%}
.fragment-card{position:relative}
.fragment.work .fragment-card{padding:20px 0 0;border-top:1px solid var(--line)}
.fragment-meta{display:flex;gap:5px 14px;align-items:center;flex-wrap:wrap;font-size:.75rem;color:var(--muted);margin-bottom:9px}
.fragment-meta button{padding:4px 0;border:0;background:none;font-size:.875rem;color:var(--muted)}
.fragment-meta button:hover{color:var(--ink);text-decoration:underline}
.fragment h3{font:400 1.3rem/1.7 var(--serif);margin-bottom:8px}
.fragment.work h3{font-size:1.25rem}
.fragment-body{font-size:1rem;line-height:2;color:var(--body);white-space:pre-line}
.whisper .fragment-body{font-family:var(--serif)}
.fragment-body.excerpt{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.fragment-actions{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-top:10px;font-size:.875rem}
.text-action{border:0;background:none;color:var(--accent);padding:6px 0;text-decoration:none}
.text-action:hover{text-decoration:underline;text-underline-offset:5px}
.availability{font-size:.8125rem;color:var(--muted)}
.fragment:target{border-left-color:var(--accent)}
#river-flow-content.filtered .fragment:nth-child(n){width:min(100%,680px);margin:0 auto 40px;padding-left:0;border-left:0}
#river-flow-content.filtered .month-marker{max-width:680px;margin-left:auto;margin-right:auto}
.load-area{text-align:center;margin:0 auto 70px;padding:0 24px}.load-area p{font-size:.75rem;color:var(--muted)}.load-area button{font-size:.875rem;padding:10px 2px;margin-top:12px;border:0;border-bottom:1px solid var(--line);background:none}.empty-state{max-width:700px;margin:40px auto;padding:30px;color:var(--body)}.estuary-gate{text-align:center;padding:95px 24px 110px;background:linear-gradient(var(--sky),#bcc9c0 40%,#567578 74%,#193a40);color:#263f3d}.estuary-gate .eyebrow{color:#415d55}.estuary-gate h2{font:400 clamp(2rem,4vw,2.8rem)/1.6 var(--serif);margin:18px 0}.estuary-gate>p:not(.eyebrow){font-size:.875rem}.sea-description{line-height:2.1;margin:22px auto 40px}.sea-link{font-size:1rem;color:#fff;border-bottom:1px solid #a8c3bf;padding:8px 0;text-decoration:none}body.night .estuary-gate{background:linear-gradient(var(--sky),#193a40);color:#dce7dd}body.night .estuary-gate .eyebrow{color:#b3c5bd}footer{text-align:center;background:#193a40;color:#c0d2ce;padding:24px;font-size:.75rem}footer a{text-decoration:none}
body:has(dialog[open]){overflow:hidden}dialog{margin:auto;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);width:min(730px,calc(100% - 32px));max-height:85vh;max-height:85dvh;overflow:auto}dialog::backdrop{background:#102d2a99;backdrop-filter:blur(4px)}.dialog-inner{padding:46px;position:relative}.dialog-close{position:absolute;right:12px;top:8px;min-width:44px;min-height:44px;font-size:1.65rem;border:0;background:none}.dialog-inner h2{font:400 1.8rem/1.6 var(--serif);margin:0 36px 18px 0;overflow-wrap:anywhere}.dialog-description{font-size:.875rem;color:var(--muted);margin-bottom:22px}.theme-row{display:grid;grid-template-columns:64px 1fr auto;align-items:center;gap:20px;width:100%;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;padding:20px 0}.theme-row strong{font:400 1.2rem var(--serif)}.theme-row span{font-size:.875rem;color:var(--body)}.theme-row small{font-size:.75rem;color:var(--muted)}.elsewhere{display:flex;gap:14px 22px;flex-wrap:wrap;margin-top:28px;font-size:.875rem}.full-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;line-height:2.1;color:var(--body)}.full-meta{font-size:.75rem;color:var(--muted);margin-bottom:16px}.full-body p{margin:18px 0}.full-body a{color:var(--accent)}#search-input{width:100%;border:0;border-bottom:1px solid var(--line);background:transparent;border-radius:0;padding:14px 0;color:var(--ink);margin-bottom:12px;font-size:1rem}#search-input::placeholder{color:var(--muted)}.search-result{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:16px 0;text-decoration:none}.search-result small{display:block;font-size:.75rem;color:var(--muted);margin-bottom:6px}.search-result strong{font-size:1rem;font-weight:400;overflow-wrap:anywhere}.search-result:hover strong{text-decoration:underline}.about-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:22px;font-size:.875rem}
@media(max-width:900px){.river-head{gap:40px;padding:45px 36px 65px}.fragment.work{width:80%;margin-left:8%}.fragment.thought{width:75%}.fragment.thought:nth-of-type(3n){margin-left:16%}.fragment.whisper{width:60%;margin-left:32%}}
@media(max-width:600px){.site-nav{padding:18px 24px;gap:16px}.nav-links{gap:16px}.wordmark{font-size:1.2rem!important}.river-head{display:block;padding:30px 24px 46px}h1{font-size:2.6rem;margin-top:18px}.featured{padding:32px 0 0}.featured-work{padding:18px 0}.featured-work h2{font-size:1.3rem}.reading-heading{padding:0 24px 18px;display:block}.reading-heading p{margin-top:8px}.reading-tools-inner{padding:8px 24px}#theme-filters{gap:10px 19px}#theme-filters button{padding:7px 0}#theme-filters small{margin-left:3px}.reading-guide{gap:5px 16px}.reading-guide p{flex-basis:100%}.reading-guide button:last-child{margin-left:auto}#river-flow-content{padding:0 24px;margin-top:24px}.month-marker{margin:32px 0 24px}.fragment:nth-child(n){width:100%;margin:0 0 32px;padding-left:0;border-left:0}.fragment.whisper:nth-child(n){width:94%;margin-left:6%;margin-bottom:30px}.fragment.work .fragment-card{padding:16px 0 0}.fragment h3{font-size:1.2rem}.fragment-meta{gap:4px 12px}#river-flow-content.filtered .fragment:nth-child(n){margin-bottom:32px}.estuary-gate{padding:70px 24px 90px}.dialog-inner{padding:44px 24px 28px}.theme-row{grid-template-columns:1fr auto;gap:8px}.theme-row span{grid-row:2;grid-column:1/-1}.theme-row small{grid-row:1;grid-column:2}.dialog-inner h2{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
