:root{--color-background:#16191e;--color-panel:#1e2228;--color-panel-raised:#262b33;--color-panel-hover:#2e343d;--color-border:#333a44;--color-text:#e6e9ee;--color-text-muted:#9aa3ae;--color-text-faint:#6c7581;--color-accent:#3d8bff;--color-accent-soft:#3d8bff29;--color-danger:#ef5b5b;--color-success:#3fbf7f;--radius-small:5px;--radius-medium:8px;--font-ui:"Segoe UI", system-ui, -apple-system, sans-serif;--top-bar-height:46px;--status-bar-height:28px;--tool-rail-width:56px;--left-panel-width:300px;--right-panel-width:320px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--color-background);height:100%;color:var(--color-text);font:13px/1.4 var(--font-ui);margin:0;overflow:hidden}button,input,select{font:inherit;color:inherit}.app-layout{grid-template-rows:minmax(var(--top-bar-height), auto) minmax(0, 1fr) var(--status-bar-height);grid-template-columns:var(--tool-rail-width) var(--left-panel-width) minmax(0, 1fr) var(--right-panel-width);grid-template-areas:"top top top top""rail left viewport right""status status status status";height:100%;display:grid}.app-layout[data-left-panel=hidden]{--left-panel-width:0px}.app-layout[data-right-panel=hidden]{--right-panel-width:0px}.top-bar{grid-area:top}.tool-rail{grid-area:rail}.left-panel{grid-area:left}.viewport{grid-area:viewport;min-width:0;min-height:0;position:relative}.viewport-canvas{position:absolute;inset:0}.right-panel{grid-area:right}.status-bar{grid-area:status}.left-panel,.right-panel{background:var(--color-panel);min-height:0;overflow-y:auto}.left-panel{border-right:1px solid var(--color-border)}.right-panel{border-left:1px solid var(--color-border)}.top-bar{background:var(--color-panel);border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-content:center;align-items:center;gap:4px 6px;padding:6px 10px;display:flex}.top-bar__brand{align-items:center;gap:8px;margin-right:8px;font-weight:600;display:flex}.top-bar__project-name{border-radius:var(--radius-small);width:170px;min-width:90px;color:var(--color-text);background:0 0;border:1px solid #0000;flex-shrink:1;padding:4px 6px}.top-bar__project-name:hover,.top-bar__project-name:focus{border-color:var(--color-border);outline:none}.top-bar__dirty-marker{color:var(--color-text-faint);font-size:12px}.top-bar__group{border-left:1px solid var(--color-border);align-items:center;gap:2px;padding:0 6px;display:flex}.top-bar__spacer{flex:1}@media (width<=1500px){.top-bar__brand-name{display:none}.top-bar__brand{margin-right:2px}.top-bar__project-name{width:130px}.top-bar__group{padding:0 4px}.top-bar .segmented-control__option{padding:3px 6px}}.icon-button{border-radius:var(--radius-small);min-width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--color-panel-hover);color:var(--color-text)}.icon-button--active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-text)}.icon-button:disabled{opacity:.35;cursor:default}.icon-button--danger:hover:not(:disabled){color:var(--color-danger)}.segmented-control{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);gap:2px;padding:2px;display:inline-flex}.segmented-control__option{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:3px 9px}.segmented-control__option--selected{background:var(--color-panel-raised);color:var(--color-text);box-shadow:0 0 0 1px var(--color-border)}.field{grid-template-columns:96px minmax(0,1fr);align-items:center;gap:8px;margin:6px 0;display:grid}.field__label{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field__control{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);align-items:center;min-width:0;display:flex}.field__control:focus-within{border-color:var(--color-accent)}.field__input,.field__select{background:0 0;border:none;outline:none;flex:1;min-width:0;padding:5px 7px}.field__select option{background:var(--color-panel)}.field__unit{color:var(--color-text-faint);padding-right:7px;font-size:12px}.field--invalid .field__control{border-color:var(--color-danger)}.field__checkbox{width:16px;height:16px;accent-color:var(--color-accent);justify-self:start}.field-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.field-row .field{grid-template-columns:22px minmax(0,1fr)}.panel-section{border-bottom:1px solid var(--color-border);padding:10px 12px 12px}.panel-section__header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.panel-section__title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:600}.panel-section__hint{color:var(--color-text-faint);margin:4px 0 8px;font-size:12px}.panel-tabs{border-bottom:1px solid var(--color-border);background:var(--color-panel);z-index:2;display:flex;position:sticky;top:0}.panel-tabs__tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 0 10px;font-weight:600}.panel-tabs__tab--selected{color:var(--color-text);border-bottom-color:var(--color-accent)}.inspector__title{margin:2px 0;font-size:15px;font-weight:600}.inspector__subtitle{color:var(--color-text-faint);margin-bottom:6px;font-size:12px}.inspector__actions{flex-wrap:wrap;gap:4px;margin-top:10px;display:flex}.inspector__actions .icon-button{border-color:var(--color-border)}.inspector__readout{color:var(--color-text-muted);justify-content:space-between;margin:4px 0;display:flex}.inspector__readout strong{color:var(--color-text);font-weight:600}.tool-rail{background:var(--color-panel);border-right:1px solid var(--color-border);flex-direction:column;align-items:center;gap:4px;padding:8px 0;display:flex}.tool-rail .icon-button{width:40px;height:40px}.tool-rail__separator{background:var(--color-border);width:28px;height:1px;margin:4px 0}.search-box{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);align-items:center;gap:6px;padding:0 8px;display:flex}.search-box input{background:0 0;border:none;outline:none;flex:1;padding:7px 0}.category-chips{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.category-chip{border:1px solid var(--color-border);color:var(--color-text-muted);cursor:pointer;background:0 0;border-radius:999px;padding:2px 9px;font-size:12px}.category-chip--selected{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-text)}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.catalog-card{border:1px solid var(--color-border);border-radius:var(--radius-medium);background:var(--color-panel-raised);cursor:pointer;text-align:left;flex-direction:column;padding:0;display:flex;overflow:hidden}.catalog-card:hover{border-color:var(--color-accent)}.catalog-card--active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.catalog-card__image{aspect-ratio:4/3;background:#e9ebee;justify-content:center;align-items:center;display:flex}.catalog-card__image img{object-fit:contain;width:100%;height:100%}.catalog-card__body{padding:6px 8px 7px}.catalog-card__name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.catalog-card__size{color:var(--color-text-faint);font-size:11px}.swatch-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px;display:grid}.swatch{aspect-ratio:1;border-radius:var(--radius-small);border:1px solid var(--color-border);cursor:pointer;background-size:cover;padding:0}.swatch--selected{outline:2px solid var(--color-accent);outline-offset:1px}.finish-picker__current{align-items:center;gap:8px;margin-bottom:6px;display:flex}.finish-picker__current-swatch{border-radius:var(--radius-small);border:1px solid var(--color-border);background-size:cover;width:34px;height:34px}.finish-picker__color{border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer;background:0 0;width:34px;height:26px;padding:0}.level-list{flex-direction:column;gap:3px;display:flex}.level-row{border-radius:var(--radius-small);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;padding:6px 8px;display:flex}.level-row:hover{background:var(--color-panel-hover)}.level-row--active{background:var(--color-accent-soft);border-color:var(--color-accent)}.level-row__elevation{color:var(--color-text-faint);font-size:12px}.status-bar{background:var(--color-panel);border-top:1px solid var(--color-border);color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:16px;padding:0 12px;font-size:12px;display:flex;overflow:hidden}.status-bar__hint{text-overflow:ellipsis;flex:1;overflow:hidden}.status-bar__badge{color:var(--color-text-faint)}.status-bar__badge--on{color:var(--color-accent)}.toasts{right:calc(var(--right-panel-width) + 16px);bottom:calc(var(--status-bar-height) + 16px);z-index:50;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed}.toast{background:var(--color-panel-raised);border:1px solid var(--color-border);border-left:3px solid var(--color-accent);border-radius:var(--radius-medium);max-width:380px;padding:9px 14px;box-shadow:0 8px 24px #00000059}.toast--success{border-left-color:var(--color-success)}.toast--error{border-left-color:var(--color-danger)}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.label-layer .scene-label{position:absolute;top:0;left:0}.scene-label{font:600 12px/1.25 var(--font-ui);white-space:nowrap;-webkit-user-select:none;user-select:none;transform:translateY(-2px)}.scene-label--room{color:#1f2937;background:#ffffffc7;border-radius:6px;flex-direction:column;align-items:center;padding:3px 8px;display:flex;box-shadow:0 1px 4px #0003}.scene-label--room span{color:#4b5563;font-size:11px;font-weight:400}.scene-label--measurement span,.scene-label--measurement strong{font-weight:600}.scene-label--measurement{color:#fff;background:#174a9eeb;border-radius:4px;padding:2px 6px}.viewport-overlay{z-index:5;gap:6px;display:flex;position:absolute;top:10px;right:10px}.viewport-overlay--left{left:10px;right:auto}.viewport-overlay .icon-button{border-color:var(--color-border);background:#1e2228d9}.viewport-popover{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-medium);z-index:6;width:290px;max-height:calc(100% - 64px);position:absolute;top:52px;right:10px;overflow-y:auto;box-shadow:0 12px 32px #00000073}.sun-panel__compass{justify-content:center;margin:4px 0 8px;display:flex}.sun-panel__presets{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.sun-compass{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.sun-compass:active{cursor:grabbing}.sun-compass__sky{fill:#1b2a40;stroke:var(--color-border)}.sun-compass__ring{fill:none;stroke:#ffffff1f;stroke-dasharray:3 3}.sun-compass__label{fill:var(--color-text-muted);font-size:11px;font-weight:600}.sun-compass__ray{stroke:#ffd27899;stroke-width:1.5px}.sun-compass__sun{fill:#ffcf5a;stroke:#fff4d6;stroke-width:2px;filter:drop-shadow(0 0 6px #ffc850cc)}.sun-compass__sun--night{fill:#c8d4ea;stroke:#8fa0bf;filter:none}.app-layout[data-exploring=true]{--tool-rail-width:0px}.app-layout[data-exploring=true] .viewport-overlay{display:none}.explore-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.explore-overlay__crosshair{background:#ffffffe6;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 1.5px #00000073}.explore-overlay__prompt{color:#fff;background:#14161ab8;border-radius:8px;padding:6px 12px;font-size:14px;position:absolute;top:calc(50% + 28px)}.explore-overlay__prompt kbd{color:#111;text-align:center;background:#fff;border-radius:4px;min-width:20px;margin-right:4px;padding:1px 6px;font-weight:700;display:inline-block}.explore-overlay__card{pointer-events:auto;color:#f2f2f2;background:#14161ad1;border-radius:12px;max-width:420px;padding:20px 24px;line-height:1.6;position:absolute;bottom:20px}.explore-overlay__card h2{margin:0 0 4px;font-size:18px}.explore-overlay__click{color:var(--color-accent);margin:0 0 10px;font-weight:600}.explore-overlay__card ul{margin:0 0 14px;padding-left:18px;font-size:13px}.explore-overlay__exit{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 14px}.template-picker{display:flex;position:relative}.template-picker__backdrop{z-index:40;position:fixed;inset:0}.template-picker__menu{z-index:41;background:var(--color-panel);border:1px solid var(--color-border);border-radius:10px;width:340px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #00000059}.template-picker__title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-faint);padding:6px 10px 8px;font-size:11px;font-weight:700}.template-picker__item{width:100%;color:var(--color-text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:7px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.template-picker__item:hover{background:var(--color-hover,#ffffff0f)}.template-picker__name{font-weight:600}.template-picker__description{color:var(--color-text-faint);font-size:12px;line-height:1.4}.finish-picker__group-title{color:var(--color-text-faint);margin:10px 0 4px;font-size:11px;font-weight:600}.finish-picker__adjustments{background:#ffffff08;border-radius:8px;flex-direction:column;gap:6px;margin:8px 0 4px;padding:8px;display:flex}.finish-picker__slider{grid-template-columns:1fr 1.3fr 48px;align-items:center;gap:8px;font-size:12px;display:grid}.finish-picker__slider input[type=range]{width:100%;accent-color:var(--color-accent)}.finish-picker__slider-value{text-align:right;color:var(--color-text-faint);font-variant-numeric:tabular-nums}.finish-picker__adjustment-actions{flex-wrap:wrap;gap:6px;display:flex}
