:root{color:#263d40;font-synthesis:none;background:#eff1eb;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #129989}.model-app{grid-template-rows:72px calc(100dvh - 72px);grid-template-columns:305px 1fr;height:100dvh;display:grid}header{z-index:30;background:#fff;border-bottom:1px solid #e0e5df;grid-column:1/-1;justify-content:space-between;align-items:center;padding:0 28px;display:flex}header a{color:#68807d;font-size:11px;text-decoration:none}.wordmark{letter-spacing:-.7px;color:#213c40;font-size:22px}.wordmark span{font-weight:350}.breadcrumb{letter-spacing:2px;color:#81958e;font-size:9px}.breadcrumb span{color:#bbc7bf;margin:0 18px}.model-sidebar{z-index:25;background:#fafbf7;border-right:1px solid #dce3d8;flex-direction:column;padding:35px 24px;display:flex;overflow:auto}.overline{letter-spacing:1.5px;color:#889a8e;font-size:8px;font-weight:700}h1{letter-spacing:-1.2px;margin:14px 0;font-size:30px;font-weight:500;line-height:1.2}.model-sidebar>p{color:#88988d;margin:0 0 26px;font-size:12px;line-height:1.7}.mode-list{flex-direction:column;gap:8px;display:flex}.mode-list button{text-align:left;color:#5d7269;background:0 0;border:1px solid #0000;border-radius:7px;align-items:center;gap:12px;padding:15px 10px;display:flex}.mode-list button>span{color:#9eaca1;align-self:flex-start;margin-top:2px;font-size:10px}.mode-list button div{flex-direction:column;flex:1;gap:5px;display:flex}.mode-list strong{font-size:12px;font-weight:600}.mode-list small{color:#94a295;font-size:9px}.mode-list i{font-size:16px;font-style:normal}.mode-list button.active{color:#286452;background:#e8f0e8;border-color:#cbdcce}.mode-list button.active>span{color:#488571}.options{color:#708474;flex-direction:column;gap:13px;padding:24px 0;font-size:11px;display:flex}.options label{align-items:center;gap:9px;display:flex}.options input{accent-color:#37836e}.source-button{color:#526e5d;background:#fff;border:1px solid #dbe3d6;border-radius:6px;justify-content:space-between;padding:13px 12px;font-size:11px;display:flex}.model-note{background:#f0f2e9;border-radius:6px;margin-top:24px;padding:16px}.model-note b{font-size:10px;font-weight:600}.model-note p{color:#8c988a;margin:7px 0 0;font-size:10px;line-height:1.8}.model-sidebar footer{color:#a0ac9e;margin-top:auto;padding-top:20px;font-size:9px;line-height:1.9}.model-sidebar footer a{color:#739a85}.model-stage{min-width:0;position:relative;overflow:hidden}.model-stage canvas{touch-action:none}.model-caption{pointer-events:none;position:absolute;top:27px;left:30px}.model-caption h2{letter-spacing:-.8px;color:#46594c;margin:7px 0;font-size:25px;font-weight:450}.review-badge{color:#879782;letter-spacing:1.3px;background:#fafcf6c9;border:1px solid #d6dfce;border-radius:5px;padding:8px 10px;font-size:8px;position:absolute;top:30px;right:27px}.model-bottom{pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;bottom:23px;left:28px;right:25px}.model-bottom span{color:#758b74;background:#f4f6eee0;border-radius:5px;padding:9px 12px;font-size:10px}.model-bottom button{pointer-events:auto;color:#668261;background:#fff;border:1px solid #d3deca;border-radius:6px;padding:11px 14px;font-size:10px}.room-tag{color:#4e8074;white-space:nowrap;background:#fafff9f0;border:1px solid #cbdddb;border-radius:3px;padding:3px 6px;font-size:10px}.building-label{color:#567668;white-space:nowrap;text-shadow:0 2px 10px #fff;flex-direction:column;align-items:center;font-size:27px;font-weight:600;display:flex}.building-label span{font-size:10px;font-weight:450}.building-label.selected{color:#138278}.plan-panel{z-index:50;background:#fff;border-radius:9px;flex-direction:column;width:min(620px,80%);padding:18px;display:flex;position:absolute;top:85px;bottom:85px;right:25px;box-shadow:0 10px 70px #25483333}.plan-panel>div{color:#597361;justify-content:space-between;align-items:center;font-size:12px;display:flex}.plan-panel button,.room-info>button{color:#8a9d8b;background:0 0;border:0;font-size:22px}.plan-panel img{object-fit:contain;flex:1;width:100%;min-height:0}.plan-panel p{color:#8d9b88;font-size:10px;line-height:1.7}.crosshair{color:#fff9;pointer-events:none;text-shadow:0 0 2px #000;position:absolute;top:50%;left:50%}.walk-position{color:#667b62;background:#fff9;border-radius:4px;padding:7px 10px;font-size:10px;position:absolute;bottom:85px;left:30px}.room-info{background:#fff;border-radius:8px;width:230px;padding:22px;position:absolute;bottom:90px;right:25px;box-shadow:0 5px 25px #294b3b22}.room-info>button{position:absolute;top:8px;right:10px}.room-info small{letter-spacing:1px;color:#8ea08d;font-size:8px}.room-info h3{color:#24796d;margin:10px 0;font-size:27px}.room-info p{color:#7c907d;font-size:12px}.room-info a{color:#3d9079;font-size:10px}.model-loading{color:#71917a;place-items:center;height:100%;display:grid}@media (width<=900px){.model-app{grid-template-columns:250px 1fr}.model-sidebar{padding:27px 17px}.breadcrumb,.review-badge{display:none}.model-caption h2{font-size:21px}.model-bottom span{max-width:55%;font-size:9px;line-height:1.7}}@media (width<=640px){.model-app{grid-template-rows:60px 65dvh auto;grid-template-columns:1fr;height:auto}header{padding:0 17px}.model-stage{grid-row:2;min-height:400px}.model-sidebar{grid-row:3;padding:24px}.mode-list{grid-template-columns:1fr 1fr;display:grid}.model-note{margin-top:15px}.model-sidebar footer{padding:20px 0 0}.model-caption{left:20px}.model-bottom{bottom:14px;left:13px;right:13px}.plan-panel{width:auto;inset:75px 10px 65px}.room-tag{font-size:8px}.model-bottom button{padding:8px;font-size:9px}.model-sidebar h1 br{display:none}}.walk-map{color:#5b795f;background:#fffffff0;border-radius:7px;width:160px;padding:14px;position:absolute;top:90px;right:25px;box-shadow:0 5px 30px #273e2420}.walk-map b{font-size:10px}.walk-map svg{width:100%;height:155px;display:block}.walk-map small{font-size:8px;line-height:1.7;display:block}@media (width<=640px){.walk-map{width:120px;padding:9px;top:85px;right:12px}.walk-map svg{height:110px}}.plan-panel .plan-tools{flex-wrap:wrap;justify-content:flex-start;gap:18px;padding:16px 0;font-size:11px}.plan-tools label{align-items:center;gap:6px;display:flex}.plan-tools input{accent-color:#37836e}.plan-panel .plan-scroll{background:#f8faf5;flex:1;min-height:0;display:block;overflow:auto}.plan-sheet{margin:0;line-height:0;position:relative}.plan-panel .plan-sheet img{width:100%;height:auto;display:block}.plan-trace{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.trace-outline{fill:none;stroke:#da721f;stroke-width:2px;vector-effect:non-scaling-stroke}.trace-room{fill:#15966c22;stroke:#087655;stroke-width:1px;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}.trace-room:hover,.trace-room:focus{fill:#15966c66;stroke-width:2px;outline:none}.trace-atrium{fill:#168bb122;stroke:#187e9f;stroke-width:1.5px;stroke-dasharray:5 3;vector-effect:non-scaling-stroke}.trace-stairs{fill:none;stroke:#8555a9;stroke-width:3px;vector-effect:non-scaling-stroke}.room-references{margin:14px 0 0;padding:0;list-style:none}.room-references li+li{margin-top:14px}.room-references small{letter-spacing:0;margin-top:5px;line-height:1.5;display:block}.room-info .reference-missing{font-size:10px;line-height:1.7}.room-info{max-height:calc(100% - 170px);overflow:auto}.hall-button{color:#306d60;text-align:left;background:#e1efe8;border:1px solid #b6d2ca;border-radius:6px;margin-top:16px;padding:12px;font-size:11px}.walking .model-caption{background:#f2f5ece8;border-radius:5px;padding:10px 14px}.walking .model-caption h2{margin-top:4px;font-size:18px}.detail-references{flex-wrap:wrap;gap:10px;margin-top:9px;display:flex}.detail-references a{color:#4a8474;font-size:9px}.facade-button{color:#547651;text-align:left;background:#f5f8f0;border:1px solid #d4dfca;border-radius:6px;margin-top:7px;padding:10px 12px;font-size:10px}.fountain-controls{gap:6px;margin-top:8px;display:flex}.fountain-controls button{color:#34646d;background:#edf4f4;border:1px solid #b9cdd3;border-radius:5px;flex:1;padding:9px 6px;font-size:10px}.fountain-controls button[aria-pressed=true]{color:#fff;background:#245f71}.building-picker{gap:6px;margin:18px 0 8px;display:flex}.building-picker button{color:#415444;cursor:pointer;font:inherit;background:#fff;border:1px solid #cbd4c8;border-radius:6px;flex:1;padding:9px 3px;font-size:12px}.building-picker button[aria-pressed=true]{color:#fff;background:#173e32;border-color:#173e32}.room-info .enter-room{color:#174936;text-align:left;cursor:pointer;background:#e5f0e7;border:1px solid #b7cdbb;border-radius:5px;width:100%;margin:10px 0;padding:10px;font-size:12px;position:static}.room-picker{gap:7px;margin:10px 0 18px;display:grid}.room-picker label{font-size:12px;font-weight:600}.room-picker select{color:#234638;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #b6c9be;border-radius:6px;padding:10px 8px;font-size:12px}.room-picker small{color:#687c70;font-size:10px;line-height:1.5}.view-switch{z-index:20;text-align:right;gap:5px;display:grid;position:absolute;top:28px;right:26px}.view-switch button{color:#fff;cursor:pointer;font:inherit;background:#174936;border:1px solid #356d55;border-radius:7px;padding:12px 16px;font-size:13px;box-shadow:0 2px 12px #0002}.view-switch small{color:#365346;background:#f2f5eceb;border-radius:4px;padding:4px 7px;font-size:10px}.walking .walk-map{top:125px}.room-info .show-reference{color:#174936;text-align:left;cursor:pointer;background:#e5f0e7;border:1px solid #b7cdbb;border-radius:5px;width:100%;height:auto;margin-top:8px;padding:9px;font-size:12px;display:block;position:static}.reference-viewer{color:#234638;background:#f6f8f2;border:1px solid #a4b6a8;border-radius:10px;width:min(1250px,94vw);height:90vh;max-height:94vh;padding:0;box-shadow:0 12px 80px #0005}.reference-viewer::backdrop{background:#10251bd1}.reference-viewer[open]{flex-direction:column;display:flex}.reference-viewer-header{justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.reference-viewer-header small{margin-top:5px;font-size:11px;display:block}.reference-viewer button{color:#174936;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #aac1b1;border-radius:5px;padding:10px}.reference-viewer iframe{border:0;flex:1;width:100%;min-height:0}.reference-viewer>a{color:#306d60;padding:10px 18px;font-size:12px}@media (width<=700px){.view-switch{top:12px;right:10px}.view-switch button{padding:9px;font-size:11px}.view-switch small{max-width:160px}.reference-viewer-header{padding:10px}.reference-viewer-header small{max-width:180px}.reference-viewer button{font-size:11px}}
