:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eee7d8;background:#17262d;color-scheme:dark;--paper:#f1ebdf;--ink:#2f403a;--accent:#ac643c}*{box-sizing:border-box}body{margin:0}button,input,summary{font:inherit}button,a,summary,input{-webkit-tap-highlight-color:transparent}button,a,summary{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-underline-offset:3px}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,#scene:focus-visible{outline:3px solid #d4a654;outline-offset:3px}button{border:0}.skip{position:fixed;left:15px;top:-80px;z-index:50;background:var(--paper);color:var(--ink);padding:12px}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}main{height:100svh;min-height:560px;position:relative;overflow:hidden}.masthead{position:absolute;z-index:4;top:0;left:0;right:0;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;background:linear-gradient(#14262cbb,transparent);pointer-events:none}.masthead a{pointer-events:auto}.brand{font-size:11px;font-weight:650;letter-spacing:.16em;text-decoration:none}.brand span{font-size:27px;vertical-align:middle;margin-right:10px;color:#d9b36f}.masthead nav{display:flex;gap:22px;font-size:12px}.masthead nav a{text-decoration:none}#scene{position:absolute;inset:0 0 0 300px;overflow:hidden;touch-action:none;outline-offset:-5px}#canvas{display:block;width:100%;height:100%;image-rendering:auto;cursor:grab}#canvas:active{cursor:grabbing}.explorer{position:absolute;top:88px;left:24px;width:276px;max-height:calc(100% - 145px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid #ffffff55;border-radius:4px 26px 4px 4px;padding:24px;box-shadow:0 16px 40px #091c2520;scrollbar-width:thin}.eyebrow{font-size:9px;letter-spacing:.16em;font-weight:650;line-height:1.6}.intro h1{font-family:Georgia,serif;font-weight:400;letter-spacing:-.045em;font-size:36px;line-height:1.04;margin:16px 0}.intro>p:last-child{font-size:12px;line-height:1.75;color:#6b7167;margin-bottom:23px}summary{cursor:pointer;list-style:none;font-size:11px;font-weight:600;min-height:34px;display:flex;align-items:center;justify-content:space-between}summary::-webkit-details-marker{display:none}#explore-panel>summary{border-top:1px solid #d8d4c7;padding-top:10px;margin-bottom:10px}#search{position:relative;display:flex;margin:0 0 16px}#query{width:100%;height:42px;color:var(--ink);background:#fffaf0;border:1px solid #d6d6c7;border-radius:3px;padding:10px 35px 10px 10px;font-size:12px}#search>button{position:absolute;right:1px;top:1px;width:38px;height:40px;color:var(--ink);background:none;font-size:20px}#search-results{position:absolute;top:45px;left:0;right:0;padding:6px;background:#fffaf0;box-shadow:0 4px 22px #20312833;z-index:8;border:1px solid #d6d6c7;max-height:240px;overflow:auto}#search-results p{font-size:11px;padding:6px}#search-results button{text-align:left;padding:12px 8px;background:none;width:100%;color:var(--ink);font-size:11px;line-height:1.5}#search-results button:hover{background:#e6e6d6}.places{display:grid;grid-template-columns:1fr 1fr;gap:6px}.places button{min-height:36px;padding:7px 6px;font-size:10px;line-height:1.4;background:#e8e5d9;border:1px solid transparent;border-radius:3px;color:#525e51}.places button[aria-pressed=true]{background:#345249;color:#f3efde;border-color:#345249}.map-wrap{display:flex;align-items:center;margin:17px 0 6px;gap:8px}.map-wrap svg{width:96px;min-width:96px;height:90px;overflow:visible}.map-wrap path{fill:#dddccc;stroke:#c5c9b7;stroke-width:.6}.map-wrap circle{fill:#b26741;stroke:#fff2dc;stroke-width:1.5}.map-wrap p{font-size:10px;line-height:1.7;color:#6b7167}.notes{border-top:1px solid #d8d4c7;margin-top:12px;padding-top:7px}.notes p{font-size:11px;line-height:1.7;color:#6b7167}.notes summary{font-size:10px}.fine{font-size:10px!important;line-height:1.65!important;color:#7b8279}.scene-label{position:absolute;left:35px;top:95px;pointer-events:none;text-shadow:0 1px 12px #15252d77}.scene-label>span{display:block;font-family:Georgia,serif;font-size:23px}.scene-label small{display:block;margin-top:8px;font-size:8px;letter-spacing:.19em;opacity:.7}.compass{position:absolute;right:28px;top:92px;display:grid;justify-items:center;gap:7px;font-size:9px;opacity:.7}.compass span{font-size:26px}.toolbar{position:absolute;bottom:53px;left:calc(50% + 150px);transform:translateX(-50%);display:flex;align-items:center;padding:7px;background:#f1ebdfed;color:var(--ink);border:1px solid #ffffff60;border-radius:7px;box-shadow:0 6px 25px #091c2540;white-space:nowrap;gap:3px}.toolbar button{background:transparent;color:var(--ink);min-width:38px;height:38px;border-radius:4px;padding:0 10px;font-size:11px}.toolbar button:hover{background:#dbddcf}.toolbar [aria-pressed=true]{background:#345249;color:#fff3dc}.toolbar [data-light=night][aria-pressed=true]{background:#293e55;color:#ffd99c}.segments{display:flex;gap:3px}.divider{height:23px;border-left:1px solid #c6cabb;margin:0 5px}.scene-footer{position:absolute;bottom:19px;left:28px;right:28px;display:flex;justify-content:space-between;align-items:end;gap:20px;pointer-events:none;color:#eee8d7;text-shadow:0 1px 7px #12242d}.scene-footer p{font-size:10px;margin:0;opacity:.75;line-height:1.5}#scale-label{font-size:9px;white-space:nowrap;border-bottom:2px solid #eee8d7;text-align:center;padding-bottom:4px;min-width:55px}.load-status{position:absolute;bottom:15px;left:24px;color:#d2d9d0;font-size:9px;line-height:1.5;max-width:250px}.load-status button{font-size:10px;background:#e9dfc5;color:#283e36;border-radius:3px;min-height:32px;margin-top:6px}.loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#1c3038;z-index:2;text-align:center;padding:30px}.loading .flower{font-size:45px;color:#d9b36f}.loading p{font-family:Georgia,serif;font-size:25px}.loading a{font-size:12px;opacity:.65}.loading button{margin-top:20px;padding:12px 18px;background:var(--paper);color:var(--ink);border-radius:4px}.selection{position:absolute;bottom:125px;left:28px;width:300px;background:#f5eddfed;color:var(--ink);padding:19px 24px;border-radius:4px 20px 4px 4px;box-shadow:0 10px 30px #15252d30}.selection h2{font-family:Georgia,serif;font-size:20px;font-weight:400;line-height:1.25;margin:10px 0}.selection>p{font-size:11px;line-height:1.6}.selection>button{position:absolute;right:5px;top:5px;width:35px;height:35px;background:transparent;color:var(--ink);font-size:22px}.no-script{position:fixed;z-index:20;inset:30%;background:var(--paper);color:var(--ink);padding:25px}body[data-light=day] .masthead{background:linear-gradient(#263e3c80,transparent)}
@media(max-height:760px) and (min-width:801px){.explorer{top:76px;padding:19px;max-height:calc(100% - 120px)}.intro h1{font-size:31px;margin:10px 0}.intro>p:last-child{margin-bottom:12px}.map-wrap{margin:8px 0}}
@media(max-width:800px){main{min-height:500px}.masthead{height:56px;padding:0 17px}.brand{font-size:9px}.brand span{font-size:22px;margin-right:6px}.masthead nav{gap:12px;font-size:10px}#scene{inset:0}.explorer{top:66px;left:14px;width:210px;max-height:calc(100% - 230px);padding:14px 17px;background:#f1ebdff0}.intro .eyebrow{font-size:8px;margin-top:0}.intro h1{font-size:27px;margin:9px 0}.intro>p:last-child{display:none}#explore-panel>summary{margin:10px 0 0;padding-top:4px}.notes{display:none}.map-wrap{margin:7px 0 0}.map-wrap svg{width:70px;min-width:70px;height:60px}.map-wrap p{font-size:9px}#search{margin-top:10px}.places button{min-height:36px}.scene-label{left:20px;top:auto;bottom:145px}.scene-label>span{font-size:20px}.scene-label small{font-size:7px}.compass{right:20px;top:77px}.toolbar{bottom:49px;left:50%;width:calc(100% - 24px);max-width:540px;justify-content:center;gap:0;padding:5px;flex-wrap:wrap}.toolbar button{height:40px;padding:0 9px;font-size:10px;min-width:36px}.segments{gap:1px}.divider{display:none}.scene-footer{left:17px;right:17px;bottom:15px}.scene-footer p{max-width:230px;font-size:9px}.load-status{bottom:106px;left:auto;right:19px;text-align:right;font-size:8px;max-width:160px}.selection{left:14px;right:14px;width:auto;bottom:150px;max-width:330px}.selection h2{font-size:18px}.selection p{margin:7px 0}.loading p{font-size:22px}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

/* Keep mobile controls in two deliberate rows, with room for loading status. */
#scale-label{flex-shrink:0}
@media(max-width:800px){.toolbar{display:grid;grid-template-columns:repeat(5,1fr);gap:2px}.toolbar .segments{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.toolbar button{padding:0 6px;min-width:0}.load-status{bottom:155px}.scene-label{bottom:176px}.selection{bottom:187px}.scene-footer p{max-width:225px}}

/* The loading card fades away instead of vanishing, so the block arrives rather than appears. */
#loading{transition:opacity .7s ease}#loading[hidden]{display:flex!important;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .7s ease,visibility 0s linear .7s}
@media(prefers-reduced-motion:reduce){#loading{transition:none}}

.places>button:last-child:nth-child(odd){grid-column:1/-1;background:#dedcc8}.places>button:last-child[aria-pressed=true]{background:#345249}

/* A quiet field guide beside the actual house, with its street face in view. */
.canopy-toggle{background:transparent;border-bottom:1px dotted #9ba88d;color:#607254;font-size:9px;padding:4px 0 6px;margin:0 0 4px;min-height:28px}
#house-sources{display:flex;flex-direction:column}#house-conflicts{border-left:2px solid #b29263;padding-left:10px;color:#7a633e}
.start-house-tour{display:block;width:100%;text-align:left;background:#345249;color:#fff2dc;border:1px solid #29483d;border-radius:3px 12px 3px 3px;padding:13px 12px;margin:0 0 15px;font-size:11px;line-height:1.6}.start-house-tour span{display:block;font-size:9px;opacity:.68}.start-house-tour b{float:right;font-size:17px;font-weight:400}.start-house-tour:hover{background:#416153}
.house-tour{position:absolute;z-index:3;top:100px;left:30px;width:310px;max-height:calc(100% - 250px);overflow:auto;padding:25px;background:#f1ebdff5;color:var(--ink);border:1px solid #ffffff77;border-radius:4px 26px 4px 4px;box-shadow:0 16px 40px #091c252c;scrollbar-width:thin}.house-tour .eyebrow{font-size:8px;letter-spacing:.14em;padding-right:12px}.house-tour .eyebrow span{display:block;color:#9b6d45;margin-top:6px;font-size:11px;letter-spacing:.06em}.house-tour h2{font-family:Georgia,serif;font-size:27px;font-weight:400;line-height:1.13;letter-spacing:-.035em;margin:13px 0}.house-character{font-size:12px;line-height:1.7;margin:12px 0;color:#5b675a}.house-tags{display:flex;flex-wrap:wrap;gap:5px;margin:13px 0}.house-sure{font-size:10px;line-height:1.55;margin:10px 0 12px;color:#58654f}.house-sure strong{display:block;font-size:10px;font-weight:600;letter-spacing:.03em;color:#7b5a3a}.house-sure span{display:block}.house-sure .dots{letter-spacing:2px;color:#9b6d45;font-size:9px;margin:3px 0 4px}.house-sure .short{display:none}.house-tags span{font-size:9px;border:1px solid #d7d6c7;padding:5px 8px;border-radius:20px;color:#58654f;background:#e8e7d9}.house-tour .tour-exit{position:absolute;right:8px;top:8px;width:32px;height:32px;font-size:21px;background:transparent;color:var(--ink)}.house-tour details{border-top:1px solid #d8d4c7;margin-top:12px;padding-top:6px}.house-tour details p{font-size:11px;line-height:1.75}.house-tour details a{display:inline-block;font-size:10px;margin:0 0 14px}.house-tour summary{font-size:10px}.tour-navigation{display:grid;grid-template-columns:36px 1fr 36px;gap:4px;margin-top:15px}.tour-navigation button,.tour-navigation select{background:#e5e3d5;color:var(--ink);border:1px solid #d6d7c8;border-radius:3px;min-height:40px;min-width:0;font:inherit;font-size:11px}.tour-navigation button{font-size:20px}.tour-navigation select{padding:0 6px;width:100%}.tour-actions{display:flex;justify-content:space-between;gap:8px;margin-top:10px}.tour-actions button{background:none;color:#5b6b58;padding:7px 0;min-height:32px;font-size:10px;text-decoration:underline;text-underline-offset:4px}.tour-navigation button:hover{background:#d4d9c5}.house-tour select:focus-visible{outline:3px solid #d4a654;outline-offset:2px}body[data-house-tour] #scene{left:0}body[data-house-tour] .explorer,body[data-house-tour] .scene-label,body[data-house-tour] .selection{display:none}body[data-house-tour] .toolbar{left:50%}body[data-house-tour] .load-status{left:auto;right:24px;bottom:15px}body[data-house-tour] .scene-footer{right:230px}
@media(max-width:800px){.start-house-tour{margin:12px 0 7px;padding:10px;font-size:10px}.start-house-tour span{font-size:8px}.house-tour{top:67px;left:14px;width:min(290px,calc(100% - 75px));max-height:calc(100% - 290px);padding:16px 17px;border-radius:4px 22px 4px 4px}.house-tour h2{font-size:23px;margin:8px 0}.house-tour .eyebrow{margin:0}.house-tour .eyebrow span{display:inline;margin-left:9px;font-size:9px}.house-character{font-size:10px;line-height:1.55;margin:8px 0}.house-tags{margin:9px 0;gap:4px}.house-tags span{font-size:8px;padding:4px 6px}.house-tour #house-render-status{margin:5px 0;font-size:8px!important}.house-tour details{margin-top:8px}.tour-navigation{margin-top:8px}.tour-navigation button,.tour-navigation select{min-height:36px;font-size:10px}.tour-actions{margin-top:4px}.tour-actions button{font-size:9px}body[data-house-tour] .load-status{bottom:155px;right:17px}body[data-house-tour] .scene-footer{right:17px}}
@media(max-width:800px){.house-tour{top:auto;bottom:169px;width:calc(100% - 28px);max-height:52svh;padding:13px 17px}.house-character,.house-tags{display:none}.house-tour h2{font-size:22px;margin:7px 0}.house-tour details{margin-top:4px}.house-tour summary{min-height:28px}.tour-actions button{min-height:27px}.house-tour .canopy-toggle{font-size:8px;min-height:25px;padding-bottom:4px}.house-tour .fine{line-height:1.5!important}}
@media(max-width:800px){.house-sure{margin:2px 0 4px;font-size:9px}.house-sure strong,.house-sure .dots,.house-sure span:not(.short){display:none}.house-sure .short{display:block;color:#7b5a3a;font-weight:600}}
