@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#30352e;background:#dfe6e6;font-synthesis:none;font-weight:400;--paper: #f7f7f0;--ink: #30352e;--olive: #586947;--muted: #7c8176}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible{outline:2px solid #6c824e;outline-offset:4px}button{border:0}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}[hidden]{display:none!important}#viewport{position:fixed;inset:0}#viewport canvas{display:block;width:100%;height:100%;touch-action:none}.topbar{position:fixed;left:30px;right:30px;top:24px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}.topbar>*{pointer-events:auto}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);font-family:Manrope,sans-serif;font-size:31px;font-weight:800;letter-spacing:-1.5px}.brand-mark{font-size:38px;font-weight:400;margin-top:-5px}.brand-divider{width:1px;height:24px;background:#5e665b40;margin:0 8px}.brand-caption{font-family:DM Sans,sans-serif;font-size:10px;letter-spacing:2px;font-weight:600}.world-status{background:#f7f7f0dd;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fff8;border-radius:30px;padding:10px 16px;font-size:11px;letter-spacing:.1px;display:flex;align-items:center;gap:8px}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#6b8050;box-shadow:0 0 0 3px #6b805015;flex-shrink:0}.header-actions{display:flex;gap:8px}.icon-button{width:35px;height:35px;border:1px solid #fff9;background:#f7f7f0dc;border-radius:50%;font-size:18px;display:grid;place-content:center}.sidebar{position:fixed;top:99px;left:30px;width:267px;padding:23px 20px 18px;background:#f7f7f0f2;border:1px solid #ffffffb0;border-radius:15px;box-shadow:0 8px 45px #24352909;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.eyebrow{font-size:9px;letter-spacing:1.6px;font-weight:650;display:flex;justify-content:space-between;color:#777e70}.eyebrow>span{font-size:8px;letter-spacing:1px;color:#9a9f94}h1{font-family:Manrope,sans-serif;letter-spacing:-.8px;font-size:23px;font-weight:650;margin:13px 0 8px;line-height:1.25}.intro{font-size:12px;line-height:1.7;color:#85897f;margin:0 0 23px}.section-label{display:flex;justify-content:space-between;font-size:8px;font-weight:600;letter-spacing:1.2px;color:#878d7e;margin:23px 0 12px}.section-label span{color:#a1a798;font-size:7px;letter-spacing:.9px}.view-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.view-grid button{font-size:10px;text-align:left;padding:11px 8px;background:#eef0e7;border-radius:5px}.view-grid button span{font-size:14px;margin-right:6px;color:#7a856c}.overview-button{background:transparent;width:100%;padding:12px 4px;margin:5px 0 12px;display:flex;align-items:center;gap:8px;font-size:11px;border-bottom:1px solid #e1e4d7}.overview-button>span:first-child{font-size:17px;color:#7b856d}.keycap{margin-left:auto;font-size:8px;padding:2px 4px;border:1px solid #d6dccb;border-radius:3px;color:#929986}.display-options{display:flex;flex-direction:column;gap:14px}.display-options label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-size:11px;position:relative}.display-options input{position:absolute;right:0;opacity:0;width:30px;height:18px;cursor:pointer}.switch{background:#c9cdbf;width:28px;height:16px;border-radius:12px;padding:3px;pointer-events:none}.switch:after{content:"";display:block;background:#fff;border-radius:50%;width:10px;height:10px;transition:transform .15s}.display-options input:checked+.switch{background:#798c5f}.display-options input:checked+.switch:after{transform:translate(12px)}.display-options input:focus-visible+.switch{outline:2px solid #586947;outline-offset:3px}.model-note{font-size:9px;color:#979d8e;line-height:1.6;margin:18px 0 0}.loading-panel{position:fixed;top:43%;left:58%;transform:translate(-50%,-50%);width:345px;max-width:85vw;padding:27px;background:#fafaf2f5;border:1px solid white;border-radius:14px;box-shadow:0 12px 60px #24352915}.loading-panel h2{font-family:Manrope,sans-serif;font-size:20px;line-height:1.4;font-weight:600;letter-spacing:-.5px;margin:14px 0 8px}.loading-panel p{font-size:11px;line-height:1.7;color:#888d7e}.progress-track{height:3px;background:#e1e7d7;border-radius:10px;margin-top:22px;overflow:hidden}#loading-progress{height:100%;width:2%;background:#788e5c;transition:width .2s}#retry-button{padding:10px 16px;border-radius:6px;background:#586947;color:#fff;margin-top:15px}.scene-caption{position:fixed;bottom:130px;left:calc(50% + 75px);transform:translate(-50%);display:flex;align-items:center;gap:9px;font-size:10px;background:#f7f7f0cf;border:1px solid #fff8;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:9px 14px;border-radius:20px;white-space:nowrap}.caption-divider{color:#a7ad9c;margin:0 3px}#altitude-label{color:#808b72}.navigation-dock{position:fixed;bottom:27px;left:50%;transform:translate(-50%);width:500px;max-width:calc(100vw - 40px);display:flex;align-items:center;justify-content:center;flex-wrap:wrap;padding:10px 13px 11px;gap:10px 13px;background:#f8f8f0ee;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid #fff;border-radius:13px;box-shadow:0 6px 24px #293b2014}.mode-switch{display:flex;border-radius:7px;background:#e9eddf;padding:3px;gap:2px}.mode-switch button{background:transparent;border-radius:5px;font-size:12px;padding:8px 15px;color:#8a927f}.mode-switch button span{font-size:15px;margin-right:4px}.mode-switch button.active{background:#f9faf4;color:#465b32;box-shadow:0 1px 4px #34412510}.dock-divider{height:25px;width:1px;background:#dce2cf}.explore-button{background:#556940;color:#f6f9f0;border-radius:6px;padding:12px 19px;font-size:11px;letter-spacing:.2px;min-width:175px}.explore-button span{margin-left:12px}.control-hint{flex-basis:100%;font-size:8px;color:#979e8a;display:flex;gap:4px;align-items:center;justify-content:center}.control-hint>span{margin:0 3px}#vertical-hint{display:contents}kbd{font:inherit;color:#737e64;border:1px solid #dce2d1;border-bottom-width:2px;border-radius:3px;padding:1px 3px;font-size:8px}.minimap-panel{position:fixed;bottom:27px;right:30px;width:220px;background:#f7f7f0ed;border:1px solid white;border-radius:12px;padding:13px 13px 10px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.map-heading,.map-footer{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.2px;font-weight:600;color:#8a927d}.map-heading>span:last-child{color:#546541;letter-spacing:3px}.minimap-panel canvas{width:100%;height:123px;display:block}.map-footer{font-size:6px;letter-spacing:1px;color:#9ba48e}.map-footer i{display:inline-block;width:4px;height:4px;background:#637b45;border-radius:50%;margin-right:4px}#crosshair{position:fixed;left:50%;top:50%;width:5px;height:5px;border-radius:50%;background:#fff9;box-shadow:0 0 0 1px #24352955;display:none;pointer-events:none}.locked #crosshair{display:block}.locked .sidebar,.locked .topbar,.locked .minimap-panel{opacity:.3;pointer-events:none}.locked .navigation-dock{opacity:.55;pointer-events:none}.locked .scene-caption{opacity:.7}#toast{position:fixed;top:87px;left:55%;transform:translate(-50%);border-radius:7px;background:#344329e6;color:#f3f5eb;padding:11px 17px;font-size:11px;opacity:0;transition:opacity .2s;pointer-events:none;max-width:80vw;text-align:center}#toast.visible{opacity:1}.touch-controls{display:none}dialog{border:1px solid white;border-radius:16px;padding:35px;width:420px;max-width:90vw;color:var(--ink);background:#f7f7f0;box-shadow:0 20px 90px #26341d40}dialog::backdrop{background:#22301c55;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}dialog h2{font-family:Manrope,sans-serif;font-size:28px;font-weight:600;letter-spacing:-1px;margin:15px 0}dialog p{font-size:12px;line-height:1.8;color:#838a77}dialog dl{margin:23px 0}dialog dl div{display:flex;justify-content:space-between;border-bottom:1px solid #e4e8db;padding:10px 0;font-size:11px}dialog dt{font-weight:600}dialog dd{color:#89927d;margin:0}.dialog-close{position:absolute;right:15px;top:12px;background:none;font-size:25px;color:#909983}.help-note{font-size:10px!important}@media(min-width:1450px){.sidebar{top:112px;left:38px;width:285px;padding:26px 23px}.topbar{left:38px;right:38px;top:30px}.minimap-panel{right:38px;bottom:30px}.navigation-dock{bottom:30px}.intro{margin-bottom:27px}.section-label{margin-top:26px}.view-grid button{padding:13px 9px}.overview-button{padding:14px 4px;margin-bottom:17px}.display-options{gap:17px}.model-note{margin-top:23px}}@media(max-height:780px)and (min-width:801px){.sidebar{top:84px;padding:16px 17px}.intro{margin-bottom:14px;font-size:11px}.section-label{margin-top:15px}.model-note{display:none}.overview-button{margin-bottom:10px}.display-options{gap:10px}.scene-caption{bottom:121px}.topbar{top:18px}}@media(max-width:1100px){.minimap-panel{width:175px;right:20px}.navigation-dock{left:52%;width:450px}.sidebar{left:20px;width:242px}.topbar{left:20px;right:20px}.brand-caption{font-size:8px}.world-status{font-size:9px}.scene-caption{left:57%}.control-hint{font-size:7px}}@media(max-width:800px){.topbar{top:16px;left:16px;right:16px}.brand{font-size:25px}.brand-mark{font-size:31px}.brand-caption{font-size:8px;letter-spacing:1.5px}.brand-divider{margin:0 3px}.world-status{display:none}.sidebar{top:72px;left:14px;right:14px;width:auto;padding:12px}.sidebar>.eyebrow,h1,.intro,.section-label,.model-note,.display-options,.overview-button{display:none}.sidebar>.display-options:has(#garage-option:not([hidden])){display:flex;margin-top:10px}.sidebar>.display-options>label:not(#garage-option){display:none}.view-grid{grid-template-columns:repeat(4,1fr);gap:4px;margin-top:8px}.view-grid button{font-size:9px;padding:8px 4px;text-align:center}.view-grid button span{margin-right:3px;font-size:11px}.minimap-panel{display:none}.navigation-dock{bottom:16px;left:50%;width:425px;padding:8px 10px 10px;gap:8px}.mode-switch button{padding:8px 12px}.explore-button{padding:12px 15px;min-width:157px}.scene-caption{left:50%;bottom:113px;max-width:90vw;font-size:9px}.loading-panel{left:50%;top:49%;width:315px}.control-hint{flex-wrap:wrap;gap:3px;font-size:7px}.control-hint kbd{font-size:7px}.locked .sidebar{opacity:0}#toast{left:50%;top:200px;width:max-content}.touch-controls{display:flex;position:fixed;left:20px;bottom:145px;flex-direction:column;align-items:center;gap:5px}.touch-controls>div{display:flex;gap:5px}.touch-controls button{width:37px;height:37px;border-radius:8px;background:#f7f7f0d9;border:1px solid #fff8;color:#61764c;font-size:19px;touch-action:none;-webkit-user-select:none;user-select:none}.touch-controls .touch-altitude{position:fixed;right:20px;bottom:150px;flex-direction:column}}@media(pointer:coarse){.touch-controls{display:flex;position:fixed;left:20px;bottom:145px;flex-direction:column;align-items:center;gap:5px}.touch-controls>div{display:flex;gap:5px}.touch-controls button{width:38px;height:38px;border-radius:8px;background:#f7f7f0d9;border:1px solid #fff8;color:#61764c;font-size:19px;touch-action:none;-webkit-user-select:none;user-select:none}.touch-controls .touch-altitude{position:fixed;right:20px;bottom:230px;flex-direction:column}}.site-scene .intro{margin-bottom:17px}@media(max-height:780px)and (min-width:801px){.sidebar{max-height:calc(100vh - 105px);overflow-y:auto}}@media(max-width:800px){.site-scene .scene-caption{font-size:8px;gap:5px;max-width:96vw}}.placement-launch{display:flex;align-items:center;gap:8px;width:100%;padding:12px 10px;margin-top:12px;background:#e1e8d7;border:1px solid #b9c7a6;border-radius:7px;color:#4a6537;font-size:12px;font-weight:600}.placement-launch>span:first-child{font-size:18px}.placement-panel{position:fixed;right:30px;top:100px;width:285px;max-height:calc(100vh - 124px);overflow-y:auto;padding:24px;border:1px solid #fff;border-radius:14px;background:#f7f7f0f5;box-shadow:0 8px 45px #24352916;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.placement-panel h2{font-family:Manrope,sans-serif;font-size:24px;font-weight:600;letter-spacing:-.8px;margin:12px 0 8px}.placement-panel p{color:#858e79;font-size:11px;line-height:1.7;margin:0 0 19px}.placement-control{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin:18px 0 9px}.placement-control output{font-variant-numeric:tabular-nums;color:#6f825b}.placement-panel input[type=range]{width:100%;accent-color:#6c854f;cursor:pointer}.placement-limits{list-style:none;margin:0 0 14px;padding:10px 11px;border-radius:7px;background:#eef1e7;display:flex;flex-direction:column;gap:6px}.placement-limits li{display:flex;align-items:center;gap:8px;font-size:10px;color:#5d6852;line-height:1.35}.placement-limits i{flex:none;width:18px;height:3px;border-radius:1px;background:#f7f4ea;box-shadow:0 0 0 1px #8a917c}.placement-limits i[data-kind=guide]{height:0;background:transparent;box-shadow:none;border-top:3px dashed #c89612}.placement-limits i[data-kind=stop]{background:#d4652f;box-shadow:none}.placement-result{display:flex;flex-direction:column;gap:5px;padding:13px 12px;border-radius:7px;margin:20px 0 13px;background:#e8efdc;color:#55743e}.placement-result strong{font-size:12px;font-weight:600}.placement-result span{font-size:10px}.placement-result.outside{background:#f3e1d7;color:#a46142}.placement-result.setback{background:#f6ead2;color:#8a5a1c}.placement-keys{font-size:9px;color:#909a83;line-height:2}.placement-keys span{margin:0 4px}.placement-keys kbd{margin-right:3px}.placement-actions{display:flex;gap:7px;margin:18px 0 8px}.placement-actions button{padding:10px;border-radius:6px;font-size:11px;background:#e5ebdc}.placement-actions button:first-child{flex:1;background:#526d3f;color:#fff}#placement-reset{width:72px}#placement-done{width:100%;background:#f0f2e8;color:#586d45;border:1px solid #d3ddc7;border-radius:6px;font-size:11px;padding:12px}#placement-done span{margin-left:8px}.placement-panel .placement-note{font-size:9px;line-height:1.7;margin:13px 0 0;color:#99a18e}.placement-targets{display:flex;gap:0;margin:4px 0 12px;padding:3px;border-radius:8px;background:#e5ebdc}.placement-targets button{flex:1;padding:7px 0;border-radius:6px;font-size:11px;background:transparent;color:#5d6f4b}.placement-targets button[aria-pressed=true]{background:#526d3f;color:#fff}.placing .sidebar .section-label,.placing .sidebar .view-grid,.placing .sidebar .overview-button,.placing .sidebar .display-options,.placing .sidebar .model-note,.placing .navigation-dock,.placing .touch-controls,.placing .scene-caption,.placing .minimap-panel{display:none!important}.placing #viewport canvas{cursor:grab}.placing #viewport canvas:active{cursor:grabbing}.placing .placement-launch{background:#ceddbc}@media(max-height:780px)and (min-width:801px){.placement-panel{top:84px;padding:18px;max-height:calc(100vh - 105px);overflow-y:auto}.placement-panel p{margin-bottom:12px}.placement-result{margin-top:14px}}@media(max-width:800px){.placement-launch{margin-top:8px;padding:8px}.placement-panel{inset:auto 12px 12px;width:auto;padding:14px 17px}.placement-panel>.eyebrow,.placement-panel h2,.placement-panel>p:not(.placement-note),.placement-keys,.placement-note{display:none}.placement-control{margin:5px 0}.placement-result{margin:9px 0 0;padding:8px 10px;flex-direction:row;justify-content:space-between;align-items:center}.placement-result strong{font-size:10px}.placement-result span{font-size:9px}.placement-actions{margin:9px 0 7px}.placing .sidebar{padding:9px 12px}}.site-scene .sidebar{max-height:calc(100vh - 125px);overflow-y:auto;scrollbar-width:thin}.constraints-legend{margin:14px 0 0;padding:11px 11px 9px;border-radius:7px;background:#eef1e7}.constraints-legend ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.constraints-legend li{display:flex;align-items:center;gap:8px;font-size:10px;color:#5d6852;line-height:1.35}.constraints-legend li i{flex:none;width:16px;height:9px;border-radius:2px;opacity:.75}.constraints-legend li i[data-kind=setback]{opacity:.45;outline:1.5px dashed #a26c12;outline-offset:-1px}.constraints-legend p{font-size:8.5px;line-height:1.55;color:#8d957f;margin:9px 0 0}.photo-section{margin-top:4px}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photo-grid button{padding:8px 4px;border-radius:6px;background:#eef1e7;border:1px solid #e1e6d7;color:#53663f;font-size:10px;font-variant-numeric:tabular-nums}.photo-grid button span{display:block;font-size:13px;color:#86977a;margin-bottom:2px}.photo-grid button[aria-pressed=true]{background:#526d3f;border-color:#526d3f;color:#fff}.photo-grid button[aria-pressed=true] span{color:#dbe7cd}.photo-controls{margin-top:11px;padding:11px;border-radius:7px;background:#eef1e7}.photo-caption{font-size:9.5px;line-height:1.55;color:#6e7a62;margin:0 0 4px}.photo-control{display:flex;justify-content:space-between;align-items:center;font-size:10.5px;margin:9px 0 6px}.photo-control output{font-variant-numeric:tabular-nums;color:#6f825b}.photo-controls input[type=range]{width:100%;accent-color:#6c854f;cursor:pointer}.photo-controls input[type=range]:disabled{opacity:.4;cursor:default}.photo-controls .display-options{margin:11px 0 10px}.photo-close{width:100%;padding:9px;border-radius:6px;font-size:10.5px;background:#f7f7f0;border:1px solid #d3ddc7;color:#586d45}.photo-close .keycap{margin-left:6px}.photo-overlay{position:fixed;pointer-events:none;object-fit:fill;opacity:.5;box-shadow:0 0 0 1px #ffffff9c}.photo-view .navigation-dock,.photo-view .minimap-panel,.photo-view .scene-caption,.photo-view .touch-controls,.photo-view #crosshair{display:none!important}.placement-warnings{white-space:pre-line;font-size:9.5px!important;line-height:1.6!important;color:#8a5a1c!important;background:#f6ead2;border-radius:7px;padding:9px 11px;margin:0 0 12px!important}.placement-overlay-option{display:flex;align-items:center;gap:7px;font-size:10px;color:#6c775f;margin:0 0 12px;cursor:pointer}.placement-overlay-option input{accent-color:#6c854f}.placing .sidebar .photo-section,.placing .sidebar .constraints-legend{display:none!important}@media(max-width:800px){.site-scene .sidebar{max-height:46vh}.photo-grid{grid-template-columns:repeat(4,1fr)}.constraints-legend{margin-top:9px}}
