@font-face{font-family:Source;src:url(fonts/SourceSerif.woff2) format('woff2');font-display:swap;font-weight:200 900}@font-face{font-family:Plex;src:url(fonts/PlexSans.woff2) format('woff2');font-display:swap;font-weight:100 900}@font-face{font-family:Mono;src:url(fonts/Mono.woff2) format('woff2');font-display:swap}
:root{color-scheme:light;--bg-canvas:#fbf7ef;--bg-surface:#fffaf1;--bg-inset:#e9e4d8;--text-primary:#090d16;--text-secondary:#1e293b;--text-muted:#475569;--accent:#254d60;--rule:#7b807b;--focus:#254d60;--grain:rgba(24,38,39,.006);--serif:Source,Georgia,serif;--sans:Plex,Arial,sans-serif;--mono:Mono,monospace}
:root[data-theme=dark]{color-scheme:dark;--bg-canvas:#111718;--bg-surface:#192123;--bg-inset:#263031;--text-primary:#f4eedf;--text-secondary:#e1ded3;--text-muted:#bec8c6;--accent:#d1bb83;--rule:#66716e;--focus:#ebd8a6;--grain:rgba(230,223,206,.025)}
:root{--bar-1:#254d60;--bar-2:#5c8496;--bar-3:#94adb6;--bar-4:#c3d2d5;--bar-5:#e6ecec;--flash:rgba(37,77,96,.16)}
:root[data-theme=dark]{--bar-1:#d1bb83;--bar-2:#a99a71;--bar-3:#7f775c;--bar-4:#58544a;--bar-5:#363430;--flash:rgba(209,187,131,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg-canvas);color:var(--text-secondary);font:18px/1.65 var(--serif);background-image:repeating-linear-gradient(0deg,var(--grain) 0,var(--grain) 1px,transparent 1px,transparent 5px)}a{color:var(--accent);text-underline-offset:4px}a:hover{text-decoration-thickness:2px}button,input,select{font:inherit;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button,input,select{border:1px solid var(--rule);background:var(--bg-surface)}button{min-height:44px;padding:8px 16px}button:hover{background:var(--bg-inset)}.skip{position:fixed;top:-100px;left:16px;z-index:20;background:var(--bg-surface);padding:12px}.skip:focus{top:12px}.wrap{max-width:1280px;margin:auto;padding:0 44px}header{background:var(--bg-canvas);border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:10}header .wrap{display:flex;align-items:center;justify-content:space-between;min-height:82px;gap:20px}.brand{font:600 16px var(--sans);letter-spacing:.025em;color:var(--text-primary);text-decoration:none}.brand span{display:block;font:10px var(--mono);letter-spacing:.14em;color:var(--text-muted);margin-top:6px}.nav{display:flex;align-items:center;gap:22px;font:13px var(--sans)}.theme{border-radius:50px;padding:8px 14px;font:13px var(--sans)}.eyebrow{font:12px var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--text-muted)}.hero{padding-top:62px;max-width:760px;padding-bottom:20px}h1,h2,h3{font-weight:450;line-height:1.06;color:var(--text-primary);font-kerning:normal}h1{font-size:clamp(48px,6.3vw,88px);letter-spacing:-.045em;margin:23px 0}h1 em{font-style:italic;color:var(--accent)}.deck{font-size:21px;line-height:1.5;max-width:630px;margin:22px 0}.caption{font:12px/1.6 var(--sans);color:var(--text-muted)}.hero-figure{padding:24px 0 10px;position:relative}.hero-base{font:italic 66px var(--serif);text-align:center;color:var(--accent);margin-bottom:5px}.hero-stem{width:1px;height:38px;background:var(--rule);margin:auto}.hero-branches{display:grid;grid-template-columns:1fr 1fr 1fr;text-align:center;border-top:1px solid var(--rule)}.hero-branches>div{position:relative;padding-top:33px;font-size:27px;color:var(--text-primary)}.hero-branches>div:before{content:'';height:24px;width:1px;background:var(--rule);position:absolute;top:0;left:50%}.hero-branches small{font:11px var(--mono);color:var(--text-muted);display:block;margin-top:4px}.hero-figure figcaption{margin-top:28px;text-align:center}.work-heading{border-top:1px solid var(--rule);padding-top:26px;display:flex;justify-content:space-between;align-items:baseline;gap:20px}.work-heading h2{font-size:29px;margin:0}.toolbar{display:grid;grid-template-columns:1fr 190px 210px;gap:12px;margin:20px 0 15px}.field label{display:block;font:12px var(--sans);margin-bottom:7px;color:var(--text-muted)}input,select{min-height:50px;width:100%;padding:10px 14px;border-radius:2px;font:16px var(--sans)}input[type=search]{font-size:18px}.result-meta{display:flex;align-items:center;justify-content:space-between;gap:14px;font:12px var(--mono);color:var(--text-muted);margin:14px 0}.text-button{font:13px var(--sans);border:0;background:transparent;padding:8px 0;text-decoration:underline;text-underline-offset:4px}.register{display:grid;grid-template-columns:290px minmax(0,1fr);border:1px solid var(--rule);background:var(--bg-surface);min-height:630px}.index{border-right:1px solid var(--rule);padding:10px 0;display:flex;flex-direction:column}.name-list{height:525px;overflow:auto;scrollbar-color:var(--rule) var(--bg-surface)}.name-option{width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--bg-inset);padding:9px 21px;display:flex;align-items:center;justify-content:space-between;gap:8px;font:18px var(--serif);min-height:47px}.name-option[aria-pressed=true]{background:var(--bg-inset);box-shadow:inset 3px 0 var(--accent);color:var(--text-primary)}.name-option small{font:10px var(--sans);color:var(--text-muted)}.pagination{display:flex;align-items:center;justify-content:space-around;margin-top:auto;padding:15px 10px 3px;gap:12px;font:12px var(--mono)}.pagination button{padding:5px 12px}.entry{padding:34px 44px;min-width:0}.entry-top{display:flex;justify-content:space-between;align-items:center;gap:15px;font:11px var(--mono);color:var(--text-muted)}.entry h3{font-size:clamp(38px,5vw,65px);margin:16px 0 21px;overflow-wrap:anywhere;letter-spacing:-.02em}.formula{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font:19px var(--mono);padding:18px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);color:var(--accent)}.formula button{font:inherit;border:0;border-bottom:1px dotted var(--accent);padding:5px 1px;background:transparent}.formula .symbol{color:var(--text-muted);font-size:15px}.entry-note{font-size:20px;line-height:1.6;margin:23px 0 12px}.entry-source{font:12px/1.6 var(--sans)}.relation-title{font:12px var(--mono);color:var(--text-muted);margin-top:29px}.branches{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 6px}.branches button{font:15px var(--serif);border-radius:2px;min-height:44px;padding:7px 12px}.limit{font:12px/1.65 var(--sans);color:var(--text-muted);margin-top:14px}.comparison{margin-top:25px;padding-top:20px;border-top:1px solid var(--rule)}.compare-form{display:flex;align-items:end;gap:10px}.compare-form .field{flex:1}.compare-form button{font:14px var(--sans);min-height:50px}.compare-output{font:15px/1.6 var(--sans);margin-top:16px;color:var(--text-secondary)}.chain{font:13px/1.7 var(--mono);overflow-wrap:anywhere;margin:10px 0}.editorial{display:grid;grid-template-columns:250px minmax(0,700px);gap:54px;margin:90px 0 70px}.editorial aside{font:12px/1.8 var(--mono);color:var(--text-muted);padding-top:6px}.prose h2{font-size:38px;margin:0 0 26px;line-height:1.15}.prose h3{font-size:27px;margin:42px 0 16px}.prose p{font-size:20px;margin:20px 0}.prose .lead{font-size:26px;line-height:1.5}.prose .source-list{font:14px/1.8 var(--sans);padding-left:18px}.source-list li{padding-bottom:12px}.method{border-top:1px solid var(--rule);padding-top:40px}.method .prose p{font-size:17px}.stats{display:flex;gap:40px;margin:24px 0 26px;flex-wrap:wrap}.stat strong{display:block;font:34px var(--serif);color:var(--text-primary)}.stat span{font:11px var(--sans);color:var(--text-muted)}.status{min-height:1.6em;font:12px var(--sans);color:var(--text-muted)}footer{border-top:1px solid var(--rule);padding:30px 0;margin-top:80px;font:12px var(--sans)}footer .wrap{display:flex;justify-content:space-between;gap:20px}footer nav{display:flex;gap:25px}.empty{padding:25px;font:15px/1.6 var(--sans)}.nojs{padding:20px;border:1px solid var(--rule)}[hidden]{display:none!important}
.bar-wrap{margin:22px 0 6px}
.bar{display:block;width:100%;height:32px;border-radius:2px;border:1px solid var(--rule)}
.bar-seg-1{fill:var(--bar-1)}.bar-seg-2{fill:var(--bar-2)}.bar-seg-3{fill:var(--bar-3)}.bar-seg-4{fill:var(--bar-4)}.bar-seg-5{fill:var(--bar-5)}
.bar-labels{display:flex;flex-wrap:wrap;margin-top:12px;font:12px var(--mono);color:var(--text-muted);gap:6px 22px}
.bar-labels span{display:flex;align-items:center;gap:7px}
.bar-labels i{width:10px;height:10px;border-radius:2px;display:inline-block;background:currentColor}
.bar-labels span:nth-child(1) i{color:var(--bar-1)}.bar-labels span:nth-child(2) i{color:var(--bar-2)}.bar-labels span:nth-child(3) i{color:var(--bar-3)}.bar-labels span:nth-child(4) i{color:var(--bar-4)}.bar-labels span:nth-child(5) i{color:var(--bar-5)}
.rail-section,.river-section{margin:35px 0 55px;padding-top:28px;border-top:1px solid var(--rule)}
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.rail-card{text-align:left;padding:18px 20px 20px;border-radius:2px;display:flex;flex-direction:column;gap:6px;min-height:0;transition:border-color .15s ease}
.rail-card:hover{border-color:var(--accent)}
.rc-name{font:22px var(--serif);color:var(--text-primary)}
.rc-note{font:14.5px/1.45 var(--sans);color:var(--text-secondary)}
.rc-steps{font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:4px}
.river{display:flex;flex-direction:column}
.river-row{display:flex;align-items:center;gap:18px;padding:13px 0;border-top:1px solid var(--bg-inset)}
.river-row:last-child{border-bottom:1px solid var(--bg-inset)}
.river-name{flex:0 0 108px;text-align:left;background:transparent;border:0;min-height:0;padding:4px 0;font:17px var(--serif);color:var(--text-primary);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px}
.river-name:hover{text-decoration-color:var(--accent)}
.river-track{flex:1;min-width:0}
.river-endpoints{display:flex;justify-content:space-between;font:11px var(--mono);color:var(--text-muted);margin-bottom:5px;gap:10px}
.river-endpoints span:last-child{text-align:right}
.river-svg{display:block;width:100%;height:14px}
.river-baseline{stroke:var(--rule);stroke-width:2}
.river-dot{fill:var(--accent)}
.river-steps{flex:0 0 64px;text-align:right;font:11px var(--mono);color:var(--text-muted)}
.entry.flash{animation:entry-flash .9s ease}
@keyframes entry-flash{0%{background:var(--flash)}100%{background:transparent}}
@media(min-width:1600px){.wrap{max-width:1400px}.hero{gap:110px}}
@media(max-width:800px){.wrap{padding:0 23px}header .wrap{min-height:75px;gap:10px}.brand{font-size:13px}.brand span{font-size:8px;letter-spacing:.05em}.nav{gap:13px;font-size:12px}.nav .about-link{display:none}.theme{font-size:11px;padding:8px 10px}.hero{grid-template-columns:1fr;gap:6px;padding-top:34px;padding-bottom:24px}h1{font-size:58px;margin:20px 0;line-height:1.03}.deck{font-size:20px}.hero-figure{display:none}.work-heading{padding-top:20px;align-items:start}.work-heading h2{font-size:25px}.work-heading .eyebrow{font-size:10px;max-width:110px;text-align:right}.toolbar{grid-template-columns:1fr 1fr;gap:12px}.toolbar .field:first-child{grid-column:1/-1}.toolbar select{font-size:14px;padding:9px}.result-meta{font-size:10px}.register{display:block;min-height:0}.index{border-right:0;border-bottom:1px solid var(--rule);padding:0}.name-list{height:150px;display:grid;grid-template-columns:1fr 1fr;align-content:start}.name-option{padding:10px 13px;font-size:17px}.name-option small{display:none}.pagination{padding:8px 12px}.entry{padding:27px 22px}.entry h3{font-size:45px}.entry-note{font-size:19px}.entry-top{font-size:10px}.formula{font-size:17px}.comparison .compare-form{display:block}.compare-form button{margin-top:10px;width:100%}.editorial{display:block;margin:55px 0 45px}.editorial aside{margin-bottom:20px}.prose h2{font-size:33px}.prose p{font-size:19px}.prose .lead{font-size:23px}.stats{gap:25px}.stat strong{font-size:29px}footer{margin-top:50px}footer .wrap{display:block}footer nav{margin-top:15px}.entry-source{overflow-wrap:anywhere}.rail{grid-template-columns:1fr 1fr;gap:10px}.river-name{flex-basis:76px;font-size:15px}.river-steps{flex-basis:50px;font-size:10px}.bar-labels{font-size:11px;gap:5px 14px}}
@media(max-width:520px){.rail{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{header,.toolbar,.index,.comparison,.theme,.result-meta{display:none}.register{display:block}.entry{padding:20px}.wrap{padding:0}.hero{display:block}.editorial{display:block}body{background:var(--bg-surface)}}
input::placeholder{color:var(--text-muted);opacity:1}.name-option:hover small,.name-option[aria-pressed=true] small{color:var(--text-secondary)}
