@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/geist-latin-400-normal-B40WzpMT.woff2) format("woff2"),url(/assets/geist-latin-400-normal-akEymXtG.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/geist-latin-500-normal-CTWBw9NS.woff2) format("woff2"),url(/assets/geist-latin-500-normal-BDXIbFrL.woff) format("woff")}@font-face{font-family:Geist;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/geist-latin-600-normal-CSETrqM2.woff2) format("woff2"),url(/assets/geist-latin-600-normal-DsPlZH-9.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/cormorant-garamond-latin-400-normal-B-1hWBU7.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-400-normal-B7YtguxJ.woff) format("woff")}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2) format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff) format("woff")}:root{--color-paper: oklch(96.4% .008 86);--color-panel: oklch(98.4% .005 86);--color-white: oklch(100% 0 0);--color-ink: oklch(25% .015 107);--color-muted: oklch(49% .017 88);--color-faint: oklch(65% .015 88);--color-rule: oklch(88% .01 86);--color-accent: oklch(43% .044 116);--color-accent-soft: oklch(92% .024 104);--color-selection: oklch(74% .047 103);--color-swatch-bg: oklch(92% .015 85);--color-preview: oklch(90% .014 88);--color-shadow: oklch(25% .025 80 / .1);--color-overlay: oklch(18% .02 90 / .4);--color-night: oklch(30% .03 240);--color-sun: oklch(80% .11 75);--color-perf: oklch(20% .012 130 / .92);--color-perf-text: oklch(90% .025 130);--color-clear: oklch(100% 0 0 / 0);--color-dark-glaze: oklch(10% 0 0 / .18);--color-light-glaze: oklch(100% 0 0 / .17);--color-line-glaze: oklch(10% 0 0 / .08);--font-body: "Geist", sans-serif;--font-display: "Cormorant Garamond", serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-body: 1rem;--text-heading: 1.3rem;--text-display: clamp(2.4rem, 3.2vw, 3.5rem);--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-fast: .15s;--dur-normal: .25s;--rule: 1px solid var(--color-rule);--radius-sm: 4px;--radius-md: 8px;--radius-pill: 100px;--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-paper);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:0;background:none;white-space:nowrap}button{transition:background var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}button:hover{background:var(--color-accent-soft)}button:active{transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:400;letter-spacing:-.025em;line-height:1.1;font-style:normal;min-width:0;overflow-wrap:anywhere}h3{font-size:var(--text-base);font-weight:500;line-height:1.5}svg{flex-shrink:0}input[type=range]{width:100%;accent-color:var(--color-accent);cursor:pointer;height:20px}select{width:100%;background:var(--color-panel);border:var(--rule);border-radius:var(--radius-sm);color:var(--color-ink);padding:12px 30px 12px 12px;line-height:1.4;min-height:44px}summary{cursor:pointer}p{line-height:1.6}.row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.full{width:100%}.section-rule{height:1px;background:var(--color-rule);margin:var(--space-lg) 0}.status-dot{width:6px;height:6px;display:inline-block;border-radius:50%;background:var(--color-accent);flex-shrink:0}.studio{height:100dvh;min-height:600px;display:flex;flex-direction:column;isolation:isolate}.topbar{height:80px;flex-shrink:0;display:flex;align-items:center;padding:0 30px;border-bottom:var(--rule);gap:26px;background:var(--color-panel);z-index:var(--z-sticky)}.brand{font-family:var(--font-body);font-size:30px;letter-spacing:.17em;line-height:1;font-weight:500;display:inline-flex;align-items:flex-start}.brand span{font-size:11px;letter-spacing:0;margin-left:3px;margin-top:2px}.brand-divider{height:30px;width:1px;background:var(--color-rule)}.project-name{font-size:14px;display:grid;grid-template-columns:auto 15px;align-items:center;column-gap:22px;row-gap:5px}.project-name span{font-size:12px;color:var(--color-muted);grid-column:1/-1}.top-actions{display:flex;align-items:center;gap:18px;margin-left:auto}.top-actions>button:first-child{display:flex;gap:9px;align-items:center;padding:10px 12px;border-radius:4px;font-size:13px}.top-actions>button.active{background:var(--color-accent-soft)}.action-divider{height:22px;width:1px;background:var(--color-rule)}.help-button{border:1px solid var(--color-faint);border-radius:50%;width:22px;height:22px;font-size:13px;line-height:1}.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:5px;flex-shrink:0}.icon-button.active{background:var(--color-accent);color:var(--color-white)}.workspace{display:flex;min-height:0;flex:1}.viewport{position:relative;flex:1;min-width:0;overflow:hidden;background:var(--color-preview)}.scene-canvas{position:absolute;inset:0;touch-action:none}.scene-canvas>div{height:100%!important;width:100%!important}.viewport-caption{position:absolute;top:34px;left:32px;pointer-events:none;z-index:var(--z-raised)}.residence-meta{display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:.13em;margin-bottom:12px;color:var(--color-muted)}.residence-meta>span:last-child{margin-left:12px;letter-spacing:0;font-size:11px}.viewport-caption h1{font-size:var(--text-display)}.viewport-caption p{color:var(--color-muted);font-size:12px;margin-top:8px}.view-badge{position:absolute;top:33px;right:24px;display:flex;align-items:center;gap:8px;background:var(--color-paper);border:1px solid var(--color-rule);border-radius:var(--radius-pill);padding:8px 12px;font-size:11px;box-shadow:0 2px 8px var(--color-shadow)}.view-badge .status-dot{width:5px;height:5px}.badge-divider{width:1px;height:12px;background:var(--color-rule);margin-left:5px}.tool-rail{position:absolute;left:24px;top:50%;transform:translateY(-42%);display:flex;flex-direction:column;gap:5px;background:var(--color-panel);border:var(--rule);border-radius:var(--radius-md);padding:6px;box-shadow:0 3px 15px var(--color-shadow);z-index:var(--z-raised)}.rail-rule{height:1px;background:var(--color-rule);margin:3px 5px}.view-controls{position:absolute;right:24px;top:90px;display:flex;flex-direction:column;gap:7px}.view-controls .icon-button{background:var(--color-panel);border:var(--rule);width:35px;height:35px}.view-controls .icon-button.active{color:var(--color-ink)}.mini-plan{position:absolute;bottom:140px;right:25px;width:154px;padding:12px;background:var(--color-panel);border:var(--rule);border-radius:5px;box-shadow:0 3px 15px var(--color-shadow)}.mini-plan>.row{font-size:9px;letter-spacing:.07em;color:var(--color-muted)}.mini-plan svg{width:100%;display:block;padding:8px 0;color:var(--color-muted)}.mini-plan svg path:not(:first-child){fill:var(--color-clear);stroke:none}.mini-plan svg .active-room{fill:var(--color-accent-soft)!important}.mini-plan .plan-furniture{fill:var(--color-rule);stroke:var(--color-faint);stroke-width:.6}.mini-plan .plan-camera{fill:var(--color-accent)}.mini-plan button{display:flex;align-items:center;justify-content:space-between;font-size:10px;padding:5px 0 0;width:100%;border-top:var(--rule)}.scene-bottom{position:absolute;bottom:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;flex-direction:column;gap:16px;width:calc(100% - 90px);max-width:720px;pointer-events:none}.explore-hint{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--color-muted);background:var(--color-paper);padding:6px 10px;border-radius:var(--radius-pill)}.room-nav{display:flex;pointer-events:auto;background:var(--color-panel);border:var(--rule);border-radius:var(--radius-md);padding:6px;box-shadow:0 3px 20px var(--color-shadow);max-width:100%;overflow:auto;scrollbar-width:none}.room-nav button{display:flex;align-items:center;gap:6px;padding:13px 15px;border-radius:4px;font-size:12px;color:var(--color-muted)}.room-nav button[aria-pressed=true]{background:var(--color-accent);color:var(--color-white)}.room-number{font-size:9px;opacity:.6}.side-panel{width:0;flex-shrink:0;min-height:0;background:var(--color-panel);display:none;border-left:var(--rule);z-index:var(--z-dropdown)}.side-panel.open{width:342px;display:flex;flex-direction:column}.panel-tabs{height:63px;flex-shrink:0;display:flex;border-bottom:var(--rule);padding:0 20px;gap:18px}.panel-tabs>button{display:flex;align-items:center;gap:7px;font-size:12px;position:relative;padding:0 1px;color:var(--color-muted)}.panel-tabs>button[aria-selected=true]{color:var(--color-ink)}.panel-tabs>button[aria-selected=true]:after{content:"";height:2px;background:var(--color-accent);position:absolute;bottom:-1px;left:0;right:0}.panel-tabs>.panel-close{display:none}.panel-content{padding:26px 25px 22px;overflow-y:auto;min-height:0;flex:1;scrollbar-width:thin;scrollbar-color:var(--color-rule) var(--color-panel);animation:panel-appear var(--dur-normal) var(--ease-out)}@keyframes panel-appear{0%{opacity:.5;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel-heading{margin-bottom:27px}.panel-kicker{font-size:11px;color:var(--color-muted);margin-bottom:8px}.panel-heading h2{font-size:35px;margin-bottom:9px}.panel-heading p{font-size:12px;color:var(--color-muted);line-height:1.6}.field-caption{font-size:10px;letter-spacing:.11em;color:var(--color-muted);margin:0 0 11px}.field-caption span{letter-spacing:0;font-size:11px}.material-preview{height:158px;background:var(--color-preview);border-radius:5px;position:relative;margin:16px 0 17px;display:flex;align-items:center;justify-content:center;overflow:hidden}.material-sphere{width:111px;height:111px;border-radius:50%;background-color:var(--swatch);background-image:radial-gradient(circle at 35% 30%,var(--color-light-glaze) 2%,var(--color-clear) 37%,var(--color-dark-glaze) 86%);box-shadow:12px 15px 18px -12px var(--color-overlay);position:relative}.material-sphere:after{content:"";position:absolute;inset:0;border-radius:inherit;opacity:.25;background-image:repeating-linear-gradient(4deg,var(--color-clear) 0 2px,var(--color-dark-glaze) 3px,var(--color-clear) 4px),repeating-linear-gradient(94deg,var(--color-clear) 0 2px,var(--color-light-glaze) 3px,var(--color-clear) 4px)}.wood .material-sphere:after{background-image:repeating-linear-gradient(88deg,var(--color-clear) 0 5px,var(--color-dark-glaze) 6px,var(--color-clear) 7px)}.marble .material-sphere:after{background-image:repeating-linear-gradient(123deg,var(--color-clear) 0 27px,var(--color-dark-glaze) 28px,var(--color-clear) 32px)}.metal .material-sphere{background-image:linear-gradient(100deg,var(--color-dark-glaze),var(--color-light-glaze) 40%,var(--color-dark-glaze) 65%,var(--color-light-glaze) 80%)}.material-preview>span{position:absolute;bottom:12px;left:13px;font-size:10px;color:var(--color-muted)}.material-preview>button{position:absolute;bottom:8px;right:8px;padding:4px;display:flex}.selected-title{display:flex;align-items:center;justify-content:space-between}.selected-title h3{font-size:14px;font-weight:500}.selected-title span{font-size:11px;color:var(--color-muted);display:block;margin-top:3px}.selected-title .object-dot{width:6px;height:6px;border-radius:50%;background:var(--color-accent);margin-right:4px}.swatch-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.swatch{display:flex;flex-direction:column;align-items:center;gap:7px;padding:0;white-space:normal;min-width:0;background:none!important}.swatch-face{height:43px;width:100%;max-width:56px;border-radius:4px;background-color:var(--swatch);display:flex;align-items:center;justify-content:center;border:1px solid var(--color-line-glaze);color:var(--color-white);position:relative}.swatch-face svg{filter:drop-shadow(0 1px 2px var(--color-overlay));z-index:1}.swatch.fabric .swatch-face{background-image:repeating-linear-gradient(2deg,var(--color-clear) 0 2px,var(--color-line-glaze) 3px,var(--color-clear) 4px),repeating-linear-gradient(92deg,var(--color-clear) 0 2px,var(--color-light-glaze) 3px,var(--color-clear) 4px)}.swatch.wood .swatch-face{background-image:repeating-linear-gradient(89deg,var(--color-clear) 0 4px,var(--color-dark-glaze) 5px,var(--color-clear) 7px)}.swatch.marble .swatch-face{background-image:repeating-linear-gradient(123deg,var(--color-clear) 0 19px,var(--color-dark-glaze) 20px,var(--color-clear) 23px)}.swatch>span:last-child{font-size:10px;line-height:1.4;color:var(--color-muted);text-align:center;min-height:28px}.swatch.selected .swatch-face{outline:1.5px solid var(--color-accent);outline-offset:3px}.swatch.selected>span:last-child{color:var(--color-ink)}.swatch:hover .swatch-face{transform:translateY(-2px)}.finish-note{margin:13px 0 22px}.finish-note b{font-size:12px;font-weight:500}.finish-note p{font-size:11px;color:var(--color-muted);margin-top:5px}.metal-swatches{display:flex;gap:20px}.metal-swatches .swatch{width:60px}.metal-swatches .swatch-face{width:29px;height:29px;border-radius:50%;background-image:linear-gradient(120deg,var(--color-light-glaze),var(--color-clear),var(--color-dark-glaze))}.metal-swatches .swatch>span:last-child{white-space:nowrap;font-size:10px;min-height:14px}.switch{padding:3px;width:31px;height:18px;background:var(--color-rule);border-radius:var(--radius-pill);display:flex;align-items:center;flex-shrink:0}.switch span{width:12px;height:12px;background:var(--color-white);border-radius:50%;transition:transform var(--dur-fast) var(--ease-out);box-shadow:0 1px 3px var(--color-shadow)}.switch.checked{background:var(--color-accent)}.switch.checked span{transform:translate(13px)}.inspector-toggle{font-size:11px}.inspector-toggle>span{display:flex;gap:8px;align-items:center;color:var(--color-muted)}.spec-list{margin:15px 0}.spec-list>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:var(--rule);font-size:11px}.spec-list dt{color:var(--color-muted)}.spec-list dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}.reset-row{display:flex;justify-content:space-between;gap:8px;margin-top:22px}.reset-row button{display:flex;align-items:center;gap:5px;font-size:11px;padding:6px 0}.reset-row button:last-child{color:var(--color-muted)}.object-list{border-top:var(--rule);margin-top:20px;padding-top:16px}.object-list summary{font-size:12px;list-style:none;display:flex;justify-content:space-between}.object-list summary span{color:var(--color-muted)}.object-list>button{display:flex;justify-content:space-between;width:100%;font-size:11px;padding:12px 0;border-bottom:var(--rule)}.panel-footer{padding:16px 24px;border-top:var(--rule);font-size:10px;display:flex;align-items:center;gap:7px;color:var(--color-muted);flex-shrink:0}.panel-footer svg{margin-left:auto}.panel-footer .status-dot{width:5px;height:5px}.statusbar{height:37px;flex-shrink:0;background:var(--color-panel);border-top:var(--rule);display:flex;align-items:center;justify-content:space-between;padding:0 27px;color:var(--color-muted);font-size:10px;z-index:var(--z-sticky)}.statusbar button{display:inline-flex;align-items:center;gap:7px;font-size:10px;padding:5px 0}.statusbar>div{display:flex;align-items:center;gap:12px}.statusbar>button>svg:last-child{margin-left:8px}.footer-dot{opacity:.45}.text-button{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;padding:8px 0;color:var(--color-muted);text-align:left}.primary-button,.secondary-button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 15px;border-radius:4px;font-size:12px;min-height:42px}.primary-button{background:var(--color-accent);color:var(--color-white)}.primary-button:hover{background:var(--color-ink)}.secondary-button{border:var(--rule);background:var(--color-paper);justify-content:center}.panel-note{font-size:12px;line-height:1.7;color:var(--color-muted);margin:15px 0}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:20px 0;font-size:12px}.setting-row>span{display:flex;align-items:center;gap:10px}.setting-row>span>svg{color:var(--color-muted)}.sun-dial{height:185px;position:relative;background:var(--color-paper);border-radius:5px;display:flex;align-items:center;flex-direction:column;padding-top:53px;overflow:hidden}.sun-dial>svg{color:var(--color-accent);margin-bottom:9px}.sun-dial>strong{font-family:var(--font-display);font-size:40px;font-weight:400;line-height:1}.sun-dial>span{font-size:11px;color:var(--color-muted);margin-top:9px}.sun-track{position:absolute;top:27px;height:135px;width:210px;border:1px dashed var(--color-rule);border-bottom:0;border-radius:50% 50% 0 0;pointer-events:none}.sun-orb{position:absolute;left:calc(50% - 5px);top:89px;width:10px;height:10px;border-radius:50%;background:var(--color-sun)}.sun-dial.night{background:var(--color-night);color:var(--color-white)}.sun-dial.night>svg,.sun-dial.night>span{color:var(--color-white)}.time-range{margin-top:21px}.range-ends{display:flex;justify-content:space-between;color:var(--color-muted);font-size:10px}.time-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:21px}.time-presets button{display:flex;align-items:center;flex-direction:column;gap:8px;padding:12px 0;border:var(--rule);border-radius:4px;color:var(--color-muted)}.time-presets button span{font-size:10px}.time-presets button[aria-pressed=true]{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-selection)}.architecture-list{display:flex;flex-direction:column;margin-bottom:20px}.architecture-list>button{display:flex;align-items:center;gap:12px;text-align:left;padding:17px 10px;border-bottom:var(--rule);white-space:normal}.architecture-list>button>span{flex:1;min-width:0}.architecture-list b{display:block;font-weight:500;font-size:13px;white-space:nowrap}.architecture-list small{display:block;font-size:11px;line-height:1.5;color:var(--color-muted);margin-top:4px}.architecture-list>button.selected{background:var(--color-accent-soft)}.architecture-list>button>svg:first-child{color:var(--color-accent)}.measurement-list{padding:16px 0}.measure-instruction{font-size:12px}.measurement-list>.row{font-size:12px;border-bottom:var(--rule);padding:12px 0}.move-controls{margin:15px 0;padding:15px;background:var(--color-paper)}.move-controls p{font-size:11px;color:var(--color-muted)}.move-controls>div{display:flex;justify-content:center;gap:7px;margin:12px 0}.move-controls>span{font-size:11px}.compare-option{border-top:var(--rule);padding:20px 0}.compare-option>.row{justify-content:flex-start}.compare-option>.row>b{font-weight:500}.option-letter{display:flex;align-items:center;justify-content:center;width:31px;height:31px;border:var(--rule);font-family:var(--font-display);font-size:22px}.compare-option.active .option-letter{background:var(--color-accent);color:var(--color-white)}.small-badge{margin-left:auto;padding:4px 7px;font-size:10px;background:var(--color-accent-soft);border-radius:3px}.saved-palette{display:flex;gap:6px;margin-top:20px}.saved-palette span{width:calc(25% - 4px);height:44px;border-radius:3px;border:1px solid var(--color-line-glaze)}.compare-option p{font-size:11px;color:var(--color-muted);margin:15px 0}.compare-option>.secondary-button{margin-top:8px}.tech-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:25px}.tech-tags span{font-size:10px;padding:6px 8px;border:var(--rule);border-radius:3px}.quality-options{display:flex;gap:5px;background:var(--color-paper);padding:5px;border:var(--rule);border-radius:4px}.quality-options button{flex:1;padding:9px 0;font-size:12px;text-transform:capitalize;border-radius:3px}.quality-options button[aria-pressed=true]{background:var(--color-accent);color:var(--color-white)}.reset-confirm{padding:15px;margin-top:16px;background:var(--color-paper)}.reset-confirm p{font-size:12px;margin-bottom:14px}.reset-confirm>.text-button{margin-top:8px}.range-field{display:block;margin:16px 0}.range-field>span{display:flex;justify-content:space-between;font-size:12px}.range-field b{font-weight:400}.debug{margin:25px 0}.debug>summary{font-size:12px}.performance-panel{position:absolute;left:91px;top:185px;min-width:215px;border-radius:5px;background:var(--color-perf);color:var(--color-perf-text);z-index:var(--z-dropdown);padding:16px;font-size:11px;pointer-events:auto}.performance-panel>.row{margin-bottom:12px;font-size:12px}.performance-panel button{display:flex;color:var(--color-perf-text);padding:0}.perf-stats{margin:0;display:flex;flex-direction:column;gap:7px}.perf-stats>div{display:flex;justify-content:space-between;gap:30px}.perf-stats dt{opacity:.6}.perf-stats dd{margin:0;font-variant-numeric:tabular-nums}.hotspot{width:25px;height:25px;border-radius:50%;background:var(--color-panel);border:1px solid var(--color-selection);color:var(--color-accent);box-shadow:0 2px 7px var(--color-shadow);font-size:19px;line-height:1;padding:0;display:flex;align-items:center;justify-content:center}.hotspot.active{background:var(--color-accent);color:var(--color-white)}.hotspot-wrap{position:relative;pointer-events:auto}.hotspot-card{position:absolute;top:34px;left:-110px;width:240px;padding:17px;background:var(--color-panel);border:var(--rule);border-radius:5px;box-shadow:0 5px 20px var(--color-shadow)}.hotspot-card strong{font-size:12px;display:block;font-weight:500}.hotspot-card p{font-size:11px;color:var(--color-muted);margin:8px 0}.hotspot-card>button{font-size:10px;text-decoration:underline;padding:4px 0}.room-label,.layer-label,.measure-label{background:var(--color-panel);border:var(--rule);padding:7px 11px;border-radius:4px;font-size:11px;white-space:nowrap;box-shadow:0 2px 10px var(--color-shadow);pointer-events:none}.layer-label{font-size:12px}.measure-label{background:var(--color-accent);color:var(--color-white);border:0;font-variant-numeric:tabular-nums}.help-dialog{background:var(--color-panel);color:var(--color-ink);border:var(--rule);border-radius:var(--radius-md);padding:30px;max-width:500px;width:calc(100% - 32px);max-height:90dvh;overflow:auto}.help-dialog::backdrop{background:var(--color-overlay)}.help-dialog h2{font-size:34px}.help-dialog p{font-size:13px;color:var(--color-muted);margin:18px 0}.help-dialog .spec-list>div{align-items:flex-start;font-size:12px}.help-dialog .spec-list dd{max-width:250px;line-height:1.7}.help-dialog kbd{font-family:var(--font-body);font-size:11px;background:var(--color-paper);border:var(--rule);border-radius:3px;padding:3px 6px;white-space:nowrap}.loader{position:fixed;inset:0;z-index:var(--z-toast);background:var(--color-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:1;transition:opacity .45s var(--ease-out)}.loader.loaded{opacity:0;pointer-events:none}.loader>.brand{font-size:45px}.loading-plan{width:140px;height:100px;border:1px solid var(--color-faint);margin:44px 0 36px;position:relative}.loading-plan i{position:absolute;border:1px solid var(--color-faint)}.loading-plan i:nth-child(1){inset:9px 9px 53px 82px}.loading-plan i:nth-child(2){inset:54px 9px 9px 82px}.loading-plan i:nth-child(3){inset:11px 70px 11px 10px;border-radius:1px}.loading-meta{display:flex;justify-content:space-between;width:290px;font-size:11px;color:var(--color-muted)}.loader progress{appearance:none;width:290px;height:2px;border:0;background:var(--color-rule);margin:14px 0 28px}.loader progress::-webkit-progress-bar{background:var(--color-rule)}.loader progress::-webkit-progress-value{background:var(--color-accent)}.loader progress::-moz-progress-bar{background:var(--color-accent)}.loader>.text-button{font-size:11px}.webgl-fallback{position:absolute;inset:0;z-index:var(--z-toast);background:var(--color-paper);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;text-align:center}.webgl-fallback h2{font-size:36px;margin-top:30px}.webgl-fallback p{max-width:380px;margin:20px 0;color:var(--color-muted);font-size:14px}.webgl-fallback button{background:var(--color-accent);color:var(--color-white);padding:12px 20px;border-radius:4px}.mobile-customize{display:none}@media(min-width:1550px){.side-panel.open{width:370px}.panel-content{padding:32px}.panel-tabs{padding:0 32px;gap:22px}.panel-heading h2{font-size:38px}.material-preview{height:190px}.material-sphere{width:130px;height:130px}.swatch-face{height:48px}.viewport-caption{top:44px;left:42px}.scene-bottom{bottom:35px}}@media(max-width:1180px){.side-panel.open{width:306px}.panel-content{padding:23px 20px}.panel-tabs{padding:0 20px;gap:15px}.panel-tabs>button{font-size:11px;gap:5px}.room-nav button{padding:13px 10px;font-size:11px}.room-number{display:none}.scene-bottom{width:calc(100% - 50px)}.mini-plan{width:128px;right:20px}.topbar{padding:0 24px;gap:21px}.top-actions{gap:12px}.viewport-caption{left:25px}.tool-rail{left:20px}.residence-meta>span:last-child{display:none}.view-badge{right:20px;font-size:10px}.panel-heading h2{font-size:32px}}@media(max-width:950px){.project-name{font-size:12px;column-gap:8px}.project-name span{font-size:10px}.brand{font-size:26px}.topbar{gap:18px;height:70px}.top-actions>button:first-child{font-size:11px;padding:8px}.action-divider,.brand-divider{display:none}.top-actions{gap:8px}.side-panel.open{width:290px}.viewport-caption h1{font-size:38px}.viewport-caption{top:26px}.view-badge{display:none}.view-controls{top:23px;right:16px}.view-controls .icon-button:first-child,.mini-plan{display:none}.room-nav button{padding:12px 8px;font-size:10px}.scene-bottom{width:calc(100% - 30px)}.tool-rail{left:15px;padding:4px}.tool-rail .icon-button{width:33px;height:35px}.residence-meta{font-size:9px}.panel-heading p{font-size:11px}.panel-tabs{gap:12px;padding:0 17px}.panel-content{padding:22px 18px}.material-preview{height:144px}.panel-heading{margin-bottom:20px}}@media(max-width:768px){.studio{min-height:480px}.topbar{height:66px;padding:0 18px;gap:13px}.brand{font-size:25px}.brand span{font-size:9px}.project-name{font-size:11px;max-width:185px}.project-name span{font-size:9px}.top-actions>button:first-child>span{display:none}.top-actions>button:first-child{padding:8px}.top-actions{gap:5px}.top-actions .help-button{display:none}.top-actions .icon-button{width:32px}.workspace{position:relative}.viewport-caption{top:25px;left:22px}.viewport-caption h1{font-size:39px}.viewport-caption p{font-size:11px}.residence-meta{margin-bottom:10px}.view-controls{top:25px;right:16px}.view-controls .icon-button:first-child{display:inline-flex}.side-panel.open{position:absolute;bottom:0;left:0;width:100%;height:52%;min-height:280px;max-height:60%;border-left:0;border-top:var(--rule);border-radius:14px 14px 0 0;box-shadow:0 -5px 20px var(--color-shadow);z-index:var(--z-dropdown)}.panel-tabs{height:53px;gap:23px;padding:0 22px}.panel-tabs>button{font-size:12px;gap:7px}.panel-tabs>.panel-close{display:flex;margin-left:auto;align-items:center;padding:5px}.panel-content{padding:22px 25px}.panel-heading{margin-bottom:20px}.panel-heading h2{font-size:32px}.panel-heading p{font-size:12px}.material-preview{height:140px;float:right;width:37%;margin:17px 0 17px 15px}.material-sphere{width:90px;height:90px}.selected-title{margin-top:20px;min-height:49px}.material-preview>span{display:none}.field-caption{font-size:11px}.swatch-grid{max-width:340px}.metal-swatches{max-width:300px}.finish-note{clear:both}.material-preview~.section-rule{clear:both}.panel-footer{display:none}.tool-rail{left:15px;top:45%;transform:translateY(-32%);padding:4px;gap:3px}.tool-rail .icon-button{width:34px;height:35px}.tool-rail .icon-button svg{width:17px}.tool-rail .rail-rule{margin:2px 4px}.scene-bottom{bottom:72px;gap:12px;width:calc(100% - 28px);max-width:560px}.room-nav{width:100%;justify-content:space-between}.room-nav button{font-size:11px;padding:11px 10px;flex:1;justify-content:center}.explore-hint{font-size:10px;max-width:100%}.explore-hint span{white-space:nowrap}.mobile-customize{display:flex;align-items:center;justify-content:center;gap:8px;position:absolute;bottom:19px;left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-white);padding:12px 24px;font-size:12px;border-radius:var(--radius-pill);box-shadow:0 2px 10px var(--color-shadow)}.mobile-customize:active{transform:translate(-50%)}.panel-visible .viewport .mobile-customize{display:none}.panel-visible .scene-bottom{bottom:calc(52% + 17px)}.panel-visible .scene-bottom .explore-hint,.panel-visible .tool-rail{display:none}.panel-visible .viewport-caption{top:20px}.panel-visible .viewport-caption h1{font-size:30px}.panel-visible .viewport-caption p{display:none}.panel-visible .view-controls{top:21px}.panel-visible .scene-canvas{bottom:52%}.panel-visible .scene-bottom{display:none}.statusbar{height:32px;padding:0 17px;font-size:9px}.statusbar button{font-size:9px}.statusbar>div{gap:9px}.desktop-only,.footer-dot:last-of-type{display:none}.statusbar>button>svg:last-child{display:none}.performance-panel{top:140px;left:63px}.sun-dial{max-width:400px;margin:auto}.time-presets{max-width:500px}.architecture-list small{font-size:12px}.hotspot-card{width:210px;left:-90px}}@media(max-width:414px){.project-name{max-width:130px;line-height:1.35;display:block}.project-name>svg{display:none}.project-name span{display:block;font-size:8px;margin-top:2px}.topbar{gap:12px;padding:0 13px}.brand{font-size:22px}.top-actions{gap:1px}.top-actions>button:first-child{padding:6px}.top-actions .icon-button{width:30px}.viewport-caption{left:19px}.room-nav{padding:5px}.room-nav button{font-size:10px;padding:11px 8px}.explore-hint{font-size:9px;padding:6px 8px;gap:5px}.panel-tabs{padding:0 19px;gap:20px}.panel-tabs>button{font-size:11px}.panel-content{padding:20px}.material-preview{width:35%}.material-sphere{width:79px;height:79px}.selected-title h3{font-size:13px}.statusbar>div{gap:7px}.statusbar>button>span{font-size:9px}.help-dialog{padding:22px}.help-dialog h2{font-size:28px}}@media(max-width:350px){.project-name{display:none}.top-actions{margin-left:auto}.scene-bottom{width:calc(100% - 18px)}.room-nav button{font-size:9px;padding:11px 7px}.viewport-caption h1{font-size:34px}.view-controls .icon-button{height:32px;width:32px}.panel-tabs{gap:13px;padding:0 15px}.panel-content{padding:18px}.panel-heading h2{font-size:30px}.statusbar{padding:0 12px}.statusbar>button>span{display:none}.statusbar>div{gap:10px}.hotspot-card{width:180px}.material-preview{height:125px}.swatch-face{height:38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.1s!important;scroll-behavior:auto!important}.swatch:hover .swatch-face{transform:none}}.night-view .viewport-caption,.night-view .viewport-caption p,.night-view .residence-meta{color:var(--color-paper)}.night-view .residence-meta .status-dot{background:var(--color-paper)}.plan-view .mini-plan{display:none}@media(max-width:768px){.panel-content:has(.material-preview) .panel-heading,.material-preview{display:none}.panel-content:has(.material-preview) .selected-title{margin-top:14px;min-height:36px}.panel-content:has(.material-preview) .section-rule{margin:12px 0}.panel-content:has(.material-preview) .finish-note{margin-top:12px}.panel-content:has(.material-preview) .swatch-face{height:39px}.panel-content:has(.material-preview) .swatch>span:last-child{font-size:11px}.panel-content .setting-row{min-height:36px}.panel-tabs>button{min-height:44px}.switch{position:relative}.switch:before{content:"";position:absolute;inset:-12px -6px}.room-nav button{min-height:42px}.top-actions .icon-button,.top-actions>button:first-child{min-height:44px}.panel-visible .viewport-caption h1{font-size:29px}.panel-visible .residence-meta{font-size:9px}}
