:root{--ink:#283c39;--paper:#f3f0e7;--line:#c9c9ba;--accent:#926347;--muted:#67716a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a,input{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,#viewer:focus-visible{outline:3px solid var(--accent);outline-offset:4px}header{padding:25px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:30px Georgia,serif}.wordmark em{font-size:27px}nav{display:flex;gap:34px;font-size:13px}main{padding:0 5%}.intro{padding:58px 0 55px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;line-height:1.7}.title-row{display:flex;justify-content:space-between;align-items:flex-end;gap:35px}h1{font:clamp(60px,8vw,128px)/.98 Georgia,serif;letter-spacing:-5px;margin:27px 0 0;font-weight:400}h1 em,h2 em{font-weight:400}.intro-note{padding-bottom:7px;min-width:260px}.edition{display:block;font-size:10px;letter-spacing:2px;color:var(--accent)}.intro-note p{font:21px/1.5 Georgia,serif}.text-link{display:block;font-size:12px;padding:14px 0;border-top:1px solid var(--line)}.text-link span{float:right;font-size:20px}.section-heading{display:flex;align-items:center;justify-content:space-between;padding:25px 0;border-top:1px solid var(--line);gap:20px}.section-heading>div{display:flex;gap:18px;align-items:center}.number{font-size:11px;color:var(--accent)}h2{font:38px/1.15 Georgia,serif;letter-spacing:-1px;font-weight:400;margin:0}.section-heading p{font-size:12px;color:var(--muted)}.viewer-shell{display:grid;grid-template-columns:1fr 255px;border:1px solid var(--line);min-height:590px}#viewer{position:relative;min-width:0;min-height:590px;background:#e6e5da;overflow:hidden}canvas{display:block;width:100%;height:100%}.view-stamp{position:absolute;top:24px;left:26px;z-index:1;pointer-events:none;display:grid;gap:8px;font-size:10px;letter-spacing:2px}.view-stamp small{font-size:8px;letter-spacing:1px;color:var(--muted)}.viewer-legend{position:absolute;bottom:18px;left:26px;font-size:10px;color:#55615b;pointer-events:none;background:#eeeee3d9;padding:8px 10px}.view-panel{border-left:1px solid var(--line);padding:27px 23px;background:#eeeee4}.preset-list{margin-top:19px}.preset-list button{border:0;border-bottom:1px solid var(--line);background:none;padding:17px 0;width:100%;display:flex;align-items:center;text-align:left;color:var(--ink);font-size:12px;cursor:pointer}.preset-list button span{font-size:9px;color:var(--muted);margin-right:15px}.preset-list button b{margin-left:auto;font-weight:400}.preset-list button.selected{color:var(--accent)}.preset-list button.selected b{transform:rotate(45deg)}.layer-controls{display:grid;gap:14px;padding:25px 0;font-size:11px}.layer-controls label{display:flex;align-items:center;gap:9px;cursor:pointer}.layer-controls input{accent-color:var(--ink);margin:0}.reset{width:100%;border:1px solid var(--line);background:transparent;padding:11px;color:var(--ink);font-size:11px;cursor:pointer}.panel-note{font:13px/1.5 Georgia,serif;color:var(--muted);margin:24px 0 0}.model-strip{display:flex;justify-content:space-between;gap:20px;padding:18px 0 55px;font-size:8px;letter-spacing:1px;color:var(--muted)}.model-strip b{color:var(--ink);margin-left:15px;font-weight:400}#loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:17px Georgia,serif;z-index:2;background:#e6e5da}.render-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.render-grid figure{margin:0}.render-grid figure:first-child{grid-column:1/-1}.render-grid img{width:100%;display:block;object-fit:cover;background:#deded2;aspect-ratio:1.6}.render-grid figure:first-child img{aspect-ratio:1.95}.render-grid figcaption{font-size:11px;display:flex;justify-content:space-between;padding:13px 0;color:var(--muted)}.render-grid figcaption b{color:var(--ink);font-weight:400}.gallery{padding-bottom:65px}.record{border-top:1px solid var(--line);padding:55px 0 60px;display:grid;grid-template-columns:1fr 1fr;gap:9%}.record h2{font-size:48px;margin:22px 0}.record-lede{font:21px/1.5 Georgia,serif}.record p:not(.eyebrow):not(.record-lede){font-size:13px;line-height:1.8;color:var(--muted)}.record-details{padding-top:9px}.record h3{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;border-top:1px solid var(--line);padding-top:20px;margin:0}.record-details p{margin:12px 0 25px}#dimensions{font-size:12px;line-height:1.9;margin:14px 0}.source-list{padding:0;list-style:none;font-size:11px}.source-list li{border-bottom:1px solid var(--line);padding:12px 0}.source-list a{text-decoration:underline;text-underline-offset:3px}.files{border-top:1px solid var(--line);padding:40px 0 60px;display:grid;grid-template-columns:1fr 1fr;gap:9%}.files h2{margin:20px 0}.files p:not(.eyebrow){font-size:12px;line-height:1.6;color:var(--muted)}.downloads{padding-top:12px}.downloads a{display:flex;align-items:center;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.downloads strong{display:block;font-size:13px;font-weight:400;margin-bottom:7px}.downloads small{font-size:10px;color:var(--muted)}.downloads a>span:last-child{margin-left:auto;font-size:25px}footer{padding:30px 5%;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-size:10px;line-height:1.7}footer p{color:var(--muted)}@media(max-width:900px){h1{letter-spacing:-3px}.viewer-shell{grid-template-columns:1fr}.view-panel{border-left:0;border-top:1px solid var(--line)}.preset-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.preset-list button{width:auto;flex:1;min-width:130px}.layer-controls{display:flex;flex-wrap:wrap;gap:25px}.panel-note{margin-top:15px}.reset{width:150px}#viewer{min-height:510px}.model-strip{flex-wrap:wrap}.intro-note{min-width:210px}.record,.files{gap:40px}.record h2{font-size:40px}}@media(max-width:600px){header{padding:18px 5%}nav{gap:15px;font-size:10px}nav a:last-child{display:none}.wordmark{font-size:24px}.wordmark em{font-size:23px}.intro{padding:36px 0}.title-row{display:block}h1{font-size:67px;letter-spacing:-3px}.intro-note{padding-top:30px}.intro-note p{font-size:18px}.section-heading{display:block}.section-heading h2{font-size:30px}.section-heading p{margin-left:30px}.viewer-shell{min-height:0}#viewer{min-height:390px}.view-stamp{top:17px;left:17px}.viewer-legend{left:10px;font-size:8px;bottom:10px}.view-panel{padding:20px}.preset-list button{min-width:120px}.model-strip{display:grid;padding-bottom:35px;gap:12px}.render-grid{grid-template-columns:1fr;gap:20px}.render-grid figure:first-child img,.render-grid img{aspect-ratio:1.5}.gallery{padding-bottom:35px}.record,.files{grid-template-columns:1fr;padding:35px 0;gap:20px}.record h2{font-size:38px}footer{gap:15px;flex-wrap:wrap}footer p{font-size:9px}}

.history-panel{padding:24px 28px;margin-bottom:20px;background:#e8e9de;border:1px solid var(--line)}.history-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:12px}.history-heading output{font:28px Georgia,serif;color:var(--accent)}#history-slider{width:100%;accent-color:var(--ink);margin:24px 0 12px;cursor:pointer}.history-ticks{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);gap:8px}.history-ticks button{font:inherit;color:inherit;background:none;border:0;padding:4px;cursor:pointer}.history-ticks button.active{color:var(--accent);font-weight:bold}.history-detail{display:grid;grid-template-columns:1.2fr 1fr;gap:45px;border-top:1px solid var(--line);padding-top:20px;margin-top:20px}.history-detail h3{font:25px Georgia,serif;margin:0 0 10px}.history-detail p{font-size:12px;line-height:1.7;margin:8px 0;color:var(--muted)}.history-detail a{font-size:11px;text-decoration:underline;text-underline-offset:3px}.history-disclaimer{font-size:10px;line-height:1.6;color:var(--muted);margin:20px 0 0}@media(max-width:600px){.history-panel{padding:20px}.history-detail{grid-template-columns:1fr;gap:15px}.history-heading output{font-size:23px}.history-ticks{font-size:8px;flex-wrap:wrap}}

.archive-image{margin:25px 0 0}.archive-image img{width:100%;max-height:330px;object-fit:contain;background:#ebe7dc}.archive-image figcaption{font-size:10px;line-height:1.6;color:var(--muted);padding-top:10px}.archive-image a{text-decoration:underline;text-underline-offset:3px}
/* Architectural evidence is shown uncropped. */
.render-grid img,.render-grid figure:first-child img{aspect-ratio:auto;height:auto;object-fit:contain}

.life-controls{border-top:1px solid var(--line);padding:20px 0;font-size:11px;display:grid;gap:12px}.life-label{font-size:9px;letter-spacing:1.5px;margin-bottom:3px;display:flex;justify-content:space-between;align-items:center}.life-label span{font-size:9px;letter-spacing:0;background:#dbdfd2;padding:4px 7px;color:#56604d}.life-controls label{display:flex;align-items:center;gap:8px}.life-controls output{margin-left:auto}.life-controls input[type=range]{width:100%;accent-color:var(--ink)}.life-controls input[type=checkbox]{margin:0;accent-color:var(--ink)}.life-controls select{width:100%;background:transparent;border:1px solid var(--line);padding:9px;color:var(--ink);font-size:11px}.life-controls p{font-size:10px;line-height:1.5;color:var(--muted);margin:0}.view-panel{padding-bottom:24px}.viewer-shell{grid-template-columns:minmax(0,1fr) 255px}.history-confidence-estimated{background:#dce1d4;padding:4px 7px}.viewer-shell #viewer{min-height:780px}@media(max-width:900px){.viewer-shell{grid-template-columns:1fr}.viewer-shell #viewer{min-height:550px}.life-controls{grid-template-columns:1fr 1fr;gap:14px 25px}.life-label,.life-controls p{grid-column:1/-1}}@media(max-width:600px){.viewer-shell #viewer{min-height:430px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(min-width:901px){.view-panel{max-height:780px;overflow-y:auto;scrollbar-width:thin}.viewer-shell{min-height:780px}}

.district-panel{border:1px solid var(--line);padding:25px 28px;margin-bottom:20px;background:#e9e9df}.district-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.district-header h3{font:29px Georgia,serif;margin:7px 0 12px}.district-panel p{font-size:12px;line-height:1.6;max-width:900px}.district-panel button,.district-panel select,.district-panel input{font:12px Arial,sans-serif;color:var(--ink);border:1px solid #9baba2;background:#f8f6ed;padding:11px 12px;min-height:44px}.district-panel button{cursor:pointer}.district-panel button:disabled,.district-panel select:disabled{opacity:.55;cursor:default}.district-panel select:focus-visible,.district-panel summary:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.district-selectors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:20px 0}.district-selectors label{display:grid;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:1px}.district-selectors select{width:100%;text-transform:none;letter-spacing:0}.district-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.district-actions button:first-child{background:var(--ink);color:var(--paper)}#district-count{font-size:10px;color:var(--muted);margin-left:auto}#district-progress{width:100%;height:9px;accent-color:var(--ink);margin-top:18px}#district-status{margin-bottom:0}.room-evidence{color:var(--muted)}#furnishing-library{border-top:1px solid var(--line);margin-top:18px;padding-top:15px;font-size:12px}#furnishing-library summary{cursor:pointer;min-height:30px}#furnishing-library label{display:block;margin:12px 0 8px}#furnishing-search{width:100%;max-width:420px}#furnishing-results{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}#furnishing-results li{border:1px solid var(--line);padding:12px;font-size:11px;line-height:1.5}#furnishing-results small{display:block;color:var(--muted);margin-top:4px}@media(max-width:900px){.district-selectors{grid-template-columns:1fr 1fr}#furnishing-results{grid-template-columns:1fr 1fr}}@media(max-width:600px){.district-panel{padding:20px}.district-header{display:block}.district-header h3{font-size:26px}.district-selectors{gap:12px}.district-actions button{flex:1;min-width:135px}#district-count{width:100%;margin:8px 0 0}#furnishing-results{grid-template-columns:1fr}.district-selectors select{font-size:12px;padding:10px 5px}}

#district-overview,#district-overview-viewer{background:var(--ink);color:var(--paper);padding:12px;border:1px solid var(--ink);font-weight:bold}#district-overview-viewer{margin-bottom:8px;min-height:44px}

.quarter-panel{padding:24px;border:1px solid var(--line,#bcb9b1);margin:24px 0;background:#eeeae1}.quarter-panel h3{font-size:1.7rem;margin:8px 0}.quarter-actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0}.quarter-actions button,.quarter-actions select,#crowd-reset{padding:12px;border:1px solid #707c75;background:#faf8f1;color:#223e35;border-radius:4px}.quarter-actions select{max-width:100%}#crowd-warning{color:#85421f;font-weight:600}.life-controls input[type=range]{width:100%}@media(max-width:700px){.quarter-panel{padding:16px}.quarter-actions{flex-direction:column;align-items:stretch}}

#city-asset-results{max-height:32rem;overflow:auto;padding:0;list-style:none}#city-asset-results li{padding:12px 0;border-bottom:1px solid #bcb9b1}#city-asset-search{width:100%;padding:12px;border:1px solid #707c75;margin:10px 0}#city-asset-load{padding:12px}

/* Neighborhood controls remain readable with long municipal building labels. */
.quarter-actions>label{font-size:12px;line-height:1.5}.quarter-actions select{min-width:0;min-height:44px;font:12px Arial,sans-serif}#quarter-building{max-width:min(100%,470px)}#quarter-neighborhood{font-weight:600}#city-placement-status{padding-top:15px;border-top:1px solid var(--line);line-height:1.7}.quarter-panel p{line-height:1.6}select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}#city-asset-results li{font-size:12px;line-height:1.6;overflow-wrap:anywhere}@media(max-width:700px){#quarter-building{max-width:100%}.quarter-actions button,.quarter-actions select{width:100%;min-height:44px}.quarter-actions>label{margin-bottom:-7px}}

#lighting{width:100%;min-height:36px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);padding:6px 8px;font:inherit}select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
