@layer reset,tokens,base,components,layout,features,responsive;@layer reset{*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:320px;min-height:100%;overflow-x:hidden}}@layer base{:root{font-family:var(--font-ui, "Segoe UI", Tahoma, Geneva, Verdana, sans-serif);color:var(--color-text, #17201f);background:var(--color-page, #e4e4dc);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{color:var(--color-text, #17201f);background:var(--color-page, #e4e4dc)}}@layer reset,tokens,base,components,layout,features,responsive;@layer tokens{:root{color-scheme:light;--font-ui: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;--font-technical: "Arial Narrow", "Aptos Narrow", "Segoe UI", sans-serif;--font-data: ui-monospace, "SFMono-Regular", Consolas, "Liberation Mono", monospace;--palette-paper: #fbfaf6;--palette-panel: #f2f0e7;--palette-page: #e4e4dc;--palette-ink: #17201f;--palette-muted: #68746f;--palette-rule: #c9c5b7;--palette-teal: #2c716b;--palette-rust: #c85f3d;--document-paper: #fbfaf6;--document-ink: #17201f;--document-muted: #68746f;--document-rule: #c9c5b7;--document-teal: #2c716b;--document-rust: #c85f3d;--document-blue: #1f63a2;--document-amber: #af6e21;--document-green: #2e6f54;--document-timber: #9a6b3f;--document-steel: #657080;--document-concrete: #aaa596;--document-glass: #7fb8c7;--document-ground: #7a8c68;--document-white: #ffffff;--document-black: #111716;--color-page: var(--palette-page);--color-page-grid-minor: rgba(23, 32, 31, .035);--color-page-grid: rgba(23, 32, 31, .075);--color-shell: rgba(242, 240, 231, .96);--color-panel: var(--palette-panel);--color-card: var(--palette-paper);--color-card-muted: #e9e7dd;--color-stage: #343d3b;--color-stage-text: #f1f0e8;--color-stage-muted: #aab3ae;--color-stage-rule: #4d5a56;--color-stage-grid-minor: rgba(235, 237, 226, .025);--color-stage-grid: rgba(235, 237, 226, .07);--color-text: var(--palette-ink);--color-muted: var(--palette-muted);--color-border: var(--palette-rule);--color-border-soft: rgba(201, 197, 183, .58);--color-primary: var(--palette-teal);--color-primary-hover: #245f5a;--color-primary-contrast: #ffffff;--color-accent: var(--palette-teal);--color-accent-hover: #245f5a;--color-accent-soft: rgba(44, 113, 107, .13);--color-accent-contrast: #ffffff;--color-danger: var(--palette-rust);--color-danger-hover: #a94e32;--color-danger-soft: rgba(200, 95, 61, .13);--color-success: var(--palette-teal);--color-success-hover: #245f5a;--color-success-soft: rgba(44, 113, 107, .13);--color-warning: #af6e21;--color-warning-hover: #8c571a;--color-warning-soft: rgba(175, 110, 33, .14);--color-info: #1f63a2;--color-info-hover: #174f83;--color-info-soft: rgba(31, 99, 162, .13);--color-scrim: rgba(17, 23, 22, .68);--focus-ring: rgba(44, 113, 107, .28);--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-6: 24px;--radius-none: 0;--radius-tight: 2px;--radius-control: 2px;--radius-panel: 4px;--radius-round: 999px;--control-height-compact: 28px;--control-height: 32px;--control-hit-target: 44px;--control-checkbox-size: 18px;--control-visually-hidden-size: 1px;--control-textarea-min-height: 72px;--font-size-caption: .625rem;--font-size-label: .6875rem;--font-size-control: .75rem;--font-size-body: .8125rem;--font-size-title: 1rem;--shadow-soft: 0 5px 16px rgba(23, 32, 31, .12);--shadow-elevated: 0 16px 42px rgba(23, 32, 31, .2);--shadow-control: 0 1px 0 rgba(23, 32, 31, .12);--technical-page-grid: linear-gradient(90deg, var(--color-page-grid) 1px, transparent 1px), linear-gradient(var(--color-page-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-page-grid-minor) 1px, transparent 1px), linear-gradient(var(--color-page-grid-minor) 1px, transparent 1px), var(--color-page);--stage-grid-background: linear-gradient(90deg, var(--color-stage-grid) 1px, transparent 1px), linear-gradient(var(--color-stage-grid) 1px, transparent 1px), linear-gradient(90deg, var(--color-stage-grid-minor) 1px, transparent 1px), linear-gradient(var(--color-stage-grid-minor) 1px, transparent 1px), var(--color-stage)}:root[data-color-mode=dark]{color-scheme:dark;--palette-page: #151b1a;--palette-panel: #242d2b;--palette-paper: #2b3532;--palette-ink: #f1f0e8;--palette-muted: #aab3ae;--palette-rule: #4d5a56;--palette-teal: #69aaa2;--palette-rust: #e27b58;--color-page: var(--palette-page);--color-page-grid-minor: rgba(241, 240, 232, .025);--color-page-grid: rgba(241, 240, 232, .06);--color-shell: rgba(28, 36, 34, .97);--color-panel: var(--palette-panel);--color-card: var(--palette-paper);--color-card-muted: #202826;--color-stage: #111716;--color-stage-text: #f1f0e8;--color-stage-muted: #aab3ae;--color-stage-rule: #4d5a56;--color-stage-grid-minor: rgba(241, 240, 232, .025);--color-stage-grid: rgba(241, 240, 232, .07);--color-text: var(--palette-ink);--color-muted: var(--palette-muted);--color-border: var(--palette-rule);--color-border-soft: rgba(77, 90, 86, .66);--color-primary: var(--palette-teal);--color-primary-hover: #82beb7;--color-primary-contrast: #111716;--color-accent: var(--palette-teal);--color-accent-hover: #82beb7;--color-accent-soft: rgba(105, 170, 162, .16);--color-accent-contrast: #111716;--color-danger: var(--palette-rust);--color-danger-hover: #ee9273;--color-danger-soft: rgba(226, 123, 88, .17);--color-success: var(--palette-teal);--color-success-hover: #82beb7;--color-success-soft: rgba(105, 170, 162, .16);--color-warning: #e0a45a;--color-warning-hover: #edba7c;--color-warning-soft: rgba(224, 164, 90, .17);--color-info: #78aeda;--color-info-hover: #98c1e2;--color-info-soft: rgba(120, 174, 218, .17);--color-scrim: rgba(8, 12, 11, .78);--focus-ring: rgba(105, 170, 162, .36);--shadow-soft: 0 5px 18px rgba(0, 0, 0, .3);--shadow-elevated: 0 18px 46px rgba(0, 0, 0, .4);--shadow-control: 0 1px 0 rgba(0, 0, 0, .34)}}@layer components{.ui-button,.icon-button,.row-action,.toolbar-button{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-card);box-shadow:var(--shadow-control);cursor:pointer;font-family:var(--font-ui);font-size:var(--font-size-control);font-weight:750;line-height:1;transition:background-color .1s ease,border-color .1s ease,color .1s ease,transform .1s ease}.ui-input,.ui-select,.ui-textarea,.ui-file-input,.field-shell>input,.field-shell>select,.field-shell>textarea,.number-input-frame{border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text);background:var(--color-card);box-shadow:var(--shadow-control);font-family:var(--font-ui);font-size:var(--font-size-control)}.ui-input,.ui-select,.field-shell>input,.field-shell>select{min-height:var(--control-height);padding:0 var(--space-2)}.ui-select,.field-shell>select{padding-right:var(--space-6)}.ui-textarea,.field-shell>textarea{min-height:calc(var(--control-height) * 2);padding:var(--space-2);resize:vertical}.ui-file-input,.field-shell>.ui-file-input{min-height:var(--control-height);padding:var(--space-0-5)}.ui-file-input::file-selector-button{min-height:var(--control-height-compact);margin-right:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-tight);color:var(--color-text);background:var(--color-card-muted);font:inherit;cursor:pointer}.ui-input:focus,.ui-select:focus,.ui-textarea:focus,.ui-file-input:focus,.field-shell>input:focus,.field-shell>select:focus,.field-shell>textarea:focus{border-color:var(--color-accent);outline:2px solid var(--focus-ring);outline-offset:1px}.ui-checkbox{width:16px;height:16px;margin:0;accent-color:var(--color-primary)}.ui-button{display:inline-flex;justify-content:center;gap:var(--space-1-5);min-height:var(--control-height);padding:0 var(--space-3)}.ui-button--compact{min-height:var(--control-height-compact);padding-inline:var(--space-2)}.ui-button--touch{min-height:var(--control-hit-target)}.ui-button--primary{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.ui-button--danger{border-color:var(--color-danger);color:var(--color-primary-contrast);background:var(--color-danger)}.ui-button--ghost,.toolbar-button{border-color:transparent;background:transparent;box-shadow:none}.ui-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.row-action:hover:not(:disabled),.toolbar-button:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-soft)}.ui-button--primary:hover:not(:disabled){border-color:var(--color-primary-hover);color:var(--color-primary-contrast);background:var(--color-primary-hover)}.ui-button--danger:hover:not(:disabled){border-color:var(--color-danger-hover);background:var(--color-danger-hover)}.ui-button:focus-visible,.icon-button:focus-visible,.row-action:focus-visible,.toolbar-button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.ui-button:disabled,.icon-button:disabled,.row-action:disabled,.toolbar-button:disabled{cursor:not-allowed;opacity:.42}.icon-button,.row-action,.toolbar-button{display:inline-flex;justify-content:center;width:var(--control-height);height:var(--control-height);padding:0}.icon-button--compact,.row-action--compact,.toolbar-button--compact{width:var(--control-height-compact);height:var(--control-height-compact)}.icon-button--touch,.row-action--touch,.toolbar-button--touch{width:var(--control-hit-target);height:var(--control-hit-target)}.toolbar-button[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.ui-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-1);min-height:var(--control-height)}.ui-toolbar-group{align-items:center;display:inline-flex;gap:var(--space-0-5)}.ui-toolbar-group+.ui-toolbar-group{border-left:1px solid var(--color-border);margin-left:var(--space-1);padding-left:var(--space-2)}.ui-segmented{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-control);display:inline-flex;overflow:hidden}.ui-segmented-option{min-height:var(--control-height-compact);border:0;border-right:1px solid var(--color-border);padding-inline:var(--space-2);color:var(--color-muted);background:var(--color-card);font:750 var(--font-size-control)/1 var(--font-ui);cursor:pointer}.ui-segmented-option:last-child{border-right:0}.ui-segmented-option.active{color:var(--color-primary-contrast);background:var(--color-primary)}.ui-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-panel)}.ui-panel-header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;gap:var(--space-2);justify-content:space-between;min-height:var(--control-height);padding:var(--space-1-5) var(--space-2)}.ui-panel-header h2,.ui-panel-header h3{font-family:var(--font-technical);font-size:var(--font-size-title);letter-spacing:.02em;line-height:1;margin:0;text-transform:uppercase}.ui-badge,.ui-status{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-round);display:inline-flex;font-family:var(--font-data);font-size:var(--font-size-caption);font-variant-numeric:tabular-nums;gap:var(--space-1);min-height:20px;padding:2px var(--space-1-5)}.ui-status--danger{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.ui-badge--success,.ui-status--success{border-color:var(--color-success);color:var(--color-success);background:var(--color-accent-soft)}.ui-validation{border:1px solid var(--color-border);border-radius:var(--radius-tight);margin:0;padding:var(--space-2);color:var(--color-text);background:var(--color-card);font-size:var(--font-size-control)}.ui-validation--error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.ui-validation--success{border-color:var(--color-success);color:var(--color-success);background:var(--color-accent-soft)}.ui-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:grid;place-items:center;padding:var(--space-4);background:color-mix(in srgb,var(--color-stage) 72%,transparent)}.ui-dialog,.ui-popover{border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-panel);box-shadow:var(--shadow-elevated)}.ui-dialog{max-height:calc(100dvh - (2 * var(--space-4)));overflow:hidden}.ui-dialog-header{min-height:var(--control-height);display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);border-bottom:1px solid var(--color-border);padding:var(--space-2)}.viewport-zoom-controls,.viewport-camera-controls,.length-unit-control{align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-panel);display:inline-flex;gap:var(--space-0-5);padding:var(--space-0-5);color:var(--color-text);background:color-mix(in srgb,var(--color-panel) 94%,transparent);box-shadow:var(--shadow-soft)}.viewport-camera-controls{bottom:var(--space-3);position:absolute;right:var(--space-3);z-index:8}.viewport-zoom-percent{align-items:center;border-inline:1px solid var(--color-border);display:inline-flex;height:var(--control-height-compact);padding-inline:var(--space-1)}.viewport-zoom-percent input{border:0;color:inherit;background:transparent;font-family:var(--font-data);font-size:var(--font-size-control);font-variant-numeric:tabular-nums;outline:0;padding:0;text-align:right;width:4.5ch}.viewport-zoom-percent span{color:var(--color-muted);font-family:var(--font-data);font-size:var(--font-size-label)}.viewport-fit-button{box-shadow:none;text-transform:uppercase}.length-unit-control .ui-button{min-width:var(--control-height-compact);padding-inline:var(--space-1-5);text-transform:lowercase}.length-unit-control .ui-button[aria-pressed=true]{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}@media(pointer:coarse),(max-width:820px){.ui-button,.icon-button,.row-action,.toolbar-button{min-height:var(--control-hit-target)}.icon-button,.row-action,.toolbar-button{min-width:var(--control-hit-target);width:var(--control-hit-target);height:var(--control-hit-target)}}}@layer features{#root{min-height:100%}.app-shell{--app-header-height: 44px;--app-rail-width: 48px;position:fixed;top:0;right:0;bottom:0;left:0;height:100vh;height:100dvh;min-height:0;display:grid;grid-template-columns:var(--app-rail-width) minmax(0,1fr);grid-template-rows:var(--app-header-height) minmax(0,1fr);overflow:hidden;color:var(--color-text);background:var(--technical-page-grid);background-size:32px 32px,32px 32px,8px 8px,8px 8px}.start-screen{min-height:100vh;display:grid;grid-template-rows:minmax(0,1fr) auto;color:var(--color-text);background:var(--technical-page-grid);background-size:32px 32px,32px 32px,8px 8px,8px 8px}.app-version{position:fixed;right:10px;bottom:8px;z-index:1000;border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:var(--radius-panel);padding:4px 7px;color:color-mix(in srgb,var(--color-text) 72%,transparent);background:color-mix(in srgb,var(--color-card) 82%,transparent);font-size:.68rem;font-weight:850;line-height:1;pointer-events:none}.start-screen>.language-selector{position:fixed;top:12px;right:12px;z-index:20}.start-hero,.start-free{min-width:0;padding-inline:clamp(18px,5vw,72px)}.start-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-4);min-height:0;padding-block:clamp(28px,6vh,64px);text-align:center}.start-brand{display:flex;flex-direction:column;align-items:center;gap:14px;max-width:720px}.start-brand-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--color-danger);border-radius:var(--radius-panel);color:var(--color-primary-contrast);background:var(--color-danger)}.start-brand p,.start-free-heading p{margin:0 0 8px;color:var(--color-muted);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.start-brand h1{max-width:760px;margin:0;color:var(--color-text);font-family:var(--font-technical);font-size:clamp(1.8rem,4vw,3rem);line-height:1;letter-spacing:.025em;text-transform:uppercase}.start-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.start-disclaimer,.start-legal-strip{display:grid;align-items:center;gap:9px;width:min(680px,100%);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px 12px;color:var(--color-text);background:color-mix(in srgb,var(--color-card) 72%,transparent);font-size:.82rem;font-weight:800;line-height:1.35;text-align:left}.start-disclaimer{grid-template-columns:auto minmax(0,1fr);border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.start-legal-strip{grid-template-columns:auto minmax(0,1fr) auto}.start-disclaimer svg{color:var(--color-danger)}.start-legal-strip svg{color:var(--color-primary)}.start-legal-strip .ui-button,.start-terms-actions .ui-button{border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-primary);background:var(--color-card);font-weight:900;cursor:pointer}.start-legal-strip .ui-button{min-height:var(--control-height);padding:7px 10px;white-space:nowrap}.start-actions .ui-button,.start-submit,.start-auth-heading .ui-button{min-height:var(--control-height);border-radius:var(--radius-panel);font-weight:900;cursor:pointer}.start-actions .ui-button,.start-submit{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--color-primary);padding:10px 16px}.start-primary,.start-submit{color:var(--color-primary-contrast);background:var(--color-primary)}.start-secondary{color:var(--color-primary);background:var(--color-card)}.start-actions .ui-button:disabled,.start-submit:disabled{opacity:.48;cursor:not-allowed}.start-auth-form{display:grid;gap:12px;width:min(440px,100%);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-3);background:color-mix(in srgb,var(--color-card) 86%,transparent);text-align:left}.start-auth-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.start-auth-heading h2{margin:0;font-size:1.1rem}.start-auth-heading .ui-button{border:1px solid var(--color-border);padding:8px 10px;color:var(--color-primary);background:var(--color-card-muted)}.start-auth-links{display:flex;flex-wrap:wrap;gap:8px}.start-auth-links .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 10px;color:var(--color-primary);background:var(--color-card);font-size:.78rem;font-weight:900}.start-auth-links .ui-button:disabled{opacity:.48;cursor:not-allowed}.start-terms-note{margin:0;color:var(--color-muted);font-size:.78rem;font-weight:800;line-height:1.45}.start-terms-acceptance{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:11px;background:var(--color-card)}.start-auth-form .start-terms-acceptance .ui-checkbox{width:var(--control-checkbox-size);height:var(--control-checkbox-size);min-height:var(--control-checkbox-size);margin-top:2px;accent-color:var(--color-primary)}.start-terms-acceptance label{display:block;color:var(--color-text);font-size:.8rem;font-weight:900;line-height:1.4}.start-terms-actions{grid-column:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.start-terms-actions .ui-button{min-height:var(--control-height);padding:5px 8px;font-size:.76rem}.start-auth-form label{display:grid;gap:6px;color:var(--color-text);font-size:.78rem;font-weight:900}.start-auth-form .ui-input{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-control);padding:0 var(--space-2);color:var(--color-text);background:var(--color-card);font:inherit}.start-message{width:min(520px,100%);margin:0;border-left:4px solid var(--color-primary);padding:11px 13px;color:var(--color-text);background:color-mix(in srgb,var(--color-card) 92%,transparent);font-weight:800}.start-message.error{border-color:var(--color-danger);color:var(--color-danger)}.start-free{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;border-top:1px solid var(--color-border);padding-block:clamp(18px,2.8vw,34px);background:color-mix(in srgb,var(--color-card) 52%,transparent)}.start-free-heading h2{margin:0;color:var(--color-text);font-size:clamp(1.35rem,2vw,1.95rem);letter-spacing:0}.free-workspace-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.free-workspace{display:grid;grid-template-columns:38px minmax(0,1fr) 20px;grid-template-areas:"icon title arrow" "icon text arrow";align-items:center;gap:2px 12px;min-height:84px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;color:var(--color-text);background:var(--color-card);text-align:left;cursor:pointer}.free-workspace>span{grid-area:icon;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:var(--radius-panel);color:var(--color-primary-contrast);background:var(--color-danger)}.free-workspace strong{grid-area:title;font-size:.95rem}.free-workspace small{grid-area:text;color:var(--color-muted);font-size:.76rem;font-weight:750;line-height:1.35}.free-workspace>svg{grid-area:arrow;color:var(--color-primary)}}@layer features{.topbar{position:sticky;top:0;z-index:30;height:var(--app-header-height, 44px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 24px;border-bottom:1px solid var(--color-border);background:var(--color-shell);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand-mark,.run-state{display:flex;align-items:center;gap:12px}.brand-mark{min-width:0;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.brand-mark>div{min-width:0}.brand-mark svg{color:var(--color-danger)}.brand-mark:hover h1,.brand-mark:focus-visible h1,.brand-mark.active h1{color:var(--color-text)}.brand-mark:focus-visible{outline:3px solid color-mix(in srgb,var(--color-danger) 28%,transparent);outline-offset:4px}.topbar-menu{display:contents}.topbar-workspace-controls{display:none}.topbar-menu-toggle{display:none;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-primary);background:var(--color-card);cursor:pointer}.topbar-menu-toggle:focus-visible{outline:3px solid color-mix(in srgb,var(--color-danger) 28%,transparent);outline-offset:2px}.workspace-switcher{flex:0 0 auto;display:inline-flex;min-width:max-content;border:1px solid var(--color-border);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-card)}.workspace-switcher .ui-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:var(--control-height);border:0;border-right:1px solid var(--color-border);padding:0 12px;color:var(--color-text);background:transparent;font-weight:900;cursor:pointer}.workspace-switcher .ui-button:last-child{border-right:0}.workspace-switcher .ui-button.active{color:var(--color-primary-contrast);background:var(--color-primary)}.topbar-install,.topbar-legal,.language-selector{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 12px;color:var(--color-primary);background:var(--color-card);font-size:.82rem;font-weight:900;cursor:pointer}.topbar-install:hover,.topbar-install:focus-visible,.topbar-legal:hover,.topbar-legal:focus-visible,.language-selector:hover,.language-selector:focus-within{border-color:var(--color-primary);background:var(--color-card-muted)}.language-selector{width:auto;min-width:112px;cursor:default}.language-selector span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.language-selector .ui-select{min-height:var(--control-height-compact);border:0;color:inherit;background:transparent;font:inherit;font-weight:900;cursor:pointer}.topbar-legal{width:40px;min-width:40px;padding:0}.topbar-legal span{display:none}.account-panel{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;align-items:end;gap:8px;max-width:560px}.account-login{grid-template-columns:minmax(150px,1fr) minmax(130px,1fr) max-content;grid-auto-flow:row;align-items:end}.account-panel label{font-size:.72rem}.account-panel .ui-input{min-height:var(--control-height);padding:7px 9px}.account-card{display:flex;align-items:center;gap:8px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 10px;background:var(--color-card)}.account-card svg,.professional-heading svg{color:var(--color-primary)}.account-card strong{display:block;max-width:150px;overflow:hidden;color:var(--color-text);font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}.account-card span,.account-message{color:var(--color-muted);font-size:.72rem;font-weight:800}.account-action,.professional-actions .ui-button,.professional-upgrade{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 12px;color:var(--color-primary-contrast);background:var(--color-primary);font-size:.82rem;font-weight:900;cursor:pointer}.account-upgrade{display:grid;grid-template-columns:max-content;gap:4px;align-items:center}.account-upgrade .account-action{width:100%}.account-info-link{border:0;padding:0;color:var(--color-primary);background:transparent;font-size:.7rem;font-weight:900;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.account-info-link:hover,.account-info-link:focus-visible{color:var(--color-text)}.account-action:disabled,.professional-actions .ui-button:disabled,.professional-upgrade:disabled{opacity:.48;cursor:not-allowed}.report-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:42px;margin:0 0 14px;border:1px solid var(--color-primary);border-radius:var(--radius-panel);color:var(--color-primary-contrast);background:var(--color-primary);font-weight:850;cursor:pointer}.report-button:hover{background:var(--color-text)}.account-message{grid-column:1 / -1;margin:0}.account-message.error{color:var(--color-danger)}}@layer features{.home-landing{display:grid;gap:var(--space-3);width:min(1360px,calc(100% - 48px));margin:0 auto;padding:var(--space-4)}.home-heading{display:grid;grid-template-columns:minmax(220px,1fr) minmax(320px,auto);gap:var(--space-3);align-items:end;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-3);background:var(--color-card)}.home-heading span,.home-section-heading span,.home-summary-card span,.home-project-card dt,.home-project-role{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.home-heading h2{margin:0;color:var(--color-text);font-family:var(--font-technical);font-size:1.5rem;letter-spacing:.025em;text-transform:uppercase;line-height:1}.home-heading-actions{display:flex;flex-wrap:wrap;align-items:end;justify-content:end;gap:10px}.home-project-select .ui-select{min-width:calc(var(--control-height) * 7.5)}.home-open-active,.home-new-project,.home-project-create-actions .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 12px;color:var(--color-primary);background:var(--color-card);font-size:.84rem;font-weight:900;cursor:pointer}.home-open-active:hover,.home-open-active:focus-visible,.home-new-project:hover,.home-new-project:focus-visible,.home-project-create-actions .ui-button:hover,.home-project-create-actions .ui-button:focus-visible{border-color:var(--color-primary);background:var(--color-card-muted)}.home-open-active:disabled,.home-new-project:disabled,.home-project-create-actions .ui-button:disabled{opacity:.5;cursor:not-allowed}.home-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.home-summary-card,.home-projects-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 84%,transparent)}.home-summary-card{display:grid;gap:5px;min-height:64px;padding:var(--space-3)}.home-summary-card strong{min-width:0;overflow:hidden;color:var(--color-text);font-family:var(--font-data);font-size:1.15rem;font-variant-numeric:tabular-nums;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.home-projects-panel{display:grid;gap:14px;padding:16px}.home-section-heading{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.home-section-heading svg{color:var(--color-primary)}.home-section-heading strong{display:block;color:var(--color-text)}.home-project-create{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr)) auto;gap:10px;align-items:end;border-top:1px solid var(--color-border);padding-top:14px}.home-project-create-warning{grid-column:1 / -1;margin:0}.home-project-create-actions{display:flex;gap:8px;align-items:center}.home-project-create .project-primary{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.home-project-message,.home-project-verification{display:inline-flex;align-items:center;justify-self:start}.home-project-message{gap:9px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px 12px;color:var(--color-text);background:var(--color-card-muted);font-size:.86rem;font-weight:850}.home-project-message.error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.home-project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.home-project-card{position:relative;min-height:232px;border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);text-align:left}.home-project-card-main{display:grid;grid-template-rows:auto auto minmax(36px,auto) auto auto;gap:9px;width:100%;min-height:230px;border:0;border-radius:inherit;padding:14px 52px 14px 14px;color:inherit;background:transparent;text-align:left;cursor:pointer}.home-project-card:hover,.home-project-card:focus-within,.home-project-card.active{border-color:var(--color-primary);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent)}.home-project-card-main:focus-visible{outline:3px solid color-mix(in srgb,var(--color-danger) 28%,transparent);outline-offset:2px}.home-project-delete{position:absolute;top:12px;right:12px;color:var(--color-danger);background:var(--color-danger-soft)}.home-project-delete:hover:not(:disabled),.home-project-delete:focus-visible{border-color:var(--color-danger);color:var(--color-primary-contrast);background:var(--color-danger)}.home-project-card strong,.home-project-card small{min-width:0;overflow:hidden;text-overflow:ellipsis}.home-project-card strong{font-size:1.08rem;line-height:1.2}.home-project-card small{color:var(--color-muted);font-size:.82rem;font-weight:750}.home-project-card dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0}.home-project-card dl div{display:grid;gap:2px;min-width:0}.home-project-card dd,.home-summary-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-project-card dd{margin:0;color:var(--color-text);font-weight:900}.home-project-verification{gap:7px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:7px 10px;color:var(--color-danger);background:var(--color-danger-soft);font-size:.78rem;font-style:normal;font-weight:900}.home-project-verification.verified{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-card-muted)}.home-project-verification.requires-change{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.home-empty-projects{display:grid;justify-items:start;gap:7px;border:1px dashed var(--color-border);border-radius:var(--radius-panel);padding:18px;color:var(--color-muted);background:var(--color-card-muted)}.home-empty-projects svg{color:var(--color-primary)}.home-empty-projects strong{color:var(--color-text)}@media(max-width:820px){.home-landing{width:100%;padding:14px}.home-heading,.home-summary,.home-project-create,.home-section-heading{grid-template-columns:1fr}.home-heading-actions,.home-project-create-actions,.home-heading-actions .ui-button,.home-project-create-actions .ui-button,.home-project-select,.home-project-select .ui-select{width:100%}.home-project-card dl{grid-template-columns:1fr}}}@layer features{.project-strip{display:grid;gap:10px;border-bottom:1px solid var(--color-border);padding:12px 24px;background:var(--color-border)}.project-strip-main,.project-create-row,.project-actions,.invite-banner,.review-mark{display:flex;align-items:end;gap:10px;min-width:0}.project-strip-main{flex-wrap:wrap}.project-strip-compact{padding-block:8px}.project-strip-compact .project-strip-main{align-items:center}.module-beta-disclaimer{display:flex;align-items:center;gap:9px;width:fit-content;max-width:100%;border:1px solid var(--color-danger);border-radius:var(--radius-panel);padding:8px 10px;color:var(--color-danger);background:var(--color-danger-soft)}.module-beta-disclaimer svg{flex:0 0 auto}.module-beta-disclaimer div{display:grid;gap:2px}.module-beta-disclaimer strong,.module-beta-disclaimer span{font-size:.78rem;line-height:1.25}.module-beta-disclaimer strong{font-weight:900}.module-beta-disclaimer span{font-weight:750}.project-compact-title{min-height:var(--control-height)}.project-create-row{flex-wrap:wrap;align-items:end;border-top:1px solid var(--color-border);padding-top:10px}.project-create-actions{display:flex;align-items:center;gap:8px}.project-create-warning{flex-basis:100%;margin:0}.project-title{display:flex;align-items:center;gap:9px;min-width:210px}.project-title svg,.invite-banner svg,.review-mark svg{color:var(--color-primary)}.project-title span,.project-strip label,.engineer-profile summary,.project-group-header span,.project-child-list span{color:var(--color-muted);font-size:.72rem;font-weight:800}.project-title strong{display:block;max-width:230px;overflow:hidden;color:var(--color-text);font-size:.95rem;text-overflow:ellipsis;white-space:nowrap}.project-title small{display:block;max-width:320px;overflow:hidden;color:var(--color-muted);font-size:.72rem;font-weight:750;text-overflow:ellipsis;white-space:nowrap}.project-strip label{display:grid;gap:4px}.project-strip .ui-input,.project-strip .ui-select,.project-strip .ui-textarea{min-height:var(--control-height);font:inherit;font-size:.82rem;font-weight:750}.project-strip .ui-input,.project-strip .ui-textarea{border:1px solid var(--color-primary);border-radius:var(--radius-panel);padding:7px 9px;color:var(--color-text);background:linear-gradient(180deg,var(--color-card) 0%,var(--color-card-muted) 100%)}.project-strip .ui-select{padding-top:7px;padding-bottom:7px;font-weight:850}.project-strip .ui-textarea{min-width:calc(var(--control-height) * 8.125);min-height:var(--control-hit-target);resize:vertical}.project-select .ui-select{min-width:calc(var(--control-height) * 6.875)}.engineer-fields{display:flex;align-items:end;gap:8px}.project-strip .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 11px;color:var(--color-primary);background:var(--color-card);font-size:.8rem;font-weight:900;cursor:pointer}.project-strip .ui-button:disabled{opacity:.5;cursor:not-allowed}.project-strip .project-primary{color:var(--color-primary-contrast);border-color:var(--color-primary);background:var(--color-primary)}.project-actions-panel{border-top:1px solid var(--color-border);padding-top:10px}.project-actions-panel summary{display:inline-flex;align-items:center;gap:8px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 10px;color:var(--color-primary);background:var(--color-card);cursor:pointer}.project-actions-panel summary span{font-size:.8rem;font-weight:900}.project-actions-panel summary small{color:var(--color-muted);font-size:.72rem;font-weight:750}.project-actions-panel[open] .project-actions{margin-top:10px}.project-danger-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;min-width:min(100%,260px)}.project-danger-action{display:flex;align-items:center;gap:8px;min-width:240px}.project-danger-action span{max-width:280px;color:var(--color-muted);font-size:.74rem;font-weight:800;line-height:1.25}.project-danger-action .danger{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.project-danger-action .danger:hover:not(:disabled),.project-danger-action .danger:focus-visible{color:var(--color-primary-contrast);background:var(--color-danger)}.engineer-profile{position:relative;min-width:220px}.engineer-profile summary{display:inline-flex;align-items:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 10px;color:var(--color-primary);background:var(--color-card);cursor:pointer}.review-basis-panel,.engineering-marketplace,.reviewer-declaration-panel{min-width:min(100%,360px)}.review-basis-panel summary,.engineering-marketplace summary,.reviewer-declaration-panel summary{display:inline-flex;align-items:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;color:var(--color-primary);background:var(--color-card);font-size:.78rem;font-weight:900;cursor:pointer}.project-summary-title{display:inline-flex;align-items:center;gap:8px}.review-basis-panel[open],.engineering-marketplace[open],.reviewer-declaration-panel[open]{width:min(100%,860px)}.review-basis-grid,.engineering-marketplace-grid,.reviewer-declaration-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:8px}.engineering-marketplace section,.engineering-marketplace-list,.engineering-marketplace-list article{display:grid;gap:8px}.engineering-marketplace-list{margin-top:10px}.engineering-marketplace-list article{border-top:1px solid var(--color-border);padding-top:8px}.engineering-marketplace-list strong,.engineering-marketplace-list span{color:var(--color-text);font-size:.78rem;font-weight:800}.engineering-marketplace-list span{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.engineer-profile[open]{min-width:min(100%,760px)}.check-control{display:inline-flex;grid-template-columns:auto 1fr;align-items:center;margin:8px 0}.check-control .ui-checkbox{min-height:auto}.invite-banner,.review-mark{align-items:center;border-top:1px solid var(--color-border);padding-top:10px}.review-mark-body{display:grid;gap:2px;min-width:0}.invite-banner div{display:grid;gap:2px}.invite-banner span,.review-mark span,.review-mark strong,.review-mark small,.project-message{color:var(--color-muted);font-size:.78rem;font-weight:800}.review-mark small{font-weight:700}.review-control-panel{display:grid;gap:8px;min-width:min(680px,100%);border-top:1px solid var(--color-border);padding-top:10px}.review-control-panel>strong{color:var(--color-text);font-size:.84rem}.review-control-panel>small{color:var(--color-danger);font-size:.78rem;font-weight:800}.review-control-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1fr);gap:8px;align-items:end}.review-control-row .ui-checkbox{width:100%}.review-control-evidence{grid-column:1 / -1;margin-top:-2px}}@layer features{.construction-marketplace{width:min(100%,980px);border:1px solid var(--color-muted);border-radius:var(--radius-panel);padding:0;color:var(--color-text);background:var(--color-card)}.construction-marketplace>summary{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--color-primary-contrast);background:var(--color-primary);cursor:pointer;letter-spacing:.025em}.construction-marketplace>summary span{font-family:var(--font-technical);font-size:.9rem;font-weight:800}.construction-marketplace>summary small{justify-self:end;color:var(--color-border);font-size:.66rem;font-weight:700;text-transform:uppercase}.construction-marketplace-register{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:16px 14px 10px 43px}.construction-marketplace-card{display:grid;align-content:start;gap:9px;border:1px solid var(--color-border);border-left:4px solid var(--color-danger);padding:10px;background:color-mix(in srgb,var(--color-card) 90%,transparent)}.construction-marketplace-card.contractor{border-left-color:var(--color-muted)}.construction-marketplace-card header{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--color-border);padding-bottom:7px}.construction-marketplace-card header span{display:grid;place-items:center;width:25px;height:25px;color:var(--color-primary-contrast);background:var(--color-danger);font-size:.68rem;font-weight:900}.construction-marketplace-card.contractor header span{background:var(--color-muted)}.construction-marketplace-card header strong,.construction-marketplace-list strong,.construction-marketplace-assignments>strong{font-family:var(--font-technical);font-size:.82rem}.construction-marketplace-dates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.construction-marketplace-list,.construction-marketplace-assignments{display:grid;gap:8px;margin:4px 14px 10px 43px}.construction-marketplace-list article{display:grid;grid-template-columns:minmax(150px,1fr) auto auto;align-items:center;gap:9px;border-top:1px solid var(--color-border);padding:8px 0}.construction-marketplace-list span,.construction-marketplace-evidence{display:inline-flex;align-items:center;gap:7px;color:var(--color-text);font-size:.75rem;font-weight:800}.construction-marketplace-assignments{grid-template-columns:repeat(auto-fit,minmax(180px,max-content));align-items:center}.construction-marketplace-evidence{margin:5px 14px 10px 43px;border:1px dashed var(--color-muted);padding:8px 10px;background:var(--color-card-muted)}.construction-marketplace>.ui-button,.construction-marketplace>.project-action-hint{margin:0 14px 12px 43px}@media(max-width:720px){.construction-marketplace>summary{grid-template-columns:auto 1fr;padding-left:12px}.construction-marketplace>summary small{display:none}.construction-marketplace-register,.construction-marketplace-list,.construction-marketplace-assignments{margin-left:0;padding-left:12px}.construction-marketplace-dates{grid-template-columns:1fr}.construction-marketplace-list article{grid-template-columns:1fr}.construction-marketplace-evidence,.construction-marketplace>.ui-button,.construction-marketplace>.project-action-hint{margin-left:12px}}}@layer features{.material-marketplace{width:min(100%,980px);border:1px solid var(--color-border);border-radius:var(--radius-tight);padding:0;color:var(--color-text);background:var(--color-card)}.material-marketplace>summary{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;min-height:var(--control-height);padding:var(--space-2) var(--space-3);color:var(--color-primary-contrast);background:var(--color-primary);cursor:pointer}.material-marketplace>summary span,.material-marketplace-card header strong,.material-marketplace-owner-list strong,.material-marketplace-assignments>strong{font-family:var(--font-technical);font-weight:700;letter-spacing:.045em}.material-marketplace>summary span{font-size:.92rem}.material-marketplace>summary small{justify-self:end;color:var(--color-primary-contrast);font-size:.65rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.material-marketplace-deck{display:grid;grid-template-columns:minmax(250px,.8fr) minmax(360px,1.7fr);gap:12px;padding:15px 14px 10px 38px}.material-marketplace-card{display:grid;align-content:start;gap:10px;border:1px solid var(--color-border);border-top:2px solid var(--color-danger);padding:11px;background:color-mix(in srgb,var(--color-card) 92%,transparent)}.material-marketplace-card.quote{border-top-color:var(--color-primary)}.material-marketplace-card>header,.material-marketplace-quote header,.material-marketplace-owner-list article>header{display:flex;align-items:center;gap:9px}.material-marketplace-card>header{border-bottom:1px solid var(--color-border);padding-bottom:7px}.material-marketplace-card>header b,.material-marketplace-quote header b{display:inline-grid;place-items:center;min-width:32px;min-height:23px;padding:0 5px;color:var(--color-primary-contrast);background:var(--color-danger);font-family:ui-monospace,monospace;font-size:.65rem;letter-spacing:.08em}.material-marketplace-card.quote>header b,.material-marketplace-quote header b{background:var(--color-primary)}.material-marketplace-dates{display:grid;grid-template-columns:1fr;gap:7px}.material-marketplace-quote{display:grid;gap:8px;max-height:430px;overflow:auto;padding-right:3px}.material-marketplace-quote>section{display:grid;gap:7px;border:1px solid var(--color-border);padding:8px;background:var(--color-card)}.material-marketplace-quote header span{font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.material-marketplace-line{display:grid;grid-template-columns:minmax(150px,1.3fr) repeat(3,minmax(100px,.8fr));gap:7px;align-items:end;border-top:1px dashed var(--color-border);padding-top:7px}.material-marketplace-spec{display:grid;gap:2px;align-self:center}.material-marketplace-spec strong{font-size:.76rem}.material-marketplace-spec small{color:var(--color-muted);font:.66rem ui-monospace,monospace}.material-marketplace-empty{margin:5px 0;color:var(--color-muted);font-size:.75rem}.material-marketplace-owner-list,.material-marketplace-assignments{display:grid;gap:8px;margin:4px 14px 10px 38px}.material-marketplace-owner-list article{display:grid;gap:7px;border-top:1px solid var(--color-border);padding:9px 0}.material-marketplace-owner-list article>header{justify-content:space-between}.material-marketplace-owner-list article>div{display:flex;align-items:center;gap:8px}.material-marketplace-owner-list article>div span{min-width:180px;font:.72rem ui-monospace,monospace}.material-marketplace-owner-list article>.ui-button{justify-self:start}.material-marketplace-assignments{grid-template-columns:repeat(auto-fit,minmax(190px,max-content));align-items:center}.material-marketplace-evidence{display:inline-flex;align-items:center;gap:7px;margin:4px 14px 10px 38px;border:1px dashed var(--color-primary);padding:8px 10px;color:var(--color-primary);background:var(--color-card-muted);font:700 .74rem ui-monospace,monospace}.material-marketplace>.ui-button,.material-marketplace>.project-action-hint{margin:0 14px 12px 38px}@media(max-width:840px){.material-marketplace-deck{grid-template-columns:1fr}.material-marketplace-line{grid-template-columns:1fr 1fr}}@media(max-width:620px){.material-marketplace>summary{grid-template-columns:auto 1fr;padding-left:12px}.material-marketplace>summary small{display:none}.material-marketplace-deck{padding-left:12px}.material-marketplace-line{grid-template-columns:1fr}.material-marketplace-owner-list,.material-marketplace-assignments,.material-marketplace-evidence,.material-marketplace>.ui-button,.material-marketplace>.project-action-hint{margin-left:12px}}}@layer features{.project-actions{flex-wrap:wrap}.project-action-hint{align-self:center;color:var(--color-danger);font-size:.78rem;font-weight:800}.project-overview{display:grid;gap:10px}.project-bucket,.project-group{display:grid;gap:6px;border-top:1px solid var(--color-border);padding-top:10px}.project-bucket-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-bucket-heading>div{display:inline-flex;align-items:center;gap:8px;min-width:0}.project-bucket-heading svg{color:var(--color-primary)}.project-bucket-heading span{color:var(--color-text);font-size:.82rem;font-weight:900}.project-bucket-heading strong{min-width:28px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:2px 8px;text-align:center;color:var(--color-primary);background:var(--color-card);font-size:.74rem}.project-bucket-description{color:var(--color-muted);font-size:.75rem;font-weight:750}.project-bucket-list,.project-bucket-entry{display:grid;gap:6px}.project-dimensioning-groups,.project-dimensioning-group{display:grid;gap:8px}.project-dimensioning-group{border-left:2px solid var(--color-border);padding-left:10px}.project-dimensioning-heading{display:inline-flex;align-items:center;gap:8px;justify-self:start;border:0;padding:0;color:inherit;background:transparent;cursor:pointer}.project-dimensioning-heading span{color:var(--color-text);font-size:.78rem;font-weight:900}.project-dimensioning-heading strong{min-width:24px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:1px 7px;text-align:center;color:var(--color-primary);background:var(--color-card);font-size:.72rem}.project-drawing-points{display:grid;gap:6px;padding-left:40px}.project-drawing-point{display:grid;gap:5px;border-left:2px solid var(--color-border);padding-left:10px}.project-entry-row,.project-drawing-point-row{display:grid;grid-template-columns:32px minmax(0,1fr);gap:6px;align-items:start}.project-tree-toggle{display:inline-grid;place-items:center;width:32px;min-width:32px;height:36px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:0;color:var(--color-primary);background:var(--color-card);cursor:pointer}.project-tree-toggle svg,.project-dimensioning-heading svg{transition:transform .14s ease}.project-tree-toggle svg.open,.project-dimensioning-heading svg.open{transform:rotate(90deg)}.project-drawing-point-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.project-drawing-point-header>div{display:grid;min-width:0}.project-drawing-point-header strong{color:var(--color-text);font-size:.8rem;font-weight:900}.project-drawing-point-header span,.project-point-empty{color:var(--color-muted);font-size:.74rem;font-weight:750}.project-point-proposals{display:grid;gap:5px}.project-bucket-list .project-point-proposal-button{grid-template-columns:auto minmax(72px,.22fr) minmax(120px,1fr) minmax(140px,.8fr);min-height:var(--control-height);padding-left:8px}.project-group-header,.project-child-list .ui-button{display:grid;grid-template-columns:auto minmax(72px,.28fr) minmax(120px,1fr) minmax(100px,auto);align-items:center;justify-items:start;gap:8px;min-height:var(--control-hit-target);text-align:left}.project-bucket-list .ui-button{display:grid;grid-template-columns:auto minmax(72px,.22fr) minmax(120px,1fr) minmax(100px,.8fr) minmax(160px,auto);align-items:center;justify-items:start;gap:8px;min-height:var(--control-hit-target);text-align:left}.project-bucket-list .project-tree-toggle{display:inline-grid;grid-template-columns:1fr;place-items:center;justify-items:center;gap:0;width:32px;min-width:32px;height:36px;min-height:var(--control-height);padding:0}.project-group-header-static{min-height:var(--control-height);padding:0 2px}.project-group-header-static svg,.project-group-header svg,.project-child-list svg,.project-bucket-list svg{color:var(--color-primary)}.project-child-list{display:grid;gap:6px;padding-left:24px}.project-group-header.active,.project-child-list .ui-button.active,.project-bucket-list .ui-button.active{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.project-group-header span,.project-child-list span,.project-bucket-list span{color:var(--color-muted);font-size:.72rem;font-weight:800}.project-group-header strong,.project-group-header small,.project-child-list strong,.project-child-list small,.project-bucket-list strong,.project-bucket-list small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-group-header small,.project-child-list small,.project-bucket-list small,.project-group-empty{color:var(--color-muted);font-size:.76rem;font-weight:750}.project-group-empty{margin:0;padding-left:24px}.project-verification-summary,.project-verification-chip{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-card);font-style:normal;font-weight:900;white-space:nowrap}.project-verification-summary{min-height:32px;padding:6px 10px;font-size:.76rem}.project-verification-chip{padding:4px 8px;font-size:.72rem}.project-verification-summary.verified,.project-verification-chip.verified{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-card-muted)}.project-verification-summary.needs-review,.project-verification-chip.needs-review{border-color:var(--color-border);color:var(--color-danger);background:var(--color-danger-soft)}.project-verification-chip.missing,.project-verification-summary.requires-change,.project-verification-chip.requires-change{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.project-message{margin:0}.workspace-draft-discard-notice{margin:8px 16px 0;border:1px solid var(--color-danger);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-danger-soft);color:var(--color-danger)}.project-message.error{color:var(--color-danger)}.project-readonly .control-panel .ui-input,.project-readonly .control-panel .ui-select,.project-readonly .control-panel .ui-button,.project-readonly .unit-strip .ui-button{opacity:.72;pointer-events:none}.brand-mark h1{margin:0;font-family:var(--font-technical);font-size:1.35rem;line-height:1;letter-spacing:0}.brand-mark span,.panel-heading p,.metric span,.stage-overlay span,.ad-slot span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.run-state{min-width:116px;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px 12px;background:var(--color-card-muted);color:var(--color-text);font-size:.9rem;font-weight:800}.state-error{color:var(--color-danger);border-color:var(--color-danger)}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}}@layer features{.workspace{display:grid;--workspace-control-column: minmax(280px, 340px);--workspace-control-rail-column: 48px;--workspace-stage-column: minmax(420px, 1fr);--workspace-result-column: minmax(260px, 320px);--workspace-result-rail-column: 48px;--workspace-active-control-column: var(--workspace-control-column);--workspace-active-result-column: var(--workspace-result-column);grid-template-columns:var(--workspace-active-control-column) var(--workspace-stage-column) var(--workspace-active-result-column);height:100%;min-height:0;overflow:hidden}.workspace.workspace-controls-collapsed{--workspace-active-control-column: var(--workspace-control-rail-column)}.workspace.workspace-results-collapsed{--workspace-active-result-column: var(--workspace-result-rail-column)}.workspace>.control-panel,.workspace>.control-panel-rail,.workspace>.model-stage,.workspace>.result-panel,.workspace>.result-panel-rail{min-width:0}.workspace-project-save{display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:14px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card)}.workspace-project-save label{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.workspace-project-save .ui-input,.workspace-project-save .ui-select{min-height:var(--control-height);font:inherit;font-size:.82rem;font-weight:800}.workspace-project-save .ui-input{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 9px;color:var(--color-text);background:var(--color-card)}.workspace-project-save .ui-button{min-height:var(--control-height);white-space:nowrap;box-shadow:0 1px color-mix(in srgb,var(--color-text) 14%,transparent)}.workspace-project-save .project-primary{color:var(--color-primary-contrast);border-color:var(--color-primary);background:var(--color-primary)}.workspace-project-autosave{gap:6px}.workspace-project-autosave-heading{display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.workspace-project-autosave-heading svg{color:var(--color-primary);grid-row:span 2}.workspace-project-autosave-heading span{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.workspace-project-autosave-heading strong{color:var(--color-text);font-size:.86rem}.workspace-project-attach{display:grid;gap:8px;border-top:1px solid var(--color-border);padding-top:8px}.workspace-project-save-message{margin:0;font-size:.78rem;font-weight:900}.workspace-project-save-message.success{color:var(--color-primary)}.workspace-project-save-message.info{color:var(--color-muted)}.workspace-project-save-message.error{color:var(--color-danger)}.building-model-gate{box-sizing:border-box;display:grid;align-content:start;gap:16px;width:min(760px,calc(100% - 32px));margin:72px auto;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:22px;background:color-mix(in srgb,var(--color-card) 92%,transparent)}.building-model-gate header,.building-model-gate-choice,.building-model-gate-footer,.building-model-gate-upgrade,.building-model-gate-existing{display:flex;align-items:end;gap:10px;min-width:0}.building-model-gate-form{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;gap:10px;align-items:end}.building-model-gate header{align-items:center}.building-model-gate-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.building-model-gate-choice .ui-button{width:100%}.building-model-gate header svg,.building-model-gate-footer svg{flex:0 0 auto;color:var(--color-primary)}.building-model-gate header span{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.building-model-gate h2{margin:0;color:var(--color-text);font-size:1.25rem}.building-model-gate label{display:grid;gap:4px;color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.building-model-gate .ui-input,.building-model-gate .ui-select{min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;color:var(--color-text);background:var(--color-card);font:inherit;font-size:.86rem;font-weight:800}.building-model-gate .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 12px;color:var(--color-primary);background:var(--color-card);font-size:.84rem;font-weight:900;cursor:pointer}.building-model-gate .ui-button:disabled{opacity:.5;cursor:not-allowed}.building-model-gate .project-primary{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.building-model-gate-message,.building-model-gate-footer{margin:0;color:var(--color-muted);font-size:.86rem;font-weight:850}.building-model-gate-message.error{color:var(--color-danger)}.workspace-mobile-nav{display:none}.workspace-project{display:block;height:auto;min-height:100%;overflow:visible}.project-workspace{display:grid;gap:var(--space-3);width:min(1440px,calc(100% - 48px));margin:0 auto;padding:var(--space-4)}.project-view-hero{display:grid;grid-template-columns:minmax(320px,1fr) minmax(280px,420px);gap:var(--space-3);align-items:stretch;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:var(--space-3);background:var(--color-card);color:var(--color-text)}.project-view-title{display:grid;align-content:center;gap:8px}.project-view-title span,.project-view-section-heading span,.project-process-step span,.project-map-main span,.project-map-children span,.project-control-list dt{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.project-view-title span{color:var(--color-muted)}.project-view-title h2{margin:0;font-family:var(--font-technical);font-size:1.5rem;line-height:1;letter-spacing:.025em;text-transform:uppercase}.project-view-title p{max-width:720px;margin:0;color:var(--color-muted);font-size:var(--font-size-body);font-weight:750}.project-view-stats{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--color-border);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-panel)}.project-view-stats div{display:grid;gap:2px;place-items:center;min-height:64px;padding:var(--space-2)}.project-view-stats strong{color:var(--color-text);font-family:var(--font-data);font-size:1.2rem;font-variant-numeric:tabular-nums;line-height:1}.project-view-stats span{color:var(--color-muted);font-size:var(--font-size-label);font-weight:850}.project-process,.project-view-grid{display:grid;gap:14px}.project-workspace-verification{display:inline-flex;align-items:center;justify-self:start;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:8px 12px;background:var(--color-card);font-size:.82rem;font-weight:900}.project-workspace-verification.verified{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-card-muted)}.project-workspace-verification.needs-review{border-color:var(--color-border);color:var(--color-danger);background:var(--color-danger-soft)}.project-workspace-verification.requires-change{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.project-process{grid-template-columns:repeat(4,minmax(0,1fr))}.project-process-step,.project-map,.project-side-panel{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 78%,transparent)}.project-process-step{display:grid;gap:4px;padding:14px}.project-process-step strong{color:var(--color-text);font-size:1rem}.project-process-step small{color:var(--color-muted);font-size:.8rem;font-weight:850}.project-view-grid{grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start}.project-map,.project-side-panel{display:grid;gap:12px;padding:16px}.project-view-section-heading{display:flex;align-items:center;gap:10px}.project-view-section-heading svg{color:var(--color-primary)}.project-view-section-heading strong{display:block;color:var(--color-text)}.project-map-group{display:grid;gap:8px;border-top:1px solid var(--color-border);padding-top:12px}.project-map-main,.project-map-children .ui-button{display:grid;grid-template-columns:auto minmax(88px,.25fr) minmax(160px,1fr) minmax(110px,auto);align-items:center;justify-items:start;gap:10px;min-height:var(--control-hit-target);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px 12px;color:var(--color-text);background:var(--color-card);text-align:left}.project-map-main:disabled,.project-map-children .ui-button:disabled{cursor:default}.project-map-main svg,.project-map-children svg{color:var(--color-primary)}.project-map-main strong,.project-map-children strong,.project-map-main small,.project-map-children small{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-map-main small,.project-map-children small,.project-map-children p{color:var(--color-muted);font-size:.78rem;font-weight:800}.project-map-children{display:grid;gap:6px;padding-left:28px}.project-map-children p{margin:0}.project-control-list{display:grid;gap:8px;margin:0}.project-control-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-border);padding-bottom:8px}.project-control-list dd{margin:0;color:var(--color-text);font-weight:900}.project-alert-stack{display:grid;gap:8px}.project-alert{display:flex;align-items:center;gap:9px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;color:var(--color-text);background:var(--color-card-muted);font-size:.82rem;font-weight:850}.project-alert.warning{border-color:var(--color-danger);background:var(--color-danger-soft)}.project-alert.ready{border-color:var(--color-primary);background:var(--color-card-muted)}.project-regulatory-panel,.project-regulatory-fields,.project-regulatory-summary,.project-regulatory-actions{display:grid;gap:10px}.project-regulatory-panel{border-top:1px solid var(--color-border);padding-top:12px}.project-regulatory-fields{grid-template-columns:1fr}.project-regulatory-fields .ui-textarea{min-height:var(--control-textarea-min-height);resize:vertical}.project-regulatory-summary>strong{color:var(--color-text);font-size:.82rem}.project-alert.regulatory-gate{align-items:flex-start;font-size:.78rem}.project-alert.regulatory-gate.not-implemented{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.project-alert.regulatory-gate.manual-review{border-color:var(--color-border);color:var(--color-danger);background:var(--color-danger-soft)}.project-regulatory-actions{grid-template-columns:1fr}.project-regulatory-actions span{color:var(--color-muted);font-size:.78rem;font-weight:850}}@layer features{.altan-building-link-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.45rem}.workspace-slab{height:100%;min-height:0;overflow:hidden}.workspace-slab .control-panel,.workspace-slab .result-panel{height:100%;min-height:0;overflow:auto}.workspace-slab .control-panel-rail,.workspace-slab .result-panel-rail,.workspace-slab .model-stage{height:100%;min-height:0}.workspace-roof-structure{height:100%;min-height:0;overflow:hidden}.workspace-roof-structure .control-panel,.workspace-roof-structure .result-panel{height:100%;min-height:0;overflow:auto}.workspace-roof-structure .control-panel-rail,.workspace-roof-structure .result-panel-rail,.workspace-roof-structure .model-stage{height:100%;min-height:0}.workspace-building{height:100%;min-height:0;overflow:hidden}.workspace-building .control-panel,.workspace-building .result-panel{height:100%;min-height:0;overflow:auto}.workspace-building .control-panel-rail,.workspace-building .result-panel-rail,.workspace-building .model-stage{height:100%;min-height:0}.workspace-altan{height:100%;min-height:0;overflow:hidden}.workspace-altan .control-panel,.workspace-altan .result-panel{height:100%;min-height:0;overflow:auto}.workspace-altan .control-panel-rail,.workspace-altan .result-panel-rail,.workspace-altan .model-stage{height:100%;min-height:0}.workspace-energy{--workspace-control-column: minmax(320px, 380px);--workspace-stage-column: minmax(460px, 1fr);--workspace-result-column: minmax(260px, 320px);height:100%;min-height:0;overflow:hidden}.workspace-with-control-footer{position:relative;height:100%;min-height:0;overflow:hidden}.workspace-with-control-footer .model-stage,.workspace-with-control-footer .control-panel-rail,.workspace-with-control-footer .result-panel,.workspace-with-control-footer .result-panel-rail{min-height:0}.control-panel,.result-panel{padding:16px;overflow:auto;background:color-mix(in srgb,var(--color-panel) 94%,transparent)}.control-panel{border-right:1px solid var(--color-border)}.result-panel{border-left:1px solid var(--color-border)}.control-panel-toolbar,.result-panel-toolbar{display:flex;min-height:34px}.control-panel-toolbar{justify-content:flex-start;margin:-4px 0 10px -4px}.result-panel-toolbar{justify-content:flex-end;margin:-4px -4px 10px 0}.workspace-control-footer-stack{display:grid;gap:6px;width:min(260px,calc(100vw - 24px));border:1px solid color-mix(in srgb,var(--color-border) 92%,transparent);border-radius:var(--radius-panel);padding:6px;background:color-mix(in srgb,var(--color-panel) 96%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--color-text) 16%,transparent);pointer-events:auto}.workspace-control-footer{position:fixed;bottom:max(12px,env(safe-area-inset-bottom));left:calc(var(--app-rail-width, 0px) + max(12px,env(safe-area-inset-left)));z-index:24;display:flex;justify-content:flex-start;pointer-events:none}.workspace-control-footer .workspace-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.workspace-control-footer .workspace-load-unit-toggle{width:min(128px,100%);justify-self:center}.workspace-mode-toggle{display:inline-flex;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 90%,transparent)}.workspace-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:calc(var(--control-height) * 3.75);border:0;border-right:1px solid var(--color-border);padding:.45rem .8rem;background:transparent;color:var(--color-text);font:inherit;cursor:pointer}.workspace-control-footer .workspace-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:0;min-height:var(--control-height);padding:0 .55rem;font-size:.78rem;font-weight:900;line-height:1}.workspace-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button):last-child{border-right:0}.workspace-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{background:var(--color-page);color:var(--color-text)}.workspace-load-unit-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){font-size:.85rem;font-weight:900;text-transform:uppercase}.workspace-control-footer .workspace-roof-type-toggle{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-control-footer .workspace-roof-type-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){padding:.45rem;font-size:.78rem;font-weight:900;line-height:1.1;white-space:normal}.workspace-roof-type-confirmation{display:grid;gap:8px;border:1px solid color-mix(in srgb,var(--color-danger-hover) 42%,transparent);border-radius:var(--radius-panel);padding:10px;background:var(--color-card);color:var(--color-text);box-shadow:0 12px 26px color-mix(in srgb,var(--color-stage) 14%,transparent)}.workspace-roof-type-confirmation strong{color:var(--color-text);font-size:.84rem}.workspace-roof-type-confirmation p{margin:0;font-size:.78rem;line-height:1.35}.workspace-roof-type-confirmation-actions{display:flex;justify-content:flex-end;gap:8px}.workspace-roof-type-confirmation-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:0 .7rem;background:var(--color-card);color:var(--color-text);font:inherit;font-size:.78rem;font-weight:900;cursor:pointer}.workspace-roof-type-confirmation-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).danger{border-color:var(--color-danger-hover);background:var(--color-danger-hover);color:var(--color-primary-contrast)}.control-panel-toggle,.result-panel-toggle{color:var(--color-text);background:color-mix(in srgb,var(--color-card) 84%,transparent)}.control-panel-rail,.result-panel-rail{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:0;border:0;color:var(--color-text);background:color-mix(in srgb,var(--color-panel) 94%,transparent);cursor:pointer}.control-panel-rail{border-right:1px solid var(--color-border)}.result-panel-rail{border-left:1px solid var(--color-border)}.control-panel-rail:hover,.result-panel-rail:hover{background:var(--color-panel)}.control-panel-rail span,.result-panel-rail span{writing-mode:vertical-rl;transform:rotate(180deg);color:var(--color-text);font-size:.74rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.panel-heading,.group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-heading{margin-bottom:18px}.collapsible-section>summary{min-width:0;list-style:none;cursor:pointer}.collapsible-section>summary::-webkit-details-marker{display:none}.collapse-title{display:inline-flex;align-items:center;gap:8px;min-width:0}.workspace-category{min-width:0}.workspace-category-actions,.workspace-category-meta{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px}.workspace-category-actions{flex-wrap:wrap;justify-content:flex-end}.workspace-category-meta{color:var(--color-muted);font-size:.72rem;font-weight:850;line-height:1.2}.panel-title-row,.help-heading-row{display:inline-flex;align-items:center;gap:8px;min-width:0}.collapse-chevron{flex:0 0 auto;color:var(--color-muted);transition:transform .14s ease}.collapsible-section[open] .collapse-chevron{transform:rotate(90deg)}h2{margin:0;font-size:1rem;letter-spacing:0}.workspace-category h3,.workspace-category h4{margin:0;min-width:0;color:inherit;font-size:.95rem;letter-spacing:0}.panel-heading h2{font-size:1.35rem}:is(.ui-button,.icon-button,.row-action,.toolbar-button),:is(.ui-input,.ui-checkbox,.ui-file-input),.ui-select{font:inherit}:is(.ui-button,.icon-button,.row-action,.toolbar-button){transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background-color .12s ease}:is(.ui-button,.icon-button,.row-action,.toolbar-button):not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--color-text) 18%,transparent)}.icon-button,.row-action{display:inline-flex;align-items:center;justify-content:center;width:var(--control-height);height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);box-shadow:0 1px color-mix(in srgb,var(--color-text) 14%,transparent);cursor:pointer}.icon-button:hover,.row-action:hover{border-color:var(--color-muted);background:var(--color-panel)}.row-action:disabled{opacity:.38;cursor:not-allowed}.field-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:12px}.field-grid>label:first-child,.field-grid>.field-shell:first-child,.field-grid>.number-field:first-child{grid-column:1 / -1}.unit-strip{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.unit-toggle{display:grid;gap:6px}.unit-toggle>span{color:var(--color-text);font-size:.74rem;font-weight:900}.unit-toggle>div{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--color-border);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-card)}.unit-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:0;border-right:1px solid var(--color-border);color:var(--color-text);background:transparent;font-weight:900;cursor:pointer}.unit-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button):last-child{border-right:0}.unit-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{color:var(--color-primary-contrast);background:var(--color-stage)}.view-toggle{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card);cursor:pointer}.view-toggle.has-help{grid-template-columns:max-content minmax(0,1fr) max-content}.view-toggle :is(.ui-input,.ui-checkbox,.ui-file-input){width:var(--control-checkbox-size);min-height:var(--control-checkbox-size);accent-color:var(--color-text)}.view-toggle span{display:grid;gap:2px}.view-toggle strong{color:var(--color-text);font-size:.88rem}.view-toggle small{color:var(--color-muted);font-size:.72rem;font-weight:750;line-height:1.25}.select-field .ui-select{width:100%;min-height:var(--control-height)}.select-field .ui-select:disabled{color:var(--color-muted)}.profile-summary-list{display:grid;gap:8px}.profile-summary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px 12px;background:var(--color-card)}.profile-summary-row span{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.profile-summary-row strong{color:var(--color-text);font-size:.92rem;font-weight:900;white-space:nowrap}.profile-summary-empty{margin:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px 12px;color:var(--color-muted);background:var(--color-card);font-size:.82rem;font-weight:800}}@layer features{.help-topic-button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:0;color:var(--color-text);background:var(--color-card);cursor:pointer}.help-topic-button:hover,.help-topic-button:focus-visible,.help-topic-button[aria-expanded=true]{border-color:var(--color-text);color:var(--color-primary-contrast);background:var(--color-stage)}.help-topic-button:focus-visible{outline:3px solid color-mix(in srgb,var(--color-warning) 28%,transparent);outline-offset:2px}.help-popover{position:fixed;z-index:1200;width:min(360px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 24px));overflow:auto;border:1px solid var(--color-muted);border-radius:var(--radius-panel);padding:14px;color:var(--color-text);background:var(--color-card);box-shadow:0 18px 44px color-mix(in srgb,var(--color-text) 22%,transparent)}.help-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.help-popover-heading p{margin:0;color:var(--color-warning);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.help-popover-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;width:var(--control-height-compact);height:var(--control-height-compact);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-panel);cursor:pointer}.help-popover-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.help-popover-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button):focus-visible{border-color:var(--color-text);background:var(--color-panel)}.help-popover h2{margin:0 0 10px;color:var(--color-text);font-size:1.05rem;line-height:1.2}.help-popover-body{display:grid;gap:8px}.help-popover-body p,.help-popover-source p{margin:0;color:var(--color-text);font-size:.84rem;font-weight:700;line-height:1.45}.help-popover-units{display:grid;gap:7px;margin:12px 0 0}.help-popover-units div{display:grid;grid-template-columns:minmax(82px,max-content) minmax(0,1fr);gap:10px;align-items:baseline;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-panel)}.help-popover-units dt{color:var(--color-muted);font-size:.72rem;font-weight:900}.help-popover-units dd{margin:0;color:var(--color-text);font-size:.82rem;font-weight:900}.help-popover-examples{display:grid;gap:7px;margin:12px 0 0;padding-left:18px}.help-popover-examples li{color:var(--color-text);font-size:.82rem;font-weight:750;line-height:1.35}.help-popover-source{display:grid;gap:4px;margin-top:12px;border-top:1px solid var(--color-border);padding-top:10px;color:var(--color-muted);font-size:.72rem;font-weight:850;line-height:1.35}.help-popover-source a{color:var(--color-text);font-weight:900}@media(max-width:520px){.help-popover{right:12px;left:12px!important;width:auto}.help-popover-units div{grid-template-columns:1fr;gap:3px}}}@layer features{.legal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;justify-content:flex-end;background:var(--color-scrim)}.legal-dialog{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(720px,calc(100vw - 24px));height:calc(100vh - 24px);margin:12px;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-panel);box-shadow:var(--shadow-elevated)}.legal-dialog-header,.legal-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--color-border);padding:16px 18px;background:var(--color-card-muted)}.legal-dialog-title{display:flex;align-items:center;min-width:0;gap:12px}.legal-dialog-title svg{flex:0 0 auto;color:var(--color-primary)}.legal-dialog-title span,.legal-dialog-footer span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.legal-dialog-title h2{margin:2px 0 0;color:var(--color-text);font-size:1.2rem;line-height:1.15}.legal-close,.legal-dialog-footer .ui-button,.legal-tabs .ui-segmented-option{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-primary);background:var(--color-card);font-weight:900;cursor:pointer}.legal-close{flex:0 0 auto;width:var(--control-height);height:var(--control-height)}.legal-tabs{display:flex;gap:8px;overflow-x:auto;border-bottom:1px solid var(--color-border);padding:10px 12px;background:var(--color-card)}.legal-tabs .ui-segmented-option{flex:0 0 auto;min-height:var(--control-height);padding:7px 10px;font-size:.78rem;white-space:nowrap}.legal-tabs .ui-segmented-option.active{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.legal-body{overflow:auto;padding:20px 22px 28px}.legal-summary{margin:0 0 18px;border-left:4px solid var(--color-danger);padding:10px 12px;color:var(--color-text);background:var(--color-card-muted);font-weight:800;line-height:1.45}.legal-section{padding:16px 0;border-top:1px solid var(--color-border)}.legal-section:first-of-type{border-top:0;padding-top:0}.legal-section h3{margin:0 0 8px;color:var(--color-text);font-size:1rem}.legal-section p{margin:0 0 10px;color:var(--color-text);font-size:.95rem;font-weight:650;line-height:1.55}.legal-dialog-footer{border-top:1px solid var(--color-border);border-bottom:0}.legal-dialog-footer .ui-button{flex:0 0 auto;min-height:var(--control-height);padding:8px 11px}}@layer features{.beam-control-panel{display:grid;align-content:start;gap:18px}.beam-panel-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.beam-definition-grid{margin-top:0}.beam-support-row{grid-template-columns:minmax(112px,.75fr) minmax(150px,1fr) max-content}.beam-load-card{display:grid;gap:9px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card)}.beam-load-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.beam-load-heading strong{color:var(--color-text);font-size:.9rem}.beam-load-row{grid-template-columns:repeat(auto-fit,minmax(116px,1fr))}.beam-context-popup{width:min(470px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.beam-context-popup .support-control-block{border:0;padding:0;background:transparent}.beam-context-field-stack,.beam-context-actions{display:grid;gap:10px}.beam-context-actions{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.beam-context-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 9px;background:var(--color-card-muted);color:var(--color-text);font-size:.76rem;font-weight:900}.beam-context-remove{justify-self:end;border-color:var(--color-border);background:var(--color-card);color:var(--color-danger-hover)}}@layer features{.technical-canvas{--technical-accent: var(--document-rust);--technical-accent-dark: var(--document-timber);--technical-canvas: var(--document-ink);--technical-canvas-line: color-mix(in srgb, var(--document-paper) 5.5%, transparent);--technical-grid-dot: var(--document-muted);--technical-grid-major: var(--document-steel);--technical-ink: var(--document-ink);--technical-muted: var(--document-muted);--technical-panel: var(--document-paper);--technical-paper: var(--document-paper);--technical-rule: var(--document-rule);--technical-teal: var(--document-teal)}.technical-canvas-mat{background:linear-gradient(90deg,var(--technical-canvas-line) 1px,transparent 1px),linear-gradient(var(--technical-canvas-line) 1px,transparent 1px),var(--technical-canvas);background-size:24px 24px}.technical-grid-major-line{stroke:var(--technical-grid-major);stroke-opacity:.34}.technical-grid-dot{fill:var(--technical-grid-dot);fill-opacity:.52}.technical-grid-surface,.technical-hit-stroke{pointer-events:none}.technical-hit-stroke.is-interactive{cursor:pointer;pointer-events:stroke}.technical-linework{fill:none;stroke:var(--technical-ink);stroke-linecap:square;stroke-linejoin:miter}.technical-point-handle{fill:var(--technical-paper);stroke:var(--technical-accent-dark);stroke-linejoin:miter}.technical-snap-marker{fill:color-mix(in srgb,var(--technical-paper) 86%,transparent);pointer-events:none;stroke:var(--technical-teal)}}@layer features{.building-control-panel .panel-heading p{max-width:32ch}.building-control-section{gap:0}.building-header-actions{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.building-blueprint-print-button{border-color:color-mix(in srgb,var(--document-green) 30%,transparent);background:var(--document-paper);color:var(--document-ink)}.building-control-section>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;cursor:pointer;list-style:none}.building-control-section>summary::-webkit-details-marker{display:none}.building-control-section-title,.building-control-section-actions,.building-control-section .workspace-category-actions{display:inline-flex;align-items:center;gap:8px}.building-control-section-title h3{margin:0}.building-control-section-title svg{transition:transform .14s ease}.building-control-section[open] .building-control-section-title .collapse-chevron{transform:rotate(90deg)}.building-control-section-actions,.building-control-section .workspace-category-actions{flex-wrap:wrap;justify-content:flex-end}.building-control-section-body{margin-top:10px}.building-panel-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.building-entity-list{display:grid;gap:6px;margin:10px 0}.building-entity-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:grid;grid-template-columns:minmax(0,1fr);gap:2px;border:1px solid color-mix(in srgb,var(--color-stage) 20%,transparent);border-radius:var(--radius-panel);padding:9px 10px;background:var(--color-card);color:var(--color-text);text-align:left}.building-entity-list :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-success);background:var(--color-panel)}.building-entity-list span{overflow:hidden;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.building-entity-list small{color:var(--color-muted);font-weight:750}.building-editor-box{border:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);border-radius:var(--radius-panel);padding:10px;background:var(--color-panel)}.building-pillar-restraints{grid-column:1 / -1;min-width:0;margin:0;border:1px solid color-mix(in srgb,var(--color-stage) 16%,transparent);border-radius:var(--radius-panel);padding:8px}.building-pillar-restraints legend{padding:0 5px;color:var(--color-text);font-size:.74rem;font-weight:850}.building-pillar-restraint-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px}.building-pillar-analysis-list{display:grid;gap:12px}.building-pillar-analysis-item{padding:12px;border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 62%,transparent)}.building-pillar-analysis-item h4{margin:0 0 10px}.building-wall-core-editor-slot,.wall-core-editor{display:grid;grid-column:1 / -1;gap:8px;min-width:0}.wall-core-editor{padding-top:8px;border-top:1px solid color-mix(in srgb,var(--color-stage) 14%,transparent)}.wall-core-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.wall-core-editor-heading strong{color:var(--color-text);font-size:.82rem}.wall-core-editor-heading small{color:var(--color-danger-hover);font-size:.72rem;font-weight:800;text-align:right}.wall-core-fields{align-items:end}.building-energy-fields{display:grid;grid-column:1 / -1;gap:6px;border:1px solid color-mix(in srgb,var(--color-stage) 14%,transparent);border-radius:var(--radius-panel);padding:9px;background:color-mix(in srgb,var(--color-card) 62%,transparent)}.building-energy-fields>small{color:var(--color-muted);font-size:.74rem;font-weight:750}.building-anchor-editor{display:grid;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--color-stage) 14%,transparent)}.building-anchor-editor>summary{cursor:pointer;color:var(--color-text);font-weight:850}.building-beam-status{display:grid;gap:2px;margin:10px 0;border:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);border-radius:var(--radius-panel);padding:8px 9px;background:var(--color-card)}.building-beam-status strong{color:var(--color-text);font-size:.82rem}.building-beam-status span,.building-beam-hint{color:var(--color-muted);font-size:.74rem;font-weight:750}.building-beam-status.state-ready{border-color:color-mix(in srgb,var(--color-success) 34%,transparent);background:var(--color-panel)}.building-beam-status.state-warning{border-color:color-mix(in srgb,var(--color-warning) 42%,transparent);background:var(--color-panel)}.building-beam-status.state-error{border-color:color-mix(in srgb,var(--color-danger-hover) 32%,transparent);background:var(--color-card)}.building-docking-editor{display:grid;gap:8px;margin-top:10px}.building-docking-row{align-items:end;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--color-stage) 14%,transparent)}.building-docking-clear{min-height:38px}.building-support-list{display:grid;gap:8px;margin-top:10px}.building-level-stack-readout{display:grid;gap:4px;margin-top:10px;border:1px solid color-mix(in srgb,var(--color-success) 34%,transparent);border-left:4px solid var(--color-success);border-radius:var(--radius-panel);padding:9px 10px;background:var(--color-panel)}.building-level-stack-readout>strong{color:var(--color-text);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}.building-level-stack-readout code{color:var(--color-text);font-family:Roboto Mono,Cascadia Mono,monospace;font-size:.78rem;font-weight:750;white-space:normal}.building-level-stack-readout small{color:var(--color-muted);font-weight:750}.building-level-stack-readout.state-error{border-color:color-mix(in srgb,var(--color-danger-hover) 42%,transparent);border-left-color:var(--color-danger-hover);background:var(--color-card)}.building-level-stack-error{color:var(--color-danger-hover)!important}.building-support-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,42%);gap:8px;align-items:center}.building-support-row span{display:grid;min-width:0}.building-support-row small{overflow:hidden;color:var(--color-muted);font-weight:750;text-overflow:ellipsis;white-space:nowrap}.icon-danger{display:inline-grid;width:32px;height:32px;place-items:center;border:1px solid color-mix(in srgb,var(--color-danger-hover) 22%,transparent);border-radius:var(--radius-panel);background:var(--color-card);color:var(--color-danger-hover)}.building-stage{overflow:hidden;background:var(--color-panel)}.building-stage-viewport-frame{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.building-stage-toolbar{position:absolute;top:16px;left:18px;z-index:2;display:flex;gap:8px;align-items:center}.building-mode-toggle,.building-view-toggle{display:inline-grid;gap:3px;border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);padding:3px;background:color-mix(in srgb,var(--color-card) 88%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent)}.building-mode-toggle{grid-template-columns:repeat(3,minmax(78px,1fr))}.building-view-toggle{grid-template-columns:repeat(2,minmax(54px,1fr))}.building-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-view-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:0;border-radius:var(--radius-panel);padding:0 12px;color:var(--color-text);background:transparent;font-weight:850}.building-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.building-view-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{color:var(--color-primary-contrast);background:var(--color-stage)}.building-mobile-measurements{display:none}.building-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.building-viewport:focus{outline:none}.building-viewport:focus-visible{outline:2px solid var(--color-info);outline-offset:-2px}.building-viewport canvas{display:block;width:100%;height:100%}.building-plan-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.building-ground-surface{cursor:pointer;fill:color-mix(in srgb,var(--color-muted) 28%,transparent);stroke:color-mix(in srgb,var(--color-primary-hover) 70%,transparent);stroke-width:2}.building-ground-surface.selected{fill:color-mix(in srgb,var(--color-muted) 36%,transparent);stroke:var(--color-success)}.building-ground-placement-grid{pointer-events:none;stroke:color-mix(in srgb,var(--color-stage) 32%,transparent);stroke-width:1}.building-ground-control-point{cursor:pointer;fill:var(--color-card);stroke:var(--color-primary-hover);stroke-width:2}.building-ground-control-point.selected{fill:var(--color-danger);stroke:var(--color-success)}.building-slab{fill:var(--color-page);stroke:var(--color-muted);stroke-width:2}.building-foundation-line{cursor:pointer;stroke:var(--color-danger-hover);stroke-linecap:round;stroke-width:9}.building-foundation-marker{cursor:pointer;fill:var(--color-danger-hover);stroke:var(--color-stage);stroke-width:2}.building-foundation-line.selected,.building-foundation-marker.selected{fill:var(--color-danger);stroke:var(--color-danger)}.building-wall-line{cursor:pointer;stroke:var(--color-stage);stroke-linecap:square;stroke-width:13}.building-wall-line.selected{stroke:var(--color-success)}.building-opening-line{cursor:pointer;stroke:var(--color-card);stroke-linecap:butt;stroke-width:17}.building-opening-line.selected{stroke:var(--color-danger)}.building-pillar-marker{cursor:pointer;fill:var(--color-muted);stroke:var(--color-stage);stroke-width:2}.building-pillar-marker.selected{fill:var(--color-danger)}.building-pillar-axis{pointer-events:none;stroke:var(--color-danger-hover);stroke-dasharray:6 3;stroke-width:4}.building-pillar-top-marker{pointer-events:none;fill:var(--color-panel);stroke:var(--color-danger-hover);stroke-width:2}.building-dimension-label{fill:var(--document-ink);font-size:13px;font-weight:850;paint-order:stroke;pointer-events:none;stroke:var(--document-paper);stroke-width:4;text-anchor:middle}.building-load-markers circle{fill:var(--color-danger);opacity:.86}.building-context-menu :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid color-mix(in srgb,var(--color-stage) 22%,transparent);border-radius:var(--radius-panel);padding:8px 10px;color:var(--color-text);background:var(--color-card);font-weight:850;text-align:left}.building-context-menu :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-success);background:var(--color-panel)}.building-context-menu p{margin:0;color:var(--color-muted);font-size:.82rem;font-weight:750}.building-result-panel .result-list{display:grid;gap:8px;margin:0;padding-left:18px;color:var(--color-text);font-weight:750}.building-result-panel .warning-list{color:var(--color-danger-hover)}.building-layer-summary{display:grid;gap:8px;margin-top:12px;color:var(--color-text);font-size:.82rem}.building-layer-summary ol,.building-layer-summary ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.building-layer-summary li{display:grid;gap:2px;min-width:0}.building-layer-summary li span:last-child{color:var(--color-muted);font-size:.78rem;font-weight:750}.building-layer-visibility-panel{display:grid;gap:10px}.building-layer-visibility-parts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.building-layer-visibility-list{display:grid;gap:6px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--color-stage) 14%,transparent)}.building-layer-visibility-row{display:grid;grid-template-columns:14px minmax(0,1fr) max-content;gap:8px;align-items:center;min-width:0}.building-layer-visibility-swatch{width:14px;height:14px;border:1px solid color-mix(in srgb,var(--color-text) 28%,transparent);border-radius:var(--radius-panel)}.building-layer-visibility-count,.building-layer-visibility-empty{color:var(--color-muted);font-size:.74rem;font-weight:800}.building-layer-visibility-empty{margin:0}.building-debug-panel small{color:var(--color-muted);font-size:.74rem;font-weight:850}.building-debug-toolbar,.building-debug-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.building-debug-toolbar :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-debug-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-debug-stage :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 9px;background:var(--color-card);color:var(--color-text);font-size:.76rem;font-weight:850}.building-debug-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-success);background:var(--color-panel);color:var(--color-text)}.building-debug-message,.building-debug-error{margin:8px 0;color:var(--color-muted);font-size:.8rem;font-weight:800}.building-debug-error{color:var(--color-danger-hover)}.building-debug-stage-list{display:grid;gap:8px}.building-debug-stage{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px;background:var(--color-card)}.building-debug-stage.state-error{border-color:var(--color-danger-hover);background:var(--color-card)}.building-debug-stage.state-warning{border-color:var(--color-danger);background:var(--color-card)}.building-debug-stage header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.building-debug-stage strong{color:var(--color-text);font-size:.82rem}.building-debug-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:0}.building-debug-summary div{border:1px solid var(--color-page);border-radius:var(--radius-panel);padding:6px 7px;background:color-mix(in srgb,var(--color-primary-contrast) 55%,transparent)}.building-debug-summary dt{color:var(--color-muted);font-size:.68rem;font-weight:850;text-transform:uppercase}.building-debug-summary dd{margin:2px 0 0;color:var(--color-text);font-size:.82rem;font-weight:900}.building-debug-json{max-height:280px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card);color:var(--color-text);font-size:.74rem;white-space:pre-wrap}}@layer features{.workspace-wall .control-panel,.workspace-wall .result-panel{min-width:320px}.wall-control-panel{gap:1rem}.wall-building-link-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.wall-control-section,.wall-layer-category,.wall-preview-shell,.wall-result-panel .result-section{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-card);padding:1rem}.wall-section-heading,.wall-layer-row-title,.wall-preview-header,.wall-anchor-readout,.wall-result-layers li{align-items:center;display:flex;justify-content:space-between;gap:.75rem}.wall-section-heading h3,.wall-preview-header h2{margin:0}.wall-preview-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.wall-layer-visibility-field{min-width:180px}.wall-preview-actions .field-shell{gap:.25rem;margin:0}.wall-section-heading span,.wall-preview-header p,.wall-preview-header span,.wall-edit-note,.wall-next-layer-select span,.wall-anchor-readout dt{color:var(--text-muted);font-size:.82rem}.wall-layer-category,.wall-layer-row,.wall-preview-shell,.wall-result-panel,.wall-result-layers ul{display:grid;gap:.75rem}.wall-layer-row{border-top:1px solid var(--border-subtle);padding-top:.75rem}.wall-next-layer-select{align-items:center;display:grid;gap:.35rem;grid-template-columns:1fr auto}.wall-next-layer-select span{grid-column:1 / -1}.wall-next-layer-select .ui-select{width:100%}.wall-stage{align-items:stretch;display:flex;justify-content:center;padding:1.25rem}.wall-stage-3d{align-items:stretch;padding:0}.wall-3d-shell{align-self:stretch;display:grid;gap:0;grid-template-rows:auto minmax(480px,1fr) auto;width:100%}.wall-stage-3d .wall-preview-header,.wall-stage-3d .wall-anchor-readout{background:var(--surface-card);padding:.75rem 1rem}.wall-stage-3d .wall-preview-header{border-bottom:1px solid var(--border-subtle)}.wall-stage-3d .wall-anchor-readout{border-top:1px solid var(--border-subtle)}.wall-preview-shell{align-self:stretch;max-width:920px;width:min(100%,920px)}.wall-isolated-viewport{background:var(--surface-subtle);min-height:520px;overflow:hidden;position:relative}.wall-context-menu{width:min(360px,calc(100vw - 24px))}.wall-context-position-stud{min-height:38px;border:1px solid var(--color-success);border-radius:var(--radius-panel);padding:8px 10px;color:var(--color-text);background:var(--color-panel);font-weight:850;text-align:left}.wall-context-layer-stacks,.wall-context-layer-stack,.wall-context-layer-stack ol{display:grid;gap:.5rem}.wall-context-layer-stack{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);padding:.65rem;background:var(--surface-card)}.wall-context-layer-stack header,.wall-context-layer-stack li,.wall-context-layer-outer-end{align-items:center;display:flex;gap:.5rem}.wall-context-layer-stack header{justify-content:space-between}.wall-context-layer-stack header span,.wall-context-layer-direction,.wall-context-layer-stack li small,.wall-context-layer-stack p,.wall-context-layer-outer-end>span{color:var(--text-muted);font-size:.75rem}.wall-context-layer-stack ol{list-style:none;margin:0;padding:0}.wall-context-layer-stack li{min-width:0}.wall-context-layer-stack li strong{flex:1;min-width:0}.wall-context-layer-remove{align-items:center;display:inline-flex;gap:.25rem;min-height:28px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:4px 7px;color:var(--color-danger-hover);background:var(--color-card);cursor:pointer;font-size:.72rem;font-weight:800}.wall-context-layer-remove:disabled{cursor:not-allowed;opacity:.5}.wall-context-layer-stack p{margin:0}.wall-context-layer-swatch{border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);flex:0 0 12px;height:24px}.wall-context-layer-outer-end{border-top:1px dashed var(--border-subtle);justify-content:space-between;padding-top:.5rem}.wall-context-layer-outer-end :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height)}.wall-stud-discovery,.wall-stud-editor-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:color-mix(in srgb,var(--color-card) 94%,transparent);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-panel);box-shadow:0 10px 28px color-mix(in srgb,var(--color-text) 18%,transparent);left:1rem;position:absolute;z-index:4}.wall-stud-discovery{align-items:center;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr) auto;max-width:min(520px,calc(100% - 2rem));padding:.75rem .85rem;top:1rem}.wall-stud-discovery>svg{color:var(--color-accent)}.wall-stud-discovery span,.wall-stud-editor-card header div{display:grid;gap:.2rem}.wall-stud-discovery small,.wall-stud-editor-card small{color:var(--text-muted);line-height:1.35}.wall-stud-show-frame,.wall-stud-reset{align-items:center;background:var(--color-card-muted);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);cursor:pointer;display:inline-flex;font-weight:650;gap:.4rem;justify-content:center;padding:.5rem .7rem}.wall-stud-show-frame:hover:not(:disabled),.wall-stud-reset:hover:not(:disabled){background:var(--color-accent-soft);border-color:var(--color-accent)}.wall-stud-editor-card{bottom:1rem;display:grid;gap:.8rem;padding:.85rem;width:min(340px,calc(100% - 2rem))}.wall-stud-editor-card.is-locked{border-left-color:var(--color-warning, var(--color-warning))}.wall-stud-editor-card header{align-items:flex-start;display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr)}.wall-stud-editor-icon{align-items:center;background:var(--color-accent-soft);border:1px solid color-mix(in srgb,var(--color-accent) 40%,var(--color-border));border-radius:var(--radius-panel);color:var(--color-accent);display:inline-flex;height:32px;justify-content:center;width:32px}.wall-stud-editor-card.is-locked .wall-stud-editor-icon{background:color-mix(in srgb,var(--color-warning, var(--color-warning)) 12%,var(--color-card));border-color:color-mix(in srgb,var(--color-warning, var(--color-warning)) 40%,var(--color-border));color:var(--color-warning, var(--color-warning))}.wall-stud-editor-card .number-field{margin:0}.wall-stud-reset{width:100%}.wall-anchor-readout{border-top:1px solid var(--border-subtle);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-top:.75rem}.wall-anchor-readout div{display:grid;gap:.2rem}.wall-anchor-readout dd{margin:0}.wall-result-layers ul{list-style:none;margin:0;padding:0}@media(max-width:820px){.wall-anchor-readout{grid-template-columns:1fr}.wall-stud-discovery{grid-template-columns:auto minmax(0,1fr)}.wall-stud-show-frame{grid-column:1 / -1}}}@layer features{.stage-overlay .building-load-audit-overlay{display:grid;gap:5px;min-width:236px}.stage-overlay .building-load-audit-overlay.state-ok{border-color:color-mix(in srgb,var(--color-success) 38%,transparent);background:color-mix(in srgb,var(--color-panel) 90%,transparent)}.stage-overlay .building-load-audit-overlay.state-warning{border-color:color-mix(in srgb,var(--color-danger-hover) 46%,transparent);background:color-mix(in srgb,var(--color-panel) 92%,transparent)}.stage-overlay .building-load-audit-overlay small{color:var(--color-muted);font-size:.72rem;font-weight:850}.building-load-audit-overlay-levels{display:grid;gap:4px;margin:2px 0 0;padding:0;list-style:none}.building-load-audit-overlay-levels li{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--color-text);font-size:.72rem;font-weight:850}.building-load-audit-overlay-levels strong{color:inherit;font-size:.72rem}.building-load-audit-metrics{margin-top:10px}.building-load-audit-table .state-ok,.building-load-audit-table .state-warning{border-color:var(--color-border);background:var(--color-card)}.building-load-audit-level-row,.building-load-audit-element-row,.building-load-audit-endpoint-row,.building-load-audit-hidden-row{grid-template-columns:minmax(0,1.25fr) minmax(82px,.7fr) minmax(92px,.8fr) minmax(86px,.75fr)}.building-load-audit-issues{margin-top:12px}.building-load-audit-issues li{display:grid;gap:3px}.building-load-audit-issues strong{color:var(--color-danger-hover)}@media(max-width:720px){.building-load-audit-level-row,.building-load-audit-element-row,.building-load-audit-endpoint-row,.building-load-audit-hidden-row{grid-template-columns:minmax(0,1fr)}}}@layer features{.building-load-graph-toolbar,.building-load-graph-tabs,.building-load-graph-endpoints{display:flex;flex-wrap:wrap;gap:.45rem}.building-load-graph-toolbar{margin-bottom:.75rem}.building-load-graph-toolbar :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-load-graph-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-load-graph-endpoints :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-load-graph-rows header :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:var(--surface-raised, var(--color-primary-contrast));border:1px solid var(--border-subtle, var(--color-page));border-radius:var(--radius-panel);color:inherit;cursor:pointer;display:inline-flex;gap:.35rem;padding:.35rem .55rem}.building-load-graph-toolbar :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.55}.building-load-graph-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{background:var(--accent-soft, var(--color-card));border-color:var(--accent, var(--color-info));color:var(--accent-strong, var(--color-info))}.building-load-graph-search{display:grid;gap:.3rem;margin:.75rem 0 .25rem}.building-load-graph-search :is(.ui-input,.ui-checkbox,.ui-file-input){min-width:0;width:100%}.building-load-graph-count,.building-load-graph-empty,.building-load-graph-error{color:var(--text-muted, var(--color-muted));font-size:.82rem}.building-load-graph-error{color:var(--danger, var(--color-danger-hover))}.building-load-graph-rows{display:grid;gap:.55rem;list-style:none;margin:0;max-height:28rem;overflow:auto;padding:0}.building-load-graph-rows article,.building-load-graph-adjacency,.building-load-graph-integrity{background:var(--surface-soft, var(--color-card));border:1px solid var(--border-subtle, var(--color-page));border-radius:var(--radius-panel);padding:.65rem}.building-load-graph-rows header{align-items:flex-start;display:flex;gap:.65rem;justify-content:space-between}.building-load-graph-rows header span,.building-load-graph-rows p,.building-load-graph-rows code{font-size:.78rem;overflow-wrap:anywhere}.building-load-graph-adjacency{margin-top:.8rem}.building-load-graph-adjacency h3,.building-load-graph-adjacency h4{margin:.25rem 0}.building-load-graph-adjacency ul{margin:.25rem 0 .65rem;padding-left:1rem}.building-load-graph-integrity{display:grid;gap:.4rem;margin:.8rem 0 0}.building-load-graph-integrity div{display:grid;gap:.15rem}.building-load-graph-integrity dt{color:var(--text-muted, var(--color-muted));font-size:.72rem;text-transform:uppercase}.building-load-graph-integrity dd{margin:0;overflow-wrap:anywhere}}@layer features{.building-plan-editor{position:absolute;top:0;right:0;bottom:0;left:0}.building-feature-opening-preview,.building-feature-wall-preview{pointer-events:visibleStroke;stroke-linecap:round}.building-feature-opening-preview{cursor:grab;stroke:var(--document-amber);stroke-width:20;stroke-opacity:.72}.building-feature-wall-preview{pointer-events:none;stroke:var(--document-blue);stroke-dasharray:8 7;stroke-width:7}.building-feature-handle{cursor:grab;fill:var(--color-card);stroke:var(--color-primary-hover);stroke-width:2.5}.building-feature-handle:hover,.building-feature-handle:focus-visible{fill:var(--color-panel);outline:none;stroke:var(--color-warning)}.building-feature-dock-target{pointer-events:none;fill:color-mix(in srgb,var(--color-info) 18%,transparent);stroke:var(--color-info);stroke-width:2}.building-elevation-editor{position:absolute;left:18px;bottom:18px;z-index:2;width:min(420px,calc(100% - 36px));border:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 94%,transparent);box-shadow:0 16px 34px color-mix(in srgb,var(--color-text) 16%,transparent)}.building-elevation-editor svg{display:block;width:100%;height:auto}.building-elevation-wall{fill:var(--color-card-muted);stroke:var(--color-muted);stroke-width:2}.building-elevation-opening{fill:var(--color-card);stroke:var(--color-warning);stroke-width:2}.building-elevation-handle{cursor:grab;stroke:var(--color-primary-hover);stroke-linecap:round;stroke-width:8}.building-elevation-handle:hover,.building-elevation-handle:focus-visible{outline:none;stroke:var(--color-warning)}.building-snap-toggle-shell{display:inline-flex;min-height:40px;align-items:center;gap:7px;border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);padding:0 10px;background:color-mix(in srgb,var(--color-card) 88%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent);color:var(--color-text);font-weight:850}.building-snap-toggle-shell :is(.ui-input,.ui-checkbox,.ui-file-input){accent-color:var(--color-primary-hover)}.building-stage-toolbar{flex-wrap:wrap;max-width:calc(100% - 36px)}.building-level-visibility{display:inline-flex;min-height:40px;align-items:center;gap:4px;border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);padding:4px;background:color-mix(in srgb,var(--color-card) 88%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent)}.building-level-visibility :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid transparent;border-radius:var(--radius-panel);padding:0 10px;background:transparent;color:var(--color-primary-hover);cursor:pointer;font-size:.78rem;font-weight:850}.building-level-visibility :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:color-mix(in srgb,var(--color-primary-hover) 22%,transparent);background:var(--color-primary-hover);color:var(--color-primary-contrast)}.building-level-visibility :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.72}.building-level-visibility-mode,.building-level-visibility-roof{display:inline-flex;min-height:30px;align-items:center;gap:6px;border-left:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);padding-left:8px;color:var(--color-text);font-size:.78rem;font-weight:850}.building-feature-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:grid;place-items:center;padding:18px;background:color-mix(in srgb,var(--color-stage) 20%,transparent)}.building-feature-dialog{width:min(460px,100%);border:1px solid color-mix(in srgb,var(--color-stage) 22%,transparent);border-radius:var(--radius-panel);padding:16px;background:var(--color-card);box-shadow:0 24px 50px color-mix(in srgb,var(--color-text) 22%,transparent)}.building-feature-dialog form,.building-feature-dialog-grid{display:grid;gap:12px}.building-feature-dialog header,.building-feature-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px}.building-feature-dialog header{color:var(--color-muted);font-size:.82rem;font-weight:800}.building-feature-dialog header strong{color:var(--color-text)}.building-feature-dialog footer{justify-content:flex-end}.building-feature-dialog footer :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height)}.building-feature-dialog footer .primary{border-color:var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-primary-contrast)}.building-feature-command-error{position:absolute;right:18px;bottom:18px;z-index:3;max-width:min(420px,calc(100% - 36px));margin:0;border:1px solid color-mix(in srgb,var(--color-danger-hover) 32%,transparent);border-radius:var(--radius-panel);padding:10px 12px;background:var(--color-card);color:var(--color-danger-hover);font-size:.82rem;font-weight:800}.building-feature-operation-status{position:absolute;right:18px;bottom:18px;z-index:3;display:grid;gap:5px;max-width:min(440px,calc(100% - 36px));margin:0;border:1px solid color-mix(in srgb,var(--color-primary-hover) 30%,transparent);border-radius:var(--radius-panel);padding:10px 12px;background:var(--color-card);color:var(--color-primary-hover);font-size:.82rem;font-weight:800}.building-feature-operation-status.state-busy{border-color:color-mix(in srgb,var(--color-muted) 30%,transparent);background:var(--color-card);color:var(--color-text)}.building-feature-operation-status.state-error,.building-feature-operation-status.state-proposed{border-color:color-mix(in srgb,var(--color-danger-hover) 32%,transparent);background:var(--color-card);color:var(--color-danger-hover)}.building-feature-operation-status span{font-size:.72rem;opacity:.78}.building-feature-operation-status ul{display:grid;gap:3px;margin:0;padding:0 0 0 16px}}@layer features{.building-3d-measurement-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:6}.building-3d-measurement-lines,.building-3d-measurement-labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.building-3d-measurement-line{stroke:color-mix(in srgb,var(--document-ink) 62%,transparent);stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.building-3d-measurement-line[data-tone=primary]{stroke:color-mix(in srgb,var(--document-green) 86%,transparent);stroke-width:1.8}.building-3d-measurement-label{position:absolute;top:0;left:0;max-width:118px;border:1px solid color-mix(in srgb,var(--document-ink) 20%,transparent);border-radius:var(--radius-panel);padding:3px 7px;color:var(--document-ink);background:color-mix(in srgb,var(--document-paper) 90%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--document-ink) 14%,transparent);font-size:.68rem;font-weight:850;line-height:1.15;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.building-3d-measurement-label[data-tone=primary]{color:var(--document-paper);border-color:color-mix(in srgb,var(--document-ink) 20%,transparent);background:color-mix(in srgb,var(--document-green) 90%,transparent)}.building-3d-measurement-label[data-tone=secondary]{color:var(--document-green);background:color-mix(in srgb,var(--document-white) 78%,transparent)}}@layer features{.geometry-lab-workspace{display:flex;flex-direction:column;gap:14px;min-height:0;padding:18px}.geometry-lab-header,.geometry-lab-probe-panel,.geometry-lab-summary,.geometry-lab-grid{display:grid;gap:12px}.geometry-lab-header{align-items:end;grid-template-columns:minmax(0,1fr) auto}.geometry-lab-header p,.geometry-lab-header h2,.geometry-lab-panel h3{margin:0}.geometry-lab-header p{color:var(--muted-text, var(--document-steel));font-size:.78rem;text-transform:uppercase}.geometry-lab-header h2{font-size:1.35rem}.geometry-lab-actions{display:flex;gap:8px}.geometry-lab-error,.geometry-lab-empty{margin:0;color:var(--danger-text, var(--document-rust))}.geometry-lab-summary{grid-template-columns:repeat(7,minmax(90px,1fr))}.geometry-lab-metric,.geometry-lab-panel,.geometry-lab-probe-result{background:var(--panel-bg, var(--document-white));border:1px solid var(--border-color, var(--document-paper));border-radius:var(--radius-panel)}.geometry-lab-metric{min-height:72px;padding:12px}.geometry-lab-metric span,.geometry-lab-probe-result span,.geometry-lab-row span{color:var(--muted-text, var(--document-steel));font-size:.78rem;text-transform:uppercase}.geometry-lab-metric strong{display:block;font-size:1.45rem;line-height:1.2;margin-top:6px}.geometry-lab-probe-panel{align-items:end;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(180px,.6fr)}.geometry-lab-probe-result{min-height:64px;padding:10px 12px}.geometry-lab-probe-result strong,.geometry-lab-probe-result small{display:block}.geometry-lab-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.geometry-lab-panel{min-width:0;padding:12px}.geometry-lab-list{display:grid;gap:8px;margin-top:10px;max-height:300px;overflow:auto}.geometry-lab-row{border:1px solid var(--border-color, var(--document-paper));border-radius:var(--radius-panel);display:grid;gap:3px;padding:8px}.geometry-lab-row strong,.geometry-lab-row small{min-width:0;overflow-wrap:anywhere}.geometry-lab-entity-table{display:grid;margin-top:10px;max-height:420px;overflow:auto}.geometry-lab-entity-head,.geometry-lab-entity-row{display:grid;gap:8px;grid-template-columns:minmax(220px,1.6fr) minmax(150px,1fr) minmax(90px,.5fr) minmax(150px,.8fr) minmax(240px,1.3fr)}.geometry-lab-entity-head{color:var(--muted-text, var(--document-steel));font-size:.78rem;font-weight:700;padding:6px 8px;text-transform:uppercase}.geometry-lab-entity-row{background:transparent;border:0;border-top:1px solid var(--border-color, var(--document-paper));color:inherit;font:inherit;padding:8px;text-align:left}.geometry-lab-entity-row:hover,.geometry-lab-entity-row:focus-visible{background:var(--hover-bg, var(--document-paper))}.geometry-lab-entity-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:900px){.geometry-lab-header,.geometry-lab-probe-panel,.geometry-lab-grid{grid-template-columns:1fr}.geometry-lab-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}}@layer features{.workspace-structure-lab>.structure-lab-workspace{grid-column:1 / -1}.structure-lab-workspace{--structure-amber: var(--color-warning);--structure-amber-soft: var(--color-page);--structure-canvas: var(--color-text);--structure-ink: var(--color-text);--structure-line: var(--color-border);--structure-muted: var(--color-muted);--structure-panel: var(--color-panel);--structure-teal: var(--color-primary);background:var(--color-card-muted);color:var(--structure-ink);display:grid;font-family:Aptos,Segoe UI,sans-serif;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;min-width:0}.structure-lab-header{align-items:center;background-color:var(--color-stage-text);background-image:repeating-linear-gradient(90deg,transparent 0 39px,color-mix(in srgb,var(--color-primary) 4%,transparent) 39px 40px);border-bottom:1px solid var(--structure-line);display:flex;gap:24px;justify-content:space-between;padding:15px 22px 14px}.structure-lab-header h1,.structure-lab-header p,.structure-lab-panel h2,.structure-lab-panel h3,.structure-lab-panel p,.structure-lab-inspector-empty h2,.structure-lab-inspector-empty p{margin:0}.structure-lab-header h1,.structure-lab-panel-heading h2,.structure-lab-inspector-empty h2{font-family:Bahnschrift Condensed,DIN Condensed,Arial Narrow,sans-serif;font-stretch:condensed;text-transform:uppercase}.structure-lab-header h1{font-size:clamp(1.55rem,2vw,2.15rem);letter-spacing:-.035em;line-height:1}.structure-lab-kicker{color:var(--structure-teal);font-size:.67rem;font-weight:950;letter-spacing:.17em;margin-bottom:5px!important;text-transform:uppercase}.structure-lab-description{color:var(--structure-muted);font-size:.78rem;line-height:1.35;margin-top:7px!important;max-width:760px}.structure-lab-counts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}.structure-lab-header-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.structure-lab-header-reset{align-items:center;background:transparent;border:0;color:var(--structure-muted);cursor:pointer;display:inline-flex;font-size:.67rem;font-weight:850;gap:5px;padding:2px 4px;text-transform:uppercase}.structure-lab-header-reset:hover{color:var(--structure-teal)}.structure-lab-counts span{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-round);color:var(--color-text);font-family:ui-monospace,Cascadia Mono,monospace;font-size:.62rem;font-weight:900;letter-spacing:.055em;padding:6px 9px;text-transform:uppercase}.structure-lab-counts span.is-inactive{border-style:dashed;color:var(--color-muted)}.structure-lab-editor{display:grid;grid-template-columns:minmax(248px,286px) minmax(430px,1fr) minmax(292px,342px);min-height:0}.structure-lab-panel{background:var(--structure-panel);min-height:0;overflow:auto;overflow-x:hidden;padding:16px;scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.structure-lab-layout-panel{border-right:1px solid var(--structure-line)}.structure-lab-inspector,.structure-lab-inspector-empty{border-left:1px solid var(--structure-line)}.structure-lab-panel-heading{align-items:center;display:flex;gap:11px;margin-bottom:16px}.structure-lab-panel-heading p{color:var(--structure-muted);font-size:.64rem;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.structure-lab-panel-heading h2{font-size:1.08rem;letter-spacing:-.015em;line-height:1.05}.structure-lab-index{align-items:center;background:var(--color-primary);border-radius:var(--radius-panel);box-shadow:inset 0 -2px color-mix(in srgb,var(--color-text) 18%,transparent);color:var(--color-primary-contrast);display:inline-flex;flex:0 0 auto;font-family:ui-monospace,Cascadia Mono,monospace;font-size:.68rem;font-weight:900;height:34px;justify-content:center;width:42px}.structure-lab-index.is-member{background:var(--color-warning)}.structure-lab-index.is-support{background:var(--color-muted)}.structure-lab-entity-section{border-top:1px solid var(--structure-line);padding:13px 0 15px}.structure-lab-entity-section>header{align-items:center;color:var(--color-muted);display:grid;gap:7px;grid-template-columns:auto 1fr auto;margin-bottom:8px}.structure-lab-entity-section>header>span{align-items:center;color:var(--structure-teal);display:inline-flex}.structure-lab-entity-section h3,.structure-lab-control-section h3{color:var(--color-muted);font-size:.65rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.structure-lab-entity-section>header em{background:var(--color-page);border-radius:var(--radius-round);color:var(--color-muted);font-family:ui-monospace,monospace;font-size:.61rem;font-style:normal;font-weight:900;min-width:21px;padding:3px 6px;text-align:center}.structure-lab-entity-stack{display:grid;gap:4px;margin-bottom:7px;max-height:164px;overflow:auto}.structure-lab-entity-stack :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:color-mix(in srgb,var(--color-card) 58%,transparent);border:1px solid transparent;border-radius:var(--radius-panel);color:var(--color-text);cursor:pointer;display:grid;gap:2px 7px;grid-template-columns:36px minmax(0,1fr);padding:7px;text-align:left}.structure-lab-entity-stack :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{background:var(--color-card);border-color:var(--color-border)}.structure-lab-entity-stack :is(.ui-button,.icon-button,.row-action,.toolbar-button).is-selected{background:var(--color-panel);border-color:var(--color-muted);box-shadow:inset 3px 0 0 var(--structure-teal)}.structure-lab-entity-stack :is(.ui-button,.icon-button,.row-action,.toolbar-button)>span{color:var(--color-muted);font-family:ui-monospace,monospace;font-size:.6rem;font-weight:950;grid-row:1 / 3}.structure-lab-entity-stack :is(.ui-button,.icon-button,.row-action,.toolbar-button) strong{font-size:.71rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.structure-lab-entity-stack :is(.ui-button,.icon-button,.row-action,.toolbar-button) small{color:var(--color-muted);font-size:.6rem}.structure-lab-entity-add,.structure-lab-secondary-button{background:transparent;border:1px solid var(--color-border);color:var(--color-text);font-size:.69rem;font-weight:850;width:100%}.structure-lab-entity-add:hover,.structure-lab-secondary-button:hover{border-color:var(--structure-teal);color:var(--structure-teal)}.structure-lab-primary-action{background:var(--structure-amber);border-color:var(--color-warning);color:var(--color-text);font-size:.7rem;font-weight:950;width:100%}.structure-lab-primary-action:hover{background:var(--color-warning)}.structure-lab-canvas-shell{background:var(--structure-canvas);display:grid;grid-template-rows:auto minmax(0,1fr);min-height:420px;min-width:0;overflow:hidden}.structure-lab-toolbar{align-items:stretch;background:var(--color-stage);border-bottom:1px solid var(--color-stage);color:var(--color-stage-text);display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;min-height:66px;padding:8px 11px;position:relative;z-index:4}.structure-lab-tool-group{align-items:stretch;display:flex;gap:3px}.structure-lab-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:var(--color-stage);border:1px solid var(--color-primary-hover);border-radius:var(--radius-panel);color:var(--color-border);cursor:pointer;display:flex;flex-direction:column;font-size:.59rem;font-weight:800;gap:4px;justify-content:center;min-width:calc(var(--control-height) * 1.813);padding:6px 8px}.structure-lab-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-muted);color:var(--color-primary-contrast)}.structure-lab-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button).is-active{background:var(--structure-amber);border-color:var(--color-border);color:var(--color-text)}.structure-lab-plane-controls{align-items:end;display:flex;gap:8px;min-width:0}.structure-lab-plane-controls .field-shell,.structure-lab-plane-controls .number-field{min-width:92px;width:118px}.structure-lab-plane-controls .field-label,.structure-lab-plane-controls .field-shell label{color:var(--color-border);font-size:.59rem}.structure-lab-plane-controls .number-input-frame :is(.ui-input,.ui-checkbox,.ui-file-input),.structure-lab-plane-controls .field-shell .ui-select{background:var(--color-stage);border-color:var(--color-primary-hover);color:var(--color-stage-text);min-height:var(--control-checkbox-size)}.structure-lab-plane-controls .number-input-frame em{color:var(--color-border)}.structure-lab-plane-controls .checkbox-field{align-self:center;color:var(--color-border);font-size:.62rem;max-width:112px}.structure-lab-plane-mode{align-items:center;background:var(--color-stage);border:1px solid var(--color-primary-hover);border-radius:var(--radius-panel);display:flex;gap:6px;min-height:32px;padding:0 8px}.structure-lab-plane-mode.is-locked{background:var(--color-stage);border-color:var(--color-warning);color:var(--color-border)}.structure-lab-plane-mode .checkbox-field{max-width:148px}.structure-lab-plane-through{align-self:center;background:transparent;border:1px solid var(--color-muted);border-radius:var(--radius-panel);color:var(--color-border);cursor:pointer;font-size:.6rem;font-weight:800;min-height:32px;padding:0 8px}.structure-lab-plane-through:hover{border-color:var(--structure-amber);color:var(--color-primary-contrast)}.structure-lab-chain-state{align-content:center;border-left:1px solid var(--color-primary-hover);display:grid;grid-template-columns:auto 1fr;padding-left:12px}.structure-lab-chain-state>span{background:var(--color-danger);border-radius:var(--radius-round);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-danger) 14%,transparent);grid-row:1 / 3;height:7px;margin:6px 9px 0 0;width:7px}.structure-lab-chain-state strong{color:var(--color-stage-text);font-size:.64rem}.structure-lab-chain-state small{color:var(--color-border);font-size:.56rem}.structure-lab-viewport-shell{min-height:0;overflow:hidden;position:relative}.structure-lab-viewport{height:100%;top:0;right:0;bottom:0;left:0;min-height:420px;outline:none;position:absolute;width:100%}.structure-lab-viewport:focus-visible{box-shadow:inset 0 0 0 3px var(--color-border)}.structure-lab-empty-prompt,.structure-lab-canvas-notice{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:color-mix(in srgb,var(--document-ink) 86%,transparent);border:1px solid color-mix(in srgb,var(--document-rule) 22%,transparent);border-radius:var(--radius-panel);color:var(--document-paper);display:flex;font-size:.67rem;gap:8px;left:50%;padding:9px 12px;pointer-events:none;position:absolute;top:16px;transform:translate(-50%);z-index:3}.structure-lab-empty-prompt svg{color:var(--structure-amber)}.structure-lab-canvas-notice{border-color:color-mix(in srgb,var(--document-amber) 50%,transparent);color:var(--document-rule);top:58px}.structure-lab-viewport-note{align-items:center;bottom:14px;color:var(--color-border);display:flex;font-family:ui-monospace,Cascadia Mono,monospace;font-size:.6rem;gap:9px;left:15px;pointer-events:none;position:absolute;z-index:2}.structure-lab-viewport-note strong{border:1px solid var(--color-muted);color:var(--color-stage-text);padding:4px 6px;text-transform:uppercase}.structure-lab-control-section{border-top:1px solid var(--structure-line);display:grid;gap:10px;padding:14px 0}.structure-lab-section-title-row{align-items:center;display:flex;gap:8px;justify-content:space-between}.structure-lab-section-title-row>span{background:var(--color-page);border-radius:var(--radius-round);color:var(--color-muted);font-family:ui-monospace,monospace;font-size:.58rem;font-weight:850;padding:3px 7px}.structure-lab-section-title-row>span.is-warning{background:var(--structure-amber-soft);color:var(--color-danger-hover)}.structure-lab-field-grid{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.structure-lab-field-grid.is-two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.structure-lab-panel .field-shell label,.structure-lab-panel .field-label{color:var(--color-muted);font-size:.64rem;font-weight:850}.structure-lab-panel .number-input-frame :is(.ui-input,.ui-checkbox,.ui-file-input),.structure-lab-panel .field-shell .ui-select{background:var(--color-card);border-color:var(--color-border);min-width:0}.structure-lab-panel .number-field .number-input-frame{grid-template-columns:minmax(28px,1fr) max-content;min-width:0;width:100%}.structure-lab-panel .number-field{min-width:0}.structure-lab-panel .number-input-frame em{font-size:.58rem}.structure-lab-detail-note{color:var(--structure-muted);font-size:.67rem;line-height:1.45}.structure-lab-lock-note{align-items:flex-start;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-primary-hover);display:flex;font-size:.67rem;gap:8px;line-height:1.4;margin-bottom:12px;padding:9px}.structure-lab-lock-note svg{flex:0 0 auto;margin-top:1px}.structure-lab-participant-list,.structure-lab-station-list{display:grid;gap:5px}.structure-lab-station-attach{display:grid;gap:7px}.structure-lab-participant-list>div,.structure-lab-station-row{align-items:center;background:color-mix(in srgb,var(--color-card) 72%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-panel);display:flex;justify-content:space-between;padding:7px 8px}.structure-lab-participant-list strong,.structure-lab-station-row strong{display:block;font-size:.68rem}.structure-lab-participant-list span,.structure-lab-station-row span{color:var(--color-muted);display:block;font-size:.59rem;margin-top:2px}.structure-lab-station-row :is(.ui-button,.icon-button,.row-action,.toolbar-button),.structure-lab-endpoint-row>:is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-muted);cursor:pointer;display:inline-flex;height:var(--control-height-compact);justify-content:center;width:var(--control-height)}.structure-lab-station-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.structure-lab-endpoint-row>:is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-danger);color:var(--color-danger-hover)}.structure-lab-endpoint-row{align-items:end;display:grid;gap:6px;grid-template-columns:minmax(0,1fr) auto}.structure-lab-axis-controls{display:grid;gap:4px}.structure-lab-axis-row{display:grid;gap:4px;grid-template-columns:27px 1fr 1fr}.structure-lab-axis-row strong{align-items:center;border-radius:var(--radius-panel);color:var(--color-primary-contrast);display:flex;font-family:ui-monospace,monospace;font-size:.65rem;justify-content:center}.structure-lab-axis-row.axis-x strong{background:var(--color-danger)}.structure-lab-axis-row.axis-y strong{background:var(--color-muted)}.structure-lab-axis-row.axis-z strong{background:var(--color-info)}.structure-lab-axis-row :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);cursor:pointer;font-size:.68rem;font-weight:900;min-height:var(--control-height-compact)}.structure-lab-axis-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--structure-amber)}.structure-lab-vertical-button{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast);font-size:.7rem;font-weight:900;width:100%}.structure-lab-boundary-note{align-items:flex-start;background:var(--color-card-muted);border-radius:var(--radius-panel);color:var(--color-muted);display:flex;font-size:.65rem;gap:7px;line-height:1.4;margin:8px 0 13px;padding:8px}.structure-lab-boundary-note>span{background:var(--structure-amber);border-radius:var(--radius-round);flex:0 0 auto;height:6px;margin-top:4px;width:6px}.structure-lab-restraint-grid{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.structure-lab-restraint-grid .checkbox-field{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-panel);font-family:ui-monospace,monospace;font-size:.64rem;padding:6px}.structure-lab-analysis-panel{background:color-mix(in srgb,var(--color-panel) 97%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-panel);bottom:14px;box-shadow:0 14px 36px color-mix(in srgb,var(--color-text) 32%,transparent);color:var(--structure-ink);display:grid;gap:9px;max-height:min(62vh,560px);overflow:auto;padding:12px;position:absolute;right:14px;width:min(330px,calc(100% - 28px));z-index:3}.structure-lab-analysis-panel.is-collapsed{max-height:none;overflow:visible;padding-block:8px}.structure-lab-analysis-body{display:grid;gap:9px}.structure-lab-analysis-body[hidden]{display:none}.structure-lab-analysis-view-controls{background:var(--color-panel);border:1px solid var(--color-border);border-left:3px solid var(--structure-teal);border-radius:var(--radius-panel);padding:7px}.structure-lab-analysis-panel>header{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding-bottom:8px}.structure-lab-analysis-panel>header span{align-items:center;color:var(--structure-teal);display:flex;font-size:.57rem;font-weight:900;gap:4px;letter-spacing:.1em;text-transform:uppercase}.structure-lab-analysis-panel h2{font-family:Bahnschrift Condensed,Arial Narrow,sans-serif;font-size:1rem;margin:2px 0 0;text-transform:uppercase}.structure-lab-analysis-panel>header :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-contrast);font-size:.64rem;font-weight:900}.structure-lab-analysis-panel>header .structure-lab-analysis-toggle{align-items:center;background:transparent;border:0;color:var(--structure-ink);cursor:pointer;display:grid;grid-template-columns:1fr auto;padding:0;text-align:left}.structure-lab-analysis-toggle span,.structure-lab-analysis-toggle h2{grid-column:1}.structure-lab-analysis-toggle>svg{grid-column:2;grid-row:1 / span 2;margin-left:8px}.structure-lab-load-list{display:grid;gap:6px}.structure-lab-load-row{background:var(--color-card);border:1px solid var(--color-border);border-left:3px solid var(--structure-amber);border-radius:var(--radius-panel);padding:7px}.structure-lab-load-row>header{align-items:center;display:flex;justify-content:space-between}.structure-lab-load-row>header strong{font-family:ui-monospace,monospace;font-size:.6rem}.structure-lab-load-row>header :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:transparent;border:0;color:var(--color-danger-hover);cursor:pointer}.structure-lab-load-row>.structure-lab-load-vector{align-items:end;display:grid;gap:5px;grid-template-columns:15px repeat(3,1fr);margin-top:5px}.structure-lab-load-vector>b{color:var(--structure-teal);font-family:ui-monospace,monospace;font-size:.62rem;padding-bottom:8px}.structure-lab-load-row .field-label{font-size:.55rem}.structure-lab-load-row .number-input-frame{grid-template-columns:minmax(24px,1fr) auto}.structure-lab-load-row :is(.ui-input,.ui-checkbox,.ui-file-input){min-width:0}.structure-lab-load-row em{font-size:.48rem}.structure-lab-analysis-empty{color:var(--color-muted);font-size:.64rem;line-height:1.4;margin:0}.structure-lab-analysis-diagnostics{align-items:flex-start;background:var(--color-card-muted);border:1px solid var(--color-warning);display:flex;font-size:.61rem;gap:6px;padding:7px}.structure-lab-analysis-diagnostics ul{margin:0;padding-left:15px}.structure-lab-analysis-error{background:var(--color-page);color:var(--color-danger-hover);font-size:.63rem;margin:0;padding:7px}.structure-lab-analysis-results{border-top:1px solid var(--color-border);display:grid;gap:6px;padding-top:8px}.structure-lab-analysis-results.is-stale{opacity:.64}.structure-lab-analysis-verdict{align-items:center;display:flex;font-size:.68rem;justify-content:space-between}.structure-lab-analysis-verdict span{color:var(--color-warning);font-size:.55rem}.structure-lab-analysis-results dl{display:grid;gap:5px;grid-template-columns:1fr 1fr;margin:0}.structure-lab-analysis-results dl div{background:var(--color-page);padding:6px}.structure-lab-analysis-results dt{color:var(--color-muted);font-size:.52rem;text-transform:uppercase}.structure-lab-analysis-results dd{font-family:ui-monospace,monospace;font-size:.64rem;margin:2px 0 0}.structure-lab-demand-row{display:grid;font-family:ui-monospace,monospace;font-size:.59rem;gap:5px;grid-template-columns:1fr auto auto}.structure-lab-analysis-results small{color:var(--color-muted);font-size:.56rem;line-height:1.35}.is-spinning{animation:structure-lab-spin .8s linear infinite}@keyframes structure-lab-spin{to{transform:rotate(360deg)}}.structure-lab-context-window{width:min(340px,calc(100vw - 24px))}.structure-lab-context-window .context-window-body{display:grid;gap:9px}.structure-lab-context-grid{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.structure-lab-context-grid>.field-shell:first-child{grid-column:1 / -1}.structure-lab-context-grid :is(.ui-input,.ui-checkbox,.ui-file-input){min-width:0}.structure-lab-context-actions,.structure-lab-overhang-actions,.structure-lab-pair-actions{display:grid;gap:5px}.structure-lab-context-joint{border-block:1px solid var(--color-border);display:grid;gap:6px;grid-template-columns:1fr 1fr;padding-block:8px}.structure-lab-overhang-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.structure-lab-context-window .context-window-action{justify-content:flex-start}.structure-lab-remove-button{background:transparent;border:1px solid var(--color-border);color:var(--color-danger-hover);font-size:.69rem;font-weight:850;width:100%}.structure-lab-remove-button:disabled{border-color:var(--color-border);color:var(--color-muted);cursor:not-allowed}.structure-lab-inspector-empty{align-content:center;color:var(--color-muted);display:grid;gap:9px;justify-items:center;text-align:center}.structure-lab-inspector-empty svg{color:var(--structure-amber)}.structure-lab-inspector-empty h2{font-size:1.08rem}.structure-lab-inspector-empty p{font-size:.7rem;line-height:1.45;max-width:220px}.structure-lab-status{align-items:center;background:var(--color-stage);border-top:1px solid var(--color-stage);color:var(--color-border);display:flex;font-size:.64rem;gap:9px;letter-spacing:.025em;min-height:34px;padding:0 18px}.structure-lab-status-light{background:var(--color-warning);border-radius:var(--radius-round);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning) 14%,transparent);height:7px;width:7px}.structure-lab-issue-count{align-items:center;color:var(--color-border);display:inline-flex;gap:5px;margin-left:auto}@media(max-width:1180px){.structure-lab-editor{grid-template-columns:minmax(220px,260px) minmax(420px,1fr)}.structure-lab-inspector,.structure-lab-inspector-empty{border-left:0;border-top:1px solid var(--structure-line);grid-column:1 / -1;max-height:540px}.structure-lab-toolbar{grid-template-columns:auto minmax(0,1fr)}.structure-lab-chain-state{display:none}}@media(max-width:760px){.structure-lab-workspace{height:auto}.structure-lab-header{align-items:flex-start;flex-direction:column}.structure-lab-counts{justify-content:flex-start}.structure-lab-editor{display:flex;flex-direction:column}.structure-lab-layout-panel,.structure-lab-inspector,.structure-lab-inspector-empty{border-left:0;border-right:0;max-height:none}.structure-lab-toolbar{grid-template-columns:1fr}.structure-lab-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button){flex:1}.structure-lab-plane-controls{align-items:stretch;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.structure-lab-plane-controls .field-shell,.structure-lab-plane-controls .number-field{width:auto}.structure-lab-canvas-shell,.structure-lab-viewport,.structure-lab-viewport-shell{min-height:510px}}}@layer features{.structure-lab-entity-list{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,transparent),transparent 48%),var(--color-card-muted);border-bottom:1px solid var(--structure-line);margin:-17px -17px 17px;padding:11px 12px 12px}.structure-lab-entity-list.is-member{background:linear-gradient(135deg,color-mix(in srgb,var(--color-warning) 10%,transparent),transparent 48%),var(--color-card-muted)}.structure-lab-entity-list-items{display:flex;gap:6px;margin-bottom:8px;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-color:var(--color-border) transparent;scrollbar-width:thin}.structure-lab-entity-list-items>:is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:color-mix(in srgb,var(--color-card) 70%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-muted);cursor:pointer;display:grid;flex:0 0 auto;gap:2px;grid-template-columns:auto 1fr;min-width:calc(var(--control-height) * 3.625);padding:7px 8px;text-align:left;transition:border-color .14s ease,box-shadow .14s ease,color .14s ease,transform .14s ease}.structure-lab-entity-list-items>:is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-muted);color:var(--color-text);transform:translateY(-1px)}.structure-lab-entity-list-items>:is(.ui-button,.icon-button,.row-action,.toolbar-button).is-selected{background:var(--color-card);border-color:var(--structure-teal);box-shadow:inset 3px 0 0 var(--structure-teal);color:var(--color-text)}.structure-lab-entity-list.is-member .structure-lab-entity-list-items>:is(.ui-button,.icon-button,.row-action,.toolbar-button).is-selected{border-color:var(--structure-amber);box-shadow:inset 3px 0 0 var(--structure-amber)}.structure-lab-entity-list-items span{align-self:stretch;color:var(--structure-teal);font-family:ui-monospace,Cascadia Mono,monospace;font-size:.58rem;font-weight:900;letter-spacing:.04em;padding-right:6px}.structure-lab-entity-list.is-member .structure-lab-entity-list-items span{color:var(--color-warning)}.structure-lab-entity-list-items strong{font-size:.67rem;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.structure-lab-entity-add{background:transparent;border:1px dashed var(--color-border);color:var(--color-primary-hover);font-size:.65rem;font-weight:850;min-height:30px;width:100%}.structure-lab-entity-add:hover{background:color-mix(in srgb,var(--color-primary-contrast) 45%,transparent);border-color:var(--structure-teal)}.structure-lab-entity-list.is-member .structure-lab-entity-add:hover{border-color:var(--structure-amber)}.structure-lab-connection-fields{display:grid;gap:8px}.structure-lab-connection-fields .ui-select{font-family:ui-monospace,Cascadia Mono,monospace;font-size:.68rem}.structure-lab-boundary-note{align-items:flex-start;background:var(--color-panel);border:1px solid var(--color-border);border-left:3px solid var(--structure-teal);display:flex;gap:8px;margin-top:14px;padding:9px}.structure-lab-boundary-note>span{background:var(--color-muted);border-radius:var(--radius-round);flex:0 0 auto;height:7px;margin-top:3px;width:7px}.structure-lab-boundary-note p{color:var(--color-muted);font-size:.66rem;line-height:1.4}.structure-lab-member-placeholder :is(.ui-button,.icon-button,.row-action,.toolbar-button){justify-self:center;margin-top:4px}}@layer features{.demo-shell{min-height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;padding:clamp(12px,2vw,24px);color:var(--color-text);background:linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 6%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in srgb,var(--color-stage) 6%,transparent) 1px,transparent 1px),var(--color-panel);background-size:28px 28px}.demo-header{display:flex;align-items:end;justify-content:space-between;gap:16px;padding:6px 4px 0}.demo-eyebrow{display:inline-flex;align-items:center;gap:8px;margin:0 0 6px;color:var(--color-muted);font-size:.78rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.demo-header h1,.start-demo-preview h2{margin:0;color:var(--document-ink);font-size:clamp(1.35rem,2.2vw,2rem);letter-spacing:0;line-height:1.1}.demo-header-actions,.demo-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.demo-status,.demo-command,.demo-icon-command{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:var(--radius-panel);padding:0 12px;color:var(--color-text);background:color-mix(in srgb,var(--color-card) 86%,transparent);font:inherit;font-size:.86rem;font-weight:850;text-decoration:none}.demo-command,.demo-icon-command{cursor:pointer}.demo-icon-command{width:38px;padding:0}.demo-command:hover,.demo-icon-command:hover{border-color:color-mix(in srgb,var(--color-primary-hover) 48%,transparent);background:var(--color-primary-contrast)}.demo-workbench{min-height:0;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.demo-viewer-frame{position:relative;min-width:0;min-height:460px;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-text) 16%,transparent);border-radius:var(--radius-panel);background:var(--color-panel)}.demo-workbench>.demo-viewer-frame{min-height:min(760px,calc(100svh - 118px))}.start-demo-preview{min-width:0;display:grid;gap:clamp(16px,3vw,28px);justify-items:center;padding:clamp(28px,5vw,64px) clamp(18px,5vw,72px);text-align:center;background:var(--document-paper)}.start-demo-preview-copy{display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;max-width:980px}.start-demo-preview-text{max-width:920px;margin:0;color:var(--document-green);font-size:clamp(1rem,1.6vw,1.18rem);font-weight:650;line-height:1.55}.demo-inline-frame-wrap{width:min(1120px,100%);overflow:hidden;border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:var(--radius-panel);background:var(--color-panel);box-shadow:0 18px 38px color-mix(in srgb,var(--color-text) 12%,transparent)}.demo-inline-frame{display:block;width:100%;height:clamp(520px,68svh,760px);border:0;background:var(--color-panel)}.demo-toolbar--centered{justify-content:center}@media(max-width:820px){.demo-shell{padding:10px}.demo-header,.demo-workbench{grid-template-columns:1fr}.demo-header{align-items:stretch;flex-direction:column}.demo-workbench>.demo-viewer-frame{min-height:68svh}.start-demo-preview{padding:24px 16px}.demo-inline-frame{height:560px}}@media(max-width:560px){.demo-header-actions,.demo-toolbar{align-items:stretch;flex-direction:column}.demo-command,.demo-status{width:100%}.demo-inline-frame{height:500px}}}@layer features{.three-measurement-layer{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:6}.three-measurement-lines,.three-measurement-labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.three-measurement-line{stroke:color-mix(in srgb,var(--document-ink) 62%,transparent);stroke-width:1.4;stroke-linecap:round;vector-effect:non-scaling-stroke}.three-measurement-line[data-tone=primary]{stroke:color-mix(in srgb,var(--document-green) 86%,transparent);stroke-width:1.8}.three-measurement-label{position:absolute;top:0;left:0;max-width:128px;border:1px solid color-mix(in srgb,var(--document-ink) 20%,transparent);border-radius:var(--radius-panel);padding:3px 7px;color:var(--document-ink);background:color-mix(in srgb,var(--document-paper) 90%,transparent);box-shadow:0 8px 20px color-mix(in srgb,var(--document-ink) 14%,transparent);font-size:.68rem;font-weight:850;line-height:1.15;text-align:center;white-space:nowrap;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.three-measurement-label[data-tone=primary]{color:var(--document-paper);border-color:color-mix(in srgb,var(--document-ink) 20%,transparent);background:color-mix(in srgb,var(--document-green) 90%,transparent)}.three-measurement-label[data-tone=secondary]{color:var(--document-green);background:color-mix(in srgb,var(--document-white) 78%,transparent)}}@layer features{.building-floor-system{cursor:pointer;fill:color-mix(in srgb,var(--document-steel) 28%,transparent);stroke:var(--document-steel);stroke-dasharray:7 5;stroke-width:2}.building-deck-system{cursor:pointer;fill:color-mix(in srgb,var(--document-teal) 24%,transparent);stroke:var(--document-green);stroke-dasharray:5 4;stroke-width:2}.building-floor-system.selected,.building-deck-system.selected,.building-slab.selected{stroke:var(--document-green);stroke-width:3}.building-wall-placement-preview{pointer-events:none;stroke:var(--document-amber);stroke-dasharray:9 5;stroke-linecap:square;stroke-width:15}.building-feature-dialog-empty{display:grid;gap:12px}.building-feature-dialog-empty p{margin:0;color:var(--document-timber);font-size:.9rem;font-weight:800}.building-feature-dialog-empty footer{display:flex;justify-content:flex-end}}@layer features{.building-plan-editor{--technical-grid-dot: var(--color-muted);--technical-grid-major: var(--color-muted);position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.building-plan-editor .building-plan-svg{top:74px;right:18px;bottom:38px;left:18px;width:calc(100% - 36px);height:calc(100% - 112px);border:1px solid color-mix(in srgb,var(--document-ink) 48%,transparent);background:var(--technical-paper);box-shadow:0 18px 50px color-mix(in srgb,var(--document-black) 38%,transparent);touch-action:none}.building-plan-editor.is-tool-wall-line .building-plan-svg,.building-plan-editor.is-tool-wall-rectangle .building-plan-svg{cursor:crosshair}.building-plan-editor.is-panning .building-plan-svg{cursor:grabbing}.building-plan-grid{color:var(--technical-grid-major)}.building-plan-editor .building-ground-surface{cursor:default;fill:color-mix(in srgb,var(--color-muted) 3.5%,transparent);stroke:color-mix(in srgb,var(--color-primary-hover) 42%,transparent);stroke-dasharray:5 4;stroke-width:.8}.building-plan-editor .building-ground-surface.selected{fill:color-mix(in srgb,var(--color-primary) 5.5%,transparent);stroke:var(--technical-teal)}.building-plan-editor .building-ground-control-point{fill:var(--technical-paper);stroke:var(--technical-teal);stroke-width:1.2}.building-plan-editor .building-slab,.building-plan-editor .building-floor-system,.building-plan-editor .building-deck-system{cursor:pointer;fill:color-mix(in srgb,var(--color-muted) 6.5%,transparent);stroke:color-mix(in srgb,var(--color-stage) 52%,transparent);stroke-linejoin:miter;stroke-width:.9}.building-plan-editor .building-floor-system{fill:color-mix(in srgb,var(--color-muted) 4.5%,transparent);stroke-dasharray:4 3}.building-plan-editor .building-deck-system{fill:color-mix(in srgb,var(--color-primary) 5%,transparent);stroke:color-mix(in srgb,var(--color-primary) 58%,transparent);stroke-dasharray:3 2}.building-plan-editor .building-slab.selected,.building-plan-editor .building-floor-system.selected,.building-plan-editor .building-deck-system.selected{fill:color-mix(in srgb,var(--color-danger) 6%,transparent);stroke:var(--technical-accent);stroke-width:1.4}.building-wall-linework{stroke:var(--color-text);stroke-width:1.08}.building-plan-wall.is-exterior .building-wall-linework{stroke-width:1.28}.building-plan-wall.is-non-bearing .building-wall-linework{stroke:var(--color-stage)}.building-wall-hit,.building-opening-hit{fill:none;stroke:transparent;stroke-linecap:butt}.building-wall-hit{stroke-width:15}.building-opening-hit{stroke-width:13}.building-plan-wall:hover .building-wall-linework{stroke:var(--technical-teal)}.building-plan-wall.selected .building-wall-linework{filter:drop-shadow(0 0 1px color-mix(in srgb,var(--color-danger) 34%,transparent));stroke:var(--technical-accent-dark);stroke-width:1.65}.building-opening-jamb{pointer-events:none;stroke:var(--color-text);stroke-linecap:square;stroke-width:1.08}.building-plan-opening.selected .building-opening-jamb{stroke:var(--technical-accent);stroke-width:1.8}.building-plan-editor .building-foundation-line{stroke:var(--color-muted);stroke-dasharray:5 2;stroke-linecap:square;stroke-width:1.8}.building-plan-editor .building-foundation-marker{fill:var(--technical-paper);stroke:var(--color-muted);stroke-width:1.2}.building-plan-editor .building-foundation-line.selected,.building-plan-editor .building-foundation-marker.selected{fill:var(--technical-paper);stroke:var(--technical-accent)}.building-plan-editor .building-pillar-axis{stroke:var(--color-danger-hover);stroke-dasharray:4 2;stroke-width:1}.building-plan-editor .building-pillar-marker,.building-plan-editor .building-pillar-top-marker{fill:var(--technical-paper);stroke:var(--color-stage);stroke-width:1.25}.building-plan-editor .building-pillar-marker.selected{fill:color-mix(in srgb,var(--color-danger) 10%,transparent);stroke:var(--technical-accent);stroke-width:1.7}.building-plan-editor .building-dimension-label{fill:var(--technical-ink);font:800 11px/1 ui-monospace,SFMono-Regular,Consolas,monospace;paint-order:stroke;stroke:var(--technical-paper);stroke-width:3px}.building-wall-placement-preview,.building-plan-wall-draw-preview{fill:none;pointer-events:none;stroke:var(--technical-accent);stroke-dasharray:6 3;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.35}.building-plan-snap-marker rect{fill:color-mix(in srgb,var(--color-card) 88%,transparent);stroke-width:1.15}.building-plan-snap-marker path{fill:none;stroke:var(--technical-teal);stroke-width:.8}.building-plan-snap-marker.is-grid rect{stroke-dasharray:2 1}.building-plan-live-measure rect{fill:color-mix(in srgb,var(--color-text) 93%,transparent);stroke:color-mix(in srgb,var(--color-primary-contrast) 20%,transparent);stroke-width:.7}.building-plan-live-measure text{fill:var(--color-card);font:750 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.02em}.building-plan-editor .building-feature-wall-preview{stroke:var(--technical-accent);stroke-dasharray:6 3;stroke-linecap:square;stroke-width:1.4}.building-plan-editor .building-feature-opening-preview{stroke:transparent;stroke-width:13}.building-plan-editor .building-feature-dock-target{fill:color-mix(in srgb,var(--color-primary) 10%,transparent);stroke:var(--technical-teal);stroke-width:1.2}.building-plan-editor .building-feature-handle{cursor:grab;outline:none}.building-plan-editor .building-feature-handle-hit{fill:transparent;pointer-events:all;stroke:none}.building-plan-editor .building-feature-handle-mark{pointer-events:none;stroke-width:1.1}.building-plan-editor .building-feature-handle:hover .building-feature-handle-mark,.building-plan-editor .building-feature-handle:focus-visible .building-feature-handle-mark{fill:var(--color-card);stroke:var(--technical-accent);stroke-width:1.5}@media(max-width:860px){.building-plan-editor .building-plan-svg{top:74px;right:8px;bottom:38px;left:8px;width:calc(100% - 16px)}}}@layer features{.building-plan-editor.has-level-rail .building-plan-svg{left:112px;width:calc(100% - 130px)}.building-plan-level-rail{position:absolute;top:74px;bottom:38px;left:18px;z-index:3;display:flex;width:82px;min-height:0;flex-direction:column;border:1px solid color-mix(in srgb,var(--color-text) 42%,transparent);color:var(--technical-ink);background:color-mix(in srgb,var(--color-panel) 97%,transparent);box-shadow:0 12px 30px color-mix(in srgb,var(--color-text) 25%,transparent)}.building-plan-level-rail header{display:flex;min-height:34px;align-items:center;gap:6px;border-bottom:1px solid var(--technical-rule);padding:7px 8px;color:var(--technical-muted);font:850 .55rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.06em;text-transform:uppercase}.building-plan-level-list{display:grid;min-height:0;align-content:start;gap:4px;overflow-y:auto;padding:6px}.building-plan-level-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:grid;min-height:var(--control-hit-target);grid-template-columns:22px minmax(0,1fr);align-items:center;gap:5px;border:1px solid transparent;border-radius:var(--radius-tight);padding:4px;color:var(--color-text);background:transparent;cursor:pointer;text-align:left}.building-plan-level-list :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-border);background:var(--color-card)}.building-plan-level-list :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-muted);color:var(--color-primary-hover);background:var(--color-page)}.building-plan-level-list strong{display:grid;width:22px;height:22px;place-items:center;border:1px solid currentColor;font:850 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.building-plan-level-list span{overflow:hidden;font:750 .57rem/1.15 Arial Narrow,Roboto Condensed,sans-serif;text-overflow:ellipsis}.building-plan-level-rail footer{display:grid;gap:4px;margin-top:auto;border-top:1px solid var(--technical-rule);padding:6px}.building-plan-level-rail footer :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height-compact);border:1px solid var(--color-border);border-radius:var(--radius-tight);padding:4px;color:var(--color-text);background:var(--color-card);cursor:pointer;font:750 .52rem/1.1 Arial Narrow,Roboto Condensed,sans-serif}.building-plan-level-rail footer :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--technical-teal);color:var(--color-primary-hover);background:var(--color-page)}.building-plan-level-rail footer :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.38}.building-plan-editor.has-level-rail .building-plan-status{left:112px}@media(max-width:860px){.building-plan-editor.has-level-rail .building-plan-svg{top:144px;left:8px;width:calc(100% - 16px);height:calc(100% - 182px)}.building-plan-level-rail{top:74px;right:8px;bottom:auto;left:8px;width:auto;height:62px;flex-direction:row}.building-plan-level-rail header{display:none}.building-plan-level-list{flex:1;grid-auto-columns:minmax(76px,110px);grid-auto-flow:column;overflow-x:auto;overflow-y:hidden}.building-plan-level-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-hit-target)}.building-plan-level-rail footer{grid-auto-columns:76px;grid-auto-flow:column;margin-top:0;border-top:0;border-left:1px solid var(--technical-rule)}.building-plan-editor.has-level-rail .building-plan-status{left:8px}}}@layer features{.building-plan-status{position:absolute;right:18px;bottom:10px;left:18px;z-index:2;display:flex;min-height:25px;align-items:center;gap:8px;color:var(--color-stage-text);font:750 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.building-plan-status-dot{width:7px;height:7px;border:1px solid color-mix(in srgb,var(--color-primary-contrast) 35%,transparent);background:var(--technical-teal)}.building-plan-status.has-issue .building-plan-status-dot{background:var(--technical-accent)}.building-plan-status-spacer{flex:1}.building-plan-status :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;min-height:var(--control-height-compact);align-items:center;gap:5px;border:1px solid color-mix(in srgb,var(--color-card-muted) 30%,transparent);border-radius:var(--radius-tight);padding:3px 7px;color:var(--color-stage-text);background:color-mix(in srgb,var(--color-stage) 32%,transparent);cursor:pointer;font:inherit}.building-stage-toolbar.is-plan{top:10px;right:18px;left:18px;max-width:none;min-height:54px;align-items:stretch;gap:0;overflow-x:auto;overflow-y:hidden;border:1px solid color-mix(in srgb,var(--color-text) 42%,transparent);border-radius:var(--radius-tight);background:color-mix(in srgb,var(--color-panel) 97%,transparent);box-shadow:0 12px 28px color-mix(in srgb,var(--color-text) 24%,transparent)}.building-stage-toolbar.is-plan .building-mode-toggle,.building-stage-toolbar.is-plan .building-view-toggle,.building-stage-toolbar.is-plan .building-snap-toggle-shell,.building-stage-toolbar.is-plan .building-level-visibility{min-height:52px;border:0;border-right:1px solid var(--technical-rule);border-radius:var(--radius-none);background:transparent;box-shadow:none}.building-stage-toolbar.is-plan .building-mode-toggle,.building-stage-toolbar.is-plan .building-view-toggle{padding:7px}.building-stage-toolbar.is-plan .building-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-stage-toolbar.is-plan .building-view-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button){border-radius:var(--radius-tight);font-family:Arial Narrow,Roboto Condensed,sans-serif;letter-spacing:.025em;text-transform:uppercase}.building-stage-toolbar.is-plan .building-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.building-stage-toolbar.is-plan .building-view-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{background:var(--technical-ink)}.building-plan-tool-controls{display:flex;align-items:stretch;border-right:1px solid var(--technical-rule)}.building-plan-tool-buttons{display:flex;align-items:stretch;gap:2px;padding:7px}.building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;min-width:calc(var(--control-height) * 1.938);align-items:center;justify-content:center;gap:5px;border:1px solid transparent;padding:0 8px;color:var(--color-text);background:transparent;cursor:pointer;font-size:.67rem;font-weight:850}.building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-border);background:var(--color-card)}.building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--technical-accent-dark);color:var(--color-primary-contrast);background:var(--technical-accent-dark)}.building-plan-tool-settings{display:flex;align-items:stretch;border-left:1px solid var(--technical-rule)}.building-plan-wall-type-field,.building-plan-tool-settings .number-field{display:grid;min-width:142px;align-content:center;gap:3px;padding:5px 8px}.building-plan-wall-type-field>span,.building-plan-tool-settings .field-label{color:var(--technical-muted);font:850 .56rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.07em;text-transform:uppercase}.building-plan-wall-type-field .ui-select,.building-plan-tool-settings :is(.ui-input,.ui-checkbox,.ui-file-input){height:var(--control-checkbox-size);border:1px solid var(--color-border);border-radius:var(--radius-tight);color:var(--technical-ink);background:var(--color-card);font:750 .68rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.building-plan-tool-settings .number-field{min-width:92px;border-left:1px solid var(--technical-rule)}.building-stage-toolbar.is-plan>.number-field{min-width:82px;padding:5px 8px;border-right:1px solid var(--technical-rule)}@media(max-width:1180px){.building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:var(--control-hit-target)}.building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button) span{display:none}.building-plan-wall-type-field{min-width:118px;max-width:160px}}@media(max-width:860px){.building-stage-toolbar.is-plan,.building-plan-status{right:8px;left:8px}}}@layer features{.connection-editor{border-top-color:var(--color-border)}.connection-badge{min-width:34px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:5px 8px;color:var(--color-text);background:var(--color-card);font-size:.72rem;font-weight:900;text-align:center}.linked-source-note{display:grid;gap:3px;margin-top:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-card);color:var(--color-text)}.linked-source-note small{color:var(--color-muted);font-weight:700}.connection-mode{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:12px;border:1px solid var(--color-border);border-radius:var(--radius-panel);overflow:hidden;background:var(--color-card)}.connection-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:0;border-right:1px solid var(--color-border);color:var(--color-text);background:transparent;font-weight:900;cursor:pointer}.connection-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button):last-child{border-right:0}.connection-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{color:var(--color-primary-contrast);background:var(--color-stage)}.connection-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}label,.field-shell,.number-field{display:grid;gap:6px;min-width:0;color:var(--color-text);font-size:.78rem;font-weight:800}.field-label-row{display:inline-flex;align-items:center;gap:6px;min-width:0}.field-label-row>label,.checkbox-field-label{display:inline-flex;min-width:0;color:inherit;font-size:inherit;font-weight:inherit}.field-label-row>label{align-items:baseline}.field-shell>small{color:var(--color-muted);font-size:.72rem;font-weight:750;line-height:1.25}:is(.ui-input,.ui-checkbox,.ui-file-input),.ui-select{width:100%;min-width:var(--control-checkbox-size);min-height:var(--control-checkbox-size);border:1px solid var(--color-muted);border-radius:var(--radius-panel);padding:8px 10px;color:var(--color-text);background:linear-gradient(180deg,var(--color-card) 0%,var(--color-panel) 100%);font-size:.9rem;font-weight:850}.ui-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:36px;background:linear-gradient(45deg,transparent 50%,var(--color-stage) 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,var(--color-stage) 50%,transparent 50%) right 8px center / 6px 6px no-repeat,linear-gradient(90deg,transparent calc(100% - 30px),color-mix(in srgb,var(--color-stage) 10%,transparent) calc(100% - 30px)),linear-gradient(180deg,var(--color-card) 0%,var(--color-panel) 100%);cursor:pointer}:is(.ui-input,.ui-checkbox,.ui-file-input):focus,.ui-select:focus{border-color:var(--color-text);outline:2px solid color-mix(in srgb,var(--color-stage) 34%,transparent);outline-offset:2px}:is(.ui-input,.ui-checkbox,.ui-file-input):disabled,.ui-select:disabled{color:var(--color-muted);background:var(--color-card-muted);cursor:not-allowed}.ui-select:disabled{background:linear-gradient(45deg,transparent 50%,var(--color-muted) 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,var(--color-muted) 50%,transparent 50%) right 8px center / 6px 6px no-repeat,linear-gradient(90deg,transparent calc(100% - 30px),color-mix(in srgb,var(--color-muted) 14%,transparent) calc(100% - 30px)),var(--color-card-muted)}:is(.ui-input,.ui-checkbox,.ui-file-input)[type=checkbox],:is(.ui-input,.ui-checkbox,.ui-file-input)[type=radio]{width:var(--control-checkbox-size);min-width:var(--control-checkbox-size);min-height:var(--control-checkbox-size);accent-color:var(--color-text)}.number-field .number-input-frame{display:grid;grid-template-columns:minmax(68px,1fr) max-content;align-items:center;min-width:118px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-card)}.number-field .field-label{display:flex;align-items:baseline;justify-content:flex-start;gap:8px;min-width:0;border:0;border-radius:var(--radius-none);background:transparent}.checkbox-field-inline{display:inline-grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:6px;color:var(--color-text);font-size:.78rem;font-weight:800}.checkbox-field-inline.has-help{grid-template-columns:max-content minmax(0,1fr) max-content}.checkbox-field-label{cursor:pointer}.field-label small{color:var(--color-muted);font-size:.7rem;font-weight:900}.number-field :is(.ui-input,.ui-checkbox,.ui-file-input){border:0;min-width:var(--control-checkbox-size);width:100%;min-height:var(--control-checkbox-size);padding-right:6px;background:transparent}.number-field :is(.ui-input,.ui-checkbox,.ui-file-input):focus{outline:0}.number-field em{padding-right:10px;color:var(--color-muted);font-size:.75rem;font-style:normal;font-weight:800;white-space:nowrap}.number-field-note{color:var(--color-muted);font-size:.72rem;font-weight:750;line-height:1.25}.number-field-note.is-warning{color:var(--color-danger-hover)}.timber-hole-editor-note{grid-column:1 / -1;color:var(--color-danger-hover);font-size:.72rem;font-weight:750;line-height:1.25}.editor-group{margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border)}.collar-sizing-advice{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;align-items:center;border:1px solid var(--color-danger);border-radius:var(--radius-panel);padding:10px;background:var(--color-panel);color:var(--color-text)}.collar-sizing-advice span,.collar-sizing-advice small{font-size:.74rem;font-weight:850}.collar-sizing-advice strong{font-size:.95rem}.collar-sizing-advice small{color:var(--color-muted)}.collar-sizing-advice :is(.ui-button,.icon-button,.row-action,.toolbar-button){grid-row:1 / span 3;grid-column:2;min-height:var(--control-height);border:1px solid var(--color-danger-hover);border-radius:var(--radius-panel);padding:0 10px;color:var(--color-primary-contrast);background:var(--color-danger-hover);font-size:.78rem;font-weight:900;cursor:pointer}.collar-sizing-advice :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{background:var(--color-stage)}}@layer features{.slab-primary-group{margin-top:0;padding-top:0;border-top:0}.selected-editor{margin-top:18px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-panel)}.selected-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.group-rows{display:grid;gap:10px;margin-top:12px}.editor-group:not([open]) .group-heading,.panel-block:not([open]) .panel-block-summary{margin-bottom:0}.data-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(128px,1fr));align-items:end;gap:8px}.support-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.floor-opening-list{display:grid;gap:8px}.panel-note-warning{color:var(--color-danger-hover)}.point-row{grid-template-columns:repeat(auto-fit,minmax(128px,1fr))}.slab-row-card{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card)}.slab-rect-row,.slab-strength-row,.slab-load-row,.slab-zone-row,.slab-edge-load-row{grid-template-columns:repeat(auto-fit,minmax(118px,1fr))}.slab-section-row{grid-template-columns:minmax(104px,1fr) 1fr 1fr}.slab-plan-editor{position:absolute;z-index:4;top:20px;left:20px;display:grid;gap:10px;width:min(720px,calc(100% - 40px));border:1px solid color-mix(in srgb,var(--color-stage) 32%,transparent);border-radius:var(--radius-panel);padding:12px;background:color-mix(in srgb,var(--color-card) 94%,transparent);box-shadow:0 18px 42px color-mix(in srgb,var(--color-text) 16%,transparent)}.slab-region-display{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.slab-region-display .slab-plan-toolbar{position:absolute;z-index:2;top:16px;left:16px;pointer-events:auto}.slab-solver-map{position:absolute;z-index:2;top:16px;right:16px;display:grid;gap:10px;width:min(430px,calc(100% - 32px));border:1px solid color-mix(in srgb,var(--color-stage) 34%,transparent);border-radius:var(--radius-panel);padding:12px;background:color-mix(in srgb,var(--color-card) 90%,transparent);box-shadow:0 18px 42px color-mix(in srgb,var(--color-text) 16%,transparent);pointer-events:auto}.slab-solver-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}.slab-solver-heading span,.slab-solver-readout span,.slab-solver-empty span{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.slab-solver-heading strong,.slab-solver-readout strong,.slab-solver-empty strong{color:var(--color-text);font-weight:900}.slab-solver-mode{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:3px;background:var(--color-card-muted)}.slab-solver-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:0;border-radius:var(--radius-panel);padding:0 9px;color:var(--color-text);background:transparent;font-size:.76rem;font-weight:850;cursor:pointer}.slab-solver-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{color:var(--color-primary-contrast);background:var(--color-stage)}.slab-solver-svg{display:block;width:100%;min-height:240px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper)}.slab-solver-footprint{fill:color-mix(in srgb,var(--color-panel) 68%,transparent);stroke:var(--color-muted);stroke-width:.04;vector-effect:non-scaling-stroke}.slab-solver-grid{fill:url(#slab-solver-grid);stroke:none}.slab-solver-svg pattern path{fill:none;stroke:color-mix(in srgb,var(--document-green) 24%,transparent);stroke-width:.025}.slab-solver-cell{opacity:.82;stroke:color-mix(in srgb,var(--color-text) 14%,transparent);stroke-width:.018;vector-effect:non-scaling-stroke}.slab-solver-area-load{fill:color-mix(in srgb,var(--color-danger-hover) 10%,transparent);stroke:var(--color-danger-hover);stroke-dasharray:.12 .08;stroke-width:.055;vector-effect:non-scaling-stroke}.slab-solver-line-load{stroke:var(--color-danger-hover);stroke-width:.085;stroke-linecap:round;vector-effect:non-scaling-stroke}.slab-solver-point-load{fill:var(--color-danger-hover);stroke:var(--color-card);stroke-width:.045;vector-effect:non-scaling-stroke}.slab-solver-governing-node{fill:none;stroke:var(--color-text);stroke-width:.08;vector-effect:non-scaling-stroke}.slab-solver-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slab-solver-readout div,.slab-solver-empty{display:grid;gap:3px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-card)}.slab-fem-footprint{fill:color-mix(in srgb,var(--color-panel) 92%,transparent);stroke-width:.065}.slab-fem-element{opacity:.9;stroke:color-mix(in srgb,var(--color-text) 24%,transparent);stroke-width:.018;vector-effect:non-scaling-stroke}.slab-fem-zone{fill:none;stroke:var(--color-primary-hover);stroke-dasharray:.15 .075;stroke-width:.065;vector-effect:non-scaling-stroke}.slab-fem-zone.is-top{stroke:var(--color-danger-hover)}.slab-polygon-group{border-color:var(--color-border);background:linear-gradient(color-mix(in srgb,var(--color-stage) 3.5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 3.5%,transparent) 1px,transparent 1px),var(--color-card);background-size:18px 18px}.slab-fem-banner{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--color-border);border-left:4px solid var(--color-primary-hover);border-radius:var(--radius-panel);padding:10px 11px;color:var(--color-text);background:color-mix(in srgb,var(--color-panel) 90%,transparent)}.slab-fem-banner div{display:grid;gap:2px}.slab-fem-banner span{color:var(--color-muted);font-size:.76rem;line-height:1.35}.slab-preview-chip{border:1px solid var(--document-ground);border-radius:var(--radius-round);padding:4px 8px;color:var(--document-green)!important;background:var(--document-paper);font-size:.66rem!important;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.slab-polygon-ring,.slab-opening-card,.slab-fem-settings{display:grid;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px;background:color-mix(in srgb,var(--color-card) 92%,transparent)}.slab-polygon-ring-heading,.slab-opening-card-heading,.slab-polygon-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.slab-polygon-ring-heading>span,.slab-opening-card-heading strong{color:var(--color-text);font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.slab-polygon-ring-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button),.slab-polygon-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:6px 9px;color:var(--color-text);background:var(--color-panel);font-size:.73rem;font-weight:850;cursor:pointer}.slab-polygon-points{display:grid;gap:5px}.slab-polygon-point{grid-template-columns:34px minmax(84px,1fr) minmax(84px,1fr) 34px;align-items:end}.slab-vertex-index{align-self:center;color:var(--color-muted);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;font-weight:850}.slab-polygon-actions>span{color:var(--color-muted);font-size:.72rem;line-height:1.35}.slab-opening-card{border-left:3px solid var(--color-danger-hover)}.slab-fem-result-heading,.slab-fem-zones-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.slab-fem-result-heading>span:last-child{color:var(--color-danger-hover);font-size:.72rem;font-weight:800}.slab-fem-status{border:1px solid var(--color-danger);border-radius:var(--radius-round);padding:4px 8px;color:var(--color-danger-hover);background:var(--color-panel);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.slab-fem-status.is-ready{border-color:var(--color-muted);color:var(--color-text);background:var(--color-panel)}.slab-fem-zones{display:grid;gap:6px;margin-top:12px;border-top:1px solid var(--color-border);padding-top:10px}.slab-fem-validation{display:grid;gap:6px;margin-top:12px;padding:10px;border:1px solid color-mix(in srgb,var(--warning, var(--color-warning)) 45%,var(--border, var(--color-border)));background:color-mix(in srgb,var(--warning, var(--color-warning)) 6%,var(--surface, var(--color-card)))}.slab-fem-validation>div:not(.slab-fem-zones-heading){display:grid;grid-template-columns:42px minmax(130px,.65fr) 1fr;gap:8px;align-items:baseline;font-size:.76rem}.slab-fem-validation .is-pass>span{color:var(--success, var(--color-success))}.slab-fem-validation .is-blocked>span{color:var(--danger, var(--color-danger-hover))}.slab-fem-zones>div:not(.slab-fem-zones-heading){display:grid;grid-template-columns:minmax(80px,.7fr) minmax(120px,1fr) auto;align-items:baseline;gap:8px;border-left:3px solid var(--color-success);padding:6px 8px;background:var(--color-panel)}.slab-fem-zones small,.slab-fem-limitations{color:var(--color-muted);font-size:.72rem}.slab-fem-limitations{margin-top:10px;border:1px dashed var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-card)}.slab-fem-limitations p{margin:3px 0}}@layer features{.slab-verdict{display:grid;gap:7px;border:1px solid var(--color-warning);border-radius:var(--radius-panel);padding:13px 14px;background:var(--color-panel)}.slab-verdict span,.slab-evidence-heading span,.slab-subheading span{color:var(--color-muted);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.slab-verdict strong{color:var(--color-text);font-size:1.16rem;line-height:1.1}.slab-verdict p,.slab-evidence-heading p,.slab-muted-note{margin:0;color:var(--color-text);font-size:.82rem;font-weight:750;line-height:1.38}.slab-verdict-accepted{border-color:var(--color-border);background:var(--color-card)}.slab-verdict-fail{border-color:var(--color-danger-hover);background:var(--color-card)}.slab-verdict-fail strong,.slab-verdict-review strong{color:var(--color-danger-hover)}.slab-verdict-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;margin-top:10px}.slab-verdict-grid>div{display:grid;gap:4px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px 10px;background:var(--color-card)}.slab-verdict-grid span{color:var(--color-muted);font-size:.7rem;font-weight:900;text-transform:uppercase}.slab-verdict-grid strong{min-width:0;color:var(--color-text);font-size:.86rem;overflow-wrap:anywhere}.slab-verdict-grid small{color:var(--color-muted);font-size:.74rem;font-weight:750;line-height:1.25}.slab-priority-list,.slab-evidence-board,.slab-confirmation-list{margin-top:12px}.slab-evidence-board{border-top:1px solid var(--color-border);padding-top:12px}.slab-evidence-heading{display:grid;gap:5px;margin-bottom:10px}.slab-evidence-heading strong{color:var(--color-text);font-size:.98rem}.slab-clause-panel{display:grid;gap:9px;margin-bottom:10px}.slab-clause-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:7px}.slab-clause-counts>div{display:grid;gap:3px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 8px;background:var(--color-card)}.slab-clause-counts span,.slab-clause-row span,.slab-trace-row span{color:var(--color-muted);font-size:.7rem;font-weight:900;overflow-wrap:anywhere}.slab-clause-counts strong{color:var(--color-text);font-size:.86rem}.slab-clause-row-list,.slab-trace-groups{display:grid;gap:7px}.slab-clause-row,.slab-trace-row{display:grid;gap:3px;min-width:0;border-left:3px solid var(--color-muted);padding:6px 0 6px 9px}.slab-clause-row strong,.slab-trace-group>strong{color:var(--color-text);font-size:.82rem;overflow-wrap:anywhere}.slab-clause-row small,.slab-trace-row small{color:var(--color-muted);font-size:.72rem;font-weight:750;line-height:1.25;overflow-wrap:anywhere}.slab-trace-group{display:grid;gap:5px}.slab-subheading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.slab-subheading strong{min-width:28px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:2px 8px;color:var(--color-text);background:var(--color-card);font-size:.74rem;text-align:center}.slab-muted-note{margin-top:8px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px 10px;background:var(--color-card)}.slab-load-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.slab-load-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:0 10px;color:var(--color-text);background:var(--color-card);font-size:.78rem;font-weight:900;cursor:pointer}.slab-load-action:hover{border-color:var(--color-muted);background:var(--color-panel)}.slab-load-action:disabled{opacity:.42;cursor:not-allowed}}@layer features{.support-control-block{display:block;padding:8px 0 10px;border-top:2px solid color-mix(in srgb,var(--color-success) 22%,transparent)}.support-control-block:first-child{border-top-width:1px}.support-control-block:last-child{padding-bottom:0}.support-control-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:30px;padding:0 2px}.support-control-heading:hover{background:color-mix(in srgb,var(--color-panel) 56%,transparent)}.support-control-title{display:inline-flex;align-items:center;gap:5px;min-width:0}.support-control-title h3,.support-control-title strong{color:var(--color-text);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.support-control-chevron{flex:0 0 auto;color:var(--color-muted);transition:transform .14s ease}.support-control-block[open]>.support-control-heading .support-control-chevron{transform:rotate(90deg)}.support-control-heading small{color:var(--color-muted);font-size:.7rem;font-weight:850;line-height:1.2;white-space:nowrap}.support-control-body{display:grid;gap:8px;padding-top:8px}.support-control-block:not([open])>.support-control-body{display:none}.support-control-block[open]>.support-control-heading{border-bottom:1px solid color-mix(in srgb,var(--color-success) 16%,transparent)}}@layer features{.slab-plan-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px}.slab-plan-toolbar label,.slab-plan-inspector label{display:grid;gap:5px;color:var(--color-success);font-size:.74rem;font-weight:900;text-transform:uppercase}.slab-plan-toolbar .ui-select,.slab-plan-inspector :is(.ui-input,.ui-checkbox,.ui-file-input),.slab-plan-inspector .ui-select{min-height:var(--control-checkbox-size);padding:6px 8px}.slab-plan-inspector :is(.ui-input,.ui-checkbox,.ui-file-input){border:1px solid var(--color-muted);border-radius:var(--radius-panel);color:var(--color-text);background:linear-gradient(180deg,var(--color-card) 0%,var(--color-panel) 100%)}.slab-plan-toolbar .ui-select,.slab-plan-inspector .ui-select{padding-right:36px}.slab-plan-mode{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:3px;background:var(--color-card-muted)}.slab-plan-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:0;border-radius:var(--radius-panel);padding:0 11px;color:var(--color-text);background:transparent;cursor:pointer}.slab-plan-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{color:var(--color-primary-contrast);background:var(--color-stage)}.slab-plan-body{display:grid;grid-template-columns:minmax(260px,1.1fr) minmax(230px,.9fr);gap:12px}.slab-plan-svg{width:100%;min-height:270px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper);touch-action:none}.slab-region-display .slab-plan-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;border:0;border-radius:var(--radius-none);background:transparent;opacity:.92;pointer-events:auto}.slab-region-display.is-orbiting .slab-plan-svg{opacity:.22;pointer-events:none}.slab-plan-svg.is-drawing{cursor:crosshair}.slab-plan-svg line{vector-effect:non-scaling-stroke}.slab-plan-svg pattern line{stroke-width:.032}.slab-plan-base{fill:var(--color-border)}.slab-region-display .slab-plan-base{fill:color-mix(in srgb,var(--color-panel) 8%,transparent)}.slab-plan-footprint{fill:color-mix(in srgb,var(--color-panel) 58%,transparent);stroke:var(--color-muted);stroke-width:.035;vector-effect:non-scaling-stroke}.slab-plan-grid{stroke:color-mix(in srgb,var(--color-muted) 36%,transparent);stroke-width:.02}.slab-plan-outline{fill:none;stroke:var(--color-stage);stroke-width:.052;vector-effect:non-scaling-stroke}.slab-plan-region{cursor:pointer}.slab-plan-region rect{stroke-width:.058;vector-effect:non-scaling-stroke}.slab-plan-region rect{fill:color-mix(in srgb,var(--color-info) 14%,transparent);stroke:var(--color-info)}.slab-plan-region.has-thickening rect{fill:url(#slab-plan-hatch-thickening);stroke:var(--color-warning)}.slab-plan-region.has-rebar rect{fill:url(#slab-plan-hatch-rebar)}.slab-plan-region.has-thickening.has-rebar rect{fill:color-mix(in srgb,var(--color-warning) 17%,transparent);stroke:var(--color-info)}#slab-plan-hatch-rebar line{stroke:var(--color-info)}#slab-plan-hatch-thickening line{stroke:var(--color-warning)}.slab-plan-region.is-selected rect{stroke:var(--color-text);stroke-width:.08}.slab-plan-region text,.slab-plan-draft text{fill:var(--color-text);font-size:.2px;font-weight:900;text-anchor:middle;dominant-baseline:middle;paint-order:stroke;stroke:color-mix(in srgb,var(--color-card) 92%,transparent);stroke-width:.07;vector-effect:non-scaling-stroke}.slab-plan-region-meta{fill:var(--color-muted);font-size:.16px}.slab-plan-draft rect{fill:color-mix(in srgb,var(--color-info) 16%,transparent);stroke:var(--color-info);stroke-dasharray:.12 .08;stroke-width:.052;vector-effect:non-scaling-stroke}.slab-plan-inspector{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card)}.slab-plan-inspector-heading{display:flex;align-items:start;justify-content:space-between;gap:8px;margin-bottom:10px}.slab-plan-inspector-heading span,.slab-plan-empty span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.slab-plan-inspector-heading strong{display:block;margin-top:2px}.slab-plan-field-grid,.slab-plan-select-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.slab-plan-select-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.slab-plan-empty{display:grid;place-items:center;min-height:180px;text-align:center}.slab-region-list{display:grid;gap:8px}.slab-region-chip{display:grid;gap:3px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px 10px;color:var(--color-text);text-align:left;background:var(--color-card);cursor:pointer}.slab-region-chip.active{border-color:var(--color-info);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-info) 12%,transparent)}.slab-region-chip span{color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.slab-region-editor,.slab-region-rebar-row{display:grid;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card)}.slab-region-editor{margin-top:10px}.slab-region-modifier-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:6px}}@layer features{.check-row{display:flex;align-items:center;gap:8px;color:var(--color-text);font-weight:900}.check-row :is(.ui-input,.ui-checkbox,.ui-file-input){width:var(--control-checkbox-size);height:var(--control-checkbox-size)}.roof-layer-row{display:grid;grid-template-columns:minmax(88px,1fr) 1fr 1fr;align-items:end;gap:8px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card)}.roof-layer-row>div:first-child{align-self:center}.roof-layer-row strong,.roof-layer-row span{display:block}.roof-layer-row span{margin-top:3px;color:var(--color-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.model-stage{position:relative;min-height:620px;background:var(--color-panel)}.beam-viewport{position:absolute;top:0;right:0;bottom:0;left:0}.beam-viewport:focus{outline:none}.beam-viewport:focus-visible{outline:2px solid var(--color-info);outline-offset:-2px}.beam-viewport canvas{display:block;width:100%;height:100%}.stage-overlay{position:absolute;left:22px;right:22px;bottom:22px;display:flex;flex-wrap:wrap;gap:10px;pointer-events:none}.stage-overlay div{min-width:150px;border:1px solid color-mix(in srgb,var(--color-stage) 26%,transparent);border-radius:var(--radius-panel);padding:10px 12px;background:color-mix(in srgb,var(--color-card) 82%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent)}.stage-overlay .overlay-highlight{border-color:color-mix(in srgb,var(--color-info) 42%,transparent);background:color-mix(in srgb,var(--color-card) 90%,transparent)}.stage-overlay .overlay-highlight strong{color:var(--color-info)}.stage-overlay .slab-layer-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;min-width:300px;pointer-events:auto}.slab-layer-panel span{grid-column:1 / -1}.slab-layer-panel label{display:flex;align-items:center;gap:7px;color:var(--color-text);font-size:.78rem;font-weight:850}.slab-layer-panel :is(.ui-input,.ui-checkbox,.ui-file-input){margin:0}.slab-utilization-legend{display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(90px,1fr) auto;align-items:center;gap:8px;color:var(--color-text);font-size:.74rem;font-weight:850}.slab-utilization-legend i{display:block;height:8px;border:1px solid color-mix(in srgb,var(--color-text) 18%,transparent);border-radius:var(--radius-round);background:linear-gradient(90deg,var(--color-page) 0%,var(--color-muted) 17%,var(--color-success) 43%,var(--color-warning) 57%,var(--color-danger) 67%,var(--color-danger-hover) 100%)}.altan-stage .altan-3d-viewport{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--color-panel);cursor:crosshair}.altan-stage.is-ground-editing .altan-3d-viewport{cursor:context-menu}.altan-3d-viewport canvas{display:block;width:100%;height:100%}.altan-3d-viewport:focus-visible{outline:2px solid color-mix(in srgb,var(--color-info) 75%,transparent);outline-offset:-4px}.altan-viewport-tabs{position:absolute;top:18px;left:18px;z-index:4;display:inline-flex;max-width:calc(100% - 36px);overflow:hidden;border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 90%,transparent);box-shadow:0 12px 26px color-mix(in srgb,var(--color-text) 12%,transparent)}.altan-viewport-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:calc(var(--control-height) * 3.688);border:0;border-right:1px solid color-mix(in srgb,var(--color-stage) 16%,transparent);padding:9px 14px;background:transparent;color:var(--color-text);font-size:.78rem;font-weight:900;letter-spacing:0}.altan-viewport-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button):last-child{border-right:0}.altan-viewport-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{background:var(--color-page);color:var(--color-text)}.altan-coordinate-hud{position:absolute;left:22px;bottom:108px;display:grid;grid-template-columns:repeat(3,auto);gap:3px 12px;align-items:baseline;max-width:min(520px,calc(100% - 44px));border:1px solid color-mix(in srgb,var(--color-stage) 28%,transparent);border-radius:var(--radius-panel);padding:9px 12px;background:color-mix(in srgb,var(--color-card) 90%,transparent);box-shadow:0 12px 26px color-mix(in srgb,var(--color-text) 14%,transparent);color:var(--color-text);pointer-events:none}.altan-coordinate-hud span,.altan-coordinate-hud small{color:var(--color-muted);font-size:.68rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.altan-coordinate-hud span{grid-column:1 / -1}.altan-coordinate-hud strong{font-size:.82rem;font-weight:950;white-space:nowrap}.altan-coordinate-hud small{grid-column:1 / -1;text-transform:none}.ground-surface-extent{fill:var(--color-card-muted);stroke:var(--color-border);stroke-width:.035}.ground-surface-boundary{fill:color-mix(in srgb,var(--color-border) 32%,transparent);stroke:var(--color-success);stroke-width:.055}.ground-surface-control-point circle{fill:var(--color-panel);stroke:var(--color-stage);stroke-width:.035}.ground-surface-control-point text{fill:var(--color-stage);font-size:.32px;font-weight:800;letter-spacing:0;paint-order:stroke;stroke:color-mix(in srgb,var(--color-card) 82%,transparent);stroke-width:.035px}@media(max-width:760px){.altan-stage .stage-overlay{left:12px;right:12px;bottom:12px}.altan-stage .stage-overlay div{min-width:112px;flex:1 1 112px}.altan-coordinate-hud{left:12px;right:12px;bottom:188px;max-width:none;grid-template-columns:repeat(3,minmax(0,auto))}.altan-viewport-tabs{top:12px;left:12px;right:12px;max-width:none}.altan-viewport-tabs :is(.ui-button,.icon-button,.row-action,.toolbar-button){flex:1 1 0;min-width:0}}}@layer features{.energy-stage{display:grid;align-content:start;gap:18px;padding:24px}.energy-editor-group .group-heading{margin-bottom:12px}.energy-row-card{display:grid;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-card)}.energy-row-card.active{border-color:var(--color-primary);box-shadow:inset 0 0 0 1px var(--color-primary)}.energy-row-heading{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px}.energy-body-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px;margin-bottom:10px}.energy-body-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:grid;justify-items:start;min-height:var(--control-hit-target);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px 10px;color:var(--color-text);background:var(--color-card);cursor:pointer}.energy-body-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-text);background:var(--color-panel)}.energy-body-strip strong,.energy-body-strip span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.energy-body-strip span{color:var(--color-muted);font-size:.74rem;font-weight:800}.energy-compact-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.energy-orientation-tool{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;margin-top:10px;padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-panel) 72%,transparent)}.energy-compass{position:relative;display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--color-border);border-radius:var(--radius-round);background:var(--color-card);color:var(--color-text)}.energy-compass span{position:absolute;top:4px;font-size:.62rem;font-weight:950}.energy-compass i{position:absolute;bottom:9px;width:3px;height:21px;border-radius:var(--radius-round);background:var(--color-warning);transform-origin:50% -5px}.energy-rotation-actions{display:flex;flex-wrap:wrap;gap:7px;align-items:center}.energy-angle-preset{min-width:38px;height:34px;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-card);color:var(--color-text);font-weight:900;cursor:pointer}.energy-angle-preset:hover{border-color:var(--color-muted);background:var(--color-panel)}.energy-angle-preset:disabled{opacity:.38;cursor:not-allowed}.energy-layer-list{display:grid;gap:8px}.energy-layer-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));align-items:end;gap:8px}.energy-layer-row .row-action{justify-self:end}.energy-add-line{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-panel);font-weight:900;cursor:pointer}.energy-add-line:disabled{opacity:.5;cursor:not-allowed}.energy-mini-result{display:grid;align-content:center;min-height:58px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-panel)}.energy-mini-result span,.energy-score span,.energy-flow span,.energy-scenario small{color:var(--document-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.energy-mini-result strong{margin-top:3px;color:var(--color-text);font-size:.9rem}.energy-derived-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-panel)}.energy-derived-note span{color:var(--color-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}.energy-derived-note strong{color:var(--color-text);font-size:.86rem;text-align:right}.energy-scoreboard{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.energy-score{min-height:130px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:14px;background:var(--color-card);box-shadow:0 18px 34px color-mix(in srgb,var(--color-text) 8%,transparent)}.energy-score strong{display:block;margin-top:18px;color:var(--color-text);font-size:clamp(1.4rem,3vw,2.35rem);line-height:1}.energy-score small{display:block;margin-top:7px;color:var(--color-muted);font-weight:800}.energy-score.pass{border-color:var(--color-primary);background:var(--color-panel)}.energy-score.fail{border-color:var(--color-danger);background:var(--color-card)}}@layer features{.energy-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--document-concrete);border-radius:var(--radius-panel);overflow:hidden;background:var(--document-concrete)}.energy-flow div{display:grid;gap:8px;min-height:96px;padding:14px;background:var(--document-paper)}.energy-flow strong{color:var(--document-ink);font-size:1rem}.energy-3d-board{display:grid;gap:12px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:14px;background:color-mix(in srgb,var(--document-paper) 90%,transparent)}.energy-3d-viewport{position:relative;min-height:420px;overflow:hidden;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper)}.energy-3d-viewport canvas{display:block;width:100%;height:100%}.energy-axis-key{position:absolute;right:12px;bottom:12px;z-index:1;display:flex;gap:8px;pointer-events:none}.energy-axis-key span,.energy-position-note span{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border:1px solid var(--document-rule);border-radius:var(--radius-round);padding:2px 9px;background:color-mix(in srgb,var(--document-paper) 86%,transparent);color:var(--document-ink);font-size:.72rem;font-weight:900}.energy-axis-key .x-axis{border-color:color-mix(in srgb,var(--document-blue) 52%,transparent);color:var(--document-blue)}.energy-axis-key .z-axis{border-color:color-mix(in srgb,var(--document-teal) 55%,transparent);color:var(--document-green)}.energy-view-compass{position:absolute;right:12px;bottom:12px;z-index:1;display:grid;place-items:center;width:54px;height:54px;border:1px solid var(--document-rule);border-radius:var(--radius-round);background:color-mix(in srgb,var(--document-paper) 90%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--document-ink) 12%,transparent);color:var(--document-green);font-size:.66rem;font-weight:950}.energy-view-compass span{position:absolute}.energy-view-compass span:first-child{top:5px}.energy-view-compass span:last-child{bottom:5px;color:var(--document-timber)}.energy-view-compass i{width:4px;height:34px;border-radius:var(--radius-round);background:linear-gradient(var(--document-amber) 0 46%,var(--document-green) 46% 100%);transform:rotate(var(--north-angle, 0deg));transform-origin:50% 50%}.energy-compass-key{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--document-rule);border-radius:var(--radius-round);background:color-mix(in srgb,var(--document-paper) 88%,transparent)}.energy-compass-key span{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none;transform:translateY(-9px);color:var(--document-green)}.energy-compass-key i{position:absolute;width:3px;height:24px;border-radius:var(--radius-round);background:linear-gradient(var(--document-amber) 0 48%,var(--document-green) 48% 100%)}.energy-position-note{display:flex;flex-wrap:wrap;gap:8px}}@layer features{.energy-plan-board,.energy-shell-debug-board{display:grid;gap:12px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:14px;background:color-mix(in srgb,var(--document-paper) 88%,transparent)}.energy-plan-svg{width:100%;min-height:320px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper)}.energy-shell-debug-svg{width:100%;min-height:240px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper)}.energy-shell-debug-summary{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.energy-shell-debug-summary span,.energy-shell-debug-summary strong{display:inline-flex;min-height:30px;align-items:center;border:1px solid var(--document-rule);border-radius:var(--radius-round);padding:0 10px;color:var(--document-ink);background:var(--document-paper);font-size:.78rem;font-weight:900}.energy-shell-debug-summary .exact{border-color:var(--document-teal);color:var(--document-green);background:var(--document-paper)}.energy-shell-debug-summary .approx{border-color:var(--document-amber);color:var(--document-timber);background:var(--document-paper)}.energy-shell-debug-body{fill:color-mix(in srgb,var(--document-blue) 10%,transparent);stroke:color-mix(in srgb,var(--document-blue) 48%,transparent);stroke-width:.05}.energy-shell-debug-boundary{stroke:var(--document-rust);stroke-linecap:square;stroke-linejoin:round;stroke-width:2.2px;vector-effect:non-scaling-stroke}.energy-shell-debug-note{margin:0;color:var(--document-muted);font-size:.78rem;font-weight:800}.energy-plan-body-group{cursor:grab}.energy-plan-body-group:active{cursor:grabbing}.energy-plan-body{fill:color-mix(in srgb,var(--document-paper) 72%,transparent);stroke:color-mix(in srgb,var(--document-green) 28%,transparent);stroke-width:.04;cursor:pointer}.energy-plan-body.selected{fill:color-mix(in srgb,var(--document-amber) 14%,transparent);stroke:var(--document-amber);stroke-width:.07}.energy-plan-wall{stroke:var(--document-green);stroke-linecap:square;vector-effect:non-scaling-stroke}.energy-plan-wall.selected{stroke:var(--document-blue)}.energy-plan-connected-wall{stroke:var(--document-ground);stroke-dasharray:.18 .16;stroke-linecap:round;stroke-width:.1}.energy-plan-opening{stroke:var(--document-blue);stroke-linecap:round;stroke-width:.24;cursor:pointer}.energy-plan-opening.selected{stroke:var(--document-amber);stroke-width:.32}.energy-plan-opening.ignored{stroke:var(--document-ground);stroke-dasharray:.12 .12}.energy-plan-roof{stroke:var(--document-timber);stroke-width:.06;stroke-linecap:round;fill:none}.energy-plan-roof-fall{stroke:color-mix(in srgb,var(--document-timber) 62%,transparent);stroke-width:.035;stroke-linecap:round}.energy-plan-axis line{stroke-width:.07;stroke-linecap:round;vector-effect:non-scaling-stroke}.energy-plan-axis line:first-of-type{stroke:var(--document-blue)}.energy-plan-axis line:last-of-type{stroke:var(--document-green)}.energy-plan-axis marker path{fill:currentColor}.energy-plan-axis text{fill:var(--document-ink);font-size:.42px;font-weight:950;letter-spacing:0;paint-order:stroke;stroke:color-mix(in srgb,var(--document-paper) 90%,transparent);stroke-width:.09px}.energy-plan-label{fill:var(--document-ink);font-size:.34px;font-weight:800;letter-spacing:0;paint-order:stroke;stroke:color-mix(in srgb,var(--document-paper) 90%,transparent);stroke-width:.08px;text-anchor:middle}.energy-plan-legend{display:flex;flex-wrap:wrap;gap:12px;color:var(--document-muted);font-size:.76rem;font-weight:850}.energy-plan-legend span{display:inline-flex;align-items:center;gap:6px}.energy-plan-legend i{display:inline-block;width:18px;height:4px;border-radius:var(--radius-round)}.energy-plan-legend .wall{background:var(--document-green)}.energy-plan-legend .connected{background:repeating-linear-gradient(90deg,var(--document-ground) 0 4px,transparent 4px 7px)}.energy-plan-legend .opening{height:6px;background:var(--document-blue)}.energy-plan-legend .debug-body{height:8px;border:1px solid color-mix(in srgb,var(--document-blue) 48%,transparent);background:color-mix(in srgb,var(--document-blue) 10%,transparent)}.energy-plan-legend .debug-boundary{height:6px;background:var(--document-rust)}}@layer features{.energy-scenario-board{display:grid;gap:10px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:14px;background:color-mix(in srgb,var(--color-card) 84%,transparent)}.energy-scenario{display:grid;grid-template-columns:minmax(0,1fr) 82px 82px;align-items:center;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-card)}.energy-scenario strong,.energy-check strong{display:block;color:var(--color-text)}.energy-scenario span{display:block;margin-top:4px;color:var(--color-muted);font-size:.76rem;font-weight:750}.energy-scenario b{display:block;margin-top:4px;color:var(--color-text);font-size:1rem}.delta-good b{color:var(--color-success)}.delta-bad b{color:var(--color-danger-hover)}.energy-check-list{display:grid;gap:10px;margin-bottom:16px}.energy-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;align-items:start;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-card)}.energy-check.pass svg{color:var(--document-teal)}.energy-check.fail{border-color:var(--color-danger);background:var(--color-card)}.energy-check.fail svg{color:var(--document-rust)}.energy-check span{display:block;margin-top:4px;color:var(--color-muted);font-size:.8rem;font-weight:800}.stage-overlay strong{display:block;margin-top:4px;font-size:1.05rem}}@layer features{.workspace-ventilation{--vent-supply: var(--color-info);--vent-extract: var(--color-warning);--vent-line: var(--color-border);height:100%;min-height:0;overflow:hidden}.workspace-ventilation .control-panel,.workspace-ventilation .result-panel{height:100%;min-height:0;overflow:auto}.workspace-ventilation .model-stage{height:100%;min-height:0}.ventilation-part-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.7rem}.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button),.ventilation-rotate-row :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-card);color:var(--color-text);cursor:pointer;font:inherit;font-weight:850}.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.ventilation-rotate-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-muted);background:var(--color-panel)}.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.ventilation-rotate-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.45}.ventilation-rotate-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-top:.65rem}.ventilation-rotate-row :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;display:inline-flex;gap:.25rem;justify-content:center}.ventilation-part-label-short{display:none}.ventilation-stage{position:relative;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 7%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-stage) 7%,transparent) 1px,transparent 1px),var(--color-card-muted);background-size:28px 28px}.ventilation-stage-summary{align-items:center;display:inline-grid;grid-template-columns:auto auto;gap:2px 9px;position:absolute;top:18px;left:22px;z-index:3;max-width:min(360px,calc(100% - 44px));margin:0;border:1px solid color-mix(in srgb,var(--color-stage) 26%,transparent);border-radius:var(--radius-panel);padding:8px 11px;background:color-mix(in srgb,var(--color-card) 86%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent);pointer-events:none}.ventilation-stage-summary span,.ventilation-stage-summary small,.ventilation-stage-strip small{color:var(--color-muted);font-size:.72rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.ventilation-stage-summary strong{color:var(--color-text);font-size:.96rem}.ventilation-stage-summary small{grid-column:1 / -1;text-transform:none}.ventilation-viewport-wrap{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}.ventilation-viewport{position:relative;width:100%;height:100%;overflow:hidden}.ventilation-viewport:after{content:"";position:absolute;top:24px;right:24px;bottom:24px;left:24px;border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);pointer-events:none}.ventilation-viewport canvas{cursor:crosshair;display:block;width:100%;height:100%}.ventilation-stage-strip,.ventilation-side-list,.ventilation-terminal-row,.ventilation-pressure-row,.ventilation-ready-text{align-items:center;display:flex;gap:.6rem}.ventilation-stage-strip{position:absolute;right:22px;bottom:22px;left:22px;z-index:3;width:auto;border:1px solid color-mix(in srgb,var(--color-stage) 26%,transparent);border-radius:var(--radius-panel);flex-wrap:wrap;padding:10px 12px;background:color-mix(in srgb,var(--color-card) 86%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 12%,transparent);pointer-events:none}.ventilation-stage-strip strong{color:var(--color-text)}.ventilation-stage-strip div{display:grid;gap:1px;min-width:0}.ventilation-stage-strip strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ventilation-stage-strip span{border-radius:var(--radius-panel);color:var(--color-primary-contrast);font-size:.78rem;font-weight:900;padding:.25rem .55rem}.ventilation-stage-strip .supply{background:var(--vent-supply)}.ventilation-stage-strip .extract{background:var(--vent-extract)}.ventilation-side-list{align-items:stretch;flex-direction:column;margin-top:1rem}.ventilation-side{border:1px solid var(--color-border);border-left:4px solid var(--vent-supply);border-radius:var(--radius-panel);padding:.7rem;background:var(--color-card)}.ventilation-side.extract{border-left-color:var(--vent-extract)}.ventilation-side h3{align-items:center;display:flex;font-size:.95rem;gap:.4rem;margin:0 0 .3rem}.ventilation-side span,.ventilation-terminal-row span{color:var(--color-text);font-weight:700}.ventilation-side small,.ventilation-terminal-row small{color:var(--color-muted);display:block}.ventilation-warning-list,.ventilation-note-list{display:grid;gap:.35rem;margin-top:1rem}.ventilation-warning-list p,.ventilation-note-list p{border:1px solid var(--color-warning);border-radius:var(--radius-panel);margin:0;padding:.55rem;background:var(--color-panel)}.ventilation-note-list p{border-color:var(--color-border);background:var(--color-card)}.ventilation-terminal-list,.ventilation-assumptions{margin-top:1rem}.ventilation-terminal-row,.ventilation-pressure-row{border-bottom:1px solid var(--color-page);justify-content:space-between;padding:.55rem 0}.ventilation-terminal-row strong,.ventilation-pressure-row strong{min-width:5rem}.ventilation-ready-text{color:var(--color-text);font-weight:800}@media(max-width:820px){.workspace-ventilation{height:auto;min-height:100%;overflow:visible}.workspace-ventilation .control-panel,.workspace-ventilation .result-panel{height:auto}.workspace-ventilation .model-stage{height:min(720px,calc(100svh - 72px));min-height:460px}.ventilation-part-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem}.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-hit-target);padding:0 .25rem}.ventilation-part-label-full{display:none}.ventilation-part-label-short{display:inline}.ventilation-stage-summary{grid-template-columns:auto auto;top:10px;left:10px;max-width:calc(100% - 20px);padding:6px 9px}.ventilation-stage-summary strong{display:none}.ventilation-stage-summary small{grid-column:auto}.ventilation-stage-strip{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.45rem;right:10px;bottom:10px;left:10px;padding:8px 9px}.ventilation-stage-strip div:last-child{display:none}.ventilation-viewport:after{top:10px;right:10px;bottom:10px;left:10px}}}@layer features{.ventilation-edit-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.45rem;align-items:end;margin-top:.7rem}.ventilation-edit-row :is(.ui-button,.icon-button,.row-action,.toolbar-button),.ventilation-flex-bridge :is(.ui-button,.icon-button,.row-action,.toolbar-button),.ventilation-orphan-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:0 .7rem;background:var(--color-card);color:var(--color-text);cursor:pointer;font:inherit;font-weight:850}.ventilation-edit-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.ventilation-flex-bridge :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.ventilation-orphan-list :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-muted);background:var(--color-panel)}.ventilation-edit-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.ventilation-flex-bridge :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.ventilation-orphan-list :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.45}.ventilation-orphan-list{display:grid;gap:.45rem;margin-top:.7rem}.ventilation-orphan-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){justify-content:flex-start;text-align:left}.ventilation-flex-bridge{display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) minmax(7rem,.42fr) auto;align-items:end;margin-top:.7rem;padding:.7rem;border:1px solid var(--color-page);border-radius:var(--radius-panel);background:var(--color-card)}@media(max-width:820px){.ventilation-edit-row,.ventilation-flex-bridge{grid-template-columns:1fr}}}@layer features{.context-window.context-menu{left:var(--context-window-left);top:var(--context-window-top);display:flex;flex-direction:column;gap:0;min-width:min(240px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 24px));overflow:hidden;padding:0}.context-window-titlebar{display:grid;grid-template-columns:minmax(0,1fr) 30px;align-items:center;gap:8px;min-height:40px;border-bottom:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);padding:8px 8px 8px 12px;background:var(--color-card-muted);cursor:grab;-webkit-user-select:none;user-select:none}.context-window-titlebar:active{cursor:grabbing}.context-window-heading{min-width:0}.context-window-heading span,.context-window-heading strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.context-window-close{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--color-stage) 22%,transparent);border-radius:var(--radius-panel);padding:0;background:color-mix(in srgb,var(--color-card) 72%,transparent);color:var(--color-text);cursor:pointer}.context-window-close:hover,.context-window-close:focus-visible{border-color:var(--color-success);background:var(--color-card);color:var(--color-text)}.context-window-body{display:grid;gap:10px;min-height:0;overflow:auto;padding:12px}.context-window-form{display:grid;gap:10px}.context-window-action{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;min-height:38px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 10px;color:var(--color-text);background:color-mix(in srgb,var(--color-card) 92%,transparent);font-size:.8rem;font-weight:850;text-align:left;cursor:pointer}.context-window-action svg{color:var(--document-green)}.context-window-action:hover:not(:disabled),.context-window-action:focus-visible{border-color:var(--color-success);background:var(--color-panel);outline:3px solid color-mix(in srgb,var(--color-success) 13%,transparent)}.context-window-action.danger{border-color:var(--color-border);color:var(--color-danger-hover);background:var(--color-card)}.context-window-action.danger svg{color:var(--document-timber)}.context-window-action:disabled{opacity:.5;cursor:not-allowed}}@layer features{.context-menu{position:fixed;z-index:20;display:grid;gap:10px;width:min(260px,calc(100vw - 24px));border:1px solid var(--color-muted);border-radius:var(--radius-panel);padding:12px;background:var(--color-card);box-shadow:0 18px 42px color-mix(in srgb,var(--color-text) 20%,transparent)}.context-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.context-heading span{color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.context-heading strong{color:var(--color-warning)}.markyta-height-point-menu{width:min(286px,calc(100vw - 24px))}.floor-context-menu{width:min(320px,calc(100vw - 24px))}.floor-context-menu p{margin:0;color:var(--color-success);font-size:.82rem;line-height:1.35}.floor-context-menu .context-window-body>:is(.ui-button,.icon-button,.row-action,.toolbar-button){justify-content:center;border:1px solid var(--color-primary-hover);background:var(--color-primary-hover);color:var(--color-primary-contrast)}.floor-span-readout{display:flex;flex-wrap:wrap;gap:6px}.floor-span-readout span{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:5px 8px;background:var(--color-card);color:var(--color-text);font-size:.78rem;font-weight:800}.markyta-height-point-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;color:var(--color-text);font-size:.78rem;font-weight:850}.markyta-height-field{display:grid;gap:5px;color:var(--color-text);font-size:.78rem;font-weight:850}.markyta-height-field>span:last-child{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:5px 8px;background:var(--color-card)}.markyta-height-field :is(.ui-input,.ui-checkbox,.ui-file-input){width:100%;min-width:0;border:0;background:transparent;color:var(--color-text);font:inherit;outline:none}.markyta-height-field em{color:var(--color-muted);font-style:normal;font-weight:800}.markyta-height-point-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:8px}.markyta-height-point-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:7px 9px;background:var(--color-card-muted);color:var(--color-text);font-size:.76rem;font-weight:900}.markyta-height-point-actions .markyta-height-remove{border-color:var(--color-border);background:var(--color-card);color:var(--color-danger-hover)}.status-box{display:flex;align-items:center;gap:10px;min-height:48px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-card)}.status-box p{margin:0;font-weight:800}.rule-box{margin-top:12px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-panel)}.rule-box span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.rule-box strong{display:block;margin-top:5px;font-size:.92rem}.rule-box p{margin:8px 0 0;color:var(--color-danger-hover);font-size:.86rem;font-weight:700}.status-box svg{flex:0 0 auto;color:var(--document-teal)}.error-box{border-color:var(--color-danger);background:var(--color-card)}.error-box svg{color:var(--document-rust)}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.metric{min-height:82px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-card)}.metric strong{display:block;margin-top:12px;font-size:1.14rem}.metric.warn{border-color:var(--color-danger-hover);background:var(--color-card)}.professional-panel{display:grid;gap:12px;margin-top:14px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:12px;background:var(--color-card)}.professional-panel.locked{background:var(--color-panel)}.professional-heading{display:flex;align-items:center;gap:9px}.professional-heading span{display:block;color:var(--color-muted);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.professional-heading h2{margin-top:2px}.professional-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.professional-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);color:var(--color-text);background:var(--color-card)}.professional-panel.locked .professional-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){color:var(--color-muted);background:var(--color-card-muted)}.professional-upgrade{width:100%}.result-table-group{display:grid;gap:8px;margin-top:10px}.result-table-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.result-table-heading strong{color:var(--color-text);font-size:.9rem}.result-table-heading span{color:var(--color-muted);font-size:.76rem;font-weight:800}.result-table{display:grid;gap:6px;min-width:0}.result-table-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(76px,.75fr) minmax(76px,.65fr) minmax(0,1.15fr);gap:8px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 10px;background:var(--color-card);color:var(--color-text);font-size:.78rem;font-weight:800}.result-table-header{border-color:var(--color-border);background:var(--color-card-muted);color:var(--color-muted);font-size:.68rem;letter-spacing:.04em;text-transform:uppercase}.result-table-row span{min-width:0;overflow-wrap:anywhere}.building-command-row{grid-template-columns:minmax(0,1fr)}.building-command-row:not(.result-table-header)>span{display:grid;gap:3px}.building-command-row:not(.result-table-header)>span:before{content:attr(data-label);color:var(--color-muted);font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.building-command-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:6px}.building-command-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:var(--control-height);padding:5px 8px;font-size:.72rem}.building-command-status{display:grid;gap:6px;margin:10px 0 0;color:var(--color-text);font-size:.78rem;font-weight:800}.building-command-status p{margin:0}.building-command-status.state-error{color:var(--color-danger-hover)}@media(max-width:720px){.result-table-heading{display:grid;justify-content:stretch}.result-table-row{grid-template-columns:minmax(0,1fr)}}}@layer features{.admin-entitlements{display:grid;gap:12px;margin:16px 24px 0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:14px;background:var(--color-card)}.admin-entitlements-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.admin-entitlements-header p{margin:0;color:var(--color-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-entitlements-header h2{margin:2px 0 0}.admin-entitlements-error{margin:0;color:var(--color-danger);font-weight:800}.admin-entitlements-table{display:grid;gap:1px;overflow-x:auto;border:1px solid var(--color-border);background:var(--color-border)}.admin-entitlements-row{display:grid;grid-template-columns:var(--admin-entitlements-columns, minmax(190px, 1.4fr) repeat(7, minmax(118px, 1fr)));min-width:1040px;background:var(--color-card)}.admin-entitlements-row-head{color:var(--color-primary);background:var(--color-card-muted);font-size:.78rem;font-weight:900}.admin-entitlements-row>span,.admin-entitlements-module,.admin-entitlements-cell{min-height:58px;padding:9px;border-right:1px solid var(--color-border)}.admin-entitlements-row>span:last-child,.admin-entitlements-cell:last-child{border-right:0}.admin-entitlements-module{display:grid;align-content:center;gap:3px}.admin-entitlements-module span{color:var(--color-muted);font-size:.78rem}.admin-entitlements-cell{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:8px}.admin-entitlements-beta{grid-template-columns:1fr}.admin-entitlements-cell label{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:800}}@layer features{.admin-console{display:grid;gap:var(--space-3);padding:var(--space-4);color:var(--color-text)}.admin-console .admin-entitlements{margin:0}.admin-console-header,.admin-auth-state,.admin-mfa-qr,.admin-mfa-secret,.admin-users-panel,.admin-editor,.admin-audit{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-card)}.admin-console-header,.admin-auth-state{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);min-height:64px;padding:var(--space-3)}.admin-auth-state{justify-content:flex-start}.admin-console-header p,.admin-section-heading p{margin:0;color:var(--color-muted);font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.admin-console-header h2,.admin-auth-state h2,.admin-section-heading h3{margin:2px 0 0;letter-spacing:0}.admin-console-header span{display:block;margin-top:4px;color:var(--color-muted);font-size:.82rem;font-weight:800}.admin-refresh,.admin-mfa-form .ui-button,.admin-create-user .ui-button,.admin-search .ui-button,.admin-action-strip .ui-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border:1px solid var(--color-primary);border-radius:var(--radius-panel);padding:9px 12px;color:var(--color-primary-contrast);background:var(--color-primary);font-weight:900;cursor:pointer}.admin-refresh:disabled,.admin-mfa-form .ui-button:disabled,.admin-create-user .ui-button:disabled,.admin-search .ui-button:disabled,.admin-action-strip .ui-button:disabled{opacity:.48;cursor:not-allowed}.admin-action-strip .ui-button.danger{border-color:var(--color-danger);background:var(--color-danger)}.admin-message{margin:0;border-left:4px solid var(--color-primary);padding:10px 12px;background:var(--color-card-muted);font-weight:850}.admin-message.error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.admin-mfa{max-width:840px;margin:0 auto}.admin-mfa-setup{display:grid;grid-template-columns:230px minmax(0,1fr);gap:12px;align-items:stretch}.admin-mfa-qr{display:grid;place-items:center;gap:8px;padding:14px}.admin-mfa-qr img{width:min(188px,100%);aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-card)}.admin-mfa-qr span{color:var(--color-text);font-size:.78rem;font-weight:900}.admin-mfa-secret{display:grid;gap:10px;padding:14px}.admin-mfa-secret label,.admin-mfa-form label,.admin-search label,.admin-create-user label,.admin-form-grid label,.admin-danger-zone label{display:grid;gap:6px;color:var(--color-text);font-size:.78rem;font-weight:900}.admin-mfa-secret .ui-input,.admin-mfa-secret .ui-textarea,.admin-mfa-form .ui-input,.admin-search .ui-input,.admin-create-user .ui-input,.admin-form-grid .ui-input,.admin-form-grid .ui-select,.admin-form-grid .ui-textarea,.admin-danger-zone .ui-textarea{min-height:var(--control-height);font:inherit}.admin-mfa-secret .ui-input,.admin-mfa-secret .ui-textarea,.admin-mfa-form .ui-input,.admin-search .ui-input,.admin-create-user .ui-input,.admin-form-grid .ui-input,.admin-form-grid .ui-textarea,.admin-danger-zone .ui-textarea{border:1px solid var(--color-primary);border-radius:var(--radius-panel);padding:9px 10px;color:var(--color-text);background:linear-gradient(180deg,var(--color-card) 0%,var(--color-card-muted) 100%)}.admin-form-grid .ui-select{padding-top:9px;padding-bottom:9px}.admin-mfa-secret .ui-textarea,.admin-form-grid .ui-textarea,.admin-danger-zone .ui-textarea{min-height:var(--control-textarea-min-height);resize:vertical}.admin-mfa-secret small{color:var(--color-muted);font-weight:800}.admin-mfa-form{display:grid;grid-template-columns:minmax(180px,1fr) auto;align-items:end;gap:10px}.admin-ops-grid{display:grid;grid-template-columns:minmax(460px,1.45fr) minmax(320px,.9fr);gap:16px;align-items:start}.admin-users-panel,.admin-editor,.admin-audit{display:grid;gap:12px;padding:14px}.admin-section-heading{display:flex;align-items:center;gap:10px}.admin-section-heading svg{color:var(--color-primary)}.admin-search,.admin-create-user{display:grid;grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto;align-items:end;gap:10px}.admin-search{grid-template-columns:minmax(220px,1fr) auto}}@layer features{.admin-user-table{display:grid;gap:1px;overflow-x:auto;border:1px solid var(--color-border);background:var(--color-border)}.admin-user-row{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(70px,.45fr) minmax(120px,.7fr) minmax(76px,.45fr) minmax(132px,.55fr);align-items:center;min-width:720px;min-height:58px;border:0;padding:0;color:var(--color-text);background:var(--color-card);text-align:left;font:inherit}.admin-user-row.active{box-shadow:inset 4px 0 0 var(--color-primary);background:var(--color-card-muted)}.admin-user-row-head{min-height:var(--control-height);color:var(--color-primary);background:var(--color-card-muted);font-size:.78rem;font-weight:900}.admin-user-row>span{display:grid;gap:3px;min-height:inherit;align-content:center;border-right:1px solid var(--color-border);padding:8px 10px}.admin-user-row>span:last-child{border-right:0}.admin-user-row small{color:var(--color-muted);font-size:.76rem;font-weight:800}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.admin-wide-field{grid-column:1 / -1}.admin-module-access{display:grid;gap:10px;min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px}.admin-module-access legend{padding:0 5px;color:var(--color-text);font-size:.78rem;font-weight:900}.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-module-checkbox-shell{min-height:52px;padding:8px 10px}.admin-action-strip{display:flex;flex-wrap:wrap;gap:8px}.admin-danger-zone{display:grid;gap:10px;border-top:1px solid var(--color-border);padding-top:12px}.admin-audit-list{display:grid;gap:1px;border:1px solid var(--color-border);background:var(--color-border)}.admin-audit-row{display:grid;grid-template-columns:minmax(120px,.45fr) minmax(150px,.6fr) minmax(220px,1fr) minmax(140px,.5fr);gap:10px;min-height:44px;align-items:center;padding:9px 10px;background:var(--color-card)}.admin-audit-row span{color:var(--color-muted);font-size:.78rem;font-weight:850}.admin-audit-row p,.admin-empty{margin:0;color:var(--color-muted);font-weight:800}}@layer features{.admin-telemetry{display:grid;gap:12px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:14px;color:var(--color-text);background:var(--color-card)}.admin-telemetry-error{margin:0;border-left:4px solid var(--color-danger);padding:10px 12px;color:var(--color-danger);background:var(--color-danger-soft);font-weight:850}.admin-telemetry-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.admin-telemetry-stat{display:grid;gap:3px;min-height:84px;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:10px 12px;background:var(--color-card-muted)}.admin-telemetry-stat span,.admin-telemetry-stat small{color:var(--color-muted);font-size:.76rem;font-weight:850}.admin-telemetry-stat strong{font-size:1.55rem;line-height:1}.admin-compile-telemetry{display:grid;gap:8px;border:1px solid var(--color-border);padding:10px 12px;background:var(--color-card)}.admin-compile-telemetry h4{margin:0;font-size:.9rem}.admin-compile-telemetry-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.admin-compile-telemetry-metric{display:grid;gap:2px;min-height:68px;border:1px solid var(--color-border);padding:8px 10px;background:var(--color-card-muted)}.admin-compile-telemetry-metric span,.admin-compile-telemetry-metric small{color:var(--color-muted);font-size:.72rem;font-weight:850}.admin-compile-telemetry-metric strong{font-size:1.05rem}.admin-telemetry-grid{display:grid;grid-template-columns:minmax(420px,1fr) minmax(360px,.85fr);gap:12px;align-items:start}.admin-telemetry-table-wrap{display:grid;gap:8px}.admin-telemetry-table-wrap h4{margin:0;font-size:.9rem}.admin-telemetry-table{display:grid;gap:1px;overflow-x:auto;border:1px solid var(--color-border);background:var(--color-border)}.admin-telemetry-row{display:grid;grid-template-columns:minmax(190px,1fr) minmax(78px,.42fr) minmax(82px,.42fr) minmax(112px,.55fr);min-width:560px;min-height:48px;align-items:center;color:var(--color-text);background:var(--color-card)}.admin-telemetry-user-table .admin-telemetry-row{grid-template-columns:minmax(170px,1fr) minmax(78px,.38fr) minmax(70px,.32fr) minmax(112px,.5fr) minmax(132px,.55fr);min-width:650px}.admin-telemetry-row-head{min-height:38px;color:var(--color-primary);background:var(--color-card-muted);font-size:.78rem;font-weight:900}.admin-telemetry-row>span{display:grid;gap:3px;min-height:inherit;align-content:center;border-right:1px solid var(--color-border);padding:8px 10px}.admin-telemetry-row>span:last-child{border-right:0}.admin-telemetry-row small{color:var(--color-muted);font-size:.76rem;font-weight:800}@media(max-width:920px){.admin-telemetry-stats,.admin-compile-telemetry-grid,.admin-telemetry-grid{grid-template-columns:1fr}}}@layer features{.panel-block{margin-top:14px;border-top:1px solid var(--document-rule);padding-top:12px}.panel-block-summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-block-body{margin-top:10px}.result-indicator-stack{display:grid;grid-template-columns:1fr;gap:8px;margin:14px 0}.result-indicator{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 10px;min-width:0;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:10px 12px;background:var(--document-paper)}.result-indicator span{min-width:0;color:var(--document-green);font-size:.82rem;font-weight:850}.result-indicator strong{color:var(--document-ink);font-size:.92rem;font-weight:950;text-align:right}.result-indicator small{grid-column:1 / -1;color:var(--document-muted);font-size:.75rem;font-weight:750;line-height:1.3}.result-indicator-ok{border-color:var(--document-rule);background:var(--document-paper)}.result-indicator-warn,.result-indicator-error{border-color:var(--document-rust);background:var(--document-paper)}.result-indicator-warn strong,.result-indicator-error strong{color:var(--document-timber)}.reaction-list,.check-list{display:grid;gap:8px;margin-top:10px}.check-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:9px 10px;background:var(--document-paper)}.check-item span{min-width:0;color:var(--document-green);font-size:.84rem;font-weight:800}.check-item span small{display:block;margin-top:3px;color:var(--document-muted);font-size:.74rem;font-weight:700;line-height:1.25;text-transform:none}.check-item strong{color:var(--document-green);font-size:.78rem;text-transform:uppercase}.check-fail{border-color:var(--document-rust);background:var(--document-paper)}.check-notimplemented strong{color:var(--document-amber)}.check-review{border-color:var(--document-amber);background:var(--document-paper)}.check-info{border-color:var(--document-rule);background:var(--document-paper)}.engineering-review-brief p{margin-top:8px}.engineering-review-list .check-item{align-items:start}.evidence-chip-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.evidence-chip-row em{display:inline-flex;max-width:100%;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:2px 6px;background:var(--document-paper);color:var(--document-green);font-size:.72rem;font-style:normal;font-weight:900;line-height:1.35}.evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:10px}.evidence-grid div{border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:9px 10px;background:var(--document-paper)}.evidence-grid span{display:block;margin-bottom:4px;color:var(--document-muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.evidence-grid strong{display:block;color:var(--document-ink);font-size:.88rem}.evidence-grid small{display:block;margin-top:6px;color:var(--document-muted);font-size:.76rem;font-weight:800;line-height:1.35}.reaction-list div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:9px 10px;background:var(--document-paper)}.reaction-list span{font-weight:900;color:var(--document-amber)}.reaction-list small{color:var(--document-muted);font-weight:800}.diagram,.empty-diagram{width:100%;height:96px;margin-top:10px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper)}.diagram line{stroke:var(--document-rule);stroke-width:1}.diagram path{fill:none;stroke:var(--document-blue);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.ad-slot{display:grid;place-items:center;min-height:112px;margin-top:18px;border:1px dashed var(--document-concrete);border-radius:var(--radius-panel);background:var(--document-paper)}.connection-stage{min-height:0}.connection-summary{display:grid;gap:8px;margin-top:10px}.takeoff-list{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.takeoff-list>div{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:5px;min-width:0;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:9px 10px;background:var(--document-paper)}.takeoff-list>div>span{min-width:0;color:var(--document-green);font-weight:800}.takeoff-list>div>strong{min-width:0;color:var(--document-ink);font-size:.9rem}.takeoff-list>div>small,.takeoff-list>div>span small{display:block;min-width:0;color:var(--document-muted);font-size:.76rem;font-weight:800;line-height:1.3}.calculation-card>strong{display:flex;align-items:center;justify-content:space-between;gap:8px}.calculation-card>strong>span{min-width:0}.calculation-card>strong>em{flex:0 0 auto;border-radius:var(--radius-round);padding:2px 7px;font-size:.72rem;font-style:normal;font-weight:900}.calculation-card-ok>strong>em{background:var(--document-paper);color:var(--document-green)}.calculation-card-fail>strong>em{background:var(--document-rule);color:var(--document-timber)}}@layer features{.slab-section-card{display:grid;gap:8px;margin-top:10px}.section-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-meta strong{color:var(--document-ink)}.section-meta span{color:var(--document-muted);font-size:.78rem;font-weight:800;text-transform:uppercase}.section-svg{display:block;width:100%;min-height:180px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);background:var(--document-paper)}.section-svg text{fill:var(--document-muted);font-size:14px;font-weight:800}.section-segment{stroke:var(--document-muted);stroke-width:1}.section-strengthening{stroke:var(--document-steel)}.section-grade{stroke:var(--document-muted);stroke-width:2}.section-depth-line{stroke:var(--document-rule);stroke-dasharray:5 5}.section-rebar{stroke:var(--document-steel);stroke-width:5;stroke-linecap:round}.section-rebar-dot{fill:var(--document-steel);stroke:var(--document-ink);stroke-width:1.5}.section-rebar-top{fill:var(--document-blue);stroke:var(--document-blue)}.section-load,.section-load-point{fill:var(--document-rust);stroke:var(--document-rust);stroke-width:4;stroke-linecap:round}.connection-summary div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:9px 10px;background:var(--document-paper)}.connection-summary span{color:var(--document-muted);font-weight:800}.connection-summary strong{color:var(--document-ink)}}@layer features{.roof-structure-stage{background:linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 7%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-stage) 7%,transparent) 1px,transparent 1px),var(--color-card-muted);background-size:28px 28px}.roof-structure-viewport{background:var(--color-panel)}.roof-structure-context-popup{width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.roof-structure-context-popup .panel-block{margin-top:0;border-top:0;padding-top:0}.roof-structure-context-popup .panel-block+.panel-block,.roof-structure-context-popup .panel-block+.roof-structure-context-actions{margin-top:10px}.roof-structure-context-popup .panel-block-summary{min-height:28px}.roof-structure-context-popup .panel-block-summary h2{font-size:.82rem}.roof-structure-context-popup .panel-block-body{margin-top:8px}.roof-structure-context-popup .field-grid{gap:8px}.roof-structure-context-panel,.roof-structure-context-actions{display:grid;gap:10px}.roof-structure-context-actions{grid-template-columns:repeat(auto-fit,minmax(132px,1fr))}.roof-structure-context-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){justify-content:center;min-width:0}.tak-workspace-controls{display:grid;gap:14px}.roof-structure-view-switch{position:absolute;right:18px;z-index:4;display:inline-flex;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-stage) 28%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 90%,transparent);box-shadow:0 12px 30px color-mix(in srgb,var(--color-text) 14%,transparent)}.roof-structure-view-switch{top:18px}.roof-structure-view-switch :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:calc(var(--control-height) * 2.438);min-height:var(--control-height);border:0;border-right:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);background:transparent;color:var(--color-text);font:inherit;font-size:.78rem;font-weight:900;letter-spacing:0;cursor:pointer}.roof-structure-view-switch :is(.ui-button,.icon-button,.row-action,.toolbar-button):last-child{border-right:0}.roof-structure-view-switch :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{background:var(--color-stage);color:var(--color-primary-contrast)}.tak-initial-chooser-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,var(--color-stage) 16%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.tak-initial-chooser{display:grid;gap:14px;width:min(520px,100%);padding:18px;border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 96%,transparent);box-shadow:0 22px 52px color-mix(in srgb,var(--color-text) 22%,transparent)}.tak-initial-chooser h2{margin:0;color:var(--color-text);font-size:1.25rem;letter-spacing:0}.tak-initial-chooser-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.tak-initial-chooser-options :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:0;min-height:var(--control-hit-target);border:1px solid color-mix(in srgb,var(--color-stage) 24%,transparent);border-radius:var(--radius-panel);padding:.55rem .65rem;background:var(--color-card);color:var(--color-text);font:inherit;font-size:.86rem;font-weight:900;letter-spacing:0;cursor:pointer}.tak-initial-chooser-options :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{background:var(--color-stage);color:var(--color-primary-contrast)}@media(max-width:720px){.tak-initial-chooser{align-self:flex-end}.tak-initial-chooser-options{grid-template-columns:1fr}}.roof-structure-built-up{display:grid;gap:10px;margin-top:12px}.roof-structure-summary{margin-top:14px}.roof-structure-summary-list{grid-template-columns:1fr}.roof-structure-summary-list .summary-row,.takeoff-list .result-row-warn{min-width:0}.roof-structure-summary-list .summary-row-warn,.takeoff-list .result-row-warn{border-color:var(--color-danger-hover);background:var(--color-card)}.roof-structure-engineering-inspection{border-top-color:var(--color-border)}.roof-structure-engineering-inspection>summary{display:flex;align-items:center;min-height:36px;color:var(--color-text);font-size:.82rem;font-weight:900;cursor:pointer}.roof-structure-engineering-inspection>summary::marker{color:var(--color-muted)}.roof-structure-engineering-inspection .panel-block:first-child{margin-top:0}.roof-structure-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.roof-structure-subsection-heading strong{color:var(--color-text);font-size:.86rem}.roof-structure-field-note{color:var(--color-muted);font-size:.78rem;line-height:1.35;margin:4px 0 8px}.roof-structure-tail-depth-control{display:grid;gap:6px;min-width:0}.roof-structure-tail-depth-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.roof-structure-tail-depth-presets :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);font-size:.75rem;font-weight:900;cursor:pointer}.roof-structure-tail-depth-presets :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-muted);background:var(--color-panel)}.roof-structure-tail-depth-presets :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-text);color:var(--color-primary-contrast);background:var(--color-stage)}.roof-structure-schematic{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:62px 28px 118px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 5.5%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-stage) 5.5%,transparent) 1px,transparent 1px),var(--color-card-muted);background-size:28px 28px}.roof-structure-schematic-svg{width:min(100%,1040px);height:min(100%,620px);min-height:340px;filter:drop-shadow(0 20px 38px color-mix(in srgb,var(--document-ink) 16%,transparent))}.schematic-sheet{fill:var(--document-paper);stroke:var(--document-rule);stroke-width:1.5}.schematic-grid line{stroke:color-mix(in srgb,var(--color-stage) 10%,transparent);stroke-width:1}.schematic-openings polygon{fill:color-mix(in srgb,var(--color-info) 14%,transparent);stroke:var(--color-info);stroke-width:2.2;vector-effect:non-scaling-stroke}.schematic-supports line{stroke:var(--color-stage);stroke-width:4;stroke-linecap:round;vector-effect:non-scaling-stroke}.schematic-supports rect{fill:var(--color-stage)}.schematic-member line{stroke:var(--color-danger);stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke}.schematic-member.role-RidgeBeam line{stroke:var(--color-stage);stroke-width:8}.schematic-member.role-CollarTie line,.schematic-point-member.role-CollarTie circle{stroke:var(--color-danger-hover);fill:var(--color-warning)}.schematic-member.role-Header line,.schematic-member.role-TrimmerRafter line,.schematic-member.role-SideRafter line,.schematic-member.role-OpeningSplitRafter line{stroke:var(--color-danger)}.schematic-point-member circle{fill:var(--color-stage);stroke:var(--color-card);stroke-width:2.5;vector-effect:non-scaling-stroke}.schematic-dimensions line{stroke:var(--document-muted);stroke-width:1.4;stroke-dasharray:5 5;vector-effect:non-scaling-stroke}.schematic-dimensions circle{fill:var(--document-muted)}.roof-structure-schematic text{fill:var(--color-stage);font-size:13px;font-weight:900;letter-spacing:0}.roof-structure-schematic .schematic-title{font-size:22px}.roof-structure-schematic .schematic-subtitle,.roof-structure-schematic .schematic-note{fill:var(--color-muted);font-size:12px}.roof-structure-plan{position:absolute;top:28px;right:28px;bottom:28px;left:28px;width:calc(100% - 56px);height:calc(100% - 56px);filter:drop-shadow(0 22px 44px color-mix(in srgb,var(--color-text) 16%,transparent))}.roof-structure-ridge{stroke:var(--color-stage);stroke-width:10;stroke-linecap:round}.roof-structure-rafter{stroke:var(--color-danger);stroke-width:4;stroke-linecap:round}.roof-structure-support{fill:var(--color-stage);stroke:var(--color-card);stroke-width:3}.roof-structure-connection{fill:var(--color-info);stroke:var(--color-card);stroke-width:2}.roof-structure-opening{fill:color-mix(in srgb,var(--color-info) 22%,transparent);stroke:var(--color-info);stroke-width:3;vector-effect:non-scaling-stroke}.roof-structure-plan text{fill:var(--color-stage);font-size:18px;font-weight:900;letter-spacing:0}}@layer features{.workspace-drawing{--workspace-control-column: minmax(280px, 340px);--workspace-stage-column: minmax(420px, 1fr);--workspace-result-column: minmax(260px, 320px)}.drawing-control-panel .ui-textarea{min-height:var(--control-textarea-min-height);resize:vertical}.file-field{display:grid;gap:8px;color:var(--color-success);font-size:.78rem;font-weight:800;text-transform:uppercase}.file-field :is(.ui-input,.ui-checkbox,.ui-file-input){border:1px dashed var(--color-border);border-radius:var(--radius-panel);padding:10px;background:var(--color-card);color:var(--color-text);text-transform:none}.project-document-note{display:block;color:var(--color-muted);font-size:.76rem;font-weight:750;line-height:1.35}.drawing-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.drawing-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:8px}.drawing-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.drawing-assign-proposal{border-color:var(--color-text);color:var(--color-primary-contrast);background:var(--color-success)}.drawing-assigned-proposals{display:flex;flex-wrap:wrap;gap:6px}.drawing-assigned-proposals span{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--color-border);border-radius:var(--radius-round);padding:4px 8px;color:var(--color-text);background:var(--color-card);font-size:.72rem;font-weight:900}.drawing-assigned-proposals :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-grid;place-items:center;width:var(--control-height-compact);height:var(--control-height-compact);border:0;border-radius:var(--radius-round);padding:0;color:var(--color-danger-hover);background:var(--color-card-muted);cursor:pointer}.drawing-assigned-proposals :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.drawing-assigned-proposals :is(.ui-button,.icon-button,.row-action,.toolbar-button):focus-visible{background:var(--color-border);outline:2px solid color-mix(in srgb,var(--color-danger-hover) 20%,transparent)}.drawing-assignment-feedback{margin:0;font-size:.78rem;font-weight:850;line-height:1.35}.drawing-assignment-feedback.success{color:var(--color-success)}.drawing-assignment-feedback.error{color:var(--color-danger-hover)}.drawing-placement-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.drawing-placement-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);box-shadow:0 1px color-mix(in srgb,var(--color-text) 14%,transparent);font-weight:900;cursor:pointer}.drawing-placement-actions .drawing-add-point{border-color:var(--color-text);color:var(--color-primary-contrast);background:var(--color-success)}.drawing-placement-actions .drawing-add-reference{border-color:var(--color-muted);color:var(--color-text);background:var(--color-card)}.drawing-placement-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-warning);background:var(--color-panel)}.hint-text,.error-text{margin:0;color:var(--color-muted);font-size:.84rem;line-height:1.4}.error-text{color:var(--color-danger-hover);font-weight:800}.drawing-stage{position:relative;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 6%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-stage) 6%,transparent) 1px,transparent 1px),var(--color-panel);background-size:32px 32px;cursor:default}.drawing-stage.placing{cursor:crosshair}.drawing-viewport{position:absolute;top:24px;right:24px;bottom:24px;left:24px;overflow:auto;scrollbar-gutter:stable}.drawing-zoom-surface{position:relative;min-width:120px;min-height:120px}.drawing-measurement-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;pointer-events:none}.drawing-measurement-overlay svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.drawing-measurement-line{stroke:var(--color-danger-hover);stroke-width:2;stroke-dasharray:7 4;vector-effect:non-scaling-stroke}.drawing-measurement-overlay.complete .drawing-measurement-line{stroke:var(--color-primary-hover);stroke-dasharray:none}.drawing-measurement-point{fill:var(--color-card);stroke:var(--color-danger-hover);stroke-width:2;vector-effect:non-scaling-stroke}.drawing-measurement-overlay.complete .drawing-measurement-point{stroke:var(--color-primary-hover)}.drawing-measurement-label{position:absolute;transform:translate(-50%,calc(-100% - 10px));max-width:min(240px,70%);border:1px solid color-mix(in srgb,var(--color-stage) 30%,transparent);border-radius:var(--radius-panel);padding:5px 8px;color:var(--color-primary-contrast);background:var(--color-danger-hover);box-shadow:0 4px 14px color-mix(in srgb,var(--color-text) 22%,transparent);font-family:ui-monospace,Cascadia Mono,monospace;font-size:.72rem;font-weight:900;line-height:1.2;text-align:center;white-space:nowrap}.drawing-measurement-overlay.complete .drawing-measurement-label{background:var(--color-primary-hover)}.drawing-reference{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-card);object-fit:contain}.drawing-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:10px;border:1px dashed var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 78%,transparent);color:var(--color-success);text-align:center;padding:28px}.drawing-placeholder strong{color:var(--color-text);font-size:1.05rem}.drawing-placeholder span{max-width:420px;line-height:1.45}.drawing-render-status{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:8px;border:1px dashed var(--color-border);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--color-card) 82%,transparent);color:var(--color-success);text-align:center;padding:28px}.drawing-render-status strong{color:var(--color-text)}.drawing-render-status span{max-width:380px;line-height:1.4}.drawing-render-status code{max-width:min(420px,100%);overflow-wrap:anywhere;color:var(--color-danger-hover);font-size:.72rem}.drawing-annotation-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.drawing-annotation-layer.placing,.drawing-annotation-layer.dragging{pointer-events:auto}.drawing-marker-lines{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;overflow:visible;pointer-events:none}.drawing-marker-lines line{stroke:var(--document-green);stroke-width:1.4;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.drawing-marker-lines line.active{stroke:var(--document-amber);stroke-width:1.8}.drawing-marker-lines line.reference{stroke:var(--document-steel);stroke-dasharray:2 3}.drawing-pin{position:absolute;z-index:3;width:14px;height:14px;transform:translate(-50%,-50%);border:0;border-radius:var(--radius-round);background:transparent;pointer-events:auto;cursor:grab}.drawing-pin:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid var(--color-stage);border-radius:var(--radius-round);background:var(--color-card);box-shadow:0 2px 7px color-mix(in srgb,var(--color-text) 20%,transparent)}.drawing-pin:after{content:none}.drawing-pin.active{z-index:5}.drawing-pin.locked{cursor:default}.drawing-pin.active:before{border-color:var(--color-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-warning) 18%,transparent),0 2px 7px color-mix(in srgb,var(--color-text) 20%,transparent)}.drawing-pin.reference:before{border-color:var(--color-muted);border-radius:var(--radius-panel);background:var(--color-card);transform:rotate(45deg) scale(.82)}.drawing-pin.reference.active:before{border-color:var(--color-warning);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-warning) 18%,transparent),0 2px 7px color-mix(in srgb,var(--color-text) 20%,transparent)}.drawing-marker-label{position:absolute;z-index:4;min-width:42px;max-width:min(220px,30vw);transform:translateY(-50%);border:0;padding:0;color:var(--document-ink);background:transparent;text-shadow:0 1px 0 var(--document-paper),1px 0 0 var(--document-paper),0 -1px 0 var(--document-paper),-1px 0 0 var(--document-paper);font-size:.76rem;font-weight:800;line-height:1.18;overflow-wrap:anywhere;pointer-events:auto;cursor:grab;text-align:left}.drawing-marker-label.label-left{transform:translate(-100%,-50%);text-align:right}.drawing-marker-label.active{z-index:6;color:var(--document-timber);text-shadow:0 1px 0 var(--document-paper),1px 0 0 var(--document-paper),0 -1px 0 var(--document-paper),-1px 0 0 var(--document-paper)}.drawing-marker-label.reference{color:var(--document-teal);font-style:italic}.drawing-marker-label.reference.active{color:var(--document-timber)}.drawing-marker-label.locked{cursor:default}.drawing-pin.state-ready:before,.drawing-marker-label.state-ready{border-color:var(--document-green)}.drawing-pin.state-error:before,.drawing-marker-label.state-error{border-color:var(--document-rust)}.drawing-page-toolbar{position:absolute;top:36px;left:36px;z-index:4;display:inline-grid;grid-template-columns:34px minmax(92px,auto) 34px;gap:8px;align-items:center;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:6px 8px;background:color-mix(in srgb,var(--document-paper) 94%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--document-ink) 14%,transparent)}.drawing-page-toolbar span{color:var(--document-ink);font-size:.78rem;font-weight:900;text-align:center}.drawing-zoom-toolbar{position:absolute;top:36px;right:36px;z-index:4;display:inline-grid;grid-template-columns:34px minmax(50px,auto) 34px;gap:8px;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:6px 8px;background:color-mix(in srgb,var(--color-card) 94%,transparent);box-shadow:0 10px 24px color-mix(in srgb,var(--color-text) 14%,transparent)}.drawing-zoom-toolbar span{color:var(--color-text);font-size:.78rem;font-weight:900;text-align:center}.drawing-overlay{max-width:min(620px,calc(100% - 48px))}.drawing-context-menu.context-window{width:min(350px,calc(100vw - 24px));border-color:var(--color-border);background:linear-gradient(color-mix(in srgb,var(--color-card) 96%,transparent),color-mix(in srgb,var(--color-card) 96%,transparent)),repeating-linear-gradient(0deg,transparent 0 23px,color-mix(in srgb,var(--color-primary-hover) 8%,transparent) 23px 24px);box-shadow:0 18px 44px color-mix(in srgb,var(--color-text) 24%,transparent),0 2px 8px color-mix(in srgb,var(--color-text) 16%,transparent)}.drawing-context-menu .context-window-titlebar{background:linear-gradient(90deg,var(--color-page) 0,var(--color-panel) 72%,var(--color-panel) 100%)}.drawing-context-menu .context-window-heading strong{color:var(--color-muted);font-family:ui-monospace,Cascadia Mono,monospace;font-size:.68rem;letter-spacing:.02em}.drawing-context-menu .context-window-body{gap:8px}.drawing-context-actions,.drawing-context-section{display:grid;gap:7px}.drawing-context-section{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px;background:color-mix(in srgb,var(--color-panel) 86%,transparent)}.drawing-context-section>header{display:flex;align-items:center;justify-content:space-between;color:var(--color-success);font-size:.7rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.drawing-context-section>header strong{display:grid;place-items:center;min-width:22px;height:22px;border-radius:var(--radius-round);color:var(--color-primary-contrast);background:var(--color-primary-hover);font-size:.68rem}.drawing-context-section p,.drawing-context-guard{margin:0;color:var(--color-muted);font-size:.76rem;line-height:1.4}.drawing-context-filter{display:grid;gap:5px;color:var(--color-muted);font-size:.68rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.drawing-context-filter :is(.ui-input,.ui-checkbox,.ui-file-input){min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:8px 9px;color:var(--color-text);background:var(--color-card);font:inherit;font-weight:750;letter-spacing:0;text-transform:none}.drawing-context-proposal{display:grid;grid-template-columns:minmax(0,1fr) repeat(2,auto);align-items:center;gap:6px;border-top:1px solid color-mix(in srgb,var(--color-muted) 14%,transparent);padding-top:7px}.drawing-context-proposal>span{display:grid;min-width:0}.drawing-context-proposal strong,.drawing-context-proposal small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawing-context-proposal strong{color:var(--color-text);font-size:.78rem}.drawing-context-proposal small{color:var(--color-muted);font-size:.68rem}.drawing-context-proposal>:is(.ui-button,.icon-button,.row-action,.toolbar-button){display:grid;place-items:center;width:var(--control-height);height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:0;color:var(--color-primary-hover);background:var(--color-card);cursor:pointer}.drawing-context-proposal>:is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.drawing-context-proposal>:is(.ui-button,.icon-button,.row-action,.toolbar-button):focus-visible{border-color:var(--color-success);background:var(--color-panel);outline:2px solid color-mix(in srgb,var(--color-success) 14%,transparent)}.drawing-context-error{color:var(--color-danger-hover)!important;font-weight:850}.drawing-context-guard{border-left:3px solid var(--color-warning);padding:6px 8px;background:var(--color-panel);color:var(--color-danger-hover)}.drawing-result-panel .check-list{display:grid;gap:8px}.drawing-result-panel .check-item{width:100%;text-align:left}.drawing-result-panel .drawing-point-status.linked{border-color:var(--color-muted);background:var(--color-panel)}.drawing-result-panel .drawing-point-status.linked strong{color:var(--color-text)}.drawing-result-panel .drawing-point-status.missing{border-color:var(--color-danger);background:var(--color-panel)}.drawing-result-panel .drawing-point-status.missing strong{color:var(--color-danger-hover)}.drawing-comparison-table{display:grid;gap:6px}.comparison-head,.comparison-row{display:grid;grid-template-columns:minmax(90px,1.2fr) .9fr .8fr .9fr .7fr;gap:8px;align-items:center}.comparison-head{color:var(--color-muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.comparison-row{border:1px solid var(--color-border);border-radius:var(--radius-panel);padding:9px 10px;background:var(--color-card);color:var(--color-text);font-size:.82rem}.comparison-row strong{color:var(--color-text)}.comparison-row.state-error{border-color:var(--color-border);background:var(--color-card)}}@layer features{.horizontal-pdf-pager{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;outline:none;overscroll-behavior-x:contain;touch-action:pan-y}.horizontal-pdf-pager:focus-visible{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-stage) 46%,transparent)}.horizontal-pdf-page{position:absolute;top:0;right:0;bottom:0;left:0}.horizontal-pdf-page-forward{animation:pdf-page-enter-forward .18s cubic-bezier(.2,.75,.25,1)}.horizontal-pdf-page-backward{animation:pdf-page-enter-backward .18s cubic-bezier(.2,.75,.25,1)}@keyframes pdf-page-enter-forward{0%{opacity:.55;transform:translate(24px)}}@keyframes pdf-page-enter-backward{0%{opacity:.55;transform:translate(-24px)}}@media(prefers-reduced-motion:reduce){.horizontal-pdf-page-forward,.horizontal-pdf-page-backward{animation:none}}}@layer features{@font-face{font-family:TeX Gyre Heros;src:url(/assets/TeXGyreHeros-Regular-DiJ_URx-.otf) format("opentype");font-style:normal;font-weight:400;font-display:swap}}@layer features{.drawing-placement-actions .drawing-add-text-box{border-color:var(--document-green);color:var(--document-paper);background:var(--document-green)}.drawing-text-box-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none}.drawing-text-box-layer.placing,.drawing-text-box-layer.placing-leader,.drawing-text-box-layer.dragging{pointer-events:auto}.drawing-text-box-layer.placing,.drawing-text-box-layer.placing-leader{cursor:crosshair}.drawing-text-box-leaders{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.drawing-text-box-leader{stroke:var(--document-black);stroke-linecap:round;stroke-width:1.6;vector-effect:non-scaling-stroke}.drawing-text-box-leader.active{stroke:var(--document-amber);stroke-width:2}.drawing-text-box{position:absolute;display:grid;grid-template-columns:minmax(0,1fr) 26px;box-sizing:border-box;transform:translate(0);border:1px solid color-mix(in srgb,var(--document-green) 55%,transparent);border-radius:var(--radius-panel);background:color-mix(in srgb,var(--document-paper) 90%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--document-ink) 12%,transparent);pointer-events:auto}.drawing-text-box.active{border-color:var(--document-amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--document-amber) 18%,transparent),0 4px 14px color-mix(in srgb,var(--document-ink) 14%,transparent)}.drawing-text-box.locked{border-style:dashed}.drawing-text-box-input{width:100%;height:100%;min-height:0;border:0;border-radius:var(--radius-panel) var(--radius-none) var(--radius-none) var(--radius-panel);padding:6px 8px;color:var(--document-ink);background:transparent;font:inherit;font-family:TeX Gyre Heros,sans-serif;font-weight:400;line-height:1.25;outline:none;overflow:auto;resize:none}.drawing-text-box-input:focus{background:color-mix(in srgb,var(--document-paper) 72%,transparent)}.drawing-text-box-move{display:grid;place-items:center;width:26px;border:0;border-left:1px solid color-mix(in srgb,var(--document-green) 25%,transparent);border-radius:var(--radius-none) var(--radius-panel) var(--radius-panel) var(--radius-none);color:var(--document-green);background:color-mix(in srgb,var(--document-paper) 78%,transparent);cursor:grab}.drawing-text-box-move:disabled{color:var(--document-concrete);cursor:default}.drawing-text-box-layer.dragging .drawing-text-box-move{cursor:grabbing}.drawing-text-box-resize{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid var(--document-amber);border-radius:var(--radius-panel);color:var(--document-paper);background:var(--document-amber);box-shadow:0 2px 7px color-mix(in srgb,var(--document-ink) 24%,transparent);cursor:nwse-resize;z-index:2}.drawing-text-box-resize:disabled{border-color:var(--document-concrete);background:var(--document-concrete);cursor:default}.drawing-text-box-leader-end{position:absolute;width:14px;height:14px;padding:0;border:2px solid var(--document-paper);border-radius:var(--radius-round);background:var(--document-amber);box-shadow:0 0 0 1px var(--document-timber),0 2px 8px color-mix(in srgb,var(--document-ink) 24%,transparent);cursor:move;pointer-events:auto;transform:translate(-50%,-50%);z-index:3}}@layer features{.workspace-drafting>.drafting-workspace{grid-column:1 / -1}.drafting-workspace{--draft-accent: var(--color-danger);--draft-accent-dark: var(--color-danger-hover);--draft-canvas: var(--color-stage);--draft-canvas-line: var(--color-stage-grid);--draft-ink: var(--color-text);--draft-line: var(--color-border);--draft-muted: var(--color-muted);--draft-panel: var(--color-panel);--draft-paper: var(--color-card);--draft-teal: var(--color-accent);--technical-accent: var(--draft-accent);--technical-accent-dark: var(--draft-accent-dark);--technical-canvas: var(--draft-canvas);--technical-canvas-line: var(--draft-canvas-line);--technical-ink: var(--draft-ink);--technical-muted: var(--draft-muted);--technical-panel: var(--draft-panel);--technical-paper: var(--draft-paper);--technical-rule: var(--draft-line);--technical-teal: var(--draft-teal);background:var(--color-page);color:var(--color-text);font-family:var(--font-ui);display:grid;grid-template-rows:100px minmax(0,1fr);height:100%;min-height:0;min-width:0;overflow:hidden}.drafting-dependency-confirmation{background:var(--color-card);border:1px solid var(--color-danger-hover);box-shadow:0 24px 70px color-mix(in srgb,var(--color-text) 38%,transparent);display:grid;gap:10px;left:50%;max-width:min(430px,calc(100vw - 32px));padding:18px;position:fixed;top:50%;transform:translate(-50%,-50%);width:100%;z-index:40}.drafting-dependency-confirmation:before{background:color-mix(in srgb,var(--color-stage) 42%,transparent);content:"";top:-100vh;right:-100vw;bottom:-100vh;left:-100vw;position:absolute;z-index:-1}.drafting-dependency-confirmation strong{color:var(--color-danger-hover);font-family:Arial Narrow,Roboto Condensed,sans-serif;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}.drafting-dependency-confirmation p,.drafting-dependency-confirmation ul{margin:0}.drafting-dependency-confirmation ul{color:var(--color-text);font:700 .72rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;padding-left:20px}.drafting-dependency-confirmation>div{display:flex;gap:7px;justify-content:flex-end}.drafting-dependency-confirmation :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:transparent;border:1px solid var(--color-muted);border-radius:var(--radius-panel);cursor:pointer;font:800 .67rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;padding:8px 10px}.drafting-dependency-confirmation :is(.ui-button,.icon-button,.row-action,.toolbar-button).danger{background:var(--color-danger-hover);border-color:var(--color-text);color:var(--color-primary-contrast)}.drafting-toolbar-identity h1,.drafting-inspector h2,.drafting-inspector p{margin:0}.drafting-toolbar-identity h1{font-family:Arial Narrow,Roboto Condensed,sans-serif;font-size:1.08rem;letter-spacing:-.025em;line-height:1;text-transform:uppercase}.drafting-document-badges{display:flex;gap:3px;grid-column:1 / -1;min-width:0}.drafting-toolbar-identity{align-items:center;border-right:1px solid var(--draft-line);display:grid;grid-template-columns:minmax(72px,1fr) auto;gap:5px 7px;min-width:270px;padding:6px 9px}.drafting-toolbar-identity>:is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:var(--draft-teal);border:1px solid var(--color-primary-hover);border-radius:var(--radius-panel);color:var(--color-primary-contrast);cursor:pointer;display:inline-flex;font-size:.62rem;font-weight:850;gap:6px;letter-spacing:.055em;min-height:var(--control-height-compact);padding:5px 7px;text-transform:uppercase;white-space:nowrap}.drafting-document-badges span{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-round);color:var(--color-text);font-size:.53rem;font-weight:850;letter-spacing:.055em;min-width:0;overflow:hidden;padding:3px 5px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.drafting-toolbar{align-items:stretch;background:var(--color-panel);border-bottom:1px solid var(--draft-line);display:grid;grid-template-columns:auto auto minmax(220px,1fr) auto auto;min-height:65px;max-width:100%;overflow-x:auto;overflow-y:hidden}.drafting-tool-group,.drafting-history-actions,.drafting-exact-strip,.drafting-view-controls{align-items:center;display:flex}.drafting-tool-group{border-right:1px solid var(--draft-line);gap:2px;padding:7px 10px}.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button),.drafting-history-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.drafting-exact-strip>:is(.ui-button,.icon-button,.row-action,.toolbar-button),.drafting-add-page,.drafting-delete-button{align-items:center;border:1px solid transparent;border-radius:var(--radius-panel);color:var(--color-text);cursor:pointer;display:inline-flex;font:inherit;justify-content:center}.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:transparent;flex-direction:column;font-size:.56rem;font-weight:800;gap:3px;height:var(--control-hit-target);letter-spacing:.035em;min-width:calc(var(--control-height) * 1.563);padding:4px 5px;text-transform:uppercase}.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button):focus-visible{background:var(--color-card-muted);border-color:var(--color-border)}.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button).is-active{background:var(--color-page);border-color:var(--color-muted);color:var(--color-primary-hover);box-shadow:inset 0 -2px 0 var(--draft-teal)}.drafting-toolbar :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.drafting-page-rail :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.drafting-inspector :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.42}.drafting-exact-strip{gap:9px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:7px 12px}.drafting-exact-strip>strong{color:var(--draft-muted);flex:0 0 auto;font-size:.57rem;letter-spacing:.13em;margin-right:2px;text-transform:uppercase}.drafting-exact-strip .drafting-field{flex:0 0 105px;gap:2px}.drafting-exact-strip .drafting-fill-field{flex-basis:128px}.drafting-exact-strip>:is(.ui-button,.icon-button,.row-action,.toolbar-button){background:var(--draft-teal);color:var(--color-primary-contrast);font-size:.67rem;font-weight:800;padding:7px 10px}.drafting-tool-hint{color:var(--draft-muted);font-size:.72rem;font-style:italic}.drafting-selection-actions{align-items:center;display:flex;flex:0 0 auto;gap:6px}.drafting-selection-actions>span{color:var(--color-success);font-size:.64rem;font-weight:800;min-width:72px}.drafting-selection-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);display:inline-flex;font-size:.62rem;font-weight:800;gap:5px;min-height:var(--control-height);padding:6px 9px}.drafting-selection-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):not(:disabled):hover,.drafting-selection-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):not(:disabled):focus-visible{background:var(--color-page);border-color:var(--color-muted)}.drafting-angle-reference-status,.drafting-angle-entry,.drafting-length-entry{border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-muted);flex:0 0 auto;font:750 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;padding:7px 8px;white-space:nowrap}.drafting-angle-reference-status.is-ready{background:var(--color-page);border-color:var(--color-muted);color:var(--color-primary-hover)}.drafting-angle-entry,.drafting-length-entry{background:var(--color-stage);border-color:var(--color-text);color:var(--color-primary-contrast);opacity:.58}.drafting-angle-numpad{align-items:center;display:flex;gap:4px}.drafting-angle-entry.is-active,.drafting-length-entry.is-active{border-color:var(--draft-accent);box-shadow:inset 0 -2px 0 var(--draft-accent);opacity:1}.drafting-angle-numpad kbd{background:var(--color-card);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:var(--radius-panel);color:var(--color-primary-hover);font:750 .56rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;padding:4px 5px}@media(max-width:1450px){.drafting-exact-strip.is-tool-line{overflow-x:hidden}.drafting-exact-strip.is-tool-line>strong{display:none}}.drafting-history-actions{border-left:1px solid var(--draft-line);gap:4px;padding:8px 11px}.drafting-view-controls{border-left:1px solid var(--draft-line);gap:5px;padding:7px 9px}.drafting-snap-controls{align-items:center;border-left:1px solid var(--color-border);display:flex;gap:5px;padding-left:5px}.drafting-view-controls .drafting-field{flex:0 0 104px;gap:2px}.drafting-view-controls .drafting-unit-field{flex-basis:96px}.drafting-view-controls .drafting-snap-mode-field{flex-basis:112px}.drafting-snap-mode-field>span{align-items:center;display:flex;gap:4px}.drafting-view-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:var(--color-card-muted);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);cursor:pointer;display:grid;font:inherit;gap:0 4px;grid-template-columns:auto auto;min-height:var(--control-height);padding:5px 7px}.drafting-view-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button) span{font-size:.6rem;font-weight:850;letter-spacing:.045em;text-transform:uppercase}.drafting-view-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button) em{color:var(--color-muted);font:800 .53rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;grid-column:2}.drafting-view-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button).is-active{background:var(--color-page);border-color:var(--color-muted);color:var(--color-primary-hover)}.drafting-view-controls .drafting-zoom-readout{grid-template-columns:auto 1fr;min-width:82px}.drafting-view-controls .drafting-zoom-readout span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}.drafting-history-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:var(--color-card-muted);border-color:var(--color-border);height:var(--control-height);min-width:var(--control-height);padding:7px}.drafting-history-actions .drafting-export-button{background:var(--draft-ink);border-color:var(--draft-ink);color:var(--color-primary-contrast);font-size:.66rem;font-weight:850;gap:6px;letter-spacing:.055em;padding-inline:10px;text-transform:uppercase}.drafting-history-actions .drafting-export-button+.drafting-export-button{background:var(--draft-teal);border-color:var(--draft-teal)}.drafting-editor-grid{display:grid;grid-template-columns:196px minmax(430px,1fr) 302px;min-height:0}@media(max-width:1180px){.drafting-toolbar-identity{min-width:154px}.drafting-import-building span{display:none}.drafting-editor-grid{grid-template-columns:154px minmax(380px,1fr) 276px}.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:var(--control-hit-target)}.drafting-tool-group :is(.ui-button,.icon-button,.row-action,.toolbar-button) span{display:none}}@media(max-width:860px){.drafting-workspace{grid-template-rows:auto auto;height:auto;min-height:100%;overflow:visible}.drafting-toolbar{grid-template-columns:1fr;overflow-y:visible}.drafting-toolbar-identity{border-right:0;border-bottom:1px solid var(--draft-line)}.drafting-tool-group,.drafting-history-actions,.drafting-view-controls{border:0;border-bottom:1px solid var(--draft-line)}.drafting-editor-grid{grid-template-columns:1fr}.drafting-page-rail{border:0;max-height:none}.drafting-page-list{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}.drafting-page-setup{grid-template-columns:repeat(3,1fr)}.drafting-canvas-stage{min-height:68vh}.drafting-inspector{border:0}}}@layer features{.drafting-page-rail,.drafting-inspector{background:var(--draft-panel);min-height:0;overflow:auto}.drafting-page-rail{border-right:1px solid var(--draft-line);padding:14px 12px}.drafting-rail-heading{align-items:center;color:var(--draft-muted);display:flex;font-size:.62rem;font-weight:900;justify-content:space-between;letter-spacing:.14em;margin:0 3px 11px;text-transform:uppercase}.drafting-rail-heading strong{background:var(--color-page);border-radius:var(--radius-round);color:var(--draft-ink);padding:2px 6px}.drafting-page-list{display:grid;gap:6px}.drafting-page-list>:is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-panel);color:var(--draft-ink);cursor:pointer;display:grid;gap:9px;grid-template-columns:48px 1fr;padding:7px;text-align:left}.drafting-page-list>:is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{background:var(--color-card-muted)}.drafting-page-list>:is(.ui-button,.icon-button,.row-action,.toolbar-button).is-active{background:var(--color-page);border-color:var(--color-muted)}.drafting-page-list strong,.drafting-page-list small{display:block}.drafting-page-list strong{font-size:.72rem}.drafting-page-list small{color:var(--draft-muted);font-size:.61rem;margin-top:3px}.drafting-page-thumb{align-items:flex-end;background:var(--color-primary-contrast);border:1px solid var(--color-border);box-shadow:0 2px 4px color-mix(in srgb,var(--color-text) 14%,transparent);display:flex;height:34px;padding:3px;width:44px}.drafting-page-thumb.is-portrait{height:42px;width:31px}.drafting-page-thumb i{border:1px solid var(--color-border);display:block;height:7px;width:100%}.drafting-add-page{background:transparent;border-color:var(--color-muted);gap:6px;margin-top:10px;padding:7px 9px;width:100%}.drafting-page-setup{border-top:1px solid var(--draft-line);display:grid;gap:8px;margin-top:16px;padding-top:14px}.drafting-field{color:var(--draft-muted);display:grid;font-size:.6rem;font-weight:800;gap:4px;letter-spacing:.04em;min-width:0;text-transform:uppercase}.drafting-field :is(.ui-input,.ui-checkbox,.ui-file-input),.drafting-field .ui-select,.drafting-field .ui-textarea{background:var(--color-primary-contrast);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--draft-ink);font:500 .76rem/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;min-width:0;padding:6px 7px;text-transform:none;width:100%}.drafting-field .ui-textarea{resize:vertical}.drafting-field :is(.ui-input,.ui-checkbox,.ui-file-input):focus,.drafting-field .ui-select:focus,.drafting-field .ui-textarea:focus{border-color:var(--draft-teal);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 18%,transparent);outline:none}}@layer features{.drafting-stroke-controls{align-items:center;background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-panel);display:flex;flex:0 0 auto;gap:5px;padding:4px 5px}.drafting-stroke-preview{background:linear-gradient(90deg,transparent 49%,color-mix(in srgb,var(--document-ink) 8%,transparent) 50%,transparent 51%),var(--document-paper);border:1px solid var(--document-rule);border-radius:var(--radius-tight);color:var(--document-ink);flex:0 0 88px;height:30px;overflow:visible;width:88px}.drafting-stroke-preview line,.drafting-stroke-preview path{stroke:currentColor}.drafting-stroke-controls .drafting-field{flex-basis:92px}.drafting-stroke-controls .drafting-stroke-pattern-field{flex-basis:104px}.drafting-stroke-controls .drafting-stroke-marker-field{flex-basis:108px}.drafting-stroke-controls .drafting-field .ui-select{padding-block:4px}@media(max-width:1550px){.drafting-stroke-preview{display:none}}}@layer features{.drafting-tool-group .ui-button,.drafting-selection-actions .ui-button{position:relative}.drafting-shortcut-key{align-items:center;background:color-mix(in srgb,var(--color-page) 84%,transparent);border:1px solid var(--color-border);border-radius:var(--radius-tight);color:var(--draft-muted);display:inline-flex;font-family:var(--font-mono);font-size:.5rem;font-weight:850;height:13px;justify-content:center;line-height:1;min-width:13px;padding:0 3px}.drafting-tool-group .drafting-shortcut-key{position:absolute;right:2px;top:2px}.drafting-selection-actions .drafting-shortcut-key{margin-left:2px}.drafting-shortcut-legend{position:relative}.drafting-shortcut-legend .drafting-shortcut-toggle{align-items:center;border:1px solid transparent;border-radius:var(--radius-panel);color:var(--draft-muted);cursor:pointer;display:flex;font-size:.58rem;font-weight:800;gap:5px;height:var(--control-height);letter-spacing:.055em;padding:0 8px;text-transform:uppercase;white-space:nowrap}.drafting-shortcut-legend .drafting-shortcut-toggle:hover,.drafting-shortcut-legend .drafting-shortcut-toggle:focus-visible,.drafting-shortcut-legend .drafting-shortcut-toggle[aria-expanded=true]{background:var(--color-card-muted);border-color:var(--color-border);color:var(--color-text)}.drafting-shortcut-list{background:var(--color-panel);border:1px solid var(--draft-line);border-radius:var(--radius-panel);bottom:calc(100% + 6px);box-shadow:var(--shadow-elevated);display:grid;gap:2px;grid-template-columns:repeat(2,minmax(112px,1fr));padding:8px;position:absolute;right:0;width:252px;z-index:20}.drafting-shortcut-list>div{align-items:center;color:var(--color-text);display:grid;font-size:.65rem;gap:7px;grid-template-columns:20px minmax(0,1fr);min-height:24px}.drafting-shortcut-list kbd{background:var(--color-page);border:1px solid var(--color-border-strong);border-bottom-width:2px;border-radius:var(--radius-tight);color:var(--color-primary-hover);font-family:var(--font-mono);font-size:.62rem;font-weight:850;padding:2px 4px;text-align:center}}@layer features{.drafting-right-dock{background:var(--draft-panel);border-left:1px solid var(--draft-line);display:grid;grid-template-rows:auto minmax(180px,.48fr) minmax(0,1fr);min-height:0}.drafting-project-save-slot:not(:empty){border-bottom:1px solid var(--draft-line);padding:10px}.drafting-project-save-slot .workspace-project-save{margin-bottom:0}.drafting-right-dock .drafting-inspector{border-left:0;border-top:1px solid var(--draft-line)}.drafting-layers-panel{background:var(--color-card-muted);min-height:0;overflow:auto;padding:12px}.drafting-layers-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.drafting-layers-heading>span{align-items:center;color:var(--draft-muted);display:inline-flex;font-size:.62rem;font-weight:900;gap:6px;letter-spacing:.14em;text-transform:uppercase}.drafting-layers-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button),.drafting-layer-row :is(.ui-button,.icon-button,.row-action,.toolbar-button),.drafting-layer-transfer :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;border:1px solid transparent;border-radius:var(--radius-panel);cursor:pointer;display:inline-flex;justify-content:center}.drafting-layers-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:var(--draft-ink);color:var(--color-primary-contrast);height:var(--control-height-compact);width:var(--control-height-compact)}.drafting-layers-heading-actions{align-items:center;display:flex;gap:5px}.drafting-layers-heading-actions .drafting-show-all-button{background:transparent;border-color:var(--color-muted);color:var(--draft-teal);font:800 .57rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.04em;padding:0 8px;text-transform:uppercase;width:auto}.drafting-layer-list{border:1px solid var(--color-border);border-bottom:0}.drafting-layer-block{border-bottom:1px solid var(--color-border);position:relative}.drafting-layer-block.is-drop-above{box-shadow:inset 0 3px 0 var(--draft-accent)}.drafting-layer-block.is-drop-below{box-shadow:inset 0 -3px 0 var(--draft-accent)}.drafting-layer-block.is-figure-drop-target{outline:2px solid var(--draft-accent);outline-offset:-2px}.drafting-layer-row{align-items:center;background:var(--color-card);display:grid;gap:4px;grid-template-columns:22px 26px minmax(0,1fr) 24px 26px 26px 26px;min-height:36px;padding:3px 4px;position:relative}.drafting-layer-block.is-hidden .drafting-layer-figures,.drafting-layer-block.is-hidden .drafting-layer-empty{opacity:.5}.drafting-layer-row:before{background:transparent;bottom:0;content:"";left:0;position:absolute;top:0;width:3px}.drafting-layer-row.is-active{background:var(--color-page)}.drafting-layer-row.is-active:before{background:var(--draft-accent)}.drafting-layer-row.is-dragging{opacity:.45}.drafting-layer-row :is(.ui-input,.ui-checkbox,.ui-file-input){background:transparent;border:1px solid transparent;color:var(--draft-ink);font:700 .7rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;min-width:0;padding:6px 4px;width:100%}.drafting-layer-row :is(.ui-input,.ui-checkbox,.ui-file-input):focus{background:var(--color-primary-contrast);border-color:var(--draft-teal);outline:none}.drafting-layer-grip,.drafting-layer-marker,.drafting-layer-solo-button,.drafting-layer-icon{background:transparent;color:var(--color-muted);height:27px;width:27px}.drafting-layer-grip{cursor:grab;width:21px}.drafting-layer-grip:active,.drafting-layer-figure-grip:active{cursor:grabbing}.drafting-layer-grip:hover,.drafting-layer-marker:hover,.drafting-layer-solo-button:hover,.drafting-layer-icon:hover{background:var(--color-page);color:var(--draft-teal)}.drafting-layer-solo-button span,.drafting-layer-figure-actions .drafting-layer-solo-button span{font:900 .57rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drafting-layer-solo-button[aria-pressed=true],.drafting-layer-figure-actions .drafting-layer-solo-button[aria-pressed=true]{background:var(--draft-accent);color:var(--color-primary-contrast)}.drafting-layer-row.is-active .drafting-layer-marker{color:var(--draft-accent-dark)}.drafting-layer-count{background:var(--color-page);border-radius:var(--radius-round);color:var(--color-muted);font:750 .59rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;padding:3px 5px;text-align:center}.drafting-layer-figures{background:var(--color-page);display:grid;padding:3px 4px 5px 26px}.drafting-layer-figure{align-items:center;border-left:2px solid transparent;display:grid;grid-template-columns:20px minmax(0,1fr) auto;min-width:0}.drafting-layer-figure:hover{background:color-mix(in srgb,var(--color-primary-contrast) 50%,transparent)}.drafting-layer-figure.is-selected{background:var(--color-page);border-left-color:var(--draft-accent);color:var(--color-primary-hover)}.drafting-layer-figure.is-isolated{background:var(--color-page);border-left-color:var(--draft-teal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary) 20%,transparent)}.drafting-layer-figure.is-soloed{box-shadow:inset 3px 0 0 var(--draft-accent)}.drafting-layer-figure.is-outside-isolation .drafting-layer-figure-grip,.drafting-layer-figure.is-outside-isolation .drafting-layer-figure-select{opacity:.42}.drafting-layer-figure.is-drop-above{box-shadow:inset 0 2px 0 var(--draft-accent)}.drafting-layer-figure.is-drop-below{box-shadow:inset 0 -2px 0 var(--draft-accent)}.drafting-layer-figure.is-hidden .drafting-layer-figure-select{opacity:.48}.drafting-layer-figure-grip,.drafting-layer-figure-select,.drafting-layer-figure-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:transparent;border:0;color:inherit}.drafting-layer-figure-grip{align-items:center;color:var(--color-muted);border-left:2px solid transparent;cursor:grab;display:inline-flex;height:28px;justify-content:center;padding:0;width:20px}.drafting-layer-figure-select{align-items:center;color:var(--color-primary-hover);cursor:pointer;display:grid;gap:6px;grid-template-columns:18px minmax(0,1fr);min-width:0;padding:5px 6px;text-align:left}.drafting-layer-figure-select.is-selected{color:var(--color-primary-hover)}.drafting-layer-figure-actions{display:inline-flex;gap:1px;padding-right:2px}.drafting-layer-figure-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){align-items:center;border-radius:var(--radius-tight);color:var(--color-muted);cursor:pointer;display:inline-flex;height:var(--control-height-compact);justify-content:center;padding:0;width:var(--control-height-compact)}.drafting-layer-figure-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{background:var(--color-card);color:var(--draft-teal)}.drafting-layer-figure-actions .drafting-layer-isolate-button[aria-pressed=true]{background:var(--draft-teal);color:var(--color-primary-contrast)}.drafting-layer-figure-icon{color:var(--color-muted);display:inline-flex;justify-content:center}.drafting-layer-figures strong,.drafting-layer-figures small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drafting-layer-figures strong{font:750 .65rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.drafting-layer-figures small{color:var(--color-muted);font-size:.55rem;margin-top:2px;text-transform:uppercase}.drafting-layer-empty{background:var(--color-page);color:var(--color-muted);font-size:.61rem;font-style:italic;margin:0;padding:5px 8px 7px 36px}.drafting-layer-transfer{background:var(--color-card);border:1px solid var(--color-border);display:grid;gap:8px;margin-top:8px;padding:9px}.drafting-layer-transfer>strong{color:var(--color-danger-hover);font-size:.68rem;line-height:1.35}.drafting-layer-transfer>div{display:flex;gap:6px}.drafting-layer-transfer :is(.ui-button,.icon-button,.row-action,.toolbar-button){background:var(--draft-ink);color:var(--color-primary-contrast);font-size:.64rem;font-weight:800;padding:6px 8px}.drafting-layer-transfer :is(.ui-button,.icon-button,.row-action,.toolbar-button):last-child{background:transparent;border-color:var(--color-muted);color:var(--draft-ink)}.drafting-active-layer{align-items:center;color:var(--draft-teal);display:flex;font:750 .61rem/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;gap:5px;margin:8px 2px 0}.drafting-layers-panel :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{cursor:not-allowed;opacity:.38}@media(max-width:860px){.drafting-right-dock{border:0;display:block}.drafting-layers-panel{border-top:1px solid var(--draft-line);max-height:360px}.drafting-right-dock .drafting-inspector{border-left:0}}}@layer features{.drafting-canvas-stage{display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;min-width:0;overflow:hidden}.drafting-sheet-mat{align-items:flex-start;display:flex;justify-content:flex-start;min-height:0;overflow:auto;padding:38px}.drafting-sheet-zoom-surface{flex:0 0 auto;margin:auto;position:relative}.drafting-sheet{background:var(--draft-paper);box-shadow:0 18px 50px color-mix(in srgb,var(--document-black) 42%,transparent),0 0 0 1px color-mix(in srgb,var(--document-ink) 45%,transparent);cursor:crosshair;display:block;left:0;position:absolute;touch-action:none;top:0}.drafting-sheet.is-tool-select{cursor:default}.drafting-sheet.is-interacting{cursor:crosshair}.drafting-sheet.is-moving-selection,.drafting-sheet.is-moving-selection .drafting-entity,.drafting-sheet.is-moving-selection .drafting-entity-hit-target{cursor:grabbing}.drafting-paper{pointer-events:none}.drafting-viewport-frame{fill:none;pointer-events:none;stroke:var(--document-concrete);stroke-dasharray:1.5 1.5;stroke-width:.2}.drafting-entity{cursor:pointer;stroke-linecap:square;stroke-linejoin:miter}.drafting-entity.is-selected{stroke:var(--draft-accent)}.drafting-entity.is-drafting{filter:drop-shadow(0 0 .8px color-mix(in srgb,var(--document-rust) 55%,transparent));stroke:var(--draft-accent-dark)}.drafting-entity.is-locked{cursor:not-allowed}.drafting-entity-hit-target{cursor:pointer}.drafting-entity-hit-target.is-locked{cursor:not-allowed}.drafting-endpoint-labels{opacity:0;pointer-events:none;transition:opacity .1s ease}.drafting-line-entity-group:hover .drafting-endpoint-labels,.drafting-line-entity-group.shows-endpoint-labels .drafting-endpoint-labels{opacity:1}.drafting-endpoint-labels text{fill:var(--draft-accent-dark);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:900;paint-order:stroke;stroke:var(--document-paper);stroke-linejoin:round}.drafting-area-preview{fill:color-mix(in srgb,var(--document-teal) 22%,transparent);pointer-events:none;stroke:var(--draft-teal)}.drafting-area-preview.has-issue{fill:color-mix(in srgb,var(--document-rust) 15%,transparent);stroke:var(--draft-accent-dark)}.drafting-area-boundary-overlay{pointer-events:none}.drafting-area-boundary-overlay polygon{stroke:var(--draft-accent)}.drafting-selection-box{fill:color-mix(in srgb,var(--document-teal) 13%,transparent);stroke:var(--document-teal);stroke-dasharray:2.4 1.6;stroke-width:.45;vector-effect:non-scaling-stroke}.drafting-snap-marker path{fill:none;stroke-linecap:round;stroke:var(--draft-teal)}.drafting-snap-marker circle{fill:color-mix(in srgb,var(--document-paper) 78%,transparent);stroke:var(--draft-teal)}.drafting-group-snap-markers .drafting-snap-marker circle{fill:color-mix(in srgb,var(--document-rust) 12%,transparent);stroke:var(--draft-accent)}.drafting-group-snap-markers .drafting-snap-marker path{stroke:var(--draft-accent)}.drafting-anchor-control{cursor:move;pointer-events:all}.drafting-anchor-hit{fill:transparent;pointer-events:all}.drafting-live-measure{pointer-events:none}.drafting-measure-extension,.drafting-measure-line{stroke:var(--document-muted)}.drafting-measure-extension{opacity:.82}.drafting-measure-label.is-interactive{cursor:move;pointer-events:all}.drafting-measure-hit{fill:transparent;pointer-events:all}.drafting-live-measure text{fill:var(--document-ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:750;letter-spacing:.02em;paint-order:stroke;pointer-events:none;stroke:var(--document-paper);stroke-linejoin:round}.drafting-measure-label.is-interactive:hover text{fill:var(--draft-accent-dark)}.drafting-polygon-preview{pointer-events:none}.drafting-polygon-preview polyline{stroke:var(--draft-accent-dark)}.drafting-active-node{fill:none;stroke-linecap:round;stroke:var(--draft-accent-dark)}.drafting-angle-reference,.drafting-angle-local-reference,.drafting-angle-arc{fill:none;stroke:var(--document-teal);stroke-linecap:round}.drafting-angle-reference{filter:drop-shadow(0 0 .7px color-mix(in srgb,var(--document-teal) 42%,transparent))}.drafting-angle-arc{stroke:var(--draft-accent-dark)}.drafting-angle-label text{fill:var(--document-ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:800;paint-order:stroke;stroke:var(--document-paper);stroke-linejoin:round}.drafting-dimension-label{fill:var(--document-ink);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-weight:700;paint-order:stroke;stroke:var(--document-paper);stroke-linejoin:round}.drafting-paper-text{cursor:pointer;fill:var(--document-ink);font-family:Arial Narrow,Arial,sans-serif;paint-order:stroke}.drafting-paper-text.is-selected{fill:var(--draft-accent-dark);stroke:color-mix(in srgb,var(--document-white) 80%,transparent);stroke-width:.5px}.drafting-title-block rect{stroke:var(--document-ink);stroke-width:.35}.drafting-title-block path{fill:none;stroke:var(--document-ink);stroke-width:.25}.drafting-title-label{fill:var(--document-muted);font:700 1.7px/1 Arial,sans-serif;letter-spacing:.18px}.drafting-title-value{fill:var(--document-black);font:700 3.1px/1 Arial Narrow,Arial,sans-serif}.drafting-canvas-status{align-items:center;background:color-mix(in srgb,var(--document-ink) 82%,transparent);border-top:1px solid color-mix(in srgb,var(--document-white) 9%,transparent);color:var(--document-rule);display:flex;font-size:.61rem;font-weight:750;gap:7px;letter-spacing:.08em;min-height:28px;padding:5px 12px;text-transform:uppercase}.drafting-status-dot{background:var(--document-glass);border-radius:var(--radius-round);box-shadow:0 0 0 3px color-mix(in srgb,var(--document-glass) 12%,transparent);height:6px;width:6px}.drafting-canvas-status.has-issue{background:var(--document-ink);color:var(--document-paper)}.drafting-canvas-status.has-issue .drafting-status-dot{background:var(--document-concrete);box-shadow:0 0 0 3px color-mix(in srgb,var(--document-concrete) 16%,transparent)}.drafting-inspector{border-left:1px solid var(--draft-line)}.drafting-inspector-section{border-bottom:1px solid var(--draft-line);display:grid;gap:9px;padding:14px}.drafting-inspector-section>header{align-items:center;display:flex;gap:9px;margin-bottom:3px}.drafting-inspector-section>header>span{color:var(--draft-accent);font:800 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}.drafting-inspector-section h2{font-family:Arial Narrow,Roboto Condensed,sans-serif;font-size:.85rem;letter-spacing:.075em;text-transform:uppercase}.drafting-field-grid{display:grid;gap:7px;grid-template-columns:repeat(2,minmax(0,1fr))}.drafting-inspector-empty{color:var(--draft-muted);font-size:.73rem;line-height:1.55;padding:6px 0 8px}.drafting-attached{background:var(--document-paper);border-left:3px solid var(--draft-teal);color:var(--document-green);font:650 .68rem/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;padding:7px 8px}.drafting-area-appearance{background:var(--document-paper);border:1px solid var(--document-rule);margin:0;min-width:0;padding:8px}.drafting-area-appearance legend{color:var(--document-green);font:800 .62rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em;padding:0 5px;text-transform:uppercase}.drafting-derived-metrics{background:var(--document-rule);border:1px solid var(--document-rule);display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;padding:8px}.drafting-derived-metrics strong,.drafting-derived-metrics span{font:700 .69rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.drafting-derived-metrics span{color:var(--draft-muted)}.drafting-delete-button{background:transparent;border-color:var(--document-ground);color:var(--document-timber);gap:6px;margin-top:2px;padding:7px 9px;width:fit-content}.drafting-delete-button:hover{background:var(--document-paper)}.drafting-lock-button{align-items:center;background:var(--document-paper);border-color:var(--document-concrete);color:var(--document-green);display:inline-flex;font-size:.7rem;gap:6px;justify-self:start;padding:7px 9px}.drafting-visibility-button{background:transparent;border:1px solid var(--document-concrete);border-radius:var(--radius-panel);color:var(--document-green);cursor:pointer;font-size:.7rem;justify-self:start;padding:7px 9px}.drafting-lock-button.is-locked{background:var(--document-rule);border-color:var(--document-ground);color:var(--document-timber)}@media(max-width:860px){.drafting-sheet-mat{padding:22px 12px}.drafting-sheet{min-height:220px}.drafting-inspector{border-top:1px solid var(--draft-line)}.drafting-publication-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.drafting-publication-fields>header,.drafting-publication-fields>.drafting-field:first-of-type,.drafting-publication-fields>.drafting-field:last-of-type{grid-column:1 / -1}}}@layer features{.drafting-fill-context-window.context-window{width:min(390px,calc(100vw - 24px))}.drafting-fill-context-window .context-window-body{background:var(--color-card-muted);padding:0}.surface-finish-picker{display:grid}.surface-finish-group{border-bottom:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent);display:grid;gap:8px;padding:11px 12px 13px}.surface-finish-group:last-child{border-bottom:0}.surface-finish-group h3{color:var(--color-muted);font:850 .62rem/1 Arial Narrow,sans-serif;letter-spacing:.13em;margin:0;text-transform:uppercase}.surface-finish-grid{display:grid;gap:7px;grid-template-columns:repeat(3,minmax(0,1fr))}.surface-finish-option{background:var(--color-panel);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);cursor:pointer;display:grid;gap:5px;min-width:0;padding:5px;position:relative;text-align:left}.surface-finish-option:hover:not(:disabled),.surface-finish-option:focus-visible{background:var(--color-card);border-color:var(--color-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 12%,transparent);outline:0;transform:translateY(-1px)}.surface-finish-option.is-selected{background:var(--color-card-muted);border-color:var(--color-primary);box-shadow:inset 0 -2px 0 var(--color-primary)}.surface-finish-option:disabled{cursor:not-allowed;opacity:.62}.surface-finish-option>span{font-size:.66rem;font-weight:800;line-height:1.15;min-height:1.5em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.surface-finish-option>i{align-items:center;background:var(--color-primary);border:2px solid var(--color-panel);border-radius:var(--radius-round);color:var(--color-primary-contrast);display:flex;height:18px;justify-content:center;position:absolute;right:1px;top:1px;width:18px}.surface-finish-swatch{background:var(--color-primary-contrast);border:1px solid color-mix(in srgb,var(--color-text) 24%,transparent);border-radius:var(--radius-tight);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-primary-contrast) 22%,transparent);display:block;height:31px;width:100%}.surface-finish-swatch.is-none path{fill:none;stroke:var(--color-danger-hover);stroke-width:1.4}@media(max-width:460px){.surface-finish-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}}@layer features{.workspace-site-plan{--workspace-control-column: minmax(280px, 340px);--workspace-stage-column: minmax(480px, 1fr);--workspace-result-column: minmax(260px, 320px)}.site-plan-control-panel .field-grid label:first-child{grid-column:auto}.site-plan-document-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:10px}.site-plan-document-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.site-plan-state-import{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);font-size:.86rem;font-weight:900;text-transform:none;cursor:pointer}.site-plan-document-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.site-plan-state-import.disabled{opacity:.48;cursor:not-allowed}.site-plan-state-import :is(.ui-input,.ui-checkbox,.ui-file-input){position:absolute;width:var(--control-checkbox-size);height:var(--control-checkbox-size);margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.site-plan-draw-scale,.site-plan-reference-toggle,.site-plan-side-toggle{min-height:40px;border:1px solid var(--document-concrete);border-radius:var(--radius-panel);color:var(--document-ink);background:var(--document-paper);font-weight:900;cursor:pointer}.site-plan-draw-scale.active,.site-plan-reference-toggle.active{border-color:var(--document-green);color:var(--document-paper);background:var(--document-green)}.site-plan-field-note{margin:8px 0 12px;color:var(--color-muted);font-size:.82rem;font-weight:700;line-height:1.35}.site-plan-group-subsection{margin:2px 0 8px;border-bottom:1px solid color-mix(in srgb,var(--color-border) 55%,transparent);padding-bottom:6px}.site-plan-group-subsection h3{margin:0;color:var(--color-text);font-size:.82rem;font-weight:950}.site-plan-draw-scale:disabled,.site-plan-reference-toggle:disabled,.site-plan-side-toggle:disabled{opacity:.48;cursor:not-allowed}.site-plan-draw-scale,.site-plan-reference-toggle,.site-plan-side-toggle{width:100%;margin-top:8px}.site-plan-reference-toggle{display:grid;justify-items:center;gap:2px}.site-plan-reference-toggle small,.site-plan-side-toggle small{color:inherit;font-size:.72rem;font-weight:800;opacity:.76}.site-plan-side-toggle{display:grid;justify-items:center;gap:2px}.site-plan-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.site-plan-tool-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);font-weight:900;cursor:pointer}.site-plan-tool-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-text);color:var(--color-primary-contrast);background:var(--color-stage)}.site-plan-entity-list{display:grid;gap:8px}}@layer features{.site-plan-entity-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch;border:1px solid var(--document-rule);border-radius:var(--radius-panel);padding:8px;background:var(--document-paper)}.site-plan-entity-card.active{border-color:var(--document-green);box-shadow:inset 4px 0 0 var(--document-green)}.site-plan-entity-card.guide-line.active{border-color:var(--document-blue);box-shadow:inset 4px 0 0 var(--document-blue)}.site-plan-entity-card.polygon.active{border-color:var(--document-timber);box-shadow:inset 4px 0 0 var(--document-timber)}.site-plan-entity-select{display:grid;gap:2px;min-width:0;border:0;padding:0;color:var(--document-ink);background:transparent;text-align:left;cursor:pointer}.site-plan-entity-select strong{overflow:hidden;font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.site-plan-entity-select small{color:var(--document-muted);font-size:.72rem;font-weight:800}.site-plan-entity-actions{display:grid;grid-template-columns:repeat(3,minmax(54px,auto));gap:6px}.site-plan-entity-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){border:1px solid var(--document-concrete);border-radius:var(--radius-panel);padding:0 9px;color:var(--document-ink);background:var(--document-paper);font-size:.76rem;font-weight:900;cursor:pointer}.site-plan-entity-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--document-green);color:var(--document-paper);background:var(--document-green)}.site-plan-entity-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).danger{border-color:var(--document-concrete);color:var(--document-timber);background:var(--document-paper)}.site-plan-entity-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).danger:hover:not(:disabled),.site-plan-entity-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).danger:focus-visible{border-color:var(--document-rust);color:var(--document-paper);background:var(--document-rust)}.site-plan-entity-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{opacity:.52;cursor:not-allowed}.site-plan-polygon-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.site-plan-polygon-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);font-weight:900;cursor:pointer}.site-plan-polygon-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-danger-hover);color:var(--color-primary-contrast);background:var(--color-danger-hover)}.site-plan-polygon-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{opacity:.52;cursor:not-allowed}.site-plan-add-actions,.site-plan-boundary-list{display:grid;gap:6px}.site-plan-add-actions{grid-template-columns:1fr 1fr;margin-top:8px}.site-plan-add-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.site-plan-add-boundary,.site-plan-boundary-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){border:1px solid var(--document-concrete);border-radius:var(--radius-panel);padding:8px 10px;color:var(--document-ink);background:var(--document-paper);font-size:.78rem;font-weight:900;cursor:pointer}.site-plan-add-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled,.site-plan-add-boundary:disabled{opacity:.52;cursor:not-allowed}.site-plan-boundary-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:grid;gap:2px;text-align:left}.site-plan-boundary-list :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--document-green);box-shadow:inset 4px 0 0 var(--document-green)}.site-plan-boundary-list small{color:var(--document-muted);font-size:.72rem;font-weight:800}.site-plan-add-boundary{width:100%;margin:8px 0}}@layer features{.site-plan-stage{overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--color-stage) 7%,transparent) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--color-stage) 7%,transparent) 1px,transparent 1px),var(--color-card-muted);background-size:28px 28px}.site-plan-sheet{position:absolute;top:24px;right:24px;bottom:24px;left:24px;overflow:scroll;scrollbar-gutter:stable both-edges;border:1px solid var(--document-concrete);border-radius:var(--radius-panel);padding:26px;background:var(--document-paper);cursor:default;box-shadow:0 22px 48px color-mix(in srgb,var(--document-ink) 18%,transparent)}.site-plan-page-frame{position:relative;margin:0 auto;max-width:none;min-width:0;background:var(--color-primary-contrast);box-shadow:0 14px 36px color-mix(in srgb,var(--color-text) 18%,transparent)}.site-plan-context-menu.context-window{width:min(330px,calc(100vw - 24px));border-color:var(--color-border);background:linear-gradient(color-mix(in srgb,var(--color-card) 97%,transparent),color-mix(in srgb,var(--color-card) 97%,transparent)),repeating-linear-gradient(90deg,transparent 0 23px,color-mix(in srgb,var(--color-primary-hover) 8%,transparent) 23px 24px);box-shadow:0 18px 44px color-mix(in srgb,var(--color-text) 24%,transparent),0 2px 8px color-mix(in srgb,var(--color-text) 16%,transparent)}.site-plan-context-menu .context-window-titlebar{background:linear-gradient(90deg,var(--color-card-muted) 0,var(--color-card-muted) 72%,var(--color-page) 100%)}.site-plan-context-menu .context-window-heading strong{color:var(--color-muted);font-family:ui-monospace,Cascadia Mono,monospace;font-size:.68rem}.site-plan-context-menu .context-window-body{gap:8px}.site-plan-document,.site-plan-placeholder,.site-plan-hit-layer,.site-plan-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.site-plan-document{border:0;object-fit:contain;pointer-events:auto;z-index:1}.site-plan-pdf-canvas{display:block;object-fit:fill}.site-plan-sheet.is-placement-active .site-plan-document{pointer-events:none}.site-plan-placeholder{display:grid;place-items:center;align-content:center;gap:10px;padding:30px;color:var(--color-success);text-align:center;background:linear-gradient(45deg,color-mix(in srgb,var(--color-stage) 5%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--color-stage) 5%,transparent) 25%,transparent 25%),var(--color-card);background-size:18px 18px;z-index:1}.site-plan-placeholder strong{color:var(--color-text);font-size:1.05rem}.site-plan-placeholder span{max-width:440px;line-height:1.45}.site-plan-render-status{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;align-content:center;gap:8px;padding:30px;color:var(--color-success);text-align:center;background:color-mix(in srgb,var(--color-card) 92%,transparent)}.site-plan-render-status strong{color:var(--color-text);font-size:.95rem}.site-plan-render-status span{max-width:320px;font-size:.82rem;line-height:1.4}.site-plan-render-status code{max-width:min(520px,84%);padding:6px 8px;overflow-wrap:anywhere;border:1px solid color-mix(in srgb,var(--color-success) 22%,transparent);border-radius:var(--radius-panel);color:var(--color-text);background:color-mix(in srgb,var(--color-card) 86%,transparent);font-size:.72rem;line-height:1.35}.site-plan-overlay{pointer-events:none;z-index:3}.site-plan-hit-layer{z-index:4;pointer-events:none}.site-plan-hit-layer.is-active{cursor:crosshair;pointer-events:auto;touch-action:none;-webkit-user-select:none;user-select:none}.site-plan-hit-layer.is-drag-hover{cursor:grab}.site-plan-hit-layer.is-dragging{cursor:grabbing;touch-action:none;-webkit-user-select:none;user-select:none}.site-plan-line,.site-plan-footprint-mask,.site-plan-footprint,.site-plan-polygon-fill,.site-plan-polygon-line,.site-plan-label-line,.site-plan-polygon-label-line,.site-plan-polygon-point{vector-effect:non-scaling-stroke}.site-plan-line{stroke-linecap:round;stroke-width:1.2;fill:none}.site-plan-line-calibration{stroke:var(--color-info);stroke-dasharray:13 9}.site-plan-line-reference{stroke:var(--color-warning);stroke-width:1.2}.site-plan-line-guide-reference{stroke:var(--color-info);stroke-dasharray:9 8;stroke-width:.9;opacity:.58}.site-plan-line-guide-offset{stroke:var(--color-info);stroke-width:1.1}.site-plan-line-guide-distance{stroke:var(--color-info);stroke-dasharray:4 6;stroke-width:1.2;opacity:.78}}@layer features{.site-plan-entity:not(.active){opacity:.62}.site-plan-entity.locked .site-plan-footprint{stroke-dasharray:10 7}.site-plan-entity.dragging .site-plan-footprint{stroke:var(--document-blue);stroke-width:1.8}.site-plan-line-boundary{stroke:var(--document-green);stroke-width:1;stroke-dasharray:3 9}.site-plan-polygon-fill{stroke:var(--document-timber);stroke-width:1.1}.site-plan-polygon-line{fill:none;stroke:var(--document-timber);stroke-width:1.1}.site-plan-polygon-point{fill:var(--document-paper);stroke:var(--document-timber);stroke-width:1.2}.site-plan-polygon-point.close-target{fill:var(--document-timber);stroke:var(--document-paper)}.site-plan-label-line,.site-plan-polygon-label-line{stroke:var(--document-ink);stroke-width:.7;stroke-linecap:round}.site-plan-polygon-label,.site-plan-rectangle-label,.site-plan-dimension-label,.site-plan-guide-label{paint-order:stroke;stroke:color-mix(in srgb,var(--document-white) 96%,transparent);stroke-width:3px;fill:var(--document-black);font-size:11px;font-weight:400;letter-spacing:0;text-anchor:middle;dominant-baseline:central;vector-effect:non-scaling-stroke}.site-plan-entity.locked .site-plan-polygon-fill,.site-plan-entity.locked .site-plan-polygon-line{stroke-dasharray:9 6}.site-plan-footprint-mask{fill:var(--document-white);stroke:none}.site-plan-footprint{fill:var(--document-white);stroke:var(--document-ink);stroke-width:1.2}.site-plan-footprint-cross{stroke:var(--document-ink);stroke-width:.9;vector-effect:non-scaling-stroke}.site-plan-move-handle{vector-effect:non-scaling-stroke}.site-plan-move-hit-target{fill:transparent;stroke:transparent;vector-effect:non-scaling-stroke}.site-plan-move-glyph-outline,.site-plan-move-glyph{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.site-plan-move-glyph-outline{stroke:color-mix(in srgb,var(--document-white) 96%,transparent);stroke-width:4.2}.site-plan-move-glyph{stroke:var(--document-black);stroke-width:1.55}.site-plan-pending-point{fill:var(--document-amber);stroke:var(--document-paper);stroke-width:1.3;vector-effect:non-scaling-stroke}.site-plan-measurement-line{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.site-plan-measurement-preview .site-plan-measurement-line{opacity:.72;stroke-dasharray:7 6}.site-plan-measurement-result .site-plan-measurement-line{opacity:.95}.site-plan-measurement-distance{stroke:var(--document-rust);stroke-width:1.35}.site-plan-measurement-origin,.site-plan-measurement-offset{stroke:var(--document-rust);stroke-width:1.15}.site-plan-measurement-reference{stroke:var(--document-green);stroke-width:1.1;stroke-dasharray:11 7}.site-plan-measurement-label{paint-order:stroke;stroke:color-mix(in srgb,var(--document-white) 98%,transparent);stroke-width:4px;fill:var(--document-timber);font-size:11px;font-weight:900;letter-spacing:0;text-anchor:middle;dominant-baseline:central;vector-effect:non-scaling-stroke}.site-plan-overlay-readout{bottom:28px}.site-plan-zoom-controls{position:sticky;top:14px;z-index:20;display:flex;align-items:center;justify-content:flex-end;gap:8px;width:max-content;height:0;margin:0 0 0 auto;pointer-events:auto}.site-plan-page-controls{position:absolute;top:38px;left:38px;z-index:20;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;margin:0;pointer-events:auto}.site-plan-zoom-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button),.site-plan-page-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:grid;place-items:center;width:var(--control-height);height:var(--control-height);border:1px solid color-mix(in srgb,var(--document-green) 26%,transparent);border-radius:var(--radius-panel);color:var(--document-ink);background:color-mix(in srgb,var(--document-paper) 90%,transparent);cursor:pointer;box-shadow:0 10px 24px color-mix(in srgb,var(--document-ink) 12%,transparent)}.site-plan-page-controls :is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{opacity:.48;cursor:not-allowed}.site-plan-page-controls span{display:grid;place-items:center;min-width:92px;height:34px;border:1px solid color-mix(in srgb,var(--document-green) 26%,transparent);border-radius:var(--radius-panel);padding:0 10px;color:var(--document-ink);background:color-mix(in srgb,var(--document-paper) 90%,transparent);font-size:.84rem;font-weight:900;box-shadow:0 10px 24px color-mix(in srgb,var(--document-ink) 12%,transparent)}.site-plan-zoom-field{display:flex;align-items:center;justify-content:center;gap:2px;min-width:66px;border:1px solid color-mix(in srgb,var(--document-green) 26%,transparent);border-radius:var(--radius-panel);padding:0 8px;height:34px;color:var(--document-ink);background:color-mix(in srgb,var(--document-paper) 90%,transparent);font-size:.84rem;font-weight:800;text-align:center;box-shadow:0 10px 24px color-mix(in srgb,var(--document-ink) 12%,transparent)}.site-plan-zoom-field :is(.ui-input,.ui-checkbox,.ui-file-input){width:var(--control-checkbox-size);border:0;padding:0;color:inherit;background:transparent;font:inherit;text-align:right;outline:none}.site-plan-zoom-field :is(.ui-input,.ui-checkbox,.ui-file-input)::-webkit-outer-spin-button,.site-plan-zoom-field :is(.ui-input,.ui-checkbox,.ui-file-input)::-webkit-inner-spin-button{margin:0}}@layer features{.site-plan-text-box-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.site-plan-text-box-layer.placing,.site-plan-text-box-layer.placing-leader,.site-plan-text-box-layer.dragging{pointer-events:auto;cursor:crosshair}.site-plan-text-box-leaders{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none}.site-plan-text-box-leader{stroke:var(--document-black);stroke-linecap:round;stroke-width:1.6;vector-effect:non-scaling-stroke}.site-plan-text-box-leader.active{stroke:var(--document-amber);stroke-width:2}.site-plan-text-box{position:absolute;display:grid;grid-template-columns:minmax(0,1fr) 26px;box-sizing:border-box;border:1px solid transparent;border-radius:var(--radius-panel);background:transparent;box-shadow:none;pointer-events:auto}.site-plan-text-box.active{border-color:color-mix(in srgb,var(--document-amber) 52%,transparent);background:color-mix(in srgb,var(--document-paper) 38%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--document-amber) 12%,transparent)}.site-plan-text-box.locked{border-style:dashed}.site-plan-text-box-input{width:100%;height:100%;min-height:0;border:0;border-radius:var(--radius-panel) var(--radius-none) var(--radius-none) var(--radius-panel);padding:0 6px 0 0;color:var(--document-ink);background:transparent;font:inherit;font-family:TeX Gyre Heros,sans-serif;font-weight:400;line-height:1.25;outline:none;overflow:auto;resize:none}.site-plan-text-box-input:focus{background:transparent}.site-plan-text-box-move{display:grid;place-items:center;width:26px;border:0;border-radius:var(--radius-none) var(--radius-panel) var(--radius-panel) var(--radius-none);color:var(--document-green);background:color-mix(in srgb,var(--document-paper) 78%,transparent);cursor:grab;opacity:0;pointer-events:none}.site-plan-text-box:hover .site-plan-text-box-move,.site-plan-text-box:focus-within .site-plan-text-box-move,.site-plan-text-box.active .site-plan-text-box-move{opacity:1;pointer-events:auto}.site-plan-text-box-move:disabled{color:var(--document-concrete);cursor:default}.site-plan-text-box-layer.dragging .site-plan-text-box-move{cursor:grabbing}.site-plan-text-box-resize{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:18px;height:18px;padding:0;border:1px solid var(--document-amber);border-radius:var(--radius-panel);color:var(--document-paper);background:var(--document-amber);box-shadow:0 2px 7px color-mix(in srgb,var(--document-ink) 24%,transparent);cursor:nwse-resize;z-index:2}.site-plan-text-box-resize:disabled{border-color:var(--document-concrete);background:var(--document-concrete);cursor:default}.site-plan-text-box-leader-end{position:absolute;width:14px;height:14px;padding:0;border:2px solid var(--document-paper);border-radius:var(--radius-round);background:var(--document-amber);box-shadow:0 0 0 1px var(--document-timber),0 2px 8px color-mix(in srgb,var(--document-ink) 24%,transparent);cursor:move;pointer-events:auto;transform:translate(-50%,-50%);z-index:3}.site-plan-text-box-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:8px}.site-plan-text-box-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-height)}.site-plan-text-box-print{display:none}}@layer features{.workspace-drawing,.workspace-site-plan,.workspace-connection{height:100%;min-height:0;overflow:hidden}.workspace-drawing .control-panel,.workspace-drawing .result-panel,.workspace-site-plan .control-panel,.workspace-site-plan .result-panel,.workspace-connection .control-panel,.workspace-connection .result-panel{height:100%;min-height:0;overflow:auto}.workspace-drawing .model-stage,.workspace-drawing .control-panel-rail,.workspace-drawing .result-panel-rail,.workspace-site-plan .model-stage,.workspace-site-plan .control-panel-rail,.workspace-site-plan .result-panel-rail,.workspace-connection .model-stage,.workspace-connection .control-panel-rail,.workspace-connection .result-panel-rail{height:100%;min-height:0}@media(max-width:820px){.workspace-drawing,.workspace-site-plan,.workspace-connection{height:auto;min-height:100%;overflow:visible}.workspace-drawing .control-panel,.workspace-drawing .control-panel-rail,.workspace-drawing .result-panel,.workspace-drawing .result-panel-rail,.workspace-site-plan .control-panel,.workspace-site-plan .control-panel-rail,.workspace-site-plan .result-panel,.workspace-site-plan .result-panel-rail,.workspace-connection .control-panel,.workspace-connection .control-panel-rail,.workspace-connection .result-panel,.workspace-connection .result-panel-rail{height:auto}.workspace-drawing .model-stage,.workspace-site-plan .model-stage,.workspace-connection .model-stage{height:auto;min-height:420px}}}@layer features{.app-shell .topbar{position:relative;top:auto;z-index:60;grid-column:1 / -1;grid-row:1;height:var(--app-header-height);min-height:0;display:grid;grid-template-columns:minmax(176px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;padding:0 10px;border-bottom:1px solid var(--color-border, var(--color-border));background:var(--color-shell, color-mix(in srgb, var(--color-card) 94%, transparent));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-shell .brand-mark{gap:8px;min-height:var(--control-height)}.app-shell .brand-mark h1{margin:0;font-size:.88rem;line-height:1;letter-spacing:-.015em;white-space:nowrap}.topbar-context{min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.topbar .module-beta-disclaimer{min-width:0;width:auto;padding:4px 7px;gap:6px;border-radius:var(--radius-panel);overflow:hidden}.topbar .module-beta-disclaimer svg{width:14px;height:14px}.topbar .module-beta-disclaimer div{min-width:0;display:flex;align-items:baseline;gap:6px;overflow:hidden}.topbar .module-beta-disclaimer strong,.topbar .module-beta-disclaimer span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;line-height:1}.topbar-context strong,.topbar-context-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-context strong{color:var(--color-text, var(--color-text));font-size:.75rem}.topbar-context-label{color:var(--color-muted, var(--color-muted));font-size:.68rem;font-weight:800;text-transform:uppercase}.topbar-mobile-run-state{display:none}.topbar-status{display:flex;align-items:center;gap:8px;min-width:0}.account-summary{display:flex;align-items:center;gap:7px;min-width:0;height:34px;border-left:1px solid var(--color-border-soft, var(--color-border));padding-left:10px}.account-summary>span{min-width:0;display:grid;line-height:1.05}.account-summary strong,.account-summary small{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary strong{color:var(--color-text, var(--color-text));font-size:.73rem}.account-summary small{color:var(--color-muted, var(--color-muted));font-size:.63rem;font-weight:800}.app-shell .run-state{gap:6px;min-width:0;font-size:.7rem;white-space:nowrap}.app-shell .topbar-menu-toggle{display:none;width:36px;min-width:36px;height:36px;min-height:var(--control-height)}.app-content{grid-column:2;grid-row:2;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.app-notices{grid-row:1;display:grid;gap:6px}.app-notices:empty{display:none}.app-notices>.module-beta-disclaimer,.app-notices>.shell-account-notice{margin:6px 12px 0}.shell-account-notice{border:1px solid var(--color-border, var(--color-border));border-radius:var(--radius-panel);padding:7px 10px;color:var(--color-text, var(--color-text));background:var(--color-card, var(--color-card));font-size:.76rem;font-weight:800}.shell-account-notice.error{border-color:var(--color-danger, var(--color-danger));color:var(--color-danger, var(--color-danger))}.app-view{grid-row:2;min-width:0;min-height:0;height:100%;overflow:hidden}.app-view-scroll{overflow:auto;overscroll-behavior:contain}.app-view-workspace{overflow:hidden}.workspace-activity-rail{z-index:40;grid-column:1;grid-row:2;min-width:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:3px;border-right:1px solid var(--color-border, var(--color-border));padding:6px 4px;overflow-y:auto;background:var(--color-shell, color-mix(in srgb, var(--color-card) 94%, transparent))}.workspace-activity-rail .ui-button{position:relative;display:grid;place-items:center;gap:3px;width:var(--control-hit-target);min-height:var(--control-hit-target);border:1px solid transparent;border-radius:var(--radius-panel);padding:5px 2px;color:var(--color-muted, var(--color-muted));background:transparent;cursor:pointer}.workspace-activity-rail .ui-button:before{position:absolute;top:8px;bottom:8px;left:-4px;width:var(--space-1);border-radius:var(--radius-none) var(--radius-panel) var(--radius-panel) var(--radius-none);content:"";background:transparent}.workspace-activity-rail .ui-button span{max-width:var(--control-hit-target);overflow:hidden;font-size:.58rem;font-weight:850;line-height:1.05;text-align:center;text-overflow:ellipsis;white-space:nowrap}.workspace-activity-rail .ui-button:hover,.workspace-activity-rail .ui-button:focus-visible{border-color:var(--color-border, var(--color-border));color:var(--color-text, var(--color-text));background:var(--color-card-muted, var(--color-card-muted))}.workspace-activity-rail .ui-button.active{color:var(--color-accent, var(--color-danger));background:var(--color-accent-soft, color-mix(in srgb, var(--color-danger) 14%, transparent))}.workspace-activity-rail .ui-button.active:before{background:var(--color-accent, var(--color-danger))}.workspace-navigation-scrim{position:fixed;inset:var(--app-header-height) 0 0 var(--app-rail-width);z-index:48;border:0;padding:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);cursor:default}.workspace-navigation-drawer{position:fixed;top:var(--app-header-height);bottom:0;left:var(--app-rail-width);z-index:50;width:min(324px,calc(100vw - var(--app-rail-width)));min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;border-right:1px solid var(--color-border, var(--color-border));color:var(--color-text, var(--color-text));background:var(--color-panel, var(--color-card));box-shadow:16px 0 38px var(--shadow-elevated)}.workspace-navigation-scrim[hidden],.workspace-navigation-drawer[hidden]{display:none}.workspace-navigation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid var(--color-border-soft, var(--color-border));padding:10px 12px 9px 16px}.workspace-navigation-heading div{min-width:0}.workspace-navigation-heading span,.workspace-navigation-heading h2{margin:0}.workspace-navigation-heading span{color:var(--color-muted, var(--color-muted));font-size:.64rem;font-weight:900;text-transform:uppercase}.workspace-navigation-heading h2{overflow:hidden;font-size:1rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.workspace-navigation-heading .icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:var(--control-height);height:var(--control-height);border:1px solid var(--color-border, var(--color-border));border-radius:var(--radius-panel);color:var(--color-text, var(--color-text));background:var(--color-card, var(--color-card));cursor:pointer}.workspace-navigation-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}.workspace-navigation-project{display:grid;gap:8px;border-bottom:1px solid var(--color-border-soft, var(--color-border));padding:14px 16px;background:var(--color-card-muted, var(--color-card-muted))}.workspace-navigation-project label,.workspace-navigation-project>div{display:grid;gap:4px}.workspace-navigation-project label>span,.workspace-navigation-project>div>span{color:var(--color-muted, var(--color-muted));font-size:.66rem;font-weight:900;text-transform:uppercase}.workspace-navigation-project .ui-select{width:100%;min-height:var(--control-height);border:1px solid var(--color-border, var(--color-border));border-radius:var(--radius-panel);padding:7px 9px;color:var(--color-text, var(--color-text));background:var(--color-card, var(--color-card));font:inherit;font-size:.8rem;font-weight:800}.workspace-navigation-project strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.workspace-navigation-list{display:grid;gap:8px;padding:12px}.workspace-navigation-list>section{display:grid;gap:3px;border-left:2px solid transparent;padding:5px 0 5px 8px}.workspace-navigation-list>section.selected{border-left-color:var(--color-accent, var(--color-danger))}.workspace-navigation-list h3,.workspace-navigation-list h4{margin:0;color:var(--color-muted, var(--color-muted));font-weight:900;text-transform:uppercase}.workspace-navigation-list h3{padding:2px 8px 4px;font-size:.7rem}.workspace-navigation-list h4{padding:7px 8px 3px;font-size:.61rem}.workspace-navigation-section{display:grid;gap:3px}.workspace-navigation-item{display:flex;align-items:center;gap:8px;width:100%;min-height:34px;border:1px solid transparent;border-radius:var(--radius-panel);padding:7px 9px;color:var(--color-text, var(--color-text));background:transparent;font-size:.8rem;font-weight:800;text-align:left;cursor:pointer}.workspace-navigation-item:hover,.workspace-navigation-item:focus-visible{border-color:var(--color-border, var(--color-border));background:var(--color-card-muted, var(--color-card-muted))}.workspace-navigation-item.active{color:var(--color-primary-contrast, var(--color-card));background:var(--color-primary, var(--color-text))}.workspace-navigation-project-tools{display:grid;gap:10px;border-top:1px solid var(--color-border-soft, var(--color-border));padding:12px}.workspace-navigation-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:46vh;border-top:1px solid var(--color-border, var(--color-border));padding:10px;overflow-y:auto;background:var(--color-card-muted, var(--color-card-muted))}.workspace-navigation-footer>.ui-button,.workspace-navigation-footer>.language-selector{display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;min-height:var(--control-height);border:1px solid var(--color-border, var(--color-border));border-radius:var(--radius-panel);padding:7px 9px;color:var(--color-text, var(--color-text));background:var(--color-card, var(--color-card));font-size:.72rem;font-weight:850;cursor:pointer}.workspace-navigation-footer>.language-selector .ui-select{min-width:0;width:100%;color:inherit}.workspace-navigation-footer>.account-panel{grid-column:1 / -1;width:100%;max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto auto;grid-auto-flow:row;align-items:center}.workspace-navigation-footer .account-card{min-width:0}.workspace-navigation-footer .account-upgrade{display:grid}.workspace-navigation-footer .account-action{min-height:var(--control-height)}.workspace-navigation-footer .account-message{grid-column:1 / -1}.app-shell .workspace{height:100%;min-height:0;overflow:hidden}.app-shell .workspace>.control-panel,.app-shell .workspace>.control-panel-rail,.app-shell .workspace>.model-stage,.app-shell .workspace>.result-panel,.app-shell .workspace>.result-panel-rail{min-height:0}.app-shell .workspace-project{height:auto;min-height:100%;overflow:visible}.app-shell .drafting-workspace,.app-shell .structure-lab-workspace{height:100%;min-height:0;overflow:hidden}@media(max-width:820px){.app-shell{grid-template-columns:minmax(0,1fr)}.app-shell .topbar{grid-template-columns:auto minmax(0,1fr) auto;gap:7px;height:var(--app-header-height);min-height:0;padding:0 8px}.app-shell .brand-mark{min-width:0}.app-shell .brand-mark h1{max-width:132px;overflow:hidden;text-overflow:ellipsis}.topbar-context strong,.topbar-status{display:none}.topbar-context{justify-content:flex-end;gap:5px}.topbar-context-label{font-size:.62rem}.topbar .module-beta-disclaimer{flex:0 1 auto}.topbar .module-beta-disclaimer span{display:none}.topbar-mobile-run-state{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;border:0;border-radius:var(--radius-round);color:var(--color-muted, var(--color-muted));background:var(--color-card-muted, var(--color-card-muted))}.topbar-mobile-run-state.state-error{color:var(--color-danger, var(--color-danger));background:var(--color-danger-soft)}.app-shell .topbar-menu-toggle{display:inline-flex;width:38px;min-width:38px;height:38px;min-height:38px}.workspace-activity-rail{display:none}.app-content{grid-column:1}.app-notices>.module-beta-disclaimer,.app-notices>.shell-account-notice{margin:6px 8px 0}.app-view-workspace{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}.workspace-navigation-scrim{left:0}.workspace-navigation-drawer{left:0;width:min(344px,100vw)}.app-shell .workspace,.app-shell .drafting-workspace,.app-shell .structure-lab-workspace{height:auto;min-height:100%;overflow:visible}.app-shell .workspace-mobile-nav{top:0}.workspace-navigation-footer{max-height:52vh}.workspace-control-footer{left:max(12px,env(safe-area-inset-left))}.workspace-navigation-footer>.account-panel{grid-template-columns:1fr}.workspace-navigation-heading .icon-button,.workspace-navigation-project .ui-select,.workspace-navigation-item{min-height:var(--control-hit-target)}}}@layer features{body,.app-shell{color:var(--color-text);background:var(--technical-page-grid);background-size:32px 32px,32px 32px,8px 8px,8px 8px}.topbar,.workspace-mobile-nav{border-color:var(--color-border);background:var(--color-shell)}.brand-mark svg,.account-card svg,.professional-heading svg,.run-state svg,.topbar-legal svg,.topbar-theme svg{color:var(--color-accent)}.brand-mark h1,.account-card strong,.admin-console,.admin-console-header h2,.admin-auth-state h2,.admin-section-heading h3,.panel-heading h2,.group-heading h2,.panel-block-summary h2,.workspace-category h3,.workspace-category h4,.metric strong,.takeoff-list>div>strong,.check-item span,.check-item strong,.result-indicator strong,.stage-overlay strong{color:var(--color-text)}.brand-mark span,.account-card span,.account-message,.admin-console-header p,.admin-console-header span,.admin-section-heading p,.panel-heading p,.field-shell,.number-field,label,.field-shell>small,.field-label small,.number-field em,.workspace-category-meta,.takeoff-list>div>small,.takeoff-list>div>span small,.result-indicator small,.stage-overlay span,.stage-overlay small,.status-box small{color:var(--color-muted)}.workspace-switcher,.account-card,.admin-console-header,.admin-auth-state,.admin-mfa-qr,.admin-mfa-secret,.admin-users-panel,.admin-editor,.admin-audit,.run-state,.topbar-menu-toggle,.topbar-install,.topbar-legal,.topbar-theme,.icon-button,.row-action,.workspace-project-save,.unit-toggle>div,.view-toggle,.connection-mode,.stage-view-switch,.control-panel-toggle,.result-panel-toggle,.control-panel-rail,.result-panel-rail,.report-button,.site-plan-document-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.site-plan-state-import,.site-plan-draw-scale,.site-plan-reference-toggle,.site-plan-side-toggle,.site-plan-tool-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button),.drawing-placement-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button),.ventilation-rotate-row :is(.ui-button,.icon-button,.row-action,.toolbar-button),.energy-body-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button),.energy-row-card,.slab-row-card,.beam-load-card,.takeoff-list>div,.check-item,.result-indicator,.evidence-grid div,.reaction-list div,.diagram,.empty-diagram{border-color:var(--color-border);color:var(--color-text);background:var(--color-card)}.control-panel,.control-panel-rail,.result-panel,.result-panel-rail{border-color:var(--color-border);background:var(--color-panel)}.model-stage,.roof-structure-stage,.roof-stage,.floor-stage,.connection-stage,.ventilation-stage,.energy-stage,.slab-stage,.drawing-stage,.site-plan-stage{background:var(--stage-grid-background);background-size:32px 32px,32px 32px,8px 8px,8px 8px}.run-state.state-error,.state-error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-accent-soft)}}@layer features{.roof-structure-viewport,.beam-viewport,.ventilation-viewport-wrap,.drawing-viewport,.site-plan-page-frame,.slab-plan-editor,.slab-solver-map,.stage-overlay div,.ventilation-stage-summary,.ventilation-stage-strip,.drawing-page-toolbar,.drawing-zoom-toolbar{border-color:var(--color-border-soft);background:color-mix(in srgb,var(--color-card) 88%,transparent);box-shadow:var(--shadow-soft)}:is(.ui-input,.ui-checkbox,.ui-file-input),.ui-select,.ui-textarea{border-color:var(--color-border);color:var(--color-text);background:linear-gradient(180deg,var(--color-card) 0%,var(--color-card-muted) 100%)}.ui-select{background:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%) right 14px center / 6px 6px no-repeat,linear-gradient(135deg,var(--color-primary) 50%,transparent 50%) right 8px center / 6px 6px no-repeat,linear-gradient(90deg,transparent calc(100% - 30px),var(--color-border-soft) calc(100% - 30px)),linear-gradient(180deg,var(--color-card) 0%,var(--color-card-muted) 100%)}:is(.ui-input,.ui-checkbox,.ui-file-input):focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--color-accent);outline-color:var(--focus-ring)}:is(.ui-input,.ui-checkbox,.ui-file-input):disabled,.ui-select:disabled,.ui-textarea:disabled,:is(.ui-button,.icon-button,.row-action,.toolbar-button):disabled{opacity:.52}.workspace-switcher :is(.ui-button,.icon-button,.row-action,.toolbar-button),.unit-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button),.connection-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button),.stage-view-switch :is(.ui-button,.icon-button,.row-action,.toolbar-button),.slab-solver-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button),.slab-solver-field-row :is(.ui-button,.icon-button,.row-action,.toolbar-button){color:var(--color-muted);background:transparent;border-color:var(--color-border-soft)}.workspace-switcher :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.unit-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.connection-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.stage-view-switch :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.slab-solver-mode :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.slab-solver-field-row :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.site-plan-draw-scale.active,.site-plan-reference-toggle.active,.site-plan-tool-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.drawing-placement-actions .drawing-add-point,.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button).active,.account-action,.professional-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.professional-upgrade,.report-button,.workspace-project-save .project-primary{border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.topbar-install:hover,.topbar-install:focus-visible,.topbar-legal:hover,.topbar-legal:focus-visible,.topbar-theme:hover,.topbar-theme:focus-visible,.icon-button:hover,.row-action:hover,.control-panel-rail:hover,.result-panel-rail:hover,.site-plan-document-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.site-plan-tool-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.ventilation-part-grid :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.ventilation-rotate-row :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.energy-body-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.drawing-placement-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-accent);background:var(--color-accent-soft)}.admin-refresh,.admin-mfa-form :is(.ui-button,.icon-button,.row-action,.toolbar-button),.admin-create-user :is(.ui-button,.icon-button,.row-action,.toolbar-button),.admin-search :is(.ui-button,.icon-button,.row-action,.toolbar-button),.admin-action-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button){border-color:var(--color-primary);color:var(--color-primary-contrast);background:var(--color-primary)}.admin-refresh:hover,.admin-mfa-form :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.admin-create-user :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.admin-search :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover,.admin-action-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button):hover{border-color:var(--color-accent);background:var(--color-accent)}.admin-action-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button).danger{border-color:var(--color-danger);background:var(--color-danger)}.admin-section-heading svg{color:var(--color-accent)}.admin-message{border-color:var(--color-accent);color:var(--color-text);background:var(--color-accent-soft)}.admin-message.error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.topbar-theme{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:var(--control-height);border-radius:var(--radius-control);padding:0 var(--space-3);font-size:var(--font-size-control);font-weight:900;cursor:pointer}.panel-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control-height);border:1px solid var(--color-primary);border-radius:var(--radius-control);padding:0 var(--space-3);color:var(--color-primary-contrast);background:var(--color-primary);font-size:var(--font-size-control);font-weight:900;cursor:pointer}.panel-action-button:hover{border-color:var(--color-accent);background:var(--color-accent)}.status-box,.rule-box,.selected-editor,.project-alert,.profile-summary-row,.profile-summary-empty{border-color:var(--color-border);color:var(--color-text);background:var(--color-card)}.rule-box span,.result-indicator span,.metric span,.context-heading span{color:var(--color-muted)}.rule-box p,.rule-box strong,.status-box p,.context-heading strong{color:var(--color-text)}.status-box svg,.context-heading svg{color:var(--color-accent)}.status-box.state-error,.check-fail,.result-indicator-warn,.result-indicator-error,.takeoff-list .result-row-warn,.takeoff-list .calculation-card-fail,.roof-structure-summary-list .summary-row-warn{border-color:var(--color-danger);background:var(--color-accent-soft)}.check-review,.collar-sizing-advice,.drawing-placement-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button).active{border-color:var(--color-accent);background:var(--color-accent-soft)}.schematic-sheet,.site-plan-sheet,.drawing-document-frame{fill:var(--document-paper);stroke:var(--document-rule)}.schematic-member line,.roof-structure-rafter{stroke:var(--document-teal)}.schematic-member.role-RidgeBeam line,.roof-structure-ridge,.roof-structure-support,.schematic-supports line,.schematic-supports rect{stroke:var(--document-ink);fill:var(--document-ink)}.schematic-openings polygon,.roof-structure-opening,.roof-structure-connection{stroke:var(--document-muted);fill:color-mix(in srgb,var(--document-muted) 22%,transparent)}}@layer responsive{.status-box.state-error{border-color:var(--color-border);color:var(--color-danger-hover);background:var(--color-card)}.status-box small{display:block;margin-top:3px;color:var(--color-muted);font-size:.76rem;font-weight:800}@media(pointer:coarse){.ui-button,.toolbar-button,.ui-segmented-option,.ui-input,.ui-number-input,.ui-select,.ui-textarea,.ui-file-input{min-width:var(--control-hit-target);min-height:var(--control-hit-target)}.icon-button,.row-action,.help-topic-button,.help-popover-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button),.control-panel-toggle,.result-panel-toggle{min-width:var(--control-hit-target);width:var(--control-hit-target);min-height:var(--control-hit-target);height:var(--control-hit-target)}.checkbox-field-label{display:inline-flex;align-items:center;min-height:var(--control-hit-target)}label:has(.ui-checkbox),label:has(.ui-file-input){min-height:var(--control-hit-target)}.control-panel-toolbar,.result-panel-toolbar{min-height:44px}}@media(max-width:1180px){.start-free{grid-template-columns:1fr;align-items:stretch}.workspace-switcher{min-width:0;flex-wrap:wrap}.workspace{--workspace-active-control-column: minmax(260px, 320px);grid-template-columns:var(--workspace-active-control-column) 1fr}.workspace.workspace-controls-collapsed{--workspace-active-control-column: var(--workspace-control-rail-column)}.workspace.workspace-results-collapsed{grid-template-columns:var(--workspace-active-control-column) 1fr}.project-view-hero,.project-view-grid,.admin-ops-grid{grid-template-columns:1fr}.project-process{grid-template-columns:repeat(2,minmax(0,1fr))}.result-panel,.result-panel-rail{grid-column:1 / -1;border-left:0;border-top:1px solid var(--color-border)}.result-panel-rail{flex-direction:row;min-height:44px}.result-panel-rail span{writing-mode:horizontal-tb;transform:none}}@media(max-width:820px){.ui-button,.icon-button,.row-action,.toolbar-button,.demo-command,.demo-shell-button{min-height:var(--control-hit-target)}.ui-input,.ui-select,.ui-file-input,.field-shell>:is(.ui-input,.ui-checkbox,.ui-file-input),.field-shell>.ui-select{min-height:var(--control-hit-target)}.checkbox-field-inline,.view-toggle{min-height:var(--control-hit-target)}.app-shell .brand-mark{min-width:var(--control-hit-target);min-height:var(--control-hit-target)}.start-hero,.start-free{padding:24px 16px}.start-brand{flex-direction:column}.start-actions,.start-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.start-submit{width:100%}.start-disclaimer,.start-legal-strip{grid-template-columns:auto 1fr}.start-legal-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button){grid-column:1 / -1;width:100%}.start-auth-heading{align-items:stretch;flex-direction:column}.free-workspace{grid-template-columns:38px 1fr;grid-template-areas:"icon title" "icon text"}.free-workspace>svg{display:none}.app-shell .topbar{height:var(--app-header-height);min-height:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;justify-content:stretch;padding:0 8px;gap:7px}.brand-mark h1,.brand-mark span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-menu-toggle{display:inline-flex}.topbar-menu{grid-column:1 / -1;display:grid;gap:12px;width:100%}.topbar-collapsed .topbar-menu{display:none}.topbar-workspace-controls{display:grid;gap:8px;width:100%}.topbar-workspace-controls .workspace-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.topbar-workspace-controls .workspace-load-unit-toggle{width:min(144px,100%);justify-self:start}.topbar-workspace-controls .workspace-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:0;min-height:var(--control-hit-target);padding:0 .7rem;font-size:.85rem;font-weight:900;line-height:1.05;white-space:normal}.run-state{min-width:0;width:100%}.topbar-install,.topbar-legal,.topbar-theme,.language-selector{width:100%;min-height:44px}.topbar-legal{padding:8px 12px}.topbar-legal span{display:inline}.workspace-switcher{width:100%;min-width:0;flex-wrap:wrap}.project-workspace{padding:14px}.project-process{grid-template-columns:1fr}.project-map-main,.project-map-children :is(.ui-button,.icon-button,.row-action,.toolbar-button),.project-bucket-list :is(.ui-button,.icon-button,.row-action,.toolbar-button){grid-template-columns:auto 1fr}.project-map-main small,.project-map-children small,.project-bucket-list small,.project-verification-chip{grid-column:2}.project-create-row,.project-create-actions,.project-actions-panel summary{align-items:stretch;flex-direction:column}.project-create-actions :is(.ui-button,.icon-button,.row-action,.toolbar-button),.project-actions-panel summary{width:100%}.building-model-gate-form{grid-template-columns:1fr}.building-model-gate{width:calc(100% - 16px);margin:10px auto max(16px,env(safe-area-inset-bottom));gap:12px;padding:16px}.module-beta-disclaimer{gap:7px;width:auto;padding:7px 9px}.module-beta-disclaimer strong,.module-beta-disclaimer span{font-size:.72rem;line-height:1.2}.building-model-gate h2{font-size:1.08rem;line-height:1.16}.building-model-gate :is(.ui-button,.icon-button,.row-action,.toolbar-button),.building-model-gate :is(.ui-input,.ui-checkbox,.ui-file-input),.building-model-gate .ui-select{min-height:var(--control-hit-target)}.building-model-gate-existing{display:grid;grid-template-columns:1fr;align-items:stretch}.building-model-gate-existing>label,.building-model-gate-existing>:is(.ui-button,.icon-button,.row-action,.toolbar-button){width:100%}.building-model-gate-footer{align-items:flex-start}.account-panel,.account-login{width:100%;max-width:none;grid-template-columns:1fr;grid-auto-flow:row;align-items:stretch}.account-card{justify-content:flex-start}.account-upgrade,.account-upgrade .account-action{width:100%}.admin-entitlements{margin:14px}.admin-console{padding:14px}.admin-console-header,.admin-auth-state,.admin-mfa-setup,.admin-mfa-form,.admin-search,.admin-create-user,.admin-form-grid,.admin-module-grid,.admin-audit-row{grid-template-columns:1fr}.admin-console-header{align-items:stretch;flex-direction:column}.admin-refresh,.admin-mfa-form :is(.ui-button,.icon-button,.row-action,.toolbar-button),.admin-create-user :is(.ui-button,.icon-button,.row-action,.toolbar-button),.admin-search :is(.ui-button,.icon-button,.row-action,.toolbar-button),.admin-action-strip :is(.ui-button,.icon-button,.row-action,.toolbar-button){width:100%}.workspace{display:flex;flex-direction:column}.workspace-with-control-footer{height:auto;min-height:100%;overflow:visible;padding-bottom:92px}.workspace-mobile-nav{position:sticky;top:0;z-index:18;order:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border-bottom:1px solid var(--color-border);padding:8px 12px;background:color-mix(in srgb,var(--color-panel) 96%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.workspace-mobile-nav :is(.ui-button,.icon-button,.row-action,.toolbar-button){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:var(--control-hit-target);border:1px solid var(--color-border);border-radius:var(--radius-panel);color:var(--color-text);background:var(--color-card);font-size:.82rem;font-weight:900;cursor:pointer}.workspace-mobile-nav :is(.ui-button,.icon-button,.row-action,.toolbar-button):focus-visible{outline:3px solid color-mix(in srgb,var(--color-warning) 28%,transparent);outline-offset:2px}.workspace-roof-structure{height:auto;min-height:100%;overflow:visible}.workspace-roof-structure .control-panel,.workspace-roof-structure .control-panel-rail,.workspace-roof-structure .result-panel,.workspace-roof-structure .result-panel-rail{height:auto}.workspace-roof-structure .model-stage{height:auto;min-height:420px}.workspace-building{height:auto;min-height:100%;overflow:visible}.workspace-building .control-panel,.workspace-building .control-panel-rail,.workspace-building .result-panel,.workspace-building .result-panel-rail{height:auto}.workspace-building .model-stage{height:auto;min-height:420px}.workspace-building .building-stage{display:flex;min-height:auto;flex-direction:column;overflow:visible;background:var(--color-panel)}.workspace-building .building-stage-viewport-frame{position:relative;order:1;width:100%;min-height:360px;height:clamp(360px,58vh,520px);overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--color-stage) 18%,transparent)}.workspace-building .building-stage-toolbar{position:static;order:3;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:8px;max-width:none;padding:10px 12px max(14px,env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--color-stage) 16%,transparent);background:var(--color-panel)}.workspace-building .building-mode-toggle,.workspace-building .building-view-toggle,.workspace-building .building-level-visibility{width:100%;box-sizing:border-box;box-shadow:none}.workspace-building .building-mode-toggle{grid-column:1 / -1}.workspace-building .building-view-toggle,.workspace-building .building-level-visibility{grid-column:span 1}.workspace-building .building-snap-toggle,.workspace-building .building-grid-toggle,.workspace-building .building-stage-toolbar .number-field{grid-column:span 1;min-width:0}.workspace-building .building-snap-toggle-shell{min-height:44px;box-sizing:border-box;justify-content:center;box-shadow:none}.workspace-building .building-stage-toolbar .number-field{display:grid;gap:3px}.workspace-building .building-level-visibility{grid-column:1 / -1;justify-content:center;overflow-x:auto}.workspace-building .building-mobile-measurements{order:2;display:flex;gap:6px;overflow-x:auto;padding:8px 12px;border-top:1px solid color-mix(in srgb,var(--color-stage) 12%,transparent);background:color-mix(in srgb,var(--color-card) 94%,transparent)}.workspace-building .building-mobile-measurements span{flex:0 0 auto;border:1px solid color-mix(in srgb,var(--color-stage) 20%,transparent);border-radius:var(--radius-panel);padding:5px 8px;color:var(--color-text);background:var(--color-card);font-size:.72rem;font-weight:850;line-height:1.1;white-space:nowrap}.workspace-building .building-mobile-measurements span[data-tone=primary]{border-color:color-mix(in srgb,var(--color-stage) 20%,transparent);color:var(--color-primary-contrast);background:var(--color-primary-hover)}.workspace-building .building-3d-measurement-layer{display:none}.workspace-building .building-feature-command-error{position:static;order:4;max-width:none;margin:10px 12px}.building-feature-dialog-backdrop{position:fixed;z-index:60;display:flex;align-items:flex-end;justify-content:center;padding:0;background:color-mix(in srgb,var(--color-stage) 34%,transparent)}.building-feature-dialog{width:100%;max-height:calc(100vh - 24px);max-height:calc(100dvh - max(12px,env(safe-area-inset-top)) - max(12px,env(safe-area-inset-bottom)));border-right:0;border-bottom:0;border-left:0;border-radius:var(--radius-panel) var(--radius-panel) var(--radius-none) var(--radius-none);padding:12px 12px 0;overflow-y:auto;box-shadow:0 -18px 42px color-mix(in srgb,var(--color-text) 24%,transparent)}.building-feature-dialog header{position:sticky;top:-12px;z-index:1;margin:-12px -12px 0;padding:12px;border-bottom:1px solid color-mix(in srgb,var(--color-stage) 14%,transparent);background:var(--color-card)}.building-feature-dialog-grid{gap:10px;padding:10px 0}.building-feature-dialog footer{position:sticky;bottom:0;margin:0 -12px;padding:10px 12px max(10px,env(safe-area-inset-bottom));border-top:1px solid color-mix(in srgb,var(--color-stage) 16%,transparent);background:color-mix(in srgb,var(--color-card) 96%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.building-feature-dialog footer :is(.ui-button,.icon-button,.row-action,.toolbar-button){flex:1 1 0;min-height:var(--control-hit-target)}.context-window.context-menu{left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));top:auto;bottom:max(12px,env(safe-area-inset-bottom));z-index:70;width:auto;max-height:min(78vh,560px);max-height:min(78dvh,560px);border-radius:var(--radius-panel);box-shadow:0 -18px 42px color-mix(in srgb,var(--color-text) 24%,transparent)}.context-window-titlebar{min-height:44px;cursor:default}.context-window-titlebar:active{cursor:default}.context-window-body{max-height:calc(78vh - 54px);max-height:calc(78dvh - 54px);padding:10px}.workspace-energy{min-height:100%}.control-panel,.control-panel-rail,.result-panel,.result-panel-rail{border:0;border-top:1px solid var(--color-border)}.model-stage{order:1}.stage-overlay{display:none}.control-panel,.control-panel-rail{order:2}.control-panel-toolbar{display:none}.workspace-control-footer{bottom:max(10px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));right:max(12px,env(safe-area-inset-right));justify-content:center}.workspace-control-footer-stack{width:min(220px,calc(100vw - 24px))}.workspace-control-footer .workspace-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-height:var(--control-hit-target)}.result-panel,.result-panel-rail{order:3}.control-panel-rail,.result-panel-rail{flex-direction:row;min-height:44px}.control-panel-rail span,.result-panel-rail span{writing-mode:horizontal-tb;transform:none}.model-stage,.workspace-with-control-footer .model-stage{min-height:420px}.icon-button,.row-action,.help-topic-button,.help-popover-heading :is(.ui-button,.icon-button,.row-action,.toolbar-button),.control-panel-toggle,.result-panel-toggle{min-width:var(--control-hit-target);width:var(--control-hit-target);min-height:var(--control-hit-target);height:var(--control-hit-target)}.result-panel-toolbar{min-height:44px}.check-row :is(.ui-input,.ui-checkbox,.ui-file-input),.view-toggle :is(.ui-input,.ui-checkbox,.ui-file-input){width:var(--control-checkbox-size);min-height:var(--control-checkbox-size);height:var(--control-checkbox-size)}.slab-plan-editor{position:relative;top:auto;left:auto;width:auto;margin:12px}.slab-plan-toolbar,.slab-plan-body{grid-template-columns:1fr}.slab-plan-toolbar{align-items:stretch;flex-direction:column}.slab-solver-map{top:72px;right:12px;left:12px;width:auto}.slab-solver-heading,.slab-solver-readout{grid-template-columns:1fr}.slab-solver-mode{overflow-x:auto}.slab-plan-select-grid,.slab-plan-field-grid,.data-row,.field-grid,.energy-scoreboard,.energy-flow,.energy-layer-row,.energy-scenario,.selected-grid,.connection-grid,.drawing-actions,.comparison-head,.comparison-row,.site-plan-entity-card,.site-plan-entity-actions,.site-plan-tool-grid,.unit-strip,.roof-layer-row,.support-row,.point-row,.metrics,.review-control-row{grid-template-columns:1fr}.row-action{width:100%;min-height:var(--control-hit-target)}.legal-overlay{justify-content:center}.legal-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px);margin:8px}.legal-dialog-header,.legal-dialog-footer{align-items:stretch;flex-direction:column}.legal-close,.legal-dialog-footer :is(.ui-button,.icon-button,.row-action,.toolbar-button){width:100%;min-height:var(--control-hit-target)}.legal-body{padding:16px}}}@layer responsive{@media(max-width:820px){.workspace-building .building-stage.is-plan{display:flex;min-height:0;flex-direction:column;overflow:visible;background:var(--technical-canvas)}.workspace-building .building-stage.is-plan .building-stage-toolbar.is-plan{position:relative;inset:auto;order:1;display:grid;width:100%;max-width:none;min-height:0;box-sizing:border-box;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch;gap:6px;overflow:visible;border:0;border-bottom:1px solid color-mix(in srgb,var(--color-text) 42%,transparent);border-radius:var(--radius-none);padding:8px;background:var(--color-panel);box-shadow:0 8px 18px color-mix(in srgb,var(--color-text) 16%,transparent)}.workspace-building .building-stage.is-plan .building-mode-toggle{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-building .building-stage.is-plan .building-mode-toggle,.workspace-building .building-stage.is-plan .building-view-toggle,.workspace-building .building-stage.is-plan .building-snap-toggle-shell{width:auto;min-width:0;min-height:42px;box-sizing:border-box;border:1px solid var(--technical-rule);background:var(--color-card)}.workspace-building .building-stage.is-plan .building-mode-toggle,.workspace-building .building-stage.is-plan .building-view-toggle{padding:3px}.workspace-building .building-stage.is-plan .building-mode-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button),.workspace-building .building-stage.is-plan .building-view-toggle :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:0;min-height:var(--control-height);padding:0 5px;font-size:.66rem;line-height:1.05;white-space:normal}.workspace-building .building-stage.is-plan .building-plan-tool-controls{display:grid;min-width:0;grid-column:1 / -1;border:1px solid var(--technical-rule);background:var(--color-card)}.workspace-building .building-stage.is-plan .building-plan-tool-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:4px}.workspace-building .building-stage.is-plan .building-plan-tool-buttons :is(.ui-button,.icon-button,.row-action,.toolbar-button){min-width:0;min-height:var(--control-hit-target);padding:0 6px}.workspace-building .building-stage.is-plan .building-plan-tool-settings{display:grid;min-width:0;grid-template-columns:minmax(0,3fr) minmax(0,2fr);border-top:1px solid var(--technical-rule);border-left:0}.workspace-building .building-stage.is-plan .building-plan-wall-type-field,.workspace-building .building-stage.is-plan .building-plan-tool-settings .number-field{width:auto;max-width:none;min-width:0;box-sizing:border-box;padding:6px}.workspace-building .building-stage.is-plan .building-plan-wall-type-field .ui-select,.workspace-building .building-stage.is-plan .building-plan-tool-settings :is(.ui-input,.ui-checkbox,.ui-file-input){width:100%;min-width:0;box-sizing:border-box}.workspace-building .building-stage.is-plan .building-view-toggle{grid-column:1 / 3;grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-building .building-stage.is-plan .building-snap-toggle,.workspace-building .building-stage.is-plan .building-grid-toggle{grid-column:span 1;justify-content:center;padding:0 5px;font-size:.65rem}.workspace-building .building-stage.is-plan .building-stage-toolbar.is-plan>.number-field{display:grid;min-width:0;grid-column:1 / -1;grid-template-columns:auto minmax(100px,1fr);align-items:center;gap:8px;border:1px solid var(--technical-rule);padding:6px 8px;background:var(--color-card)}.workspace-building .building-stage.is-plan .building-stage-toolbar.is-plan>.number-field :is(.ui-input,.ui-checkbox,.ui-file-input){width:100%;min-width:0;box-sizing:border-box}.workspace-building .building-stage.is-plan .building-stage-viewport-frame{position:relative;order:2;width:100%;height:clamp(440px,64svh,620px);min-height:440px;overflow:hidden;border-bottom:1px solid color-mix(in srgb,var(--color-card-muted) 16%,transparent)}.workspace-building .building-stage.is-plan .building-plan-level-rail{top:8px}.workspace-building .building-stage.is-plan .building-plan-editor.has-level-rail .building-plan-svg{top:78px;height:calc(100% - 124px)}.workspace-building .building-stage.is-plan .building-plan-editor:not(.has-level-rail) .building-plan-svg{top:8px;right:8px;bottom:38px;left:8px;width:calc(100% - 16px);height:calc(100% - 46px)}.workspace-building .building-stage.is-plan .building-feature-operation-status,.workspace-building .building-stage.is-plan .building-feature-command-error{position:relative;inset:auto;order:3;width:auto;max-width:none;align-self:stretch;margin:8px;box-sizing:border-box;box-shadow:none}}@media(max-width:480px){.workspace-building .building-stage.is-plan .building-plan-status{gap:5px;font-size:.61rem}.workspace-building .building-stage.is-plan .building-plan-status :is(.ui-button,.icon-button,.row-action,.toolbar-button) span{display:none}.workspace-building .building-stage.is-plan .building-plan-level-rail footer{grid-auto-columns:64px}}}
