@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-ext-wght-normal-DmpS2jIq.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Plus Jakarta Sans Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/plus-jakarta-sans-latin-wght-normal-eXO_dkmS.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--mhg-deep-teal:#0e6b6b;--mhg-fresh-green:#7ed957;--mhg-aqua:#4dd0e1;--mhg-off-white:#f5f8fa;--mhg-navy:#0b2f45;--mhg-white:#fff;--teal-50:#e8f4f3;--teal-100:#cde6e4;--teal-200:#a3d1cd;--teal-500:#11807d;--teal-600:#0e6b6b;--teal-700:#0b5858;--teal-800:#084545;--teal-900:#063434;--green-50:#f0faea;--green-100:#ddf4cf;--green-300:#a6e58a;--green-400:#7ed957;--green-600:#4ca82c;--green-700:#2f7a1b;--aqua-50:#e6f8fb;--aqua-100:#c7eff5;--aqua-400:#4dd0e1;--aqua-700:#0a7a88;--navy-900:#0b2f45;--navy-700:#24485e;--navy-500:#4a6476;--navy-400:#6e8594;--navy-300:#9fb2be;--navy-200:#c9d6de;--navy-100:#e2eaef;--navy-50:#eef3f6;--color-background:var(--mhg-off-white);--color-surface:var(--mhg-white);--color-surface-muted:var(--navy-50);--color-surface-sunken:var(--navy-100);--color-text:var(--mhg-navy);--color-muted:var(--navy-500);--color-border:#dce5ea;--color-border-strong:#c2d0d8;--color-brand:var(--mhg-deep-teal);--color-brand-strong:var(--teal-700);--color-brand-soft:var(--teal-50);--color-accent:var(--mhg-fresh-green);--color-accent-strong:var(--green-700);--color-accent-soft:var(--green-50);--color-info:var(--aqua-700);--color-info-soft:var(--aqua-50);--color-success:#19724a;--color-success-soft:#e6f5ec;--color-warning:#8a5418;--color-warning-soft:#fff4e5;--color-danger:#b3261e;--color-danger-strong:#8c1d18;--color-danger-soft:#fceae9;--color-water:#268ca5;--color-plan-sheet:#e8ede4;--color-on-brand:var(--mhg-white);--color-on-accent:var(--mhg-navy);--color-on-dark:var(--mhg-white);--color-on-dark-muted:#ffffffd6;--color-surface-inverse:var(--mhg-navy);--color-focus:var(--mhg-deep-teal);--color-focus-on-dark:var(--mhg-aqua);--color-info-border:#b5e3ea;--color-success-border:#b9dfc8;--color-warning-border:#f2d6ae;--color-danger-border:#f2c4c1;--color-scrim:#0b2f4566;--color-scroll-shadow:#0b2f4529;--gradient-brand:linear-gradient(135deg, #0e6b6b 0%, #179c8f 50%, #7ed957 100%);--gradient-primary:linear-gradient(180deg, #11807d 0%, #0e6b6b 100%);--gradient-primary-hover:linear-gradient(180deg, #0e6b6b 0%, #0b5858 100%);--gradient-fresh:linear-gradient(135deg, #4dd0e1 0%, #7ed957 100%);--gradient-premium:linear-gradient(135deg, #0b2f45 0%, #0e6b6b 70%, #148f8a 100%);--gradient-hero-scrim:linear-gradient(180deg, #0b2f4500 35%, #0b2f45b8 100%);--glass-surface:#ffffffbd;--glass-surface-strong:#ffffffe0;--glass-border:#ffffffa6;--glass-outline:#0b2f4514;--glass-blur:14px;--glass-filter:blur(var(--glass-blur)) saturate(1.4);--glass-shadow:var(--shadow-2);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-xs:6px;--radius-control:12px;--radius-panel:18px;--radius-card:20px;--radius-pill:999px;--shadow-1:0 1px 2px #0b2f450d, 0 2px 8px #0b2f450d;--shadow-2:0 6px 24px #0b2f451f;--shadow-3:0 18px 48px #0b2f452e;--shadow-card:var(--shadow-1);--shadow-float:var(--shadow-2);--motion-fast:.12s;--motion-normal:.16s;--motion-slow:.24s;--ease-out:cubic-bezier(.2, .8, .2, 1);--font:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Plus Jakarta Sans Variable", "Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--tracking-display:-.01em;--text-xs:12px;--leading-xs:16px;--text-sm:13px;--leading-sm:18px;--text-base:15px;--leading-base:22px;--text-md:17px;--leading-md:24px;--text-lg:20px;--leading-lg:28px;--text-xl:24px;--leading-xl:32px;--text-2xl:30px;--leading-2xl:38px;--text-3xl:40px;--leading-3xl:48px;--topbar-height:64px;--touch:44px;--touch-lg:48px}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-normal:0s;--motion-slow:0s}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){:root{--glass-surface:var(--color-surface);--glass-surface-strong:var(--color-surface);--glass-filter:none}}@media (prefers-reduced-transparency:reduce){:root{--glass-surface:var(--color-surface);--glass-surface-strong:var(--color-surface);--glass-border:var(--color-border);--glass-filter:none}}@media (prefers-contrast:more){:root{--color-muted:var(--navy-700);--color-border:var(--navy-300);--color-border-strong:var(--navy-400);--glass-surface:var(--color-surface);--glass-surface-strong:var(--color-surface);--glass-border:var(--color-border-strong);--glass-outline:var(--color-border-strong);--glass-filter:none}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font);font-size:var(--text-base);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;line-height:1.45}h1,h2,h3{margin:0;line-height:1.2}.display,.dashboard h1,.dashboard h2,.dialog-header h2,.sheet-header h2,.workspace-header h1,.section-title{font-family:var(--font-display);letter-spacing:var(--tracking-display);font-weight:750}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.on-dark :focus-visible{outline-color:var(--color-focus-on-dark)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}[hidden]{display:none!important}.muted{color:var(--color-muted)}.small{font-size:var(--text-sm)}.mono{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin:0;font-size:12px;font-weight:600}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--touch);padding:0 var(--space-4);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);white-space:nowrap;font-weight:600;display:inline-flex}.button:hover:not(:disabled){border-color:var(--navy-300);background:var(--color-surface-muted)}.button-primary{background:var(--gradient-primary);color:var(--color-on-brand);box-shadow:var(--shadow-1);border-color:#0000}.button-primary:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-2);border-color:#0000}.button-primary:active:not(:disabled){background:var(--color-brand-strong);box-shadow:none}.button-ghost{color:var(--color-brand);background:0 0;border-color:#0000}.button-ghost:hover:not(:disabled){background:var(--color-brand-soft);color:var(--color-brand-strong);border-color:#0000}.button-danger{border-color:var(--color-danger);background:var(--color-danger);color:var(--color-on-brand)}.button-danger:hover:not(:disabled){border-color:var(--color-danger-strong);background:var(--color-danger-strong)}.button-danger-outline{color:var(--color-danger)}.button-danger-outline:hover:not(:disabled){border-color:var(--color-danger-border);background:var(--color-danger-soft)}.button-fresh{background:var(--gradient-fresh);color:var(--color-on-accent);box-shadow:var(--shadow-2);border-color:#0000}.button-fresh:hover:not(:disabled){background:var(--mhg-fresh-green);border-color:#0000}.button-lg{min-height:var(--touch-lg);padding-inline:var(--space-6);font-size:var(--text-md)}.icon-button{width:var(--touch);height:var(--touch);border-radius:var(--radius-control);color:inherit;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){background:var(--color-surface-muted)}.icon-button.danger{color:var(--color-danger)}.icon-button.danger:hover:not(:disabled){background:var(--color-danger-soft)}button:disabled{opacity:.45;cursor:not-allowed}.link-button{white-space:nowrap;align-items:center;gap:var(--space-1);min-height:var(--touch);padding:0 var(--space-2);border-radius:var(--radius-control);color:var(--color-muted);cursor:pointer;background:0 0;border:0;display:inline-flex}.link-button:hover{color:var(--color-brand-strong)}.segmented{border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);padding:3px;display:inline-flex}.segmented-item{min-width:52px;min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-muted);cursor:pointer;transition:background-color var(--motion-normal) var(--ease-out), color var(--motion-normal) var(--ease-out), box-shadow var(--motion-normal) var(--ease-out);background:0 0;border:0;font-weight:600}.segmented-item:hover:not([aria-pressed=true]):not(:disabled){color:var(--color-text)}.segmented-item[aria-pressed=true]{background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-1), 0 0 0 1px var(--glass-outline)}.field{align-items:center;gap:var(--space-1) var(--space-3);margin-block:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(112px,150px);display:grid}.field-text{grid-template-columns:1fr}.field-select{grid-template-columns:minmax(0,1fr)}.field-addon{grid-template-columns:minmax(0,1fr) auto}.field-addon>.field-label{grid-column:1/-1}.field-addon-actions{gap:var(--space-1);display:flex}.icon-button.stepper{border-color:var(--color-border-strong);background:var(--color-surface)}.field-label{color:var(--color-muted);overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;font-size:14px}.side-right .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon){grid-template-columns:minmax(0,1fr) 124px}.field-error{align-items:flex-start;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-danger);grid-column:1/-1;margin:0;display:flex}.field-error:before{content:"";width:14px;height:14px;-webkit-mask:var(--icon-alert-mask) center / contain no-repeat;-webkit-mask:var(--icon-alert-mask) center / contain no-repeat;mask:var(--icon-alert-mask) center / contain no-repeat;background:currentColor;flex:none;margin-top:2px}:root{--icon-alert-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm-1 4v5h2V4zm0 6v2h2v-2z'/%3E%3C/svg%3E")}.input-unit{min-height:var(--touch);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);transition:border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);align-items:center;display:flex}.input-unit:hover:not(:focus-within):not(.is-invalid),.text-input:hover:not(:focus):not(.is-invalid),.select:hover:not(:focus):not(.is-invalid){border-color:var(--navy-300)}.input-unit:focus-within,.text-input:focus,.select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-brand) 22%, transparent)}.input-unit.is-invalid,.text-input.is-invalid,.select.is-invalid{border-color:var(--color-danger);background-color:var(--color-danger-soft)}.input-unit input{width:100%;min-width:0;padding:0 var(--space-2) 0 var(--space-3);text-align:end;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;flex:1;align-self:stretch;margin-block:-1px;font-weight:600}.input-unit input:disabled{color:var(--color-muted)}.unit{color:var(--color-muted);font-size:var(--text-sm);padding-inline-end:var(--space-3)}.text-input,.select{width:100%;min-height:var(--touch);padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background-color:var(--color-surface);color:var(--color-text)}.text-input::placeholder{color:var(--navy-400)}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--color-muted) 50%), linear-gradient(135deg, var(--color-muted) 50%, transparent 50%);background-position:calc(100% - 22px),calc(100% - 17px);background-repeat:no-repeat;background-size:5px 5px}.select:disabled{color:var(--color-muted);background-color:var(--color-surface-muted)}.select-compact{width:auto;min-height:40px;padding-inline-end:calc(var(--space-3) + 24px)}@media (pointer:coarse){.select-compact{min-height:var(--touch)}}.field-toggle .switch{width:22px;height:22px;accent-color:var(--color-brand);justify-self:end}.field-group{margin:0 0 var(--space-4);border:0;padding:0}.field-group legend{margin-bottom:var(--space-1);padding:0;font-size:14px;font-weight:700}.derived{margin:var(--space-2) 0 0;color:var(--color-muted);font-variant-numeric:tabular-nums;font-size:13px}.support-actions{gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.banner{gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-control);border:1px solid #0000;align-items:flex-start;font-size:14px;line-height:1.45;display:flex}.banner svg{flex:none;margin-top:1px}.banner-warning,.banner-note{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning)}.banner-danger{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger)}.banner-success{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success)}.banner-info{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info)}.hint-ok{gap:var(--space-2);color:var(--color-success);font-size:var(--text-sm);align-items:center;display:flex}.topbar{align-items:center;gap:var(--space-3);min-height:var(--topbar-height);padding:var(--space-1) var(--space-5);padding-top:max(var(--space-1), env(safe-area-inset-top));background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;display:flex;position:relative}.topbar-spacer{flex:1}.breadcrumb{align-items:center;gap:var(--space-1);min-width:0;border-inline-start:1px solid var(--color-border);padding-inline-start:var(--space-3);display:flex}.breadcrumb-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.breadcrumb-sep{color:var(--color-muted)}.save-status{align-items:center;gap:var(--space-2);color:var(--color-muted);white-space:nowrap;font-size:13px;display:inline-flex}.save-status .dot{background:var(--color-success);width:8px;height:8px;box-shadow:0 0 0 3px var(--color-success-soft);border-radius:50%;flex:none}.save-pending .dot{background:var(--color-warning);box-shadow:0 0 0 3px var(--color-warning-soft)}.save-error{color:var(--color-danger)}.save-error .dot{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.save-conflict{color:var(--color-danger)}.save-conflict .dot{background:var(--color-danger);box-shadow:0 0 0 3px var(--color-danger-soft)}.conflict-banner{border-width:0 0 1px;border-radius:0;margin:0}.conflict-banner-body{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.conflict-banner-body p{overflow-wrap:anywhere;margin:0}.conflict-banner-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.dashboard{--dashboard-max:1200px;background:radial-gradient(1100px 560px at 88% -8%, var(--aqua-50), transparent 70%), radial-gradient(900px 520px at -12% 12%, var(--green-50), transparent 72%), var(--color-background);min-height:100%}.dashboard-topbar-brand{min-width:0;display:none}.dashboard>.topbar{padding-inline:max(var(--space-5), calc((100% - var(--dashboard-max)) / 2 + var(--space-5)));background:0 0;border-bottom-color:#0000}.dashboard-main{max-width:var(--dashboard-max);padding:var(--space-4) var(--space-5) calc(var(--space-16) + env(safe-area-inset-bottom));margin:0 auto}.home-hero{align-items:center;gap:var(--space-12);padding-block:var(--space-6) var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);display:grid}.home-hero-brand{margin-bottom:var(--space-6)}.home-eyebrow{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);padding:6px var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-1), 0 0 0 1px var(--glass-outline);color:var(--color-brand-strong);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-sm);display:inline-flex}.home-eyebrow svg{color:var(--color-accent-strong)}.home-title{font-size:var(--text-3xl);line-height:var(--leading-3xl);text-wrap:balance;font-weight:800}.home-title-accent{color:var(--color-accent-strong)}.home-rule{width:56px;height:4px;margin:var(--space-5) 0;border-radius:var(--radius-pill);background:var(--color-brand);display:block}.home-lede{max-width:34em;margin:0 0 var(--space-6);color:var(--color-muted);font-size:var(--text-md);line-height:var(--leading-md)}.home-cta-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.home-cta-row>.button{white-space:normal;text-align:center;max-inline-size:100%}.home-cta{padding-inline:var(--space-6) var(--space-5)}.home-continue-hint{margin:var(--space-2) 0 0;color:var(--color-muted);font-size:var(--text-sm);overflow-wrap:anywhere}.home-facts{gap:var(--space-2) var(--space-5);margin:var(--space-6) 0 0;color:var(--color-muted);font-size:var(--text-sm);flex-wrap:wrap;padding:0;font-weight:500;list-style:none;display:flex}.home-facts li{align-items:center;gap:6px;display:inline-flex}.home-facts svg{color:var(--color-success);flex:none}.home-hero-media{aspect-ratio:16/10;border-radius:var(--radius-card);background:var(--color-plan-sheet);box-shadow:var(--shadow-3);margin:0;position:relative;overflow:hidden}.home-hero-media img{object-fit:cover;width:100%;height:100%;display:block}.home-hero-caption{max-inline-size:calc(100% - 2 * var(--space-4));align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border-radius:var(--radius-pill);background:var(--glass-surface-strong);box-shadow:inset 0 0 0 1px var(--glass-border), 0 0 0 1px var(--glass-outline), var(--glass-shadow);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter);color:var(--color-text);font-size:var(--text-sm);font-weight:600;line-height:var(--leading-sm);display:inline-flex;position:absolute;inset-block-end:var(--space-4);inset-inline-start:var(--space-4)}.home-hero-caption svg{color:var(--color-brand);flex:none}.home-section{margin-top:var(--space-12)}.home-section-head{margin-bottom:var(--space-5)}.home-section-head h2,.section-header h2{font-size:var(--text-xl);line-height:var(--leading-xl)}.home-section-head p{max-width:46em;margin:var(--space-1) 0 0}.entry-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));display:grid}.entry-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-1);color:var(--color-text);text-align:start;cursor:pointer;transition:box-shadow var(--motion-normal) var(--ease-out), border-color var(--motion-normal) var(--ease-out), translate var(--motion-normal) var(--ease-out);flex-direction:column;padding:0;display:flex;overflow:hidden}.entry-card:hover{border-color:var(--teal-200);box-shadow:var(--shadow-2);translate:0 -2px}.entry-media{background:var(--color-plan-sheet);height:184px;display:block;overflow:hidden}.entry-body{gap:var(--space-1);padding:var(--space-4) var(--space-5) var(--space-5);display:grid}.entry-title{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--text-md);line-height:var(--leading-md);font-weight:700;display:flex}.entry-title svg{color:var(--color-brand);transition:translate var(--motion-normal) var(--ease-out);flex:none}.entry-card:hover .entry-title svg{translate:3px}.entry-text{color:var(--color-muted);overflow-wrap:anywhere;font-size:14px}.section-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.project-list{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,264px),1fr));margin:0;padding:0;list-style:none;display:grid}.project-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-1);transition:box-shadow var(--motion-normal) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.project-card:hover{box-shadow:var(--shadow-2)}.project-open{min-width:0;min-height:var(--touch);padding:0 0 var(--space-3);color:var(--color-text);text-align:start;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;align-items:stretch;gap:2px;display:flex}.project-open:focus-visible{outline-offset:-3px;border-radius:var(--radius-card) var(--radius-card) 0 0}.project-open:hover .project-name{color:var(--color-brand-strong)}.project-thumb{height:148px;margin-bottom:var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-plan-sheet);display:block;overflow:hidden}.project-name{padding-inline:var(--space-4);overflow-wrap:anywhere;font-weight:700}.project-meta{padding-inline:var(--space-4);color:var(--color-muted);font-size:var(--text-sm)}.project-actions{padding:var(--space-1) var(--space-2);border-top:1px solid var(--color-border);color:var(--color-muted);justify-content:flex-end;gap:2px;display:flex}.empty-state{padding:var(--space-6);border:1px dashed var(--color-border-strong);border-radius:var(--radius-card);background:color-mix(in srgb, var(--color-surface) 60%, transparent);color:var(--color-muted);text-align:center}.tier-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(min(100%,228px),1fr));display:grid}.tier-card{min-width:0;padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface)}.tier-card-now{border-color:var(--teal-200);box-shadow:var(--shadow-1)}.tier-head{justify-items:start;gap:var(--space-2);margin-bottom:var(--space-4);display:grid}.tier-head .status-pill{order:-1}.tier-head h3{align-items:center;gap:var(--space-2);min-width:0;font-size:var(--text-md);line-height:var(--leading-md);overflow-wrap:break-word;flex-wrap:wrap;font-weight:700;display:flex}.status-pill{border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-muted);font-size:var(--text-xs);font-weight:600;line-height:var(--leading-xs);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:2px 10px;display:inline-flex}.status-pill-now{background:var(--color-success-soft);color:var(--color-success)}.status-pill .dot{background:currentColor;border-radius:50%;width:6px;height:6px}.tier-list{gap:var(--space-2);margin:0;padding:0;font-size:14px;list-style:none;display:grid}.tier-list li{align-items:flex-start;gap:var(--space-2);display:flex}.tier-list svg{color:var(--color-success);flex:none;margin-top:1px}.tier-list-planned{color:var(--color-muted)}.tier-list-planned svg{color:var(--navy-400)}.home-how-note{margin:var(--space-4) 0 0}.premium-badge{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--gradient-premium);color:var(--color-on-dark);font-size:var(--text-xs);font-weight:700;line-height:var(--leading-xs);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:4px;display:inline-flex}@media (width<=1023px){.home-hero{gap:var(--space-8);grid-template-columns:minmax(0,1fr)}.home-hero-media{aspect-ratio:16/9}}@media (width<=599px){.dashboard>.topbar,.dashboard-main{padding-inline:var(--space-4)}.home-hero{gap:var(--space-6);padding-top:var(--space-2)}.home-hero-media{order:-1}.home-hero-brand{display:none}.dashboard-topbar-brand{display:contents}.home-hero-caption{max-inline-size:calc(100% - 2 * var(--space-3));padding:6px var(--space-3) 6px var(--space-2);font-size:var(--text-xs);line-height:var(--leading-xs);inset-block-end:var(--space-3);inset-inline-start:var(--space-3)}.home-title{font-size:var(--text-2xl);line-height:var(--leading-2xl)}.home-cta-row>.button{min-height:var(--touch-lg);flex:100%}.home-section{margin-top:var(--space-10)}}@media (prefers-reduced-motion:reduce){.entry-card:hover,.entry-card:hover .entry-title svg{translate:none}}.center-message{place-content:center;gap:var(--space-4);min-height:100%;padding:var(--space-6);text-align:center;display:grid}.dialog,.sheet{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-3);border:0;padding:0}.dialog{border-radius:var(--radius-card);width:min(480px,100vw - 32px)}.dialog::backdrop,.sheet::backdrop{background:var(--color-scrim)}.dialog[open],.sheet[open]{animation:dialog-in var(--motion-slow) var(--ease-out)}@keyframes dialog-in{0%{opacity:0;translate:0 12px}}.dialog-header,.sheet-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-2) var(--space-6);display:flex}.dialog-header h2,.sheet-header h2{font-size:var(--text-lg);line-height:var(--leading-lg)}.dialog-header .icon-button,.sheet-header .icon-button{color:var(--color-muted)}.dialog-body{padding:0 var(--space-6) var(--space-3)}.dialog-footer{justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-6) var(--space-6);flex-wrap:wrap;display:flex}@media (width<=599px){dialog.dialog{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:100%;margin:auto 0 0}.dialog-header{padding-inline-start:var(--space-4)}.dialog-body{padding-inline:var(--space-4)}.dialog-footer{padding:var(--space-3) var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom))}}.sheet{border-radius:var(--radius-card) var(--radius-card) 0 0;width:100%;max-width:100%;max-height:min(88dvh,88vh);margin:auto 0 0}.sheet-inner{flex-direction:column;max-height:min(88dvh,88vh);display:flex}.sheet-inner:before{content:"";width:40px;height:4px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--navy-200);flex:none;align-self:center}@media (width<=599px){.dialog .dialog-inner:before{content:"";width:40px;height:4px;margin-top:var(--space-2);border-radius:var(--radius-pill);background:var(--navy-200);flex:none;align-self:center}}.sheet-header{padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4)}.sheet-body{padding:0 var(--space-4) calc(var(--space-4) + env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.sheet-settings{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;align-items:center;display:flex}.editor{--shell-pad:var(--space-3);--shell-gap:var(--space-3);--objects-w:clamp(205px, calc(205px + (100vw - 1280px) * .115625), 242px);--props-w:clamp(270px, calc(270px + (100vw - 1280px) * .109375), 305px);background:var(--color-background);grid-template-columns:76px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.editor[data-layout-tier=tablet]{--shell-pad:var(--space-2);--shell-gap:var(--space-2);--props-w:280px}.editor.is-phone{grid-template-columns:minmax(0,1fr)}.editor-main{flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.editor-body{gap:var(--shell-gap);padding:var(--shell-pad);flex:1;min-height:0;display:flex}.is-phone .editor-body{padding:0}.side-left{flex:0 0 var(--objects-w)}.side-right{flex:0 0 var(--props-w)}.side-left,.side-right{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-height:0;box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.viewport{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-plan-sheet);min-width:0;min-height:0;box-shadow:var(--shadow-card);flex-direction:column;flex:1 1 0;display:flex;position:relative;overflow:hidden}.viewport-canvas{flex:1;min-height:0;position:relative}.is-phone .viewport{border:0;border-radius:0}.viewport-stage,.stage-layer{position:absolute;inset:0}.toggle-properties .selected-dot{background:var(--color-brand);border-radius:50%;width:8px;height:8px}.viewport-canvas{--stage-inset:var(--space-3);--stage-top-h:0px;--stage-bottom-h:0px;container:stage/size}.is-phone .viewport-canvas{--stage-inset:var(--space-2)}.stage-overlay{z-index:3;isolation:isolate;pointer-events:none;position:absolute;inset:0}.stage-overlay :is(button,input,select,label,.segmented,.stage-card,.toolbar,.drawer,.stage-drawer,.popover,.tool-hint){pointer-events:auto}.stage-top{inset-block-start:var(--stage-inset);inset-inline:var(--stage-inset);column-gap:var(--space-2);grid-template-columns:minmax(0,1fr) max-content;align-items:start;display:grid;position:absolute}.stage-tl{gap:var(--space-2);flex-wrap:wrap;align-items:flex-start;min-inline-size:0;display:flex}.stage-tr{gap:var(--space-2);align-items:flex-start;display:flex}.stage-slot{display:contents}.stage-tl>*,.stage-tl>.stage-slot>*{flex:none}.stage-bottom{inset-block-end:var(--stage-inset);inset-inline:var(--stage-inset);gap:var(--space-2);grid-template-columns:minmax(max-content,1fr) auto minmax(max-content,1fr);grid-template-areas:"bl bc br";align-items:end;display:grid;position:absolute}.viewport-canvas:is([data-fit-bottom="1"],[data-fit-bottom="2"],[data-fit-bottom="3"]) .stage-bottom,.is-phone .stage-bottom{grid-template-columns:1fr 1fr;grid-template-areas:"bl br""bc bc"}.stage-bl{justify-self:start;gap:var(--space-2);grid-area:bl;display:flex}.stage-bc{grid-area:bc;justify-self:center;min-inline-size:0;max-inline-size:100%}.stage-br{grid-area:br;justify-self:end}.stage-status{z-index:3;inset-inline:var(--stage-inset);align-items:center;gap:var(--space-2);flex-direction:column-reverse;display:flex;position:absolute;inset-block-end:calc(var(--stage-bottom-h) + var(--space-2))}.stage-card{gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-panel);display:flex}.stage-card,.toolbar,.segmented-float,.button-float:not(.button-primary){background:var(--glass-surface-strong);box-shadow:inset 0 0 0 1px var(--glass-border), 0 0 0 1px var(--glass-outline), var(--glass-shadow);-webkit-backdrop-filter:var(--glass-filter);backdrop-filter:var(--glass-filter)}.viewport-canvas:has(.scene3d[data-tier=low]){--glass-filter:none;--glass-surface:var(--glass-surface-strong)}.editor.is-phone .viewport-canvas:has(.scene3d:not(.is-plan)){--glass-filter:none;--glass-surface:var(--glass-surface-strong)}.stage-card:not(:has(button)){display:none}.stage-card-grid{grid-template-columns:repeat(2, var(--touch));display:grid}.walk-pad{grid-template-columns:repeat(3, var(--touch));display:grid}.walk-pad .walk-exit{padding-inline:var(--space-2);grid-column:1/-1}.walk-pad .icon-button{border-color:var(--color-border);touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.stage-tl .segmented,.stage-tl .button-float,.stage-button .stage-label{white-space:nowrap}.object-panel{flex-direction:column;height:100%;min-height:0;display:flex}.panel-section{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.panel-scroll{border-bottom:0;flex:1;overflow-y:auto}.panel-header{align-items:center;gap:var(--space-2);min-height:48px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.panel-heading{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;flex:1;min-width:0;font-size:16px;font-weight:650;display:flex}.count-badge{padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-brand-strong);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.panel-collapse{width:32px;height:32px;color:var(--color-muted)}.panel-search{padding:var(--space-2) var(--space-3)}.panel-search .text-input{min-height:40px}.panel-scroll.panel-section{padding:var(--space-2)}@media (pointer:coarse){.panel-collapse{width:var(--touch);height:var(--touch)}.panel-search .text-input{min-height:var(--touch);font-size:16px}}.section-label{margin:var(--space-3) 0 var(--space-2);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:12px;font-weight:700}.object-list{margin:0;padding:0;list-style:none}.object-item{align-items:center;gap:var(--space-2);width:100%;min-height:40px;padding:0 var(--space-2);border-radius:var(--radius-control);text-align:start;cursor:pointer;background:0 0;border:0;display:flex}.object-item>svg{flex:none}.object-item:hover{background:var(--color-surface-muted)}.object-item[aria-pressed=true]{background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:600}.object-item-check{cursor:pointer}.object-item-check>svg:first-of-type{display:none}.object-item-check input{width:18px;height:18px;accent-color:var(--color-brand);flex:none;margin:0}.object-item-check:has(input:checked){background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:600}.panel-actions{gap:var(--space-2);padding:0 var(--space-3) var(--space-2);flex-wrap:wrap;display:flex}.panel-actions .button{padding:0 var(--space-3)}.panel-actions .button[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.tag-group{text-overflow:ellipsis;white-space:nowrap;max-width:40%;overflow:hidden}.object-item-text{flex:1;justify-items:start;gap:2px;min-width:0;padding-block:4px;display:grid}.object-item-text .tag-group{max-width:100%;font-weight:400}.object-item-name{-webkit-line-clamp:2;line-clamp:2;overflow-wrap:break-word;-webkit-box-orient:vertical;max-width:100%;font-size:14px;line-height:1.25;display:-webkit-box;overflow:hidden}@media (pointer:coarse){.object-item{min-height:var(--touch)}}.tag{border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-muted);padding:1px 8px;font-size:12px}.warn-icon{color:var(--color-warning)}.drawer{z-index:1;inline-size:min(300px, calc(100% - 2 * var(--stage-inset)));border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-float);position:absolute;inset-block-start:calc(var(--stage-top-h) + var(--space-2));inset-block-end:calc(var(--stage-bottom-h) + var(--space-2));inset-inline-start:var(--stage-inset);overflow:hidden}.stage-drawer{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);min-height:0;animation:stage-drawer-in var(--motion-normal) ease-out;flex-direction:column;display:flex;overflow:hidden}@keyframes stage-drawer-in{0%{opacity:0}}.stage-drawer[data-placement=column]{flex:0 0 var(--props-w);box-shadow:var(--shadow-card)}.stage-drawer[data-placement=overlay]{z-index:1;inline-size:min(320px, calc(100% - 2 * var(--stage-inset)));box-shadow:var(--shadow-float);position:absolute;inset-block-start:calc(var(--stage-top-h) + var(--space-2));inset-block-end:calc(var(--stage-bottom-h) + var(--space-2));inset-inline-end:var(--stage-inset)}.stage-bottom-panel{z-index:1;max-block-size:min(50%, calc(100% - var(--stage-top-h) - var(--space-2)));flex-direction:column;display:flex;position:absolute;inset-block-end:0;inset-inline:0}.stage-drawer[data-placement=bottom]{border-radius:var(--radius-panel) var(--radius-panel) 0 0;box-shadow:var(--shadow-float);border-width:1px 0 0;flex:0 auto}.stage-drawer .panel-header{padding-inline-end:var(--space-1)}.stage-drawer-body{align-content:start;gap:var(--space-4);min-height:0;padding:var(--space-3) var(--space-4) var(--space-4);flex:auto;display:grid;overflow-y:auto}.drawer-section{gap:var(--space-2);min-width:0;display:grid}.drawer-section+.drawer-section{border-block-start:1px solid var(--color-border);padding-block-start:var(--space-4)}.drawer-section-title{margin:0;font-size:14px;font-weight:700}.drawer-section .segmented{justify-self:start}.drawer-section p{margin:0}.pan-pad{grid-template-columns:repeat(3, var(--touch));gap:var(--space-1);grid-template-areas:".up.""left.right"".down.";display:grid}.pan-up{grid-area:up}.pan-left{grid-area:left}.pan-right{grid-area:right}.pan-down{grid-area:down}.pan-pad .icon-button{border:1px solid var(--color-border)}.stage-card .icon-button[aria-expanded=true]{background:var(--color-brand-soft);color:var(--color-brand-strong)}.stage-badge-host{position:relative}.stage-badge{border-radius:var(--radius-pill);background:var(--color-brand);min-width:18px;height:18px;color:var(--color-on-brand);text-align:center;padding:0 4px;font-size:11px;font-weight:700;line-height:18px;position:absolute;inset-block-start:2px;inset-inline-end:2px}.inspector{flex-direction:column;height:100%;min-height:0;display:flex}.inspector-header{gap:var(--space-3);padding:var(--space-4);border-bottom:1px solid var(--color-border);align-items:center;display:flex}.sheet .inspector-header{padding-top:0}.inspector-title{overflow-wrap:anywhere;font-size:18px;font-weight:700}.kind-badge{border-radius:var(--radius-control);background:var(--color-brand-soft);width:42px;height:42px;color:var(--color-brand-strong);flex:none;justify-content:center;align-items:center;display:inline-flex}.kind-round_pool,.kind-rect_pool{color:var(--color-water);background:#e3f2f6}.inspector-body{padding:var(--space-3) var(--space-4);flex:1;overflow-y:auto}.sheet .inspector-body{padding-inline:0;overflow:visible}.inspector-footer{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.sheet .inspector-footer{padding-inline:0;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-surface);position:sticky;bottom:0}.sheet-body:has(.inspector-footer){padding-bottom:0}.inspector-footer .button-primary{flex:1}.inspector-empty{justify-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);color:var(--color-muted);text-align:center;display:grid}.toolbar{align-items:center;gap:var(--space-1);padding:var(--space-1);border-radius:var(--radius-panel);flex-wrap:nowrap;display:flex;position:relative}.tool{min-width:var(--touch);min-height:52px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);color:var(--color-muted);font-size:var(--text-xs);cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-weight:600;display:inline-flex}.tool:hover:not(:disabled){background:var(--color-surface-muted);color:var(--color-text)}.tool-primary{background:var(--color-brand-soft);color:var(--color-brand-strong)}.tool-label{white-space:nowrap}.toolbar-menu{position:relative}.popover{z-index:2;bottom:calc(100% + 8px);min-width:200px;max-block-size:calc(100cqh - var(--stage-top-h) - var(--stage-bottom-h) - 16px);max-inline-size:min(520px,100cqw - 24px);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-2);display:grid;position:absolute;inset-inline-start:0;overflow-y:auto}.popover-item{align-items:center;gap:var(--space-3);min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-control);text-align:start;white-space:nowrap;cursor:pointer;background:0 0;border:0;display:flex}.popover-item:hover{background:var(--color-brand-soft)}.popover-separator{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-border)}.popover-item[aria-pressed=true]{background:var(--color-brand-soft);color:var(--color-brand-strong);font-weight:600}.popover-section{align-content:start;display:grid}.popover-heading{padding:var(--space-2) var(--space-3) var(--space-1);letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);font-size:12px;font-weight:700}.toolbar-menu:has(>.popover-tools){position:static}.popover-tools{background:linear-gradient(var(--color-surface) 30%, transparent) top / 100% 32px no-repeat local, linear-gradient(transparent, var(--color-surface) 70%) bottom / 100% 32px no-repeat local, radial-gradient(farthest-side at 50% 0, var(--color-scroll-shadow), transparent) top / 100% 10px no-repeat scroll, radial-gradient(farthest-side at 50% 100%, var(--color-scroll-shadow), transparent) bottom / 100% 10px no-repeat scroll, var(--color-surface);inset-inline-start:50%;translate:-50%}@container stage (width>=360px){.popover-tools{column-gap:var(--space-1);grid-template-columns:repeat(2,max-content)}.popover-tools>.popover-section:first-child{grid-row:span 2}.popover-tools>.popover-separator,.popover-tools>.popover-item{grid-column:1/-1}}.toolbar-menu-end .popover{inset-inline:auto 0}.popover-form{gap:var(--space-2);min-width:240px;inline-size:max-content;padding:var(--space-2) var(--space-3) var(--space-3)}.popover-note{max-inline-size:260px;color:var(--color-muted);margin:0;font-size:13px}.tool-check{align-items:center;gap:var(--space-2);min-height:var(--touch);white-space:nowrap;font-size:14px;font-weight:600;display:inline-flex}.tool-check input{width:18px;height:18px;accent-color:var(--color-brand)}.toast-region{z-index:5;top:64px;pointer-events:none;width:max-content;max-width:calc(100% - 32px);margin-inline:auto;position:absolute;inset-inline:0}.stage-status .toast-region{width:auto;max-width:100%;position:static}.toast{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4) var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-2);color:var(--color-text);text-align:start;margin:0;font-size:14px;font-weight:500;display:flex}.toast:before{content:"";background:var(--color-brand);width:18px;height:18px;-webkit-mask:var(--icon-info-mask) center / contain no-repeat;-webkit-mask:var(--icon-info-mask) center / contain no-repeat;mask:var(--icon-info-mask) center / contain no-repeat;flex:none}:root{--icon-info-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0zm-1 7v5h2V7zm0-3v2h2V4z'/%3E%3C/svg%3E")}.plan2d{position:absolute;inset:0}.plan2d-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;display:block}.plan2d-svg:focus{outline:none}.plan2d-svg:focus-visible{outline:3px solid var(--color-brand);outline-offset:-3px}.plan2d-svg:active{cursor:grabbing}.grid-minor{stroke:#1b26200f;stroke-width:1px}.grid-major{stroke:#1b262021;stroke-width:1px}.obj{cursor:pointer}.obj-plot{cursor:inherit}.obj-stroke{stroke:#1b26208c;stroke-width:1.5px}.obj-plot .obj-stroke{stroke:#3f7a3a;stroke-width:3px}.deck-lines{stroke:#462d1440;stroke-width:1px}.roof-ridge{stroke:#1b262099;stroke-width:1.5px;stroke-dasharray:6 4}.selection-outline{fill:none;stroke:var(--color-brand);stroke-width:2.5px;stroke-dasharray:7 4}.selection-halo{fill:none;stroke:#fff;stroke-opacity:.9;stroke-width:5.5px}.drop-ghost-halo{fill:color-mix(in srgb, var(--color-brand) 14%, transparent);stroke:#fff;stroke-opacity:.9;stroke-width:4.5px}.drop-ghost-line{fill:none;stroke:var(--color-brand-strong);stroke-width:2px;stroke-dasharray:4 3}.selection-bounds{fill:none;stroke:var(--color-brand);stroke-width:1.5px;stroke-opacity:.7}.selection-box{fill:color-mix(in srgb, var(--color-brand) 10%, transparent);stroke:var(--color-brand);stroke-width:1.5px}.selection-box.is-touch{stroke-dasharray:6 4}.plan2d.tool-boxSelect .plan2d-svg{cursor:crosshair}.dim-line,.dim-ext{stroke:var(--color-text);stroke-width:1px}.dim-ext{stroke-opacity:.35}.dim-line.dashed{stroke-dasharray:5 4;stroke:#fff}.pill{fill:#fffffff0;stroke:#1b262026}.pill-strong{fill:var(--color-text);stroke:none}.pill-text{fill:var(--color-text);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.pill-text-strong{fill:#fff}.rotate-handle{cursor:grab}.rotate-knob{fill:#fff;stroke:var(--color-brand);stroke-width:2.5px}.stage-legend{align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-1), 0 0 0 1px var(--glass-outline);pointer-events:none;margin-block-start:var(--space-1);font-size:12px;font-weight:700;display:flex}.legend-north{align-items:center;gap:2px;display:inline-flex}.legend-north path{fill:var(--color-text)}.scale-bar,.scale-bar-step{align-items:center;gap:var(--space-1);font-variant-numeric:tabular-nums;display:flex}.scale-bar-wide{min-inline-size:calc(120px + 5ch)}.scale-bar-narrow{min-inline-size:calc(72px + 5ch)}.viewport-canvas:not([data-fit-top="0"]) .scale-bar-wide,.viewport-canvas[data-fit-top="0"] .scale-bar-narrow,.viewport-canvas:is([data-fit-top="2"],[data-fit-top="3"]) .legend-letter{display:none}.scale-bar-line{border:2px solid var(--color-text);border-top:0;height:6px;display:block}.scene3d{touch-action:none;position:absolute;inset:0;overflow:hidden}.scene3d canvas{display:block}.scene3d-canvas{position:absolute;inset:0}.selection-label-3d{border:1px solid color-mix(in srgb, var(--color-on-dark) 55%, transparent);border-radius:var(--radius-control);background:color-mix(in srgb, var(--color-surface-inverse) 90%, transparent);max-inline-size:min(280px,100% - 16px);box-shadow:var(--shadow-2);color:var(--color-on-dark);pointer-events:none;visibility:hidden;will-change:transform;flex-direction:column;gap:1px;padding:4px 10px 5px;font-size:13px;line-height:1.3;display:flex;position:absolute;top:0;left:0}.selection-label-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.selection-label-size{font-variant-numeric:tabular-nums;white-space:nowrap}.scene3d.is-plan{pointer-events:none;background:#eef0ea}.scene3d.is-plan .scene3d-canvas{transform-origin:0 0;inset:0 auto auto 0}.scene3d-fallback{place-content:center;justify-items:center;gap:var(--space-3);height:100%;padding:var(--space-6);text-align:center;color:var(--color-muted);display:grid}.render-loading{align-items:center;gap:var(--space-2);max-inline-size:100%;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-surface-inverse);color:var(--color-on-dark);box-shadow:var(--shadow-2);margin:0;font-size:14px;display:flex}.render-loading-spinner{border:2px solid color-mix(in srgb, var(--color-on-dark) 35%, transparent);border-top-color:var(--mhg-aqua);border-radius:50%;flex:none;block-size:14px;inline-size:14px;animation:.9s linear infinite render-loading-spin}@keyframes render-loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.render-loading-spinner{animation:none}}@media (width<=1080px){.topbar{gap:var(--space-2);padding-inline:var(--space-3)}.editor .topbar .brand-name{display:none}.editor .topbar .brand{flex:none}input,select,.text-input,.select{font-size:16px}}@media (width<=360px){.topbar{padding-inline:var(--space-3)}.brand{font-size:17px}.dashboard-main{padding-inline:var(--space-3)}}.section-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.storage-info{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);align-items:flex-start;font-size:14px;display:flex}.storage-info p{margin:0}.storage-info svg{color:var(--color-muted);flex:none}.link-button.inline{min-height:0;color:var(--color-brand-strong);white-space:normal;padding:0;text-decoration:underline}.version-list{margin:var(--space-3) 0 0;gap:var(--space-2);max-height:min(50vh,420px);padding:0;list-style:none;display:grid;overflow-y:auto}.version-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);flex-wrap:wrap;display:flex}.version-meta{min-width:0;display:grid}.version-date{font-variant-numeric:tabular-nums;font-weight:600}.offline-badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-warning-soft);color:var(--color-warning);white-space:nowrap;font-size:13px;font-weight:600;display:inline-flex}.update-banner{z-index:50;inset-inline:var(--space-3);bottom:calc(var(--space-3) + env(safe-area-inset-bottom));align-items:center;gap:var(--space-3);width:max-content;max-width:calc(100% - 24px);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-panel);background:var(--color-surface-inverse);color:var(--color-on-dark);box-shadow:var(--shadow-3);flex-wrap:wrap;margin-inline:auto;display:flex;position:fixed}.update-banner :focus-visible{outline-color:var(--color-focus-on-dark)}.app-sidebar{min-height:0;padding:var(--space-3) var(--space-1);padding-top:max(var(--space-3), env(safe-area-inset-top));border-inline-end:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;gap:2px;display:flex;overflow-y:auto}.sidebar-brand{min-height:40px;padding-bottom:var(--space-2);justify-content:center;align-items:center;display:flex}.workspace-link{-webkit-tap-highlight-color:transparent;align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch);padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--color-muted);text-align:start;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);background:0 0;border:0;font-size:14px;font-weight:600;display:flex;position:relative}.workspace-link:hover{background:var(--color-surface-muted);color:var(--color-text)}.workspace-link[aria-current=page]{background:var(--color-brand-soft);color:var(--color-brand-strong)}.workspace-link[aria-current=page]>svg{color:var(--color-brand)}.workspace-nav .workspace-link[aria-current=page]:before{content:"";inset-inline-start:calc(-1 * var(--space-3));background:var(--color-brand);border-radius:0 4px 4px 0;width:4px;position:absolute;top:10px;bottom:10px}.workspace-link-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-sidebar .workspace-link{min-height:58px;padding:var(--space-1) 2px;text-align:center;flex-direction:column;justify-content:center;gap:2px;font-size:12px}.app-sidebar .workspace-link-label{white-space:normal;overflow-wrap:anywhere;max-width:100%;line-height:1.2;overflow:visible}.app-sidebar .workspace-nav .workspace-link[aria-current=page]:before{inset-inline-start:calc(-1 * var(--space-1))}.rail-divider{height:1px;margin:var(--space-1) var(--space-2);background:var(--color-border);display:block}.workspace-nav{gap:2px;display:grid}.sidebar-footer{padding-top:var(--space-2);border-top:1px solid var(--color-border);gap:2px;margin-top:auto;display:grid}.nav-badge{border-radius:var(--radius-pill);background:var(--color-warning);min-width:20px;height:20px;color:var(--color-on-dark);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;margin-inline-start:auto;padding:0 6px;font-size:12px;font-weight:700;display:inline-flex}.app-sidebar .nav-badge,.bottom-nav .nav-badge{top:4px;margin:0;position:absolute;inset-inline-end:8px}.bottom-nav{border-top:1px solid var(--glass-outline);background:var(--glass-surface-strong);box-shadow:0 -4px 16px color-mix(in srgb, var(--mhg-navy) 6%, transparent);padding-bottom:env(safe-area-inset-bottom);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.bottom-nav .workspace-link{min-height:58px;padding:var(--space-1) 2px;border-radius:0;flex-direction:column;justify-content:center;gap:2px;font-size:12px}.bottom-nav .workspace-link[aria-current=page]{background:0 0}.bottom-nav .workspace-link[aria-current=page]:before{content:"";top:0;background:var(--color-brand);border-radius:0 0 3px 3px;height:3px;position:absolute;inset-inline:28%}.topbar-project{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:7.5rem;font-size:16px;font-weight:700;line-height:1.25;overflow:hidden}.is-phone .topbar-project{min-width:0;font-size:15px}.topbar-actions{align-items:center;gap:inherit;flex:none;display:flex}.topbar-more,.topbar-action-label{display:none}.topbar:is([data-fit-topbar="1"],[data-fit-topbar="2"]) .export-label,.topbar:is([data-fit-topbar="2"],[data-fit-topbar="3"]) .save-label,.topbar:is([data-fit-topbar="2"],[data-fit-topbar="3"]) .offline-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.topbar[data-fit-topbar="3"] .topbar-more{display:inline-flex}.topbar[data-fit-topbar="3"] .topbar-actions{display:none}.topbar[data-fit-topbar="3"] .topbar-actions.is-open{z-index:20;top:calc(100% - var(--space-1));gap:var(--space-1);min-width:220px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-float);display:grid;position:absolute;inset-inline-end:var(--space-3)}.topbar[data-fit-topbar="3"] .topbar-action{justify-content:flex-start;gap:var(--space-3);width:100%;padding:0 var(--space-3);background:0 0;border-color:#0000;font-weight:600}.topbar[data-fit-topbar="3"] .topbar-action:hover{background:var(--color-surface-muted)}.topbar[data-fit-topbar="3"] .topbar-action-label{display:inline}.topbar[data-fit-topbar="3"] .language-select .select{width:100%}.variants-menu{flex:none;position:relative}.variants-trigger{gap:var(--space-2);padding-inline:var(--space-3)}.variants-trigger-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:11rem;overflow:hidden}.variants-chevron{opacity:.7;flex:none}.topbar[data-fit-topbar="2"] .variants-trigger-label{max-width:5.5rem}.topbar[data-fit-topbar="3"] .variants-trigger-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.variants-panel{z-index:20;top:calc(100% + 6px);width:max-content;min-width:260px;max-width:min(360px,100vw - 24px);max-height:calc(100dvh - var(--topbar-height) - var(--space-3));overscroll-behavior:contain;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-float);grid-template-columns:minmax(0,1fr);gap:2px;display:grid;position:absolute;inset-inline-start:0;overflow-y:auto}.variants-menu-sheet{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.variants-menu-sheet .variants-trigger{justify-content:flex-start;width:100%}.variants-menu-sheet .variants-trigger-label{max-width:none}.variants-menu-sheet .variants-chevron{margin-inline-start:auto}.variants-menu-sheet .variants-panel{width:auto;min-width:0;max-width:none;max-height:none;margin-top:var(--space-2);box-shadow:none;border:0;padding:0;position:static;overflow:visible}.variants-list{grid-template-columns:minmax(0,1fr);gap:2px;margin:0;padding:0;list-style:none;display:grid}.variants-list li,.variants-item{min-width:0}.variants-item{width:100%}.variants-item-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.variants-item-check{visibility:hidden;flex:none}.variants-item[aria-pressed=true]{font-weight:700}.variants-item[aria-pressed=true] .variants-item-check{visibility:visible;color:var(--color-brand-strong)}.variant-badge{padding:2px var(--space-2);border-radius:var(--radius-pill);background:var(--color-brand-soft);color:var(--color-brand-strong);flex:none;font-size:12px;font-weight:700}.variants-note{margin:var(--space-1) var(--space-3);color:var(--color-muted);white-space:normal;font-size:13px}.export-menu{flex:none;position:relative}.export-chevron{opacity:.7;flex:none}.export-panel{z-index:21;top:calc(100% + 6px);width:max-content;min-width:240px;max-width:min(340px,100vw - 24px);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-float);grid-template-columns:minmax(0,1fr);gap:2px;display:grid;position:absolute;inset-inline-end:0}.export-note{margin:var(--space-1) var(--space-3);color:var(--color-muted);white-space:normal;font-size:13px}.topbar[data-fit-topbar="3"] .export-menu{width:100%}.topbar[data-fit-topbar="3"] .export-chevron{margin-inline-start:auto}.topbar[data-fit-topbar="3"] .export-panel{width:auto;min-width:0;max-width:none;padding:0 0 0 var(--space-4);box-shadow:none;border:0;position:static}.export-menu-sheet{display:contents}.export-menu-sheet .export-panel{width:auto;min-width:0;max-width:none;box-shadow:none;border:0;flex:100%;padding:0;position:static}.export-menu-sheet .popover-item{white-space:normal;min-height:48px}.image-export-dialog{width:min(760px,100vw - 32px)}.image-export{gap:var(--space-3);padding-bottom:var(--space-2);grid-template-columns:minmax(0,1fr);display:grid}.image-export p{margin:0}.image-export-group{border:0;gap:2px;min-width:0;margin:0;padding:0;display:grid}.image-export-group legend{margin-bottom:var(--space-1);padding:0;font-weight:700}.image-export-group:disabled .image-export-choice{opacity:.55;cursor:not-allowed}.image-export-choice{align-items:center;gap:var(--space-3);min-height:var(--touch);cursor:pointer;display:flex}.image-export-choice input{width:20px;height:20px;accent-color:var(--color-brand);flex:none;margin:0}.image-export-choice span{overflow-wrap:anywhere;min-width:0}.image-export-source{overflow-wrap:anywhere}.image-export-pair{gap:var(--space-1);overflow-wrap:anywhere;display:grid}.image-export-warning{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--color-warning-soft);color:var(--color-warning);overflow-wrap:anywhere;margin:0;display:grid}.image-export-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.image-export-actions .button{white-space:normal}.image-export-preview{object-fit:contain;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);width:100%;max-height:50vh;display:block}.image-export-progress{width:100%;height:12px;accent-color:var(--color-brand)}.sheet .image-export-actions .button,.sheet .image-export-compare-bar .button{flex:100%;min-height:48px}.image-export-compare-bar{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.compare-slider{width:min(100%, calc(60vh * var(--compare-aspect,1.78)));aspect-ratio:var(--compare-aspect,1.78);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none;margin-inline:auto;position:relative;overflow:hidden}.sheet .compare-slider{width:100%}.compare-slider-image{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.compare-slider-before{position:absolute;inset:0}.compare-slider-handle{cursor:ew-resize;justify-content:center;width:44px;margin-inline-start:-22px;display:flex;position:absolute;top:0;bottom:0}.compare-slider-handle:before{content:"";background:var(--color-on-dark);width:3px;height:100%;box-shadow:0 0 0 1px color-mix(in srgb, var(--mhg-navy) 75%, transparent)}.compare-slider-grip{border:3px solid var(--color-brand-strong);background:var(--color-surface);width:36px;height:36px;box-shadow:var(--shadow-2);border-radius:50%;margin-top:-18px;position:absolute;top:50%}.compare-slider-handle:focus-visible{outline:3px solid var(--color-brand);outline-offset:-3px}.variants-danger{color:var(--color-danger)}.popover-item:disabled{cursor:not-allowed;opacity:.5}.dialog-wide{width:min(1100px,100vw - 32px)}.compare{gap:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}.compare>*,.compare-section{min-width:0}.compare-pickers,.compare-plans{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));display:grid}.compare-plan{gap:var(--space-2);min-width:0;margin:0;display:grid}.compare-plan-caption{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:var(--touch);flex-wrap:wrap;font-weight:700;display:flex}.compare-plan-name{overflow-wrap:anywhere;min-width:0}.plan-static{aspect-ratio:4/3;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-plan-sheet);width:100%;max-height:46vh;display:block}.compare-section h3{margin:0 0 var(--space-1);font-size:15px}.compare-table{border-collapse:collapse;width:100%;font-size:14px}.compare-table th,.compare-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);text-align:start;vertical-align:top;overflow-wrap:break-word}.compare-numbers th:first-child{white-space:nowrap}.compare-table thead th{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.compare-table tbody th{font-weight:600}.compare-table .num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.compare-changes{margin:0;padding-inline-start:1.1em}.compare-cost{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin:0;display:grid}.compare-cost div{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control)}.compare-cost dt{color:var(--color-muted);overflow-wrap:anywhere;font-size:13px}.compare-cost dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.storage-closed-dashboard{margin:var(--space-3) 0;border-radius:var(--radius-control);border-width:1px}.segmented-float,.button-float{border-color:#0000}.button-float.button-primary{background:var(--gradient-primary);color:var(--color-on-brand);box-shadow:var(--shadow-2)}.button-float.button-primary:hover:not(:disabled){background:var(--gradient-primary-hover)}.segmented-item svg{vertical-align:-3px;margin-inline-end:4px}.tool-group{align-items:center;gap:2px;display:flex}.tool-group+.tool-group{border-inline-start:1px solid var(--color-border);padding-inline-start:var(--space-1)}.tool[aria-pressed=true]{background:var(--gradient-primary);color:var(--color-on-brand);box-shadow:var(--shadow-1)}.tool[aria-pressed=true]:hover:not(:disabled){background:var(--gradient-primary-hover);color:var(--color-on-brand)}.popover-wide{width:min(520px,100vw - 32px);max-height:min(70vh,560px);padding:var(--space-3);inset-inline-start:50%;overflow-y:auto;translate:-50%}.tool-hint{align-items:center;gap:var(--space-2);max-inline-size:min(760px,100%);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-panel);background:var(--color-surface-inverse);color:var(--color-on-dark);box-shadow:var(--shadow-2);flex-wrap:wrap;font-size:14px;display:flex}.tool-hint :focus-visible{outline-color:var(--color-focus-on-dark)}:is(.tool-hint,.update-banner,.connect-notice) .icon-button:hover:not(:disabled){background:color-mix(in srgb, var(--color-on-dark) 14%, transparent)}.tool-hint span{flex:200px}.tool-hint .button{min-height:40px}.tool-hint .button:not(.button-primary){color:var(--color-text)}@media (pointer:coarse){.tool-hint .button{min-height:var(--touch)}}.is-phone .tool-hint{gap:var(--space-1) var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);font-size:13px;line-height:1.3}.is-phone .tool-hint span{flex-basis:100%}.scale-bar-text{white-space:nowrap}.handle-line{stroke:var(--color-brand);stroke-width:1.5px}.vertex-handle,.mid-handle{cursor:move}.vertex-knob{fill:#fff;stroke:var(--color-brand);stroke-width:2.5px}.mid-knob{fill:var(--color-brand);fill-opacity:.55;stroke:#fff;stroke-width:1.5px}.opening-handle{cursor:ew-resize}.opening-handle:hover polygon{stroke:var(--color-brand);stroke-width:1.5px;stroke-dasharray:3 3}.opening-knob{fill:#fff;stroke:var(--color-brand);stroke-width:2px}.draft-path{fill:color-mix(in srgb, var(--color-brand) 18%, transparent);stroke:var(--color-brand);stroke-width:2px;stroke-dasharray:6 4}.draft-vertex{fill:#fff;stroke:var(--color-brand);stroke-width:2px}.draft-first{fill:var(--color-brand);stroke:#fff;stroke-width:2px}.measure-line{stroke:#d2462b;stroke-width:2px;stroke-dasharray:8 4}.measure-point{fill:#fff;stroke:#d2462b;stroke-width:2.5px}.draft-path.draft-line{fill:none;stroke-width:2.5px}.member-preview-line{stroke:var(--color-brand);stroke-width:4px;stroke-linecap:round;stroke-opacity:.8}.snap-guide-line{fill:none;stroke:#c2185b;stroke-width:1.25px;stroke-dasharray:5 3}.snap-guide-mark{fill:none;stroke:#c2185b;stroke-width:2px}.clearance-line{fill:none;stroke:#1d4f91;stroke-width:1.5px}.clearance-boundary .clearance-line{stroke-dasharray:6 3}.clearance .pill{stroke:#1d4f91;stroke-opacity:.55}.plot-boundary{fill:none;stroke:#2f5f2b;stroke-width:3px;stroke-dasharray:14 5 3 5;vector-effect:non-scaling-stroke}.status-mark{fill:none;pointer-events:none}.status-mark-existing .status-halo{fill:none;stroke:#ffffff8c;stroke-width:4.5px}.status-mark-existing .status-dots{fill:none;stroke:#26322c;stroke-width:2.6px;stroke-dasharray:.1 5;stroke-linecap:round}.status-mark-removed .status-outline,.status-mark-removed .status-cross{fill:none;stroke:#a3322a;stroke-width:1.8px}.status-mark-removed .status-outline{stroke-dasharray:7 4}.plan2d.tool-draw .plan2d-svg,.plan2d.tool-line .plan2d-svg,.plan2d.tool-member .plan2d-svg,.plan2d.tool-measure .plan2d-svg,.plan2d.tool-moduleTool .plan2d-svg{cursor:crosshair}.layer-bar{gap:2px;display:grid}.layer-chip{align-items:center;gap:var(--space-3);width:100%;min-height:var(--touch);padding:var(--space-1) var(--space-2);border-radius:var(--radius-control);text-align:start;color:var(--color-text);cursor:pointer;background:0 0;border:1px solid #0000;font-size:14px;font-weight:600;display:flex}.layer-chip:hover:not(:disabled){background:var(--color-surface-muted)}.layer-chip:disabled{opacity:1;cursor:default}.layer-thumb{color:#fff;border-radius:6px;flex:none;justify-content:center;align-items:center;width:40px;height:28px;display:inline-flex;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.layer-chip[aria-pressed=true] .layer-thumb{outline:2px solid var(--color-brand);outline-offset:1px}.layer-chip[aria-pressed=false]{color:var(--color-muted)}.layer-chip[aria-pressed=false] .layer-thumb{filter:grayscale();opacity:.45}.layer-name{overflow-wrap:anywhere;flex:1;min-width:0}.layer-state{color:var(--color-muted);flex:none}.layer-thumb-all{background:var(--color-surface-muted);color:var(--color-text)}.layer-thumb-site{background:repeating-linear-gradient(90deg,#7fae5a 0 10px,#89b763 10px 20px)}.layer-thumb-buildings{background:linear-gradient(135deg,#8f948f,#5d625f)}.layer-thumb-structures{background:repeating-linear-gradient(0deg,#b0613f 0 6px,#d9d2c5 6px 7px)}.layer-thumb-hardscape{color:#3b3a33;background:repeating-linear-gradient(90deg,#cbc5b8 0 12px,#b3ab9d 12px 13px)}.layer-thumb-water{background:radial-gradient(circle at 35% 35%,#6cc7e0,#1f7f9f)}.layer-thumb-planting{background:radial-gradient(circle at 30% 40%,#6fa652 0 30%,#0000 31%),radial-gradient(circle at 70% 60%,#4c8540 0 32%,#0000 33%),#3e6c37}.layer-thumb-lighting{background:radial-gradient(circle,#ffd27a 0 18%,#2a3342 60%)}.layer-thumb-utilities{background:repeating-linear-gradient(90deg,#e39a12 0 7px,#0000 7px 11px) 0 55%/100% 3px no-repeat,repeating-linear-gradient(90deg,#2b78d0 0 2px,#0000 2px 5px) 0 25%/100% 2px no-repeat,linear-gradient(160deg,#8a7458,#5e4d3a)}.status-legend{margin-top:var(--space-3);padding:var(--space-2) var(--space-2) 0;border-top:1px solid var(--color-border)}.status-legend-title{margin:0 0 var(--space-2);color:var(--color-muted);font-size:13px;font-weight:700}.status-legend-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.status-legend-item{align-items:flex-start;gap:var(--space-3);overflow-wrap:anywhere;font-size:13px;line-height:1.35;display:flex}.status-swatch{flex:none;margin-top:1px}.status-swatch-fill{fill:#c9cfc4}.status-swatch-removed{fill:#eceee9}.inspector-heading{flex:1;min-width:0}.inspector-header .panel-collapse{align-self:flex-start;margin-inline-end:calc(-1 * var(--space-2))}.inspector-heading .muted{margin:2px 0 0}.kind-tree,.kind-shrub,.kind-hedge,.kind-lawn,.kind-bed{color:#2f6a2a;background:#e6f1e1}.kind-light{color:#7a5310;background:#fff4dc}.tabs{margin:var(--space-3) var(--space-3) 0;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:var(--color-surface-muted);gap:2px;padding:3px;display:flex}.sheet .tabs{margin-inline:0}.tab{min-width:0;min-height:var(--touch);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);color:var(--color-muted);font-weight:650;font-size:var(--text-sm);cursor:pointer;transition:background-color var(--motion-normal) var(--ease-out), color var(--motion-normal) var(--ease-out), box-shadow var(--motion-normal) var(--ease-out);background:0 0;border:0;flex:auto;line-height:1.2}.tab:hover:not([aria-selected=true]){color:var(--color-text)}.tab[aria-selected=true]{background:var(--color-surface);color:var(--color-brand);box-shadow:var(--shadow-1), 0 0 0 1px var(--glass-outline)}.selection-actions{gap:var(--space-2);margin:var(--space-2) 0 var(--space-3);flex-wrap:wrap;display:flex}.selection-actions .button{white-space:normal;text-align:start}.arrange-grid{grid-template-columns:repeat(4, var(--touch));gap:var(--space-2);margin-bottom:var(--space-2);display:grid}.arrange-grid .icon-button{border:1px solid var(--color-border)}.group-membership{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;margin:0;font-size:14px;display:flex}.group-membership p{overflow-wrap:anywhere;flex:100%;margin:0}.sheet .group-membership{padding-inline:0}.group-title{margin:var(--space-4) 0 var(--space-1);letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);font-size:13px;font-weight:750}.field-hint{color:var(--color-muted);grid-column:1/-1;margin:0;font-size:12px}.field-compact{grid-template-columns:1fr;margin:0}.section{margin-block:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-muted)}.section>summary{min-height:var(--touch);padding:0 var(--space-3);cursor:pointer;align-items:center;font-size:14px;font-weight:650;list-style:none;display:flex}.section>summary::-webkit-details-marker{display:none}.section>summary:after{content:"";width:8px;height:8px;transition:transform var(--motion-normal);border-bottom:2px solid;border-right:2px solid;margin-inline-start:auto;transform:rotate(45deg)}.section[open]>summary:after{transform:rotate(-135deg)}.section-body{padding:0 var(--space-3) var(--space-2)}.quantity-list{gap:var(--space-1) var(--space-3);margin:var(--space-2) 0;grid-template-columns:minmax(0,1fr) auto;font-size:14px;display:grid}.quantity-list dt{color:var(--color-muted)}.quantity-list dd{text-align:end;font-variant-numeric:tabular-nums;margin:0;font-weight:650}.quantity-row{display:contents}.opening-items{margin:0 0 var(--space-2);gap:var(--space-2);padding:0;list-style:none;display:grid}.opening-item summary{cursor:pointer;overflow-wrap:anywhere;padding:var(--space-1) 0}.opening-fields{gap:var(--space-2);padding:var(--space-2) 0 var(--space-2) var(--space-3);display:grid}.opening-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.vertex-list{margin:0 0 var(--space-2);gap:var(--space-2);padding:0;list-style:none;display:grid}.vertex-row{grid-template-columns:22px minmax(0, 1fr) minmax(0, 1fr) var(--touch);align-items:end;gap:var(--space-2);display:grid}.vertex-row .field{grid-template-columns:1fr;margin:0}.vertex-row .field-label{font-size:12px}.vertex-index{height:var(--touch);color:var(--color-muted);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.banner-warning{background:var(--color-warning-soft);color:var(--color-warning)}.library{gap:var(--space-3);display:grid}.library-section .section-label{margin-top:0}.library-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(104px,1fr));display:grid}.library-tile{gap:2px;display:grid}.library-add{justify-items:center;gap:var(--space-1);min-height:84px;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);text-align:center;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-out), background-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);font-size:13px;font-weight:600;display:grid}.library-add:hover{border-color:var(--teal-200);background:var(--color-brand-soft);box-shadow:var(--shadow-1)}.library-name{overflow-wrap:break-word}.library-tile[data-wide=true]{grid-column:span 2}.library-draw{border-radius:var(--radius-xs);min-height:32px;color:var(--color-brand-strong);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;font-size:12px;font-weight:650;display:inline-flex}.library-draw:hover{background:var(--color-brand-soft)}@media (pointer:coarse){.library-draw{min-height:var(--touch)}}.library-search{top:calc(-1 * var(--space-3));z-index:1;margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) 0;padding:var(--space-3);background:var(--color-surface);align-items:center;display:flex;position:sticky}.library-search-icon{color:var(--color-muted);pointer-events:none;position:absolute;inset-inline-start:calc(var(--space-3) + 12px)}.library-search-input{width:100%;min-height:44px;padding:0 var(--space-3) 0 40px;border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit;font-size:16px}.library-search-input:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.library-empty{margin:0}.sheet .library-search{padding:0 0 var(--space-2);margin:0;top:0}.library-hint{margin:var(--space-1) 0 var(--space-2)}.library-add[draggable=true]{cursor:grab}.sheet .library-search-icon{inset-inline-start:12px}.workspace-scroll{min-height:0;padding:var(--space-6);flex:1;overflow-y:auto}.is-phone .workspace-scroll{padding:var(--space-4) var(--space-4) var(--space-8)}.workspace-page{gap:var(--space-5);max-width:1200px;margin:0 auto;display:grid}.workspace-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.workspace-header h1{margin:2px 0 4px;font-size:28px;line-height:1.2}.workspace-header p{margin:0}.header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.workspace-section{gap:var(--space-3);display:grid}.section-title{margin:0;font-size:18px}.summary-cards{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.is-phone .summary-card{padding:var(--space-3) var(--space-4)}.is-phone .summary-value{font-size:22px}.is-phone .workspace-header h1{font-size:24px}.summary-card{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-card);gap:4px;display:grid}.summary-label{color:var(--color-muted);font-size:13px;font-weight:600}.summary-value{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:26px;font-weight:750}.summary-accent{background:var(--gradient-primary);color:var(--color-on-brand);border-color:#0000}.summary-accent .summary-label{color:var(--color-on-dark-muted)}.summary-hint{overflow-wrap:anywhere;font-size:13px}.summary-accent .summary-hint{color:var(--color-on-dark-muted)}.summary-danger .summary-value{color:var(--color-danger)}.summary-warn .summary-value{color:var(--color-warning)}.table-card{border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface);box-shadow:var(--shadow-card);overflow:hidden}.table-title{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-surface-muted);margin:0;font-size:15px}.table-scroll{background:linear-gradient(to right, var(--color-surface) 40%, transparent) left center / 28px 100% no-repeat local, linear-gradient(to left, var(--color-surface) 40%, transparent) right center / 28px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, var(--color-scroll-shadow), transparent) left center / 12px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, var(--color-scroll-shadow), transparent) right center / 12px 100% no-repeat scroll;overflow-x:auto}.data-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:660px;font-size:14px}.data-table th:first-child{width:34%}.data-table th:nth-child(2){width:20%}.data-table th:nth-child(3){width:15%}.data-table th:nth-child(4){width:17%}.data-table td{overflow-wrap:break-word}.data-table th{padding:10px var(--space-4);border-bottom:1px solid var(--color-border);letter-spacing:.04em;text-align:start;text-transform:uppercase;color:var(--color-muted);white-space:nowrap;font-size:12px;font-weight:700}.data-table td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:0}.data-table .num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.cell-object{align-items:center;gap:var(--space-3);display:flex}.cell-object>span{display:grid}.cell-object svg{color:var(--color-brand-strong);flex:none}.cell-strong{font-weight:650}.block{display:block}.price-cell .field{margin:0}.material-section{gap:var(--space-3);display:grid}.material-section-head{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.material-section-title{align-items:center;gap:var(--space-2);margin:0;font-size:20px;display:flex}.material-section>.muted{margin:0}.material-section-total{font-variant-numeric:tabular-nums;font-weight:700}.cutlist-table{min-width:720px}.cutlist-table th:first-child{width:22%}.cutlist-table th:nth-child(2){width:15%}.cutlist-table th:nth-child(3){width:12%}.cutlist-table th:nth-child(4){width:10%}@media (width<=600px){.cutlist-table{table-layout:auto;width:max-content;min-width:100%;font-size:13px}.table-scroll .cutlist-table th:nth-child(n){width:auto}.cutlist-table :is(th,td){padding-inline:var(--space-2)}}.task-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.task-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-inline-start:4px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);flex-wrap:wrap;display:flex}.task-overdue{border-inline-start-color:var(--color-danger)}.task-due{border-inline-start-color:var(--color-warning)}.task-ok{border-inline-start-color:var(--color-brand)}.task-main{flex:260px;min-width:0}.task-title{font-size:var(--text-md);overflow-wrap:anywhere;margin:0;font-weight:650}.task-meta{gap:2px var(--space-3);flex-wrap:wrap;margin:2px 0 0;display:flex}.task-object{align-items:center;gap:4px;display:inline-flex}.task-notes{margin:var(--space-1) 0 0;white-space:pre-wrap}.task-actions{align-items:center;gap:var(--space-1);margin-inline-start:auto;display:flex}.state-chip{border-radius:var(--radius-pill);background:var(--color-surface-muted);color:var(--color-muted);flex:none;padding:2px 10px;font-size:12px;font-weight:700}.state-overdue{background:var(--color-danger-soft);color:var(--color-danger)}.state-due{background:var(--color-warning-soft);color:var(--color-warning)}.state-ok{background:var(--color-brand-soft);color:var(--color-brand-strong)}.button-small{min-height:36px;padding-inline:var(--space-3);font-size:14px}.icon-danger:hover:not(:disabled){color:var(--color-danger)}.suggestion-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.suggestion{align-items:center;gap:var(--space-3);width:100%;min-height:60px;padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);text-align:start;cursor:pointer;display:flex}.suggestion:hover{border-style:solid;border-color:var(--color-brand);background:var(--color-brand-soft)}.suggestion>svg{color:var(--color-brand-strong);flex:none}.suggestion-text{flex:1;min-width:0;display:grid}.suggestion-title{overflow-wrap:anywhere;font-weight:600}.dialog-inner{max-height:inherit;flex-direction:column;display:flex}.form-stack{gap:var(--space-1);display:grid}.form-row{gap:0 var(--space-3);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.form-row .field,.form-stack>.field:not(.field-toggle){grid-template-columns:1fr}textarea.text-input{min-height:88px;padding-block:var(--space-2);resize:vertical;font:inherit}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.shortcut-list{gap:var(--space-2);margin:0 0 var(--space-3);display:grid}.shortcut-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(120px,auto) 1fr;display:grid}.shortcut-row dt{flex-wrap:wrap;gap:4px;display:flex}.shortcut-row dd{margin:0}kbd{border:1px solid var(--color-border-strong);border-radius:var(--radius-xs);background:var(--color-surface-muted);min-width:28px;height:28px;font:600 13px/1 var(--font);border-bottom-width:2px;justify-content:center;align-items:center;padding:0 6px;display:inline-flex}.chip{min-height:36px;padding:0 var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;font-size:13px;font-weight:600}.chip[aria-pressed=true]{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-strong)}.range{width:100%;min-height:var(--touch);accent-color:var(--color-brand)}.sun-toggle{font-variant-numeric:tabular-nums;white-space:nowrap}.sun-controls .field{grid-template-columns:1fr}.sun-controls output{color:var(--color-text);font-variant-numeric:tabular-nums;margin-inline-start:var(--space-1);font-weight:700}.sun-quick{gap:var(--space-1);margin-block:var(--space-2);flex-wrap:wrap;display:flex}.sun-readout{margin:var(--space-2) 0 var(--space-1);font-size:14px;font-weight:600}.sheet-frame{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-sunken);overflow-x:auto}.print-sheet{width:100%;min-width:640px;height:auto;box-shadow:var(--shadow-2);font-family:var(--font);background:#fff;display:block}.sheet-marker circle{fill:#1b2620;stroke:#fff;stroke-width:.5px}.sheet-marker text{fill:#fff;font-size:3px;font-weight:700}.sheet-north circle{fill:#fff;stroke:#1b2620;stroke-width:.4px}.sheet-north path{fill:#1b2620}.sheet-north text,.sheet-scalebar text{fill:#1b2620;font-size:3.2px;font-weight:700}.sheet-dim line{stroke:#1b2620;stroke-width:.25px}.sheet-dim text{fill:#1b2620;font-size:3px}.sheet-h1{fill:#1b2620;font-size:5.5px;font-weight:750}.sheet-h2{fill:#1b2620;font-size:4.5px;font-weight:750}.sheet-strong{fill:#1b2620;font-size:3.2px;font-weight:650}.sheet-num{fill:var(--color-brand-strong);font-size:3.2px;font-weight:800}.sheet-small{fill:#5f6d65;font-size:2.6px}.sheet-tiny{fill:#5f6d65;font-size:2.2px}@page{size:A3 landscape;margin:0}@media print{html,body,#root{background:#fff;height:auto;overflow:visible}.no-print,.app-sidebar,.topbar,.bottom-nav,.toast-region,.update-banner,.offline-badge{display:none!important}.editor,.editor-main,.workspace-scroll{background:#fff;height:auto;padding:0;display:block;overflow:visible}.sheet-frame{background:0 0;border:0;padding:0;overflow:visible}.print-sheet{width:420mm;min-width:0;height:297mm;box-shadow:none}}.layer-thumb{overflow:hidden}.layer-mini{width:100%;height:100%;display:block}.project-overview .quantity-list{margin:var(--space-3) var(--space-4) 0;row-gap:var(--space-2)}.overview-hint{gap:var(--space-2);margin:var(--space-4);align-items:flex-start;display:flex}.overview-hint svg{flex:none;margin-top:2px}.showcase-preview{width:100%;height:100%;transition:transform .4s;display:block}.entry-card:hover .showcase-preview{transform:scale(1.04)}@media (prefers-reduced-motion:reduce){.showcase-preview{transition:none}}.defs-only{width:0;height:0;position:absolute;overflow:hidden}.camera-presets{gap:var(--space-1);flex-wrap:wrap;display:flex}.camera-presets>.chip{flex:8.5rem}.drawer-section .chip{min-height:var(--touch)}.drawer-section .chip-icon{align-items:center;gap:var(--space-2);min-height:var(--touch);border-radius:var(--radius-control);text-align:start;justify-content:flex-start;display:flex}.viewport-canvas:is([data-fit-top="1"],[data-fit-top="2"],[data-fit-top="3"]) :is(.stage-tl .stage-label,.sun-month,.sun-sep),.viewport-canvas:is([data-fit-top="2"],[data-fit-top="3"]) :is(.stage-tl .segmented-label,.sun-time),.viewport-canvas:is([data-fit-bottom="2"],[data-fit-bottom="3"]) :is(.toolbar .tool:not(.tool-primary) .tool-label,.stage-bl .stage-label),.viewport-canvas[data-fit-bottom="3"] .toolbar .tool-primary .tool-label{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.viewport-canvas:is([data-fit-top="2"],[data-fit-top="3"]) .stage-tl .segmented-item svg{margin-inline-end:0}.viewport-canvas[data-fit-top="3"] .stage-tl .segmented-item{min-width:var(--touch);padding-inline:var(--space-2)}.credits summary{min-height:var(--touch);cursor:pointer;align-items:center;font-weight:600;display:flex}.credit-list{gap:var(--space-1);margin:var(--space-2) 0;overflow-wrap:anywhere;padding-inline-start:var(--space-4);font-size:13px;display:grid}.component-placeholder{fill:#d4d8dc;fill-opacity:.9;stroke:#4b545c;stroke-width:1.4px;stroke-dasharray:5 3}.component-placeholder-mark{fill:none;stroke:#6b757e;stroke-width:1px}.module-switches{gap:var(--space-1);margin:var(--space-2) 0 0;padding:0;list-style:none;display:grid}.module-switch{align-items:center;gap:var(--space-3);min-height:var(--touch);padding-block:var(--space-1);border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;display:grid}.module-switch-text{cursor:pointer;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;gap:2px;display:grid}.module-switch-name{font-size:14px;font-weight:600}.module-switch .switch{width:22px;height:22px;accent-color:var(--color-brand)}.library-module+.library-module{margin-top:var(--space-3)}.library-module-head{align-items:center;gap:var(--space-1) var(--space-2);margin:var(--space-2) 0 var(--space-1);flex-wrap:wrap;display:flex}.library-module-name{margin:0;font-size:13px;font-weight:600}.severity{align-items:center;gap:var(--space-1);font-size:13px;font-weight:600;display:inline-flex}.severity-error{color:var(--color-danger)}.checklist-table td{vertical-align:top}.checklist-table .field{margin-block:0}.component-data dd{overflow-wrap:anywhere}.component-params{margin:0;padding:0;list-style:none}.port-list{gap:var(--space-2);margin:var(--space-1) 0 var(--space-2);padding:0;list-style:none;display:grid}.port-item{gap:var(--space-1);overflow-wrap:anywhere;font-size:13px;display:grid}.port-state{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;display:flex}.port-open-required{color:var(--color-warning);font-weight:600}.library-module-group-name{margin:var(--space-2) 0 var(--space-1);color:var(--color-muted);font-size:12px;font-weight:600}.pool-curve-row{align-items:center;gap:var(--space-2);grid-template-columns:auto minmax(0,1fr) minmax(0,1fr) auto;display:grid}.pool-curve-point{white-space:nowrap;font-size:13px}.pool-turnover,.pool-mount,.pool-curve,.pool-hydraulics,.pool-loss,.pool-clearance,.pool-heating,.pool-filter-load{margin-block:var(--space-3)}.quantity-row.quantity-sub dt{color:var(--color-muted);padding-inline-start:var(--space-3)}.pool-assumptions summary{cursor:pointer;font-size:13px;font-weight:600}.pool-assumption-list,.pool-missing-list{gap:var(--space-1);margin:var(--space-2) 0;overflow-wrap:anywhere;padding-inline-start:var(--space-4);display:grid}.pool-estimate-notice{margin-block:var(--space-2);font-size:13px}.port-direct{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.port-direct .select{flex:12rem;min-width:0;max-width:100%}.module-sheets{gap:var(--space-3);margin-top:var(--space-6);display:grid}.module-sheet-card{gap:var(--space-3);display:grid}.module-sheet-actions{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.module-sheet-frame{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-panel);background:var(--color-surface-sunken);overflow-x:auto}.module-sheet{gap:var(--space-4);max-width:210mm;padding:var(--space-6);color:#1b2620;box-shadow:var(--shadow-2);overflow-wrap:anywhere;background:#fff;margin:0 auto;display:grid}.module-sheet h2,.module-sheet h3,.module-sheet h4,.module-sheet h5{margin:0}.module-sheet-head{justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;display:flex}.module-sheet-meta{gap:var(--space-1);margin:0;display:grid}.module-sheet-meta div{gap:var(--space-2);display:flex}.module-sheet-meta dt{font-weight:600}.module-sheet-meta dd{margin:0}.module-sheet-section,.module-sheet-block{gap:var(--space-2);break-inside:avoid-page;display:grid}.data-table.module-sheet-table{table-layout:auto;width:100%;min-width:0;font-size:12px}.data-table.module-sheet-table th,.data-table.module-sheet-table td{width:auto;padding:4px 6px}.data-table.module-sheet-table th{text-transform:none;letter-spacing:0;white-space:normal}.pool-sheet-plan{position:relative}.pool-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.pool-sheet-markers{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.pool-sheet-marker circle{fill:#1b2620;stroke:#fff;stroke-width:.02px}.pool-sheet-marker text{fill:#fff;font-weight:700}.electrical-section,.electrical-drop{margin-block:var(--space-3)}.electrical-front{width:100%;max-width:32rem;height:auto;margin-block:var(--space-2);display:block}.electrical-front-tag{fill:#1b2620;font-weight:700}.electrical-front-text{fill:#1b2620}.electrical-front-reserve{fill:#4f5860}.electrical-occupancy,.electrical-device-list{gap:var(--space-1);margin:var(--space-2) 0;padding:0;list-style:none;display:grid}.electrical-device{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control)}.electrical-device-head{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.electrical-device-name{overflow-wrap:anywhere;min-width:0}.electrical-device-actions{gap:var(--space-1);flex:none;display:flex}.electrical-device-edit summary{cursor:pointer;min-height:24px;font-size:13px;font-weight:600}.electrical-add-device{gap:var(--space-2);justify-items:start;display:grid}.electrical-table-scroll{margin-block:var(--space-2)}.data-table.electrical-table th{white-space:nowrap;overflow-wrap:normal}.electrical-assumption-list,.electrical-missing-list,.electrical-drop-targets{gap:var(--space-1);margin:var(--space-2) 0;overflow-wrap:anywhere;padding-inline-start:var(--space-4);display:grid}.electrical-notice{margin-block:var(--space-2);font-size:13px}.electrical-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.electrical-review-lines{gap:var(--space-2);margin:0;display:grid}.electrical-review-lines div{align-items:end;gap:var(--space-2);grid-template-columns:minmax(6rem,12rem) minmax(0,1fr);display:grid}.electrical-review-lines dt{font-weight:600}.electrical-review-lines dd{border-bottom:1px solid #1b2620;min-height:1.8rem;margin:0}.data-table.module-sheet-table th.num{white-space:nowrap}@page module-sheet{size:A4 portrait;margin:12mm}@media print{html:not([data-print-sheet]) .module-sheets,html[data-print-sheet] .sheet-frame{display:none!important}.module-sheet-frame{background:0 0;border:0;padding:0;overflow:visible}.module-sheet{page:module-sheet;max-width:none;box-shadow:none;padding:0}}.port-target-ring{fill:#ffffffbf;stroke:var(--color-brand);stroke-width:2px}.port-target-ring.is-active{fill:var(--color-brand-soft);stroke-width:3px}.port-target-snapped{fill:var(--color-brand);stroke:#fff;stroke-width:2px}.data-table.module-bom-table{min-width:0}.module-bom-table th:first-child{width:56%}.module-bom-table th:nth-child(2),.module-bom-table th:nth-child(3){width:22%}.bom-detail{font-size:13px;display:block}.severity-warning{color:var(--color-warning)}.interior-snap{fill:#fff;stroke:var(--color-brand);stroke-width:2.5px}.interior-snap-face,.interior-snap-wall{fill:var(--color-brand);stroke:#fff;stroke-width:2px}.interior-snap-axis{fill:var(--color-brand-soft)}.plan2d.tool-interiorWall .plan2d-svg,.plan2d.tool-interiorDoor .plan2d-svg,.plan2d.tool-roomName .plan2d-svg{cursor:crosshair}.room-label-name{font-weight:750}.room-label-area{font-weight:500}.floor-plan-entry,.floor-plan-element{gap:var(--space-2);display:grid}.floor-plan-entry .button,.floor-plan-element .button{justify-self:start}.floor-plan-list{margin:0 0 var(--space-2);gap:var(--space-1);padding:0;list-style:none;display:grid}.floor-plan-row{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-height:44px;display:flex}.floor-plan-row-name{overflow-wrap:anywhere;flex:9em;min-width:0}.floor-plan-row-value{font-variant-numeric:tabular-nums;white-space:nowrap}.floor-plan-unplaced-row{gap:var(--space-2);margin-block-end:var(--space-3);display:grid}.table-note{padding:var(--space-2) var(--space-4) 0;margin:0}.data-table.floor-plan-table{min-width:0}.floor-plan-table th:first-child{width:64%}.floor-plan-table th:nth-child(2){width:36%}.floor-plan-table .total-row th{text-transform:none;letter-spacing:0;color:var(--color-text);white-space:normal;font-size:14px}.component-handle{cursor:move}.component-knob{fill:#fff;stroke:var(--color-brand);stroke-width:2.5px}.irrigation-block,.irrigation-zone-panel,.irrigation-envelope{margin-block:var(--space-3)}.irrigation-zone-panel{gap:var(--space-2);min-width:0;padding-top:var(--space-2);border-top:1px solid var(--color-border);display:grid}.irrigation-envelope summary,.irrigation-assumptions summary{cursor:pointer;font-size:13px}.irrigation-list{margin:var(--space-1) 0;padding-inline-start:var(--space-4)}.irrigation-notice{margin-block:var(--space-2);font-size:13px}.irrigation-season-row{align-items:center;gap:var(--space-2);grid-template-columns:minmax(4.5rem,auto) minmax(0,1fr) minmax(0,1fr);display:grid}.irrigation-season-name{overflow-wrap:anywhere;font-size:13px}.data-table.irrigation-season-table{min-width:0}.irrigation-open-group h5{margin:var(--space-2) 0 0;font-size:13px}.irrigation-legend{gap:var(--space-1);margin-top:var(--space-2);display:grid}.irrigation-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.irrigation-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.irrigation-swatch{flex:none}.irrigation-sheet-plan{position:relative}.irrigation-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.irrigation-sheet-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.irrigation-cell-labels text{font-family:var(--font-sans,system-ui, sans-serif)}@media print{html[data-print-sheet=irrigation] .module-sheet-card:not([data-module=irrigation]),html[data-print-sheet=electrical] .module-sheet-card:not([data-module=electrical]),html[data-print-sheet=pool] .module-sheet-card:not([data-module=pool]),html[data-print-sheet=construction] .module-sheet-card:not([data-module=construction]),html[data-print-sheet=planting] .module-sheet-card:not([data-module=planting]),html[data-print-sheet=earthworks] .module-sheet-card:not([data-module=earthworks]){display:none!important}}.construction-panel{gap:var(--space-2);min-width:0;display:grid}.construction-panel .section{margin-block:0}.construction-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.construction-subtitle{margin:var(--space-3) 0 var(--space-1);font-size:13px}.construction-edges,.construction-cut-list,.construction-span-results{gap:var(--space-1);margin:var(--space-1) 0;overflow-wrap:anywhere;padding-inline-start:var(--space-4);font-size:13px;display:grid}.construction-span-row{min-width:0;margin:var(--space-2) 0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control)}.construction-span-row legend{padding:0 var(--space-1);font-size:13px;font-weight:650}.data-table.construction-compare{min-width:0;font-size:13px}.data-table.construction-compare caption{caption-side:bottom;padding-top:var(--space-1);text-align:start}.construction-tag rect{fill:#fff;stroke:#3e454b;stroke-width:1px;vector-effect:non-scaling-stroke}.construction-tag text{fill:#2f353a;font-family:var(--font-sans,system-ui, sans-serif);font-weight:650}.construction-legend{gap:var(--space-1);margin-top:var(--space-2);display:grid}.construction-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.construction-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.construction-swatch{background:#d9b98d;border:1px solid #3e454b;border-radius:2px;flex:none;width:22px;height:12px}.construction-swatch-beam{background:#c9a77f;height:16px}.construction-swatch-post{background:linear-gradient(45deg,#0000 45%,#3e454b 45% 55%,#0000 55%),linear-gradient(-45deg,#0000 45%,#3e454b 45% 55%,#0000 55%),#d9b98d;width:14px;height:14px}.construction-swatch-footing{background:#ebe8e2;border-style:dashed;width:14px;height:14px}.construction-swatch-edge{background:#fff;border-radius:7px;width:22px}.construction-sheet-plan svg{background:var(--color-surface);width:100%;max-height:520px;display:block}.construction-cut-profile h5{margin:var(--space-2) 0 var(--space-1);font-size:13px}.quantity-list.irrigation-facts{grid-template-columns:minmax(5.5rem,auto) minmax(0,1fr)}.quantity-list.irrigation-facts dd{overflow-wrap:anywhere}.planting-panel{gap:var(--space-2);overflow-wrap:anywhere;min-width:0;display:grid}.planting-panel .section{margin-block:0}.planting-subtitle{margin:var(--space-3) 0 var(--space-1);font-size:13px}.planting-actions,.planting-create{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.planting-counts,.planting-list{gap:var(--space-1);margin:var(--space-1) 0;padding-inline-start:var(--space-4);font-size:13px;display:grid}.planting-list svg{vertical-align:-3px}.planting-traits{font-size:13px}.planting-traits th{text-align:start;font-weight:500}.planting-view{gap:var(--space-2);min-width:0;display:grid}.planting-year-row{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.planting-year-row input[type=range]{flex:8rem;min-width:0;min-height:44px}.planting-year-value{font-variant-numeric:tabular-nums;min-width:4.5rem}.planting-legend{gap:var(--space-1);margin-top:var(--space-2);display:grid}.planting-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.planting-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.planting-legend-list svg{flex:none}.planting-care-table th[scope=row]{text-align:start;min-width:12rem;font-weight:500}.planting-care-table td[data-active]{color:var(--color-accent-strong);font-weight:700}.planting-care-actions{gap:var(--space-2);margin:var(--space-2) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.planting-care-actions .button{white-space:normal;text-align:start;max-width:100%}.planting-sheet-plan{background:var(--color-surface);width:100%;max-height:520px;display:block}.planting-sheet-plan text{font-family:var(--font-sans,system-ui, sans-serif)}.port-blocked-ring{fill:#fff9;stroke:#7c8781;stroke-width:1.5px;stroke-dasharray:3 2}.port-blocked-slash{stroke:#5f6d65;stroke-width:1.5px;stroke-linecap:round}.branch-mark{fill:none;stroke:var(--color-brand-strong);stroke-width:2.5px;stroke-linecap:round}.line-end-connected{fill:var(--color-brand-strong);stroke:#fff;stroke-width:1.5px}.line-end-open{fill:#fff;stroke:var(--color-text);stroke-width:2px}.line-vertex-handle,.line-mid-handle,.line-end-handle{cursor:move}.line-extend-handle,.port-handle.is-free{cursor:pointer}.line-vertex-handle.is-active .vertex-knob{fill:var(--color-brand);stroke:#fff}.line-mid-knob{fill:var(--color-brand);fill-opacity:.75;stroke:#fff;stroke-width:1.5px}.line-mid-plus,.line-extend-plus{stroke:#fff;stroke-width:2px;stroke-linecap:round}.line-end-knob{fill:var(--color-brand-strong);stroke:#fff;stroke-width:2px}.line-end-knob-open{fill:#fff;stroke:var(--color-brand-strong);stroke-width:2.5px}.line-extend-knob{fill:var(--color-brand);stroke:#fff;stroke-width:2px}.port-handle-mark{fill:#fff;stroke:var(--color-text);stroke-width:2px}.port-handle-mark.is-connected{fill:var(--color-text);stroke:#fff}.port-handle.is-free:hover .port-handle-mark{fill:var(--color-brand-soft);stroke:var(--color-brand-strong)}.check-mark-shape{stroke:#fff;stroke-width:1.5px}.check-warning{fill:var(--color-warning)}.check-error{fill:var(--color-danger)}.check-info{fill:#2f5f8f}.check-mark-symbol{fill:none;stroke:#fff;stroke-width:2px;stroke-linecap:round}.check-mark-link{stroke:var(--color-warning);stroke-width:1.5px;stroke-dasharray:4 3}.check-focus{fill:none;stroke:var(--color-brand-strong);stroke-width:3px;transform-box:fill-box;transform-origin:50%;animation:1.4s ease-in-out infinite check-focus-pulse}@keyframes check-focus-pulse{50%{stroke-opacity:.35;transform:scale(1.15)}}@media (prefers-reduced-motion:reduce){.check-focus{animation:none}}.flow-arrow{fill:var(--color-water);stroke:#fff;stroke-width:1px}.connect-notice{align-items:center;gap:var(--space-2);max-inline-size:min(760px,100%);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-radius:var(--radius-panel);background:var(--color-surface-inverse);color:var(--color-on-dark);box-shadow:var(--shadow-2);pointer-events:auto;flex-wrap:wrap;margin-inline:auto;font-size:14px;display:flex}.connect-notice :focus-visible{outline-color:var(--color-focus-on-dark)}.connect-notice>span{flex:180px}.connect-notice .button{min-height:40px;color:var(--color-text)}.connect-notice .icon-button{color:var(--color-on-dark)}@media (pointer:coarse){.connect-notice .button{min-height:var(--touch)}}.line-tool-aids{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.tool-hint .line-tool-aids span{flex:none}.line-aids-toggle,.aid-short{display:none}.is-phone .tool-hint .line-aids-toggle{min-width:var(--touch);display:inline-flex}.is-phone .tool-hint .line-tool-aids:not(.is-open){display:none}.is-phone .tool-hint .line-tool-aids .aid-text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.is-phone .tool-hint .line-tool-aids .aid-short{display:inline}.line-length{align-items:center;gap:var(--space-1);display:inline-flex}.line-length-label{font-size:13px}.line-length-input{inline-size:5.5em;min-height:40px;color:var(--color-text)}.is-phone .line-length-input{inline-size:4.5em}.line-length-unit{font-size:13px}@media (pointer:coarse){.line-length-input{min-height:var(--touch)}}.is-phone .tool-hint .line-tool-aids{flex-basis:100%}.port-option-list{gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;display:grid}.port-option{inline-size:100%;min-height:var(--touch);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:start;cursor:pointer;gap:2px;display:grid}.port-option:hover:not(:disabled),.port-option:focus-visible{border-color:var(--color-brand);background:var(--color-brand-soft)}.port-option:disabled{background:var(--color-surface-muted);cursor:not-allowed}.port-option-meta{color:var(--color-muted);font-size:13px}.port-option-symbol{vertical-align:-2px;margin-inline-end:6px}.port-option-shape{fill:none;stroke:currentColor;stroke-width:2px}.port-option-name{overflow-wrap:anywhere}.checklist-actions{gap:var(--space-1);margin-top:var(--space-1);flex-wrap:wrap;display:flex}.earthworks-panel{gap:var(--space-2);min-width:0;display:grid}.earthworks-panel .section{margin-block:0}.earthworks-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.earthworks-point-rows,.earthworks-levelling-rows,.earthworks-layer-rows{gap:var(--space-2);margin:var(--space-2) 0;padding:0;list-style:none;display:grid}.earthworks-point-row,.earthworks-levelling-row,.earthworks-layer-row{align-items:end;gap:var(--space-1) var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));display:grid}.earthworks-point-row>*,.earthworks-levelling-row>*,.earthworks-layer-row>*{overflow-wrap:anywhere;min-width:0}.earthworks-point-number{grid-column:1/-1;font-size:13px}.quantity-list.earthworks-volumes{grid-template-columns:minmax(6rem,auto) minmax(0,1fr)}.quantity-list.earthworks-volumes dd{overflow-wrap:anywhere}.earthworks-legend{gap:var(--space-1);margin-top:var(--space-2);display:grid}.earthworks-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.earthworks-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.earthworks-swatch{flex:none}.earthworks-section{margin:var(--space-2) 0;min-width:0}.earthworks-section-svg{width:100%;height:auto;font-family:var(--font-sans,system-ui, sans-serif);display:block}.earthworks-sheet-plan svg{background:var(--color-surface);width:100%;max-height:560px;display:block}.earthworks-sheet-plan text,.earthworks-section-svg text{font-family:var(--font-sans,system-ui, sans-serif)}.lighting-panel{gap:var(--space-2);min-width:0;display:grid}.lighting-block,.lighting-result{margin-block:var(--space-2);min-width:0}.lighting-scene-row{gap:var(--space-1);display:grid}.lighting-scene-slot{gap:var(--space-1);margin:0 0 var(--space-2);padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm,6px);min-width:0;display:grid}.lighting-scene-slot legend{padding-inline:var(--space-1);font-weight:600}.lighting-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.lighting-list{overflow-wrap:anywhere;margin:0;padding-inline-start:1.2em}.lighting-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.lighting-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.lighting-swatch{flex:none}.lighting-estimate{overflow-wrap:anywhere}.lighting-sheet-plan{position:relative}.lighting-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.lighting-sheet-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.lighting-sheet-overlay text{font-family:var(--font-sans,system-ui, sans-serif)}.lighting-signoff{gap:var(--space-2);margin:var(--space-2) 0 0;display:grid}.lighting-signoff div{align-items:end;gap:var(--space-2);grid-template-columns:minmax(6rem,12rem) minmax(0,1fr);display:grid}.lighting-signoff dd{border-bottom:1px solid;min-height:1.8em;margin:0}@media print{html[data-print-sheet=lighting] .module-sheet-card:not([data-module=lighting]){display:none!important}}.rainwater-panel,.rainwater-block{gap:var(--space-2);min-width:0;display:grid}.rainwater-panel .section{margin-block:0}.rainwater-actions{gap:var(--space-2);min-width:0;display:grid}.rainwater-slot-rows,.rainwater-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.rainwater-slot-row{align-items:end;gap:var(--space-1) var(--space-2);min-width:0;padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));display:grid}.rainwater-slot-row>*{overflow-wrap:anywhere;min-width:0}.rainwater-slot-row>strong,.rainwater-slot-row>span{grid-column:1/-1}.quantity-list.rainwater-facts{grid-template-columns:minmax(6rem,auto) minmax(0,1fr)}.quantity-list.rainwater-facts dt,.quantity-list.rainwater-facts dd{overflow-wrap:anywhere}.rainwater-legend{gap:var(--space-1);margin-top:var(--space-2);display:grid}.rainwater-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.rainwater-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.rainwater-swatch{flex:none}.rainwater-sheet-plan{position:relative}.rainwater-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.rainwater-sheet-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rainwater-sheet-overlay text{font-family:var(--font-sans,system-ui, sans-serif)}.rainwater-panel{container-type:inline-size}@container (width<=340px){.rainwater-panel .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon){gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.rainwater-panel .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon)>.input-unit{max-width:220px}}@media print{html[data-print-sheet=rainwater] .module-sheet-card:not([data-module=rainwater]){display:none!important}}.mower-panel{gap:var(--space-2);min-width:0;display:grid;container-type:inline-size}.mower-panel .section{margin-block:0}.quantity-list.mower-facts{grid-template-columns:minmax(6rem,auto) minmax(0,1fr)}.quantity-list.mower-facts dt,.quantity-list.mower-facts dd{overflow-wrap:anywhere}.mower-legend{gap:var(--space-1);margin-top:var(--space-2);display:grid}.mower-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.mower-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.mower-swatch{flex:none}.mower-sheet-plan{position:relative}.mower-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.mower-sheet-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}@container (width<=340px){.mower-panel .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon):not(.field-toggle){gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.mower-panel .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon):not(.field-toggle)>.input-unit{max-width:220px}}@media print{html[data-print-sheet=mower] .module-sheet-card:not([data-module=mower]){display:none!important}}.solar-panel{gap:var(--space-2);min-width:0;display:grid;container-type:inline-size}.solar-block,.solar-result{gap:var(--space-1);margin-block:var(--space-2);min-width:0;display:grid}.solar-block>.button{justify-self:start}.solar-list{overflow-wrap:anywhere;margin:0;padding-inline-start:1.2em}.solar-legend-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.solar-legend-list li{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;font-size:13px;display:flex}.solar-swatch{flex:none}.solar-estimate,.solar-result p{overflow-wrap:anywhere}.solar-sheet-plan{position:relative}.solar-sheet-plan .plan-static{aspect-ratio:3/2;max-height:none}.solar-sheet-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.solar-sheet-overlay text{font-family:var(--font-sans,system-ui, sans-serif)}.solar-signoff{gap:var(--space-2);margin:var(--space-2) 0 0;display:grid}.solar-signoff div{align-items:end;gap:var(--space-2);grid-template-columns:minmax(6rem,14rem) minmax(0,1fr);display:grid}.solar-signoff dd{border-bottom:1px solid;min-height:1.8em;margin:0}@container (width<=340px){.solar-panel .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon){gap:var(--space-1);grid-template-columns:minmax(0,1fr)}.solar-panel .field:not(.field-text):not(.field-compact):not(.field-select):not(.field-addon)>.input-unit{max-width:220px}}@media print{html[data-print-sheet=solar] .module-sheet-card:not([data-module=solar]){display:none!important}}.underlay-missing{fill:#ffffff40;stroke:var(--color-muted);stroke-width:1.5px;stroke-dasharray:6 4}.underlay-frame{fill:none;stroke:var(--color-brand-strong);stroke-width:2px;stroke-dasharray:10 5;paint-order:stroke;filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 1px #fff)}.underlay-picks{filter:drop-shadow(0 0 1px #fff)drop-shadow(0 0 1px #fff)}.underlay-pick-ring{fill:#ffffff59;stroke:#0b1d14;stroke-width:2px}.underlay-pick-cross,.underlay-pick-line{fill:none;stroke:#0b1d14;stroke-width:2px;stroke-linecap:round}.underlay-pick-line.is-arrow{stroke-dasharray:8 4}.underlay-panel .banner{margin:0}.underlay-panel .input-unit input{align-self:stretch;margin-block:-1px}.underlay-list{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.underlay-item{align-items:center;gap:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:minmax(0,1fr) auto auto;padding:2px;display:grid}.underlay-item.is-active{border-color:var(--color-brand);background:var(--color-brand-soft)}.underlay-select{min-width:0;min-height:var(--touch);padding:var(--space-1) var(--space-2);color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;display:grid}.underlay-name{text-overflow:ellipsis;white-space:nowrap;font-weight:650;overflow:hidden}.underlay-status{color:var(--color-muted);overflow-wrap:anywhere;font-size:13px}.underlay-status.is-open{color:var(--color-warning)}.underlay-status.is-missing{color:var(--color-danger)}.underlay-detail,.underlay-actions{gap:var(--space-2);min-width:0;display:grid}.underlay-detail{padding-block-start:var(--space-2)}.underlay-actions>.button{justify-self:start}.underlay-range{align-items:center;gap:var(--space-3);display:flex}.underlay-range input[type=range]{min-width:0;min-height:var(--touch);accent-color:var(--color-brand);flex:auto}.underlay-range-value{font-variant-numeric:tabular-nums;text-align:end;min-width:4ch}.underlay-xy{gap:0 var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.underlay-order{gap:var(--space-1);display:flex}.site-wizard{width:min(520px,100vw - 32px)}.site-wizard-step{margin:0 0 var(--space-2);color:var(--color-muted);font-size:14px;font-weight:650}.site-preview{width:100%;height:150px;border-radius:var(--radius-control);background:var(--color-surface-muted);margin-block-end:var(--space-3);display:block}.site-preview-plot{fill:#dfe9d4;stroke:var(--color-brand-strong);stroke-width:2px}.site-preview-front{stroke:var(--color-text);stroke-width:4px}.site-preview-house{fill:#c9c2b6;stroke:var(--color-text);stroke-width:1.5px}.site-preview-north path{fill:var(--color-danger)}.site-sides{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.site-side-actions,.site-compass{gap:var(--space-2);flex-wrap:wrap;display:flex}.site-compass .chip{min-width:var(--touch);min-height:var(--touch)}@media (pointer:coarse){.underlay-select,.site-compass .chip{min-height:48px}}.site-preview-north text{fill:var(--color-text);font-weight:700}.brand{--brand-h:40px;align-items:center;gap:calc(var(--brand-h) * .02);white-space:nowrap;min-width:0;line-height:0;display:inline-flex}.brand--sm{--brand-h:32px}.brand--lg{--brand-h:64px}.brand-logo{width:var(--brand-h);height:var(--brand-h);flex:none;display:block}.brand-name{height:var(--brand-h);width:auto;min-width:0;max-width:100%;display:block}
