*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--line) var(--panel-2);margin:0;padding:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--panel-2)}::-webkit-scrollbar-thumb{background:var(--line);border:2px solid var(--panel-2);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--dim)}::selection{color:var(--text);background:var(--accent-soft)}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-plex-thai), "IBM Plex Sans Thai", system-ui, -apple-system, sans-serif;overflow-x:hidden}:is(html:root:has(.studio-shell),html:root:has(.shared-shell)){overscroll-behavior:none}:is(body:has(.studio-shell),body:has(.shared-shell)){overflow:hidden}a{color:inherit;text-decoration:none}button{border:1px solid var(--line);color:var(--text);padding:var(--space-step-08) var(--space-step-12);font-size:var(--text-step-09);cursor:pointer;background:0 0;border-radius:6px;font-family:inherit;transition:border-color .15s,background .15s}button:hover{border-color:var(--accent);background:var(--accent-soft)}button.primary{border-color:var(--accent);color:var(--accent)}button.danger{border-color:var(--danger);color:var(--danger)}button.danger:hover{background:var(--danger-wash-strong)}button:disabled{opacity:.4;cursor:default}.brand{letter-spacing:.4px;white-space:nowrap;font-weight:600}.brand span{color:var(--accent)}.brand-mark{vertical-align:-.42em;width:auto;height:1.5em;margin-right:.4em;display:inline-block}.brand-mark-ink{fill:currentColor}.brand-mark-accent{fill:var(--brand-mark-accent,var(--accent))}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.language-switcher{align-items:center;gap:var(--space-step-06);color:var(--dim);display:inline-flex}.language-switcher-label{font-size:var(--text-step-06);letter-spacing:.2px}.language-switcher select{background:var(--panel-2);border:1px solid var(--line);min-width:104px;color:var(--text);padding:var(--space-step-06) var(--space-step-08);font-family:inherit;font-size:var(--text-step-07);cursor:pointer;border-radius:6px;transition:border-color .15s,background .15s}.language-switcher select:hover,.language-switcher select:focus{border-color:var(--accent);background:var(--accent-soft)}.language-switcher.compact select{min-width:86px;max-width:96px;padding:var(--space-step-05) var(--space-step-06)}.theme-switcher{align-items:center;gap:var(--space-step-06);color:var(--dim);display:inline-flex}.theme-switcher-label{font-size:var(--text-step-06);letter-spacing:.2px}.theme-switcher select{background:var(--panel-2);border:1px solid var(--line);min-width:104px;color:var(--text);padding:var(--space-step-06) var(--space-step-08);font-family:inherit;font-size:var(--text-step-07);cursor:pointer;border-radius:6px;transition:border-color .15s,background .15s}.theme-switcher select:hover,.theme-switcher select:focus{border-color:var(--accent);background:var(--accent-soft)}.theme-switcher.compact select{min-width:84px;max-width:92px;padding:var(--space-step-05) var(--space-step-06)}.studio-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.topbar{min-width:0;padding:var(--space-step-04) var(--space-step-12);border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:0;display:flex;overflow:visible}.topbar>*{flex:none}.topbar-zone{align-items:center;gap:var(--space-step-06);min-width:0;display:inline-flex}.topbar-zone+.topbar-zone,.topbar-spacer+.topbar-zone{margin-left:var(--space-step-10);padding-left:var(--space-step-10);border-left:1px solid var(--line)}.topbar-zone-document{flex:0 auto}.topbar-zone-view,.topbar-zone-history,.topbar-zone-handoff{flex:none}.topbar-spacer{flex:12px;min-width:8px}.topbar-history-action{justify-content:center;align-items:center;gap:var(--space-step-04);display:inline-flex}.editor-notice-region{background:var(--panel);flex-direction:column;flex:none;min-width:0;display:flex}.editor-notice-region:empty{display:none}.editor-notice-region>.meta,.editor-notice-region>.input-limit-error{justify-content:center;align-items:center;gap:var(--space-step-06);width:100%;min-width:0;padding:var(--space-step-06) var(--space-step-12);border-bottom:1px solid var(--line);background:var(--panel-2);font-size:var(--text-step-07);line-height:var(--leading-step-05);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;display:flex}.editor-notice-region>.meta.warning{background:var(--accent-soft)}.editor-notice-region>.meta.error{background:var(--danger-wash-strong)}.editor-notice-region .local-recovery-status{flex-wrap:wrap}.editor-notice-region .local-recovery-status .recovery-text{-webkit-line-clamp:unset;-webkit-box-orient:initial;min-width:0;display:inline;overflow:visible}.editor-error-actions{gap:var(--space-step-07);margin-top:var(--space-step-11);flex-wrap:wrap;display:flex}.editor-body{flex:1;min-height:0;display:flex;position:relative}.workspace-panes{flex:1;min-width:0;min-height:0;display:flex}.viewer3d{flex:1;min-width:0;position:relative;container-type:size}.viewer3d canvas{display:block}.viewer3d-overlay{color:var(--dim);font-size:var(--text-step-09);background:var(--viewer-loading-overlay);place-items:center;display:grid;position:absolute;inset:0}.viewer3d-loading{align-items:center;gap:var(--space-step-09);display:inline-flex}.viewer3d-spinner{border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.8s linear infinite viewer-spin}.viewer3d-error{color:var(--danger);padding:var(--space-step-17)}.viewer3d-webgl-recovery{z-index:6;padding:var(--space-step-17);text-align:center}.viewer3d-webgl-recovery>div{max-width:440px}.viewer3d-webgl-recovery strong{color:var(--accent);font-size:var(--text-step-14);display:block}.viewer3d-webgl-recovery p{margin:var(--space-step-09) 0 var(--space-step-13);line-height:var(--leading-step-07);color:var(--text)}.viewer3d-webgl-recovery button{min-width:44px;min-height:44px}.viewer3d-build-warning{top:var(--space-step-11);left:var(--space-step-11);z-index:2;overscroll-behavior:contain;width:min(420px,100% - 124px);max-height:min(45%,260px);padding:var(--space-step-08) var(--space-step-10);border:1px solid var(--accent);color:var(--text);background:var(--surface-overlay);font-size:var(--text-step-06);border-radius:6px;position:absolute;overflow:auto}.viewer3d-build-warning summary{color:var(--accent);cursor:pointer;font-weight:600}.viewer3d-build-warning ul{margin:var(--space-step-06) 0 0;padding-left:var(--space-step-14)}.viewer3d-build-warning li{margin:var(--space-step-03) 0;overflow-wrap:anywhere}.viewer3d-overlay-toolbar{bottom:var(--space-step-12);right:var(--space-step-12);z-index:3;gap:var(--space-step-03);flex-direction:column;display:inline-flex;position:absolute}.viewer3d-overlay-toolbar:has(.viewer3d-toolbar-more[open]){z-index:6}.viewer3d-toolbar-primary,.viewer3d-toolbar-secondary{display:contents}.viewer3d-toolbar-btn{min-width:96px;padding:var(--space-step-06) var(--space-step-09);font-size:var(--text-step-06);border:1px solid var(--line);background:var(--surface-raised-translucent);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.viewer3d-toolbar-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.viewer3d-toolbar-btn:disabled{opacity:.4;cursor:default}.viewer3d-toolbar-more{display:none;position:relative}.viewer3d-toolbar-more>summary{min-width:96px;min-height:32px;padding:var(--space-step-06) var(--space-step-09);border:1px solid var(--line);background:var(--surface-raised-translucent);color:var(--text);cursor:pointer;font-size:var(--text-step-06);border-radius:6px;justify-content:center;align-items:center;font-weight:500;list-style:none;display:flex}.viewer3d-toolbar-more>summary::-webkit-details-marker{display:none}.viewer3d-toolbar-more>summary:hover{border-color:var(--accent);background:var(--accent-soft)}.viewer3d-toolbar-more[open]>summary{border-color:var(--accent);color:var(--accent)}.viewer3d-toolbar-more-menu{right:calc(100% + var(--space-step-07));gap:var(--space-step-03);overscroll-behavior:contain;width:max-content;min-width:128px;max-height:min(410px,100cqh - 84px);padding:var(--space-step-05);border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 30px var(--shadow-deep);border-radius:8px;display:grid;position:absolute;bottom:0;overflow-y:auto}.viewer3d-toolbar-more-menu .viewer3d-toolbar-btn{width:100%}.viewer3d-toolbar-more-menu .viewer3d-toolbar-more-presets{gap:var(--space-step-03);padding-bottom:var(--space-step-05);margin-bottom:var(--space-step-01);border-bottom:1px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.viewer3d-toolbar-more-menu .viewer3d-toolbar-more-presets .viewer3d-toolbar-btn{justify-content:center;min-width:52px}.view-cube{top:var(--space-step-11);right:var(--space-step-11);z-index:3;align-items:flex-end;gap:var(--space-step-01);flex-direction:column;display:inline-flex;position:absolute}.view-cube-row{gap:var(--space-step-01);display:inline-flex}.view-cube-btn{width:34px;height:34px;font-size:var(--text-step-03);border:1px solid var(--line);background:var(--surface-muted-overlay);color:var(--dim);cursor:pointer;border-radius:5px;justify-content:center;align-items:center;padding:0;font-weight:600;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.view-cube-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.view-cube-btn:disabled{opacity:.4;cursor:default}@container (max-width:340px){.view-cube{display:none}.viewer3d-build-warning{width:min(420px,100% - 24px)}.viewer3d-overlay-toolbar{bottom:var(--space-step-07);right:var(--space-step-07);overscroll-behavior:contain;flex-flow:row;max-width:calc(100cqw - 16px);overflow-x:auto}}@container (max-height:460px){.view-cube{display:none}}@container (max-height:760px){.viewer3d-toolbar-secondary{display:none}.viewer3d-toolbar-more{display:block}}@container (max-height:300px){.viewer3d-build-warning{max-height:min(45%,100cqh - 96px)}}@container (max-width:420px){.viewer3d-toolbar-more-menu{right:0;bottom:calc(100% + var(--space-step-07))}}@container (max-width:200px){.viewer3d-overlay-toolbar{display:none}}@container (max-height:170px){.viewer3d-overlay-toolbar{display:none}}.viewer3d-toolbar-btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.viewer3d-float-panel:focus{outline:none}.viewer3d-float-panel{left:var(--space-step-11);bottom:var(--space-step-25);z-index:5;gap:var(--space-step-09);overscroll-behavior:contain;width:min(320px,100cqw - 158px);max-height:calc(100cqh - 84px);padding:var(--space-step-11);border:1px solid var(--line);background:var(--surface-overlay);color:var(--text);font-size:var(--text-step-07);border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow-y:auto}.viewer3d-panel-head{justify-content:space-between;align-items:center;gap:var(--space-step-07);display:flex}.viewer3d-panel-head h3{font-size:var(--text-step-04);text-transform:uppercase;letter-spacing:1.2px;color:var(--dim);margin:0}.viewer3d-panel-close{min-width:28px;min-height:24px;padding:var(--space-step-01) var(--space-step-07);font-size:var(--text-step-11);line-height:var(--leading-step-01);border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.cutaway-presets{gap:var(--space-step-05);border:0;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.cutaway-presets legend{margin-bottom:var(--space-step-01);color:var(--dim);font-size:var(--text-step-05);grid-column:1/-1}.cutaway-presets button,.cutaway-flip{min-width:0;min-height:36px;padding:var(--space-step-05) var(--space-step-07);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:var(--text-step-05);border-radius:6px}.cutaway-presets button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.cutaway-preset-hint{color:var(--dim);font-size:var(--text-step-04);line-height:var(--leading-step-04);grid-column:1/-1;margin:1px 0 0}.cutaway-field{gap:var(--space-step-05);color:var(--dim);flex-direction:column;display:flex}.cutaway-axis-row{gap:var(--space-step-05);grid-template-columns:repeat(2,1fr);display:grid}.cutaway-axis-row button{border:1px solid var(--line);background:var(--panel-2);min-height:36px;color:var(--text);border-radius:6px}.cutaway-axis-row button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.cutaway-range-row{align-items:center;gap:var(--space-step-07);display:flex}.cutaway-range-row input[type=range]{flex:1;min-width:0}.cutaway-range-row output{min-width:70px;color:var(--text);text-align:end;font-variant-numeric:tabular-nums}.cutaway-flip{width:100%}.viewer3d-float-panel.render-studio-panel{gap:var(--space-step-08);width:min(520px,100cqw - 158px)}.render-studio-note,.render-studio-result,.render-studio-warning,.render-studio-progress p{line-height:var(--leading-step-05);margin:0}.render-studio-note{color:var(--dim)}.render-studio-warning{padding:var(--space-step-06) var(--space-step-08);border:1px solid color-mix(in srgb, var(--danger) 55%, var(--line));color:var(--text);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:6px}.render-studio-options{gap:var(--space-step-05);border:0;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0;margin:0;padding:0;display:grid}.render-studio-options legend{color:var(--dim);font-size:var(--text-step-05);grid-column:1/-1;margin-bottom:1px}.render-studio-options button{justify-content:center;align-items:flex-start;gap:var(--space-step-01);min-width:0;min-height:46px;padding:var(--space-step-05) var(--space-step-07);border:1px solid var(--line);color:var(--text);background:var(--panel-2);border-radius:6px;flex-direction:column;display:flex}.render-studio-options button strong{font-size:var(--text-step-05);font-weight:600}.render-studio-options button span{color:var(--dim);font-size:var(--text-step-03);font-variant-numeric:tabular-nums}.render-studio-options button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.render-studio-options button:disabled{opacity:.38}.render-studio-estimate{justify-content:space-between;gap:var(--space-step-09);color:var(--dim);font-size:var(--text-step-04);font-variant-numeric:tabular-nums;display:flex}.render-studio-preview{aspect-ratio:16/9;border:1px solid var(--line);background:var(--surface-canvas);border-radius:7px;width:100%;overflow:hidden}.render-studio-preview canvas,.render-studio-preview img{object-fit:contain;width:100%;height:100%}.render-studio-progress{gap:var(--space-step-04);flex-direction:column;display:flex}.render-studio-progress-head{justify-content:space-between;align-items:center;gap:var(--space-step-07);display:flex}.render-studio-progress-head strong{color:var(--accent);font-variant-numeric:tabular-nums}.render-studio-progress progress{width:100%;accent-color:var(--accent)}.render-studio-progress p{color:var(--dim);font-size:var(--text-step-04)}.render-studio-result{color:var(--text);font-variant-numeric:tabular-nums}.render-studio-actions{gap:var(--space-step-07);display:flex}.render-studio-actions button{flex:1;min-height:38px}.render-studio-actions .danger{color:var(--danger);border-color:var(--danger)}@container (max-width:480px){.viewer3d-float-panel.render-studio-panel{width:min(320px,100cqw - 24px)}.render-studio-options{grid-template-columns:1fr}.render-studio-options button{min-height:40px}.render-studio-estimate{gap:var(--space-step-01);flex-direction:column}}.viewer3d-toast{left:50%;bottom:var(--space-step-25);z-index:6;max-width:calc(100cqw - 24px);padding:var(--space-step-07) var(--space-step-12);border:1px solid var(--line);background:var(--surface-overlay);color:var(--text);font-size:var(--text-step-07);overflow-wrap:anywhere;border-radius:6px;position:absolute;transform:translate(-50%)}.viewer3d-direct-edit{z-index:5;visibility:hidden;border:1px solid var(--accent-border-strong);background:var(--surface-canvas-overlay);width:max-content;max-width:calc(100% - 16px);max-height:calc(100% - 16px);box-shadow:0 8px 28px var(--shadow-float);white-space:nowrap;border-radius:9px;flex-direction:column;align-items:stretch;display:flex;position:absolute;top:0;left:0;overflow:auto}.viewer3d-direct-edit button{min-width:44px;min-height:44px;color:var(--text);background:0 0;border:0;border-radius:0;flex-shrink:0}.viewer3d-direct-edit button:hover{background:var(--accent-soft);border:0}.viewer3d-direct-edit__selection-name{min-width:0;max-width:min(32cqw,200px);padding:var(--space-step-05) var(--space-step-09);border-inline-end:1px solid var(--accent-divider);color:var(--accent);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-step-05);align-items:center;font-weight:700;display:inline-flex;overflow:hidden}.viewer3d-direct-edit__move{justify-content:center;align-items:center;gap:var(--space-step-06);min-width:116px;padding:var(--space-step-05) var(--space-step-11);font-size:var(--text-step-05);touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;font-weight:650;display:inline-flex;background:var(--accent-wash)!important}.viewer3d-direct-edit__move:active{cursor:grabbing;background:var(--accent-soft)!important}.viewer3d-direct-edit__move-icon{color:var(--accent);font-size:var(--text-step-17);line-height:var(--leading-step-01)}.viewer3d-direct-edit__vertical{max-width:100%;display:inline-flex}.viewer3d-direct-edit__vertical[hidden]{display:none}.viewer3d-direct-edit__divider{background:var(--accent-divider);width:1px}.viewer3d-direct-edit__step{min-width:44px;font-size:var(--text-step-17);place-items:center;padding:0;display:grid}.viewer3d-direct-edit__grip{justify-content:center;align-items:center;gap:var(--space-step-06);min-width:128px;padding:var(--space-step-05) var(--space-step-09);font-size:var(--text-step-05);touch-action:none;-webkit-user-select:none;user-select:none;display:inline-flex;border-inline:1px solid var(--line)!important}.viewer3d-direct-edit__grip>span:first-child{color:var(--accent);font-size:var(--text-step-15)}.viewer3d-direct-edit__grip strong{color:var(--accent);font-variant-numeric:tabular-nums}.viewer3d-direct-edit__spatial{flex-wrap:wrap;align-items:stretch;display:flex}.viewer3d-direct-edit__vertical .viewer3d-direct-edit__grip{white-space:normal;min-width:44px}.viewer3d-selection-actions{border-top:1px solid var(--accent-divider);flex-direction:column-reverse;display:flex}.viewer3d-selection-actions .selection-bar-row{flex-wrap:wrap;display:flex}.viewer3d-selection-actions .selection-bar-secondary{background:var(--surface-canvas-overlay);border-top:1px solid var(--accent-divider)}.viewer3d-selection-actions .selection-bar-row>button{padding-inline:var(--space-step-09)}.inspector-transform{margin-block:var(--space-step-11);border-top:1px solid var(--line)}.inspector-transform>summary{cursor:pointer;align-content:center;min-height:44px;font-weight:600;display:list-item}.properties-fields:has(>.selection-inspector-header){display:contents}.viewer3d-building{left:50%;bottom:var(--space-step-25);z-index:4;align-items:center;gap:var(--space-step-07);max-width:calc(100cqw - 24px);padding:var(--space-step-06) var(--space-step-11);border:1px solid var(--line);background:var(--surface-raised-translucent);color:var(--dim);font-size:var(--text-step-07);white-space:nowrap;pointer-events:none;opacity:0;border-radius:6px;animation:.15s .2s forwards viewer3d-building-in;display:inline-flex;position:absolute;transform:translate(-50%)}@keyframes viewer3d-building-in{to{opacity:1}}.saved-views-save-row{gap:var(--space-step-05);display:flex}.saved-views-save-row input{flex:1;min-width:0}.saved-views-save-row button{white-space:nowrap}@container (max-width:480px){.saved-views-save-row{flex-direction:column}.saved-views-save-row button{white-space:normal}}.saved-views-note{color:var(--dim);font-size:var(--text-step-06);margin:0}.saved-views-list{gap:var(--space-step-03);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.saved-view-row{gap:var(--space-step-03);align-items:stretch;display:flex}.saved-view-apply{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.saved-view-rename-input{flex:1;min-width:0}.saved-view-icon-btn{min-width:30px;min-height:24px;padding:var(--space-step-03) var(--space-step-05);font-size:var(--text-step-07);line-height:var(--leading-step-01);justify-content:center;align-items:center;display:inline-flex}.sun-enable-row{align-items:center;gap:var(--space-step-07);cursor:pointer;display:flex}.sun-fieldset{gap:var(--space-step-09);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.sun-fieldset:disabled{opacity:.55}.sun-field{gap:var(--space-step-03);flex-direction:column;min-width:0;display:flex}.sun-field>label{font-size:var(--text-step-06);color:var(--dim)}.sun-field select,.sun-field input[type=number]{width:100%;min-width:0}.sun-row{align-items:center;gap:var(--space-step-07);min-width:0;display:flex}.sun-row input[type=range]{flex:1;min-width:0}.sun-value{font-variant-numeric:tabular-nums;color:var(--dim);text-align:right;min-width:44px}.sun-north-dial{width:28px;height:28px;color:var(--accent);flex:none;transition:transform .15s}.sun-hint{color:var(--dim);font-size:var(--text-step-05);margin:0}.sun-readout{gap:var(--space-step-03);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.sun-below-horizon{color:var(--accent)}@container (max-width:340px){.viewer3d-float-panel{width:min(320px,100cqw - 24px)}}@container (max-height:300px){.viewer3d-float-panel{width:min(320px,100cqw - 24px)}}@media (pointer:coarse){@container (max-height:620px){.viewer3d-float-panel{width:min(320px,100cqw - 24px)}}}@container (max-width:200px){.viewer3d-float-panel{display:none}}@container (max-height:170px){.viewer3d-float-panel{display:none}}.side-panel{background:var(--panel);border-left:1px solid var(--line);width:280px;padding:var(--space-step-14);gap:var(--space-step-11);overscroll-behavior:contain;flex-direction:column;flex:none;display:flex;overflow-y:auto}.side-panel.side-panel--feng-shui{padding-top:0}.side-panel:has(.selection-inspector-header){padding-top:0}:is(.side-panel--feng-shui .side-tabs,.side-panel:has(.selection-inspector-header) .side-tabs){padding-top:var(--space-step-14)}.side-panel h2{font-size:var(--text-step-04);text-transform:uppercase;letter-spacing:1.2px;color:var(--dim)}.side-panel-toggle,.side-panel-backdrop,.side-panel-mobile-header{display:none}.panel-collapse-toggle{align-items:center;gap:var(--space-step-05);padding:var(--space-step-05) var(--space-step-09);border-color:var(--line);background:var(--panel-2);color:var(--text);font-size:var(--text-step-07);line-height:var(--leading-step-01);white-space:nowrap;display:inline-flex}.panel-collapse-toggle:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.side-panel.collapsed{display:none}.gallery{max-width:900px;padding:var(--space-step-23) var(--space-step-17);flex-direction:column;margin:0 auto;display:flex}.project-hub-heading{justify-content:space-between;align-items:center;gap:var(--space-step-13);margin:var(--space-step-17) 0 var(--space-step-13);padding-bottom:var(--space-step-11);border-bottom:1px solid var(--line);display:flex}.project-hub-heading h2{color:var(--text);font-size:var(--text-step-14);text-transform:none;letter-spacing:0;margin:0}.project-hub-new{min-height:44px;padding-inline:var(--space-step-13)}.gallery header{align-items:center;gap:var(--space-step-13);margin-bottom:var(--space-step-19);display:flex}.gallery-heading,.gallery-actions{align-items:center;gap:var(--space-step-13);display:flex}.gallery-actions{justify-content:flex-end;gap:var(--space-step-07);flex-wrap:wrap;flex:1;min-width:0}.gallery-more-actions{justify-content:center;align-items:center;gap:var(--space-step-05);white-space:nowrap;display:inline-flex}.gallery-menu-surface .gallery-help{padding:var(--space-step-09)}.gallery-menu-surface .storage-choice{flex-wrap:wrap}.gallery-menu-surface .billing-summary{justify-content:space-between;min-height:44px}@media (min-width:1024px){.gallery-actions{flex-wrap:nowrap}.gallery-actions>button{white-space:nowrap;flex-shrink:0}.gallery-actions>[data-account-open]{flex-shrink:1;min-width:44px}.gallery-actions .gallery-user-name{max-width:min(180px,12vw)}}button.primary.templates-menu{white-space:nowrap;background:var(--accent);border-color:var(--accent);min-height:40px;color:var(--text-on-accent);box-shadow:0 6px 18px var(--shadow-overlay);font-weight:700}button.primary.templates-menu:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--text-on-accent)}.gallery-signin{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.gallery-signin:hover{background:var(--accent-hover-wash)}:root[data-theme=light] .gallery-signin{color:var(--accent-hover)}@media (prefers-color-scheme:light){:root:not([data-theme]) .gallery-signin{color:var(--accent-hover)}}.billing-summary{align-items:center;gap:var(--space-step-07);padding:var(--space-step-04) var(--space-step-08);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);font-size:var(--text-step-06);white-space:nowrap;border-radius:6px;display:inline-flex}.tier-badge{color:var(--accent);letter-spacing:.5px;text-transform:uppercase;font-weight:600}.billing-usage{font-variant-numeric:tabular-nums}.billing-summary:hover{border-color:var(--accent);color:var(--text)}.account-dialog{border:1px solid var(--line);background:var(--panel);width:min(420px,100vw - 32px);max-height:min(760px,100dvh - 32px);color:var(--text);overscroll-behavior:contain;border-radius:10px;padding:0;overflow:auto}.account-dialog::backdrop{background:var(--shadow-scrim)}.account-panel{padding:var(--space-step-15) var(--space-step-16) var(--space-step-16)}.account-panel-header{justify-content:space-between;align-items:center;gap:var(--space-step-11);margin-bottom:var(--space-step-14);display:flex}.account-panel-header h2{font-size:var(--text-step-13);letter-spacing:.2px;margin:0}.account-close{padding:var(--space-step-03) var(--space-step-08);font-size:var(--text-step-09);line-height:var(--leading-step-01);color:var(--dim)}.account-identity{gap:var(--space-step-02);margin-bottom:var(--space-step-14);flex-direction:column;display:flex}.account-name{font-size:var(--text-step-12);font-weight:600}.account-email{font-size:var(--text-step-07);color:var(--dim);word-break:break-all}.account-verified{color:var(--accent)}.account-row{justify-content:space-between;align-items:center;gap:var(--space-step-11);padding:var(--space-step-08) 0;border-top:1px solid var(--line);font-size:var(--text-step-08);display:flex}.account-row-label{color:var(--dim)}.account-ai{padding-bottom:var(--space-step-05);border-bottom:0}.account-ai-figure{font-variant-numeric:tabular-nums}.account-ai-bar{background:var(--panel-2);border-radius:2px;height:4px;overflow:hidden}.account-ai-bar>span{background:var(--accent);height:100%;display:block}.account-ai-note{margin:var(--space-step-06) 0 0;font-size:var(--text-step-06);color:var(--dim);font-variant-numeric:tabular-nums}.account-data{margin-top:var(--space-step-14);padding-top:var(--space-step-13);border-top:1px solid var(--line)}.account-data h3{margin:0 0 var(--space-step-04);font-size:var(--text-step-08)}.account-data p{margin:0 0 var(--space-step-09);color:var(--dim);font-size:var(--text-step-06);line-height:var(--leading-step-07)}.account-data-actions{gap:var(--space-step-07);flex-wrap:wrap;display:flex}.account-export{min-height:44px;padding:var(--space-step-07) var(--space-step-11);border:1px solid var(--line);color:var(--text);font-size:var(--text-step-07);border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.account-export:hover{border-color:var(--accent);color:var(--accent)}.account-delete-data{min-height:44px;color:var(--danger);font-size:var(--text-step-07)}.account-delete-data:hover:not(:disabled){border-color:var(--danger);background:var(--danger-wash-subtle)}.account-actions{justify-content:space-between;align-items:center;gap:var(--space-step-09);margin-top:var(--space-step-15);padding-top:var(--space-step-13);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.account-signout{color:var(--dim);font-size:var(--text-step-08)}.account-signout:hover{color:var(--danger);border-color:var(--danger)}.billing-limit-notice{justify-content:space-between;align-items:center;gap:var(--space-step-11);margin-bottom:var(--space-step-17);padding:var(--space-step-10) var(--space-step-12);border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-size:var(--text-step-08);line-height:var(--leading-step-06);border-radius:6px;display:flex}.local-recovery-notice{margin-bottom:var(--space-step-17);padding:var(--space-step-10) var(--space-step-12);border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-size:var(--text-step-08);line-height:var(--leading-step-06);border-radius:6px}.recovery-open{min-width:44px;min-height:44px;margin-left:var(--space-step-07);padding:var(--space-step-05) var(--space-step-12);vertical-align:baseline;justify-content:center;align-items:center;display:inline-flex}.recovery-center{width:min(100% - 32px,640px);max-height:calc(100dvh - 32px);padding:clamp(var(--space-step-13), 3.5vw, var(--space-step-16));border:1px solid var(--accent);background:var(--panel);color:var(--text);box-shadow:0 18px 48px var(--shadow-dialog);overscroll-behavior:contain;border-radius:10px;margin:auto;overflow:auto}.recovery-center[open]{gap:var(--space-step-12);flex-direction:column;display:flex}.recovery-center::backdrop{background:var(--scrim)}.recovery-center__head{align-items:center;gap:var(--space-step-09);display:flex}.recovery-center__head h3{font-size:var(--text-step-14);color:var(--accent);flex:1;font-weight:600}.recovery-center__close{min-width:44px;min-height:44px;color:var(--dim);font-size:var(--text-step-17);line-height:var(--leading-step-01);background:0 0;border:0;flex:none;padding:0}.recovery-center__close:hover{color:var(--text);background:0 0;border:0}.recovery-center__intro{font-size:var(--text-step-08);line-height:var(--leading-step-07);color:var(--dim)}.recovery-center__status{font-size:var(--text-step-09);line-height:var(--leading-step-06);color:var(--ok)}.recovery-center__error{font-size:var(--text-step-09);line-height:var(--leading-step-06);color:var(--danger)}.recovery-center__empty{padding:var(--space-step-14) var(--space-step-12);border:1px dashed var(--line);color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-07);text-align:center;border-radius:8px}.recovery-center__list{gap:var(--space-step-11);flex-direction:column;list-style:none;display:flex}.recovery-center__item{gap:var(--space-step-07);padding:var(--space-step-11) var(--space-step-12);border:1px solid var(--line);background:var(--panel-2);border-radius:8px;flex-direction:column;display:flex}.recovery-center__item-head{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;display:flex}.recovery-center__item-head strong{font-size:var(--text-step-09);color:var(--text);font-weight:600}.recovery-center__badge{padding:var(--space-step-01) var(--space-step-07);border:1px solid var(--accent);color:var(--accent);font-size:var(--text-step-05);border-radius:999px;font-weight:600}.recovery-center__names{font-size:var(--text-step-08);line-height:var(--leading-step-06);color:var(--dim);overflow-wrap:anywhere}.recovery-center__reason{font-size:var(--text-step-07);line-height:var(--leading-step-06);color:var(--dim)}.recovery-center__actions{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;display:flex}.recovery-center__actions>button,.recovery-center__quarantine>button{min-width:44px;min-height:44px;padding:var(--space-step-05) var(--space-step-12)}.recovery-center__confirm{align-items:center;gap:var(--space-step-07);font-size:var(--text-step-08);color:var(--danger);flex-wrap:wrap;display:inline-flex}.recovery-center__confirm button{min-width:44px;min-height:44px;padding:var(--space-step-05) var(--space-step-12)}.recovery-center__danger{border-color:var(--danger)!important;color:var(--danger)!important}.recovery-center__tech{font-size:var(--text-step-07);color:var(--dim)}.recovery-center__tech summary{cursor:pointer;align-items:center;min-height:44px;display:inline-flex}.recovery-center__tech code{padding:var(--space-step-07) var(--space-step-09);background:var(--panel);font-size:var(--text-step-06);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;border-radius:6px;display:block}.recovery-center__quarantine{gap:var(--space-step-09);flex-direction:column;display:flex}.recovery-center__quarantine h4{font-size:var(--text-step-08);letter-spacing:.3px;color:var(--accent);font-weight:650}.recovery-center__foot{justify-content:flex-end;display:flex}.recovery-center__foot button{min-width:88px;min-height:44px}.cloud-project-loading{margin-bottom:var(--space-step-12);padding:var(--space-step-10) var(--space-step-12);border:1px dashed var(--line);color:var(--dim);font-size:var(--text-step-08);line-height:var(--leading-step-06);border-radius:6px}.cloud-project-unavailable{justify-content:space-between;align-items:center;gap:var(--space-step-12);margin-bottom:var(--space-step-12);padding:var(--space-step-10) var(--space-step-12);border:1px solid var(--danger);background:var(--panel-2);font-size:var(--text-step-08);line-height:var(--leading-step-06);border-radius:6px;display:flex}.cloud-project-unavailable>div{min-width:0}.cloud-project-unavailable strong{color:var(--text);font-weight:600;display:block}.cloud-project-unavailable span{margin-top:var(--space-step-02);color:var(--dim);display:block}.cloud-project-unavailable button{flex:none}.billing-upgrade-placeholder{color:var(--accent);font-weight:500}.gallery h1{font-size:var(--text-step-17)}.project-grid{gap:var(--space-step-12);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.project-card{border:1px solid var(--line);padding:var(--space-step-14);background:var(--panel);border-radius:10px;flex-direction:column;transition:border-color .15s;display:flex}.project-card:hover,.project-card:focus-within{border-color:var(--accent)}.project-card-main{padding:var(--space-step-07);color:inherit;border-radius:6px;flex:auto;margin:-8px -8px 0;text-decoration:none;display:block}.project-card-main:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.project-card .name{font-size:var(--text-step-12);margin-bottom:var(--space-step-05);overflow-wrap:anywhere}.project-storage{color:var(--dim);white-space:nowrap}.storage-choice{align-items:stretch;gap:var(--space-step-03);display:inline-flex}.storage-choice button{font-size:var(--text-step-07)}.storage-capacity{margin:-8px 0 var(--space-step-13);padding:var(--space-step-08) var(--space-step-11);border:1px solid var(--line);color:var(--dim);background:color-mix(in srgb, var(--panel) 92%, transparent);font-size:var(--text-step-06);line-height:var(--leading-step-05);border-radius:8px;justify-content:space-between;gap:.75rem 1.25rem;display:flex}.storage-capacity--pressure{border-color:var(--accent);color:var(--text)}.storage-capacity--critical{border-color:var(--danger);color:var(--text)}.project-card-storage{align-items:center;gap:var(--space-step-04);color:var(--dim);font-size:var(--text-step-05);display:inline-flex}.project-card-storage .ai-pending-badge{white-space:nowrap;flex-shrink:0}.gallery-user-name{vertical-align:bottom;text-overflow:ellipsis;white-space:nowrap;max-width:180px;display:inline-block;overflow:hidden}.project-card .when{font-size:var(--text-step-06);color:var(--dim)}.project-card-rename{width:100%;min-height:44px;margin-top:var(--space-step-09);padding:var(--space-step-06) var(--space-step-09);color:var(--accent);font-size:var(--text-step-06)}.project-card-rename:hover:not(:disabled){border-color:var(--accent)}.project-card-rename-form{gap:var(--space-step-07);margin-top:var(--space-step-09);padding:var(--space-step-09);border:1px solid var(--accent);background:var(--panel-2);border-radius:8px;display:grid}.project-card-rename-input{width:100%;min-width:0;padding:var(--space-step-08) var(--space-step-09);border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:var(--text-step-09);border-radius:6px}.project-card-rename-input:focus{border-color:var(--accent);outline:2px solid #0000}.project-card-rename-actions{gap:var(--space-step-07);grid-template-columns:1fr 1fr;display:grid}.project-card-rename-actions button{min-height:44px;padding:var(--space-step-06) var(--space-step-09);font-size:var(--text-step-06)}.project-card-actions{gap:var(--space-step-07);display:grid}.paid-archive-card{gap:var(--space-step-07);margin-top:var(--space-step-09);padding:var(--space-step-09);border:1px solid var(--accent);background:var(--accent-soft);font-size:var(--text-step-07);line-height:var(--leading-step-06);border-radius:8px;display:grid}.paid-archive-card p{color:var(--dim);margin:0}.project-card-archive-link{margin-top:var(--space-step-09);color:var(--accent);font-size:var(--text-step-07);text-align:center;text-decoration:underline;display:block}.project-card-delete{width:100%;margin-top:var(--space-step-09);padding:var(--space-step-06) var(--space-step-09);color:var(--dim);font-size:var(--text-step-06)}.project-card-delete:hover:not(:disabled){color:var(--danger);border-color:var(--danger)}.gallery-section{margin-bottom:var(--space-step-19)}.gallery-section h2{font-size:var(--text-step-07);text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:var(--space-step-11)}.empty-note{color:var(--dim);font-size:var(--text-step-10);line-height:var(--leading-step-09)}.gallery-empty{justify-items:center;gap:var(--space-step-12);padding:var(--space-step-22) var(--space-step-15);border:1px dashed var(--line);text-align:center;border-radius:10px;display:grid}.gallery-empty svg{fill:none;width:180px;max-width:70%;stroke:var(--dim);stroke-width:2px}.gallery-empty svg circle{fill:var(--accent);stroke:none}.landing{min-height:100dvh;padding:var(--space-step-27) var(--space-step-21) var(--space-step-21);place-items:center;display:grid;position:relative}.landing-hero{align-items:center;gap:clamp(var(--space-step-22), 8vw, 96px);grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr);width:min(1080px,100%);display:grid}.landing-copy{text-align:left}.landing h1{font-size:clamp(var(--text-step-22), 6vw, var(--text-step-24));line-height:var(--leading-step-01);margin-bottom:var(--space-step-15)}.landing p,.landing .landing-note{color:var(--dim);margin-bottom:var(--space-step-18);font-size:var(--text-step-13);line-height:var(--leading-step-09)}.landing-cta{min-height:44px;padding:var(--space-step-09) var(--space-step-14);border:1px solid var(--accent);color:var(--bg);background:var(--accent);font-size:var(--text-step-09);border-radius:6px;justify-content:center;align-items:center;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}.landing-cta:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.landing-plan{padding:var(--space-step-14);border:1px solid var(--line);background:var(--panel);box-shadow:18px 18px 0 var(--surface-offset-shadow);border-radius:12px;position:relative}.landing-plan:before,.landing-plan:after{content:"";background:var(--accent);width:36px;height:1px;position:absolute}.landing-plan:before{top:-1px;left:var(--space-step-19)}.landing-plan:after{right:var(--space-step-19);bottom:-1px}.landing-plan svg{fill:none;width:100%;height:auto;display:block}.plan-grid{stroke:var(--line);stroke-width:.75px;stroke-dasharray:2 8}.plan-walls{stroke:var(--text);stroke-width:3px;stroke-linejoin:miter}.plan-openings{stroke:var(--dim);stroke-width:1.5px}.plan-columns{stroke:var(--text);stroke-width:2px}.plan-dimensions{stroke:var(--dim);stroke-width:1px}.plan-dimension-labels{fill:var(--dim);font:var(--text-step-03) ui-monospace, monospace;letter-spacing:.08em}.plan-origin{fill:var(--accent);stroke:var(--bg);stroke-width:2px}.tool-rail{background:var(--panel);border-right:1px solid var(--line);width:144px;padding:var(--space-step-07) var(--space-step-05);align-content:start;gap:var(--space-step-04);overscroll-behavior:contain;flex:0 0 144px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:0;display:grid;overflow-y:auto}.tool-rail button{min-width:0;min-height:46px;padding:var(--space-step-02) var(--space-step-01);font-size:var(--text-step-03);justify-content:center;align-items:center;gap:var(--space-step-01);flex-direction:column;display:flex}.tool-rail-scroll-cue{top:var(--space-step-01);z-index:1;width:24px;height:24px;color:var(--accent);background:var(--surface-overlay);box-shadow:0 2px 6px var(--shadow-overlay);font-size:var(--text-step-14);font-weight:700;line-height:var(--leading-step-01);pointer-events:none;border-radius:10px;grid-column:1/-1;justify-content:center;place-self:end;align-items:center;display:flex;position:sticky}.tool-icon{width:17px;height:17px;color:var(--dim);flex:none}.tool-rail button.primary .tool-icon,.tool-rail button:hover .tool-icon{color:var(--accent)}.tool-rail-label{white-space:normal;overflow-wrap:normal;word-break:normal;text-align:center;min-width:0;max-width:100%;line-height:1.1;display:block;overflow:visible}.editor-body[data-tool-rail-density=compact] .tool-rail{width:104px;padding-inline:var(--space-step-06);gap:var(--space-step-04);flex-basis:104px;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-body[data-tool-rail-density=compact] .tool-rail button{background:0 0;border-color:#0000;min-width:44px;min-height:44px;padding:0}.editor-body[data-tool-rail-density=compact] .tool-rail button:hover,.editor-body[data-tool-rail-density=compact] .tool-rail button:focus-visible,.editor-body[data-tool-rail-density=compact] .tool-rail button.primary{border-color:var(--line);background:var(--panel-2)}.editor-body[data-tool-rail-density=compact] .tool-rail button.primary{border-color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent)}.editor-body[data-tool-rail-density=compact] .tool-rail-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.editor-body[data-tool-rail-density=hidden] .tool-rail,.studio-shell[data-workspace-preset=presentation] .topbar-zone-history,.studio-shell[data-workspace-preset=presentation] .topbar-zone-view .level-select,.studio-shell[data-workspace-preset=presentation] .panel-collapse-toggle,.studio-shell[data-workspace-preset=presentation] .side-panel-toggle,.studio-shell[data-workspace-preset=presentation] .export-menu,.studio-shell[data-workspace-preset=presentation] .project-switcher-trigger,.studio-shell[data-workspace-preset=presentation] .ai-dock,.studio-shell[data-workspace-preset=presentation] .editor-statusbar,.studio-shell[data-workspace-preset=presentation] .onboarding-coach,.studio-shell[data-workspace-preset=presentation] .viewer3d-overlay-toolbar,.studio-shell[data-workspace-preset=presentation] .view-cube,.studio-shell[data-workspace-preset=presentation] .viewer3d-direct-edit{display:none}@media (min-width:900px) and (max-height:780px){.tool-rail{flex:0 0 214px;grid-template-columns:repeat(3,minmax(0,1fr));width:214px}}.pane{touch-action:none;flex:1;min-width:0;display:flex;position:relative}.pane+.pane{border-left:1px solid var(--line)}.pane-2d{container-type:size}.furniture-palette{z-index:6;top:var(--space-step-11);left:var(--space-step-11);border:1px solid var(--line);background:color-mix(in srgb, var(--panel) 96%, transparent);width:min(248px,100cqw - 24px);min-height:0;max-height:calc(100cqh - 52px);box-shadow:0 12px 28px var(--shadow-elevated);border-radius:9px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.furniture-palette h2{padding:var(--space-step-10) var(--space-step-11) var(--space-step-08);border-bottom:1px solid var(--line);color:var(--text);font-size:var(--text-step-09);flex:none;margin:0;font-weight:650}.furniture-palette-scroll{min-height:0;padding:var(--space-step-07);overscroll-behavior:contain;overflow-y:auto}.furniture-palette h3{margin:var(--space-step-03) var(--space-step-03) var(--space-step-05);color:var(--dim);font-size:var(--text-step-03);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.furniture-palette h3:not(:first-child){margin-top:var(--space-step-11)}.furniture-palette-search{width:100%;margin:var(--space-step-02) 0 var(--space-step-07);padding:var(--space-step-06) var(--space-step-08);border:1px solid var(--line);background:var(--bg);color:var(--text);font-size:var(--text-step-06);border-radius:6px}.furniture-palette-search:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.furniture-palette-list{gap:var(--space-step-04);flex-direction:column;display:flex}.furniture-palette-item{width:100%;min-height:52px;padding:var(--space-step-04) var(--space-step-06);gap:var(--space-step-07);text-align:left;background:var(--panel-2);color:var(--text);border-color:#0000;grid-template-columns:42px minmax(0,1fr);align-items:center;display:grid}.furniture-palette-item:hover{border-color:var(--line)}.furniture-palette-item.selected,.furniture-palette-item[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.furniture-palette-thumb,.furniture-palette-glyph{background:var(--bg);width:42px;height:42px;color:var(--accent);font-size:var(--text-step-18);line-height:var(--leading-step-01);border-radius:5px;place-items:center;display:grid;overflow:hidden}.furniture-palette-thumb img{object-fit:cover;width:100%;height:100%;display:block}.furniture-palette-copy{gap:var(--space-step-02);flex-direction:column;min-width:0;display:flex}.furniture-palette-copy strong{color:var(--text);font-size:var(--text-step-06);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.furniture-palette-copy small{color:var(--dim);font-size:var(--text-step-04);font-variant-numeric:tabular-nums}.furniture-palette-state{padding:var(--space-step-08);border:1px solid var(--line);color:var(--dim);background:var(--panel-2);font-size:var(--text-step-05);line-height:var(--leading-step-05);border-radius:6px;margin:0}.furniture-palette-state p{margin:0 0 var(--space-step-07)}.furniture-palette-state button{width:100%}.furnishing-asset-property output{overflow-wrap:anywhere;color:var(--text);font-weight:600}.plan2d{background:var(--bg);touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex:1;width:100%;height:100%}.plan2d[data-tool=select]{cursor:default}.plan2d-finish{bottom:calc(var(--space-step-21) + env(safe-area-inset-bottom,0px));z-index:5;text-overflow:ellipsis;max-width:calc(100cqw - 20px);padding:var(--space-step-09) var(--space-step-14);border-color:var(--accent);background:var(--accent);color:var(--bg);box-shadow:0 8px 22px var(--shadow-float);white-space:nowrap;font-weight:650;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.plan2d-finish:hover{border-color:var(--accent-hover);background:var(--accent-hover)}.plan2d-opening-warning{top:var(--space-step-12);left:var(--space-step-12);right:var(--space-step-12);z-index:5;width:auto;max-width:520px;padding:var(--space-step-07) var(--space-step-11);border:1px solid var(--danger);background:var(--surface-popover);color:var(--danger);box-shadow:0 8px 22px var(--shadow-float);font-size:var(--text-step-07);line-height:var(--leading-step-04);text-align:center;pointer-events:none;border-radius:6px;margin:0 auto;position:absolute}.plan2d-statusbar{z-index:4;align-items:center;gap:var(--space-step-09);min-height:28px;padding:0 var(--space-step-11);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface-raised-translucent);color:var(--dim);font-size:var(--text-step-07);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.plan2d-statusbar>span{white-space:nowrap}.plan2d-statusbar [data-cursor-x],.plan2d-statusbar [data-cursor-y],.plan2d-statusbar [data-live-measure]{text-overflow:ellipsis;min-width:0;overflow:hidden}.plan2d-statusbar .snap{text-overflow:ellipsis;min-width:0;color:var(--ok);flex:0 auto;overflow:hidden}.plan2d-statusbar [data-zoom-pct]{flex:none}.plan2d-statusbar .sep{opacity:.5}.plan2d-statusbar .spacer{flex:1}.editor-statusbar{align-items:center;gap:var(--space-step-09);min-height:28px;padding:0 var(--space-step-11);padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--line);background:var(--surface-overlay);color:var(--dim);font-size:var(--text-step-07);font-variant-numeric:tabular-nums;pointer-events:none;-webkit-user-select:none;user-select:none;flex:none;display:flex;overflow:hidden}.editor-canvas-status{align-items:center;gap:var(--space-step-09);flex:auto;min-width:0;display:flex;container-type:inline-size}.editor-canvas-status:empty{display:none}.editor-document-status{justify-content:flex-end;align-items:center;gap:var(--space-step-09);flex:0 auto;min-width:0;margin-left:auto;display:flex}.editor-statusbar .meta{min-width:0;color:var(--dim);font-size:var(--text-step-07)}.editor-canvas-status>span,.editor-document-status>span{white-space:nowrap}.editor-canvas-status [data-cursor-x],.editor-canvas-status [data-cursor-y],.editor-canvas-status [data-live-measure]{text-overflow:ellipsis;min-width:0;overflow:hidden}.editor-canvas-status .snap{text-overflow:ellipsis;min-width:0;color:var(--ok);flex:0 auto;overflow:hidden}.editor-canvas-status [data-zoom-pct]{flex:none}.editor-canvas-status .sep{opacity:.5}.editor-canvas-status .spacer{flex:1}.editor-document-status .project-storage{text-overflow:ellipsis;max-width:min(31vw,300px);overflow:hidden}.editor-document-status .model-stats{text-overflow:ellipsis;max-width:150px;overflow:hidden}.editor-document-status .save-status{flex:none;min-width:0;max-width:min(220px,45vw)}.save-status-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tool-rail-divider{height:1px;margin:var(--space-step-03) var(--space-step-05);background:var(--line);grid-column:1/-1}.tool-rail-toggle.active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tool-rail-note{margin:var(--space-step-01) var(--space-step-05);padding:var(--space-step-05) var(--space-step-07);font-size:var(--text-step-05);line-height:var(--leading-step-05);color:var(--dim);border:1px solid var(--line);border-radius:6px;grid-column:1/-1}.tool-rail-note.warning{color:var(--danger);border-color:var(--danger)}.tool-rail-help{grid-column:1/-1;margin-top:auto;font-weight:700}.onboarding-coach{z-index:10000;margin:var(--space-step-11);padding:var(--space-step-12) var(--space-step-13);border:1px solid var(--line);background:var(--panel);box-shadow:0 10px 26px var(--shadow-overlay);column-gap:var(--space-step-13);border-radius:10px;flex:none;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"steps actions""title actions""body actions";align-items:center;display:grid;position:relative}.onboarding-coach-steps{gap:var(--space-step-04);margin-bottom:var(--space-step-07);grid-area:steps;display:flex}.onboarding-coach-dot{background:var(--line);border-radius:50%;width:6px;height:6px}.onboarding-coach-dot.active{background:var(--accent)}.onboarding-coach-title{font-size:var(--text-step-10);margin-bottom:var(--space-step-03);grid-area:title;font-weight:650}.onboarding-coach-body{font-size:var(--text-step-08);line-height:var(--leading-step-07);color:var(--dim);grid-area:body}.onboarding-coach-actions{justify-content:flex-end;gap:var(--space-step-07);grid-area:actions;display:flex}.onboarding-coach-actions button{min-width:44px;min-height:44px;padding:var(--space-step-07) var(--space-step-13)}.selection-bar{left:50%;bottom:var(--space-step-12);z-index:9;align-items:center;gap:var(--space-step-05);pointer-events:none;flex-direction:column-reverse;max-width:calc(100% - 24px);display:flex;position:absolute;transform:translate(-50%)}.selection-bar-row{pointer-events:auto;align-items:center;gap:var(--space-step-05);max-width:100%;padding:var(--space-step-05);border:1px solid var(--line);background:var(--panel);box-shadow:0 10px 26px var(--shadow-overlay);overscroll-behavior:contain;border-radius:12px;display:flex;overflow-x:auto}.selection-bar-label{padding:0 var(--space-step-07);font-size:var(--text-step-06);color:var(--dim);white-space:nowrap;flex:none}.selection-bar-row button{min-width:44px;min-height:44px;padding:0 var(--space-step-11);font-size:var(--text-step-09);border-radius:8px;flex:none}.selection-bar-action.active{border-color:var(--accent);color:var(--accent)}.selection-bar-action.danger{color:var(--danger)}.selection-bar-secondary button{font-size:var(--text-step-15);padding:0 var(--space-step-09)}.selection-bar-host{pointer-events:none;position:absolute;inset:0;container-type:size}@container (min-width:201px) and (min-height:171px){.editor-body:has(.pane-2d) .selection-bar-host .selection-bar{bottom:calc(92px + env(safe-area-inset-bottom,0px))}}.canvas-context-menu{z-index:10020;gap:var(--space-step-02);width:240px;padding:var(--space-step-05);border:1px solid var(--line);background:var(--panel);box-shadow:0 12px 30px var(--shadow-deep);border-radius:10px;display:grid;position:fixed}.canvas-context-menu button{width:100%;min-height:44px;padding:var(--space-step-07) var(--space-step-10);align-items:center;gap:var(--space-step-07);text-align:left;background:0 0;border-color:#0000;grid-template-columns:24px minmax(0,1fr);display:grid}.canvas-context-menu button:hover,.canvas-context-menu button:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.canvas-context-menu button.danger{color:var(--danger)}.tool-hint-toast{top:var(--space-step-11);left:104px;right:var(--space-step-11);z-index:8;align-items:flex-start;gap:var(--space-step-09);max-width:min(360px,100% - 24px);padding:var(--space-step-09) var(--space-step-05) var(--space-step-09) var(--space-step-12);border:1px solid var(--accent);background:var(--panel);box-shadow:0 10px 26px var(--shadow-overlay);pointer-events:none;border-radius:10px;display:flex;position:absolute}@media (min-width:990px){.editor-body:has(.furniture-palette) .tool-hint-toast{left:376px}}.tool-hint-text{flex:1;min-width:0}.tool-hint-title{font-size:var(--text-step-08);margin-bottom:var(--space-step-02);font-weight:650;display:block}.tool-hint-body{font-size:var(--text-step-07);line-height:var(--leading-step-06);color:var(--dim)}.tool-hint-tip{margin-top:var(--space-step-05);font-size:var(--text-step-06);line-height:var(--leading-step-05);color:var(--accent)}.tool-hint-close{min-width:44px;min-height:44px;color:var(--dim);font-size:var(--text-step-17);line-height:var(--leading-step-01);pointer-events:auto;background:0 0;border:0;flex:none;margin:-4px 0;padding:0}.tool-hint-close:hover{color:var(--text);background:0 0;border:0}@keyframes app-toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.app-toast-region{top:max(var(--space-step-11), env(safe-area-inset-top));right:max(var(--space-step-11), env(safe-area-inset-right));z-index:10001;gap:var(--space-step-07);pointer-events:none;width:min(380px,100vw - 24px);font-family:var(--font-plex-thai), "IBM Plex Sans Thai", system-ui, sans-serif;flex-direction:column;display:flex;position:fixed}body:has(.studio-shell) .app-toast-region{top:max(var(--space-step-26), calc(52px + env(safe-area-inset-top)))}.app-toast{pointer-events:auto;align-items:center;gap:var(--space-step-09);min-height:54px;padding:var(--space-step-04) var(--space-step-04) var(--space-step-04) var(--space-step-12);border:1px solid var(--accent);background:var(--panel);color:var(--text);box-shadow:0 10px 26px var(--shadow-overlay);border-radius:10px;animation:.16s ease-out both app-toast-enter;display:flex}.app-toast--error{border-color:var(--danger)}.app-toast--ok{border-color:var(--ok)}.app-toast--info{border-color:var(--accent)}.app-toast p{min-width:0;font-size:var(--text-step-09);line-height:var(--leading-step-06);overflow-wrap:anywhere;flex:1}.app-toast-action{min-width:44px;min-height:44px;padding:var(--space-step-06) var(--space-step-10);border-color:var(--accent);color:var(--accent);font-size:var(--text-step-07);flex:none;font-weight:650}.app-toast-action:hover{border-color:var(--text);color:var(--text)}.app-toast-close{min-width:44px;min-height:44px;color:var(--dim);font-size:var(--text-step-17);line-height:var(--leading-step-01);background:0 0;border:0;flex:none;padding:0}.app-toast-close:hover{color:var(--text);background:0 0;border:0}@media (max-width:899px){.tool-hint-tip{display:none}.onboarding-coach-actions{flex-direction:column;align-items:stretch}}@container (max-width:360px){.plan2d-statusbar{gap:var(--space-step-05)}.plan2d-statusbar [data-cursor-x],.plan2d-statusbar [data-cursor-y],.plan2d-statusbar .sep,.editor-canvas-status [data-cursor-x],.editor-canvas-status [data-cursor-y],.editor-canvas-status .sep{display:none}}@container (max-width:320px){.plan2d-statusbar [data-live-measure],.editor-canvas-status [data-live-measure]{display:none}}.plan2d-overlay-toolbar{bottom:calc(var(--space-step-22) + env(safe-area-inset-bottom,0px));right:var(--space-step-12);z-index:4;gap:var(--space-step-03);pointer-events:auto;flex-direction:row;display:inline-flex;position:absolute}.plan2d-overlay-toolbar.chain-hidden{display:none}@container (max-width:200px){.plan2d-overlay-toolbar{display:none}}@container (max-height:170px){.plan2d-overlay-toolbar,.plan2d-opening-warning.chain-active{display:none}}@container (max-width:280px){.plan2d-opening-warning{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}@container (max-height:200px){.plan2d-opening-warning{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}.plan2d-toolbar-btn{min-width:44px;min-height:44px;padding:var(--space-step-06) var(--space-step-09);font-size:var(--text-step-06);border:1px solid var(--line);background:var(--surface-raised-translucent);color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-weight:500;transition:border-color .15s,background .15s;display:inline-flex}.plan2d-toolbar-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-soft)}.plan2d-toolbar-btn:disabled{opacity:.4;cursor:default}.plan2d-toolbar-btn.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.plan2d-length-input{z-index:6;align-items:center;gap:var(--space-step-05);padding:var(--space-step-04) var(--space-step-08);border:1px solid var(--accent);background:var(--surface-overlay);box-shadow:0 6px 18px var(--shadow-overlay);pointer-events:auto;border-radius:6px;display:inline-flex;position:absolute}.plan2d-length-input.invalid{border-color:var(--line)}.plan2d-length-field{width:82px;color:var(--text);font-size:var(--text-step-13);font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;padding:0}.plan2d-length-input .unit{color:var(--dim);font-size:var(--text-step-07)}.plan2d-length-input .hint{margin-top:var(--space-step-03);white-space:normal;max-width:156px;line-height:var(--leading-step-02);padding:var(--space-step-01) var(--space-step-05);pointer-events:none;font-size:var(--text-step-05);color:var(--dim);background:var(--surface-overlay);border-radius:4px;position:absolute;top:100%;left:0}.plan2d-length-input.hint-above .hint{margin-top:0;margin-bottom:var(--space-step-03);top:auto;bottom:100%}@media (max-width:639px){.plan2d-statusbar{gap:var(--space-step-05);padding:0 var(--space-step-07);padding-bottom:env(safe-area-inset-bottom,0px);font-size:var(--text-step-05);min-height:24px}}.view-toggle{gap:var(--space-step-03);display:flex}.view-toggle button{padding:var(--space-step-05) var(--space-step-09);font-size:var(--text-step-07)}.view-select{min-width:96px}.level-select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:var(--space-step-05) var(--space-step-07);font-family:inherit;font-size:var(--text-step-07);text-overflow:ellipsis;border-radius:5px;min-width:0;max-width:clamp(90px,18vw,200px)}.level-select:focus{border-color:var(--accent)}.export-menu{position:relative}.export-toggle{padding:var(--space-step-05) var(--space-step-11);border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-size:var(--text-step-07);font-weight:650}.export-toggle:hover{background:var(--accent-hover-wash)}.export-toggle.error{color:var(--danger);border-color:var(--danger)}.export-dropdown{gap:var(--space-step-01);background:var(--panel);border:1px solid var(--line);padding:var(--space-step-05);overscroll-behavior:contain;z-index:10002;border-radius:6px;flex-direction:column;min-width:min(220px,100vw - 16px);max-width:calc(100vw - 16px);display:flex;position:fixed;overflow-y:auto}.export-dropdown button{text-align:left;padding:var(--space-step-06) var(--space-step-09);font-size:var(--text-step-07);border:none}.export-dropdown button:hover{background:var(--panel-2)}.export-dropdown button:disabled{opacity:.4;background:0 0}.export-format-row{align-items:center;gap:var(--space-step-03);display:flex}.export-format-row>button{flex:1;min-width:0}.export-format-copy{gap:var(--space-step-01);flex-direction:column;min-width:0;display:flex}.export-format-name{color:var(--text);font-weight:600}.export-format-description{color:var(--dim);font-size:var(--text-step-04);font-weight:400;line-height:var(--leading-step-03);white-space:normal;overflow-wrap:anywhere}.export-upgrade-link{padding:var(--space-step-03) var(--space-step-07);font-size:var(--text-step-05);color:var(--accent);border:1px solid var(--accent);border-radius:5px;flex-shrink:0;text-decoration:none}.export-upgrade-link:hover{background:var(--accent-soft)}.export-entitlement-retry{cursor:pointer;background:0 0;font-family:inherit;flex:none!important}.export-disabled-reason{margin:var(--space-step-01) var(--space-step-03) var(--space-step-05);padding:var(--space-step-06) var(--space-step-07);background:var(--accent-soft);color:var(--dim);font-size:var(--text-step-05);line-height:var(--leading-step-05);overflow-wrap:anywhere;border-radius:5px}.export-skipped{z-index:10002;overscroll-behavior:contain;max-width:calc(100vw - 16px);padding:var(--space-step-09) var(--space-step-11);background:var(--panel);border:1px solid var(--danger);color:var(--text);font-size:var(--text-step-06);border-radius:6px;position:fixed;overflow:auto}.export-skipped summary{color:var(--danger);cursor:pointer}.export-skipped ul{margin:var(--space-step-07) 0 0;padding-left:var(--space-step-14)}.export-skipped li{margin:var(--space-step-03) 0;overflow-wrap:anywhere}.workspace-menu-toggle{width:40px;min-width:40px;height:40px;min-height:40px;color:var(--text);font-size:var(--text-step-18);line-height:var(--leading-step-01);justify-content:center;align-items:center;padding:0;display:inline-flex}.workspace-menu-surface{z-index:10002;gap:var(--space-step-07);overscroll-behavior:contain;max-width:calc(100vw - 16px);padding:var(--space-step-07);border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 16px 38px var(--shadow-deep);border-radius:8px;flex-direction:column;display:flex;position:fixed;overflow-y:auto}.workspace-menu-heading{padding:var(--space-step-02) var(--space-step-04) 1px;color:var(--dim);font-size:var(--text-step-04);letter-spacing:.6px;text-transform:uppercase;font-weight:650}.workspace-menu-surface .language-switcher,.workspace-menu-surface .theme-switcher{width:100%;min-height:44px;padding:0 var(--space-step-04);justify-content:space-between}.workspace-menu-surface .language-switcher select,.workspace-menu-surface .theme-switcher select{min-width:132px;min-height:40px}.workspace-menu-surface [data-share-open]{width:100%;min-height:44px;padding-inline:var(--space-step-09);text-align:left}.workspace-preferences{gap:var(--space-step-06);padding:var(--space-step-03) var(--space-step-04) var(--space-step-07);border-bottom:1px solid var(--line);display:grid}.workspace-preference-field{align-items:center;gap:var(--space-step-09);color:var(--dim);font-size:var(--text-step-06);grid-template-columns:minmax(88px,1fr) minmax(132px,1.35fr);display:grid}.workspace-preference-field select{width:100%;min-width:0;min-height:40px;color:var(--text);background:var(--panel-2)}.name-input{color:var(--text);font-size:var(--text-step-11);padding:var(--space-step-03) var(--space-step-07);background:0 0;border:1px solid #0000;border-radius:5px;width:140px;font-family:inherit}.name-input:hover,.name-input:focus{border-color:var(--line)}.name-input:disabled{opacity:.55;cursor:not-allowed}.project-title-control{align-items:center;gap:var(--space-step-01);min-width:0;display:inline-flex}.project-switcher-trigger{width:44px;min-width:44px;height:44px;min-height:44px;color:var(--dim);font-size:var(--text-step-16);line-height:var(--leading-step-01);background:0 0;border-color:#0000;flex:0 0 44px;padding:0}.project-switcher-trigger:hover,.project-switcher-trigger:focus-visible,.project-switcher-trigger[aria-expanded=true]{border-color:var(--line);background:var(--panel-2);color:var(--text)}.project-switcher-popover{z-index:50;min-width:0;max-height:min(520px,100dvh - 80px);padding:var(--space-step-05);border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 16px 38px var(--shadow-deep);border-radius:10px;flex-direction:column;display:flex;position:fixed}.project-switcher-heading{padding:var(--space-step-06) var(--space-step-08) var(--space-step-04);color:var(--dim);font-size:var(--text-step-05);letter-spacing:.6px;text-transform:uppercase;font-weight:650}.project-switcher-status{margin:var(--space-step-01) var(--space-step-03) var(--space-step-04);padding:var(--space-step-06) var(--space-step-07);background:var(--panel-2);color:var(--dim);font-size:var(--text-step-06);line-height:var(--leading-step-04);border-radius:6px}.project-switcher-status.warning{color:var(--danger)}.project-switcher-list{overscroll-behavior:contain;scrollbar-gutter:stable;max-height:320px;overflow-y:auto}.project-switcher-row,.project-switcher-see-all{background:0 0;border-color:#0000;width:100%;min-height:44px}.project-switcher-row{align-items:center;column-gap:var(--space-step-07);row-gap:var(--space-step-02);min-height:58px;padding:var(--space-step-07) var(--space-step-08);text-align:left;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name current""meta meta";display:grid}.project-switcher-row:hover,.project-switcher-row:focus-visible,.project-switcher-see-all:hover,.project-switcher-see-all:focus-visible{border-color:var(--accent);background:var(--accent-soft)}.project-switcher-name{text-overflow:ellipsis;min-width:0;color:var(--text);font-size:var(--text-step-09);white-space:nowrap;grid-area:name;font-weight:600;overflow:hidden}.project-switcher-current{padding:var(--space-step-01) var(--space-step-05);background:var(--accent-soft);color:var(--accent);font-size:var(--text-step-03);white-space:nowrap;border-radius:999px;grid-area:current}.project-switcher-meta{align-items:baseline;gap:var(--space-step-04);min-width:0;color:var(--dim);font-size:var(--text-step-04);line-height:var(--leading-step-03);grid-area:meta;display:flex}.project-switcher-meta time{flex:none}.project-switcher-meta span:last-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.project-switcher-see-all{justify-content:space-between;align-items:center;gap:var(--space-step-11);margin-top:var(--space-step-03);padding:var(--space-step-07) var(--space-step-09);border-top-color:var(--line);color:var(--accent);font-size:var(--text-step-08);text-align:left;border-radius:6px;display:flex}.properties-fields{border:0;min-inline-size:0;margin:0;padding:0}.selection-inspector-header button,[data-transform-block] :is(button,input,select){min-width:44px;min-height:44px}.selection-inspector-header{z-index:1;background:var(--panel);justify-content:space-between;align-items:center;gap:var(--space-step-07);padding-block:var(--space-step-06);border-bottom:1px solid var(--line);margin-bottom:var(--space-step-09);display:flex;position:sticky}.selection-inspector-header .sel-label{overflow-wrap:anywhere;min-width:0;margin:0}.selection-inspector-header .sel-label small{color:var(--dim);font-size:var(--text-step-03);display:block}.selection-inspector-header .prop-delete{flex-shrink:0;align-self:center;min-width:44px;min-height:44px}.selection-session-actions{align-items:center;gap:var(--space-step-03);flex-wrap:wrap;display:flex}.selection-session-actions button{min-width:44px;min-height:44px}.selection-inspector-header{flex-wrap:wrap}.selection-inspector-header>.selection-session-actions,.selection-inspector-header .selection-session-actions>span{flex-basis:100%}.prop-field{justify-content:space-between;align-items:center;gap:var(--space-step-07);font-size:var(--text-step-08);color:var(--text-muted-strong);display:flex}.prop-field-stack{align-items:stretch;gap:var(--space-step-05);flex-direction:column}.wall-just-toggle{gap:var(--space-step-03);display:flex}.wall-just-btn{min-width:0;padding:var(--space-step-06) var(--space-step-05);font-size:var(--text-step-06);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;flex:1 1 0;font-weight:500;transition:border-color .15s,background .15s,color .15s}.wall-just-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.wall-just-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.prop-hint{font-size:var(--text-step-05);line-height:var(--leading-step-05);color:var(--dim)}.prop-field input,.prop-field select{background:var(--panel-2);border:1px solid var(--line);width:90px;color:var(--text);padding:var(--space-step-05) var(--space-step-07);font-family:inherit;font-size:var(--text-step-08);border-radius:5px}.prop-field{flex-wrap:wrap}.prop-field select{width:auto;min-width:90px;max-width:100%}.prop-field>span{overflow-wrap:anywhere;min-width:0}.prop-field input:disabled,.prop-field select:disabled{opacity:.45;cursor:not-allowed}.sel-label{font-size:var(--text-step-08);color:var(--accent)}.prop-fit{border-color:var(--accent);color:var(--accent);align-self:stretch}.prop-delete{color:var(--danger);border-color:var(--danger);align-self:flex-end}.transform-grid{gap:var(--space-step-03);grid-template-columns:1fr 1fr;display:grid}.transform-btn{min-width:0;padding:var(--space-step-06) var(--space-step-05);font-size:var(--text-step-06);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);cursor:pointer;overflow-wrap:anywhere;border-radius:6px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.transform-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.transform-dialog .prop-field input{width:110px}.prop-inherit{font-size:var(--text-step-06);align-self:stretch}.level-transfer{gap:var(--space-step-05);flex-direction:column;display:flex}.level-transfer label{gap:var(--space-step-03);font-size:var(--text-step-08);color:var(--dim);flex-direction:column;display:flex}.level-transfer select{background:var(--panel-2);border:1px solid var(--line);width:100%;color:var(--text);padding:var(--space-step-05) var(--space-step-07);font-family:inherit;font-size:var(--text-step-08);border-radius:5px}.levels-panel{border-bottom:1px solid var(--line);padding-bottom:var(--space-step-11)}.levels-panel-toggle{width:100%;padding:var(--space-step-05) var(--space-step-01);color:var(--dim);font-size:var(--text-step-04);letter-spacing:1.2px;text-transform:uppercase;border:0;justify-content:space-between;align-items:center;font-weight:600;display:flex}.levels-panel-toggle:hover{color:var(--accent);background:0 0;border:0}.levels-panel-content{gap:var(--space-step-09);padding-top:var(--space-step-07);flex-direction:column;display:flex}.levels-underlay-toggle{align-items:center;gap:var(--space-step-07);padding:var(--space-step-06) var(--space-step-08);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);font-size:var(--text-step-06);cursor:pointer;border-radius:6px;display:flex}.levels-underlay-toggle:hover{border-color:var(--accent);color:var(--text)}.levels-underlay-toggle input{width:14px;height:14px;accent-color:var(--accent);cursor:pointer;margin:0}.levels-list{gap:var(--space-step-07);flex-direction:column;list-style:none;display:flex}.level-row{gap:var(--space-step-07);padding:var(--space-step-08);border:1px solid var(--line);background:var(--panel-2);border-radius:6px;flex-direction:column;display:flex}.level-row.active{border-color:var(--accent);background:var(--accent-soft)}.level-row-heading{align-items:center;gap:var(--space-step-06);display:flex}.level-activate{width:24px;min-height:24px;color:var(--dim);font-size:var(--text-step-03);border:0;flex:0 0 24px;padding:0}.level-activate:hover,.level-activate[aria-pressed=true]{color:var(--accent);background:0 0;border:0}.level-name-input{width:100%;min-width:0;padding:var(--space-step-04) var(--space-step-06);color:var(--text);font:inherit;font-size:var(--text-step-08);background:0 0;border:1px solid #0000;border-radius:4px}.level-name-input:hover,.level-name-input:focus{border-color:var(--line);background:var(--panel)}.level-row-fields{gap:var(--space-step-07);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.level-field{gap:var(--space-step-03);color:var(--dim);font-size:var(--text-step-04);flex-direction:column;display:flex}.level-field input{width:100%;min-width:0;padding:var(--space-step-04) var(--space-step-05);border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:var(--text-step-06);font-variant-numeric:tabular-nums;border-radius:4px}.level-field input:focus,.level-name-input:focus{border-color:var(--accent);outline:none}.level-delete{min-height:24px;padding:var(--space-step-03) var(--space-step-06);color:var(--dim);font-size:var(--text-step-04);align-self:flex-end}.level-delete:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:var(--danger-wash-strong)}.levels-actions{gap:var(--space-step-07);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.levels-actions button{padding:var(--space-step-06) var(--space-step-07);font-size:var(--text-step-05)}.levels-error{color:var(--danger-text);font-size:var(--text-step-05);line-height:var(--leading-step-06)}.input-limit-error{color:var(--danger);font-size:var(--text-step-05);line-height:var(--leading-step-06)}.dxf-panel{border-bottom:1px solid var(--line);padding-bottom:var(--space-step-11)}.dxf-panel-content{gap:var(--space-step-09);padding-top:var(--space-step-07);flex-direction:column;display:flex}.dxf-file-input{display:none}.dxf-action{min-height:44px;padding:var(--space-step-08) var(--space-step-11);font-size:var(--text-step-08);background:var(--panel-2)}.dxf-action:hover:not(:disabled),.dxf-action[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}.dxf-delete:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:var(--danger-wash-strong)}.dxf-actions-row{gap:var(--space-step-07);grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.dxf-name{color:var(--text);font-size:var(--text-step-08);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.dxf-hint{color:var(--text-muted-strong);font-size:var(--text-step-05);line-height:var(--leading-step-06)}.dxf-warning{color:var(--warning-text)}.dxf-error{color:var(--danger);font-size:var(--text-step-05);line-height:var(--leading-step-06)}.dxf-toggle{align-items:center;gap:var(--space-step-07);min-height:44px;padding:var(--space-step-06) var(--space-step-08);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);font-size:var(--text-step-06);cursor:pointer;border-radius:6px;display:flex}.dxf-toggle:hover{border-color:var(--accent);color:var(--text)}.dxf-toggle input{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;margin:0}.dxf-transform{gap:var(--space-step-07);border:0;flex-direction:column;min-width:0;margin:0;padding:0;display:flex}.dxf-transform:disabled{opacity:.55}.dxf-field{gap:var(--space-step-03);color:var(--dim);font-size:var(--text-step-04);flex-direction:column;display:flex}.dxf-field-heading{justify-content:space-between;gap:var(--space-step-07);display:flex}.dxf-field-heading output{color:var(--text);font-variant-numeric:tabular-nums}.dxf-field input,.dxf-field select{width:100%;min-width:0;min-height:44px;padding:var(--space-step-04) var(--space-step-07);border:1px solid var(--line);background:var(--panel);color:var(--text);font:inherit;font-size:var(--text-step-07);font-variant-numeric:tabular-nums;border-radius:4px}.dxf-field input:focus,.dxf-field select:focus{border-color:var(--accent);outline:none}.dxf-opacity input[type=range]{min-height:44px;accent-color:var(--accent);background:0 0;border:0;padding:0}.plan2d-calibrate-bar{top:var(--space-step-12);left:var(--space-step-12);right:var(--space-step-12);z-index:6;align-items:center;gap:var(--space-step-09);width:auto;max-width:560px;padding:var(--space-step-07) var(--space-step-09) var(--space-step-07) var(--space-step-12);border:1px solid var(--accent);background:var(--surface-popover);box-shadow:0 8px 22px var(--shadow-float);color:var(--text);font-size:var(--text-step-08);line-height:var(--leading-step-05);border-radius:8px;margin:0 auto;display:flex;position:absolute}.plan2d-calibrate-step{flex:1;min-width:0}.plan2d-calibrate-cancel{min-width:44px;min-height:44px;padding:var(--space-step-07) var(--space-step-11);font-size:var(--text-step-07);white-space:nowrap;flex:none}.plan2d-calibrate-cancel:hover{border-color:var(--danger);color:var(--danger)}@container (max-width:260px){.plan2d-calibrate-bar{flex-direction:column;align-items:stretch}}.model-health-summary{gap:var(--space-step-09);margin-bottom:var(--space-step-12);padding:var(--space-step-11);border:1px solid var(--line);background:var(--panel-2);border-radius:9px;display:grid}.model-health-heading{align-items:flex-start;gap:var(--space-step-09);display:flex}.model-health-heading>div{flex:1;min-width:0}.model-health-heading h3{color:var(--text);font-size:var(--text-step-09);margin:0}.model-health-heading p{margin:var(--space-step-02) 0 0;color:var(--dim);font-size:var(--text-step-04);line-height:var(--leading-step-05)}.model-health-badge{padding:var(--space-step-02) var(--space-step-06);border:1px solid var(--line);color:var(--dim);font-size:var(--text-step-03);white-space:nowrap;border-radius:999px;flex:none;font-weight:650}.model-health-badge.ready{border-color:var(--ok);color:var(--ok)}.model-health-badge.attention{border-color:var(--accent);color:var(--accent)}.model-health-grid{gap:var(--space-step-05);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.model-health-grid>div{min-width:0;padding:var(--space-step-06);border:1px solid var(--line);background:var(--panel);border-radius:6px}.model-health-grid dt{color:var(--dim);font-size:var(--text-step-02);line-height:var(--leading-step-02)}.model-health-grid dd{margin:var(--space-step-03) 0 0;color:var(--text);font-size:var(--text-step-05);font-weight:650}.model-health-summary h4{color:var(--dim);font-size:var(--text-step-03);letter-spacing:.06em;text-transform:uppercase;margin:1px 0 -2px;font-weight:700}.side-tabs{gap:var(--space-step-05);border-bottom:1px solid var(--line);padding-bottom:var(--space-step-09);z-index:1;background:var(--panel);grid-template-columns:repeat(2,minmax(0,1fr));display:grid;position:sticky;top:0}.side-tabs button{min-width:0;padding:var(--space-step-05) var(--space-step-07);font-size:var(--text-step-07);text-align:center;overflow-wrap:normal;word-break:normal;-webkit-hyphens:auto;hyphens:auto;line-height:1.25}.side-tabs button.active{border-color:var(--accent);color:var(--accent)}.side-tabs button[data-side-tab=feng-shui]{min-height:44px}.side-tabs button[data-side-tab=feng-shui].active{border-color:var(--text);color:var(--text)}.side-tabs button[data-side-tab=feng-shui]:hover,.feng-shui-panel button:hover{border-color:var(--line-strong);background:var(--panel-2)}.side-tabs button[data-project-info-tab]{justify-content:center;align-items:center;gap:var(--space-step-03);display:flex}.side-tabs button[data-project-info-tab] svg{fill:none;stroke:currentColor;stroke-width:1.25px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:14px;height:14px}.history-panel{gap:var(--space-step-11);flex-direction:column;display:flex}.history-save-row{gap:var(--space-step-07);align-items:stretch;display:flex}.history-save-row input{background:var(--panel-2);border:1px solid var(--line);min-width:0;color:var(--text);padding:var(--space-step-05) var(--space-step-07);font-family:inherit;font-size:var(--text-step-08);border-radius:5px;flex:1}.history-save-row input:focus{border-color:var(--accent);outline:none}.history-save-row input:disabled{opacity:.45;cursor:not-allowed}.history-save-row button{padding:var(--space-step-05) var(--space-step-09);font-size:var(--text-step-06);flex:none}.history-cap{gap:var(--space-step-02);padding:var(--space-step-07) var(--space-step-08);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);font-size:var(--text-step-05);line-height:var(--leading-step-04);border-radius:6px;flex-direction:column;display:flex}.history-list{gap:var(--space-step-07);flex-direction:column;list-style:none;display:flex}.history-row{gap:var(--space-step-05);padding:var(--space-step-08);border:1px solid var(--line);background:var(--panel-2);border-radius:6px;flex-direction:column;display:flex}.history-row-name{font-size:var(--text-step-08);color:var(--text);overflow-wrap:anywhere}.history-row-meta{gap:var(--space-step-03) var(--space-step-09);color:var(--dim);font-size:var(--text-step-05);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.history-preview{gap:var(--space-step-07);min-height:54px;color:var(--dim);font-size:var(--text-step-04);grid-template-columns:84px minmax(0,1fr);align-items:center;display:grid}.history-preview-image{object-fit:contain;border:1px solid var(--line);background:var(--panel);border-radius:4px;width:84px;height:63px;display:block}.history-preview-loading,.history-preview-unavailable{grid-column:1/-1}.history-deltas{gap:var(--space-step-02) var(--space-step-06);line-height:var(--leading-step-03);flex-wrap:wrap;display:flex}.history-deltas .positive{color:var(--ok)}.history-deltas .negative{color:var(--danger)}.history-row-actions{gap:var(--space-step-07);display:flex}.history-row-actions button{padding:var(--space-step-05) var(--space-step-09);font-size:var(--text-step-06)}.history-restore-btn{border-color:var(--accent);color:var(--accent)}.history-delete-btn{color:var(--dim)}.history-delete-btn:hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.history-error{color:var(--danger);font-size:var(--text-step-06);line-height:var(--leading-step-06)}.history-info{color:var(--ok);font-size:var(--text-step-06);line-height:var(--leading-step-06)}.external-change-banner{justify-content:center;align-items:center;gap:var(--space-step-11);padding:var(--space-step-06) var(--space-step-12);border-bottom:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-size:var(--text-step-06);line-height:var(--leading-step-04);display:flex}.external-change-banner button{padding:var(--space-step-03) var(--space-step-07);font-size:var(--text-step-05);flex:none}.code-check-panel{gap:var(--space-step-11);flex-direction:column;display:flex}.feng-shui-panel{gap:var(--space-step-11);color:var(--text);flex-direction:column;display:flex}.feng-shui-intro,.feng-shui-disclaimer{font-size:var(--text-step-08);line-height:var(--leading-step-07);margin:0}.feng-shui-disclaimer{padding:var(--space-step-08);border:1px solid var(--line-strong);background:var(--panel-2)}.feng-shui-ritual{justify-content:center;min-height:100%}.feng-shui-ritual-sheet{isolation:isolate;gap:var(--space-step-11);padding:var(--space-step-18) var(--space-step-14) var(--space-step-15);border:1px solid color-mix(in srgb, var(--line-strong) 74%, transparent);background:radial-gradient(ellipse at 91% 7%, color-mix(in srgb, var(--text) 7%, transparent) 0 8%, transparent 28%), radial-gradient(ellipse at 9% 96%, color-mix(in srgb, var(--accent) 9%, transparent) 0 5%, transparent 32%), linear-gradient(103deg, color-mix(in srgb, var(--panel) 92%, var(--text) 8%), var(--panel) 54%, color-mix(in srgb, var(--panel) 96%, var(--accent) 4%));box-shadow:0 18px 42px var(--shadow-soft), inset 0 0 54px color-mix(in srgb, var(--text) 2%, transparent);border-radius:4px 13px 5px 9px;flex-direction:column;min-width:0;max-width:100%;display:flex;position:relative;overflow:hidden}.feng-shui-ritual-sheet:after{content:"";z-index:-1;border:17px solid color-mix(in srgb, var(--text) 8%, transparent);border-radius:46% 54% 43% 57%;width:132px;height:132px;position:absolute;inset:-51px 32px auto auto;transform:rotate(-13deg)scaleX(1.13)}.feng-shui-ritual-kicker{color:var(--accent-link);font-size:var(--text-step-05);letter-spacing:.04em;font-weight:760;line-height:var(--leading-step-04);text-transform:none}.feng-shui-ritual h2,.feng-shui-ritual-stage h2{max-width:22ch;font-family:Georgia,Times New Roman,serif;font-size:var(--text-step-19);letter-spacing:-.018em;text-transform:none;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-weight:520;line-height:1.12}.feng-shui-ritual-lede{max-width:34ch;color:var(--text-reading);font-size:var(--text-step-10);line-height:var(--leading-step-09);margin:0}.feng-shui-ritual-sheet *,.feng-shui-ritual-compact *{min-width:0}.feng-shui-ritual-sheet p,.feng-shui-ritual-compact p,.feng-shui-ritual-sheet button{overflow-wrap:anywhere;word-break:normal}.feng-shui-ritual-compact{gap:var(--space-step-06);border-bottom:1px solid var(--line);padding-block-end:var(--space-step-08);display:grid}.feng-shui-ritual-compact p{color:var(--text-reading);font-size:var(--text-step-07);line-height:var(--leading-step-06);margin:0}.feng-shui-brush-rule{width:min(176px,58%);height:3px;margin:var(--space-step-02) 0 var(--space-step-04);background:linear-gradient(90deg, transparent, var(--text) 9% 68%, color-mix(in srgb, var(--text) 32%, transparent) 82%, transparent);opacity:.48;border-radius:40% 58% 37% 62%;transform:rotate(-.8deg)}.feng-shui-ritual-start{min-height:46px;padding-inline:var(--space-step-14);border-color:var(--accent-border-strong);background:var(--accent-wash);color:var(--text);align-self:flex-start;font-weight:740}.feng-shui-ritual-start:after{content:"  —";color:var(--accent-link)}.feng-shui-ritual-progress{background:color-mix(in srgb, var(--line-strong) 68%, transparent);border-radius:43% 57% 48% 52%;width:100%;height:5px;overflow:hidden;transform:rotate(-.25deg)}.feng-shui-ritual-progress>span{border-radius:inherit;background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 58%, var(--text)), var(--accent-hover));height:100%;transition:width .1s linear;display:block}.feng-shui-ritual-phase{justify-content:space-between;align-items:baseline;gap:var(--space-step-08);min-height:2.9em;font-family:Georgia,Times New Roman,serif;font-size:var(--text-step-16);line-height:var(--leading-step-04);margin:0;display:flex}.feng-shui-ritual-phase span{overflow-wrap:anywhere;min-width:0}.feng-shui-ritual-phase strong{min-width:2.2em;padding:var(--space-step-02) var(--space-step-06);border:1px solid color-mix(in srgb, var(--accent-border-strong) 72%, var(--line));color:var(--accent-link);font-family:var(--font-sans);font-size:var(--text-step-08);line-height:var(--leading-step-04);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;flex:none}.feng-shui-ritual-entrance-status{color:var(--dim);font-size:var(--text-step-07);line-height:var(--leading-step-06);margin:0}.feng-shui-ritual-skip{align-self:flex-start;min-height:44px}.feng-shui-ritual-walk-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-step-11);display:flex}.feng-shui-ritual-walk-heading>div{gap:var(--space-step-04);display:grid}.feng-shui-scan-mark{animation:1.1s ease-in-out infinite feng-shui-scan-breathe}@keyframes feng-shui-scan-breathe{0%,to{opacity:.64}50%{opacity:1}}.feng-shui-walk-hud{z-index:19;right:var(--space-step-10);bottom:var(--space-step-10);align-items:center;gap:var(--space-step-07);min-height:52px;padding:var(--space-step-06) var(--space-step-07) var(--space-step-06) var(--space-step-10);border:1px solid color-mix(in srgb, var(--line-strong) 74%, transparent);background:radial-gradient(ellipse at 98% 4%, color-mix(in srgb, var(--text) 7%, transparent), transparent 38%), color-mix(in srgb, var(--panel) 95%, var(--accent) 5%);box-shadow:0 12px 32px var(--shadow-overlay);color:var(--text);font-size:var(--text-step-07);border-radius:5px 13px 6px 10px;grid-template-columns:minmax(0,1fr) auto auto;display:grid;position:absolute;left:76px}.feng-shui-walk-hud>span:first-child{align-items:baseline;gap:var(--space-step-04);min-width:0;font-family:Georgia,Times New Roman,serif;font-size:var(--text-step-10);white-space:nowrap;display:flex}.feng-shui-walk-hud>span:first-child>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.feng-shui-walk-hud>span:first-child strong{color:var(--accent-link);font-family:var(--font-sans);font-variant-numeric:tabular-nums;margin-inline-start:var(--space-step-03)}.feng-shui-walk-hud>span:nth-child(2){color:var(--dim);font-variant-numeric:tabular-nums}.feng-shui-walk-hud button{min-height:44px}.feng-shui-preview-hud{z-index:21;right:var(--space-step-10);grid-template-columns:minmax(0,1fr)}.feng-shui-preview-hud p{min-width:0;color:var(--text-reading);font-size:var(--text-step-08);line-height:var(--leading-step-07);overflow-wrap:anywhere;margin:0}.feng-shui-preview-hud-actions{gap:var(--space-step-04);flex-wrap:wrap;display:flex}.feng-shui-preview-hud-actions button{flex:auto;min-height:44px}.feng-shui-preview-hud-actions [data-feng-shui-hud-keep]{border-color:var(--ok)}.feng-shui-guided-arrival{animation:.9s ease-out feng-shui-guided-arrival}.feng-shui-guided-control{cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation}.feng-shui-guided-control:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes feng-shui-guided-arrival{0%{opacity:.25;transform:translate(var(--fs-guided-dx), var(--fs-guided-dy)) rotate(var(--fs-guided-rotation));stroke-dasharray:10 8}to{opacity:1;stroke-dasharray:0 0;transform:translate(0)rotate(0)}}.feng-shui-guided-arrival{transform-box:fill-box;transform-origin:50%}@media (prefers-reduced-motion:reduce){.feng-shui-guided-arrival{animation:none}}.feng-shui-preview-hud{max-width:min(96vw,440px)}.feng-shui-preview-hud-actions button{flex:40%}.feng-shui-sinsae{pointer-events:none;filter:drop-shadow(0 0 1.5px var(--text)) drop-shadow(0 4px 3px var(--shadow-overlay));display:block;overflow:visible}.feng-shui-sinsae .sinsae-three-d-surface{opacity:0}.feng-shui-sinsae .sinsae-three-d-surface canvas{pointer-events:none;width:100%;height:100%;display:block}.feng-shui-sinsae[data-sinsae-3d-ready=true]>:not(.sinsae-three-d-surface){opacity:0}.feng-shui-sinsae[data-sinsae-3d-ready=true] .sinsae-three-d-surface{opacity:1}.feng-shui-sinsae-corner{z-index:18;left:var(--space-step-10);top:var(--space-step-27);width:116px;height:140px;padding:var(--space-step-07);border:1px solid var(--line-strong);background:color-mix(in srgb, var(--panel) 92%, transparent);box-shadow:0 8px 22px var(--shadow-soft);pointer-events:none;border-radius:4px 11px 5px 9px;display:none;position:absolute}.feng-shui-sinsae-corner--three-d{display:block}.feng-shui-sinsae-corner .feng-shui-sinsae{width:80%;height:80%;margin:auto}@media (max-width:1024px){.feng-shui-sinsae-corner{display:block}}.feng-shui-sinsae-finale{justify-content:center;align-items:center;gap:var(--space-step-09);border-block:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, var(--accent) 6%);pointer-events:none;min-height:132px;display:flex}.feng-shui-sinsae-finale .feng-shui-sinsae{width:76.8px;height:92.8px}.feng-shui-sinsae-finale span{color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:var(--text-step-10);font-weight:700}.feng-shui-sinsae-seal{padding:var(--space-step-03);border:2px solid var(--sinsae-robe,#77283e);color:var(--text);font-weight:700;transform:rotate(-8deg)}@media (prefers-reduced-motion:reduce){.feng-shui-sinsae *,.feng-shui-sinsae{transition:none!important;animation:none!important}}.feng-shui-results-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-step-09);border-bottom:1px solid var(--line);padding-block-end:var(--space-step-08);display:flex}.feng-shui-results-heading>div{gap:var(--space-step-05);display:grid}.feng-shui-results-heading button{flex:none;min-height:44px}.feng-shui-summary{gap:var(--space-step-04);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.feng-shui-summary button{justify-content:space-between;align-items:center;gap:var(--space-step-04);min-width:0;min-height:44px;padding:var(--space-step-05) var(--space-step-07);border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);text-align:start;font-size:var(--text-step-07);border-radius:6px;flex-wrap:wrap;display:flex}.feng-shui-summary button:first-child{border-color:var(--warning-strong)}.feng-shui-summary button span{overflow-wrap:anywhere;min-width:0}.feng-shui-summary button strong{overflow-wrap:anywhere;max-width:100%;color:var(--accent-link);font-variant-numeric:tabular-nums;flex:none}.feng-shui-overlay-row{align-items:center;gap:var(--space-step-04) var(--space-step-08);padding-block:var(--space-step-04);border-block:1px solid var(--line);font-size:var(--text-step-07);flex-wrap:wrap;display:flex}.feng-shui-overlay-row>span{width:100%;color:var(--dim);font-weight:700}.feng-shui-overlay-row .feng-shui-overlay-toggle{min-height:44px}.feng-shui-empty-summary{padding:var(--space-step-09);border:1px solid var(--line-strong);background:var(--panel-2);font-size:var(--text-step-08);line-height:var(--leading-step-07);border-radius:6px;margin:0}.feng-shui-results-boundary{gap:var(--space-step-06);border-top:1px solid var(--line);padding-block-start:var(--space-step-09);display:grid}.feng-shui-results-boundary .feng-shui-scope{margin:0}.feng-shui-needs-info{gap:var(--space-step-07);padding:var(--space-step-09);border:1px dashed var(--warning-strong);background:color-mix(in srgb, var(--panel-2) 93%, var(--warning-strong) 7%);border-radius:5px 11px 6px 9px;display:grid}.feng-shui-needs-info>header{gap:var(--space-step-03);display:grid}.feng-shui-needs-info h3,.feng-shui-needs-info p{margin:0}.feng-shui-needs-info>header p{color:var(--dim);font-size:var(--text-step-07);line-height:var(--leading-step-06)}.feng-shui-coverage-bucket h4{margin:var(--space-step-05) 0;font-size:var(--text-step-08)}.feng-shui-coverage-bucket ul{margin:0;padding:0;list-style:none}.feng-shui-entrance{gap:var(--space-step-07);padding:var(--space-step-09);border:1px solid var(--line);border-radius:6px;flex-direction:column;display:flex}.feng-shui-entrance h3,.feng-shui-entrance p{margin:0}.feng-shui-entrance-note{color:var(--dim);font-size:var(--text-step-07);line-height:var(--leading-step-06)}.feng-shui-entrance--ready{border-style:dashed}.feng-shui-entrance-alert{color:var(--warning-text);margin:0}.feng-shui-entrance ul,.feng-shui-group ul{margin:0;padding:0;list-style:none}.feng-shui-entrance button,.feng-shui-group button,.feng-shui-group summary{min-height:44px}.feng-shui-counts{gap:var(--space-step-05);font-size:var(--text-step-08);font-weight:650;display:grid}.feng-shui-group{border:1px solid var(--line-strong);padding:var(--space-step-09);background:var(--panel);border-radius:6px}.feng-shui-group h3,.feng-shui-group>summary{font-size:var(--text-step-11);line-height:var(--leading-step-09);margin:0;font-weight:700}.feng-shui-group[data-feng-shui-group=unfavourable]{border-left:3px solid var(--warning-strong)}.feng-shui-group[data-feng-shui-group=unchecked]{border-left:3px solid var(--dim);background:var(--panel-2)}.feng-shui-group[data-feng-shui-group=favourable]{border-left:3px solid var(--ok)}.feng-shui-result-group[data-feng-shui-result-group=neutral]{border-left:3px solid var(--dim);background:color-mix(in srgb, var(--panel) 96%, var(--dim) 4%)}.feng-shui-group-note{margin:var(--space-step-04) 0 var(--space-step-07);color:var(--text-reading);font-size:var(--text-step-07);line-height:var(--leading-step-06)}.feng-shui-result-group>ul,.feng-shui-rule>ul{margin:0;padding:0;list-style:none}.feng-shui-bazhai{gap:var(--space-step-07);display:grid}.feng-shui-bazhai .feng-shui-group-note{margin:0}.feng-shui-bazhai-steps{gap:var(--space-step-07);counter-reset:bazhai-step;margin:0;padding:0;list-style:none;display:grid}.feng-shui-bazhai-step{gap:var(--space-step-05);padding:var(--space-step-08);border:1px solid var(--line);counter-increment:bazhai-step;border-radius:6px;display:grid}.feng-shui-bazhai-step[data-done=true]{border-style:dashed}.feng-shui-bazhai-step h4,.feng-shui-bazhai h5{font-size:var(--text-step-09);line-height:var(--leading-step-07);margin:0;font-weight:700}.feng-shui-bazhai-step h4:before{content:counter(bazhai-step) " · ";color:var(--dim)}.feng-shui-bazhai-step p{font-size:var(--text-step-08);line-height:var(--leading-step-07);margin:0}.feng-shui-bazhai-blocked p{color:var(--dim);font-size:var(--text-step-07);line-height:var(--leading-step-06);margin:0}.feng-shui-bazhai-choices{gap:var(--space-step-05);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.feng-shui-bazhai-choices legend{margin-bottom:var(--space-step-05);font-size:var(--text-step-07);color:var(--text-reading);padding:0}.feng-shui-bazhai-choices button{min-height:44px}.feng-shui-bazhai-choices button[aria-pressed=true]{border-color:var(--feng-shui-focus)}.feng-shui-bazhai [data-feng-shui-bazhai-group=unfavourable]{border-left:3px solid var(--warning-strong)}.feng-shui-bazhai [data-feng-shui-bazhai-group=favourable]{border-left:3px solid var(--ok)}.feng-shui-bazhai [data-feng-shui-bazhai-group=neutral]{border-left:3px solid var(--dim)}.feng-shui-bazhai [data-feng-shui-bazhai-group]>ul{margin:0;padding:0;list-style:none}.feng-shui-bazhai .feng-shui-row details summary{min-height:44px}.feng-shui-why-card{z-index:18;left:calc(88px + var(--space-step-11));bottom:var(--space-step-11);gap:var(--space-step-06);width:min(360px,100% - 112px);padding:var(--space-step-10) var(--space-step-11);border:1px solid color-mix(in srgb, var(--accent-border-strong) 72%, var(--line));background:radial-gradient(ellipse at 98% 3%, color-mix(in srgb, var(--text) 7%, transparent), transparent 34%), color-mix(in srgb, var(--panel) 96%, var(--accent) 4%);box-shadow:0 16px 38px var(--shadow-overlay);border-radius:5px 14px 6px 10px;display:grid;position:absolute}.feng-shui-why-card>span{color:var(--accent-link);font-size:var(--text-step-04);letter-spacing:.04em;text-transform:none;font-weight:760}.feng-shui-why-card>strong{font-family:Georgia,Times New Roman,serif;font-size:var(--text-step-12);line-height:var(--leading-step-08)}.feng-shui-why-card p{color:var(--text-reading);font-size:var(--text-step-07);line-height:var(--leading-step-06);margin:0}.feng-shui-why-card dl{gap:var(--space-step-03);font-size:var(--text-step-07);margin:0;display:grid}.feng-shui-why-card dl div{justify-content:space-between;gap:var(--space-step-06);display:flex}.feng-shui-why-card dd{font-variant-numeric:tabular-nums;margin:0}.feng-shui-why-card .feng-shui-why-location{color:var(--dim)}.feng-shui-why-card button{justify-self:start;min-height:44px}.feng-shui-why-actions{gap:var(--space-step-06);flex-wrap:wrap;display:flex}@media (min-width:640px){.feng-shui-ritual-stage{z-index:17;right:auto;bottom:var(--space-step-13);width:min(680px,100% - 408px);max-height:calc(100% - 40px);padding:var(--space-step-13) var(--space-step-15);box-shadow:0 20px 54px var(--shadow-overlay), inset 0 0 54px color-mix(in srgb, var(--text) 2%, transparent);position:absolute;left:calc(50% - 96px);overflow:auto;transform:translate(-50%)}.feng-shui-ritual-stage--walking{gap:var(--space-step-08);padding-block:var(--space-step-10)}.feng-shui-ritual-stage--walking h2{font-size:var(--text-step-16)}.feng-shui-ritual-stage--walking .feng-shui-ritual-phase{min-height:0;font-size:var(--text-step-13)}}@media (min-width:1025px) and (pointer:fine){.feng-shui-ritual-stage{width:min(680px,100% - 536px);left:calc(50% - 160px)}}.feng-shui-row{gap:var(--space-step-06);padding:var(--space-step-09) 0;border-top:1px solid var(--line);font-size:var(--text-step-08);line-height:var(--leading-step-07);flex-direction:column;display:flex}.feng-shui-row p{margin:0}.feng-shui-row-focus{align-items:flex-start;gap:var(--space-step-04);text-align:start;flex-direction:column;width:100%;min-height:44px;display:flex}.feng-shui-rule{border-top:1px solid var(--line)}.feng-shui-rule-toggle{justify-content:space-between;align-items:center;gap:var(--space-step-06);text-align:start;width:100%;min-height:44px;display:flex}.feng-shui-rule-toggle span{color:var(--dim);font-size:var(--text-step-07);flex:none}.feng-shui-rule>ul{padding-inline-start:var(--space-step-09)}.feng-shui-luban-findings{margin-top:var(--space-step-08);border-top:1px solid var(--line-strong)}.feng-shui-luban-findings>summary{justify-content:space-between;align-items:center;gap:var(--space-step-07);cursor:pointer;display:flex}.feng-shui-luban-findings>summary span{color:var(--dim);font-size:var(--text-step-07);flex:none;font-weight:500}.feng-shui-luban-findings>ul{margin:0;padding:0;list-style:none}.feng-shui-remedy-button{align-self:flex-start;min-height:44px}.feng-shui-remedy-message{color:var(--warning-text)}.feng-shui-remedy-result{border:1px solid var(--ok);padding:var(--space-step-09);border-radius:6px}.feng-shui-remedy-result p{margin:var(--space-step-06) 0 0}.feng-shui-auto-fix-open{border-color:var(--accent-border-strong);background:var(--accent-wash);min-height:46px;color:var(--text);font-weight:740}.feng-shui-auto-fix{gap:var(--space-step-04);padding:var(--space-step-07);border:1px solid color-mix(in srgb, var(--accent-border-strong) 72%, var(--line));background:color-mix(in srgb, var(--panel) 96%, var(--accent) 4%);box-shadow:0 12px 30px var(--shadow-soft);border-radius:5px 13px 6px 10px;display:grid}.feng-shui-auto-fix>header{align-items:center;column-gap:var(--space-step-08);row-gap:var(--space-step-03);grid-template-columns:minmax(0,1fr) auto;display:grid}.feng-shui-auto-fix>header>div{display:contents}.feng-shui-auto-fix>header .feng-shui-ritual-kicker{grid-area:1/1}.feng-shui-auto-fix>header .feng-shui-auto-fix-progress{white-space:nowrap;grid-area:1/2;justify-self:end}.feng-shui-auto-fix>header h3{grid-area:2/1}.feng-shui-auto-fix>header>button{grid-area:2/2}.feng-shui-auto-fix h3,.feng-shui-auto-fix p{margin:0}.feng-shui-auto-fix button{min-height:44px}.feng-shui-auto-fix-disclaimer{color:var(--dim);font-size:var(--text-step-05);line-height:var(--leading-step-04)}.feng-shui-auto-fix-status{gap:var(--space-step-04);padding:var(--space-step-06);border:1px solid var(--warning-strong);color:var(--warning-text);font-size:var(--text-step-07);border-radius:6px;display:grid}.feng-shui-auto-fix-notice{padding:var(--space-step-06);border-left:3px solid var(--line-strong);background:var(--panel-2);color:var(--text-reading);font-size:var(--text-step-07);margin:0}.feng-shui-auto-fix-status button{justify-self:start}.feng-shui-auto-fix-log{padding:var(--space-step-05) var(--space-step-07);border-left:3px solid var(--ok);background:var(--panel-2);color:var(--text-reading);font-size:var(--text-step-07)}.feng-shui-auto-fix-progress{color:var(--dim);font-size:var(--text-step-06);font-variant-numeric:tabular-nums}.feng-shui-auto-fix-reason{gap:var(--space-step-03);padding-block:var(--space-step-05);border-block:1px solid var(--line);display:grid}.feng-shui-auto-fix-reason>strong{font-family:Georgia,Times New Roman,serif;font-size:var(--text-step-11);line-height:var(--leading-step-08)}.feng-shui-auto-fix-reason p{color:var(--text-reading);font-size:var(--text-step-07);line-height:var(--leading-step-06)}.feng-shui-auto-fix fieldset{gap:var(--space-step-04);border:0;min-width:0;margin:0;padding:0;display:grid}.feng-shui-auto-fix legend{margin-bottom:var(--space-step-03);font-size:var(--text-step-08);line-height:var(--leading-step-04);font-weight:700}.feng-shui-auto-fix fieldset>button{gap:var(--space-step-03);min-height:44px;padding:var(--space-step-04) var(--space-step-05);border:1px solid var(--line);text-align:start;border-radius:6px;display:grid}.feng-shui-auto-fix fieldset>button[aria-pressed=true]{border-color:var(--accent-border-strong);background:var(--accent-wash)}.feng-shui-auto-fix fieldset button>span{min-width:0;display:block}.feng-shui-auto-fix fieldset button>span strong{color:var(--accent-link);font-size:var(--text-step-06);margin-inline-end:var(--space-step-04)}.feng-shui-auto-fix-disclosure,.feng-shui-auto-fix-warning{color:var(--warning-text);font-size:var(--text-step-06);line-height:var(--leading-step-05)}.feng-shui-auto-fix-preview{gap:var(--space-step-04);padding:var(--space-step-06);border:1px solid var(--accent-border-strong);border-radius:6px;display:grid}.feng-shui-auto-fix-actions{gap:var(--space-step-04);flex-wrap:wrap;display:flex}.feng-shui-auto-fix-actions [data-feng-shui-keep-option]{border-color:var(--ok)}.feng-shui-auto-fix-actions [data-feng-shui-skip-luban]{color:var(--dim);flex:100%}.feng-shui-row details summary{cursor:pointer;align-items:center;display:flex}.feng-shui-row dl{margin:var(--space-step-07) 0}.feng-shui-row dl div{justify-content:space-between;gap:var(--space-step-06);display:flex}.feng-shui-row dd{font-variant-numeric:tabular-nums;margin:0}.feng-shui-convention{padding:var(--space-step-08);border:1px solid var(--line-strong);background:var(--panel-2)}.feng-shui-school-note{padding:var(--space-step-08);border-left:2px solid var(--warning-strong)}.feng-shui-not-applicable{font-size:var(--text-step-07);line-height:var(--leading-step-06);color:var(--dim);margin:0}.feng-shui-overlay-toggle{align-items:center;gap:var(--space-step-07);cursor:pointer;min-height:44px;display:flex}.feng-shui-overlay-toggle input{width:18px;height:18px;accent-color:var(--feng-shui-focus);margin:0}.feng-shui-choose-banner{border-color:var(--line-strong);z-index:22;flex-wrap:wrap;align-items:center}.feng-shui-choose-banner .tool-hint-title{margin:0}.feng-shui-choose-banner .tool-hint-body{color:var(--warning-text);display:block}.feng-shui-choose-banner button{pointer-events:auto;border-color:var(--line-strong);flex:none;min-height:44px}.feng-shui-choose-banner button:hover{border-color:var(--text);background:var(--panel-2)}.code-check-header{gap:var(--space-step-07);flex-direction:column;display:flex}.code-check-field{gap:var(--space-step-03);font-size:var(--text-step-06);color:var(--dim);flex-direction:column;display:flex}.code-check-field select{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:var(--space-step-05) var(--space-step-07);font-family:inherit;font-size:var(--text-step-08);border-radius:5px}.code-check-field select:focus{border-color:var(--accent)}.code-check-meta{font-size:var(--text-step-07);color:var(--dim);align-items:center;gap:var(--space-step-09);display:flex}.code-check-spin{color:var(--accent);font-size:var(--text-step-06)}.code-check-summary{align-items:center;gap:var(--space-step-09);font-size:var(--text-step-08);color:var(--text);background:var(--panel-2);padding:var(--space-step-09) var(--space-step-11);border-radius:6px;display:flex}.summary-dot{border-radius:50%;width:8px;height:8px}.code-check-empty{color:var(--dim);font-size:var(--text-step-09);text-align:center;padding:var(--space-step-14) 0}.code-check-list{gap:var(--space-step-07);flex-direction:column;list-style:none;display:flex}.code-check-card{background:var(--panel-2);border:1px solid var(--line);padding:var(--space-step-09) var(--space-step-11);border-radius:6px;transition:border-color .15s,background .15s}.code-check-card:hover,.code-check-card:focus-within{border-color:var(--accent)}.code-check-card.selected{border-color:var(--accent);background:var(--accent-soft)}.code-check-card-select{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:0;padding:0;display:block}.code-check-card-select:hover{background:0 0;border:0}.code-check-card-select:focus-visible,.code-check-citation:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.code-check-severity{align-items:center;gap:var(--space-step-05);font-size:var(--text-step-05);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-step-05);display:flex}.severity-dot{border-radius:50%;width:7px;height:7px}.code-check-rule{font-size:var(--text-step-08);line-height:var(--leading-step-06);color:var(--text);margin-bottom:var(--space-step-05);display:block}.code-check-measured{font-size:var(--text-step-06);color:var(--dim);margin-bottom:var(--space-step-07);display:block}.code-check-citation{font-size:var(--text-step-05);color:var(--accent);line-height:var(--leading-step-05);display:block}.code-check-citation:hover{text-decoration:underline}.code-check-unsupported{background:var(--panel-2);border:1px solid var(--line);padding:var(--space-step-12);color:var(--dim);font-size:var(--text-step-08);line-height:var(--leading-step-08);border-radius:6px}.code-check-unsupported p+p{margin-top:var(--space-step-05)}.code-check-disclaimer{background:var(--panel);font-size:var(--text-step-04);color:var(--dim);line-height:var(--leading-step-06);padding:var(--space-step-09) 0;border-top:1px solid var(--line);margin-top:auto;position:sticky;bottom:0}.code-check-truncated{background:var(--accent-soft);border:1px solid var(--accent);padding:var(--space-step-09) var(--space-step-11);color:var(--accent);font-size:var(--text-step-07);line-height:var(--leading-step-06);border-radius:6px}.ai-dock{align-items:center;gap:var(--space-step-09);padding:var(--space-step-09) var(--space-step-14);border-top:1px solid var(--line);background:var(--panel);flex-wrap:wrap;display:flex}.ai-dock input[type=text],.ai-dock input:not([type=file]){background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:var(--space-step-08) var(--space-step-11);font-family:inherit;font-size:var(--text-step-09);border-radius:6px;flex:1}.ai-dock input:focus{border-color:var(--accent)}.ai-dock-file{display:none}.ai-dock-attach{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:var(--space-step-07) var(--space-step-11);font-size:var(--text-step-09);cursor:pointer;white-space:nowrap;border-radius:6px}.ai-dock-attach:hover{border-color:var(--accent);color:var(--accent)}.ai-dock-attach:disabled{opacity:.5;cursor:not-allowed}.ai-dock-thumb{align-items:center;gap:var(--space-step-05);padding:var(--space-step-02);border:1px solid var(--line);background:var(--panel-2);border-radius:6px;display:flex}.ai-dock-thumb img{object-fit:cover;border-radius:4px;width:36px;height:36px}.ai-dock-thumb button{color:var(--dim);cursor:pointer;font-size:var(--text-step-07);padding:0 var(--space-step-03);background:0 0;border:none}.ai-dock-thumb button:hover{color:var(--danger)}.ai-dock-ink-note{font-size:var(--text-step-05);color:var(--dim);overflow-wrap:anywhere}.ai-quality-toggle{gap:var(--space-step-03);display:flex}.ai-quality-btn{padding:var(--space-step-07) var(--space-step-11);font-size:var(--text-step-07);white-space:nowrap;border:1px solid var(--line);background:var(--panel-2);color:var(--dim);cursor:pointer;border-radius:6px;font-weight:500;transition:border-color .15s,background .15s,color .15s}.ai-quality-btn:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.ai-quality-btn:disabled{opacity:.5;cursor:not-allowed}.ai-quality-btn[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ai-dock-ghost{gap:var(--space-step-05);flex-direction:column;flex:100%;min-width:0;display:flex}.ai-dock-ghost-row{align-items:center;gap:var(--space-step-09);flex-wrap:wrap;display:flex}.ai-ghost-summary-row{display:contents}.ai-ghost-summary-toggle{display:none}.ai-dock-facts{font-size:var(--text-step-06);color:var(--dim);overflow-wrap:anywhere}.ai-dock-disclaimer{font-size:var(--text-step-04);color:var(--dim);line-height:var(--leading-step-06);overflow-wrap:anywhere}.ai-dock-header{align-items:center;gap:var(--space-step-05) var(--space-step-17);flex:100%;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);min-width:0;display:grid}.ai-dock-header-main{align-items:center;gap:var(--space-step-05) var(--space-step-11);flex-wrap:wrap;min-width:0;display:flex}.ai-dock-header-route{font-size:var(--text-step-05);color:var(--dim);margin:0}.ai-compose .ai-routes-label{display:none}.ai-dock-title{font-size:var(--text-step-09);color:var(--text);margin:0;font-weight:600}.ai-dock-header .ai-dock-collapse-btn{line-height:var(--leading-step-01);padding:var(--space-step-02) var(--space-step-05)}.ai-compose{gap:var(--space-step-07) var(--space-step-17);flex:100%;grid-template-columns:minmax(0,.8fr) minmax(0,1.5fr);align-items:start;min-width:0;display:grid}.ai-compose-left,.ai-compose-route{gap:var(--space-step-05);flex-direction:column;min-width:0;display:flex}.ai-compose-request{align-items:center;gap:var(--space-step-05);flex-wrap:wrap;min-width:0;display:flex}.ai-compose-request>.ai-prompt{flex:240px;min-width:0}.ai-compose-request .ai-dock-ink-note{flex:100%}.ai-compose-examples{min-width:0}.ai-outcome{border:1px solid var(--line);border-radius:8px;display:inline-flex;overflow:hidden}.ai-outcome-btn{padding:var(--space-step-03) var(--space-step-11);color:var(--dim);font-size:var(--text-step-07);cursor:pointer;background:0 0;border:0}.ai-outcome-btn+.ai-outcome-btn{border-left:1px solid var(--line)}.ai-outcome-btn[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);font-weight:600}.ai-outcome-btn:disabled{opacity:.5;cursor:not-allowed}.ai-attach-row{display:contents}.ai-routes{gap:var(--space-step-05);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ai-routes-label{font-size:var(--text-step-05);color:var(--dim);grid-column:1/-1;margin:0}.ai-route{align-items:flex-start;gap:var(--space-step-05);text-align:left;min-width:0;padding:var(--space-step-05) var(--space-step-07);border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:8px;display:flex}.ai-route:hover{border-color:var(--line-strong)}.ai-route[aria-checked=true]{border-color:var(--accent);background:var(--accent-soft)}.ai-route-dot{width:14px;height:14px;margin-top:var(--space-step-02);border:2px solid var(--line-strong);border-radius:50%;flex:none}.ai-route[aria-checked=true] .ai-route-dot{border-color:var(--accent);background:radial-gradient(var(--accent) 40%, transparent 45%)}.ai-route-text{gap:var(--space-step-02);flex-direction:column;min-width:0;display:flex}.ai-route-name{align-items:center;gap:var(--space-step-03) var(--space-step-05);font-size:var(--text-step-08);font-weight:600;line-height:var(--leading-step-02);flex-wrap:wrap;display:flex}.ai-route-use{font-size:var(--text-step-03);line-height:var(--leading-step-02);color:var(--dim);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.ai-route-badge{font-size:var(--text-step-04);font-weight:500;line-height:var(--leading-step-02);white-space:nowrap;padding:0 var(--space-step-05);border:1px solid var(--line-strong);color:var(--dim);border-radius:999px}.ai-route-badge--included,.ai-route-badge[data-badge-kind=included]{border-color:var(--accent-border-strong);color:var(--accent)}.ai-route-badge--free,.ai-route-badge[data-badge-kind=free]{border-color:var(--ok);color:var(--ok)}.ai-route-go{align-items:center;gap:var(--space-step-05) var(--space-step-11);flex-wrap:wrap;display:flex}.ai-route-primary{padding:var(--space-step-05) var(--space-step-13)}.ai-compose .ai-prompt,.ai-compose .ai-dock-attach{padding-block:var(--space-step-05)}.ai-compose .ai-suggestions{padding:0}.ai-route-go>.ai-route-note{flex:220px}.ai-route-actions{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;display:flex}.ai-route-note{font-size:var(--text-step-06);line-height:var(--leading-step-05);color:var(--dim);overflow-wrap:anywhere;margin:0}.ai-route-secondary{padding:var(--space-step-05) var(--space-step-11);font-size:var(--text-step-07);border:1px solid var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-start}.ai-route-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ai-route-secondary:disabled{opacity:.5;cursor:not-allowed}.ai-pending-badge{margin-left:var(--space-step-07);padding:0 var(--space-step-07);background:var(--accent);color:var(--text-on-accent);font-size:var(--text-step-05);border-radius:999px;font-weight:700}.ai-tray{min-width:0;padding:var(--space-step-07) var(--space-step-09);border:1px solid var(--accent-border-strong);background:var(--accent-soft);border-radius:8px;flex:100%}.ai-tray-title{margin:0 0 var(--space-step-05);font-size:var(--text-step-08);color:var(--accent)}.ai-tray-list{gap:var(--space-step-03);flex-direction:column;max-height:140px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.ai-tray-item{align-items:center;gap:var(--space-step-07);font-size:var(--text-step-07);min-width:0;display:flex}.ai-tray-summary{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ai-tray-viewing{color:var(--accent);white-space:nowrap;font-weight:600}.ai-tray-view{padding:var(--space-step-02) var(--space-step-09);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px}.ai-tray-view:disabled{opacity:.5;cursor:not-allowed}.ai-tray-note{margin:var(--space-step-03) 0 0;font-size:var(--text-step-06);color:var(--dim)}.ai-sheet{z-index:10000;top:var(--space-step-26);right:var(--space-step-13);width:min(460px, calc(100vw - 2 * var(--space-step-13)));max-height:calc(100dvh - var(--space-step-26) - var(--space-step-13));border:1px solid var(--line-strong);background:var(--panel);min-height:0;box-shadow:0 12px 32px var(--shadow-float);border-radius:12px;flex-direction:column;display:flex;position:fixed}.ai-sheet-header{justify-content:space-between;align-items:center;gap:var(--space-step-09);padding:var(--space-step-09) var(--space-step-13);border-bottom:1px solid var(--line);display:flex}.ai-sheet-header h3{font-size:var(--text-step-10);margin:0}.ai-sheet-close{border:1px solid var(--line);min-width:36px;min-height:36px;color:var(--text);font-size:var(--text-step-15);cursor:pointer;background:0 0;border-radius:6px}.ai-sheet-body{padding:var(--space-step-11) var(--space-step-13);overscroll-behavior:contain;min-height:0;overflow-y:auto}.ai-sheet .import-byo{border-top:0;padding-top:0}.ai-sheet .import-byo>p{font-size:var(--text-step-07);line-height:var(--leading-step-06);color:var(--dim)}.ai-error-actions{gap:var(--space-step-07);margin-top:var(--space-step-05);flex-wrap:wrap;display:flex}@media (max-width:900px){.ai-compose,.ai-dock-header{grid-template-columns:minmax(0,1fr)}.ai-dock-header-route{display:none}.ai-compose .ai-routes-label{display:block}}.byo-response{gap:var(--space-step-07);margin-top:var(--space-step-12);padding-top:var(--space-step-12);border-top:1px solid var(--line);flex-direction:column;display:flex}.byo-response-title{color:var(--text);font-size:var(--text-step-09)}.byo-response-limit{color:var(--dim);font-size:var(--text-step-06)}.byo-response-actions{margin-top:var(--space-step-01)}.ghost-summary{font-size:var(--text-step-09);color:var(--accent);flex:1}.ai-error{font-size:var(--text-step-07);color:var(--danger);overflow-wrap:anywhere}.ai-notice{font-size:var(--text-step-07);color:var(--ok);overflow-wrap:anywhere}.ai-error .billing-upgrade-placeholder{margin-top:var(--space-step-02);display:block}.ai-quota-paths{gap:var(--space-step-07);border-top:1px solid var(--line);padding-top:var(--space-step-09);margin-top:var(--space-step-03);flex-direction:column;display:flex}.ai-quota-keep-drawing{font-size:var(--text-step-07);line-height:var(--leading-step-06);color:var(--text)}.ai-quota-paths .import-byo{border-top:0;padding-top:0}.ghost-badge{top:var(--space-step-09);left:var(--space-step-09);padding:var(--space-step-03) var(--space-step-09);background:var(--accent-soft);color:var(--accent);font-size:var(--text-step-06);border:1px solid var(--accent);border-radius:5px;position:absolute}.share-dialog{background:var(--panel);border:1px solid var(--line);padding:clamp(var(--space-step-14), 4vw, var(--space-step-17));overscroll-behavior:contain;width:min(100% - 32px,420px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:10px;margin:auto;overflow:auto}.share-dialog[open]{gap:var(--space-step-12);flex-direction:column;display:flex}.share-dialog::backdrop{background:var(--share-dialog-scrim)}.share-dialog h3{font-size:var(--text-step-14);font-weight:500}.share-label{font-size:var(--text-step-07);color:var(--dim)}.share-url-row{gap:var(--space-step-07);display:flex}.share-url-row input{background:var(--panel-2);border:1px solid var(--line);color:var(--text);padding:var(--space-step-07) var(--space-step-09);font-family:inherit;font-size:var(--text-step-08);border-radius:6px;flex:1}.share-url-row input:focus{border-color:var(--accent)}.share-actions{gap:var(--space-step-07);flex-wrap:wrap;display:flex}.share-actions button{min-height:44px;margin:0}.share-error{color:var(--danger);font-size:var(--text-step-08)}.conflict-dialog{background:var(--panel);border:1px solid var(--line);padding:clamp(var(--space-step-14), 4vw, var(--space-step-17));overscroll-behavior:contain;width:min(100% - 32px,480px);max-height:calc(100dvh - 32px);color:var(--text);border-radius:10px;margin:auto;overflow:auto}.conflict-dialog[open]{gap:var(--space-step-12);flex-direction:column;display:flex}.conflict-dialog::backdrop{background:var(--scrim)}.conflict-dialog h3{font-size:var(--text-step-14);color:var(--accent);font-weight:500}.conflict-dialog p{color:var(--dim);font-size:var(--text-step-10);line-height:var(--leading-step-08)}.conflict-actions{gap:var(--space-step-09);flex-wrap:wrap;display:flex}.pdf-sheet-dialog{width:min(100% - 32px,760px);max-height:calc(100dvh - 32px);overflow:hidden}.pdf-sheet-dialog[open]{gap:var(--space-step-07);grid-template-rows:auto minmax(0,1fr) auto;display:grid}.pdf-sheet-dialog-body{gap:var(--space-step-07);overscroll-behavior:contain;flex-direction:column;min-height:0;display:flex;overflow-y:auto}.pdf-sheet-dialog-body>p{margin:0}.pdf-sheet-dialog>.conflict-actions{padding-top:var(--space-step-07);border-top:1px solid var(--line);background:var(--panel);flex:none;margin:0}.pdf-export-mode,.pdf-sheet-set-choices{border:0;min-inline-size:0;margin:0;padding:0}.pdf-export-mode{gap:var(--space-step-05) var(--space-step-11);flex-wrap:wrap;display:flex}.pdf-export-mode legend,.pdf-sheet-set-choices legend{width:100%;margin-bottom:var(--space-step-02);color:var(--dim);font-size:var(--text-step-08)}.pdf-export-mode label,.pdf-sheet-set-choice{align-items:flex-start;gap:var(--space-step-05);min-width:0;color:var(--text);font-size:var(--text-step-08);line-height:var(--leading-step-03);display:flex}.pdf-export-mode input,.pdf-sheet-set-choice input{margin:var(--space-step-01) 0 0;flex:none}.pdf-sheet-set-grid{gap:var(--space-step-04) var(--space-step-09);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pdf-sheet-set-choice{padding:var(--space-step-03) var(--space-step-04);border:1px solid var(--line);overflow-wrap:anywhere;border-radius:5px}.pdf-sheet-set-choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.pdf-sheet-set-selection-actions{gap:var(--space-step-05);margin:0 0 var(--space-step-05);flex-wrap:wrap;display:flex}.pdf-sheet-set-selection-actions button{padding:var(--space-step-03) var(--space-step-07);font-size:var(--text-step-06)}.pdf-sheet-set-limit{gap:var(--space-step-05);padding:var(--space-step-07);border:1px solid var(--warning,var(--line));background:var(--panel-2);border-radius:6px;flex-direction:column;display:flex}.pdf-sheet-set-limit p,.pdf-sheet-set-limit .pdf-sheet-set-selection-actions{margin:0}@media (max-width:520px){.pdf-sheet-dialog{padding:var(--space-step-13)}.pdf-sheet-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@keyframes confirm-dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-dialog{width:min(100% - 32px,460px);max-height:calc(100dvh - 32px);padding:clamp(var(--space-step-14), 4vw, var(--space-step-17));overscroll-behavior:contain;border:1px solid var(--accent);background:var(--panel);color:var(--text);box-shadow:0 18px 48px var(--shadow-dialog);font-family:var(--font-plex-thai), "IBM Plex Sans Thai", system-ui, sans-serif;border-radius:10px;margin:auto;overflow:auto}.confirm-dialog[open]{gap:var(--space-step-12);flex-direction:column;animation:.16s ease-out both confirm-dialog-enter;display:flex}.confirm-dialog::backdrop{background:var(--scrim)}.confirm-dialog h3{font-size:var(--text-step-14);color:var(--accent);font-weight:600}.confirm-dialog p{color:var(--dim);font-size:var(--text-step-10);line-height:var(--leading-step-08);overflow-wrap:anywhere}.confirm-dialog__actions{justify-content:flex-end;gap:var(--space-step-09);flex-wrap:wrap;display:flex}.confirm-dialog__actions button{min-width:88px;min-height:44px}.meta.error{color:var(--danger)}.shortcut-sheet{width:min(100% - 32px,620px);max-height:calc(100dvh - 32px);padding:clamp(var(--space-step-13), 3.5vw, var(--space-step-16));border:1px solid var(--accent);background:var(--panel);color:var(--text);box-shadow:0 18px 48px var(--shadow-dialog);overscroll-behavior:contain;border-radius:10px;margin:auto;overflow:auto}.shortcut-sheet[open]{gap:var(--space-step-13);flex-direction:column;display:flex}.shortcut-sheet::backdrop{background:var(--scrim)}.shortcut-sheet__head{align-items:center;gap:var(--space-step-09);display:flex}.shortcut-sheet__head h3{font-size:var(--text-step-14);color:var(--accent);flex:1;font-weight:600}.shortcut-sheet__close{min-width:44px;min-height:44px;color:var(--dim);font-size:var(--text-step-17);line-height:var(--leading-step-01);background:0 0;border:0;flex:none;padding:0}.shortcut-sheet__close:hover{color:var(--text);background:0 0;border:0}.shortcut-sheet__section{gap:var(--space-step-07);flex-direction:column;display:flex}.shortcut-sheet__section h4{font-size:var(--text-step-08);letter-spacing:.3px;color:var(--accent);font-weight:650}.shortcut-sheet__subhead{margin-top:var(--space-step-05);font-size:var(--text-step-07);color:var(--dim);font-weight:600}.shortcut-sheet__note{font-size:var(--text-step-06);line-height:var(--leading-step-06);color:var(--dim)}.shortcut-sheet__list{gap:var(--space-step-06);flex-direction:column;list-style:none;display:flex}.shortcut-sheet__list li{font-size:var(--text-step-09);line-height:var(--leading-step-07);overflow-wrap:anywhere}.shortcut-sheet__rows,.shortcut-sheet__tools{gap:var(--space-step-06) var(--space-step-13);display:grid}.shortcut-sheet__tools{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.shortcut-sheet__row{gap:var(--space-step-03) var(--space-step-09);grid-template-columns:minmax(84px,max-content) 1fr;align-items:start;display:grid}.shortcut-sheet__row dd{font-size:var(--text-step-09);line-height:var(--leading-step-07);overflow-wrap:anywhere}.shortcut-sheet__keys{align-items:center;gap:var(--space-step-03);flex-wrap:wrap;display:flex}.shortcut-sheet__cap{align-items:center;gap:var(--space-step-03);display:inline-flex}.shortcut-sheet__or{font-size:var(--text-step-04);color:var(--dim)}.shortcut-sheet kbd{padding:var(--space-step-01) var(--space-step-05);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-step-06);line-height:var(--leading-step-06);white-space:nowrap;border-radius:5px;display:inline-block}.shortcut-sheet__actions{justify-content:flex-end;display:flex}.shortcut-sheet__actions button{min-width:88px;min-height:44px}.command-palette-open{align-items:center;gap:var(--space-step-01);flex-direction:column;display:flex}.command-palette-open kbd{font-size:var(--text-step-01);color:var(--dim)}.command-palette{width:min(620px,100vw - 32px);max-height:min(680px,100dvh - 32px);margin:max(var(--space-step-17), 12vh) auto auto;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 24px 70px var(--shadow-dialog-soft);border-radius:12px;padding:0;overflow:hidden}.command-palette[open]{flex-direction:column;display:flex}.command-palette::backdrop{background:var(--scrim-soft);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.command-palette__search{align-items:center;gap:var(--space-step-09);padding:var(--space-step-12) var(--space-step-13);border-bottom:1px solid var(--line);color:var(--dim);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.command-palette__search input{width:100%;min-width:0;padding:var(--space-step-07) 0;color:var(--text);font-size:var(--text-step-14);background:0 0;border:0;outline:0}.command-palette kbd{padding:var(--space-step-02) var(--space-step-06);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);font:var(--text-step-04) ui-monospace, SFMono-Regular, Menlo, monospace;white-space:nowrap;border-radius:5px}.command-palette__list{gap:var(--space-step-02);padding:var(--space-step-07);overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.command-palette__list button{justify-content:space-between;align-items:center;gap:var(--space-step-11);width:100%;min-height:44px;padding:var(--space-step-08) var(--space-step-09);text-align:left;border-color:#0000;display:flex}.command-palette__list button[aria-selected=true]:not(:disabled){border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.command-palette__empty{padding:var(--space-step-19) var(--space-step-13);text-align:center;color:var(--dim)}.command-palette__hint{padding:var(--space-step-08) var(--space-step-13);border-top:1px solid var(--line);color:var(--dim);font-size:var(--text-step-04)}@media (max-width:520px){.shortcut-sheet__row,.shortcut-sheet__tools{grid-template-columns:1fr}}.shared-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.shared-topbar{align-items:center;gap:var(--space-step-12);padding:var(--space-step-09) var(--space-step-14);border-bottom:1px solid var(--line);background:var(--panel);display:flex}.shared-topbar .spacer{flex:1}.shared-title{font-size:var(--text-step-13);font-weight:500}.shared-badge{font-size:var(--text-step-07);color:var(--dim);border:1px solid var(--line);padding:var(--space-step-05) var(--space-step-09);border-radius:6px;transition:border-color .15s,color .15s}.shared-badge:hover{border-color:var(--accent);color:var(--accent)}.shared-body{flex:1;min-height:0;display:flex}.save-status{align-items:center;gap:var(--space-step-06);max-width:100%;display:inline-flex}.local-recovery-status{flex-wrap:wrap;min-width:0}.local-recovery-status .recovery-text{overflow-wrap:anywhere;min-width:8ch}.recovery-open{white-space:nowrap}.save-status-dot{background:var(--dim);border-radius:50%;flex:none;width:7px;height:7px}.save-status.saved .save-status-dot{background:var(--ok)}.save-status.dirty{color:var(--accent)}.save-status.dirty .save-status-dot{background:var(--accent)}.save-status.saving .save-status-dot{background:var(--accent);animation:1.1s ease-in-out infinite save-pulse}.save-status.error{color:var(--danger)}.save-status.error .save-status-dot{background:var(--danger)}.save-status.warning{color:var(--accent)}.save-status.warning .save-status-dot{background:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}dialog[open]{animation:.18s ease-out dialog-enter}dialog[open]::backdrop{animation:.18s ease-out backdrop-enter}@keyframes viewer-spin{to{transform:rotate(360deg)}}@keyframes save-pulse{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@media (min-width:640px) and (max-width:1024px),(min-width:640px) and (max-width:1440px) and (pointer:coarse){.topbar{padding:var(--space-step-04) var(--space-step-09);flex-wrap:nowrap;flex:none;gap:0;min-height:55px;overflow:visible}.topbar button,.topbar input,.topbar select{min-height:44px}.topbar button{min-width:44px}.topbar>*{flex:none}.topbar-zone{gap:var(--space-step-05)}.topbar-zone+.topbar-zone,.topbar-spacer+.topbar-zone{margin-left:var(--space-step-08);padding-left:var(--space-step-08)}.topbar-spacer{flex:8px;min-width:8px}.name-input{width:min(140px,18vw);min-width:100px}.level-select{flex:0 200px;min-width:120px}.side-panel{width:240px;padding:var(--space-step-12)}.feng-shui-ritual-stage{width:min(620px,100% - 332px);left:calc(50% - 88px)}.gallery header{flex-wrap:wrap;align-items:flex-start}.landing-hero{gap:var(--space-step-20);grid-template-columns:minmax(0,.8fr) minmax(320px,1.2fr)}.onboarding-coach{overscroll-behavior:contain;max-height:min(42dvh,320px);overflow:auto}}@media (min-width:640px) and (max-width:900px) and (pointer:coarse){.topbar .brand{display:none}.name-input{width:104px;min-width:104px}.view-select{width:88px;min-width:88px}.topbar-zone+.topbar-zone,.topbar-spacer+.topbar-zone{margin-left:var(--space-step-06);padding-left:var(--space-step-06)}.topbar-history-action{gap:0;width:44px;padding-inline:0}.topbar-history-action .topbar-action-label{display:none}.panel-collapse-toggle{justify-content:center;gap:0;width:44px;padding:0}.panel-collapse-label{display:none}}@media (min-width:901px) and (max-width:1024px) and (pointer:coarse){.topbar-history-action{gap:0;width:44px;padding-inline:0}.topbar-history-action .topbar-action-label{display:none}.panel-collapse-toggle{justify-content:center;gap:0;width:44px;padding:0}.panel-collapse-label{display:none}}@media (max-width:639px){.landing{padding:88px var(--space-step-15) 36px}.landing-hero{gap:var(--space-step-21);grid-template-columns:minmax(0,1fr)}.landing-copy{text-align:center}.landing h1,.home-hero h1{font-size:clamp(40px,15vw,58px)}.landing-plan{padding:var(--space-step-09);box-shadow:10px 10px 0 var(--surface-offset-shadow)}.home-cta-row{justify-content:center}.gallery{padding:var(--space-step-19) var(--space-step-13)}.gallery header,.gallery-actions{flex-direction:column;align-items:stretch}.gallery-heading{justify-content:space-between}.gallery-actions{gap:var(--space-step-09)}.gallery-actions .language-switcher{justify-content:space-between}.billing-summary{justify-content:space-between;width:100%}.billing-limit-notice{flex-direction:column;align-items:flex-start}.cloud-project-unavailable{flex-direction:column;align-items:stretch}.cloud-project-unavailable button{width:100%}.project-grid{grid-template-columns:minmax(0,1fr)}.gallery-empty{padding:var(--space-step-20) var(--space-step-13)}.topbar{padding:var(--space-step-04) var(--space-step-07);overscroll-behavior-x:contain;flex-wrap:nowrap;flex:none;gap:0;min-height:55px;overflow:auto hidden}.topbar .brand,.topbar>*{flex:none}.topbar button,.topbar input,.topbar select{min-height:44px}.topbar-zone{gap:var(--space-step-05)}.topbar-zone+.topbar-zone,.topbar-spacer+.topbar-zone{margin-left:var(--space-step-07);padding-left:var(--space-step-07)}.topbar-spacer{display:none}.name-input{width:120px;min-width:104px}.view-toggle{flex:none}.side-panel-toggle{align-items:center;display:inline-flex}.panel-collapse-toggle{display:none}.model-stats{flex:auto}.editor-statusbar{gap:var(--space-step-05);padding:0 var(--space-step-07);font-size:var(--text-step-05);min-height:24px}.editor-canvas-status,.editor-document-status{gap:var(--space-step-05)}.editor-statusbar .meta{font-size:var(--text-step-05)}.editor-canvas-status [data-cursor-x],.editor-canvas-status [data-cursor-y],.editor-canvas-status [data-live-measure],.editor-canvas-status .sep{display:none}.editor-document-status .project-storage{max-width:64px}.editor-document-status .model-stats{max-width:76px}.editor-document-status .save-status{max-width:min(170px,45vw)}.editor-body{position:relative}.tool-rail{width:64px;padding:var(--space-step-07) var(--space-step-04);gap:var(--space-step-05);flex-direction:column;flex:0 0 64px;display:flex;position:relative}.editor-body[data-tool-rail-density=compact] .tool-rail{width:64px;padding:var(--space-step-07) var(--space-step-04);gap:var(--space-step-05);flex:0 0 64px}.tool-rail button,.editor-body[data-tool-rail-density=compact] .tool-rail button{min-height:58px;padding:var(--space-step-04) var(--space-step-02);font-size:var(--text-step-01)}.editor-body[data-tool-rail-density=compact] .tool-rail-label{clip:auto;white-space:normal;width:auto;height:auto;margin:0;position:static;overflow:visible}.tool-rail-scroll-cue{top:var(--space-step-01);z-index:1;width:24px;height:24px;color:var(--accent);background:var(--surface-overlay);box-shadow:0 2px 6px var(--shadow-overlay);font-size:var(--text-step-14);font-weight:700;line-height:var(--leading-step-01);pointer-events:none;border-radius:10px;flex:0 0 24px;justify-content:center;align-self:flex-end;align-items:center;display:flex;position:sticky}.topbar-scroll-cue{right:var(--space-step-01);z-index:1;width:24px;height:24px;color:var(--accent);background:var(--surface-overlay);box-shadow:0 2px 6px var(--shadow-overlay);font-size:var(--text-step-14);font-weight:700;line-height:var(--leading-step-01);pointer-events:none;border-radius:10px;flex:0 0 24px;justify-content:center;align-self:center;align-items:center;display:flex;position:sticky}.tool-rail-label{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;word-break:normal;white-space:normal;width:100%;max-width:52px;font-size:var(--text-step-01);line-height:var(--leading-step-03);display:block;overflow:visible}.tool-icon{width:19px;height:19px}.tool-rail-divider{height:1px;margin:var(--space-step-03) var(--space-step-05);grid-column:auto}.tool-rail-note{margin:var(--space-step-01) var(--space-step-05);grid-column:auto}.tool-rail-help{grid-column:auto;margin-top:auto}.tool-hint-toast{left:76px}.feng-shui-why-card{right:var(--space-step-07);bottom:var(--space-step-07);width:auto;max-height:min(42dvh,290px);left:76px;overflow:auto}.workspace-panes{flex-direction:column}.workspace-panes .pane{flex:1 1 0;min-height:0}.workspace-panes .pane+.pane{border-left:0;border-top:1px solid var(--line)}.onboarding-coach{overscroll-behavior:contain;row-gap:var(--space-step-05);grid-template-columns:minmax(0,1fr);grid-template-areas:"steps""title""body""actions";max-height:min(52dvh,340px);overflow:auto}.onboarding-coach-actions{flex-direction:row;justify-content:stretch}.onboarding-coach-actions button{flex:1 1 0}.side-panel-backdrop{z-index:20;background:var(--scrim-side-panel);opacity:0;visibility:hidden;pointer-events:none;border:0;border-radius:0;padding:0;transition:opacity .18s,visibility .18s;display:block;position:fixed;inset:0}.side-panel-backdrop:hover{background:var(--scrim-side-panel);border:0}.side-panel-backdrop.open{opacity:1;visibility:visible;pointer-events:auto}.side-panel{z-index:21;width:min(320px,100vw - 48px);max-width:calc(100vw - 48px);padding:var(--space-step-12);visibility:hidden;box-shadow:-12px 0 24px var(--shadow-side-panel);overscroll-behavior:contain;transition:transform .2s ease-out,visibility .2s;position:fixed;inset:0 0 0 auto;transform:translate(100%)}.side-panel--feng-shui{padding-top:0}:is(.side-panel--feng-shui .side-panel-mobile-header,.side-panel:has(.selection-inspector-header) .side-panel-mobile-header){padding-top:var(--space-step-12)}:is(.side-panel--feng-shui .side-tabs,.side-panel:has(.selection-inspector-header) .side-tabs){padding-top:0}.side-panel.open{visibility:visible;transform:translate(0)}.side-panel.guided-collapsed{transition:none}.side-panel.collapsed{display:flex}.side-panel-mobile-header{justify-content:flex-end;display:flex}.side-panel-mobile-header button{min-width:44px;min-height:44px;padding:var(--space-step-04) var(--space-step-09);font-size:var(--text-step-17);line-height:var(--leading-step-01)}.ai-dock{gap:var(--space-step-07);padding:var(--space-step-07);flex-wrap:wrap}.ai-dock input[type=text],.ai-dock input:not([type=file]){flex:100%;min-width:0}.ghost-summary,.ai-error,.ai-notice{flex:100%}.ai-routes{grid-template-columns:minmax(0,1fr)}.ai-sheet{top:var(--space-step-13);right:var(--space-step-13);max-height:calc(100dvh - 2 * var(--space-step-13))}.ai-dock-attach{text-align:center;flex:auto}.ai-quality-toggle{flex:auto}.ai-quality-btn{flex:1 1 0;min-width:0}.studio-shell:has(.ai-dock--proposal-preview) .editor-body{flex:1 0 50dvh;min-height:50dvh}.ai-dock--proposal-preview{overscroll-behavior:contain;flex:0 auto;min-height:0;overflow-y:auto}.ai-dock--proposal-preview>.ai-dock-header{display:none}.ai-dock--proposal-preview .ai-ghost-summary-row{align-items:flex-start;gap:var(--space-step-07);flex:100%;min-width:0;display:flex}.ai-dock--proposal-preview .ghost-summary{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:auto;min-width:0;display:-webkit-box;overflow:hidden}.ai-dock--proposal-preview .ghost-summary[data-expanded=true]{display:block}.ai-dock--proposal-preview .ai-ghost-summary-toggle{border:1px solid var(--line);background:var(--panel-2);min-width:44px;min-height:44px;color:var(--accent);cursor:pointer;border-radius:6px;flex:none;justify-content:center;align-items:center;display:inline-flex}.ai-dock--proposal-preview .ai-dock-proposal-action{min-width:0;min-height:44px;padding-inline:var(--space-step-05);white-space:nowrap;flex:1 1 0}.proposal-link-notice[data-previewing=true]{min-width:0;padding-block:var(--space-step-05);flex-wrap:nowrap}.proposal-link-notice[data-previewing=true]>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.proposal-link-notice[data-previewing=true]>button{display:none}.share-url-row{flex-direction:column}.share-url-row input{width:100%;min-width:0}.share-url-row button{width:100%}.share-actions,.conflict-actions{flex-direction:column}.share-actions button,.conflict-actions button{width:100%}.shared-topbar{gap:var(--space-step-07);padding:var(--space-step-07);flex-wrap:wrap}.shared-topbar .spacer{display:none}.shared-title{overflow-wrap:anywhere;flex:120px}.shared-badge{margin-left:auto}.shared-body{flex-direction:column}.shared-body .pane{flex:1 1 0;min-height:0}.shared-body .pane+.pane{border-left:0;border-top:1px solid var(--line)}.view-cube{display:none}}@media (pointer:coarse){button,input,select,.landing-cta,.shared-badge,.ai-dock-attach,.ai-quality-btn,.viewer3d-toolbar-btn,.view-cube-btn,.wall-just-btn{min-height:44px}.view-cube-btn{min-width:44px}.tool-rail [data-editor-tool]{min-width:44px;min-height:44px}.viewer3d-panel-close,.saved-view-icon-btn{min-width:44px}.level-activate{flex-basis:44px;width:44px;min-width:44px;min-height:44px}.level-delete{min-width:44px;min-height:44px}.furniture-palette{max-height:calc(100cqh - 44px)}.furniture-palette-item{min-height:52px}}@container (max-width:560px){.furniture-palette{width:min(212px,100cqw - 20px);top:var(--space-step-09);left:var(--space-step-09)}.furniture-palette-item{gap:var(--space-step-06);grid-template-columns:36px minmax(0,1fr)}.furniture-palette-thumb,.furniture-palette-glyph{width:36px;height:36px}}@media (prefers-reduced-motion:reduce){.app-toast,.confirm-dialog[open]{animation:none!important}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.viewer3d-spinner{display:none}.feng-shui-scan-mark{opacity:.9;animation:none!important}}.billing-upgrade-btn,.billing-manage-btn,.billing-pending-badge,.billing-confirmation-warning{align-items:center;gap:var(--space-step-05);font-size:var(--text-step-07);white-space:nowrap;font-weight:600;display:inline-flex}.billing-grant-card{gap:var(--space-step-03);max-width:340px;padding:var(--space-step-09) var(--space-step-11);border:1px solid var(--accent);background:var(--accent-soft);color:var(--text);font-size:var(--text-step-07);border-radius:8px;display:inline-grid}.billing-pending-badge{padding:var(--space-step-04) var(--space-step-09);border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent);border-radius:6px;animation:1.6s ease-in-out infinite billing-pulse}.billing-confirmation-warning{max-width:360px;padding:var(--space-step-04) var(--space-step-09);border:1px solid var(--danger);background:var(--danger-wash);color:var(--danger);white-space:normal;border-radius:6px}@keyframes billing-pulse{0%,to{opacity:1}50%{opacity:.6}}.billing-dialog{border:1px solid var(--line);background:var(--panel);color:var(--text);width:100%;max-width:min(760px,100vw - 32px);box-shadow:0 24px 60px var(--shadow-dialog-soft);border-radius:12px;margin:auto;padding:0}.billing-dialog::backdrop{background:var(--shadow-scrim)}.billing-surface{padding:var(--space-step-16)}.billing-surface-header{margin-bottom:var(--space-step-14);justify-content:space-between;align-items:center;display:flex}.billing-surface-header h2{font-size:var(--text-step-14);font-weight:600}.billing-close{border:1px solid var(--line);width:28px;height:28px;color:var(--dim);border-radius:6px;place-items:center;padding:0;display:grid}.billing-close:hover{border-color:var(--accent);color:var(--accent)}.billing-interval-toggle{border:1px solid var(--line);margin-bottom:var(--space-step-14);border-radius:8px;gap:0;display:inline-flex;overflow:hidden}.billing-interval-toggle button{border:none;border-right:1px solid var(--line);background:var(--panel-2);color:var(--dim);border-radius:0}.billing-interval-toggle button:last-child{border-right:none}.billing-interval-toggle button.active{background:var(--accent-soft);color:var(--accent)}:root[data-theme=light] .billing-interval-toggle button.active{color:var(--accent-hover)}@media (prefers-color-scheme:light){:root:not([data-theme]) .billing-interval-toggle button.active{color:var(--accent-hover)}}.billing-error{padding:var(--space-step-09) var(--space-step-11);border:1px solid var(--danger);background:var(--danger-wash);color:var(--danger);font-size:var(--text-step-08);margin-bottom:var(--space-step-13);border-radius:6px}.billing-tier-grid{gap:var(--space-step-11);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.billing-tier-card{border:1px solid var(--line);padding:var(--space-step-12);background:var(--panel-2);gap:var(--space-step-09);border-radius:10px;flex-direction:column;display:flex}.billing-tier-card.current{border-color:var(--accent);background:var(--accent-soft)}.billing-tier-header{justify-content:space-between;align-items:center;gap:var(--space-step-07);display:flex}.billing-tier-name{font-size:var(--text-step-10);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.billing-current-badge{font-size:var(--text-step-02);text-transform:uppercase;letter-spacing:.4px;color:var(--accent);font-weight:600}.billing-tier-desc{font-size:var(--text-step-06);color:var(--dim);line-height:var(--leading-step-06);flex:1}.billing-price{align-items:baseline;gap:var(--space-step-05);flex-wrap:wrap;display:flex}.billing-price-amount{font-size:var(--text-step-18);font-variant-numeric:tabular-nums;color:var(--text);font-weight:700}.billing-price-period{font-size:var(--text-step-06);color:var(--dim)}.billing-price-save{font-size:var(--text-step-04);color:var(--ok);padding:var(--space-step-01) var(--space-step-05);border:1px solid var(--ok);border-radius:4px;font-weight:600}.billing-tier-card button{width:100%;margin-top:auto}.billing-edu-note{margin-top:var(--space-step-12);font-size:var(--text-step-07);color:var(--dim);text-align:center}@media (max-width:639px){.billing-tier-grid{grid-template-columns:1fr 1fr}.billing-surface{padding:var(--space-step-13)}}.home{flex-direction:column;min-height:100dvh;display:flex}.home main{flex:1}.home-nav{align-items:center;gap:var(--space-step-11);padding:var(--space-step-12) clamp(var(--space-step-15), 5vw, var(--space-step-23));display:flex}.home-nav-switchers{align-items:center;gap:var(--space-step-11);display:flex}.home-brand{font-size:var(--text-step-16)}.home-nav .spacer,.home-footer .spacer{flex:1}.home-nav-link{min-height:44px;padding:0 var(--space-step-12);border:1px solid var(--line);color:var(--text);font-size:var(--text-step-09);border-radius:6px;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:inline-flex}.home-nav-link:hover{border-color:var(--accent);background:var(--accent-soft)}.home-section{width:min(1128px,100%);padding:clamp(36px, 6vw, var(--space-step-26)) clamp(var(--space-step-15), 5vw, var(--space-step-23));margin:0 auto}.home-hero{padding-top:clamp(var(--space-step-19), 5vw, var(--space-step-24))}.home-hero h1{font-size:clamp(var(--text-step-22), 6vw, var(--text-step-24));line-height:var(--leading-step-01);margin-bottom:var(--space-step-15)}.home-hero .landing-copy p{color:var(--dim);margin-bottom:var(--space-step-18);font-size:var(--text-step-13);line-height:var(--leading-step-09)}.home-cta-row{align-items:center;gap:var(--space-step-11);flex-wrap:wrap;display:flex}.landing-cta-secondary{min-height:44px;padding:var(--space-step-09) var(--space-step-14);border:1px solid var(--line);color:var(--text);font-size:var(--text-step-09);border-radius:6px;justify-content:center;align-items:center;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex}.landing-cta-secondary:hover{border-color:var(--accent);background:var(--accent-soft)}.home-section h2{font-size:clamp(var(--text-step-18), 3.2vw, var(--text-step-21));margin-bottom:var(--space-step-09)}.home-lede{color:var(--dim);font-size:var(--text-step-12);line-height:var(--leading-step-09);max-width:680px;margin-bottom:var(--space-step-17)}.home-grid{gap:var(--space-step-12);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.home-card{border:1px solid var(--line);background:var(--panel);padding:var(--space-step-15);border-radius:10px}.home-card h3{margin-bottom:var(--space-step-07);font-size:15.5px}.home-card p{color:var(--dim);font-size:var(--text-step-10);line-height:var(--leading-step-09);margin:0}.export-chips{gap:var(--space-step-07);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.export-chip{min-height:32px;padding:var(--space-step-03) var(--space-step-12);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:var(--text-step-08);white-space:nowrap;border-radius:999px;align-items:center;display:inline-flex}.home-final{text-align:center}.home-final .home-lede{margin-left:auto;margin-right:auto}.home-final .home-cta-row{justify-content:center}.home-footer{align-items:center;gap:var(--space-step-09) var(--space-step-14);padding:var(--space-step-13) clamp(var(--space-step-15), 5vw, var(--space-step-23));border-top:1px solid var(--line);color:var(--dim);font-size:var(--text-step-07);flex-wrap:wrap;display:flex}.home-footer a{color:var(--dim);align-items:center;min-height:44px;transition:color .15s;display:inline-flex}.home-footer a:hover{color:var(--accent)}.home-landing{--home-display:var(--font-bai-jamjuree), "Arial Narrow", sans-serif;--home-body:var(--font-plex-thai), system-ui, -apple-system, sans-serif;--home-mono:ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--home-gutter:clamp(1.25rem, 5vw, 5rem);--home-measure:60ch;background:var(--home-ground);color:var(--home-ink);font-family:var(--home-body);font-size:var(--text-step-15);line-height:var(--leading-step-08);-webkit-font-smoothing:antialiased;display:block}.home-landing :focus-visible{outline:2px solid var(--home-trace);outline-offset:3px}.home-landing h1,.home-landing h2{font-family:var(--home-display);letter-spacing:.005em;text-wrap:balance;margin:0;font-weight:500}.home-landing h3{margin:0}.home-landing p{max-width:var(--home-measure)}.home-landing-sheet{border:1px solid var(--home-rule);min-height:calc(100dvh - clamp(1rem,3vw,2.5rem));margin:clamp(.5rem,1.5vw,1.25rem);position:relative}.home-landing-sheet:before,.home-landing-sheet:after{z-index:2;border:1px solid var(--home-rule);content:"";pointer-events:none;width:14px;height:14px;position:absolute}.home-landing-sheet:before{border-bottom:0;border-right:0;top:-1px;left:-1px}.home-landing-sheet:after{border-top:0;border-left:0;bottom:-1px;right:-1px}.home-landing-nav{padding:1.15rem var(--home-gutter);border-bottom:1px solid var(--home-rule);align-items:center;gap:1.25rem;display:flex}.home-landing-wordmark{font-family:var(--home-display);letter-spacing:.09em;font-size:1.2rem;line-height:var(--leading-step-01);text-transform:uppercase;--brand-mark-accent:var(--home-trace);white-space:nowrap}.home-landing-wordmark b{font-weight:500}.home-landing-wordmark span{color:var(--home-trace);font-weight:500}.home-landing-spacer{flex:1}.home-landing-nav-link{min-height:44px;color:var(--home-graphite);font-family:var(--home-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;align-items:center;font-size:.76rem;display:inline-flex}.home-landing-nav-link:hover{color:var(--home-ink)}.home-landing-nav-signin{border:1px solid var(--home-rule);color:var(--home-ink);border-radius:999px;padding-inline:.85rem}.home-landing-nav-signin:hover{border-color:var(--home-trace);background:var(--home-trace-wash)}.home-account-deletion{border:1px solid color-mix(in srgb, var(--ok) 55%, transparent);color:var(--home-ink);background:var(--home-account-ok-surface);font-size:.9rem;line-height:var(--leading-step-05);border-radius:10px;margin:.75rem clamp(1rem,4vw,4rem) 0;padding:.8rem 1rem}.home-account-deletion.warning{border-color:color-mix(in srgb, var(--accent) 65%, transparent);background:var(--home-account-warning-surface)}.home-auth-error-retry{color:inherit;text-underline-offset:.15em;white-space:nowrap;margin-block:-.6rem;padding-block:.6rem;font-weight:600;text-decoration:underline}.home-landing .language-switcher select,.home-landing .theme-switcher select{border-color:var(--home-rule);min-height:44px;color:var(--home-ink);font-family:var(--home-mono);background:0 0;border-radius:0}.home-landing .language-switcher select:hover,.home-landing .language-switcher select:focus,.home-landing .theme-switcher select:hover,.home-landing .theme-switcher select:focus{border-color:var(--home-trace);background:var(--home-trace-wash)}.home-landing-hero{padding:clamp(2.25rem, 6vw, 5rem) var(--home-gutter) clamp(1.5rem, 3vw, 2.5rem);grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);align-items:center;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.home-landing-eyebrow{color:var(--home-graphite);font-family:var(--home-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1.1rem;font-size:.72rem;display:block}.home-landing-hero h1{letter-spacing:-.005em;text-wrap:pretty;max-width:21ch;font-size:clamp(2rem,4.6vw,3.15rem);line-height:1.06}.home-landing-hero h1 em{color:var(--home-trace);font-style:normal}.home-landing-hero-sub{max-width:34ch;color:var(--home-graphite);margin-top:1.15rem;font-size:1.06rem}.home-landing-cta-row{flex-wrap:wrap;gap:.7rem;margin-top:1.9rem;display:flex}.home-landing-cta{border:1px solid var(--home-trace);background:var(--home-trace);min-height:44px;color:var(--home-ground);font-family:var(--home-mono);letter-spacing:.07em;text-transform:uppercase;justify-content:center;align-items:center;padding:.85rem 1.5rem;font-size:.82rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.home-landing-cta:hover{color:var(--home-trace);background:0 0}.home-landing-cta-ghost{border-color:var(--home-rule);color:var(--home-ink);background:0 0}.home-landing-cta-ghost:hover{border-color:var(--home-trace);color:var(--home-trace);background:0 0}.home-landing-plate{aspect-ratio:4/3;border:1px solid var(--home-rule);background:var(--home-ground-well);margin:0;position:relative;overflow:hidden}.home-landing-plate canvas{width:100%;height:100%;display:block}.home-landing-replay{border:1px solid var(--home-rule);min-height:44px;color:var(--home-graphite);font-family:var(--home-mono);letter-spacing:.09em;text-transform:uppercase;background:0 0;border-radius:0;padding:.5rem .7rem;font-size:.66rem;position:absolute;top:.55rem;right:.55rem}.home-landing-replay:hover{border-color:var(--home-trace);color:var(--home-trace);background:0 0}.home-landing-plate-caption{border-top:1px solid var(--home-rule);width:100%;font-family:var(--home-mono);letter-spacing:.1em;text-transform:uppercase;font-size:.68rem;display:flex;position:absolute;bottom:0;left:0}.home-landing-plate-caption span{border-right:1px solid var(--home-rule);color:var(--home-graphite);padding:.5rem .85rem;transition:color .2s}.home-landing-plate-caption span[data-active=true]{color:var(--home-trace)}.home-landing-title-block{margin:0 var(--home-gutter);border-top:1px solid var(--home-rule);border-bottom:1px solid var(--home-rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));display:grid}.home-landing-title-block div{border-right:1px solid var(--home-rule);padding:1rem 1.15rem}.home-landing-title-block div:last-child{border-right:0}.home-landing-title-block dt{color:var(--home-graphite);font-family:var(--home-mono);letter-spacing:.13em;text-transform:uppercase;margin:0 0 .3rem;font-size:.66rem}.home-landing-title-block dd{font-family:var(--home-display);margin:0;font-size:1.02rem;font-weight:500}.home-landing-band{padding:clamp(3rem, 7vw, 5.5rem) var(--home-gutter)}.home-landing-band+.home-landing-band{border-top:1px solid var(--home-rule)}.home-landing-band h2{font-size:clamp(1.5rem,3.2vw,2.15rem);line-height:1.15}.home-landing-lede{color:var(--home-graphite);margin-top:.85rem;font-size:1.04rem}.home-landing-cards{border:1px solid var(--home-rule);background:var(--home-rule);grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1px;margin-top:2.5rem;display:grid}.home-landing-card{background:var(--home-ground);padding:1.6rem 1.5rem 1.9rem}.home-landing-card h3{margin-bottom:.6rem;font-size:1.12rem;font-weight:600}.home-landing-card p{color:var(--home-graphite);font-size:.97rem}.home-landing-card-mark{background:var(--home-trace);width:1.75rem;height:1px;margin-bottom:1.2rem;display:block}.home-landing-well{background:var(--home-ground-well)}.home-landing-chain{font-family:var(--home-display);flex-wrap:wrap;align-items:center;gap:.85rem;margin-top:2rem;font-size:clamp(1.05rem,2.4vw,1.5rem);font-weight:500;display:flex}.home-landing-chain i{border:1px solid var(--home-rule);padding:.45rem .9rem;font-style:normal}.home-landing-chain i:first-child{border-color:var(--home-trace);color:var(--home-trace)}.home-landing-chain u{color:var(--home-graphite);font-family:var(--home-mono);font-size:.8rem;text-decoration:none}.home-landing-formats{flex-wrap:wrap;gap:.5rem;margin-top:2.2rem;padding:0;display:flex}.home-landing-formats li{border:1px solid var(--home-rule);color:var(--home-graphite);font-family:var(--home-mono);letter-spacing:.05em;padding:.5rem .8rem;font-size:.78rem;list-style:none}.home-landing-formats li[data-native=true]{border-color:var(--home-trace);color:var(--home-trace)}.home-landing-closing .home-landing-cta-row{margin-top:2rem}.home-landing-foot{padding:1.4rem var(--home-gutter);border-top:1px solid var(--home-rule);color:var(--home-graphite);font-family:var(--home-mono);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;gap:1.2rem;font-size:.72rem;display:flex}.home-landing-foot a{align-items:center;min-height:44px;display:inline-flex}.home-landing-foot a:hover{color:var(--home-trace)}.help-page{background:var(--bg);min-height:100vh;color:var(--text)}.help-header{z-index:20;min-height:64px;padding:var(--space-step-09) clamp(var(--space-step-14), 4vw, var(--space-step-24));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;gap:1rem;display:flex;position:sticky;top:0}.help-header nav{align-items:center;gap:var(--space-step-09);display:flex}.help-header nav>a{color:var(--dim);font-size:var(--text-step-09);text-decoration:none}.help-header nav>a:hover{color:var(--text)}.help-header nav>a.primary{padding:var(--space-step-08) 13px;border:1px solid var(--accent);color:var(--text);background:var(--accent-soft);border-radius:7px}.help-main{width:min(1120px,100% - 32px);padding:var(--space-step-24) 0 80px;margin:0 auto}.help-hero{padding:clamp(30px, 6vw, var(--space-step-27));border:1px solid var(--line);background:linear-gradient(120deg, color-mix(in srgb, var(--accent) 14%, transparent), transparent 52%), var(--panel);border-radius:18px;position:relative;overflow:hidden}.help-hero:after{content:"";border:1px solid color-mix(in srgb, var(--accent) 38%, transparent);width:390px;height:390px;box-shadow:0 0 0 54px color-mix(in srgb, var(--accent) 5%, transparent);pointer-events:none;border-radius:50%;position:absolute;bottom:-150px;right:-110px}.help-kicker{color:var(--accent-link);font-size:var(--text-step-05);letter-spacing:.12em;text-transform:uppercase}.help-hero h1{max-width:760px;margin:var(--space-step-11) 0 var(--space-step-13);font-size:clamp(34px,5vw,64px);line-height:1.02;position:relative}.help-hero>p:not(.help-kicker){max-width:760px;color:var(--text-muted-strong);font-size:var(--text-step-14);line-height:1.75;position:relative}.help-cta{margin-top:var(--space-step-17);padding:var(--space-step-11) var(--space-step-14);color:var(--text-on-accent-warm);background:var(--accent);border-radius:8px;font-weight:700;text-decoration:none;display:inline-flex;position:relative}.help-section{padding:54px 0 0}.help-section>h2{margin-bottom:var(--space-step-15);font-size:clamp(var(--text-step-19), 3vw, 36px)}.help-section>p{max-width:780px;color:var(--dim);line-height:var(--leading-step-09)}.help-steps{counter-reset:help-step;gap:var(--space-step-11);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.help-steps li{counter-increment:help-step;gap:var(--space-step-11);padding:var(--space-step-14);border:1px solid var(--line);background:var(--panel);color:var(--dim);line-height:var(--leading-step-08);border-radius:10px;grid-template-columns:34px 1fr;align-items:start;display:grid}.help-steps li:before{content:counter(help-step);border:1px solid color-mix(in srgb, var(--accent) 55%, var(--line));width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.help-grid,.help-controls-grid{gap:var(--space-step-11);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.help-grid article,.help-controls-grid article,.help-keyboard{padding:var(--space-step-16);border:1px solid var(--line);background:var(--panel);border-radius:12px}.help-grid h3,.help-controls-grid h3,.help-keyboard h3{margin:0 0 var(--space-step-09);font-size:var(--text-step-14)}.help-grid p,.help-controls-grid p,.help-keyboard p,.help-controls-grid li{color:var(--dim);font-size:var(--text-step-09);line-height:1.65}.help-controls-grid{margin-top:var(--space-step-15);grid-template-columns:repeat(2,minmax(0,1fr))}.help-controls-grid ul{padding-left:var(--space-step-14)}.help-controls-grid li+li{margin-top:var(--space-step-07)}.help-keyboard{margin-top:var(--space-step-11)}.help-keyboard dl{gap:0 var(--space-step-17);margin:0 0 var(--space-step-17);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.help-keyboard dl>div{gap:var(--space-step-11);padding:var(--space-step-08) 0;border-bottom:1px solid var(--line);grid-template-columns:minmax(120px,.7fr) 1.3fr;align-items:center;display:grid}.help-keyboard dt{gap:var(--space-step-04);flex-wrap:wrap;display:flex}.help-keyboard dd{color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-05);margin:0}.help-keyboard kbd{padding:var(--space-step-02) var(--space-step-05);border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);font:var(--text-step-05)/1.2 ui-monospace, monospace;border-bottom-width:2px;border-radius:5px}.help-footer{gap:var(--space-step-14);padding:var(--space-step-16) clamp(var(--space-step-14), 4vw, var(--space-step-24));border-top:1px solid var(--line);color:var(--dim);font-size:var(--text-step-07);align-items:center;display:flex}.help-footer span{margin-right:auto}.help-footer a{color:var(--dim);text-decoration:none}.help-footer a:hover{color:var(--text)}.dev-main{width:min(980px,100% - 32px)}.dev-main .help-hero h1{font-size:clamp(32px,4.6vw,56px)}.dev-main .help-hero code,.dev-main .help-section code{padding:1px var(--space-step-04);background:var(--panel-2);color:var(--text);font:var(--text-step-07)/var(--leading-step-06) ui-monospace, monospace;border-radius:4px}.dev-note{margin:var(--space-step-15) 0 0;padding:var(--space-step-12) var(--space-step-13);border:1px solid var(--accent-divider);border-left:3px solid var(--accent);background:var(--accent-wash);color:var(--text-reading);font-size:var(--text-step-09);line-height:var(--leading-step-09);border-radius:8px;position:relative}.dev-note a{color:var(--accent-link)}.dev-subhead{margin:var(--space-step-18) 0 var(--space-step-09);font-size:var(--text-step-14)}.dev-list{margin:var(--space-step-11) 0 0;padding-left:var(--space-step-15)}.dev-list li{color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-09)}.dev-list li+li{margin-top:var(--space-step-05)}.dev-endpoint{margin-top:var(--space-step-12);padding:var(--space-step-13) var(--space-step-14);border:1px solid var(--line);background:var(--panel);border-radius:10px}.dev-endpoint h3{align-items:center;gap:var(--space-step-09);font-size:var(--text-step-13);flex-wrap:wrap;margin:0;display:flex}.dev-endpoint h3 code{overflow-wrap:anywhere}.dev-method{padding:var(--space-step-01) var(--space-step-07);font:600 var(--text-step-05)/var(--leading-step-08) ui-monospace, monospace;letter-spacing:.06em;border-radius:5px}.dev-method-get{border:1px solid var(--accent-divider);background:var(--accent-wash);color:var(--accent)}.dev-method-post{border:1px solid var(--ok);color:var(--ok);background:0 0}.dev-scope{padding:var(--space-step-01) var(--space-step-08);border:1px solid var(--line-strong);background:var(--panel-2);color:var(--dim);font:var(--text-step-05)/var(--leading-step-09) ui-monospace, monospace;border-radius:999px;margin-left:auto}.dev-description{margin:var(--space-step-09) 0 0;color:var(--text-reading);font-size:var(--text-step-09);line-height:var(--leading-step-09)}.dev-pre{margin:var(--space-step-11) 0 0;padding:var(--space-step-11) var(--space-step-12);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font:var(--text-step-07)/1.65 ui-monospace, monospace;white-space:pre;border-radius:8px;overflow-x:auto}@media (max-width:760px){.dev-endpoint h3{align-items:flex-start}.dev-scope{margin-left:0}}.legal-page{background:var(--bg);min-height:100vh;color:var(--text)}.legal-header,.legal-footer{align-items:center;gap:var(--space-step-13);padding:var(--space-step-13) clamp(var(--space-step-14), 4vw, var(--space-step-24));border-bottom:1px solid var(--line);display:flex}.legal-header{justify-content:space-between}.legal-header nav{justify-content:flex-end;align-items:center;gap:var(--space-step-11);flex-wrap:wrap;display:flex}.legal-header a,.legal-footer a{color:var(--dim);font-size:var(--text-step-07);text-decoration:none}.legal-header a:hover,.legal-footer a:hover{color:var(--text)}.legal-main{width:min(900px,100% - 30px);padding:46px 0 var(--space-step-27);margin:0 auto}.legal-document{padding:clamp(var(--space-step-17), 5vw, 58px);border:1px solid var(--line);background:var(--panel);box-shadow:0 24px 70px var(--shadow-soft);border-radius:14px}.legal-language-note{padding-bottom:var(--space-step-13);border-bottom:1px solid var(--line);color:var(--accent)!important;font-size:var(--text-step-07)!important}.legal-document h1{margin:0 0 var(--space-step-09);font-size:clamp(var(--text-step-21), 5vw, var(--text-step-23))}.legal-document h2{margin:var(--space-step-22) 0 var(--space-step-11);padding-top:var(--space-step-14);border-top:1px solid var(--line);font-size:23px}.legal-document h3{margin:var(--space-step-19) 0 var(--space-step-09);font-size:var(--text-step-15)}.legal-document h4{margin:var(--space-step-16) 0 var(--space-step-07);font-size:var(--text-step-13)}.legal-document p,.legal-document li{color:var(--text-reading);font-size:var(--text-step-11);line-height:1.78}.legal-document ul,.legal-document ol{padding-left:var(--space-step-17)}.legal-document li+li{margin-top:var(--space-step-04)}.legal-document a{color:var(--accent-link);overflow-wrap:anywhere}.legal-document code{padding:var(--space-step-01) var(--space-step-04);background:var(--panel-2);color:var(--text);border-radius:4px}.legal-unpublished{padding:clamp(var(--space-step-19), 6vw, var(--space-step-26));border:1px solid var(--accent);background:linear-gradient(120deg, var(--accent-soft), var(--panel));border-radius:14px}.legal-unpublished h1{margin:var(--space-step-09) 0;font-size:clamp(var(--text-step-20), 5vw, var(--text-step-23))}.legal-unpublished p:not(.help-kicker){max-width:700px;color:var(--text-muted-strong);line-height:var(--leading-step-09)}.legal-unpublished a{margin-top:var(--space-step-13);color:var(--accent-link);display:inline-flex}.legal-footer{border-top:1px solid var(--line);border-bottom:0;justify-content:center}@media (max-width:760px){.help-header{align-items:flex-start}.help-header nav{flex-wrap:wrap;justify-content:flex-end}.help-main{width:min(100% - 22px,1120px);padding-top:var(--space-step-15)}.help-hero{padding:var(--space-step-19) var(--space-step-16)}.help-steps,.help-grid,.help-controls-grid,.help-keyboard dl,.help-keyboard dl>div{grid-template-columns:1fr}.help-footer{flex-wrap:wrap;align-items:flex-start}.help-footer span{flex-basis:100%}}@media (max-width:860px){.home-landing-hero{grid-template-columns:1fr}.home-landing-plate{order:-1}}@media (max-width:639px){.home-nav{flex-wrap:wrap;justify-content:flex-end;row-gap:.5rem;padding-inline:1rem}.home-nav-switchers{justify-content:flex-end;gap:var(--space-step-11);flex:0 0 100%;display:flex}.home-nav .language-switcher.compact select{max-width:86px}.home-nav .theme-switcher.compact select{max-width:82px}.home-landing-nav{flex-wrap:wrap;justify-content:flex-end;gap:.5rem .75rem;padding-inline:1rem}.home-landing-nav-signin{padding-inline:.65rem}.home-landing-nav-formats{display:none}.home-landing-wordmark{font-size:1rem}.home-landing .language-switcher.compact select{max-width:86px}.home-landing .theme-switcher.compact select{max-width:82px}.home-landing-hero{padding-top:2rem}}@media (prefers-reduced-motion:reduce){.home-landing *,.home-landing :before,.home-landing :after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.pricing-page{width:min(1128px,100%);padding:0 clamp(var(--space-step-15), 5vw, var(--space-step-23)) clamp(44px, 7vw, var(--space-step-27));margin:0 auto}.pricing-header{margin:clamp(var(--space-step-17), 4vw, 44px) 0 var(--space-step-15)}.pricing-header h1{font-size:clamp(var(--text-step-21), 4.5vw, 44px);margin-bottom:var(--space-step-07)}.pricing-sub{color:var(--dim);font-size:var(--text-step-12);line-height:var(--leading-step-08)}.pricing-error{margin-top:var(--space-step-12)}.pricing-error a{color:var(--accent);text-decoration:underline}.pricing-grid{gap:var(--space-step-12);margin:var(--space-step-14) 0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.pricing-policy{gap:var(--space-step-12);margin:var(--space-step-16) 0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.pricing-policy>div{border-left:3px solid var(--accent);background:var(--panel-2);padding:var(--space-step-12) var(--space-step-13);border-radius:6px}.pricing-policy h2{font-size:var(--text-step-11);margin:0 0 var(--space-step-06)}.pricing-policy p{color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-08);margin:0}.pricing-card{gap:var(--space-step-11);border:1px solid var(--line);background:var(--panel);padding:var(--space-step-16);border-radius:12px;flex-direction:column;display:flex;position:relative}.pricing-card.popular{border-color:var(--accent)}.pricing-popular-badge{top:0;right:var(--space-step-14);padding:var(--space-step-02) var(--space-step-09);border:1px solid var(--accent);background:var(--bg);color:var(--accent);font-size:var(--text-step-04);letter-spacing:.5px;text-transform:uppercase;border-radius:999px;font-weight:600;position:absolute;transform:translateY(-50%)}.pricing-tier-name{font-size:var(--text-step-11);letter-spacing:.6px;text-transform:uppercase;font-weight:600}.pricing-card .billing-price-amount{font-size:var(--text-step-21)}.pricing-features{gap:var(--space-step-07);color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-08);flex-direction:column;flex:1;margin:0;padding:0;list-style:none;display:flex}.pricing-features li{gap:var(--space-step-07);display:flex}.pricing-features li:before{content:"✓";color:var(--ok);flex:none}.pricing-cta{width:100%;min-height:44px;padding:var(--space-step-05) var(--space-step-11);text-align:center;line-height:var(--leading-step-03);justify-content:center;align-items:center;margin-top:auto;display:inline-flex}a.pricing-cta,button.pricing-cta{border:1px solid var(--accent);background:var(--accent);color:var(--bg);font-size:var(--text-step-09);border-radius:6px;font-weight:600;transition:background .15s,border-color .15s}a.pricing-cta:hover,button.pricing-cta:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.pricing-everyplan{border:1px dashed var(--line);padding:var(--space-step-14) var(--space-step-15);margin-bottom:var(--space-step-16);border-radius:10px}.pricing-everyplan h2{font-size:var(--text-step-07);text-transform:uppercase;letter-spacing:1px;color:var(--dim);margin-bottom:var(--space-step-11)}.pricing-everyplan ul{gap:var(--space-step-07) var(--space-step-14);color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-08);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.pricing-everyplan li{gap:var(--space-step-07);display:flex}.pricing-everyplan li:before{content:"✓";color:var(--ok);flex:none}.pricing-edu{color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-08);margin-bottom:30px}.pricing-faq h2{font-size:clamp(var(--text-step-17), 3vw, 26px);margin-bottom:var(--space-step-12)}.pricing-faq-item{border:1px solid var(--line);background:var(--panel);margin-bottom:var(--space-step-07);border-radius:8px}.pricing-faq-item summary{align-items:center;gap:var(--space-step-09);min-height:44px;padding:var(--space-step-09) var(--space-step-13);cursor:pointer;font-size:var(--text-step-10);font-weight:500;list-style:none;display:flex}.pricing-faq-item summary::-webkit-details-marker{display:none}.pricing-faq-item summary:after{content:"+";color:var(--dim);font-size:var(--text-step-14);margin-left:auto}.pricing-faq-item[open] summary:after{content:"−"}.pricing-faq-item p{padding:0 var(--space-step-13) var(--space-step-12);color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-09);margin:0}.boq-panel{gap:var(--space-step-11);flex-direction:column;min-width:0;display:flex}.boq-panel-head{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;display:flex}.boq-panel-head strong{font-size:var(--text-step-11);color:var(--text)}.boq-panel-count{color:var(--dim);font-size:var(--text-step-07);margin:0}.boq-open-workspace{min-height:44px;font-weight:600}.boq-error{color:var(--danger);font-size:var(--text-step-09);line-height:var(--leading-step-06)}.boq-empty{color:var(--dim);font-size:var(--text-step-09);line-height:var(--leading-step-06);margin:0}.boq-chip{align-items:center;gap:var(--space-step-03);padding:var(--space-step-02) var(--space-step-07);border:1px solid var(--line);color:var(--dim);font-size:var(--text-step-07);background:var(--panel-2);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-flex}.boq-chip--button{cursor:pointer;min-height:28px}.boq-chip--quiet{background:0 0;border-style:dashed}.boq-header-button{align-items:center;gap:var(--space-step-05);border-color:color-mix(in srgb, var(--boq-highlight) 55%, var(--line));background:color-mix(in srgb, var(--boq-highlight) 10%, transparent);color:var(--text);font-weight:700;display:inline-flex}.boq-header-button:hover,.boq-header-button.active{border-color:var(--boq-highlight);background:color-mix(in srgb, var(--boq-highlight) 20%, transparent)}.boq-header-badge{min-width:22px;padding:0 var(--space-step-04);text-align:center;background:var(--boq-highlight);color:var(--bg);font-size:var(--text-step-05);font-variant-numeric:tabular-nums;border-radius:999px}@media (max-width:900px){.boq-header-badge{display:none}}.export-boq-entry{align-items:flex-start;gap:var(--space-step-01);text-align:left;border-color:color-mix(in srgb, var(--boq-highlight) 45%, var(--line));flex-direction:column;width:100%;display:flex}.export-boq-entry span{color:var(--dim);font-size:var(--text-step-07)}.boq-cards{gap:var(--space-step-09);grid-template-columns:repeat(auto-fill,minmax(156px,1fr));margin:0;padding:0;list-style:none;display:grid}.boq-cards--compact{gap:var(--space-step-07);grid-template-columns:repeat(2,minmax(0,1fr))}.boq-card{--boq-card-accent:var(--boq-highlight);align-items:stretch;gap:var(--space-step-03);width:100%;height:100%;padding:var(--space-step-09) var(--space-step-11) var(--space-step-09);text-align:left;border:1px solid var(--line);border-top:3px solid var(--boq-card-accent);background:var(--panel);color:var(--text);box-shadow:var(--shadow-soft);border-radius:10px;flex-direction:column;display:flex}button.boq-card{cursor:pointer}button.boq-card:hover{border-color:var(--boq-card-accent);background:color-mix(in srgb, var(--boq-card-accent) 6%, var(--panel))}.boq-card[aria-pressed=true]{border-color:var(--boq-card-accent);background:color-mix(in srgb, var(--boq-card-accent) 12%, var(--panel));box-shadow:inset 0 0 0 1px var(--boq-card-accent)}.boq-card[data-boq-card=walls],.boq-card[data-boq-card=wallFinishes]{--boq-card-accent:var(--boq-highlight-wall)}.boq-card[data-boq-card=doors],.boq-card[data-boq-card=windows]{--boq-card-accent:var(--boq-highlight-opening)}.boq-card[data-boq-card=floors],.boq-card[data-boq-card=floorFinishes],.boq-card[data-boq-card=ramps]{--boq-card-accent:var(--boq-highlight-surface)}.boq-card[data-boq-card=roofs],.boq-card[data-boq-card=canopies]{--boq-card-accent:var(--boq-highlight-roof)}.boq-card[data-boq-card=sanitary],.boq-card[data-boq-card=stairsBuiltIn],.boq-card[data-boq-card=railings]{--boq-card-accent:var(--boq-highlight-column)}.boq-card[data-boq-card=ffe]{--boq-card-accent:var(--boq-highlight-ffe)}.boq-card[data-boq-card=site]{--boq-card-accent:var(--boq-highlight-site)}.boq-card-label{color:var(--dim);font-size:var(--text-step-08);font-weight:600}.boq-card-value{align-items:baseline;gap:var(--space-step-04);flex-wrap:wrap;display:flex}.boq-card-number{font-size:var(--text-step-19);font-weight:700;line-height:var(--leading-step-01);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.boq-cards--compact .boq-card-number{font-size:var(--text-step-14)}.boq-cards--compact .boq-card{padding:var(--space-step-07) var(--space-step-09)}.boq-card-unit{color:var(--dim);font-size:var(--text-step-08);font-weight:600}.boq-card-secondary{color:var(--text-muted-strong);font-size:var(--text-step-07);font-variant-numeric:tabular-nums}.boq-card-split{height:5px;margin-top:var(--space-step-05);background:var(--panel-2);border-radius:3px;display:flex;overflow:hidden}.boq-card-split>span{height:100%;display:block}.boq-card-split-note{margin-top:var(--space-step-05);color:var(--warning-text);font-size:var(--text-step-05)}.boq-split-short{color:var(--warning-text);font-size:var(--text-step-05);font-weight:500}[data-level-index="0"]{--boq-level-colour:var(--boq-highlight-surface)}[data-level-index="1"]{--boq-level-colour:var(--boq-highlight-opening)}[data-level-index="2"]{--boq-level-colour:var(--boq-highlight-column)}[data-level-index="3"]{--boq-level-colour:var(--boq-highlight-roof)}[data-level-index="4"],[data-level-index="5"],[data-level-index="6"]{--boq-level-colour:var(--boq-highlight-annotation)}[data-level-site=true]{--boq-level-colour:var(--boq-highlight-site)}.boq-card-split>span{background:var(--boq-level-colour,var(--boq-highlight))}.boq-card-split-caption{justify-content:space-between;gap:0 var(--space-step-07);color:var(--dim);font-size:var(--text-step-05);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.editor-body[data-boq-mode=workspace] .tool-rail,.editor-body[data-boq-mode=workspace] .side-panel,.editor-body[data-boq-mode=workspace] .side-panel-backdrop{display:none}.editor-body[data-boq-mode=workspace] .workspace-panes{flex:1 1 0;min-width:0}.boq-workspace{z-index:40;order:-1;flex:0 0 calc(100% - var(--boq-plan-width,38%));background:var(--bg);min-width:0;color:var(--text);border-right:1px solid var(--line-strong);box-shadow:var(--shadow-side-panel);outline:none;flex-direction:column;display:flex;position:relative}.boq-ws-header{justify-content:space-between;align-items:center;gap:var(--space-step-09) var(--space-step-13);padding:var(--space-step-13) var(--space-step-17) var(--space-step-11);border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;display:flex;position:relative}.boq-ws-heading{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;min-width:0;display:flex}.boq-ws-heading h2{font-size:var(--text-step-17);color:var(--text);letter-spacing:-.01em;text-transform:none;margin:0;font-weight:700}.boq-ws-actions{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;display:flex}.boq-search{width:240px;max-width:100%;min-height:40px;padding:0 var(--space-step-11);border:1px solid var(--control-border);background:var(--bg);color:var(--text);font-size:var(--text-step-09);border-radius:8px}.boq-ws-export{gap:var(--space-step-05);display:inline-flex}.boq-export-btn,.boq-print-btn{min-height:40px;font-weight:600}.boq-close{min-width:40px;min-height:40px;font-size:var(--text-step-16);line-height:var(--leading-step-01)}.boq-scope-popover{z-index:5;top:calc(100% - var(--space-step-07));left:var(--space-step-17);max-width:min(560px,100% - 48px);padding:var(--space-step-11) var(--space-step-13);border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--surface-popover);box-shadow:var(--shadow-dialog);color:var(--dim);font-size:var(--text-step-08);line-height:var(--leading-step-05);border-radius:10px;position:absolute}.boq-scope-popover strong{margin-bottom:var(--space-step-04);color:var(--text);display:block}.boq-scope-popover p{margin:var(--space-step-04) 0 0}.boq-ws-scroll{overscroll-behavior:contain;gap:var(--space-step-13);min-height:0;padding:var(--space-step-13) var(--space-step-17) var(--space-step-21);flex-direction:column;flex:auto;display:flex;overflow:auto}.boq-gate{justify-content:space-between;align-items:center;gap:var(--space-step-07) var(--space-step-11);padding:var(--space-step-09) var(--space-step-11);border:1px solid var(--line);background:var(--panel-2);color:var(--dim);font-size:var(--text-step-08);border-radius:8px;flex-wrap:wrap;display:flex}.boq-issues{gap:var(--space-step-05);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.boq-slab-overlap{justify-content:space-between;align-items:center;gap:var(--space-step-05) var(--space-step-11);padding:var(--space-step-07) var(--space-step-11);border:1px solid var(--line);border-left:3px solid var(--warning-strong);background:var(--panel-2);color:var(--text);font-size:var(--text-step-08);border-radius:8px;flex-wrap:wrap;display:flex}.boq-slab-overlap-select{min-height:36px}.boq-panel-issues{color:var(--warning-text);font-size:var(--text-step-07);margin:0}.boq-error-detail{margin:var(--space-step-04) 0 0;color:var(--dim);font-size:var(--text-step-07)}.boq-imported-models-excluded{color:var(--warning-text);font-size:var(--text-step-08);margin:0}.boq-ws-toolbar{align-items:center;gap:var(--space-step-07) var(--space-step-09);flex-wrap:wrap;display:flex}.boq-ws-toolbar-spacer{flex:auto}.boq-segmented{border:1px solid var(--line);background:var(--panel);border-radius:8px;flex-wrap:wrap;display:inline-flex;overflow:hidden}.boq-segmented button{min-height:34px;padding:0 var(--space-step-11);color:var(--dim);font-size:var(--text-step-08);background:0 0;border:0;border-radius:0;font-weight:500}.boq-segmented button+button{border-left:1px solid var(--line)}.boq-segmented button[aria-pressed=true]{background:var(--panel-2);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent);font-weight:700}.boq-level-filter button[data-level-index]{box-shadow:none}.boq-link{min-height:34px;padding:0 var(--space-step-05);color:var(--dim);font-size:var(--text-step-07);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.boq-link:hover{color:var(--text);background:0 0}.boq-no-match{align-items:center;gap:var(--space-step-11);color:var(--dim);font-size:var(--text-step-09);display:flex}.boq-no-match p{margin:0}.boq-ws-table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-step-10)}.boq-ws-table thead th{top:calc(var(--space-step-13) * -1);z-index:2;padding:var(--space-step-07) var(--space-step-09);background:var(--panel);border-bottom:1px solid var(--line-strong);color:var(--dim);font-size:var(--text-step-06);letter-spacing:.04em;text-transform:uppercase;text-align:left;font-weight:700;position:sticky}.boq-ws-table th.boq-num,.boq-ws-table td.boq-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.boq-ws-table td{padding:var(--space-step-07) var(--space-step-09);border-bottom:1px solid var(--line);vertical-align:middle}.boq-unit-col{width:56px;color:var(--dim);white-space:nowrap}.boq-category-row th{padding:var(--space-step-15) var(--space-step-09) var(--space-step-07);text-align:left;color:var(--accent);font-size:var(--text-step-07);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.boq-group-row>*{background:var(--panel-2);border-bottom:1px solid var(--line)}.boq-group-row th{padding:var(--space-step-03) var(--space-step-05);text-align:left}.boq-group-head{align-items:center;gap:var(--space-step-03) var(--space-step-09);flex-wrap:wrap;display:flex}.boq-group-toggle{align-items:center;gap:var(--space-step-07);min-height:36px;padding:0 var(--space-step-05);color:var(--text);font-size:var(--text-step-11);background:0 0;border:0;font-weight:700;display:inline-flex}.boq-group-toggle:hover{color:var(--accent);background:0 0}.boq-group-chevron{color:var(--dim);transition:transform .15s;display:inline-block}[aria-expanded=false]>.boq-group-chevron{transform:rotate(-90deg)}.boq-group-count{color:var(--dim);font-size:var(--text-step-07);font-weight:500}.boq-group-volume{color:var(--text-muted-strong);font-size:var(--text-step-07);font-variant-numeric:tabular-nums}.boq-group-row td{color:var(--text);font-weight:700}.boq-group-total{font-size:var(--text-step-11)}.boq-ws-item{cursor:pointer}.boq-ws-item:hover>td{background:color-mix(in srgb, var(--text) 4%, transparent)}.boq-ws-item:focus-visible{outline:2px solid var(--boq-highlight);outline-offset:-2px}.boq-ws-item[aria-selected=true]>td{background:color-mix(in srgb, var(--boq-highlight) 12%, var(--bg));border-bottom-color:#0000}.boq-ws-item[aria-selected=true]>td:first-child{box-shadow:inset 3px 0 0 var(--boq-highlight)}.boq-item-cell{min-width:200px;padding-left:var(--space-step-21)!important}.boq-item-title{color:var(--text);font-weight:600;display:block}.boq-item-detail{margin-top:var(--space-step-01);color:var(--dim);font-size:var(--text-step-07);display:block}.boq-level-cell{color:var(--text-muted-strong)}.boq-level-cell--empty{color:var(--line-strong)}.boq-row-total{color:var(--text);font-weight:700}.boq-ws-detail-row>td{padding:0 var(--space-step-09) var(--space-step-11) var(--space-step-21);background:color-mix(in srgb, var(--boq-highlight) 6%, var(--bg))}.boq-show-more-row td{text-align:center}.boq-show-more{min-height:34px}.boq-detail{gap:var(--space-step-09);padding-top:var(--space-step-07);flex-direction:column;display:flex}.boq-detail-facts{gap:var(--space-step-03) var(--space-step-13);font-size:var(--text-step-08);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.boq-detail-facts dt{color:var(--dim)}.boq-detail-facts dd{color:var(--text);font-variant-numeric:tabular-nums;margin:0}.boq-detail-elements summary{cursor:pointer;color:var(--dim);font-size:var(--text-step-07)}.boq-detail-elements ul{margin:var(--space-step-04) 0 0;gap:var(--space-step-03);padding:0;list-style:none;display:grid}.boq-detail-elements li{gap:var(--space-step-07);font-size:var(--text-step-06);display:flex}.boq-detail-elements code{color:var(--dim);overflow-wrap:anywhere}.boq-detail-level{color:var(--text-muted-strong);flex:none;font-weight:600}.boq-detail-actions{gap:var(--space-step-07);flex-wrap:wrap;display:flex}.boq-detail-actions button{min-height:40px;font-weight:600}.boq-plan-caption{z-index:3;top:var(--space-step-11);left:calc(100% + var(--space-step-11));align-items:center;gap:var(--space-step-05) var(--space-step-07);width:max-content;max-width:40vw;padding:var(--space-step-05) var(--space-step-09);border:1px solid var(--line);background:var(--surface-popover);box-shadow:var(--shadow-float);color:var(--text);font-size:var(--text-step-07);border-radius:999px;flex-wrap:wrap;display:flex;position:absolute}.boq-plan-caption-other{color:var(--dim)}.boq-plan-level-jump{min-height:28px;padding:0 var(--space-step-07);font-size:var(--text-step-07)}.boq-plan-hide{display:none}.boq-ws-resize{z-index:4;top:0;bottom:0;right:calc(var(--space-step-04) * -1);cursor:col-resize;touch-action:none;background:0 0;width:10px;position:absolute}.boq-ws-resize:after{content:"";top:50%;left:var(--space-step-02);background:var(--line-strong);border-radius:2px;width:4px;height:44px;position:absolute;transform:translateY(-50%)}.boq-ws-resize:hover:after,.boq-ws-resize:focus-visible:after{background:var(--boq-highlight)}.boq-empty-state{align-items:center;gap:var(--space-step-07);text-align:center;margin:var(--space-step-21) auto;max-width:420px;color:var(--dim);flex-direction:column;display:flex}.boq-empty-state h3{color:var(--text);font-size:var(--text-step-15);margin:0}.boq-empty-state p{font-size:var(--text-step-09);line-height:var(--leading-step-06);margin:0}.boq-empty-art{border:2px dashed var(--line-strong);background:var(--panel-2);border-radius:14px;width:72px;height:72px}.boq-card-list{gap:var(--space-step-11);flex-direction:column;display:flex}.boq-card-section{gap:var(--space-step-07);flex-direction:column;display:flex}.boq-card-section .boq-category-title{margin:var(--space-step-07) 0 0;color:var(--accent);font-size:var(--text-step-07);letter-spacing:.06em;text-transform:uppercase}.boq-card-group{gap:var(--space-step-05);flex-direction:column;display:flex}.boq-card-group-header{align-items:center;gap:var(--space-step-07);width:100%;min-height:44px;padding:0 var(--space-step-09);background:var(--panel-2);text-align:left;border-radius:8px;font-weight:700;display:flex}.boq-card-group-header .boq-group-name{flex:auto}.boq-card-group-header .boq-group-total{font-size:var(--text-step-09);font-variant-numeric:tabular-nums}.boq-item-card{justify-content:space-between;align-items:center;gap:var(--space-step-09);padding:var(--space-step-09) var(--space-step-11);border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:10px;display:flex}.boq-item-card[aria-pressed=true]{border-color:var(--boq-highlight);background:color-mix(in srgb, var(--boq-highlight) 10%, var(--panel))}.boq-item-card-text{flex-direction:column;min-width:0;display:flex}.boq-item-levels{color:var(--text-muted-strong);font-size:var(--text-step-06);margin-top:var(--space-step-02)}.boq-item-card-qty{flex-direction:column;flex:none;align-items:flex-end;display:flex}.boq-item-card-number{font-size:var(--text-step-16);font-variant-numeric:tabular-nums;font-weight:700}.boq-item-card-unit{color:var(--dim);font-size:var(--text-step-06)}.boq-item-detail-panel{padding:0 var(--space-step-07)}@media (min-width:1024px) and (max-width:1279px){.boq-ws-header,.boq-ws-scroll{padding-left:var(--space-step-13);padding-right:var(--space-step-13)}.boq-search{width:180px}.boq-cards{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.boq-card-number{font-size:var(--text-step-17)}}@media (min-width:640px) and (max-width:1024px) and (orientation:portrait){.editor-body[data-boq-mode=workspace]{flex-direction:column}.boq-workspace{min-height:0;box-shadow:none;border-right:0;flex:auto}.editor-body[data-boq-mode=workspace] .workspace-panes{flex:0 0 0;min-height:0;overflow:hidden}.editor-body[data-boq-plan-sheet=open] .workspace-panes{border-top:2px solid var(--boq-highlight);flex:0 0 42%}.boq-ws-resize{display:none}.boq-plan-caption{width:auto;max-width:none;box-shadow:none;padding:var(--space-step-07) var(--space-step-13);background:var(--panel);border-width:1px 0 0;border-radius:0;position:static}.boq-plan-hide{min-height:32px;margin-left:auto;display:inline-flex}.boq-ws-header,.boq-ws-scroll{padding-left:var(--space-step-13);padding-right:var(--space-step-13)}.boq-search{width:200px}.boq-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.boq-card-number{font-size:var(--text-step-17)}.boq-item-cell{min-width:160px;padding-left:var(--space-step-13)!important}}@media (max-width:639px){.boq-workspace{z-index:9000;box-shadow:none;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);border-right:0;flex:none;position:fixed;inset:0}.boq-ws-header{padding:var(--space-step-11) var(--space-step-13) var(--space-step-09)}.boq-ws-heading h2{font-size:var(--text-step-15)}.boq-ws-actions{flex-wrap:nowrap;width:100%}.boq-search{flex:auto;width:auto;min-width:0}.boq-print-btn{display:none}.boq-export-btn{padding:0 var(--space-step-07)}.boq-ws-scroll{padding:var(--space-step-11) var(--space-step-13) var(--space-step-21);gap:var(--space-step-11)}.boq-cards{gap:var(--space-step-07);grid-template-columns:repeat(2,minmax(0,1fr))}.boq-card{padding:var(--space-step-07) var(--space-step-09)}.boq-card-number{font-size:var(--text-step-16)}.boq-card-split,.boq-card-split-caption{display:none}.boq-card-label{font-size:var(--text-step-06)}.boq-ws-toolbar{gap:var(--space-step-05)}.boq-segmented{max-width:100%}.boq-segmented button{padding:0 var(--space-step-07)}.boq-ws-toolbar-spacer,.boq-link{display:none}.boq-scope-popover{left:var(--space-step-13);right:var(--space-step-13);max-width:none}}@media print{html.boq-print-mode body *{visibility:hidden}html.boq-print-mode .boq-workspace,html.boq-print-mode .boq-workspace *{visibility:visible}html.boq-print-mode .boq-workspace{box-shadow:none;border:0;display:block;position:absolute;inset:0}html.boq-print-mode .boq-ws-scroll{overflow:visible}html.boq-print-mode .boq-ws-actions,html.boq-print-mode .boq-ws-toolbar,html.boq-print-mode .boq-ws-resize,html.boq-print-mode .boq-plan-caption,html.boq-print-mode .boq-detail-actions{display:none!important}html.boq-print-mode .boq-ws-table thead th{position:static}}.material-select{width:100%;min-width:0}.site-panel,.project-info-panel{gap:var(--space-step-09);flex-direction:column;min-width:0;display:flex}.project-info-panel h3{color:var(--text);font-size:var(--text-step-09);margin:0;font-weight:600}.project-info-panel .prop-field input{width:100%}.site-metrics{gap:var(--space-step-05);flex-direction:column;margin:0;display:flex}.site-metrics>div{justify-content:space-between;align-items:baseline;gap:var(--space-step-07);display:flex}.site-metrics dt{color:var(--dim);font-size:var(--text-step-05)}.site-metrics dd{color:var(--text);font-size:var(--text-step-08);font-variant-numeric:tabular-nums;white-space:nowrap;margin:0}.site-note{color:var(--dim);font-size:var(--text-step-05);line-height:var(--leading-step-06)}.site-zone-list{gap:var(--space-step-03);border-top:1px solid var(--line);padding:0;padding-top:var(--space-step-07);flex-direction:column;margin:0;list-style:none;display:flex}.site-zone-list li{justify-content:space-between;gap:var(--space-step-07);color:var(--dim);font-size:var(--text-step-06);display:flex}.site-zone-area{font-variant-numeric:tabular-nums;white-space:nowrap}.templates-overlay{z-index:8900;padding:var(--space-step-13);overscroll-behavior:contain;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.templates-panel{overscroll-behavior:contain;background:var(--panel);border:1px solid var(--line-strong);width:min(100vw - 32px,1120px);height:min(100dvh - 32px,900px);color:var(--text);box-shadow:0 24px 70px var(--shadow-dialog-soft);border-radius:16px;overflow-y:auto}.templates-panel:focus{outline:none}.templates-panel:focus-visible{box-shadow:0 0 0 2px var(--accent), 0 24px 70px var(--shadow-dialog-soft)}.templates-dialog-header{z-index:2;justify-content:space-between;align-items:center;gap:var(--space-step-13);min-height:72px;padding:var(--space-step-12) clamp(var(--space-step-14), 3vw, var(--space-step-19));border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--panel) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;position:sticky;top:0}.templates-dialog-header h2{color:var(--text);font-size:clamp(var(--text-step-16), 2.2vw, var(--text-step-19));letter-spacing:-.01em;margin:0;font-weight:650}.templates-close{width:44px;min-width:44px;height:44px;min-height:44px;font-size:var(--text-step-19);line-height:var(--leading-step-01);border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.templates-dialog-body{padding:clamp(var(--space-step-14), 3vw, var(--space-step-19))}.template-category-heading{justify-content:space-between;align-items:center;gap:var(--space-step-09);min-height:34px;margin-bottom:var(--space-step-03);display:flex}.template-category-controls{gap:var(--space-step-03);display:flex}.template-category-controls button{width:34px;min-width:34px;height:34px;min-height:34px;padding:0}.template-category-controls button:disabled{opacity:.3}.template-category{margin-bottom:var(--space-step-12)}.template-category:last-of-type{margin-bottom:0}.template-category-title{font-size:var(--text-step-05);letter-spacing:.04em;text-transform:uppercase;color:var(--dim);margin:0 0 var(--space-step-05);font-weight:600}.template-grid-wrap{position:relative}.template-grid{gap:var(--space-step-09);padding-bottom:var(--space-step-07);scrollbar-width:thin;display:flex;overflow-x:auto}.template-grid-scroll-fade{top:0;right:0;bottom:var(--space-step-07);pointer-events:none;background:linear-gradient(to right, transparent, var(--panel) 88%);width:48px;position:absolute}.template-card{align-items:stretch;gap:var(--space-step-05);width:156px;padding:var(--space-step-07) var(--space-step-09) var(--space-step-11);background:var(--panel);border:1px solid var(--line);cursor:pointer;text-align:center;color:var(--text);border-radius:10px;flex-direction:column;flex:none;transition:border-color .15s,background .15s,transform .15s;display:flex}.template-card:hover{border-color:var(--accent);background:var(--panel-2);transform:translateY(-2px)}.template-card:active{transform:translateY(0)}.template-card:disabled{opacity:.5;cursor:not-allowed;transform:none}.template-card-icon{aspect-ratio:4/3;border:1px solid var(--line);width:100%;color:var(--accent);background:linear-gradient(145deg, var(--panel-2), var(--bg));border-radius:8px;place-items:center;display:grid;overflow:hidden}.template-card-thumb{object-fit:cover;width:100%;height:100%;display:block}.template-icon-svg{width:30px;height:30px;display:block}.template-card-name{font-size:var(--text-step-09);font-weight:600}.template-card-desc{font-size:var(--text-step-05);color:var(--dim);line-height:var(--leading-step-02)}.template-create-status{margin:var(--space-step-07) 0 0;font-size:var(--text-step-07);color:var(--dim);align-items:center;gap:var(--space-step-07);display:flex}.template-create-status:before{content:"";border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.8s linear infinite template-create-spin}@keyframes template-create-spin{to{transform:rotate(360deg)}}.auth-session-error{margin:var(--space-step-11) auto;max-width:900px;padding:var(--space-step-09) var(--space-step-11);justify-content:space-between;align-items:center;gap:var(--space-step-11);border:1px solid var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 8%, transparent);font-size:var(--text-step-09);border-radius:8px;display:flex}.auth-session-error button{flex:none}@media (max-width:640px){.templates-overlay{padding:0}.templates-panel{border:0;border-radius:0;width:100vw;height:100dvh}.templates-dialog-header{min-height:64px;padding:var(--space-step-09) var(--space-step-12)}.templates-dialog-body{padding:var(--space-step-13) var(--space-step-12) var(--space-step-17)}.template-grid{gap:var(--space-step-07)}.template-card{width:128px;padding:var(--space-step-05) var(--space-step-07) var(--space-step-09)}.template-icon-svg{width:27px;height:27px}.template-card-name{font-size:var(--text-step-07)}.template-card-desc{font-size:var(--text-step-03)}}.template-open-row{align-items:center;gap:var(--space-step-09);margin-top:var(--space-step-14);padding-top:var(--space-step-14);border-top:1px solid var(--line);flex-wrap:wrap;display:flex}.template-open-file{min-height:40px;padding:0 var(--space-step-12);font-size:var(--text-step-09);border:1px dashed var(--line);color:var(--text);cursor:pointer;background:0 0;border-radius:8px}.template-open-file:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.template-open-file:disabled{opacity:.5;cursor:not-allowed}.template-open-hint{font-size:var(--text-step-06);color:var(--dim);line-height:var(--leading-step-04)}.import-overlay{z-index:9000;padding:var(--space-step-13);background:var(--scrim);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.import-panel{gap:var(--space-step-11);overscroll-behavior:contain;width:min(100% - 32px,520px);max-height:calc(100dvh - 32px);padding:clamp(var(--space-step-14), 4vw, var(--space-step-17));background:var(--panel);border:1px solid var(--accent);color:var(--text);border-radius:10px;flex-direction:column;display:flex;overflow:auto}.import-panel h3{font-size:var(--text-step-14);color:var(--accent);font-weight:500}.import-panel p{font-size:var(--text-step-09);color:var(--dim);line-height:var(--leading-step-08)}.import-file-input{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.import-choose-file{min-height:44px;padding:0 var(--space-step-13);font-size:var(--text-step-10);border:1px solid var(--line);background:var(--panel-2);color:var(--text);cursor:pointer;border-radius:8px}.import-choose-file:hover{border-color:var(--accent)}.import-or{font-size:var(--text-step-07);text-align:center}.import-paste{resize:vertical;width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-step-07);line-height:var(--leading-step-06);padding:var(--space-step-09);border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:8px}.import-paste:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.import-error{gap:var(--space-step-05);font-size:var(--text-step-09);color:var(--danger);line-height:var(--leading-step-06);flex-direction:column;display:flex}.import-error>p{margin:0}.import-error-skips{padding-left:var(--space-step-15);margin:0}.import-error-detail{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-step-06);color:var(--dim);word-break:break-word}.import-review{padding:var(--space-step-09) var(--space-step-11);border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel-2));border-radius:8px;margin:0}.import-review>p{margin:0}.import-review-skips{margin:var(--space-step-07) 0 0 0;font-size:var(--text-step-08);line-height:var(--leading-step-08);color:var(--text);padding:0;list-style:none}.import-review-skips li{padding:var(--space-step-01) 0;justify-content:space-between;display:flex}.import-byo{border-top:1px solid var(--line);padding-top:var(--space-step-11)}.import-start-portable{margin-top:var(--space-step-09);padding:var(--space-step-05) 0;color:var(--accent);font-size:var(--text-step-09);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;align-self:flex-start;text-decoration:underline}.import-start-portable:disabled{opacity:.5;cursor:not-allowed}.import-carry-request{font-size:var(--text-step-07);line-height:var(--leading-step-06);margin-top:var(--space-step-07);padding:var(--space-step-07) var(--space-step-09);border-left:2px solid var(--accent);background:var(--panel-2);border-radius:0 6px 6px 0}.import-carry-plan{font-size:var(--text-step-06);line-height:var(--leading-step-06);color:var(--accent);margin-top:var(--space-step-05)}.import-copy-row{align-items:center;gap:var(--space-step-09);margin-top:var(--space-step-09);flex-wrap:wrap;display:flex}.import-copy{min-height:44px;padding:0 var(--space-step-13);font-size:var(--text-step-09);border:1px solid var(--accent);color:var(--accent);cursor:pointer;background:0 0;border-radius:8px}.import-copied{font-size:var(--text-step-07);color:var(--accent)}.import-prompt-fallback{width:100%;margin-top:var(--space-step-07);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--text-step-05);line-height:var(--leading-step-05);padding:var(--space-step-07);border:1px solid var(--accent);background:var(--panel-2);color:var(--text);border-radius:8px}.import-actions{gap:var(--space-step-09);flex-wrap:wrap;display:flex}.import-actions button{min-height:44px;padding:0 var(--space-step-13);font-size:var(--text-step-10)}.import-confirm{border-color:var(--accent);color:var(--accent)}.import-confirm:disabled{opacity:.5;cursor:not-allowed}.gallery-toolbar{gap:var(--space-step-09);margin:var(--space-step-13) 0;align-items:center;display:flex}.gallery-search{max-width:300px;padding:var(--space-step-07) var(--space-step-11);background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:var(--text-step-09);border-radius:8px;outline:none;flex:1;transition:border-color .15s}.gallery-search:focus{border-color:var(--accent)}.gallery-search::placeholder{color:var(--dim)}.gallery-sort{padding:var(--space-step-07) var(--space-step-11);background:var(--panel);border:1px solid var(--line);color:var(--text);font-size:var(--text-step-09);cursor:pointer;border-radius:8px;outline:none}.project-card-thumbnail{width:100%;height:120px;margin-bottom:var(--space-step-09);background:var(--bg);border:1px solid var(--line);color:var(--dim);border-radius:6px;justify-content:center;align-items:center;display:flex;overflow:hidden}.project-card-thumbnail svg{width:100%;height:100%}.project-card-skeleton{padding:var(--space-step-13);background:var(--panel);border:1px solid var(--line);border-radius:10px}.skeleton{background:linear-gradient(90deg, var(--panel) 25%, var(--panel-2) 50%, var(--panel) 75%);background-size:200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-thumbnail{width:100%;height:120px;margin-bottom:var(--space-step-09);border-radius:6px}.skeleton-line{height:14px;margin-bottom:var(--space-step-07)}.skeleton-line-wide{width:80%}.skeleton-line-narrow{width:50%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:640px){.gallery-toolbar{flex-direction:column;align-items:stretch}.gallery-search{max-width:none}}.tour-highlight{z-index:9999;box-shadow:0 0 0 9999px var(--shadow-scrim);border-radius:8px;position:relative;pointer-events:auto!important}.tour-overlay{z-index:9998;pointer-events:none;position:fixed;inset:0}.export-quick{gap:var(--space-step-05);padding:var(--space-step-07) var(--space-step-11);align-items:center;display:flex}.export-quick-label{font-size:var(--text-step-05);color:var(--dim);margin-right:var(--space-step-03);font-weight:500}.export-quick button{padding:var(--space-step-05) var(--space-step-12);font-size:var(--text-step-07);background:var(--accent);color:var(--text-on-accent);cursor:pointer;border:none;border-radius:6px;font-weight:600;transition:opacity .15s}.export-quick button:hover{opacity:.85}.export-quick button:disabled{opacity:.4;cursor:not-allowed}.export-divider{background:var(--line);height:1px;margin:var(--space-step-03) 0}.ai-dock{transition:max-height .25s,padding .25s}.ai-dock-collapsed{min-height:53px;max-height:none;padding:var(--space-step-03) var(--space-step-11);justify-content:center;align-items:center;display:flex}.ai-dock-expand-btn{border:1px solid var(--line);color:var(--accent);font-size:var(--text-step-09);padding:var(--space-step-03) var(--space-step-13);cursor:pointer;background:0 0;border-radius:6px;font-weight:600;transition:border-color .15s,background .15s}.ai-dock-expand-btn:hover{border-color:var(--accent);background:var(--panel-2)}.ai-dock-collapse-btn{color:var(--dim);font-size:var(--text-step-14);cursor:pointer;padding:var(--space-step-03) var(--space-step-07);background:0 0;border:none;border-radius:4px;transition:color .15s}.ai-dock-collapse-btn:hover{color:var(--text)}.ai-suggestions{gap:var(--space-step-05);padding:var(--space-step-03) 0;overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;flex:100%;display:flex;overflow-x:auto}.ai-suggestion-chip{background:var(--panel-2);border:1px solid var(--line);padding:var(--space-step-03) var(--space-step-11);color:var(--dim);font-size:var(--text-step-07);cursor:pointer;white-space:nowrap;border-radius:16px;flex:none;transition:color .15s,border-color .15s}.ai-suggestion-chip:hover{color:var(--accent);border-color:var(--accent)}.offline-banner{background:var(--warning-strong);color:var(--text-on-strong);text-align:center;font-size:var(--text-step-07);padding:var(--space-step-03) var(--space-step-11);font-weight:500;animation:.3s ease-out offline-slide}@keyframes offline-slide{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.offline-page{justify-content:center;gap:var(--space-step-13);max-width:34rem;min-height:100dvh;padding:var(--space-step-20) var(--space-step-17);color:var(--text);flex-direction:column;margin:0 auto;display:flex}.offline-page h1{font-size:var(--text-step-20);letter-spacing:-.01em;font-weight:600}.offline-page p{color:var(--text-reading);line-height:var(--leading-step-08)}.offline-page__actions{gap:var(--space-step-09);margin-top:var(--space-step-07);flex-wrap:wrap;display:flex}.offline-page__action{min-height:44px;padding:0 var(--space-step-14);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);font-size:var(--text-step-11);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-weight:500;text-decoration:none;transition:border-color .15s,background .15s;display:inline-flex}.offline-page__action:hover{border-color:var(--accent)}.offline-page__action--primary{background:var(--accent);border-color:var(--accent);color:var(--text-on-accent)}.offline-page__action--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.own-ai-trigger{min-height:40px;padding:var(--space-step-07) var(--space-step-11);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px}.own-ai-trigger:hover{border-color:var(--accent)}.own-ai-dialog{border:1px solid var(--line-strong);width:min(680px,100vw - 24px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--panel);border-radius:12px;margin:auto;padding:0;overflow:auto}.own-ai-dialog::backdrop{background:color-mix(in srgb, var(--bg) 75%, transparent)}.own-ai-header{justify-content:space-between;align-items:center;gap:var(--space-step-13);padding:var(--space-step-14) var(--space-step-17);border-bottom:1px solid var(--line);display:flex}.own-ai-header h2{margin:0;font-size:21px}.own-ai-header button{min-width:44px;min-height:44px;font-size:var(--text-step-19)}.own-ai-content{padding:var(--space-step-13) var(--space-step-17) var(--space-step-17);line-height:var(--leading-step-08)}.own-ai-callout{margin:var(--space-step-09) 0 0;padding:var(--space-step-09) var(--space-step-12);border-left:3px solid var(--accent);background:var(--accent-soft);color:var(--text);border-radius:0 6px 6px 0;font-weight:600}.own-ai-content p{margin:var(--space-step-09) 0}.own-ai-content button{min-height:40px;padding:var(--space-step-05) var(--space-step-11);border:1px solid var(--line-strong);background:var(--panel);color:var(--text);cursor:pointer;border-radius:6px}.own-ai-content a{color:var(--accent);text-underline-offset:3px}.own-ai-content h3{margin:var(--space-step-11) 0 var(--space-step-03);font-size:var(--text-step-14)}.own-ai-providers{gap:var(--space-step-07);margin:var(--space-step-15) 0;flex-wrap:wrap;display:flex}.own-ai-providers button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft)}.own-ai-steps{padding-inline-start:var(--space-step-16)}.own-ai-steps>li{margin-bottom:var(--space-step-16);padding-inline-start:var(--space-step-05)}.own-ai-config{gap:var(--space-step-05);display:grid}.own-ai-config dt{font-weight:600}.own-ai-config dd{align-items:center;gap:var(--space-step-07);flex-wrap:wrap;margin:0;display:flex}.own-ai-config code,.own-ai-code{overflow-wrap:anywhere;font-size:var(--text-step-09)}.own-ai-code{margin:var(--space-step-07) 0;display:block}.own-ai-content blockquote{margin:var(--space-step-11) 0;padding:var(--space-step-11);border-inline-start:3px solid var(--accent);background:var(--bg)}.own-ai-boundary{padding:var(--space-step-11);border:1px solid var(--line);border-radius:6px}.own-ai-fallback{gap:var(--space-step-07);display:grid}.own-ai-fallback textarea{width:100%;color:var(--text);background:var(--bg)}.own-ai-footer{gap:var(--space-step-13);margin-top:var(--space-step-16);font-size:var(--text-step-09);flex-wrap:wrap;display:flex}.ai-start-trigger{min-height:40px;padding:var(--space-step-07) var(--space-step-11);border:1px solid var(--accent-border-strong);background:var(--accent-soft);color:var(--accent);cursor:pointer;border-radius:6px;font-weight:600}.ai-start-trigger:hover{border-color:var(--accent)}.ai-start-surface{padding:var(--space-step-05);flex-direction:column;display:flex}.ai-start-item{gap:var(--space-step-02);text-align:left;padding:var(--space-step-09) var(--space-step-11);color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:6px;flex-direction:column;display:flex}.ai-start-item:hover:not(:disabled),.ai-start-item:focus-visible{background:var(--panel-2)}.ai-start-item:disabled{opacity:.5;cursor:not-allowed}.ai-start-item-title{font-size:var(--text-step-09);font-weight:600}.ai-start-item-use{font-size:var(--text-step-07);color:var(--dim);line-height:var(--leading-step-05)}.own-ai-route-list{gap:var(--space-step-11);padding:0;list-style:none;display:grid}.own-ai-route-list li{align-items:center;gap:var(--space-step-05) var(--space-step-09);flex-wrap:wrap;display:flex}.own-ai-route-list p{flex:100%;margin:0}.proposal-impact{margin:var(--space-step-09) 0;max-width:100%;font-size:var(--text-step-09);overflow-x:auto}.proposal-impact summary{cursor:pointer;padding:var(--space-step-05) 0;font-weight:600}.proposal-impact table{border-collapse:collapse;width:100%;margin:var(--space-step-11) 0;font-variant-numeric:tabular-nums}.proposal-impact caption{text-align:start;padding:var(--space-step-05) 0;font-weight:600}.proposal-impact th,.proposal-impact td{padding:var(--space-step-05) var(--space-step-07);border-bottom:1px solid var(--line);text-align:end}.proposal-impact th:first-child{text-align:start;overflow-wrap:anywhere;min-width:110px;max-width:360px}.proposal-link-notice{align-items:center;gap:var(--space-step-09);padding:var(--space-step-07) var(--space-step-12);color:var(--text);background:var(--panel);border-bottom:1px solid var(--line);font-size:var(--text-step-09);flex-wrap:wrap;display:flex}.proposal-link-notice button{border:1px solid var(--line-strong);background:var(--bg);min-height:36px;color:var(--text);padding:var(--space-step-03) var(--space-step-09);cursor:pointer;border-radius:5px}@media (max-width:600px){.own-ai-header,.own-ai-content{padding:var(--space-step-12) var(--space-step-13)}}.tool-tooltip{z-index:10021;width:max-content;max-width:min(280px,100vw - 16px);padding:var(--space-step-07) var(--space-step-11);border:1px solid var(--line);background:var(--surface-overlay);color:var(--text);box-shadow:0 2px 8px var(--shadow-overlay);font-size:var(--text-step-09);font-weight:500;line-height:var(--leading-step-05);overflow-wrap:anywhere;visibility:hidden;pointer-events:none;border-radius:8px;position:fixed;top:0;left:0}.tool-tooltip[data-open=true]{visibility:visible;pointer-events:auto}.model-promotion-recovery{margin:var(--space-step-11);padding:var(--space-step-11) var(--space-step-13);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:var(--text-step-09);line-height:var(--leading-step-06);overflow-wrap:anywhere;border-radius:10px}.model-promotion-recovery p{margin:0 0 var(--space-step-09)}.model-promotion-recovery__actions{gap:var(--space-step-07);flex-wrap:wrap;display:flex}.model-promotion-recovery__actions button{min-height:44px}@media print{[data-feng-shui-bazhai-overlay]{display:none}}.feng-shui-walk-complete{z-index:40;width:min(5var(--text-step-17),calc(100% - var(--space-step-20)));max-height:calc(100% - var(--space-step-20));padding:var(--space-step-17);background:var(--panel);color:var(--text);border:1px solid var(--accent);box-shadow:0 var(--space-step-07) var(--space-step-17) var(--bg);position:absolute;inset:50% auto auto 50%;overflow:auto;transform:translate(-50%,-50%)}.feng-shui-walk-complete h2{font-size:var(--text-step-17);margin:0 0 var(--space-step-11)}.feng-shui-walk-complete button{width:100%;min-height:44px;margin-top:var(--space-step-07);display:block}.feng-shui-walk-complete button:first-of-type{background:var(--accent-soft);border-color:var(--accent)}.feng-shui-focus-workspace{z-index:200;background:var(--bg);color:var(--text);flex-direction:column;display:flex;position:absolute;inset:0;overflow:hidden}.feng-shui-focus-workspace>header{justify-content:space-between;align-items:center;gap:var(--space-step-11);padding:var(--space-step-11) var(--space-step-17);border-bottom:1px solid var(--line);background:var(--panel);display:flex}.feng-shui-focus-workspace>header strong{display:block}.feng-shui-focus-workspace button,.feng-shui-focus-workspace input,.feng-shui-focus-workspace summary{min-height:44px}.feng-shui-focus-workspace button:focus-visible,.feng-shui-focus-workspace input:focus-visible,.feng-shui-focus-workspace summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.feng-shui-focus-location{padding:var(--space-step-11) var(--space-step-17)}.feng-shui-focus-location h2{margin:var(--space-step-04) 0;font-size:var(--text-step-14);overflow-wrap:anywhere}.feng-shui-focus-location p{color:var(--dim);margin:0}.feng-shui-focus-visuals{gap:var(--space-step-13);min-height:140px;padding:0 var(--space-step-17);flex:1 1 0;grid-template-columns:minmax(0,3fr) minmax(0,1fr);display:grid}.feng-shui-focus-visuals figure{border:1px solid var(--line);background:var(--panel);flex-direction:column;min-width:0;min-height:0;margin:0;display:flex;position:relative}.feng-shui-focus-visuals figcaption{padding:var(--space-step-07) var(--space-step-11);border-bottom:1px solid var(--line);font-size:var(--text-step-07);color:var(--dim)}.feng-shui-focus-visuals svg[data-focus-plan],.feng-shui-focus-visuals svg[data-focus-elevation]{flex:1;width:100%;min-height:0}.feng-shui-focus-task{padding:var(--space-step-13) var(--space-step-17);border-top:1px solid var(--line);background:var(--panel);max-height:45%;overflow:auto}.feng-shui-focus-task p{margin:var(--space-step-07) 0}.feng-shui-focus-preview-note{color:var(--dim);font-size:var(--text-step-07)}.feng-shui-focus-options{gap:var(--space-step-07);flex-wrap:wrap;display:flex}.feng-shui-focus-options button{text-align:start;flex:200px}.feng-shui-focus-options button[aria-pressed=true],.feng-shui-focus-actions button:first-child{border-color:var(--accent);background:var(--accent-soft)}.feng-shui-focus-actions{gap:var(--space-step-07);display:flex}.feng-shui-focus-actions button{flex:1}.feng-shui-focus-visual-tabs{display:none}.feng-shui-focus-mascot{bottom:var(--space-step-07);right:var(--space-step-07);align-items:end;gap:var(--space-step-04);pointer-events:none;display:flex;position:absolute}.feng-shui-focus-mascot small{max-width:140px;padding:var(--space-step-07);color:var(--text);background:var(--panel);border:1px solid var(--line)}.feng-shui-focus-summary{width:min(500px,calc(100% - var(--space-step-20)));padding:var(--space-step-17);border:1px solid var(--line);background:var(--panel);margin:auto}.feng-shui-focus-summary button{width:100%;margin-top:var(--space-step-07);display:block}.feng-shui-focus-task fieldset{padding:var(--space-step-07);border:1px solid var(--line);margin:0}.feng-shui-focus-legend{color:var(--dim)}.feng-shui-repair-steps{margin:var(--space-step-09) 0;padding-inline-start:var(--space-step-17)}.feng-shui-repair-steps li{margin-bottom:var(--space-step-07);padding-inline-start:var(--space-step-04)}.feng-shui-focus-targets{gap:var(--space-step-05);margin:var(--space-step-07) 0;padding:0;list-style:none;display:grid}.feng-shui-focus-targets li{gap:var(--space-step-07);overflow-wrap:anywhere;align-items:center;display:flex}.feng-shui-focus-targets li>span{border:1px solid var(--feng-shui-unfavourable);width:28px;height:28px;color:var(--feng-shui-unfavourable);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.feng-shui-focus-targets button{text-align:start;overflow-wrap:anywhere;min-height:44px}.feng-shui-layout-guide{margin:var(--space-step-11) 0;padding:var(--space-step-11);border:1px solid var(--line);background:var(--panel-2)}.feng-shui-layout-guide svg{width:100%;max-height:130px;display:block}.feng-shui-layout-guide figcaption{color:var(--dim)}.feng-shui-save-progress{margin:var(--space-step-11) 0}.feng-shui-floor-results{gap:var(--space-step-07);padding:var(--space-step-11);border:1px solid var(--line);background:var(--panel-2);display:grid}.feng-shui-floor-results select{width:100%;min-height:44px;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line)}.feng-shui-coverage-scope{color:var(--dim);font-size:var(--text-step-07)}.feng-shui-save-track{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.feng-shui-save-track span{background:var(--accent);width:35%;height:100%;animation:1.3s ease-in-out infinite alternate feng-shui-save-moving;display:block}@keyframes feng-shui-save-moving{0%{transform:translate(0)}to{transform:translate(185%)}}@media (prefers-reduced-motion:reduce){.feng-shui-save-track span{opacity:.6;width:100%;animation:none}}@media (max-width:639px){.feng-shui-focus-workspace>header,.feng-shui-focus-location,.feng-shui-focus-task{padding:var(--space-step-07) var(--space-step-11)}.feng-shui-focus-location h2{font-size:var(--text-step-11)}.feng-shui-focus-location p{font-size:var(--text-step-07)}.feng-shui-focus-visual-tabs{padding:0 var(--space-step-11);display:flex}.feng-shui-focus-visual-tabs button{flex:1}.feng-shui-focus-visuals{padding:0 var(--space-step-11);display:flex}.feng-shui-focus-visuals figure{flex:1}.feng-shui-focus-visuals--plan .feng-shui-focus-image,.feng-shui-focus-visuals--image .feng-shui-focus-plan{display:none}.feng-shui-focus-task{max-height:52%}.feng-shui-focus-options{flex-wrap:nowrap;overflow-x:auto}.feng-shui-focus-options button{flex:0 0 85%}.feng-shui-focus-actions{flex-wrap:wrap}.feng-shui-focus-actions button:first-child{flex-basis:100%}.feng-shui-focus-mascot .feng-shui-sinsae{width:60px;height:72px}}.feng-shui-focus-manual{gap:var(--space-step-07);grid-template-columns:minmax(0,1fr) auto;display:grid}.feng-shui-focus-manual label,.feng-shui-focus-manual p{grid-column:1/-1}.feng-shui-focus-manual input{width:100%;min-width:0;color:var(--text);background:var(--bg);border:1px solid var(--line);padding:var(--space-step-07);font:inherit}.feng-shui-focus-workspace>header>div{align-items:center;gap:var(--space-step-11);display:flex}.feng-shui-focus-location{align-items:center;gap:var(--space-step-04) var(--space-step-11);grid-template-columns:auto minmax(0,1fr);display:grid}.feng-shui-focus-location h2{margin:0}.feng-shui-focus-location p{grid-column:2}.feng-shui-focus-visuals{min-height:220px}@media (min-width:640px){.feng-shui-focus-workspace>header{padding:var(--space-step-07) var(--space-step-17)}}@media (max-width:639px){.feng-shui-focus-visuals{min-height:180px}.feng-shui-focus-location{display:block}.feng-shui-focus-location h2{margin:var(--space-step-04) 0}}.feng-shui-focus-task{flex-direction:column;min-height:0;display:flex;overflow:hidden}.feng-shui-focus-task-content{min-height:0;padding-bottom:var(--space-step-07);overflow:auto}.feng-shui-focus-actions{padding-top:var(--space-step-07);flex-shrink:0}@media (max-width:639px){.feng-shui-focus-mascot{top:var(--space-step-04);align-items:center;bottom:auto}.feng-shui-focus-mascot .feng-shui-sinsae{width:32px;height:32px}.feng-shui-focus-mascot small{max-width:180px;padding:var(--space-step-04);font-size:var(--text-step-05)}.feng-shui-focus-visuals figcaption{min-height:44px}}.feng-shui-walk-complete{width:min(520px,calc(100% - var(--space-step-20)))}.feng-shui-focus-drawing{flex-direction:column;flex:1;width:100%;min-height:0;display:flex}.feng-shui-focus-callout{text-align:center;color:var(--accent);padding:var(--space-step-07);border-bottom:1px solid var(--line);flex:none;font-weight:600}.feng-shui-focus-drawing .plan2d{border:0;flex:1;height:auto;min-height:0}.feng-shui-focus-drawing .plan2d>svg{width:100%;height:100%}.feng-shui-focus-visuals{gap:var(--space-step-11);grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr)}.feng-shui-focus-elevations{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr 1fr;min-height:0;display:grid}.feng-shui-focus-elevation-pane{text-align:center;flex-direction:column;min-width:0;min-height:0;display:flex}.feng-shui-focus-elevation-pane strong{margin-top:var(--space-step-07);font-size:var(--text-step-07);color:var(--dim);display:block}.feng-shui-focus-elevation-pane svg{flex:1;width:100%;height:0;min-height:0;max-height:280px}.feng-shui-focus-elevations>p{text-align:center;font-size:var(--text-step-09);color:var(--accent);margin:var(--space-step-07);grid-column:1/-1}.feng-shui-focus-plan{padding-bottom:var(--space-step-24)}.feng-shui-focus-mascot{background:var(--panel);border-top:1px solid var(--line);justify-content:center;align-items:center;height:48px;inset:auto 0 0}.feng-shui-focus-mascot .feng-shui-sinsae{width:40px;height:46px}.feng-shui-focus-manual{grid-template-columns:minmax(0,1fr)}.feng-shui-focus-manual input{max-width:180px}.feng-shui-focus-options button{flex:150px}.feng-shui-focus-summary{margin:var(--space-step-13) auto;width:min(850px,calc(100% - var(--space-step-20)));min-height:0;overflow:auto}.feng-shui-focus-summary h2{margin:0}.feng-shui-focus-summary h3{font-size:var(--text-step-11);margin-bottom:var(--space-step-07)}.feng-shui-focus-summary ul{margin:0;padding:0;list-style:none}.feng-shui-focus-summary li{padding:var(--space-step-07) 0;border-bottom:1px solid var(--line);font-size:var(--text-step-09);overflow-wrap:anywhere}.feng-shui-focus-summary li span{color:var(--dim);display:block}.feng-shui-focus-coverage{font-size:var(--text-step-07);color:var(--dim)}@media (max-width:1023px) and (min-width:640px){.feng-shui-focus-visuals{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}}@media (max-width:639px){.feng-shui-focus-options{grid-template-columns:1fr;display:grid;overflow:visible}.feng-shui-focus-options button{width:100%}.feng-shui-focus-task{max-height:53%}.feng-shui-focus-elevation-pane svg{max-height:220px}.feng-shui-focus-mascot{top:auto;bottom:0}.feng-shui-focus-mascot .feng-shui-sinsae{width:36px;height:44px}.feng-shui-focus-plan{padding-bottom:var(--space-step-23)}}@media (min-width:1024px){.feng-shui-focus-workspace:not(:has([data-focus-summary])){grid-template-rows:auto auto minmax(190px,.75fr) minmax(280px,1fr);grid-template-columns:minmax(0,1.5fr) minmax(440px,1fr);display:grid}.feng-shui-focus-workspace>header,.feng-shui-focus-location{grid-column:1/-1}.feng-shui-focus-visuals{display:contents}.feng-shui-focus-plan{grid-area:3/1/5;margin-left:var(--space-step-17)!important;margin-right:var(--space-step-11)!important;margin-bottom:var(--space-step-13)!important}.feng-shui-focus-image{grid-area:3/2;margin-right:var(--space-step-17)!important}.feng-shui-focus-task{max-height:none;padding:var(--space-step-11) var(--space-step-17);grid-area:4/2}.feng-shui-focus-task p{font-size:var(--text-step-09)}.feng-shui-focus-options{grid-template-columns:1fr;display:grid}.feng-shui-focus-options button{width:100%}.feng-shui-focus-task fieldset{border:0;padding:0}}.feng-shui-focus-body{display:contents}.feng-shui-focus-phone-footer{display:none}@media (max-width:639px){.feng-shui-focus-body{flex:1;min-height:0;display:block;overflow:hidden auto}.feng-shui-focus-visuals{height:340px;min-height:340px}.feng-shui-focus-task{max-height:none;overflow:visible}.feng-shui-focus-task-content{overflow:visible}.feng-shui-focus-phone-footer:not(:empty){padding:var(--space-step-07) var(--space-step-11);background:var(--panel);border-top:1px solid var(--line);flex:none;display:block}.feng-shui-focus-phone-footer .feng-shui-focus-actions{padding-top:0}.feng-shui-focus-summary{overflow:visible}}.feng-shui-walk-complete .feng-shui-sinsae-finale{min-height:72px}.feng-shui-walk-complete .feng-shui-sinsae-finale .feng-shui-sinsae{width:48px;height:58px}@media (min-width:1024px){.feng-shui-focus-workspace:not(:has([data-focus-summary])){grid-template-rows:auto auto minmax(0,1fr) minmax(0,1fr)}.feng-shui-focus-task p{margin-block:var(--space-step-04)}.feng-shui-focus-elevation-pane svg{max-height:none}}@media (max-width:639px){.feng-shui-focus-visuals{height:176px;min-height:176px}.feng-shui-focus-plan{padding-bottom:0}.feng-shui-focus-callout,.feng-shui-focus-mascot,.feng-shui-focus-drawing .plan2d-overlay-toolbar{display:none}.feng-shui-focus-task fieldset{border:0;padding:0}.feng-shui-focus-task{border-top:0}.feng-shui-focus-visual-tabs{padding:var(--space-step-07) 0;gap:var(--space-step-04)}.feng-shui-focus-visual-tabs button{min-width:0;padding-inline:var(--space-step-04)}.feng-shui-focus-image{border:1px solid var(--line);margin:0}.feng-shui-focus-image[data-focus-secondary-image=hidden]{display:none}.feng-shui-focus-image .feng-shui-focus-elevation-pane svg{flex:none;height:220px}.feng-shui-focus-body{padding-bottom:var(--space-step-11);scroll-padding-block:var(--space-step-11)}.feng-shui-focus-location{padding-bottom:var(--space-step-07)}}.feng-shui-focus-elevation-size{font-size:var(--text-step-09)}.feng-shui-focus-elevation-sill{font-size:var(--text-step-07);color:var(--dim);margin-top:var(--space-step-04)}.feng-shui-spatial-comparison{gap:var(--space-step-09);grid-template-columns:1fr 1fr;width:100%;height:100%;display:grid}.feng-shui-spatial-comparison>div{flex-direction:column;min-width:0;min-height:0;display:flex}.feng-shui-spatial-comparison .feng-shui-focus-drawing{flex:1;min-height:180px}.feng-shui-spatial-comparison .feng-shui-focus-callout{display:none}.feng-shui-spatial-controls button,.feng-shui-spatial-controls select{min-height:44px;margin:var(--space-step-04)}[data-focus-spatial=true] .feng-shui-focus-plan{border:2px solid var(--accent)}@media (max-width:639px){[data-focus-spatial=true] .feng-shui-focus-visuals{height:280px;min-height:280px}.feng-shui-spatial-comparison{min-height:260px}}.feng-shui-focus-entry-pending{z-index:90;padding:var(--space-step-14);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow-lg);position:absolute;inset:20% 15% auto}.feng-shui-focus-entry-pending button{min-height:44px;margin:var(--space-step-04)}.feng-shui-spatial-comparison .plan2d-overlay-toolbar{display:none}.feng-shui-rule-details{min-height:44px}.feng-shui-edit-reminder{min-height:0;max-height:min(32dvh,280px);margin:var(--space-step-06) var(--space-step-11);padding:var(--space-step-10);border:1px solid var(--accent);background:var(--panel);color:var(--text);box-shadow:var(--shadow-lg);flex-direction:column;flex:none;display:flex;position:relative}.feng-shui-edit-reminder strong{display:inline}.feng-shui-edit-reminder [data-focus-editor-toggle]{margin-inline-start:var(--space-step-06)}.feng-shui-edit-reminder [hidden]{display:none}.feng-shui-focus-primary{background:var(--accent);color:var(--bg);order:-1}.feng-shui-edit-reminder p{margin:var(--space-step-06) 0}.feng-shui-edit-reminder div{gap:var(--space-step-06);flex-wrap:wrap;display:flex}.feng-shui-edit-reminder>div:not(.feng-shui-edit-instructions),.feng-shui-edit-reminder>p{flex:none}.feng-shui-edit-reminder .feng-shui-edit-heading{align-items:center}.feng-shui-edit-heading strong{flex:1;min-width:0}.feng-shui-edit-reminder button{min-width:44px;min-height:44px;padding:var(--space-step-06);border:1px solid var(--line);color:var(--text);background:var(--panel-2)}.feng-shui-focus-structural-primary{min-height:44px;padding:var(--space-step-10);background:var(--accent);color:var(--bg);border:1px solid var(--accent)}[data-focus-structural-group]{color:var(--accent);display:block}.feng-shui-focus-visuals[data-focus-guidance-only]{grid-template-columns:minmax(0,1fr)}@media (min-width:1024px){.feng-shui-focus-workspace:has([data-focus-guidance-only]) .feng-shui-focus-task{grid-row:3/5;align-self:stretch}}@media (max-width:767px){:is(.studio-shell:has(>.feng-shui-edit-reminder) .side-panel,.studio-shell:has(>.feng-shui-edit-reminder) .side-panel-backdrop){position:absolute}}@media (max-width:639px){.feng-shui-focus-visuals[data-focus-guidance-only]{height:300px;min-height:300px}.feng-shui-edit-reminder{margin:var(--space-step-04) var(--space-step-07);font-size:var(--text-step-08)}.feng-shui-edit-reminder div{grid-template-columns:repeat(3,minmax(0,1fr)) 44px;display:grid}}.feng-shui-edit-reminder .feng-shui-edit-instructions{flex:auto;min-height:0;max-height:28dvh;display:block;overflow:auto}.feng-shui-edit-reminder .feng-shui-edit-heading{display:flex}.feng-shui-edit-reminder .feng-shui-edit-instructions[hidden]{display:none}.feng-shui-dimension-group>summary{min-height:44px;padding-block:var(--space-step-07);cursor:pointer}.feng-shui-dimension-group label{align-items:center;gap:var(--space-step-07);min-height:44px;display:flex}.feng-shui-dimension-group fieldset{max-height:220px;overflow:auto}
