@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@600;700&display=swap";:root{--brand:#f59e0b;--brand-light:#fbbf24;--brand-strong:#d97706;--brand-deep:#b45309;--brand-wash:#fef3c7;--brand-wash-2:#fff7ed;--brand-ink:#1a1205;--navy:#0d1b2a;--ink:#102033;--ink-2:#3d4e5e;--ink-3:#607084;--surface:#fff;--surface-2:#f4f6f9;--surface-3:#edf3f7;--rule:#d7e1ea;--rule-soft:#e2e9ef;--rule-strong:#c3d1dd;--good:#15803d;--good-wash:#dcfce7;--warn:#c2410c;--warn-wash:#ffedd5;--pv-glass:#1a4ba8;--pv-glass-soft:#1a4ba88c;--pv-frame:#93a3b4;--pv-busbar:#becddb80;--steel:#8c97a3;--steel-dark:#5c6773;--concrete:#b9b7b0;--concrete-line:#6f7278;--danger:#b42318;--danger-wash:#fee4e2;--info:#2563eb;--info-wash:#eff6ff;--text-xs:11px;--text-sm:12.5px;--text-base:13.5px;--text-md:15px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--weight-normal:500;--weight-medium:600;--weight-bold:700;--weight-heavy:800;--tracking-label:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-sm:6px;--radius:8px;--radius-lg:14px;--radius-xl:22px;--radius-pill:999px;--shadow-sm:0 1px 2px #1020330f;--shadow:0 4px 12px #10203314;--shadow-lg:0 18px 44px #10203329;--ease:cubic-bezier(.2, 0, .2, 1);--dur-fast:.12s;--dur:.18s;--muted:var(--ink-3);--line:var(--rule);--paper:#f6f0e6;--card:#ffffffc7;--amber:var(--brand);--blue:var(--info);--green:#2e7d5b;--rose:#b45359;color:var(--ink);background:radial-gradient(circle at 12% 8%,#fff6d7 0 18%,#0000 38%),linear-gradient(135deg,#edf4f8 0%,#f8efe1 46%,#e8f1ee 100%);font-family:Manrope,sans-serif}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}*{box-sizing:border-box}body{margin:0;font-size:16px}.app.device-desktop{min-width:1120px}button,input,select{font:inherit}.app{grid-template-columns:370px minmax(0,1fr);min-height:100vh;display:grid}.app.sidebarCollapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar{color:#fff;background:#0d1b2aeb;min-width:0;max-height:100vh;padding:22px;transition:opacity .18s,transform .18s;overflow-y:auto}.sidebarCollapsed .sidebar{opacity:0;pointer-events:none;padding-left:0;padding-right:0;overflow:hidden;transform:translate(-16px)}.sidebarToggle{z-index:20;background:var(--brand);color:#0d1b2a;cursor:pointer;border:0;border-radius:0 16px 16px 0;width:34px;height:50px;font-size:30px;font-weight:900;line-height:1;position:fixed;top:16px;left:356px;box-shadow:0 12px 28px #0f172a3d}.sidebarCollapsed .sidebarToggle{left:0}.brand{align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand .mark{background:var(--amber);width:48px;height:48px;color:var(--navy);border-radius:16px;place-items:center;font-family:Space Grotesk;font-size:20px;font-weight:800;display:grid}.brand strong{font-size:18px;display:block}.brand span{color:var(--rule-strong);font-size:12px;display:block}.workspace{padding:14px 18px 24px;overflow:auto}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--amber);font-size:11px;font-weight:800}.primary,.ghost{cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:11px 16px;font-weight:800;display:inline-flex}.primary{color:var(--navy);background:#fff}.ghost{background:var(--surface-3);color:var(--ink)}.panel{background:var(--card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #ffffffa6;border-radius:26px;box-shadow:0 18px 45px #2f40521f}.sidebar .panel{box-shadow:none;background:#ffffff13;border-color:#ffffff1c}.compact{margin-bottom:14px;padding:16px}.sectionTitle{color:inherit;align-items:center;gap:8px;margin-bottom:12px;font-size:17px;font-weight:850;display:flex}.grid.two{grid-template-columns:1fr 1fr;gap:10px;display:grid}.projectLocationGrid{margin:10px 0}.projectLocationGrid .field:last-child{grid-column:1/-1}.chooseLocationButton{width:100%;min-height:42px;color:var(--brand-light);cursor:pointer;background:#f59e0b26;border:1px solid #f59e0b7a;border-radius:13px;justify-content:center;align-items:center;gap:8px;margin:0 0 10px;font-size:12px;font-weight:900;display:inline-flex}.chooseLocationButton:hover{background:#f59e0b3d}.field{gap:5px;display:grid}.field span{color:var(--rule-strong);font-size:13px;font-weight:750}.workspace .field span{color:var(--muted)}.checkboxField{align-content:end}.checkboxField input{width:42px;height:38px;accent-color:var(--amber);padding:0}.generationPanel{overflow:hidden}.designFilesPanel{gap:10px;display:grid}.saveStatus{background:#0f172a47;border-radius:16px;gap:2px;padding:11px 12px;display:grid;box-shadow:inset 0 0 0 1px #ffffff14}.saveStatus strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:950;overflow:hidden}.saveStatus span{color:var(--rule-strong);font-size:11px;font-weight:850}.saveStatus.dirty{background:#f59e0b29;box-shadow:inset 0 0 0 1px #f59e0b52}.saveStatus.dirty span{color:var(--brand-light)}.saveStatus.clean span{color:var(--good-wash)}.cloudStorageStatus{color:var(--rule-strong);align-items:center;gap:7px;font-size:10px;font-weight:850;display:flex}.cloudStorageStatus>span{background:var(--brand);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #f59e0b24}.cloudStorageStatus.synced{color:var(--good-wash)}.cloudStorageStatus.synced>span{background:#22c55e;box-shadow:0 0 0 3px #22c55e24}.cloudStorageStatus.offline>span{background:var(--ink-3);box-shadow:0 0 0 3px #94a3b824}.autoSaveToggle{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);color:#ffffff9e;min-height:32px;font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:.04em;cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:#ffffff0d;border:1px solid #ffffff29;display:inline-flex}.autoSaveToggle:before{content:"";width:7px;height:7px;transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);background:#ffffff47;border-radius:50%;flex:none}.autoSaveToggle:hover{color:#fff;background:#ffffff1a}.autoSaveToggle.active{color:#fde8b8;background:#f59e0b29;border-color:#f59e0b8c}.autoSaveToggle.active:before{background:var(--brand);box-shadow:0 0 0 3px #f59e0b40}.autoSaveToggle:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.designFileActions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.designFileActions.primaryActions{grid-template-columns:repeat(3,minmax(0,1fr))}.designFileActions button:not(.btn),.restoreAutosave{min-height:38px;color:var(--ink);cursor:pointer;background:#ffffffeb;border:0;border-radius:13px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:950;display:inline-flex;box-shadow:inset 0 0 0 1px #d7e1eae6}.designFileActions button:not(.btn):hover,.restoreAutosave:hover{background:var(--brand-wash-2)}.sidebar .btn{color:var(--ink);background:#fffffff0;border-color:#0000}.sidebar .btn:hover{background:#fff}.sidebar .btnPrimary{background:var(--brand);border-color:var(--brand-strong);color:var(--brand-ink)}.sidebar .btnPrimary:hover{background:var(--brand-light)}.sidebar .btnQuiet{color:#ffffffbf;background:#ffffff12;border-color:#0000}.sidebar .btnQuiet:hover{color:#fff;background:#ffffff24}.sidebar .btnDanger{color:#fca5a5;background:#f43f3f1a;border-color:#f8717161}.sidebar .btnDanger:hover{color:#fecaca;background:#f43f3f33}.designFileActions button:disabled{opacity:.45;cursor:not-allowed}.designFileActions .dangerMini{color:var(--danger)}.restoreAutosave{width:100%;color:var(--brand-wash);background:#f59e0b2e;box-shadow:inset 0 0 0 1px #f59e0b57}.designFilesHint{color:var(--rule-strong);margin:0;font-size:11px;font-weight:750;line-height:1.35}.savedFileBrowser{background:#0f172a33;border-radius:15px;gap:6px;max-height:230px;padding:8px;display:grid;overflow:auto;box-shadow:inset 0 0 0 1px #ffffff12}.savedFileBrowserHead{color:var(--info-wash);justify-content:space-between;align-items:center;font-size:11px;display:flex}.savedFileBrowserHead span{min-width:24px;color:var(--brand-light);text-align:center;background:#f59e0b33;border-radius:999px;padding:3px 7px}.savedFileBrowser button{width:100%;color:var(--surface-2);text-align:left;cursor:pointer;background:#ffffff12;border:0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:9px 10px;display:flex}.savedFileBrowser button.active{background:#f59e0b33;box-shadow:inset 0 0 0 1px #f59e0b73}.savedFileBrowser button span{min-width:0}.savedFileBrowser button strong,.savedFileBrowser button small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.savedFileBrowser button strong{font-size:11px}.savedFileBrowser button small{color:var(--rule-strong);margin-top:2px;font-size:9px}.savedFileBrowser button em{color:var(--brand-light);font-size:10px;font-style:normal;font-weight:900}.savedFileBrowser p{color:var(--rule-strong);margin:3px;font-size:10px;line-height:1.4}.openFileManager{width:100%;min-height:38px;color:var(--brand-wash);cursor:pointer;background:#f59e0b24;border:1px solid #f59e0b70;border-radius:13px;justify-content:center;align-items:center;gap:7px;font-size:11px;font-weight:950;display:inline-flex}.openFileManager:hover{background:#f59e0b3d}.generationStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.generationStats div{background:linear-gradient(135deg,#f59e0b2e,#ffffff14);border-radius:16px;padding:10px;box-shadow:inset 0 0 0 1px #ffffff14}.generationStats span{color:var(--rule-strong);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900;display:block}.generationStats strong{color:#fff;margin-top:3px;font-size:14px;font-weight:950;display:block}.databasePicker{gap:8px;margin-bottom:12px;display:grid}.panelSearchResults{gap:6px;max-height:220px;padding-right:3px;display:grid;overflow:auto}.panelSearchResults button{text-align:left;color:var(--info-wash);cursor:pointer;background:#ffffff14;border:1px solid #94a3b842;border-radius:14px;grid-template-columns:1fr auto;gap:2px 8px;padding:8px 10px;display:grid}.panelSearchResults button.active{background:#f59e0b2e;border-color:#f59e0be0}.panelSearchResults button span{color:var(--brand-light);font-weight:950}.panelSearchResults button small{color:var(--rule-strong);grid-column:1/-1;font-size:11px;font-weight:800}.almmRevisionBadge{color:#dcfce7;background:#22c55e1f;border-radius:14px;gap:2px;margin:0 0 10px;padding:10px 11px;display:grid;box-shadow:inset 0 0 0 1px #22c55e47}.almmRevisionBadge strong{font-size:11px}.almmRevisionBadge span{color:#a7f3d0;font-size:9px;font-weight:800}.databaseNotice,.lossExplanation,.datasheetStatus{color:var(--rule-strong);margin:8px 0 12px;font-size:10px;font-weight:750;line-height:1.45}.lossExplanation{background:#ffffff12;border-radius:13px;padding:9px 10px}.datasheetActions{grid-template-columns:1fr 1fr;gap:7px;margin:8px 0;display:grid}.datasheetActions button,.datasheetReviewActions button{min-height:38px;color:var(--info-wash);cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:10px;font-weight:900;display:inline-flex;box-shadow:inset 0 0 0 1px #94a3b83d}.datasheetReview{background:#0f172a42;border-radius:16px;gap:10px;margin:10px 0 14px;padding:11px;display:grid;box-shadow:inset 0 0 0 1px #f59e0b57}.datasheetReviewActions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.datasheetReviewActions button.primary{background:var(--brand);color:var(--ink);box-shadow:none}.stringSizing{color:#e5eef7;background:#ffffff14;border:1px solid #94a3b847;border-radius:16px;margin-top:12px;padding:10px}.stringSizing.ok{border-color:#22c55e73}.stringSizing.warn{border-color:#f59e0bb8}.stringSizingHead{color:#fff;justify-content:space-between;gap:8px;font-size:12px;font-weight:950;display:flex}.stringSizingHead span,.stringSizing p,.stringSizing li{color:var(--rule-strong);font-size:11px;line-height:1.35}.stringChips{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.stringChips span{color:#e2e8f0;background:#0f172a52;border-radius:999px;padding:5px 7px;font-size:10px;font-weight:850}.stringSizing ul{margin:8px 0 0 17px;padding:0}.monthlyBars{background:#0f172a2e;border-radius:16px;grid-template-columns:repeat(12,minmax(0,1fr));align-items:end;gap:4px;height:86px;margin-top:12px;padding:8px;display:grid}.monthlyBars div{place-items:end center;gap:3px;min-width:0;display:grid}.monthlyBars i{background:linear-gradient(180deg, var(--brand-light), var(--brand));border-radius:999px 999px 3px 3px;width:100%;max-width:13px;display:block}.monthlyBars span{color:var(--rule-strong);font-size:8px;font-weight:900}.generationNote{color:var(--rule-strong);margin-top:9px;font-size:11px;font-weight:750;line-height:1.35;display:block}.inputWrap{position:relative}input,select{width:100%;color:var(--ink);background:#ffffffed;border:1px solid #94a3b859;border-radius:13px;outline:none;padding:10px 11px;font-size:15px}.inputWrap em{color:var(--muted);font-size:11px;font-style:normal;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.inputWrap input{padding-right:42px}.computedPlantSize{box-shadow:none;background:0 0;gap:3px;padding:2px 0 4px;display:grid}.computedPlantSize span{color:var(--rule-strong);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.computedPlantSize strong{color:#fff;font:950 22px Space Grotesk,sans-serif}.computedPlantSize small{display:none}.technicalDetails,.collapsibleSidebarPanel{background:#ffffff0e;border-radius:14px;box-shadow:inset 0 0 0 1px #ffffff14}.technicalDetails{margin:10px 0;padding:0}.technicalDetails summary,.collapsibleSidebarPanel>summary{align-items:center;gap:var(--space-2);min-height:42px;color:var(--info-wash);cursor:pointer;border-radius:var(--radius-lg);transition:background var(--dur-fast) var(--ease);padding:11px 12px;font-weight:900;list-style:none;display:flex}.collapsibleSidebarPanel>summary:hover{background:#ffffff0d}.collapsibleSidebarPanel>summary:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.collapsibleSidebarPanel>summary:after{content:"";opacity:.55;width:7px;height:7px;transition:transform var(--dur) var(--ease);border-bottom:2px solid;border-right:2px solid;margin-left:auto;transform:rotate(45deg)translate(-2px,-2px)}.collapsibleSidebarPanel[open]>summary:after{transform:rotate(225deg)translate(-2px,-2px)}.technicalDetails summary::-webkit-details-marker{display:none}.collapsibleSidebarPanel>summary::-webkit-details-marker{display:none}.technicalDetails[open]{padding-bottom:12px}.technicalDetails[open] .grid{padding:0 12px}.collapsibleSidebarPanel>.panel{box-shadow:none;background:0 0;border:0;margin:0;padding:0 0 12px}.collapsibleSidebarPanel>.panel>.sectionTitle{display:none}.panelHeader{justify-content:space-between;align-items:flex-start;padding:20px 22px 0;display:flex}.panelHeader h2{letter-spacing:-.03em;margin:2px 0 0;font:800 24px Space Grotesk}.viewTabs{background:var(--surface-3);border-radius:999px;gap:6px;padding:5px;display:flex}.viewTabs button{color:var(--ink);background:#fff;border:0;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:850}.canvasMock{padding:14px 18px 20px}.canvasMock svg{width:100%;min-height:420px;box-shadow:inset 0 0 0 1px var(--rule);background:#fff;border-radius:24px}dl{gap:10px;margin:0;display:grid}dl div{border-bottom:1px dashed var(--line);justify-content:space-between;gap:12px;padding:11px 0;display:flex}dt{color:var(--muted);font-size:13px;font-weight:700}dd{margin:0;font-weight:900}.bom{margin-top:0;overflow:hidden}.bomHint{color:var(--muted);padding:8px 22px 0;font-size:12px;font-weight:800}.bomHeaderActions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.editableBomCell{cursor:text;min-width:74px}.bomReviewRow td{border-bottom-color:#efd78b;background:#fff7d6!important}.bomReviewRow .editableBomCell:nth-child(3){color:#6d4700;font-weight:900;background:#ffe6a0!important}.bomReviewFlag{color:#3f2b00;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f3b51b;border-radius:999px;margin:5px 0 0 7px;padding:3px 7px;font-size:9px;font-weight:950;display:inline-flex}.manualBomRow td{background:#eef8ff!important}.bomRowAction{text-align:center;width:44px}.bomRowAction button{color:#b42318;cursor:pointer;background:#fff5f5;border:1px solid #f1c7c7;border-radius:9px;place-items:center;width:30px;height:30px;display:inline-grid}.editableBomCell:hover{background:var(--brand-wash-2)!important}.editableBomCell input{border:1px solid var(--brand);width:100%;min-width:70px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;padding:7px 8px}.autoRaiseField{grid-column:1/-1}.tableShell{padding:16px 18px 22px;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:980px;font-size:13px}th{background:var(--navy);color:#fff;text-align:left;letter-spacing:.02em;padding:12px 10px;font-size:12px}td{vertical-align:top;border-bottom:1px solid #e1e9f0;padding:10px}tbody tr:not(.group):nth-child(2n) td{background:#f8fafcb8}tr.group td{color:var(--navy);background:#dde8f2;padding:10px;font-size:13px;font-weight:900}@media (width<=1180px){body{min-width:0}.app{grid-template-columns:1fr}.sidebar{max-height:unset}}.brandLogo{object-fit:cover;object-position:center top;background:0 0;border-radius:13px;width:58px;height:58px;padding:0;box-shadow:0 10px 28px #0000002e}.viewTabs button.active{background:var(--navy);color:#fff}.fileCountBadge{background:#94a3b838;border-radius:999px;place-items:center;min-width:20px;margin-left:4px;padding:2px 6px;font-size:10px;line-height:1.25;display:inline-grid}.viewTabs button.active .fileCountBadge{background:#ffffff2e}.fileManagerWorkspace{align-content:start;gap:18px;min-height:calc(100vh - 98px);padding:24px;display:grid;overflow:hidden}.fileManagerHeader,.fileManagerToolbar{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.fileManagerHeader>div{min-width:0}.fileManagerHeader span{color:var(--brand-deep);letter-spacing:.1em;text-transform:uppercase;font-size:11px;font-weight:950}.fileManagerHeader h2{color:var(--navy);margin:3px 0 2px;font:950 28px Space Grotesk,sans-serif}.fileManagerHeader p,.fileManagerStorageNote{color:var(--muted);margin:0;font-size:12px;font-weight:750}.fileManagerNew{background:var(--amber);min-height:42px;color:var(--ink);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-weight:950;display:inline-flex;box-shadow:0 12px 24px #f59e0b38}.fileManagerToolbar{background:#f5f8fb;border-radius:16px;justify-content:flex-start;align-items:end;padding:14px;box-shadow:inset 0 0 0 1px #e1e9f0}.fileManagerToolbar label{gap:6px;display:grid}.fileManagerToolbar label:first-child{width:min(560px,100%)}.fileManagerToolbar label:last-child{width:210px}.fileManagerToolbar span{color:var(--muted);font-size:11px;font-weight:900}.fileManagerToolbar input,.fileManagerToolbar select{min-height:42px}.fileManagerTableWrap{border-radius:17px;overflow:auto;box-shadow:0 12px 36px #0f172a14,inset 0 0 0 1px #dbe4ec}.fileManagerTable{min-width:900px}.fileManagerTable th:last-child{width:330px}.fileManagerTable tbody tr.active td{background:var(--brand-wash-2)}.fileManagerTable td strong,.fileManagerTable td small{display:block}.fileManagerTable td strong{color:var(--navy);font-size:13px}.fileManagerTable td small{color:var(--muted);margin-top:4px;font-size:10px;font-weight:750}.fileRowActions{flex-wrap:wrap;gap:6px;display:flex}.fileRowActions button{border:1px solid var(--rule);min-height:32px;color:var(--navy);cursor:pointer;background:#fff;border-radius:10px;padding:6px 10px;font-size:11px;font-weight:900}.fileRowActions button.primary{border-color:var(--navy);background:var(--navy);color:#fff}.fileRowActions button.danger{color:var(--danger)}.fileManagerEmpty{border:1px dashed var(--rule-strong);min-height:260px;color:var(--muted);text-align:center;border-radius:18px;place-content:center;justify-items:center;gap:8px;display:grid}.fileManagerEmpty strong{color:var(--navy);font-size:16px}.fileManagerEmpty span{font-size:12px}.engineeringWorkspace{align-content:start;gap:16px;min-height:calc(100vh - 98px);padding:20px;display:grid;overflow:hidden}.engineeringHeader{justify-content:space-between;align-items:flex-end;gap:18px;display:flex}.engineeringHeader h2{color:var(--navy);margin:3px 0 2px;font:950 26px Space Grotesk,sans-serif}.engineeringHeader p{color:var(--muted);margin:0;font-size:12px;font-weight:750}.engineeringViewTabs{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--rule);border-radius:15px;gap:7px;padding:5px;display:flex}.engineeringViewTabs button{min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:11px;padding:8px 13px;font-size:11px;font-weight:950}.engineeringViewTabs button.active{background:var(--navy);color:#fff;box-shadow:0 8px 18px #0f172a2b}.engineeringSheetShell{background:#e9eef1;border-radius:18px;padding:14px;overflow:auto;box-shadow:inset 0 0 0 1px #d4dee6}.engineeringSheet{aspect-ratio:12/7;border:1px solid var(--ink-2);background:#fff;width:100%;min-width:860px;height:auto;display:block;box-shadow:0 16px 38px #0f172a1f}.engineeringSheetBackground{fill:#fff}.engineeringDrawingHeading text{fill:var(--ink);letter-spacing:.08em;font-size:13px;font-weight:900}.engineeringDrawingDivider{stroke:var(--rule-strong);stroke-width:.8px}.engineeringRoof{fill:#fcfdfe;stroke:var(--ink-3);stroke-width:1.4px}.engineeringObstructionPlan{fill:#f1f5f9;stroke:var(--ink-3);stroke-width:1.1px}.engineeringWallPlan{fill:#e8edf2;stroke:var(--ink-3);stroke-width:1.4px}.engineeringParapetPlan{fill:none;stroke:var(--ink-3);stroke-width:1.4px}.engineeringIgnoredShape{opacity:.45;stroke-dasharray:7 4}.engineeringShapeLabel,.engineeringShapeLevel{fill:var(--ink-2);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:8px;font-weight:900}.engineeringShapeLevel{font-size:7.5px;font-weight:700}.engineeringPanelPlan{fill:#94a3b806;stroke:var(--rule-strong);stroke-width:.65px;stroke-dasharray:7 5}.engineeringRafterPlan{stroke:var(--ink-3);stroke-width:.8px;stroke-dasharray:8 6;opacity:.32}.engineeringPurlinPlan{stroke:var(--rule-strong);stroke-width:.65px;stroke-dasharray:4 5;opacity:.28}.engineeringLegPlan>rect,.engineeringLegPlan>circle:not(.legCore){fill:#fff;stroke:var(--ink);stroke-width:1.45px}.engineeringLegPlan .legCore{fill:var(--ink);stroke:#fff;stroke-width:1px}.engineeringLegPlan text{fill:var(--ink-2);paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:8.5px;font-weight:850}.engineeringDimension line{fill:none;stroke:var(--ink-2);stroke-width:.8px}.engineeringDimension line.witness{stroke:var(--rule-strong);stroke-width:.65px;marker-start:none;marker-end:none}.engineeringDimension text{fill:#1f2937;text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:5px;font-size:8.5px;font-weight:850}.engineeringDimension.gridDim line{stroke:var(--ink-2)}.engineeringDimension.overallDim line{stroke:var(--ink-2);stroke-width:1px}.engineeringDimension.overallDim text{font-size:9.5px}.engineeringDimension.boundaryDim line{stroke:var(--ink-2);stroke-width:.9px}.engineeringDimension.boundaryDim text{fill:var(--ink);font-size:9.5px}.engineeringDimension.siteDim line{stroke:var(--ink-2);stroke-width:.9px}.engineeringDimension.siteDim text{fill:var(--ink-2);font-size:9.5px}.engineeringDimension.nearestReferenceDim line{stroke:var(--ink-3);stroke-width:.75px}.engineeringDimension.nearestReferenceDim text{fill:var(--ink-2);stroke-width:4px;font-size:7.5px}.engineeringDimension.legSpacingDim line{stroke:var(--good);stroke-width:.85px}.engineeringDimension.legSpacingDim text{fill:var(--good);stroke-width:4px;font-size:8px}.engineeringDimension.legSpacingDim.secondary line{stroke:var(--info);stroke-width:.65px;opacity:.74}.engineeringDimension.legSpacingDim.secondary text{fill:var(--info);font-size:7.4px}.engineeringSheet marker path{fill:var(--ink)}.engineeringGridBubble circle{fill:#fff;stroke:var(--ink-3);stroke-width:1px}.engineeringGridBubble text{fill:var(--ink);text-anchor:middle;font-size:9px;font-weight:900}.engineeringKeyPlan>rect{fill:#fff;stroke:var(--ink);stroke-width:1.2px}.engineeringKeyPanel{fill:#94a3b814;stroke:var(--ink-2);stroke-width:.8px;stroke-dasharray:4 2}.engineeringKeyLeg rect{fill:#fff;stroke:var(--ink);stroke-width:.9px}.engineeringKeyLeg circle{fill:var(--ink)}.engineeringKeyLeg text{fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:2px;font-size:5.5px;font-weight:900}.engineeringKeyPlanTitle{fill:var(--ink);letter-spacing:.08em;font-size:9px;font-weight:900}.northArrow path{fill:var(--ink)}.northArrow text{fill:var(--ink);text-anchor:middle;font-size:18px;font-weight:950}.northArrow.compact text{font-size:12px}.engineeringDrawingMeta text{fill:var(--ink-2);letter-spacing:.015em;font-size:8.5px;font-weight:750}.engineeringDrawingMeta .metaHeading{fill:var(--ink);letter-spacing:.07em;font-size:9px;font-weight:950}.engineeringDrawingMeta line{stroke:var(--ink-3);stroke-width:.8px}.engineeringDrawingMeta .legendPedestal{fill:var(--surface-2);stroke:var(--ink-3);stroke-width:1.1px}.engineeringDrawingMeta .legendRafter{stroke:var(--ink-3);stroke-width:1.7px;stroke-dasharray:10 4 2 4}.engineeringDrawingMeta .legendPurlin{stroke:var(--ink-3);stroke-width:1.2px;stroke-dasharray:5 3}.engineeringDrawingMeta .legendPanel{fill:#94a3b80a;stroke:var(--ink-3);stroke-width:1px;stroke-dasharray:5 3}.engineeringRoofElevation .roofDatum{stroke:var(--ink-3);stroke-width:1.5px}.engineeringRoofElevation .roofObject{fill:#f1f5f9;stroke:var(--ink-3);stroke-width:1.1px}.engineeringRoofElevation .parapetSection{fill:#e8edf2;stroke:var(--ink-3);stroke-width:1.1px}.engineeringElevationShapeLabel{fill:var(--ink-2);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:3px;font-size:7.5px;font-weight:800}.engineeringLegElevation>line{stroke:var(--ink);stroke-width:5px;stroke-linecap:square}.engineeringLegElevation .pedestal{fill:#eef2f6;stroke:var(--ink-3);stroke-width:1.1px}.engineeringLegElevation .pedestal.cylindrical{stroke-dasharray:5 2}.engineeringLegElevation text{fill:var(--ink-2);paint-order:stroke;stroke:#fff;stroke-width:4px;font-size:8.5px;font-weight:900}.engineeringLegElevation .pedestalLabel{fill:var(--ink-3);font-size:7.5px}.engineeringLegBody{fill:var(--ink-2);stroke:var(--ink-2);stroke-width:.5px}.engineeringRafterBody{fill:var(--ink-3);stroke:var(--ink-2);stroke-width:.6px}.engineeringPurlinBody{fill:var(--ink-3);stroke:var(--ink-3);stroke-width:.5px}.engineeringPanelBody{fill:var(--surface-2);stroke:var(--ink-3);stroke-width:.8px}.engineeringSectionProfile{fill:var(--ink-3);stroke:var(--ink-2);stroke-width:1px}.engineeringSectionProfile .sectionVoid{fill:#fff;stroke:var(--ink-3);stroke-width:.7px}.engineeringSectionProfile .sectionOpen{fill:none;stroke:var(--ink-3);stroke-width:2px;stroke-linejoin:miter;stroke-linecap:square}.engineeringSectionProfile text{fill:var(--ink);stroke:none;text-anchor:middle;font-size:8px;font-weight:900}.engineeringSectionProfile .sectionSpec{fill:var(--ink-3);font-size:6.5px;font-weight:800}.engineeringMemberSchedule .scheduleHeading{fill:var(--ink);text-anchor:middle;letter-spacing:.08em;font-size:8px;font-weight:950}.engineeringViewNote text{fill:var(--ink-2);letter-spacing:.06em;font-size:10px;font-weight:900}.engineeringTitleBlock{border:1px solid var(--ink-3);background:#fff;grid-template-columns:1.4fr 1.3fr repeat(4,minmax(0,1fr));min-width:860px;margin-top:8px;display:grid}.engineeringTitleBlock div{border-right:1px solid var(--rule-strong);min-width:0;padding:9px 10px}.engineeringTitleBlock div:last-child{border-right:0}.engineeringTitleBlock span,.engineeringTitleBlock strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.engineeringTitleBlock span{color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:950}.engineeringTitleBlock strong{color:var(--ink);margin-top:3px;font-size:11px}.engineeringNotes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.engineeringNotes div{background:var(--surface-2);border-radius:14px;padding:12px;box-shadow:inset 0 0 0 1px #dbe4ec}.engineeringNotes strong,.engineeringNotes span{display:block}.engineeringNotes strong{color:var(--navy);font-size:11px}.engineeringNotes span{color:var(--muted);margin-top:4px;font-size:10px;font-weight:750;line-height:1.4}.reportEngineeringCapture{z-index:-1;visibility:hidden;pointer-events:none;width:1200px;position:fixed;top:0;left:-20000px}.reportEngineeringCapture .engineeringWorkspace{width:1200px;min-height:0}.shareDialogBackdrop{z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a9e;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.shareDialog{background:#fff;border-radius:24px;width:min(560px,100%);padding:26px;position:relative;box-shadow:0 30px 90px #0f172a52}.shareDialogClose{background:var(--surface-3);width:36px;height:36px;color:var(--navy);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:14px;right:14px}.shareDialogIcon{background:var(--brand-wash);width:48px;height:48px;color:var(--brand-deep);border-radius:16px;place-items:center;margin-bottom:14px;display:grid}.shareDialog h2{color:var(--navy);margin:4px 0 5px;font:950 24px Space Grotesk,sans-serif}.shareDialog>p{color:var(--muted);margin:0 0 18px;font-size:12px;font-weight:750}.shareLinkField{box-shadow:inset 0 0 0 1px var(--rule);background:#f3f6f8;border-radius:15px;grid-template-columns:1fr auto;gap:8px;padding:7px;display:grid}.shareLinkField input{min-width:0;color:var(--ink-2);background:0 0;border:0;font-size:12px}.shareLinkField button{background:var(--navy);color:#fff;cursor:pointer;border:0;border-radius:11px;justify-content:center;align-items:center;gap:6px;min-width:94px;font-weight:950;display:inline-flex}.shareDialogActions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.shareDialogActions a,.shareDialogActions button{border:1px solid var(--rule);min-height:43px;color:var(--navy);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:9px 11px;font-size:11px;font-weight:950;text-decoration:none;display:inline-flex}.shareDialogActions a:first-child{border-color:var(--good-wash);color:#166534;background:#f0fdf4}.locationPickerBackdrop{z-index:1100;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#0f172ab8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.locationPickerDialog{width:min(880px,100%);max-height:calc(100vh - 36px);color:var(--ink);background:#fff;border-radius:26px;padding:24px;position:relative;overflow-y:auto;box-shadow:0 34px 100px #0f172a6b}.locationPickerClose{z-index:3;background:var(--surface-3);width:38px;height:38px;color:var(--navy);cursor:pointer;border:0;border-radius:999px;place-items:center;display:grid;position:absolute;top:15px;right:15px}.locationPickerHeading{align-items:center;gap:13px;padding-right:46px;display:flex}.locationPickerIcon{background:var(--brand-wash);width:48px;height:48px;color:var(--brand-deep);border-radius:16px;flex:none;place-items:center;display:grid}.locationPickerHeading h2{color:var(--navy);margin:2px 0 0;font:950 24px Space Grotesk,sans-serif}.locationPickerDialog>p{color:var(--muted);margin:10px 0 14px;font-size:13px;font-weight:700;line-height:1.5}.locationPickerMap{border:1px solid var(--rule);background:#e5e7eb;border-radius:19px;width:100%;height:min(50vh,470px);min-height:330px;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffb8}.locationPickerSelection{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.locationPickerSelection span{border:1px solid var(--rule);background:var(--surface-2);color:var(--ink-2);border-radius:13px;justify-content:space-between;gap:12px;padding:11px 13px;font-size:13px;font-weight:850;display:flex}.locationPickerSelection strong{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.locationPickerDialog .locationPickerStatus{color:#2e7d5b;margin:8px 2px 0;font-size:11px}.locationPickerActions{grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:13px;display:grid}.locationPickerActions button,.locationPickerActions a{border:1px solid var(--rule);min-height:44px;color:var(--navy);text-align:center;cursor:pointer;background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-size:11px;font-weight:950;text-decoration:none;display:inline-flex}.locationPickerActions .locationCurrentButton{color:var(--info);background:var(--info-wash);border-color:#bfdbfe}.locationPickerActions .locationApplyButton{color:#fff;background:var(--navy);border-color:var(--navy)}.drawingPanel{grid-template-rows:1fr;min-height:calc(100vh - 28px);margin-top:0;display:grid}.mainCanvasSwitch{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rule-soft);background:#f7f9fbdb;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin:-14px -18px 8px;padding:12px 18px;display:flex;position:sticky;top:0}.mainCanvasSwitch .viewTabs{margin-right:auto;overflow-x:auto}.reportExportButton{background:linear-gradient(135deg, var(--good), #0b5f58);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 15px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #0f766e38}.reportExportButton:hover{background:linear-gradient(135deg,#11877e,#0f6c64)}.reportShareButton{color:#115e59;cursor:pointer;background:#ecfdf5;border:1px solid #99f6e4;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 10px 22px #0f766e1f}.reportShareButton:hover{background:#d1fae5}.reportShareButton:disabled{cursor:wait;opacity:.68}.clientShareButton{background:var(--brand);color:var(--ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #f59e0b3d,inset 0 0 0 1px #92400e33}.clientShareButton:hover{background:#f7ad22}.clientPublishButton{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:7px;padding:10px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 12px 26px #0f172a2e}.clientPublishButton:hover{background:#18304a}.userManagementButton{border:1px solid var(--rule);color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:7px;padding:9px 14px;font-size:13px;font-weight:950;display:inline-flex;box-shadow:0 9px 22px #2f40521a}.userManagementButton:hover{border-color:var(--brand);background:#fff8e6}.accountMenu{z-index:80;position:relative}.accountMenuTrigger{border:1px solid var(--rule);min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:9px;padding:5px 10px 5px 6px;display:inline-flex;box-shadow:0 9px 22px #2f40521a}.accountAvatar{background:var(--brand-light);width:30px;height:30px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:950;display:grid}.accountAvatar.large{width:42px;height:42px;font-size:13px}.accountIdentity{text-align:left;max-width:150px;line-height:1.1;display:grid}.accountIdentity strong,.accountMenuSummary strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.accountIdentity small,.accountMenuSummary small{text-overflow:ellipsis;white-space:nowrap;color:#748397;font-size:10px;overflow:hidden}.accountMenuPopover{background:#fff;border:1px solid #d8e1e9;border-radius:17px;width:292px;padding:9px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 22px 55px #0f203333}.accountMenuSummary{border-bottom:1px solid #e5ebf0;align-items:center;gap:11px;min-width:0;padding:8px 8px 12px;display:flex}.accountMenuSummary>div{min-width:0;display:grid}.accountMenuPopover>a{color:var(--ink);border-radius:11px;align-items:center;gap:11px;margin-top:5px;padding:10px;text-decoration:none;display:flex}.accountMenuPopover>a:hover{background:#f3f6f8}.accountMenuPopover>a>span{display:grid}.accountMenuPopover>a strong{font-size:12px}.accountMenuPopover>a small{color:#748397;font-size:10px}.accountMenuPopover .logoutMenuItem{color:#9f1239}.mainCanvasSwitch strong{letter-spacing:-.02em;margin-top:2px;font:800 18px Space Grotesk,sans-serif;display:block}.canvasShortcut{color:var(--muted);margin-top:3px;font-size:11px;font-weight:750;display:block}.modelControls{justify-content:space-between;align-items:center;gap:14px;padding:10px 14px 0;display:flex}.modelCanvasControls{z-index:6;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:auto;background:#ffffff9e;border-radius:24px;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:8px;display:flex;position:absolute;top:22px;left:230px;right:28px;box-shadow:0 16px 42px #0f172a1f,inset 0 0 0 1px #e2e8f0c7}.visibilityControls{background:#0d1b2a14;border-radius:999px;align-items:center;gap:8px;padding:5px;display:flex}.visibilityControls span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:0 5px 0 8px;font-size:13px;font-weight:900}.toggleButton{align-items:center;gap:var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-2);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);padding:7px 14px 7px 11px;display:inline-flex}.toggleButton:before{content:"";background:var(--rule-strong);width:7px;height:7px;transition:background var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);border-radius:50%;flex:none}.toggleButton:hover{background:var(--surface-2);color:var(--ink)}.toggleButton.active{background:var(--brand-wash);border-color:var(--brand);color:var(--ink)}.toggleButton.active:before{background:var(--brand);box-shadow:0 0 0 3px #f59e0b38}.toggleButton:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.btn{justify-content:center;align-items:center;gap:var(--space-2);border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);min-height:36px;color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;white-space:nowrap;transition:background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);padding:8px 15px;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--brand-strong);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;transform:none}.btnPrimary{background:var(--brand);border-color:var(--brand-strong);color:var(--brand-ink)}.btnPrimary:hover{background:var(--brand-strong)}.btnQuiet{color:var(--ink-3);font-weight:var(--weight-medium);background:0 0;border-color:#0000}.btnQuiet:hover{background:var(--surface-2);color:var(--ink)}.btnDanger{border-color:color-mix(in srgb, var(--danger) 35%, transparent);color:var(--danger);background:0 0}.btnDanger:hover{background:var(--danger-wash)}.segmented{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);display:inline-flex;overflow:hidden}.segmented button{border:0;border-right:1px solid var(--rule-soft);color:var(--ink-2);font-size:var(--text-base);font-weight:var(--weight-bold);cursor:pointer;transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);background:0 0;padding:8px 15px}.segmented button:last-child{border-right:0}.segmented button:hover{background:var(--surface-2);color:var(--ink)}.segmented button.active,.segmented button[aria-selected=true]{background:var(--navy);color:var(--surface)}.segmented button:focus-visible{outline:2px solid var(--brand-strong);outline-offset:-2px}.mapControls{background:#0d1b2a14;border-radius:999px;align-items:center;gap:5px;padding:5px;display:flex}.mapControls button{min-width:34px;height:34px;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 1px var(--rule);background:#fff;border:0;border-radius:999px;font-weight:900}.mapControls button.active{background:var(--ink);color:#fff;box-shadow:none}.modelCanvas{contain:layout paint style;padding:10px 14px 14px;position:relative}.modelCanvas canvas{will-change:transform;display:block;transform:translateZ(0)}.sunClockOverlay{z-index:4;pointer-events:none;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(135deg,#0f172ae0,#1e293bad);border-radius:18px;gap:2px;min-width:178px;padding:13px 16px 14px;display:grid;position:absolute;top:28px;left:34px;box-shadow:0 18px 38px #0f172a47,inset 0 0 0 1px #ffffff2e}.sunClockOverlay span{color:#ffffffad;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:900}.sunClockOverlay strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;text-shadow:0 2px 12px #0000003d;font:900 34px/1 Space Grotesk,sans-serif}.memberEditPanel{z-index:6;width:min(360px,100% - 68px);color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;border-radius:18px;gap:10px;padding:14px;display:grid;position:absolute;top:98px;right:34px;box-shadow:0 22px 54px #0f172a2e,inset 0 0 0 1px #d7e1eaeb}.memberEditPanel>div:first-child{gap:2px;display:grid}.memberEditPanel span,.memberEditPanel small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.memberEditPanel strong{font:900 18px Space Grotesk,sans-serif}.memberEditPanel .field span{letter-spacing:0;text-transform:none}.memberEditPanel button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:10px 12px;font-weight:900}.memberEditPanel button:disabled{opacity:.35;cursor:not-allowed}.memberQuickEdit{background:#edf3f7d1;border-radius:14px;gap:9px;padding:10px;display:grid;box-shadow:inset 0 0 0 1px #cbd5e1b8}.nudgeGrid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.nudgeGrid button:first-child{grid-column:2}.nudgeGrid button:nth-child(2){grid-column:1}.nudgeGrid button:nth-child(3){grid-column:3}.nudgeGrid button:nth-child(4){grid-column:2}.resizeButtons{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.resizeButtons button,.nudgeGrid button{background:#18304a;border-radius:10px;padding:8px 9px;font-size:12px}.canvasPlayback{z-index:5;color:#ffffffeb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;opacity:0;pointer-events:none;background:#0f172a57;border:0;border-radius:999px;align-content:center;place-items:center;gap:2px;width:138px;height:138px;transition:opacity .18s,transform .18s,background .14s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 22px 70px #0f172a47,inset 0 0 0 1px #ffffff38}.canvasPlayback span{letter-spacing:.08em;text-transform:uppercase;font-size:13px;font-weight:950}.canvasPlayback:hover{opacity:.9;background:#0f172a85;transform:translate(-50%,-50%)scale(1.04)}.canvasPlayback.visible{opacity:.5;pointer-events:auto}.webglCanvas{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;overscroll-behavior:contain;contain:layout paint style;will-change:contents;outline:none;min-height:calc(100vh - 224px)}.webglCanvas:focus-visible{border-radius:24px;box-shadow:0 0 0 3px #f59e0b47}.webglCanvas.panMode{cursor:grab}.webglCanvas.selectableHover{cursor:pointer}.webglCanvas.panMode.selectableHover{cursor:grab}.webglCanvas canvas{min-height:560px;box-shadow:inset 0 0 0 1px var(--rule);image-rendering:auto;backface-visibility:hidden;border-radius:24px;display:block;transform:translateZ(0);width:100%!important;height:calc(100vh - 238px)!important}.webglCanvas:active{cursor:grabbing}.roofTool{overflow:hidden}.roofToolLarge{--roof-side-w:400px;--roof-chrome-h:128px;padding:var(--space-3);height:calc(100vh - var(--roof-chrome-h));grid-template-columns:minmax(0, 1fr) var(--roof-side-w);gap:var(--space-3);grid-template-rows:auto minmax(0,1fr);align-items:stretch;min-height:0;display:grid;overflow:hidden}.roofToolLarge>.sectionTitle{display:none}.roofToolLarge>.toolStrip{grid-area:1/2;margin-bottom:0}.roofToolLarge>.roofCanvasArea{grid-area:1/1/span 2}.roofToolLarge>.roofSidePanel{gap:var(--space-3);min-width:0;max-height:calc(100vh - var(--roof-chrome-h));overscroll-behavior:contain;padding-right:var(--space-1);flex-direction:column;grid-area:2/2;display:flex;overflow-y:auto}.roofToolLarge>.roofSidePanel>*{flex:none}.railLabel{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-3);padding-top:var(--space-1);border-top:1px solid var(--rule-soft)}.roofSidePanel>.railLabel:first-child{border-top:0;padding-top:0}.finishSwatches{gap:var(--space-2);flex-wrap:wrap;display:flex}.finishSwatch{border-radius:var(--radius-sm);border:1px solid var(--rule-strong);background:var(--swatch);cursor:pointer;width:34px;height:26px;transition:transform var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);padding:0}.finishSwatch:hover{transform:translateY(-1px)}.finishSwatch.active{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px var(--brand)}.finishSwatch:focus-visible{outline:2px solid var(--brand-strong);outline-offset:3px}@media (width<=1500px){.roofToolLarge{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr)}.roofToolLarge>.toolStrip,.roofToolLarge>.roofCanvasArea,.roofToolLarge>.roofSidePanel{grid-area:auto/1}.roofToolLarge>.roofSidePanel{max-height:none;overflow-y:visible}}@media (width>=1501px){.roofToolLarge>.toolStrip{align-items:stretch;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-lg);background:var(--surface);box-shadow:inset 0 0 0 1px var(--rule-soft);flex-direction:column}.roofToolLarge>.toolStrip .toolStripMain{align-items:stretch;gap:var(--space-2);flex-direction:column}.roofToolLarge>.toolStrip .toolDivider{width:100%;height:1px;min-height:1px;margin:var(--space-1) 0}.roofToolLarge>.toolStrip .toolGroup{justify-content:flex-start}.roofToolLarge>.toolStrip .toolGroup:before{content:attr(aria-label);margin-bottom:var(--space-1);font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-3);flex:0 0 100%}}.toolStrip{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin-bottom:10px;display:flex}.toolStripMain,.toolStripActions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.toolStripActions{justify-content:flex-end;margin-left:auto}.toolStrip button:not(.toggleButton){color:var(--ink);text-transform:capitalize;cursor:pointer;background:#ffffffeb;border:0;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:850;box-shadow:inset 0 0 0 1px #d7e1eaeb}.toolStrip button:disabled{opacity:.38;cursor:not-allowed}.toolStrip .iconTool{border-radius:14px;place-items:center;width:44px;height:44px;padding:0;font-size:18px;line-height:1;display:inline-grid}.toolStrip button.active:not(.toggleButton){background:var(--amber);color:var(--ink);box-shadow:inset 0 0 0 1px var(--brand-strong)}.toolStripActions button{text-transform:none;background:#edf3f7f0;padding:9px 13px}.toolDivider{background:var(--rule);width:1px;min-height:30px;margin:0 var(--space-2);flex:none;align-self:stretch}.toolGroup{align-items:center;gap:var(--space-1);flex-wrap:wrap;display:flex}.toolStrip button.subtleActive:not(.toggleButton){background:var(--brand-wash);color:var(--ink);box-shadow:inset 0 0 0 1px var(--brand)}.toolStrip .miniTool{text-transform:none;border-radius:13px;min-height:38px;padding:8px 12px;font-size:12px}.toolStrip .mapToggleTool{align-items:center;gap:6px;display:inline-flex}.roofCanvasArea{flex-direction:column;gap:8px;min-height:0;display:flex}.roofCanvasFrame{contain:layout paint style;background:#f8fbfd;border-radius:18px;height:255px;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #c7d5e2e6,0 14px 38px #0f172a0f}.roofContextMenu{z-index:18;background:#fffffffa;border:1px solid #94a3b87a;border-radius:12px;gap:3px;min-width:205px;padding:6px;display:grid;position:absolute;box-shadow:0 18px 44px #0f172a38}.roofContextMenu button{text-align:left;color:#0f2033;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 11px;font-weight:800}.roofContextMenu button:first-child:hover{background:#fff4cc}.roofContextMenu button:last-child{color:var(--ink-3)}.roofSatelliteMap{z-index:0;pointer-events:none;background:#d8dde0;position:absolute;inset:0}.roofSatelliteMap.livePicker{z-index:4;pointer-events:auto}.mapCropPicker{z-index:5;border-radius:20px;position:absolute;inset:0;overflow:hidden}.mapCropOverlay{z-index:6;pointer-events:none;background:linear-gradient(#0f172a29,#0f172a29);position:absolute;inset:0}.mapCropBox{aspect-ratio:1;border:4px solid #fffffff5;border-radius:10px;width:min(62%,640px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px #0f172a38,0 12px 34px #0f172a52,inset 0 0 0 1px #0f172a4d}.mapCropPin{color:var(--danger);filter:drop-shadow(0 6px 9px #0f172a73);position:absolute;top:50%;left:50%;transform:translate(-50%,calc(-50% - 20px))}.mapCropPin svg{width:42px;height:42px;fill:var(--danger);stroke:#fff;stroke-width:2.8px}.mapCropHint{z-index:7;color:#fff;text-align:center;background:#0f2033db;border-radius:999px;max-width:min(720px,100% - 32px);padding:10px 15px;font-size:12px;font-weight:850;position:absolute;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 34px #0f172a38}.roofCanvasFrame.mapPicking .roofCanvas{pointer-events:none}.roofCanvasFrame.isInteracting .roofCanvas{shape-rendering:optimizespeed;text-rendering:optimizespeed}.roofCanvasFrame.isInteracting .drawnShape>g>rect,.roofCanvasFrame.isInteracting .drawnShape>g>circle,.roofCanvasFrame.isInteracting .drawnShape>g>polygon,.roofCanvasFrame.isInteracting .draftShape{filter:none!important}.roofCanvasFrame.isInteracting .structurePlanLayer text,.roofCanvasFrame.isInteracting .moduleFootprint .moduleLabel,.roofCanvasFrame.isInteracting .drawnShape>g>text{display:none}.roofMapToolbar{border:1px solid var(--rule);color:var(--ink);background:#f8fafcf0;border-radius:15px;flex-wrap:wrap;align-items:center;gap:9px;padding:9px 11px;display:flex}.roofMapToolbar>div{align-items:center;gap:8px;margin-right:auto;display:flex}.roofMapToolbar>div>span{gap:1px;display:grid}.roofMapToolbar strong{font-size:11px}.roofMapToolbar small{color:var(--muted);font-size:9px;font-weight:750}.roofMapToolbar label{color:var(--muted);align-items:center;gap:7px;font-size:10px;font-weight:850;display:flex}.roofMapToolbar input[type=range]{width:110px;accent-color:var(--amber)}.mapSearchForm{flex:330px;align-items:center;gap:6px;min-width:min(430px,100%);display:flex}.mapSearchBox{flex:260px;min-width:210px;position:relative}.mapSearchForm input{border:1px solid var(--rule);width:100%;min-width:190px;height:34px;color:var(--ink);background:#fffffff5;border-radius:10px;outline:none;padding:0 11px;font-size:11px;font-weight:800}.mapSearchForm input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #f59e0b29}.mapSuggestions{z-index:12;border:1px solid var(--rule);background:#fffffffa;border-radius:13px;gap:4px;padding:7px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;box-shadow:0 16px 36px #0f20332e}.mapSuggestions button{text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;width:100%;min-height:34px;font-size:10px;line-height:1.25;display:flex}.mapSuggestions button span{text-align:left;display:block}.mapSuggestions button:hover{background:var(--brand-wash-2)}.roofMapToolbar button,.roofMapToolbar a{border:1px solid var(--rule);min-height:34px;color:var(--navy);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:900;text-decoration:none;display:inline-flex}.roofMapToolbar .selectAreaButton{color:#fff;background:#047857;border-color:#047857;box-shadow:0 8px 18px #04785738}.roofCanvas{z-index:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;overscroll-behavior:contain;contain:layout paint style;backface-visibility:hidden;background:radial-gradient(circle at 18% 12%,#fffffff2,#f8fbfdb8 42%,#f1f6fad1),#f8fbfd;border-radius:18px;width:100%;height:100%;display:block;position:relative;transform:translateZ(0);box-shadow:inset 0 0 0 1px #c7d5e2e6}.toolGlyph{place-items:center;min-width:18px;font-size:18px;font-weight:950;line-height:1;display:inline-grid}.roofCanvas .tankPlanDetail{pointer-events:none}.roofCanvas .tankPlanDetail circle{fill:none;stroke:#47556994;stroke-width:24px}.roofCanvas .treePlanDetail,.roofCanvas .towerPlanDetail{pointer-events:none}.roofCanvas .treePlanDetail circle{fill:#228b2229;stroke:#14532dc7;stroke-width:28px}.roofCanvas .treePlanDetail .treeTrunkPlan{fill:#784924d1;stroke:#5f3a1b;stroke-width:12px}.roofCanvas .towerPlanDetail path,.roofCanvas .towerPlanDetail rect{fill:none;stroke:#0f172ab8;stroke-width:26px;stroke-linecap:round;stroke-linejoin:round}.roofCanvas .rampPlanArrow{fill:none;stroke:var(--ink-2);stroke-width:36px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.roofCanvas .object-metroSheet>rect{stroke:var(--info)}.roofCanvas .object-waterTank>circle{stroke:#657681}.roofCanvas .object-ramp>rect{stroke:#5f6971}.roofCanvas .object-tree>circle{stroke:#14532d}.roofCanvas .object-tower>rect{stroke:var(--ink-2)}.roofCanvas .alignmentGuides{pointer-events:none}.roofCanvas .alignmentGuides line{stroke:var(--danger);stroke-width:18px;stroke-dasharray:70 42;opacity:.9}.roofCanvas .alignmentGuides circle{fill:#fff;fill-opacity:1;stroke:var(--danger);stroke-width:18px}.roofCanvas.panMode{cursor:grab}.roofCanvas.panMode:active{cursor:grabbing}.roofToolLarge .roofCanvasArea{height:auto;min-height:0}.canvasOverlayControls{left:var(--space-3);bottom:var(--space-3);z-index:4;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow), inset 0 0 0 1px #ffffffb3;opacity:.55;transition:opacity var(--dur) var(--ease);background:#ffffffd1;flex-wrap:wrap;display:flex;position:absolute}.canvasOverlayControls:hover,.canvasOverlayControls:focus-within{opacity:1}.canvasOverlayControls .boardRotationSlider{width:96px;accent-color:var(--brand);cursor:ew-resize}.canvasOverlayControls .boardRotationValue{border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--surface);width:62px;min-height:30px;color:var(--ink);font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;text-align:center;padding:4px 6px}.roofToolLarge .roofCanvasFrame{aspect-ratio:auto;flex:auto;width:100%;max-width:none;height:auto;min-height:0;margin-inline:0}.roofToolLarge>.roofCanvasArea{height:100%;min-height:0}.roofCanvasFrame.mapActive .roofCanvas{background:0 0}.roofCanvasFrame.mapActive .roofCanvas .drawnShape>g>rect,.roofCanvasFrame.mapActive .roofCanvas .drawnShape>g>circle,.roofCanvasFrame.mapActive .roofCanvas .drawnShape>g>polygon{fill-opacity:.1;stroke:#000;stroke-width:2px;vector-effect:non-scaling-stroke}.roofCanvasFrame.mapActive .roofCanvas .drawnShape.selectedShape>g>rect,.roofCanvasFrame.mapActive .roofCanvas .drawnShape.selectedShape>g>circle,.roofCanvasFrame.mapActive .roofCanvas .drawnShape.selectedShape>g>polygon{fill-opacity:.16;stroke:#000;stroke-width:3px;vector-effect:non-scaling-stroke}.roofCanvasFrame.mapActive .roofCanvas .draftShape{fill:#ffd60a1f;stroke:#000;stroke-width:2.5px;stroke-dasharray:none;vector-effect:non-scaling-stroke}.roofCanvasFrame.mapActive .roofCanvas .shapeHandles circle,.roofCanvasFrame.mapActive .roofCanvas .draftHandles circle{fill:#fff;fill-opacity:1;stroke:#020617;stroke-width:8px;filter:drop-shadow(0 0 9px #fff)}.roofCanvasFrame.mapActive .roofCanvas .moduleFootprint .modulePanel{fill:var(--pv-glass);fill-opacity:.88;stroke:var(--pv-busbar)}.roofCanvas rect,.roofCanvas circle,.roofCanvas polygon{stroke:#000;stroke-width:1.5px;vector-effect:non-scaling-stroke;fill-opacity:1;cursor:pointer}.roofCanvas .gridLayer{stroke:none;fill-opacity:1;cursor:crosshair}.roofCanvas .gridLayer path{stroke:#cbd5e1b8;stroke-width:9px}.roofCanvas text{fill:var(--ink);pointer-events:none;font:750 210px Manrope,sans-serif}.roofCanvas .shapeNameLabel{fill:var(--ink);letter-spacing:.01em;stroke:#ffffffeb;stroke-width:14px;paint-order:stroke;dominant-baseline:central;pointer-events:none;font:900 125px Manrope,sans-serif}.roofCanvasFrame.mapActive .roofCanvas .shapeNameLabel{stroke-width:16px;font-size:115px}.roofCanvas .selectedShape>g>rect,.roofCanvas .selectedShape>g>circle,.roofCanvas .selectedShape>g>polygon{stroke:var(--brand);stroke-width:2.5px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #f59e0b57)}.roofCanvas .ignoredShape>g>rect,.roofCanvas .ignoredShape>g>circle,.roofCanvas .ignoredShape>g>polygon{stroke-dasharray:none;opacity:.62}.roofCanvas .parapetPlan{fill:#b4530929;fill-opacity:1;stroke:var(--brand-deep);stroke-width:1.5px;stroke-dasharray:none;vector-effect:non-scaling-stroke;pointer-events:none}.roofCanvas .draftShape{fill:#ffd60a29;stroke:#ff8a00;stroke-width:2.25px;stroke-dasharray:none;vector-effect:non-scaling-stroke;pointer-events:none}.roofCanvas .selectionMarquee{fill:#2563eb1f;fill-opacity:1;stroke:var(--info);stroke-width:1.5px;stroke-dasharray:82 48;vector-effect:non-scaling-stroke;pointer-events:none}.roofCanvas polyline.draftShape{fill:none}.roofCanvas .moduleFootprint>rect,.roofCanvas .moduleFootprint>polygon{fill:#8c97a31a;stroke:var(--steel);stroke-width:1.5px;stroke-dasharray:none;vector-effect:non-scaling-stroke;cursor:move}.roofCanvas .moduleFootprint .modulePanel{fill:var(--pv-glass-soft);stroke:var(--pv-frame);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:move}.roofCanvas .moduleFootprint .modulePanel.selectedPanel{fill:#f59e0b42;stroke:var(--brand);stroke-width:2px;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 8px #f59e0b5c)}.roofCanvas .tablePreviewGhost{pointer-events:none;opacity:.72;filter:drop-shadow(0 18px 18px #0f172a29)}.roofCanvas .tablePreviewGhost>rect{fill:#f59e0b1f;stroke:var(--brand);stroke-width:3px;stroke-dasharray:120 70;vector-effect:non-scaling-stroke}.roofCanvas .tablePreviewGhost .tablePreviewPanel{fill:#0ea5e933;stroke:#0284c7;stroke-width:1.5px;vector-effect:non-scaling-stroke}.roofCanvas .panelMoveGhost{pointer-events:none;opacity:.62}.roofCanvas .panelMoveGhost rect{fill:#f59e0b47;stroke:var(--brand);stroke-width:3px;stroke-dasharray:95 55;vector-effect:non-scaling-stroke;filter:drop-shadow(0 12px 14px #f59e0b3d)}.roofCanvas .moduleFootprint.selectedModule>rect,.roofCanvas .moduleFootprint.selectedModule>polygon{stroke:var(--brand);stroke-width:2.25px;vector-effect:non-scaling-stroke}.roofCanvas .stairPlanDetail{pointer-events:none}.roofCanvas .stairPlanDetail .stairTreads{fill:none;stroke:#26323f8c;stroke-width:1.4px;vector-effect:non-scaling-stroke}.roofCanvas .stairPlanDetail .stairUpArrow{fill:none;stroke:#141e28d9;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.roofCanvasFrame.mapActive .roofCanvas .stairPlanDetail .stairTreads{stroke:#ffffffb3}.roofCanvasFrame.mapActive .roofCanvas .stairPlanDetail .stairUpArrow{stroke:#fffffff2}.roofCanvas .stairPlanDetail .stairRails{fill:none;stroke:#141e28cc;stroke-width:2px;vector-effect:non-scaling-stroke}.roofCanvasFrame.mapActive .roofCanvas .stairPlanDetail .stairRails{stroke:#ffffffe6}.roofCanvas .stairPlanDetail.stair-metal .stairTreads{stroke-dasharray:6 3}.roofCanvas .walkwayPlanDetail{pointer-events:none}.roofCanvas .walkwayPlanDetail .walkwayGrating{fill:none;stroke:#5a420a47;stroke-width:1px;vector-effect:non-scaling-stroke}.roofCanvas .walkwayPlanDetail .walkwayEdge{fill:none;stroke:#5c4208d9;stroke-width:2px;vector-effect:non-scaling-stroke}.roofCanvasFrame.mapActive .roofCanvas .walkwayPlanDetail .walkwayEdge{stroke:#3c2a04f2}.roofCanvas .roofRotated text:not([transform]){transform:rotate(calc(-1 * var(--roof-rot,0deg)));transform-box:fill-box;transform-origin:50%}.roofCanvas .roofRotated .roofCompass text{transform:none}.roofCanvas .tableGridControls{cursor:default}.roofCanvas .tableGridControls>g>rect{fill:#0d1b2ae6;stroke:#ffffffe6;stroke-width:8px;filter:drop-shadow(0 10px 16px #0f172a47)}.roofCanvas .tableGridControls .tableGridSide{fill:var(--ink);stroke:#fffffff2;stroke-width:10px;paint-order:stroke;text-anchor:middle;font:950 150px Manrope,sans-serif}.roofCanvas .tableGridControls .tableGridAction{cursor:pointer}.roofCanvas .tableGridControls .tableGridAction circle{fill:var(--brand);stroke:#fff;stroke-width:8px;transition:fill .12s}.roofCanvas .tableGridControls .tableGridAction:last-of-type circle{fill:#fffffff0;stroke:#fff9}.roofCanvas .tableGridControls .tableGridAction:hover circle{fill:var(--brand-light)}.roofCanvas .tableGridControls .tableGridAction:last-of-type:hover circle{fill:#fff}.roofCanvas .tableGridControls .tableGridAction text{fill:var(--ink);stroke:none;text-anchor:middle;pointer-events:none;font:950 190px Manrope,sans-serif}.azimuthQuickControls{grid-template-columns:auto auto minmax(0,1fr) auto auto;align-items:center;gap:6px;margin-top:10px;display:grid}.azimuthQuickControls span{color:var(--ink-3);text-align:center;font-size:10px;font-weight:750}.azimuthQuickControls button,.drawingAzimuthControls button,.alignTableButton{border:1px solid var(--rule-strong);color:var(--ink);cursor:pointer;background:#fff;border-radius:9px;min-height:34px;font-weight:800}.drawingAzimuthControls{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.alignTableButton{border-color:var(--brand);background:var(--brand-wash-2);color:#9a3412;justify-content:center;align-items:center;gap:7px;display:inline-flex}.roofCanvas .moduleFootprint .moduleLabel{fill:var(--ink);stroke:#ffffffe6;stroke-width:14px;paint-order:stroke;pointer-events:none;font:850 145px Manrope,sans-serif}.roofCanvas .structurePlanLayer{pointer-events:auto}.roofCanvas .structurePlanHitLayer line{fill:none;stroke:#0000;stroke-width:240px;stroke-linecap:round;pointer-events:stroke;cursor:move}.roofCanvas .structurePlanHitLayer circle{fill:#0000;pointer-events:all;cursor:move}.roofCanvas .planMember line{fill:none;stroke-linecap:round;cursor:move;pointer-events:stroke}.roofCanvas .planMember text{fill:var(--ink);stroke:#ffffffe0;stroke-width:18px;paint-order:stroke;font:950 145px Manrope,sans-serif}.roofCanvas .planRafter line{stroke:#7058c3e6;stroke-width:72px}.roofCanvas .planPurlin line{stroke:#228b50db;stroke-width:54px}.roofCanvas .planLeg circle{fill:var(--danger);fill-opacity:1;stroke:#fff;stroke-width:8px;cursor:move;pointer-events:auto}.roofCanvas .planMember:hover line,.roofCanvas .planMember:hover circle{filter:drop-shadow(0 0 10px #f59e0b73)}.roofCanvas .selectedPlanMember line{stroke:var(--brand);stroke-width:92px}.roofCanvas .selectedPlanMember.planPurlin line{stroke-width:76px}.roofCanvas .selectedPlanMember.planLeg circle{fill:var(--brand);stroke:var(--ink);stroke-width:10px}.roofCanvas .groupSelectedPlanMember line{stroke-dasharray:160 85}.roofCanvas .humanMarker{cursor:move}.roofCanvas .humanMarker circle{fill:var(--brand-wash);fill-opacity:.95;stroke:var(--ink);stroke-width:24px}.roofCanvas .humanMarker path{fill:var(--brand);stroke:var(--ink);stroke-width:20px}.roofCanvas .humanMarker text{fill:var(--ink);stroke:#ffffffdb;stroke-width:18px;paint-order:stroke;pointer-events:none;font:900 230px Manrope,sans-serif}.roofCanvas .humanMarker.selectedHuman circle{stroke:var(--brand);stroke-width:40px}.roofCanvas .shapeDimensions .dimensionText{fill:var(--ink);stroke:#fffffff5;stroke-width:20px;paint-order:stroke;dominant-baseline:central;text-anchor:middle;pointer-events:none;font:900 205px Manrope,sans-serif}.roofCanvas .shapeDimensions .editableDimension{pointer-events:auto;cursor:text}.roofCanvas .shapeDimensions .editableDimension:hover{fill:var(--brand-deep)}.roofCanvas .referenceDimension line{stroke:var(--good);stroke-width:1px;stroke-dasharray:none;vector-effect:non-scaling-stroke;pointer-events:none}.roofCanvas .referenceDimension circle{fill:#ecfeff;fill-opacity:1;stroke:var(--good);stroke-width:15px;pointer-events:none}.roofCanvas .referenceDimension text{fill:#064e3b;paint-order:stroke;stroke:#ecfdf5f5;stroke-width:34px;dominant-baseline:central;text-anchor:middle;cursor:text;pointer-events:auto;font:950 315px Manrope,sans-serif}.roofCanvas .referenceDimension text:hover{fill:var(--brand-deep)}.roofCanvas .shapeHandles circle{fill:var(--brand-wash-2);fill-opacity:1;stroke:var(--brand);stroke-width:6px;cursor:pointer;pointer-events:auto}.ignoredToggle{background:var(--surface-3);color:var(--ink);cursor:pointer;border:0;border-radius:13px;grid-column:1/-1;padding:11px 12px;font-weight:900;box-shadow:inset 0 0 0 1px #d7e1eaeb}.ignoredToggle.active{background:var(--brand-wash);color:var(--brand-deep);box-shadow:inset 0 0 0 2px var(--brand)}.ignoredToggle:disabled{opacity:.45;cursor:not-allowed}.roofCanvas .shapeHandles circle:hover{fill:var(--brand)}.roofCanvas .shapeHandles circle.selectedVertex{fill:var(--danger);stroke:#fff;stroke-width:9px;filter:drop-shadow(0 0 10px #e11d4899)}.roofCanvasFrame.mapActive .roofCanvas .shapeHandles circle.selectedVertex{fill:var(--danger);stroke:#fff;stroke-width:8px}.staticMapPlate,.staticMapPlate image{pointer-events:none}.mapPin path{fill:var(--danger);stroke:#fff;stroke-width:52px;filter:drop-shadow(0 18px 20px #0f172a59)}.mapPin circle{fill:#fff;stroke:var(--danger);stroke-width:28px}.roofCanvasFrame.mapActive .roofCanvas .roofShape,.roofCanvasFrame.mapActive .roofCanvas .draftShape,.roofCanvasFrame.mapActive .roofCanvas .moduleFootprint,.roofCanvasFrame.mapActive .roofCanvas .planStructureLayer line{stroke-width:2px;vector-effect:non-scaling-stroke}.roofCanvas .draftHandles circle{fill:#fff;stroke:var(--info)}.roofCanvas .draftHandles circle:hover{fill:var(--info-wash)}.roofCanvas .shapeHandles circle:active{cursor:pointer}.roofCanvas .shapeRotationControl line{stroke:var(--brand);stroke-width:34px;stroke-dasharray:100 55;pointer-events:none}.roofCanvas .shapeRotationControl circle{fill:var(--ink);stroke:var(--brand-light);stroke-width:34px;cursor:crosshair;pointer-events:auto;filter:drop-shadow(0 0 12px #0f172a6b)}.roofCanvas .shapeRotationControl circle:hover{fill:var(--brand)}.roofCanvas .shapeRotationControl text{fill:var(--brand-deep);text-anchor:middle;paint-order:stroke;stroke:#fff;stroke-width:24px;font-weight:950}.rotationHint{color:var(--ink-3);grid-column:1/-1;font-weight:700}.roofCanvas .roofCompass{pointer-events:none}.compassFace{fill:#090d12;stroke:#ffffffeb;stroke-width:24px}.compassTick{stroke:#fff;stroke-width:18px;stroke-linecap:round}.compassTick.major{stroke-width:28px}.compassNorthNeedle{fill:#f43f5e}.compassCardinal{fill:#fff;text-anchor:middle;dominant-baseline:middle;font:900 190px Manrope,sans-serif}.compassCardinal.north{fill:#ff304f}.compassCross{stroke:#ffffff80;stroke-width:18px;stroke-linecap:round}.compassHub{fill:var(--surface-2)}.roofCanvas .roofCompass text{text-anchor:middle;pointer-events:none}.roofCanvas .planPedestal{fill:#b4803e2e;stroke:#7c4a17;stroke-width:7px}.modelCompass{z-index:7;filter:drop-shadow(0 10px 18px #0f172a47);pointer-events:none;border-radius:50%;width:92px;height:92px;position:absolute;top:160px;right:34px}.modelCompass svg{width:100%;height:100%;display:block;overflow:visible}.studioIrradianceLegend{z-index:7;width:190px;color:var(--ink-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);pointer-events:none;background:#ffffffe6;border-radius:14px;gap:7px;padding:11px 12px;display:grid;position:absolute;top:265px;right:28px;box-shadow:0 12px 28px #0f172a29}.studioIrradianceLegend strong{text-transform:uppercase;letter-spacing:.05em;font-size:11px}.studioIrradianceLegend i{background:linear-gradient(90deg,#dc2626,#facc15 72%,#16a34a);border-radius:999px;height:9px}.studioIrradianceLegend span{color:var(--ink-3);justify-content:space-between;font-size:9px;display:flex}.roofHints{color:var(--rule-strong);margin:7px 0 10px;font-size:11px;line-height:1.35}.selectedPlanEditor{background:#ffffffe0;border-radius:16px;gap:10px;margin:8px 0 12px;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #d7e1eaeb}.selectedPlanEditor>div:first-child{gap:2px;display:grid}.selectedPlanEditor span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.selectedPlanEditor strong{font:900 16px Space Grotesk,sans-serif}.selectedPlanEditor button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:10px 12px;font-weight:900}.memberQuickActions{flex-wrap:wrap;gap:7px!important;display:flex!important}.memberQuickActions button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.metroSheetEditor{background:linear-gradient(145deg,#eff6fff5,#ffffffeb);border:1px solid #2563eb2e}.treeEditor{background:linear-gradient(145deg,#f0fdf4f5,#ffffffeb);border:1px solid #15803d33}.towerEditor{background:linear-gradient(145deg,#f8fafcfa,#ffffffeb);border:1px solid #64748b3d}.metroSheetEditor>small{color:var(--ink-3);font-size:10px;font-weight:700}.colorInputWrap{grid-template-columns:46px minmax(0,1fr);align-items:center;gap:6px;display:grid}.colorInputWrap input[type=color]{border:1px solid var(--rule-strong);cursor:pointer;background:#fff;border-radius:9px;width:46px;height:38px;padding:3px}.colorInputWrap input[type=text]{min-width:0}.sheetColourPresets{margin-top:5px;gap:5px!important;display:flex!important}.sheetColourPresets button{border:1px solid var(--rule-strong);min-height:30px;color:var(--ink-2);background:#fff;border-radius:8px;flex:1 1 0;padding:5px 7px;font-size:10px}.sheetColourPresets button.active{border-color:var(--info);box-shadow:inset 0 0 0 1px var(--info)}.sheetColourPresets i{border:1px solid var(--ink-3);border-radius:50%;width:13px;height:13px}.sunReadout{color:var(--brand-deep);background:#fff7edf2;border-radius:13px;grid-column:1/-1;padding:9px 11px;font-size:12px;font-weight:850;box-shadow:inset 0 0 0 1px #fbbf2459}.shadowPanel{background:#ffffffe6;border-radius:18px;grid-column:1/-1;gap:12px;padding:14px;display:grid;box-shadow:inset 0 0 0 1px #d7e1eaeb}.modelSunPanel{z-index:7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;gap:10px;width:auto;margin:0;padding:12px 14px;position:absolute;bottom:30px;left:30px;right:30px;box-shadow:0 20px 50px #0f172a2e,inset 0 0 0 1px #d7e1eaeb}.shadowHeader{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.shadowHeader div{gap:2px;display:grid}.shadowHeader strong{font:900 15px Space Grotesk,sans-serif}.shadowHeader small{color:var(--muted);font-size:11px;font-weight:800}.shadowHeader span{color:var(--muted);font-size:12px;font-weight:800}.sunControlGrid{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr);align-items:end;gap:12px;display:grid}.sunLocationGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.sunLocationGrid .field{margin:0}.sunLocationGrid .field label{font-size:10px}.sunLocationGrid .inputWrap input{min-height:34px;padding:7px 9px}.shadowRange{gap:5px;display:grid}.shadowRangeTop{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;font-size:11px;font-weight:900;display:flex}.shadowRange input[type=range]{accent-color:#2f80ed;padding:0}.rangeLabels{color:#8a97a5;justify-content:space-between;font-size:11px;font-weight:850;display:flex}.quickSun{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.quickSun button{background:var(--surface-2);color:var(--ink);cursor:pointer;border:0;border-radius:12px;padding:10px;font-size:12px;font-weight:900;box-shadow:0 8px 18px #2f405214,inset 0 0 0 1px #e2e8f0}.quickSun button.active{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 1px var(--ink)}@media (width<=1180px){.sunControlGrid{grid-template-columns:1fr}.quickSun{grid-template-columns:1fr 1fr}.modelSunPanel{width:auto;max-height:46%;bottom:16px;left:16px;right:16px;overflow-y:auto}.fileManagerWorkspace{min-height:720px;padding:18px}.engineeringWorkspace{min-height:720px;padding:16px}}@media (width<=720px){.accountIdentity{display:none}.accountMenuPopover{width:auto;position:fixed;top:72px;left:12px;right:12px}.fileManagerHeader,.fileManagerToolbar{flex-direction:column;align-items:stretch}.fileManagerNew,.fileManagerToolbar label,.fileManagerToolbar label:first-child,.fileManagerToolbar label:last-child{width:100%}.fileManagerWorkspace{padding:14px}.engineeringHeader{flex-direction:column;align-items:stretch}.engineeringViewTabs{overflow-x:auto}.engineeringViewTabs button{flex:1 0 auto}.engineeringNotes{grid-template-columns:1fr}.shareDialog{padding:22px 18px 18px}.shareDialogActions{grid-template-columns:1fr}.locationPickerBackdrop{padding:10px}.locationPickerDialog{border-radius:20px;max-height:calc(100vh - 20px);padding:18px 14px 14px}.locationPickerHeading h2{font-size:20px}.locationPickerMap{border-radius:15px;height:48vh;min-height:280px}.locationPickerSelection,.locationPickerActions{grid-template-columns:1fr}}.app.device-tablet button,.app.device-mobile button{min-height:40px}.app.device-tablet .iconTool,.app.device-mobile .iconTool{width:42px;height:42px}.app.device-mobile .toolGroup:before,.app.device-tablet .toolGroup:before{display:block}.app.device-tablet{grid-template-columns:minmax(0,1fr)}.app.device-tablet .sidebar{border-bottom:1px solid #ffffff1f;max-height:42vh}.app.device-tablet.sidebarCollapsed .sidebar{display:none}.app.device-tablet .roofToolLarge{grid-template-columns:minmax(0,1fr) 320px;height:auto;min-height:calc(100vh - 150px);overflow:visible}.app.device-tablet .roofToolLarge>.roofSidePanel{max-height:none;overflow-y:visible}.app.device-mobile{grid-template-columns:minmax(0,1fr)}.app.device-mobile .sidebar{max-height:50vh}.app.device-mobile.sidebarCollapsed .sidebar{display:none}.app.device-mobile .workspace{padding:10px 10px 20px}.app.device-mobile .roofToolLarge{height:auto;min-height:0;padding:var(--space-2);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);overflow:visible}.app.device-mobile .roofToolLarge>.toolStrip,.app.device-mobile .roofToolLarge>.roofCanvasArea,.app.device-mobile .roofToolLarge>.roofSidePanel{grid-area:auto/1}.app.device-mobile .roofToolLarge>.roofCanvasArea{order:1}.app.device-mobile .roofToolLarge>.roofSidePanel{order:3}.app.device-mobile .roofCanvasFrame{aspect-ratio:1;flex:none;max-width:none}.app.device-mobile .roofToolLarge>.roofSidePanel{max-height:none;overflow-y:visible}.app.device-mobile .grid.two{grid-template-columns:minmax(0,1fr)}.app.device-mobile .mainCanvasSwitch{gap:6px;margin:-10px -10px 8px;padding:10px 10px 8px}.app.device-mobile .mainCanvasSwitch .viewTabs{-webkit-overflow-scrolling:touch;order:-1;width:100%;overflow-x:auto}.app.device-mobile .deviceModeSwitch{order:2}.app.device-mobile .canvasOverlayControls{opacity:.92;bottom:6px;left:6px;right:6px}.app.device-mobile .canvasOverlayControls .boardRotationSlider{width:70px}.deviceModeSwitch button{padding:7px 12px}@media (width<=900px){.deviceModeSwitch button{font-size:var(--text-sm);padding:7px 10px}}.app.device-mobile .roofCanvas,.app.device-tablet .roofCanvas,.app.device-mobile .roofCanvasFrame,.app.device-tablet .roofCanvasFrame{touch-action:none;overscroll-behavior:contain}.app.device-mobile{height:100dvh;overflow:hidden}.app.device-mobile .workspace{height:100dvh;padding:0;overflow:hidden}.app.device-mobile .roofToolLarge{grid-template-rows:minmax(0,1fr);gap:0;height:100dvh;padding:0}.app.device-mobile .roofToolLarge>.roofCanvasArea{order:1;height:100dvh;padding-top:56px}.app.device-mobile .roofCanvasFrame{aspect-ratio:auto;height:100%;box-shadow:none;border-radius:0}.app.device-mobile .mainCanvasSwitch{z-index:60;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f9fbeb;margin:0;padding:6px 8px;position:fixed;top:0;left:0;right:0}.app.device-mobile .mainCanvasSwitch .viewTabs{flex:auto}.app.device-mobile .reportShareButton,.app.device-mobile .clientPublishButton,.app.device-mobile .userManagementButton{display:none}.app.device-mobile .roofToolLarge>.toolStrip,.app.device-mobile .roofToolLarge>.roofSidePanel{z-index:55;overscroll-behavior:contain;max-height:46dvh;padding:10px 10px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--rule);border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -12px 34px #0f172a29}.app.device-mobile .roofToolLarge>.toolStrip{order:2}.app.device-mobile .roofToolLarge>.roofSidePanel{border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:0;border-bottom:1px solid var(--rule);order:3;max-height:calc(100dvh - 120px);display:none;top:56px;bottom:auto;box-shadow:0 12px 34px #0f172a29}.app.device-mobile:not(.sidebarCollapsed) .roofToolLarge>.roofSidePanel{display:flex}.app.device-mobile .sidebar{z-index:58;max-height:none;position:fixed;inset:56px 0 0;overflow-y:auto}.app.device-mobile .canvasOverlayControls{justify-content:center;bottom:calc(46dvh + 10px);left:8px;right:8px}.app.device-tablet .roofCanvasFrame{touch-action:none}.app.device-mobile .roofMapToolbar{z-index:50;border-radius:var(--radius);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);background:#ffffffe6;gap:6px;margin:0;padding:6px;position:absolute;top:60px;left:6px;right:6px}.app.device-mobile .roofCanvasArea{padding-top:56px;position:relative}.app.device-mobile .roofMapToolbar .mapSearchForm{flex:100%}.app.device-mobile .roofMapToolbar .mapOpacityControl{display:none}.mobileStageBar{gap:4px;width:100%;display:none}.app.device-mobile .mobileStageBar{display:flex}.mobileStageBar button{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);min-height:44px;color:var(--ink-3);font-size:11px;font-weight:var(--weight-bold);cursor:pointer;flex-direction:column;flex:1 1 0;align-items:center;gap:1px;padding:4px 2px;display:flex}.mobileStageBar button .stageStep{background:var(--surface-2);width:18px;height:18px;color:var(--ink-3);font-size:10px;font-weight:var(--weight-heavy);border-radius:50%;place-items:center;display:grid}.mobileStageBar button.active{background:var(--navy);border-color:var(--navy);color:#fff}.mobileStageBar button.active .stageStep{background:var(--brand);color:var(--brand-ink)}.app.device-mobile .mainCanvasSwitch .viewTabs,.app.device-mobile .deviceModeSwitch{display:none}.app.device-mobile .mainCanvasSwitch{gap:4px;padding:5px 6px}.stageField{gap:4px;width:100%;display:grid}.stageField>span{font-size:var(--text-xs);font-weight:var(--weight-heavy);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-3)}.stageField input{border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--surface);min-height:42px;color:var(--ink);padding:8px 12px;font-size:16px}.stageHint{font-size:var(--text-sm);color:var(--ink-3);margin:0;line-height:1.45}.toolGroup.stageSite,.toolGroup.stageOutput{align-items:stretch;gap:var(--space-3);flex-direction:column;width:100%}.toolGroup.stageOutput .btn{width:100%}.app.device-mobile .roofMapToolbar{flex-wrap:wrap}.app.device-mobile .roofMapToolbar .mapSearchForm{flex:100%;min-width:0}.app.device-mobile .roofMapToolbar .mapSearchBox{width:100%}.app.device-mobile .roofMapToolbar .mapSearchBox input{width:100%;font-size:16px}.app.device-mobile .roofMapToolbar .selectAreaButton{flex:auto}.app.device-mobile .roofToolLarge>.toolStrip{max-height:32dvh}.app.device-mobile .canvasOverlayControls{bottom:calc(32dvh + 8px)}.app.device-mobile .roofMapToolbar{top:108px}.app.device-mobile .roofCanvasArea{padding-top:104px}.app.device-mobile .mainCanvasSwitch{flex-wrap:wrap;align-items:center}.app.device-mobile .accountMenuTrigger{margin-left:auto}.app.device-mobile .roofTool:not(.stage-site) .roofMapToolbar{display:none}.app.device-mobile .roofTool:not(.stage-site) .roofCanvasArea{padding-top:104px}.app.device-mobile .canvasOverlayControls{display:none}.app.device-mobile .canvasOverlayControls.drawingPolygon{opacity:1;display:flex;bottom:calc(32dvh + 10px);left:50%;right:auto;transform:translate(-50%)}.app.device-mobile .canvasOverlayControls.drawingPolygon button{display:none}.app.device-mobile .canvasOverlayControls.drawingPolygon button:first-child{min-height:44px;font-weight:var(--weight-heavy);padding:0 20px;display:inline-flex}.app.device-mobile .roofToolLarge>.roofSidePanel.sheetOpen{border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-top:1px solid var(--rule);z-index:57;border-bottom:0;max-height:52dvh;display:flex;top:auto;bottom:0;box-shadow:0 -14px 36px #0f172a38}.app.device-mobile .roofToolLarge:has(>.roofSidePanel.sheetOpen)>.toolStrip{border:0;max-height:0;padding:0;overflow:hidden}.mobileViewToggle{display:none}.app.device-mobile .mobileViewToggle{border:1px solid var(--rule);border-radius:var(--radius);background:var(--surface);min-width:46px;min-height:40px;color:var(--ink);font-size:var(--text-base);font-weight:var(--weight-heavy);justify-content:center;align-items:center;margin-left:6px;display:inline-flex}.app.device-mobile .mobileViewToggle.active{background:var(--navy);border-color:var(--navy);color:#fff}.app.device-mobile .webglCanvas{height:calc(100dvh - 110px)}.sheetHeader{display:none}.app.device-mobile .roofSidePanel.sheetOpen .sheetHeader{justify-content:space-between;align-items:center;gap:var(--space-2);z-index:2;background:var(--surface);border-bottom:1px solid var(--rule-soft);margin:-10px -10px 6px;padding:10px;display:flex;position:sticky;top:0}.app.device-mobile .roofSidePanel.sheetOpen .sheetHeader strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.sheetHeaderActions{flex:none;gap:6px;display:flex}.app.device-mobile .roofHints{display:none}.app.device-mobile .shapeHandles circle,.app.device-tablet .shapeHandles circle,.app.device-mobile .draftHandles circle,.app.device-tablet .draftHandles circle{stroke-width:3px}.app.device-mobile .modelViewerHeader,.app.device-mobile .viewNavControls{z-index:20;-webkit-overflow-scrolling:touch;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f9fbf0;flex-wrap:nowrap;gap:6px;padding:6px 8px;display:flex;position:sticky;top:0;overflow-x:auto}.app.device-mobile .modelViewerHeader>*,.app.device-mobile .viewNavControls>*{flex:none}.app.device-mobile .webglCanvas{border-radius:0;height:calc(100dvh - 250px);min-height:0}.app.device-mobile .sunPathPanel{max-height:34dvh;padding:8px 10px calc(8px + env(safe-area-inset-bottom));overflow-y:auto}.roofCanvas .draftHandles circle.draftFirstPoint{fill:var(--brand);stroke:#fff;stroke-width:2.5px;vector-effect:non-scaling-stroke}
