:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f4f0e8;background:#0c1116;font-synthesis:none;text-rendering:optimizeLegibility;--amber: #d79a45;--amber-bright: #f4bd69;--panel: rgba(17, 23, 29, .86);--panel-strong: rgba(13, 18, 23, .95);--line: rgba(255, 255, 255, .11);--muted: #9aa4ab}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,select{font:inherit}button{color:inherit}.app-shell{position:relative;width:100%;height:100%;background:#10171d;overflow:hidden}.scene-layer{position:absolute;inset:0}.scene-layer canvas{display:block;outline:none;cursor:grab;touch-action:none}.scene-layer canvas:active{cursor:grabbing}.ui-layer{position:absolute;inset:0;pointer-events:none}.ui-layer button,.ui-layer select,.glass-panel{pointer-events:auto}.glass-panel{background:linear-gradient(145deg,#171e25f0,#0d1217d6);border:1px solid var(--line);box-shadow:0 24px 64px #00000052,inset 0 1px #ffffff08;backdrop-filter:blur(20px) saturate(1.15)}.investor-panel{position:absolute;left:22px;top:22px;width:304px;padding:20px;border-radius:18px;transition:width .25s ease,padding .25s ease}.investor-collapse{position:absolute;right:10px;top:10px;z-index:2;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:9px;background:#ffffff0a;color:#aeb8bc;cursor:pointer}.investor-collapse:hover{color:#fff;background:#ffffff17}.investor-panel .brand-row{padding-right:28px}.investor-panel.is-collapsed{width:196px;padding:10px 42px 10px 10px}.investor-panel.is-collapsed .brand-mark{width:34px;height:34px;border-radius:9px}.investor-panel.is-collapsed .eyebrow,.investor-panel.is-collapsed .investor-content{display:none}.investor-panel.is-collapsed .brand-row{gap:9px;padding-right:0}.investor-panel.is-collapsed .brand-row h1{margin:0;font-size:13px;white-space:nowrap}.brand-row{display:flex;align-items:center;gap:12px}.brand-mark,.heading-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(145deg,#e5aa58,#a6672f);color:#17120c;box-shadow:0 8px 24px #cf893b3d}.eyebrow{display:block;color:var(--amber-bright);font-size:9px;font-weight:750;letter-spacing:.145em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}.brand-row h1{margin:3px 0 0;font-size:20px;line-height:1.1;letter-spacing:-.02em}.location-line{display:flex;gap:6px;align-items:center;margin-top:13px;color:var(--muted);font-size:11px}.hero-metric{margin:18px -5px 12px;padding:15px 16px;display:flex;align-items:flex-end;justify-content:space-between;background:linear-gradient(115deg,#dd9a452e,#dd9a450a);border:1px solid rgba(238,178,98,.16);border-radius:13px}.hero-metric span{display:block;color:#bab9b4;font-size:10px}.hero-metric strong{display:block;margin-top:2px;color:#fff4df;font-size:27px;line-height:1}.hero-metric strong small{font-size:13px;color:var(--amber-bright)}.dimensions{font-size:11px;color:#d2c4ae;padding:5px 8px;border-radius:6px;background:#0003}.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.metric-card{min-height:76px;position:relative;padding:11px;border-radius:10px;background:#ffffff09;border:1px solid rgba(255,255,255,.06)}.metric-card svg{position:absolute;right:10px;top:10px;color:#806847}.metric-card strong{display:block;font-size:17px;line-height:1.1}.metric-card span{display:block;margin-top:7px;color:#8e999f;font-size:9px;line-height:1.25}.capacity-row{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}.capacity-row span{padding:6px 2px;border-radius:7px;background:#d79a4512;color:#7f8b91;text-align:center;font-size:7px;white-space:nowrap}.capacity-row b{color:#e7b66d;font-size:9px}.market-row{display:grid;grid-template-columns:1fr 1fr;margin-top:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.market-row>div{padding:12px 7px}.market-row>div+div{border-left:1px solid var(--line);padding-left:15px}.market-row span,.market-row small{display:block;font-size:9px;color:#7f8b91}.market-row strong{display:block;margin:3px 0;font-size:14px}.services-link{width:100%;border:0;padding:13px 2px 0;background:transparent;display:flex;align-items:center;justify-content:space-between;color:#e7d6ba;font-size:11px;cursor:pointer}.services-link:hover,.services-link.is-active{color:var(--amber-bright)}.status-chip,.hint-chip{position:absolute;top:22px;left:50%;transform:translate(-50%);height:32px;display:flex;align-items:center;gap:7px;padding:0 12px;border-radius:999px;background:#0d1318bd;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);font-size:10px;color:#bac4c8}.status-chip b{color:#667177}.live-dot{width:6px;height:6px;border-radius:50%;background:#68c688;box-shadow:0 0 0 4px #68c6881f}.hint-chip{top:auto;bottom:108px;color:#d0d7d9}.zone-details,.services-panel{position:absolute;top:22px;right:22px;width:350px;max-height:calc(100% - 134px);overflow:auto;padding:22px;border-radius:18px;transform:translate(calc(100% + 36px));opacity:0;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}.zone-details.is-open,.services-panel.is-open{transform:translate(0);opacity:1}.close-button{position:absolute;right:14px;top:14px;width:31px;height:31px;display:grid;place-items:center;border-radius:9px;border:1px solid var(--line);background:#ffffff0a;cursor:pointer}.close-button:hover{background:#ffffff1a}.zone-title-row,.panel-heading{display:flex;align-items:flex-start;gap:12px;padding-right:26px}.zone-number{flex:0 0 auto;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff29}.zone-title-row h2,.panel-heading h2{margin:4px 0 0;font-size:16px;line-height:1.25}.zone-area{display:flex;align-items:baseline;gap:5px;margin:18px 0;padding:13px 14px;border-radius:11px;background:#ffffff09;border:1px solid var(--line)}.zone-area strong{font-size:26px}.zone-area span{color:var(--amber-bright);font-size:12px}.zone-area small{margin-left:auto;color:#7f8a90;font-size:9px}.zone-details section{padding:14px 0;border-top:1px solid var(--line)}.zone-details h3{display:flex;align-items:center;gap:7px;margin-bottom:8px;color:#d9c19b;font-size:10px;letter-spacing:.08em;text-transform:uppercase}.zone-details p{margin-bottom:0;color:#abb4b8;font-size:11px;line-height:1.55}.zone-details ul{list-style:none;padding:0;margin:0;display:grid;gap:6px}.zone-details li{display:flex;align-items:center;gap:5px;color:#bdc5c8;font-size:10px}.zone-details li svg{color:var(--amber)}.tag-row{display:flex;flex-wrap:wrap;gap:5px}.tag-row span{padding:5px 7px;border-radius:6px;background:#ffffff0e;color:#bbc4c7;font-size:9px}.tag-row--accent span{color:#e8ca9c;background:#d79a451c}.services-panel{width:430px}.source-note{display:flex;gap:9px;margin:18px 0 14px;padding:11px;color:#9fa9ad;background:#55829c14;border:1px solid rgba(102,153,180,.16);border-radius:10px;font-size:9px;line-height:1.45}.source-note svg{flex:0 0 auto;color:#6aa1bd}.price-list{display:grid}.price-row{min-height:52px;display:grid;grid-template-columns:25px 1fr auto;align-items:center;gap:8px;border-top:1px solid rgba(255,255,255,.065)}.price-index{color:#68747b;font-size:9px}.price-row strong{display:block;font-size:10px;font-weight:550}.price-row small{display:block;margin-top:3px;color:#758188;font-size:8px;text-transform:uppercase;letter-spacing:.08em}.price-row b{color:#efc17d;font-size:11px}.legend{position:absolute;right:22px;bottom:105px;width:205px;border-radius:12px;overflow:hidden}.legend-toggle{width:100%;height:38px;padding:0 11px;display:flex;align-items:center;justify-content:space-between;border:0;background:transparent;font-size:10px;cursor:pointer}.legend-toggle span{display:flex;align-items:center;gap:7px}.legend-toggle i{width:6px;height:6px;border-radius:50%;background:var(--amber)}.legend-toggle svg{transition:transform .2s}.legend.is-open .legend-toggle svg{transform:rotate(180deg)}.legend-content{max-height:56vh;overflow:auto;padding:0 9px 9px;border-top:1px solid var(--line)}.legend-categories{display:flex;flex-wrap:wrap;gap:5px 8px;padding:9px 2px}.legend-categories span{display:flex;align-items:center;gap:4px;color:#818d93;font-size:7px}.legend-categories i{width:6px;height:6px;border-radius:2px}.cat-client{background:#e0a95c}.cat-admin{background:#b98b61}.cat-support{background:#77858c}.cat-production{background:#567e9f}.cat-wet{background:#4596a8}.legend-zones{display:grid;gap:2px}.legend-zones button{width:100%;display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:6px;padding:5px 4px;border:0;border-radius:6px;background:transparent;text-align:left;cursor:pointer}.legend-zones button:hover{background:#ffffff0f}.legend-zones i{width:19px;height:19px;display:grid;place-items:center;border-radius:5px;font-style:normal;color:#fff;font-size:8px;font-weight:800}.legend-zones span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b5bec2;font-size:8px}.legend-zones b{color:#78858b;font-size:7px}.controls-dock{position:absolute;left:50%;bottom:22px;transform:translate(-50%);min-height:64px;max-width:calc(100vw - 44px);padding:7px;border-radius:16px;display:flex;align-items:stretch;gap:7px}.view-modes,.toggle-tools,.utility-tools{display:flex;gap:3px}.controls-dock button{min-width:54px;height:50px;padding:5px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:0;border-radius:10px;background:transparent;color:#818d93;font-size:8px;cursor:pointer;transition:background .2s,color .2s}.controls-dock button:hover{color:#e7e9e8;background:#ffffff0e}.controls-dock button.is-active{color:#ffd18b;background:#d79a4521;box-shadow:inset 0 0 0 1px #e1a45224}.utility-tools{align-items:center}.utility-tools button{min-width:34px;width:34px;height:34px;padding:0}.dock-separator{width:1px;margin:7px 2px;background:var(--line)}.preset-menu{min-width:112px;padding:5px 7px;display:flex;flex-direction:column;justify-content:center;gap:3px}.preset-menu span{color:#6f7b81;font-size:7px;text-transform:uppercase;letter-spacing:.1em}.preset-menu select{width:100%;padding:3px 18px 3px 0;border:0;outline:0;background:transparent;color:#c2cacc;font-size:9px}.preset-menu option{color:#222}.tour-panel{position:absolute;left:50%;top:70px;transform:translate(-50%);min-width:360px;height:62px;padding:10px 10px 8px 15px;display:flex;align-items:center;gap:6px;border-radius:14px;overflow:hidden}.tour-progress{position:absolute;left:0;right:0;bottom:0;height:2px;background:#ffffff14}.tour-progress i{display:block;height:100%;background:var(--amber);transition:width .35s}.tour-copy{flex:1}.tour-copy span{display:block;color:#77848a;font-size:8px}.tour-copy strong{font-size:11px}.tour-panel button{width:34px;height:34px;display:grid;place-items:center;border:0;border-radius:9px;background:#ffffff0d;cursor:pointer}.walk-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#06090c47;pointer-events:none}.walk-card{width:310px;padding:24px;border-radius:16px;text-align:center;pointer-events:auto}.walk-card svg{color:var(--amber)}.walk-card strong{display:block;margin:10px 0 5px}.walk-card p{color:#98a3a8;font-size:10px}.walk-card button{width:100%;padding:10px;border:0;border-radius:9px;background:linear-gradient(135deg,#dfa24f,#ad6c32);color:#18120d;font-size:10px;font-weight:750;cursor:pointer}.walk-hud{position:absolute;left:50%;top:70px;transform:translate(-50%);display:flex;align-items:center;gap:7px;padding:6px 7px 6px 12px;border-radius:999px;background:#0b1014c7;border:1px solid rgba(255,255,255,.11);color:#d4dbdd;font-size:9px;pointer-events:none;white-space:nowrap}.walk-hud button{height:27px;padding:0 10px;border:0;border-radius:999px;background:#d79a452e;color:#f2c27d;cursor:pointer;pointer-events:auto;font-size:8px}.disclaimer{position:absolute;left:22px;bottom:23px;width:286px;color:#dfe4e48c;font-size:7px;line-height:1.45}.toast{position:absolute;left:50%;top:72px;transform:translate(-50%);padding:10px 14px;border-radius:10px;background:#1b2a25;border:1px solid rgba(105,190,138,.26);color:#bce4ca;font-size:10px;animation:toast-in .25s ease both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,-6px)}}.zone-label{min-width:72px;display:grid;grid-template-columns:18px 1fr;gap:2px 5px;align-items:center;padding:5px 6px;border-radius:7px;background:#0e1317cc;border:1px solid rgba(255,255,255,.16);box-shadow:0 5px 16px #00000038;color:#fff;text-align:left;backdrop-filter:blur(5px)}.zone-label span{grid-row:1 / 3;width:18px;height:18px;display:grid;place-items:center;border-radius:5px;background:#d49a49;color:#17120d;font-size:8px;font-weight:850}.zone-label strong{font-size:7px;white-space:nowrap}.zone-label small{color:#a7b0b3;font-size:6px}.zone-label--plan{transform:scale(.9);background:#0f1418e6}.dimension-label{padding:3px 6px;border-radius:4px;background:#171b1e;color:#f4c96d;font-size:8px;font-weight:700;white-space:nowrap}.dimension-label--vertical{transform:rotate(-90deg)}.loading-screen{position:absolute;inset:0;z-index:50;display:grid;place-content:center;justify-items:center;background:#0c1116;transition:opacity .4s}.loading-logo{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:.08em}.loading-logo svg{color:var(--amber)}.loading-logo b{color:var(--amber-bright)}.loading-screen p{margin:12px 0;color:#67747b;font-size:9px;letter-spacing:.08em;text-transform:uppercase}.loading-screen>i{width:100px;height:2px;overflow:hidden;background:#273038}.loading-screen>i:after{content:"";display:block;width:40%;height:100%;background:var(--amber);animation:loading 1.1s ease-in-out infinite}.spin{animation:spin 1.4s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(250%)}}.webgl-error{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;padding:20px;text-align:center;background:#10161b}.webgl-error svg{color:#e18b54}.webgl-error h2{margin:12px 0 5px;font-size:18px}.webgl-error p{color:#8e9aa0;font-size:11px}@media(max-width:1100px){.investor-panel{width:260px}.market-row,.metric-grid,.capacity-row{display:none}.hero-metric{margin-bottom:0}.hint-chip,.toggle-tools button span,.view-modes button span{display:none}.controls-dock button{min-width:40px}.preset-menu{display:none}.disclaimer{width:240px}}@media(min-width:1101px)and (max-height:820px){.investor-panel{left:14px;top:14px;width:290px;padding:16px;border-radius:15px}.brand-row h1{font-size:18px}.location-line{margin-top:10px}.hero-metric{margin-top:12px;margin-bottom:8px;padding:12px 13px}.hero-metric strong{font-size:24px}.metric-grid{gap:5px}.metric-card{min-height:66px;padding:9px}.metric-card span{margin-top:5px}.capacity-row{margin-top:6px}.capacity-row span{padding:5px 1px;font-size:6.5px}.market-row{margin-top:8px}.market-row>div{padding-top:8px;padding-bottom:8px}.services-link{padding-top:9px}.status-chip{top:14px}.hint-chip{bottom:88px}.legend{right:14px;bottom:86px}.controls-dock{bottom:12px;min-height:58px;padding:5px;border-radius:14px}.controls-dock button{height:46px}.dock-separator{margin-top:5px;margin-bottom:5px}.disclaimer{left:14px;bottom:14px}.zone-details,.services-panel{top:14px;right:14px;max-height:calc(100% - 106px)}}@media(max-width:720px){.investor-panel{left:10px;top:10px;width:220px;padding:13px;border-radius:13px}.investor-panel.is-collapsed{width:178px;padding:9px 40px 9px 9px}.brand-row h1{font-size:16px}.hero-metric{margin-top:12px;padding:10px}.hero-metric strong{font-size:21px}.location-line,.services-link{display:none}.status-chip{top:10px;left:auto;right:10px;transform:none;font-size:0;width:31px;padding:0;justify-content:center}.status-chip b{display:none}.zone-details,.services-panel{inset:auto 8px 82px;width:auto;max-height:64%;transform:translateY(calc(100% + 100px));border-radius:14px}.zone-details.is-open,.services-panel.is-open{transform:translateY(0)}.legend{right:10px;bottom:82px}.controls-dock{bottom:8px;max-width:calc(100vw - 16px);width:calc(100vw - 16px);overflow-x:auto;justify-content:flex-start;min-height:58px;padding:5px;border-radius:13px}.controls-dock button{min-width:38px;height:44px}.dock-separator{margin:5px 0}.utility-tools button{height:32px;min-width:30px;width:30px}.disclaimer{display:none}.tour-panel{top:82px;min-width:0;width:calc(100% - 20px)}.walk-card{width:calc(100% - 30px)}.walk-hud span{display:none}}
