@font-face{font-family:Fraunces;src:url('./fonts/fraunces-latin.48282a415ec22e31.woff2') format('woff2');font-weight:100 900;unicode-range:U+0000-00FF,U+2000-206F,U+2212}@font-face{font-family:Fraunces;src:url('./fonts/fraunces-latin-ext.f120089b9440f3e3.woff2') format('woff2');font-weight:100 900;unicode-range:U+0100-024F}@font-face{font-family:Source;src:url('./fonts/source-serif-4-latin.2a24bad466f09b88.woff2') format('woff2');font-weight:200 900;unicode-range:U+0000-00FF,U+2000-206F,U+2212}@font-face{font-family:Source;src:url('./fonts/source-serif-4-latin-ext.a0cd390d017200f9.woff2') format('woff2');font-weight:200 900;unicode-range:U+0100-024F}
:root{--paper:#ecebe5;--surface:#f8f8f3;--ink:#202f37;--muted:#414f56;--line:#8c979b;--accent:#8c3028;--rail:#215a59;--stone:#c1c4bb;--glass:#bfced0;--ghost:#bda9a2;--bar:60px;color-scheme:light}
:root[data-theme=dark]{--paper:#17252d;--surface:#22343e;--ink:#f4f1e6;--muted:#d2d9d7;--line:#7b9099;--accent:#ffb6a3;--rail:#b5e0d3;--stone:#5c6c73;--glass:#445f6a;--ghost:#80615b;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Source,Georgia,serif;font-size:19px;line-height:1.6}a{color:inherit;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;color:var(--ink);background:var(--surface);border:1px solid var(--line);min-height:44px;padding:.4rem .85rem}button:hover{border-color:var(--accent)}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}[hidden]{display:none!important}.skip{position:fixed;top:-100px;left:20px;z-index:20;background:var(--surface);padding:12px}.skip:focus{top:65px}.topbar{position:sticky;top:0;z-index:10;background:var(--paper);border-bottom:1px solid var(--line);height:var(--bar);display:flex;align-items:center;justify-content:space-between;padding:0 4%;font:14px system-ui}.topbar nav{display:flex;align-items:center;gap:22px}.home{text-decoration:none;display:flex;gap:8px;align-items:center}.home svg{width:22px;height:22px}.topbar button{border:0;background:none;font-size:22px;padding:4px 10px}.progress{position:fixed;top:58px;left:0;height:2px;background:var(--accent);width:100%;transform-origin:left;z-index:11}.progress:after{content:'▰';position:absolute;right:0;top:-11px;font-size:14px}.wrap{max-width:1280px;margin:auto;padding:0 5%}.hero{padding-top:44px;padding-bottom:32px;display:grid;grid-template-columns:1.1fr .9fr;gap:4rem;align-items:end}.eyebrow,.plate-label,.date{font:12px system-ui;text-transform:uppercase;letter-spacing:.12em;font-weight:650}.eyebrow{color:var(--accent)}h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.09;font-weight:550;margin:0}h1{font-size:3.5rem;letter-spacing:-.035em}h1 span{display:block}h1 .subject{font-size:1.4rem;letter-spacing:0;line-height:2.2}.deck{font-size:1.3rem;line-height:1.5;margin:.8rem 0}.hero .intro{margin:0;max-width:30rem}.hero-note{font-size:14px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}.share-row{display:flex;align-items:center;gap:9px;font:13px system-ui;margin:18px 0 30px}.share-row a,.share-row button{display:grid;place-items:center;min-height:40px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:transparent;text-decoration:none;padding:0}.share-row svg{width:16px;height:16px;fill:currentColor}.share-status{font:13px system-ui}.centerpiece{border-top:2px solid var(--ink);border-bottom:1px solid var(--line);padding:20px 0 26px}.centerpiece-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:16px}.centerpiece-header h2{font-size:1.8rem}.centerpiece-header small{font:12px system-ui;color:var(--muted)}.engine{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:30px}.panels{background:var(--surface);padding:18px;min-width:0;border:1px solid var(--line)}.plate-label{display:flex;justify-content:space-between;margin:0 0 8px;color:var(--muted)}.panel svg{display:block;width:100%;height:auto;overflow:visible}.panel text{font-family:system-ui;font-size:15px;fill:var(--ink)}.panel .small{font-size:13px}.plan .room{fill:var(--stone);stroke:var(--ink);stroke-width:1}.plan .glass{fill:var(--glass)}.plan .outline{fill:none;stroke:var(--line);stroke-width:1}.route{stroke:var(--accent);stroke-width:2;fill:none;stroke-dasharray:5 5}.marker{fill:var(--accent);stroke:var(--surface);stroke-width:3}.fixedline{stroke:var(--accent);stroke-width:1.5;stroke-dasharray:5 5}.section{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.section .room{fill:var(--stone);stroke:var(--ink);stroke-width:1.5}.section .glass{fill:var(--glass)}.street{stroke:var(--ink);stroke-width:2}.rail{stroke:var(--rail);stroke-width:3}.train{fill:var(--rail)}.platform{fill:var(--stone)}.old-rooms{opacity:1}.demolition .old-rooms{opacity:.18}.new .old-rooms{display:none}.replacement{display:none;fill:var(--stone);stroke:var(--ink)}.new .replacement{display:block}.new .plan .room{opacity:.22}.new .plan .outline{stroke:var(--ink);stroke-dasharray:4 4}.demolition .plan .room{opacity:.25}.level-note{font:13px/1.5 system-ui;color:var(--muted);margin:12px 0 0}.story-view{min-width:0;display:flex;flex-direction:column}.date{color:var(--accent);margin:0 0 10px}.story-view h3{font-size:2rem}.story-view p{font-size:17px;line-height:1.55;margin:14px 0}.annotation{border-left:3px solid var(--accent);padding-left:14px;font-size:14px!important;color:var(--muted)}.evidence{margin:8px 0 0}.evidence img{width:100%;height:180px;object-fit:cover;display:block}.evidence figcaption{font:12px/1.5 system-ui;margin-top:8px;color:var(--muted)}.controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.controls button.primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.step-count{font:13px system-ui;display:flex;justify-content:space-between;align-items:center;margin-top:16px}.stage-strip{display:flex;gap:5px;margin:16px 0 0}.stage-strip button{flex:1;padding:0;min-height:36px;font:13px system-ui;border:0;border-bottom:3px solid var(--line);background:transparent}.stage-strip button[aria-current=step]{border-color:var(--accent);color:var(--accent);font-weight:bold}.compare-controls{display:flex;gap:8px;margin:12px 0 0}.compare-controls button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.reader-section{padding:70px 0;border-bottom:1px solid var(--line);scroll-margin-top:75px}.reader-section h2{font-size:2.6rem;max-width:800px;margin-bottom:25px}.reader-section h2 a{text-decoration:none}.columns{display:grid;grid-template-columns:1fr 1fr;gap:50px}.columns p{margin-top:0;max-width:42rem}.wide-figure{margin:0}.wide-figure img{width:100%;display:block;max-height:480px;object-fit:cover}.wide-figure figcaption{font:13px/1.5 system-ui;color:var(--muted);margin-top:12px}.timeline{list-style:none;padding:0;margin:0;border-left:2px solid var(--accent)}.timeline li{position:relative;padding:0 0 24px 25px;font-size:17px}.timeline li:before{content:'';position:absolute;left:-6px;top:9px;width:10px;height:10px;border-radius:50%;background:var(--accent)}.timeline time{display:block;font:14px system-ui;color:var(--accent);margin-bottom:4px}.timeline strong{display:block}.context{padding:24px;border:1px solid var(--line);margin-top:25px}.context h3{font-size:1.4rem}.context p{font-size:17px;margin-bottom:0}.sources-list{font-size:17px;line-height:1.8;padding-left:22px}.method{font-size:17px;max-width:800px}details{margin:25px 0}summary{cursor:pointer;font-size:18px;min-height:44px}.static-sequence li{padding:8px 0;font-size:16px}.source-plates{display:grid;grid-template-columns:1fr 1fr;gap:25px}.source-plates img{max-height:400px;object-fit:contain;background:#eee9d2}.footer{padding:36px 0 80px;font:14px/1.8 system-ui;color:var(--muted);display:flex;gap:20px;justify-content:space-between}.to-top{position:fixed;right:20px;bottom:max(20px,env(safe-area-inset-bottom));border-radius:50%;height:48px;width:48px;padding:0;font:13px system-ui;z-index:9}.suggest{padding:12px 5%;font:14px system-ui;background:var(--surface)}.suggest button{margin-left:12px}.js-ready .only-static{display:none}.only-js{display:none}.js-ready .only-js{display:flex}@media(min-width:1500px){.wrap{max-width:1400px}}@media(max-width:800px){.hero{gap:25px}.engine{grid-template-columns:1fr}.panels{max-width:100%}.story-view{display:grid;grid-template-columns:1fr 1fr;column-gap:22px}.story-copy{grid-column:1}.evidence{grid-column:2;grid-row:1 / span 2}.controls,.step-count,.compare-controls{grid-column:1 / -1}.columns{gap:25px}h1{font-size:2.7rem}}@media(max-width:550px){body{font-size:18px}.topbar{padding:0 5%}.topbar nav{gap:13px}.topbar .jump{display:none}.hero{grid-template-columns:1fr;padding-top:22px;gap:12px}.hero h1{font-size:2.2rem}.hero h1 .subject{font-size:1.1rem}.hero .deck{font-size:1.1rem}.hero-note{display:none}.share-row{margin:6px 0 22px}.wrap{padding:0 5%}.centerpiece-header{align-items:start;gap:12px}.centerpiece-header h2{font-size:1.35rem}.centerpiece-header small{max-width:110px;font-size:10px}.engine{gap:20px}.panels{padding:12px}.panel text{font-size:22px}.panel .small{font-size:19px}.plan .room-label{display:none}.plan-legend{display:flex;gap:12px;flex-wrap:wrap;font:12px system-ui;margin-top:8px}.plan-legend span{white-space:nowrap}.section{margin-top:12px}.story-view{display:flex}.story-view h3{font-size:1.7rem}.story-view p{font-size:17px}.evidence img{height:210px}.stage-strip button{min-height:44px}.reader-section{padding:45px 0}.reader-section h2{font-size:2rem}.columns,.source-plates{grid-template-columns:1fr;gap:25px}.footer{display:block}.footer a{display:inline-block;padding:8px 0}.level-note{font-size:12px}.controls{gap:7px}.controls button{font-size:15px}.share-row a,.share-row button{height:44px;width:44px}.wide-figure img{max-height:380px}}
@media(min-width:551px){.plan-legend{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
.plate-label{gap:12px}.plate-label span:last-child{text-align:right}
@media(max-width:550px){.engine{display:flex;flex-direction:column}.story-view{display:contents}.controls{order:-2;margin-top:0}.compare-controls{order:-1}.panels{order:0}.story-copy{order:1}#stage-evidence{order:2}.step-count{order:3}.plate-label{font-size:10px;letter-spacing:.08em}}
.topbar .to-top{position:static;width:44px;height:44px;min-width:44px;font:12px system-ui;padding:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:50%}
