@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/Manrope-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(/fonts/Manrope-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/SpaceGrotesk-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#10201f;--ink-hover:#22312f;--brand:#16312c;--brand-soft:#e4f0d8;--page:#f4f6f3;--paper:var(--page);--surface:#fff;--surface-sunken:#eef1ec;--ink-06:rgba(16,32,31,.06);--ink-10:rgba(16,32,31,.1);--ink-muted:rgba(16,32,31,.7);--ink-faint:rgba(16,32,31,.45);--line:#e4e8e1;--line-strong:#d3d9d0;--control-line:#7a8583;--line-dark:rgba(244,246,243,.18);--paper-muted:rgba(244,246,243,.78);--brand-muted:#8f9d97;--accent:#ff6a3d;--accent-hover:#ff8154;--accent-press:#f2552a;--accent-text:#c4522f;--acid:#d6ed72;--brand-orange:#ff7043;--focus:#667f00;--ok:#1f7a53;--ok-bg:#eaf6f0;--ok-line:#2d8c6d;--warn:#70480e;--warn-bg:#fff1dd;--warn-line:#d49931;--danger:#8d2619;--danger-bg:#ffe3dd;--danger-line:#d64d39;--status-ok:#1f7a53;--status-warn:#a96b0a;--status-bad:#c93c28;--model-wall:#4d5056;--model-frame:#767a81;--model-fitting:#2d3033;--model-louver:#3c3f44;--model-door:#5a5d63;--model-detail:#7c8086;--model-steel:#c9ced0;--model-partition:#b89257;--model-tank:#c99a4a;--model-aux:#8a9196;--model-lamp:#ffd23f;--model-engine:#628a7a;--model-alternator:#79907f;--model-radiator:#33454a;--model-exhaust:#c9ced0;--model-panel:#7c8086;--model-ats:#c06a34;--model-detector:#efeee8;--model-suppression:#b8432c;--model-extinguisher:#d1352a;--model-extinguisher-cap:#1b1e21;--model-fire-panel:#d8362b;--model-heater:#f2c53d;--model-heater-edge:#d8362b;--model-fan:#7d858c;--model-cable:#232629;--model-duct:#638e98;--model-brand:#f2f4f3;--model-selected:#d7ff39;--font:"Manrope",Inter,Arial,sans-serif;--display:"Space Grotesk","Manrope",Arial,sans-serif;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-lg:17px;--fs-hero:clamp(30px,4.2vw,48px);--track-display:-.035em;--track-title:-.02em;--track-eyebrow:.13em;--track-caps:.06em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--gap:8px;--header-h:56px;--panel-w:330px;--h-btn:36px;--h-field:34px;--pad-btn:16px;--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:22px;--r-pill:999px;--shadow-1:0 1px 2px rgba(16,32,31,.05),0 2px 8px -4px rgba(16,32,31,.1);--shadow-2:0 2px 6px rgba(16,32,31,.05),0 12px 28px -14px rgba(16,32,31,.28);--shadow-3:0 8px 20px rgba(16,32,31,.08),0 26px 50px -24px rgba(16,32,31,.36);--ease:cubic-bezier(.2,.7,.3,1);--ease-sheet:cubic-bezier(.32,.72,0,1);--dur-1:.15s;--dur-2:.22s;--dur-3:.3s;--lift:-1px;--press:.97;font-family:var(--font);color:var(--ink);background:var(--page);font-size:16px;interpolate-size:allow-keywords;-webkit-font-smoothing:antialiased}@media(max-width:700px){:root{--header-h:50px;--h-btn:44px;--h-field:44px;--gap:0px}}@media(prefers-reduced-motion:reduce){:root{--lift:0px;--press:1;--dur-1:.01ms;--dur-2:.01ms;--dur-3:.01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:var(--font)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.selection>header,.intro-card :focus-visible{--focus:var(--acid)}.opening:focus-visible,.facade-opening:focus-visible,.checks-panel article:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-12px)}}button,.download-bundle{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--h-btn);padding:0 var(--pad-btn);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);color:var(--ink);font:800 13px/1.2 var(--font);letter-spacing:.01em;text-align:center;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}button:hover:not(:disabled){background:var(--surface-sunken);border-color:var(--ink)}button:active:not(:disabled){background:var(--ink-10);transform:scale(var(--press))}button:disabled{background:var(--surface-sunken);border-color:var(--line);color:var(--ink-faint);box-shadow:none;cursor:not-allowed}.primary,.bom-copy,.download-bundle,.intro-card button{border-color:transparent;background:var(--accent);color:var(--ink);box-shadow:var(--shadow-1)}.primary:hover:not(:disabled),.bom-copy:hover:not(:disabled),.download-bundle:hover,.intro-card button:hover:not(:disabled){border-color:transparent;background:var(--accent-hover);box-shadow:var(--shadow-2);transform:translateY(var(--lift))}.primary:active:not(:disabled),.bom-copy:active:not(:disabled),.download-bundle:active,.intro-card button:active:not(:disabled){background:var(--accent-press);box-shadow:var(--shadow-1);transform:scale(var(--press))}.primary:disabled{border-color:transparent;background:var(--surface-sunken)}.primary{min-height:var(--h-btn);padding:0 20px;font-size:13px}.mode-switch button.chosen,.engineering-tabs button.chosen,.toolbar button.chosen,.incompatible button:not(.secondary){border-color:var(--ink);background:var(--ink);color:#fff}.mode-switch button.chosen:hover:not(:disabled),.engineering-tabs button.chosen:hover:not(:disabled),.toolbar button.chosen:hover:not(:disabled),.incompatible button:not(.secondary):hover:not(:disabled){border-color:var(--ink-hover);background:var(--ink-hover);color:#fff}.mode-switch button.chosen:active:not(:disabled),.engineering-tabs button.chosen:active:not(:disabled),.toolbar button.chosen:active:not(:disabled),.incompatible button:not(.secondary):active:not(:disabled){background:var(--ink);color:#fff}button.secondary{width:100%;min-height:var(--h-field);padding:4px 12px;font-size:12px}.frame-passport button:not(.secondary){min-height:30px;padding:0 12px;font-size:11px}.remove{width:100%;min-height:var(--h-field);margin-top:8px;border-color:var(--danger-line);color:var(--danger);font-size:13px}.remove:hover:not(:disabled){border-color:var(--danger);background:var(--danger-bg)}.remove:active:not(:disabled){background:var(--danger-bg)}.deep-link button,.migration button,.error button,.job button,.loading button,.fatal button,.envelope-list button,.estimate-card button{min-height:var(--h-field);padding:4px 14px;font-size:12px}.migration button{margin-left:auto;border-color:var(--warn-line);color:var(--warn)}.envelope-list button{margin-top:3px;justify-self:start}.estimate-card button{margin-top:3px}.error button,.job button{margin-left:auto;white-space:nowrap}.incompatible button{min-height:var(--h-field);padding:4px 14px;font-size:12px}.panel-title button{width:44px;min-height:44px;margin-left:6px;padding:0;border-color:transparent;background:transparent;color:var(--ink-muted);font-size:22px;font-weight:600;line-height:1}.panel-title button:hover:not(:disabled){border-color:transparent;background:var(--ink-06);color:var(--ink)}input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;height:var(--h-field);padding:0 10px;border:1px solid var(--control-line);border-radius:var(--r-xs);background:var(--surface);color:var(--ink);font:500 13px/1.3 var(--font);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),background-color var(--dur-1) var(--ease)}input:not([type=checkbox]):not([type=radio]):hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--ink)}input:focus,select:focus,textarea:focus{border-color:var(--ink)}input:disabled,select:disabled{background:var(--ink-06);color:var(--ink-faint);border-color:var(--line-strong)}input[type=checkbox],input[type=radio]{accent-color:var(--ink)}select{appearance:none;-webkit-appearance:none;padding-right:30px;text-overflow:ellipsis;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px,5px 5px;background-repeat:no-repeat}select:disabled{cursor:not-allowed}.app{display:grid;grid-template-columns:calc(var(--panel-w) + var(--gap)) minmax(0,1fr);grid-template-rows:var(--header-h) auto minmax(0,1fr);row-gap:var(--gap);width:100%;height:100vh;padding:var(--gap);background:var(--page);transition:grid-template-columns var(--dur-3) var(--ease-sheet);animation:fade-in var(--dur-3) var(--ease) backwards}.app.panel-hidden{grid-template-columns:0 minmax(0,1fr)}.app.busy aside,.app.busy .canvas{opacity:.8}.app aside,.app .canvas{transition:opacity var(--dur-2) var(--ease)}.app.offline aside input,.app.offline aside select,.app.offline aside textarea,.app.offline aside button{pointer-events:none;opacity:.48}.offline-banner{position:fixed;z-index:100;top:12px;left:50%;transform:translate(-50%);max-width:calc(100% - 24px);padding:12px 22px;border:1px solid var(--warn-line);border-radius:var(--r-pill);background:var(--warn-bg);color:var(--warn);font-weight:800;font-size:13px;line-height:1.35;text-align:center;box-shadow:var(--shadow-3);animation:drop-in var(--dur-3) var(--ease-sheet) backwards}.app>header{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-width:0;padding:0 12px 0 16px;background:var(--surface);color:var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-1)}.app>header>div:first-child{display:flex;align-items:center;gap:10px;white-space:nowrap}.brand-mark{height:30px;width:auto;flex:none;filter:brightness(0);opacity:.92}header .brand{font:800 13px/1 var(--font);letter-spacing:var(--track-caps)}.status,.save-state{display:flex;align-items:center;gap:7px;font:700 12px/1 var(--font);letter-spacing:.01em;white-space:nowrap}.save-state{margin-left:auto;color:var(--ink-muted);transition:color var(--dur-2) var(--ease)}.save-state.error{color:#b3261a}.save-state.saving{color:#7a5200}.status{padding:8px 12px;border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--ink)}.status i{width:8px;height:8px;border-radius:50%}.ok{background:var(--status-ok)}.warn{background:var(--status-warn)}.bad{background:var(--status-bad)}.revision{font:600 11px/1 var(--display);letter-spacing:.05em;color:var(--ink-muted);white-space:nowrap}.export-audience{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink-muted);font:800 10px/1 var(--font);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.export-audience select{width:auto;height:var(--h-btn);padding:0 30px 0 14px;border-color:var(--line-strong);border-radius:var(--r-pill);font:700 12px var(--font)}.auth-button{min-height:var(--h-btn);padding:0 16px;color:var(--ink);font-size:12px;letter-spacing:.04em}.app>header .primary{white-space:nowrap;flex:none}.toolbar{grid-column:1/-1;display:flex;align-items:center;gap:6px;min-width:0;overflow-x:auto;overflow-y:hidden;padding:5px 6px;scrollbar-width:thin}.tool-group,.view-group,.zoom-group{display:flex;align-items:center;gap:2px;flex:none}.tool-spacer{flex:1;min-width:8px}.toolbar button{flex:none;min-height:var(--h-btn);padding:0 8px;border-color:transparent;background:transparent;font-size:13px;font-weight:700;letter-spacing:0;white-space:nowrap}.toolbar button:hover:not(:disabled){border-color:transparent;background:var(--ink-06)}.toolbar button:disabled{border-color:transparent;background:transparent}.toolbar .panel-toggle,.toolbar .reselect{border-color:var(--line-strong);background:var(--surface)}.toolbar .reselect:hover:not(:disabled){border-color:var(--ink);background:var(--surface-sunken)}.check-dot{display:inline-block;width:8px;height:8px;margin-left:6px;border-radius:50%;vertical-align:middle;box-shadow:0 0 0 1.5px #fff}.toolbar button.chosen .check-dot{box-shadow:0 0 0 1.5px var(--ink)}.toolbar button[aria-pressed=true]:not(.chosen){background:var(--ink-10)}.toolbar .panel-toggle:first-child{width:var(--h-btn);padding:0}.view-group,.zoom-group{padding-left:8px;border-left:1px solid var(--line-strong)}.view-group button{min-width:40px}.zoom-group button:nth-child(2){min-width:56px}.view-zoom{display:flex;align-items:center;gap:6px;flex:none}aside{grid-column:1;grid-row:3;width:var(--panel-w);justify-self:start;min-width:0;min-height:0;overflow:auto;padding:0 14px 20px;scrollbar-width:thin;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-1);transition:opacity var(--dur-2) var(--ease),visibility 0s linear 0s}.panel-hidden aside{visibility:hidden;opacity:0;transition:opacity var(--dur-1) var(--ease),visibility 0s linear var(--dur-3)}.panel-title{position:sticky;top:0;z-index:3;display:flex;align-items:center;min-height:52px;margin:0 -14px 10px;padding:0 6px 0 14px;background:var(--surface);border-bottom:1px solid var(--line)}.panel-select{width:auto;min-width:0;flex:1;height:36px;border-color:transparent;background-color:transparent;padding-left:0;font:800 13px var(--font);letter-spacing:var(--track-caps);text-transform:uppercase}.panel-select:hover:not(:disabled){border-color:transparent}.panel-title span{margin-left:auto;padding:3px 9px;border-radius:var(--r-pill);background:var(--surface-sunken);color:var(--ink-muted);font:700 12px var(--font)}.panel-select+span{margin-left:8px}.panel-select+span:empty{display:none}aside>section,aside>details,aside>.next-step,aside>.migration{animation:rise-in var(--dur-2) var(--ease) backwards}section{margin:0 0 16px;padding:0}h2{margin:16px 0 8px;color:var(--ink-muted);font:800 12px/1.3 var(--font);letter-spacing:.07em;text-transform:uppercase}section:first-of-type h2{margin-top:5px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:7px 9px}label{display:grid;gap:5px;margin:8px 0;color:var(--ink-muted);font:700 12px/1.3 var(--font)}.check{grid-template-columns:18px 1fr;align-items:center;gap:8px;font-weight:500;font-size:13px;color:var(--ink)}.check input{width:18px;height:18px}.form{margin-top:8px}.hint{margin:8px 0;color:var(--ink-muted);font-size:12px;line-height:1.45}.field-label{display:inline-flex;align-items:center;gap:6px}.field-hint{position:relative;display:inline-flex}label:has(.field-hint){position:relative}label .field-hint{position:static}.grid>label:nth-child(2n) .field-hint-box{left:auto;right:0}.field-hint-mark{position:relative;width:18px;min-height:18px;height:18px;padding:0;border-radius:50%;border-color:var(--control-line);color:var(--ink-muted);font-size:11px;font-weight:800;line-height:1;cursor:help}.field-hint-mark:after{content:"";position:absolute;inset:-13px}.field-hint-mark:hover:not(:disabled){border-color:var(--ink);background:var(--surface-sunken);color:var(--ink)}.field-hint-box{position:absolute;bottom:calc(100% + 8px);left:0;z-index:30;display:block;width:270px;max-width:calc(min(var(--panel-w),88vw) - 28px);padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--shadow-3);color:var(--ink-muted);font-size:12px;font-weight:500;line-height:1.5;text-transform:none;white-space:normal;opacity:1;visibility:visible;transform:none;transform-origin:left bottom;transition:opacity var(--dur-1) var(--ease),transform var(--dur-2) var(--ease),visibility 0s linear 0s}.field-hint-box[hidden]{display:block;opacity:0;visibility:hidden;transform:translateY(4px) scale(.98);pointer-events:none;transition:opacity var(--dur-1) var(--ease),transform var(--dur-2) var(--ease),visibility 0s linear var(--dur-2)}.metrics{display:flex;gap:6px;margin-top:8px}.metrics span{flex:1;min-width:0;padding:9px 10px;border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--ink-muted);font-size:12px}.metrics b{display:block;margin-top:3px;color:var(--ink);font:700 14px var(--display);letter-spacing:var(--track-title);font-variant-numeric:tabular-nums}.transport{margin:0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-sunken);font-size:13px;line-height:1.5}.facade-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.next-step{margin:0 0 10px;padding:9px 12px;border-radius:var(--r-sm);background:var(--brand-soft);color:var(--ink);font-size:12px;font-weight:700;line-height:1.4}details{margin:9px 0;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);transition:border-color var(--dur-1) var(--ease)}details:hover{border-color:var(--control-line)}summary{cursor:pointer;padding:10px 12px;border-radius:var(--r-sm);color:var(--ink);font-size:13px;font-weight:800;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"";display:inline-block;width:6px;height:6px;margin:0 10px 2px 2px;vertical-align:middle;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform var(--dur-2) var(--ease)}details[open]>summary:before{transform:rotate(45deg)}details>.form,details>.air-results{margin:0;padding:6px 12px 12px}@supports selector(::details-content){details::details-content{block-size:0;overflow:clip;transition:block-size var(--dur-2) var(--ease),content-visibility var(--dur-2) allow-discrete}details[open]::details-content{block-size:auto}}.air-results{display:grid;grid-template-columns:1fr 1fr;gap:6px}.air-results span{min-width:0;padding:8px;border-radius:var(--r-xs);background:var(--surface-sunken);color:var(--ink-muted);font-size:12px;line-height:1.3}.air-results b{display:block;margin-top:3px;color:var(--ink);font:700 14px var(--display);overflow-wrap:anywhere}.engine-catalog{padding:0 12px 12px}.catalog-note,.catalog-warning,.catalog-danger{margin:8px 0;padding:10px 12px;border-radius:var(--r-sm);font-size:12px;line-height:1.45}.catalog-note{background:var(--ok-bg);color:var(--ok)}.option-note{display:block;margin-top:2px;font-size:12px;font-weight:400;line-height:1.35;color:var(--ink-muted)}.catalog-warning{background:var(--warn-bg);color:var(--warn)}.catalog-danger{background:var(--danger-bg);color:var(--danger);box-shadow:inset 3px 0 0 var(--danger-line);font-weight:700}.catalog-summary{display:grid;gap:3px;margin-top:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-sunken);font-size:12px}.catalog-summary b{color:var(--ink);font:700 14px var(--display);letter-spacing:var(--track-title)}.catalog-summary span{color:var(--ink-muted)}.measurement-list{display:grid;gap:6px;margin-top:8px}.measurement-list article{display:grid;grid-template-columns:1fr auto;gap:3px 6px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:12px}.measurement-list article small,.measurement-list article a{grid-column:1/-1;overflow-wrap:anywhere}.measurement-list article a,.envelope-list article a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.envelope-catalog{margin-top:8px}.envelope-list{display:grid;gap:6px;padding:0 12px 12px}.envelope-list article{display:grid;gap:3px;padding:9px 10px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);font-size:12px}.envelope-list article b{font-size:13px}.envelope-list article span{color:var(--ink-muted);overflow-wrap:anywhere}.envelope-list article small{padding:7px 8px;border-radius:var(--r-xs);background:var(--warn-bg);color:var(--warn);line-height:1.35}.envelope-list article.envelope-tall{box-shadow:inset 3px 0 0 var(--warn-line)}.estimate-card{display:grid;gap:6px;margin-top:8px;padding:10px 12px;border:1px solid var(--warn-line);border-radius:var(--r-sm);background:var(--warn-bg);font-size:12px}.estimate-card small{line-height:1.35}.migration{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 12px;border-radius:var(--r-sm);background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn-line);font-size:12px}.selection-id{margin-top:8px;color:var(--ink-muted);font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.opening-dimensions{display:grid;gap:4px;margin-top:8px;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-sunken);font-size:12px}.opening-dimensions b{display:block;color:var(--ink)}.empty-note{padding:12px;border-radius:var(--r-sm);background:var(--surface-sunken);color:var(--ink-muted);font-size:13px}.layout-warning{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:9px 12px;border-radius:var(--r-sm);background:var(--warn-bg);box-shadow:inset 3px 0 0 var(--warn-line);color:var(--warn);font-size:12px;cursor:pointer;transition:filter var(--dur-1) var(--ease)}.layout-warning:hover{filter:brightness(.97)}.requirement-card,.standard-list{display:grid;gap:6px;margin:8px 0;padding:10px 12px;border-radius:var(--r-sm);background:var(--surface-sunken);font-size:12px;line-height:1.35}.requirement-card{box-shadow:inset 3px 0 0 var(--warn-line)}.requirement-card b{color:var(--warn)}.body-fit-note{font-size:11px;line-height:1.4;color:var(--ink-muted)}.body-fit-note p{margin:6px 0}.body-fit-note details{margin-bottom:8px}.options-grid{display:grid;gap:6px;padding:8px 8px 10px}.incompatible-need{padding:8px 10px;border-radius:var(--r-xs);background:var(--warn-bg);color:var(--warn)}.frame-vector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.frame-vector input{padding:5px;min-width:0}.frame-actions{display:flex;flex-wrap:wrap;gap:6px}.frame-result{display:grid;gap:2px;padding:6px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.frame-result span{font-variant-numeric:tabular-nums}.frame-result ul{padding-left:17px;margin:0}.frame-save{padding:8px 0}.frame-save p{font-size:12px}.frame-passport details>summary{font-size:12px}.engineering-panel{font-size:12px;line-height:1.4}.engineering-tabs{display:flex;gap:6px;position:sticky;top:52px;z-index:2;background:var(--surface);padding:6px 0}.engineering-tabs button{flex:1;min-height:var(--h-field);padding:0 8px;font-size:12px}.engineering-fields{padding:4px 12px 12px;min-width:0}.engineering-fields p{margin:6px 0;overflow-wrap:anywhere}.engineering-fields a{overflow-wrap:anywhere;color:var(--ink)}.engineering-entry summary{line-height:1.4;overflow-wrap:anywhere}.engineering-entry summary small{display:block;font-weight:400;color:var(--ink-muted);margin-bottom:3px}.engineering-check{padding:8px 0;border-top:1px solid var(--line)}.engineering-check b,.engineering-check span{display:block}.engineering-check span{font-size:11px;color:var(--warn)}.engineering-check p{font-size:12px;color:var(--ink-muted)}.engineering-panel input[aria-invalid=true]{border-color:var(--danger-line)}.engineering-panel label small[role=alert]{color:var(--danger)}.checks-panel article{border-radius:var(--r-sm);box-shadow:inset 3px 0 0 var(--line-strong);padding:9px 10px 9px 13px;margin:6px 0;background:var(--surface-sunken)}.checks-panel article.pass{box-shadow:inset 3px 0 0 var(--ok-line)}.checks-panel article.fail{box-shadow:inset 3px 0 0 var(--danger-line);background:var(--danger-bg)}.checks-panel article.unknown{box-shadow:inset 3px 0 0 var(--warn-line)}.checks-panel article.actionable{cursor:pointer;transition:filter var(--dur-1) var(--ease)}.checks-panel article.actionable:hover{filter:brightness(.97)}.checks-panel article span,.checks-panel .check-group summary span{font:700 12px/1.3 var(--font)}.checks-panel .rule-code{margin-left:6px;color:var(--ink-muted);font:500 10px ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.checks-panel article b,.checks-panel .check-group summary b{float:right;font-size:12px}.checks-panel .check-components{display:block;clear:both;padding-top:5px;color:var(--ink-muted);font-size:12px;font-weight:700;line-height:1.35}.checks-panel article p{clear:both;margin:5px 0 0;font-size:12px;line-height:1.4}.checks-panel .check-group{margin:6px 0;border:0;background:transparent}.checks-panel .check-group>summary{padding:9px 10px 9px 13px;border-radius:var(--r-sm);box-shadow:inset 3px 0 0 var(--ok-line);background:var(--surface-sunken)}.checks-panel .check-group>article{margin-left:10px}.check-status-help{display:block;clear:both;padding-top:5px;font-size:12px}.bom-panel table{width:100%;border-collapse:collapse;font-size:12px}.bom-panel th,.bom-panel td{text-align:left;border-bottom:1px solid var(--line);padding:8px 3px}.bom-panel th:last-child,.bom-panel td:last-child{text-align:right}.bom-panel th:nth-child(2),.bom-panel td:nth-child(2),.bom-panel th:nth-child(3),.bom-panel td:nth-child(3){text-align:right}.bom-panel small{display:block;color:var(--ink-muted);margin-top:3px}.bom-toolbar{display:grid;gap:8px;margin:10px 0}.bom-toolbar label{display:grid;gap:5px;font-size:12px;font-weight:700}.bom-copy-fallback textarea{width:100%;height:auto;min-height:130px;padding:8px 10px;font:11px/1.4 ui-monospace,monospace}.bom-found{margin:0;color:var(--ink-muted);font-size:12px}.bom-copy{min-height:var(--h-field);font-size:12px}.bom-section{margin:8px 0}.bom-section>summary{font-size:12px;font-weight:700}.bom-mass{font-variant-numeric:tabular-nums}.mass-panel details{margin:6px 0}.mass-panel summary{color:var(--ink);font-size:12px;font-weight:700}.mass-line{display:flex;justify-content:space-between;gap:8px;margin:3px 0;font-size:12px;line-height:1.35}.mass-line span{min-width:0;color:var(--ink-muted);overflow-wrap:anywhere}.mass-line b{color:var(--ink);white-space:nowrap;font:700 12px var(--display);font-variant-numeric:tabular-nums}.workspace{grid-column:2;grid-row:3;display:grid;grid-template-rows:minmax(0,1fr) auto;min-width:0;min-height:0;overflow:hidden;background:transparent}.canvas{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:auto;padding:14px;border-radius:var(--r-md);background:var(--surface-sunken)}.view-stage{grid-row:2;width:100%;height:100%;min-width:360px;min-height:300px;display:grid;place-items:center;transform-origin:center center;transition:transform var(--dur-2) var(--ease)}.plan,.facade,.plan-interactions{display:block;grid-area:1/1;width:100%;height:100%;max-width:100%;max-height:100%}.plan,.facade{background:var(--surface);border-radius:var(--r-sm);box-shadow:var(--shadow-2);animation:fade-in var(--dur-2) var(--ease) backwards}.plan-interactions{z-index:1;pointer-events:none}.plan-interactions .opening{pointer-events:auto}.print-header{display:none}.preview3d-wrap{position:relative;width:100%;height:100%;min-height:300px;border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--shadow-2)}.preview3d{width:100%;height:100%}.preview-controls{position:absolute;left:12px;bottom:12px;display:flex;align-items:center;gap:8px}.preview-badge{padding:8px 12px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--ink) 91%,transparent);color:#fff;font:700 11px/1 var(--font);letter-spacing:.02em;position:static;pointer-events:none}.preview3d-fallback{position:absolute;inset:0;display:grid;grid-template-rows:minmax(0,1fr) auto auto;place-items:center;gap:6px;padding:24px;background:var(--surface);color:var(--ink);font-size:12px;line-height:1.45;text-align:center}.view-fallback{display:block;width:100%;height:100%;min-height:0;object-fit:contain;border-bottom:2px solid var(--acid);background:var(--surface)}.preview3d-fallback b{font-size:15px}.preview3d-fallback p{margin:0;max-width:520px}.error,.notice,.job{display:flex;align-items:center;gap:10px;margin:var(--gap) 0 0;padding:12px 14px;border-radius:var(--r-md);background:var(--danger-bg);box-shadow:inset 3px 0 0 var(--danger-line),var(--shadow-1);font-size:12px;line-height:1.45;animation:rise-in var(--dur-3) var(--ease-sheet) backwards}.error span{min-width:0;overflow-wrap:anywhere}.notice,.job{background:var(--ok-bg);box-shadow:inset 3px 0 0 var(--ok-line),var(--shadow-1)}.job{flex-wrap:wrap}.job>b{flex-basis:100%;font-size:13px}.job a{color:var(--ink);font-weight:800;text-underline-offset:3px}.job .download-bundle{padding:0 20px;min-height:40px;font-size:14px;text-decoration:none}.job p{margin:3px 0}.job .export-separate{flex-basis:100%}.export-separate{display:flex;gap:12px;flex-wrap:wrap}.export-error{color:var(--danger)}.incompatible,.auth-card,.intro-card{border:0;border-radius:var(--r-lg);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-3);animation:pop-in var(--dur-3) var(--ease-sheet) backwards}.is-closing{animation:pop-out var(--dur-2) var(--ease) forwards;pointer-events:none}@keyframes pop-out{to{opacity:0;transform:translateY(6px) scale(.98)}}.auth-card.is-closing{animation-name:pop-out-top}@keyframes pop-out-top{to{opacity:0;transform:translateY(-6px) scale(.98)}}.auth-card{position:fixed;right:12px;top:calc(var(--header-h) + var(--gap) + 6px);z-index:50;width:min(380px,92vw);display:grid;gap:10px;padding:18px 20px;font-size:12px;line-height:1.5;text-align:left;transform-origin:top right}.auth-card b{font:800 14px/1.3 var(--font)}.auth-card p{margin:0;color:var(--ink-muted)}.auth-form{display:grid;gap:8px}.auth-form label{margin:0;font-size:12px}.auth-error{margin:0;padding:8px 10px;border-radius:var(--r-xs);box-shadow:inset 3px 0 0 var(--danger-line);background:var(--danger-bg);color:var(--danger);font-weight:700}.auth-sets{margin:0;padding-left:16px;display:grid;gap:6px}.auth-sets li{color:var(--ink-muted)}.auth-sets b{display:block;color:var(--ink);font-size:12px}@keyframes pop-in-top{0%{opacity:0;transform:translateY(-8px) scale(.98)}}.auth-card:not(.is-closing){animation-name:pop-in-top}.incompatible{position:fixed;left:0;right:0;top:calc(var(--header-h) + var(--gap) * 2 + 40px);z-index:40;display:grid;gap:8px;width:min(560px,calc(100vw - 24px));margin:0 auto;padding:16px 20px;box-shadow:inset 4px 0 0 var(--danger-line),var(--shadow-3);font-size:12px;line-height:1.5}.incompatible b{font:800 14px/1.3 var(--font);color:var(--danger)}.incompatible p{margin:0}.incompatible-actions{display:flex;flex-wrap:wrap;gap:8px}.incompatible-actions button{flex:none}.intro-layer{position:fixed;inset:0;z-index:60;display:grid;place-items:start center;padding:10vh 16px;pointer-events:none}.is-modal-open{overflow:hidden}.intro-layer:before{content:"";position:absolute;inset:0;background:#0a1b178f;animation:fade-in var(--dur-3) var(--ease) backwards}.intro-layer.is-closing{animation:none;pointer-events:none}.intro-layer.is-closing:before{opacity:0;transition:opacity var(--dur-2) var(--ease)}.intro-card{position:relative;width:min(620px,100%);padding:28px;pointer-events:auto}.intro-layer .intro-card.is-closing{animation-name:pop-out}.intro-card h2{margin:0 0 18px;color:var(--ink);font:800 26px/1.05 var(--display);letter-spacing:var(--track-display);text-transform:none}.intro-card ol{display:grid;gap:14px;margin:0 0 18px;padding-left:28px}.intro-card li{padding-left:4px}.intro-card li::marker{font-weight:800}.intro-card li b,.intro-card li span{display:block}.intro-card li span{margin-top:2px;font-size:13px;color:var(--ink-muted)}.intro-card button{min-height:48px;padding:0 28px;font-size:14px}.intro-terms{margin:0 0 16px;padding:12px 14px;border-radius:var(--r-sm);background:var(--brand-soft);font-size:12px;line-height:1.5}.loading,.fatal{min-height:100vh;display:grid;place-content:center;text-align:center;max-width:720px;margin:auto;padding:24px}.mark{width:58px;height:58px;display:grid;place-items:center;margin:auto;border-radius:var(--r-md);background:var(--ink);color:var(--acid);font:800 16px var(--font)}.mark-caption{max-width:360px;margin:10px auto 0;color:var(--ink-muted);font:500 12px/1.45 var(--font)}.mark-caption b{display:block;color:var(--ink);font-weight:800;letter-spacing:var(--track-caps);text-transform:uppercase;font-size:11px}.loading-actions{display:flex;justify-content:center;gap:8px}.loading button,.fatal button{padding:8px 18px}.noscript-notice{display:block;max-width:720px;margin:24px auto;padding:20px;text-align:center;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--surface)}.noscript-notice p{margin:0 0 10px}.noscript-notice a{color:var(--ink);font-weight:700}.outer{fill:var(--ink-06);stroke:var(--ink);stroke-width:4}.inner{fill:var(--surface);stroke:var(--ink);stroke-width:2}.equipment{fill:#69b49e;stroke:#144b3d;stroke-width:3}.equipment+line,.equipment+line+line{stroke:#173d33;stroke-width:2}.equipment~text{fill:var(--ink);font-size:11px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.opening rect,.opening-visual rect{fill:#e6573f;stroke:#9c2e1e;stroke-width:2;cursor:ew-resize;touch-action:none}.opening.end rect,.opening-visual.end rect{cursor:pointer}.opening.selected rect,.opening-visual.selected rect{stroke:#125ee8;stroke-width:5}.svg-title{font-size:17px;font-weight:800;fill:var(--ink)}.svg-meta{font-size:10px;fill:var(--ink)}.dim{stroke:var(--ink);stroke-width:1}.dimtext{font-size:13px;fill:var(--ink)}.hash{font:11px ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace;fill:var(--ink-muted)}.facade-labels text{font-size:10px;font-weight:800;letter-spacing:.08em;fill:var(--ink-muted)}.fuel line{stroke:#d78b1f;stroke-width:5;stroke-dasharray:8 5}.fuel text{fill:var(--ink);font-size:10px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.facade-wall{fill:var(--surface);stroke:var(--ink);stroke-width:3}.facade .brand-mark{opacity:.32;pointer-events:none;filter:none}.frame-zone,.column rect{fill:var(--line-strong);opacity:.6}.frame-zone.collision,.column.collision rect{fill:#ef4e39;opacity:.8}.facade-opening{cursor:move;touch-action:none}.facade-opening rect{fill:#66aa96;stroke:#164d3f;stroke-width:3}.facade-opening text{font-size:10px;font-weight:800;fill:var(--ink);pointer-events:none}.facade-opening.selected rect{stroke:#125ee8;stroke-width:6}.facade-opening.collision rect{fill:#ff6b55;stroke:#b32213;stroke-width:5}.facade-opening.selected.collision rect{stroke:#8b160a;stroke-dasharray:10 5}.facade-opening.collision text{fill:var(--ink)}.facade-empty text:first-child{font-size:15px;font-weight:800;fill:var(--ink)}.facade-empty text:last-child{font-size:11px;fill:var(--ink-muted)}.diffuser polygon{fill:#73949e66;stroke:#496a74;stroke-width:2}.diffuser text{fill:var(--ink);font-size:8px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.facade-opening.grille>rect{fill:#78938c}.grille-detail line{stroke:#263b36;stroke-width:4;pointer-events:none}.door-detail line{stroke:#173d33;stroke-width:4;pointer-events:none}.door-detail circle{fill:#dbe2df;stroke:#173d33;stroke-width:2;pointer-events:none}.facade-interior{pointer-events:none}.dgu-projection rect{fill:#5888b01f;stroke:#426f91;stroke-width:1.5;stroke-dasharray:7 4}.dgu-projection line{stroke:#426f91;stroke-width:2;stroke-dasharray:7 4}.dgu-projection text{fill:var(--ink);font-size:10px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.fuel-projection rect{fill:#daae4824;stroke:none}.fuel-projection line{stroke:#ad7817;stroke-width:2;stroke-dasharray:8 4}.fuel-projection text,.fuel-behind-label{fill:var(--ink);font-size:9px;font-weight:800;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.fuel-tank rect{fill:#e9c98a;stroke:#8a6420;stroke-width:2;opacity:.9}.facade-opening text{paint-order:stroke;stroke:#f8faf8;stroke-width:4px;stroke-linejoin:round}.opening-visual.collision rect{fill:#ff6b55;stroke:#b32213;stroke-width:4}.aux rect{fill:#f0a23a66;stroke:#c1741a;stroke-width:2}.aux-ceiling rect{fill:#f0a23a33;stroke-dasharray:5 3}.aux text{fill:var(--ink);font:700 9px ui-sans-serif,system-ui;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.selection{max-width:956px;margin:0 auto;padding:16px 16px 48px;height:100vh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}.selection>*{animation:rise-in var(--dur-3) var(--ease) backwards}.selection>:nth-child(2){animation-delay:40ms}.selection>:nth-child(3){animation-delay:80ms}.selection>:nth-child(4){animation-delay:.12s}.selection>:nth-child(5){animation-delay:.16s}.selection>:nth-child(n+6){animation-delay:.2s}.selection>header{position:static;display:flex;align-items:flex-start;gap:24px;margin:0 0 16px;padding:32px 32px 30px;border-radius:var(--r-lg);background:var(--ink);color:#fff;box-shadow:var(--shadow-2);background-image:repeating-linear-gradient(102deg,rgba(255,255,255,.05) 0 1px,transparent 1px 56px),repeating-linear-gradient(12deg,rgba(255,255,255,.035) 0 1px,transparent 1px 56px)}.hero-mark{width:84px;height:auto;flex:none;margin-top:2px}.hero-copy{min-width:0}.selection .brand,.selection>header .brand{margin:0 0 12px;color:#bdd0c6;font:800 11px/1 var(--font);letter-spacing:var(--track-eyebrow)}.selection>header h1{margin:0 0 12px;color:#fff;font:800 var(--fs-hero)/1.02 var(--display);letter-spacing:var(--track-display)}.selection>header .hero-lead{max-width:640px;margin:0;color:var(--paper-muted);font-size:15px;line-height:1.55}.hero-badges{margin-left:auto;display:grid;gap:8px;justify-items:end;flex:none}.selection>header .auth-button{border-color:#f4f6f366;background:transparent;color:#fff}.selection>header .auth-button:hover:not(:disabled){border-color:#fff;background:#ffffff1a;color:#fff}.selection>header .auth-button:active:not(:disabled){background:#ffffff2e}.selection-notice{margin:0 0 12px}.deep-link{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-bottom:16px;padding:16px 20px;border:1px solid var(--line-strong);border-radius:var(--r-md);background:var(--brand-soft);box-shadow:var(--shadow-1)}.deep-link-text{flex:1 1 320px;min-width:0;margin:0;color:var(--ink);font-size:14px;line-height:1.5;overflow-wrap:anywhere}.deep-link-text p{margin:0}.deep-link-text p+p{margin-top:4px}.deep-link-text .catalog-warning{margin:8px 0 0}.deep-link button{background:var(--surface);min-height:40px;font-size:13px}.mode-switch{display:inline-flex;gap:4px;margin-bottom:16px;padding:4px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1)}.mode-switch button{min-height:40px;padding:0 20px;border-color:transparent;background:transparent;font-size:13px}.mode-switch button:hover:not(:disabled):not(.chosen){border-color:transparent;background:var(--ink-06)}.selection-form{display:grid;gap:12px;padding:28px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}.selection-form label{display:grid;gap:6px;margin:0;color:var(--ink-muted);font:700 12px/1.3 var(--font)}.selection-form label.check{display:flex;gap:10px;align-items:center;min-height:36px;color:var(--ink);font-size:14px;font-weight:500;letter-spacing:0}.selection-form label.check input{width:18px;height:18px;flex:none}.selection-form select,.selection-form input[type=number],.selection-form input[type=text],.selection-form input:not([type]){height:44px;padding:0 14px;border-radius:var(--r-sm);font-size:15px}.selection-form select{padding-right:36px;background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%}.selection-form summary{font-size:14px}.selection-form .catalog-note,.selection-form .catalog-warning,.selection-form .catalog-danger{margin:0;padding:12px 14px;font-size:13px}.selection-form button.primary{justify-self:start;margin-top:8px;min-height:48px;padding:0 28px;font-size:14px}.selection-result{margin-top:16px;display:grid;gap:10px}.selection-result details{border-radius:var(--r-md);box-shadow:var(--shadow-1)}.selection-result p{margin:8px 12px;font-size:13px;line-height:1.5}.legal-footer{padding:16px 4px 4px;border-top:1px solid var(--line-strong);color:var(--ink-muted);font-size:11px;line-height:1.5}.legal-footer p{margin:0;max-width:960px}.legal-footer.compact{margin-top:var(--gap);padding:6px 14px;border:0;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);font-size:11px;line-height:1.4}.legal-footer.compact summary{padding:6px 0;border-radius:var(--r-xs);list-style:none;color:var(--ink-muted);font-weight:500}.legal-footer.compact summary:before{display:none}.legal-footer.compact details,.legal-footer.compact details:hover{margin:0;border:0;background:transparent}.legal-footer.compact p{margin:4px 0 8px;max-width:960px}.legal-links{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:6px}.legal-links a{display:inline-flex;min-height:44px;align-items:center;color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}.legal-links a:hover{color:var(--brand)}@media(min-width:701px)and (max-width:1560px){.toolbar{flex-wrap:wrap;row-gap:2px;overflow-x:visible}.view-zoom{margin-left:auto}}@media(max-width:1280px){.revision{display:none}}@media(max-width:1100px){.app>header{gap:10px}.app>header:has(.export-audience) .brand{display:none}}@media(max-width:980px){:root{--panel-w:280px}.brand{font-size:13px}.revision{display:none}.toolbar button{padding:0 9px}.grid{grid-template-columns:1fr}.view-stage{min-width:700px}}@media(min-width:821px){.hero-copy{border-left:2px solid rgba(214,237,114,.32);padding-left:22px}}@media(max-width:820px){.selection>header{flex-wrap:wrap;gap:16px;padding:24px 20px}.hero-mark{width:56px}.hero-badges{margin-left:0;justify-items:start;grid-auto-flow:column;grid-auto-columns:max-content}}@media(max-width:979px){.selection{width:100%;max-width:100%;padding-right:var(--space-3);padding-left:var(--space-3)}.selection>header{min-width:0}.selection>header>*{min-width:0}.hero-copy,.hero-copy p,.hero-badges{max-width:100%;overflow-wrap:anywhere}.mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.mode-switch button{min-width:0;min-height:44px;padding:var(--space-2);white-space:normal;overflow-wrap:anywhere}.deep-link button{min-height:44px;white-space:normal}.selection-form{min-width:0;width:100%;padding:20px;overflow-wrap:anywhere}.selection-form>*{min-width:0;max-width:100%}.selection-form label{min-width:0;font-size:var(--fs-md)}.selection-form select,.selection-form input[type=number],.selection-form input[type=text],.selection-form input:not([type]){min-width:0;max-width:100%;height:44px;font-size:16px}.selection-form label.check{min-height:44px;white-space:normal}.selection-form label.check input{width:20px;height:20px;flex:none}.selection-form details>summary{min-height:44px;font-size:var(--fs-md);overflow-wrap:anywhere}.selection-form button.primary{justify-self:stretch;min-height:48px;margin-left:0;padding:var(--space-2) var(--space-3);font-size:16px;white-space:normal}.intro-layer{padding:var(--space-4);align-items:start}.intro-card{max-height:calc(100vh - 2 * var(--space-4));max-height:calc(100dvh - 2 * var(--space-4));overflow-y:auto;overscroll-behavior:contain}.intro-card button{min-height:44px}.app>header{min-width:0;gap:var(--space-1);padding-right:var(--space-2);padding-left:var(--space-2)}.app>header>div:first-child{min-width:0}.app>header .brand,.app>header .revision{display:none}.app>header .brand-mark{width:auto;height:26px}.app>header .save-state,.app>header .status{display:none}.app>header .export-audience{min-width:0;flex:0 1 132px}.app>header .export-audience select{width:100%;min-width:0;height:44px;font-size:16px}.app>header .primary{min-width:0;height:44px;flex:1 1 150px;margin-left:0;padding:0 var(--space-2);white-space:normal}.app>header .auth-button{min-width:44px;height:44px;padding:0 var(--space-2);flex:none}.job{min-width:0}.job .export-downloads,.job .export-separate{min-width:0;width:100%}.job .export-separate{gap:var(--space-2)}.job a,.job .download-bundle{display:inline-flex;align-items:center;min-height:44px;padding:var(--space-2);overflow-wrap:anywhere}}@media(max-width:520px){.selection>header{gap:var(--space-3);padding:20px 16px}.hero-mark{width:44px}.hero-copy{flex:1 1 calc(100% - 56px)}.selection>header h1{font-size:28px}.hero-badges{width:100%;grid-template-columns:minmax(0,1fr) auto;grid-auto-flow:row;align-items:start}.hero-badges .auth-button{grid-column:2;grid-row:1 / span 2;min-width:44px;min-height:44px}.intro-card{padding:var(--space-5)}.intro-card h2{font-size:22px}.intro-card ol{gap:var(--space-2);margin-bottom:var(--space-3)}.app>header .brand-mark{height:22px}.app>header .export-audience{flex-basis:98px}.app>header .primary{flex-basis:122px;font-size:var(--fs-2xs)}header .save-state{display:none}.toolbar{gap:4px}.view-group button{min-width:36px;padding:0 6px}.zoom-group button{padding:0 6px}.zoom-group button:nth-child(2){min-width:48px}}@media(max-width:700px){.app,.app.panel-hidden{position:relative;display:block;grid-template-columns:minmax(0,1fr);padding:106px 0 0}.app>header{position:fixed;top:0;left:0;right:0;z-index:20;height:var(--header-h);border-radius:0;box-shadow:var(--shadow-1)}.app>.toolbar{position:fixed;top:var(--header-h);left:0;right:0;z-index:15;height:56px;padding:6px 8px 6px 12px;background:var(--page);border-bottom:1px solid var(--line)}.tool-spacer{display:none}.tool-group{display:flex}.primary{margin-left:auto;font-size:12px;padding:0 12px}.save-state{margin-left:0}.status{display:none}aside{position:fixed;z-index:10;top:106px;bottom:0;left:0;width:min(340px,88vw);grid-column:auto;grid-row:auto;border-radius:0 var(--r-lg) var(--r-lg) 0;box-shadow:22px 0 60px #0918144d;padding:0 14px 20px;transition:transform var(--dur-3) var(--ease-sheet),visibility 0s linear 0s}.panel-hidden aside{transform:translate(-102%);visibility:hidden;opacity:1;transition:transform var(--dur-3) var(--ease-sheet),visibility 0s linear var(--dur-3)}.workspace{display:block;grid-column:1;grid-row:3}.canvas{padding:8px;border-radius:0}.panel-title{min-height:52px}.panel-select{height:44px;min-height:44px;font-size:16px;line-height:normal}aside section select,aside section input:not([type=checkbox]):not([type=radio]){min-height:44px;font-size:16px;line-height:normal}.field-hint-mark{width:24px;min-height:24px;height:24px}.field-hint-mark:after{inset:-10px}.check{min-height:44px}summary{min-height:44px;display:flex;align-items:center}.incompatible-actions button{min-height:44px}.error,.notice,.job{margin:8px 8px 0}.plan,.facade,.preview3d-wrap{box-shadow:none;border-radius:0}.legal-footer.compact{margin:8px}.job{position:relative;z-index:20}.auth-card{right:8px;top:calc(var(--header-h) + 6px)}.incompatible{inset:auto 8px 8px;width:auto;margin:0;max-height:64vh;overflow-y:auto}.export-audience span{display:none}.export-audience select{min-width:9.5em}.toolbar button{min-height:44px;min-width:44px}}@media(max-width:700px),(max-height:560px){html,body,#root{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.app,.app.panel-hidden{height:auto;min-height:100vh;min-height:100dvh}.workspace{min-height:70vh}.canvas{min-height:70vh;overflow-x:auto;overflow-y:visible}.selection{height:auto;min-height:100vh;min-height:100dvh;overflow:visible}}@page{size:A4 landscape;margin:10mm}@media print{html,body,#root{width:auto;height:auto;overflow:visible;background:#fff}.app,.app.panel-hidden{display:block;width:100%;height:auto;padding:0;background:#fff;animation:none}header,.toolbar,aside,.preview-badge,.notice,.error,.job,button{display:none!important}.workspace{display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:180mm;overflow:visible}.print-header{display:block;margin:0 0 4mm;color:var(--ink);font:800 11pt/1.2 var(--font);letter-spacing:.04em}.canvas{display:block;width:100%;height:165mm;overflow:visible;padding:0;border-radius:0;background:#fff}.view-stage{display:grid;width:100%;height:100%;min-width:0;min-height:0;transform:none!important;transition:none}.plan,.facade{width:100%;height:100%;max-width:100%;max-height:100%;border-radius:0;box-shadow:none;object-fit:contain;animation:none}.app:has(.bom-panel) .workspace{display:none}.app:has(.bom-panel) aside{display:block!important;width:100%;height:auto;overflow:visible;padding:0;border:0;border-radius:0;box-shadow:none;background:#fff}.app:has(.bom-panel) aside>:not(.print-header):not(.mass-panel):not(.bom-panel){display:none!important}.app:has(.bom-panel) .panel-title,.app:has(.bom-panel) .bom-toolbar{display:none!important}.bom-section::details-content{content-visibility:visible!important;block-size:auto!important}.bom-section:not([open])>table{display:table!important}.bom-section{break-inside:avoid;background:#fff}.legal-footer{font-size:8pt;color:#000}}
