.projects-page{background:var(--color-page);color:var(--color-text-primary)}.projects-page,.projects-workspace{min-height:100vh}.projects-header{align-items:center;background:rgba(255,255,255,.72);border-bottom:1px solid rgba(34,31,26,.08);display:flex;gap:1rem;justify-content:space-between;min-height:72px;padding:.75rem clamp(1rem,2.2vw,2rem);position:relative}.projects-header h1{color:var(--color-text-primary);font-size:1.18rem;font-weight:600;letter-spacing:-.025em;margin:0}.projects-header-actions{align-items:center;display:flex;gap:.7rem}.project-icon-button,.projects-new-button,.projects-search-button{align-items:center;border:0;cursor:pointer;display:inline-flex;font:inherit;justify-content:center}.projects-search-button{background:#fff;border:1px solid rgba(34,31,26,.13);border-radius:12px;color:var(--color-text-primary);height:48px;width:52px}.projects-search-button:focus-visible,.projects-search-button:hover{background:var(--color-surface-subtle);border-color:rgba(34,31,26,.28)}.projects-search-button svg,.projects-search-field svg{fill:none;height:21px;stroke:currentColor;stroke-linecap:round;stroke-width:1.7;width:21px}.projects-search-field{align-items:center;background:#fff;border:1px solid rgba(34,31,26,.13);border-radius:12px;display:flex;gap:.55rem;height:48px;padding:0 .8rem;width:min(320px,34vw)}.projects-search-field input{background:transparent;border:0;color:inherit;font:inherit;min-width:0;outline:0;width:100%}.projects-search-close{align-items:center;background:transparent;border:0;border-radius:8px;color:#6d675f;cursor:pointer;display:inline-flex;flex:0 0 auto;height:36px;justify-content:center;padding:0;width:36px}.projects-search-close:focus-visible,.projects-search-close:hover{background:#f1efeb;color:#221f1a}.projects-search-close svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-width:1.8;width:18px}.projects-new-button{background:var(--color-action);border-radius:12px;color:#fff;font-size:.94rem;font-weight:600;gap:.48rem;min-height:48px;padding:.65rem 1rem;text-decoration:none}.projects-new-button:focus-visible,.projects-new-button:hover{background:var(--color-action-active)}.projects-new-button>span{font-size:1.6rem;font-weight:400;line-height:.7}.new-project-wrap{position:relative}.new-project-menu,.project-menu{background:#fff;border:1px solid rgba(34,31,26,.11);border-radius:12px;box-shadow:0 16px 38px rgba(30,27,22,.12);padding:.35rem;position:absolute;right:0;top:calc(100% + .45rem);z-index:30}.new-project-menu{min-width:270px}.new-project-menu a{border-radius:8px;display:grid;grid-gap:.12rem;gap:.12rem;padding:.72rem .8rem;text-decoration:none}.new-project-menu a:focus-visible,.new-project-menu a:hover{background:var(--color-surface-subtle);outline:none}.new-project-menu strong{font-size:.86rem}.new-project-menu small{color:var(--color-text-muted);font-size:.73rem}.projects-sections{display:grid;grid-gap:1.5rem;gap:1.5rem;padding:1rem clamp(1rem,2.2vw,2rem) 4rem}.projects-section{min-width:0}.projects-section summary,.projects-section>h2{align-items:center;background:var(--color-surface-muted);border-radius:12px;color:var(--color-text-secondary);display:flex;font-size:.94rem;font-weight:500;justify-content:space-between;letter-spacing:-.01em;list-style:none;margin:0;min-height:48px;padding:.7rem 1rem}.projects-section summary{cursor:pointer}.projects-section summary::-webkit-details-marker{display:none}.projects-section summary:after{content:"⌄";font-size:1.15rem;transform:rotate(180deg);transition:transform .16s ease}.projects-section:not([open]) summary:after{transform:rotate(0)}.projects-section summary>span,.projects-section>h2>span{color:#9a958d;font-size:.72rem;margin-left:auto;margin-right:.65rem}.projects-section>h2>span{margin-right:0}.project-rows{display:grid}.project-row{align-items:center;border-bottom:1px solid rgba(34,31,26,.07);display:grid;grid-template-columns:minmax(0,1fr) auto;min-height:78px;position:relative;transition:background .14s ease,opacity .14s ease}.project-row:hover{background:rgba(255,255,255,.58)}.project-row.is-busy{opacity:.55}.project-row-link{align-items:center;align-self:stretch;display:grid;grid-gap:.8rem;gap:.8rem;grid-template-columns:24px minmax(180px,1.3fr) minmax(360px,1fr);min-width:0;padding:.8rem .35rem .8rem 1.05rem;text-decoration:none}.project-row-link:focus-visible{border-radius:9px;outline:2px solid #456b5b;outline-offset:-2px}.project-folder{color:#7b7a72;display:flex}.project-folder svg,.projects-empty-icon svg{fill:currentColor;height:21px;width:21px}.project-identity{display:grid;min-width:0}.project-identity strong{font-size:.94rem;font-weight:600}.project-identity small,.project-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-identity small{color:var(--color-text-muted);font-size:.75rem}.project-metadata{align-items:center;color:var(--color-text-secondary);display:grid;font-size:.78rem;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(110px,1.2fr) minmax(105px,1fr) minmax(82px,auto);min-width:0}.project-metadata>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-metadata .muted{color:var(--color-text-muted)}.project-metadata time{color:#99948c;text-align:right;white-space:nowrap}.project-row-actions{align-items:center;display:flex;gap:.1rem;padding:0 .75rem 0 .2rem}.project-icon-button{background:transparent;border-radius:9px;color:var(--color-text-muted);height:36px;width:36px}.project-icon-button:focus-visible,.project-icon-button:hover{background:var(--color-surface-muted);color:#292621}.project-icon-button svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55;width:18px}.project-icon-button svg.filled{fill:currentColor}.project-overflow{position:relative}.project-menu{min-width:165px;top:calc(100% + .15rem)}.project-menu button{background:transparent;border:0;border-radius:8px;color:#332f29;cursor:pointer;display:block;font:inherit;font-size:.8rem;padding:.55rem .65rem;text-align:left;width:100%}.project-menu button:focus-visible,.project-menu button:hover{background:var(--color-surface-subtle);outline:none}.project-menu button.danger{color:var(--color-danger)}.projects-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:calc(100vh - 73px);padding:3rem 1rem 7rem;text-align:center}.projects-empty.compact{min-height:360px}.projects-empty-icon{align-items:center;background:var(--color-surface-muted);border-radius:50%;color:var(--color-text-muted);display:flex;height:54px;justify-content:center;margin-bottom:.65rem;width:54px}.projects-empty h2{font-size:1.35rem;margin:.3rem 0}.projects-empty p{color:var(--color-text-muted);font-size:.88rem;margin:.15rem 0 1.2rem}.projects-text-button{background:transparent;border:0;color:var(--color-action);cursor:pointer;font:inherit;font-size:.85rem;text-decoration:underline}.projects-notice{background:var(--color-warning-surface);border:1px solid var(--color-border-strong);border-radius:10px;color:var(--color-warning);margin:1rem clamp(1rem,2.2vw,2rem) 0;padding:.75rem 1rem}.projects-loading-row{animation:projects-pulse 1.3s ease-in-out infinite;background:var(--color-surface-muted);border-radius:10px;height:70px;margin:1rem 2rem}@keyframes projects-pulse{50%{opacity:.45}}.project-action-dialog-backdrop{align-items:center;background:rgba(28,27,24,.36);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:420}.project-action-dialog{background:#fffdf8;border:1px solid rgba(34,31,26,.11);border-radius:18px;box-shadow:0 24px 70px rgba(25,23,20,.2);max-width:440px;padding:1.2rem;width:100%}.project-action-dialog>div,.project-action-dialog>form{display:grid;grid-gap:.8rem;gap:.8rem}.project-action-dialog h2{font-size:1.25rem;margin:0}.project-action-dialog p{color:#706b63;line-height:1.55;margin:0}.project-action-dialog label{display:grid;grid-gap:.35rem;gap:.35rem}.project-action-dialog label span{color:#625e57;font-size:.76rem;font-weight:700}.project-action-dialog input{background:#fff;border:1px solid rgba(34,31,26,.18);border-radius:11px;font:inherit;min-height:46px;padding:.6rem .7rem;width:100%}.project-action-dialog-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.25rem}.project-action-dialog-actions button{background:#24211c;border:1px solid #24211c;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-size:.82rem;font-weight:700;min-height:44px;padding:.55rem .9rem}.project-action-dialog-actions button.secondary{background:transparent;border-color:rgba(34,31,26,.16);color:#4f4a43}.project-action-dialog-actions button.danger{background:#a33c2d;border-color:#a33c2d}.project-action-dialog-actions button:disabled{cursor:default;opacity:.45}@media (max-width:1050px){.project-row-link{grid-template-columns:24px minmax(160px,1fr) minmax(260px,.9fr)}.project-metadata{grid-template-columns:minmax(105px,1fr) minmax(100px,.9fr)}.project-metadata time{display:none}}@media (max-width:760px){.projects-header{align-items:flex-start;flex-wrap:wrap;min-height:68px}.projects-header-actions{margin-left:auto}.projects-search-field{left:1rem;position:absolute;top:calc(100% + .25rem);width:calc(100% - 2rem);z-index:20}.projects-workspace:has(.projects-search-field) .projects-empty,.projects-workspace:has(.projects-search-field) .projects-sections{padding-top:4.5rem}.projects-sections{padding-inline:.65rem}.project-row{min-height:88px}.project-row-link{align-items:start;gap:.65rem;grid-template-columns:22px minmax(0,1fr);padding-left:.65rem}.project-metadata{font-size:.72rem;gap:.2rem .6rem;grid-column:2;grid-template-columns:1fr}.project-metadata>span:nth-child(2){display:none}.project-row-actions{padding-right:.25rem}.project-pin-button{display:none}}@media (max-width:480px){.projects-new-button{min-height:44px;padding-inline:.75rem}.projects-search-button{height:44px;width:44px}.projects-header{padding-inline:.75rem}.projects-header h1{font-size:1.05rem}.new-project-menu{max-width:calc(100vw - 1.5rem);min-width:250px}}.project-workspace-page{min-height:100vh}.site-plan-tab-panel{display:grid;grid-gap:1rem;gap:1rem}.site-plan-canvas{aspect-ratio:var(--site-plan-aspect,1);margin-inline:auto;max-width:min(100%,94vh);position:relative;width:100%}.site-plan-canvas-shell{background:var(--beige-light);border:1px solid rgba(34,31,26,.12);border-radius:16px;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;overflow:hidden;position:relative;width:100%}.site-plan-canvas-map{grid-column:1;grid-row:1;min-height:0;min-width:0;position:relative}.site-plan-canvas-surface{display:block;height:100%;touch-action:none;width:100%}.site-plan-canvas-surface.is-authoring{cursor:crosshair}.site-plan-shape{cursor:pointer;stroke-linejoin:round}.site-plan-route-hit.is-move-target,.site-plan-shape.is-move-target{cursor:move}.site-plan-route-hit{cursor:pointer}.site-plan-canvas-surface.is-authoring .site-plan-route-hit,.site-plan-canvas-surface.is-authoring .site-plan-shape{cursor:crosshair}.site-plan-canvas-surface [role=button]:focus-visible{outline:none}.site-plan-canvas-surface .site-plan-shape[role=button]:focus-visible,.site-plan-canvas-surface .site-plan-staircase:focus-visible rect,.site-plan-canvas-surface [role=button]:focus-visible .site-plan-shape{filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 4px #173d2f);stroke-dasharray:5 3}.site-plan-context-ground{fill:#a8c99a;stroke:#a8c99a;stroke-linejoin:round}.site-plan-house{fill:#efece5;stroke:var(--color-text-primary)}.site-plan-driveway{stroke:#3d3933}.site-plan-area{stroke:#4f8f63}.site-plan-shape.is-selected{stroke:#0d5c40}.site-plan-boundary{fill:none;stroke:#fffaf0}.site-plan-boundary-halo{fill:none;stroke:#173d2f}.site-plan-house-glyph{fill:none;stroke:var(--color-text-primary);stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.site-plan-front-direction{pointer-events:none}.site-plan-front-direction-halo{stroke:rgba(255,255,255,.96);stroke-linecap:round}.site-plan-front-direction-line{stroke:#0d5c40;stroke-linecap:round}.site-plan-front-direction-arrow{fill:#0d5c40;filter:drop-shadow(0 0 1px rgba(255,255,255,.95))}.site-plan-front-direction-label-bg{fill:rgba(255,255,255,.94);stroke:#0d5c40}.site-plan-front-direction-label{fill:#173d2f;font-family:inherit;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.site-plan-dimensions{pointer-events:none}.site-plan-dimension line{stroke-linecap:round}.site-plan-dimension-halo{stroke:rgba(255,255,255,.96)}.site-plan-dimension-line{stroke:#173d2f}.site-plan-measurement-label{pointer-events:none}.site-plan-measurement-label-bg{fill:#fffdf8;stroke:#51685a}.site-plan-measurement-label text{fill:#173d2f;font-family:inherit;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;stroke:none}.site-plan-authoring-overlay{color:#0d6b49;pointer-events:none}.site-plan-authoring-overlay.is-invalid{color:#bd3d34}.site-plan-authoring-footprint{fill-opacity:.16;stroke:currentColor;stroke-dasharray:5 4}.site-plan-authoring-ghost{filter:drop-shadow(0 5px 4px rgba(34,31,26,.3));fill-opacity:.62;stroke:currentColor}.site-plan-authoring-tether{stroke:currentColor;stroke-dasharray:3 3}.site-plan-authoring-route-ghost{fill-opacity:.58;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.site-plan-authoring-fence-ghost{stroke-dasharray:none}.site-plan-authoring-route-point{fill:rgba(255,255,255,.92);stroke:currentColor}.site-plan-ground-target circle:first-child{fill:rgba(255,255,255,.82);stroke:currentColor}.site-plan-ground-target line{stroke:currentColor}.site-plan-ground-target-center{fill:currentColor;stroke:none}.site-plan-authoring-status{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid;border-radius:999px;bottom:max(12px,env(safe-area-inset-bottom,0px));box-shadow:0 8px 22px rgba(34,31,26,.16);display:flex;font-size:.78rem;font-weight:700;gap:.38rem;left:50%;max-width:min(70%,24rem);padding:.42rem .72rem;pointer-events:none;position:absolute;text-align:center;transform:translateX(-50%);z-index:7}.site-plan-authoring-status>span{align-items:center;border:1px solid;border-radius:50%;display:inline-flex;flex:0 0 1.15rem;height:1.15rem;justify-content:center;line-height:1}.site-plan-authoring-status.is-valid{background:rgba(237,247,241,.96);color:#0d6b49}.site-plan-authoring-status.is-invalid{background:rgba(255,239,237,.97);color:#9d2f29}.site-plan-handle-hit{cursor:pointer;fill:transparent;pointer-events:all;stroke:none}.site-plan-handle{cursor:pointer;fill:#fff;stroke:#0d5c40;stroke-width:0}.site-plan-handle-rotate{fill:rgba(255,253,248,.98);stroke:#0d5c40;stroke-width:2px;vector-effect:non-scaling-stroke}.site-plan-handle-rotate-icon{fill:none;pointer-events:none;stroke:#0d5c40;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}.site-plan-handle-add{fill:rgba(255,255,255,.78)}.site-plan-handle-line{pointer-events:none;stroke:#0d5c40}.site-plan-zoom-controls{display:grid;grid-gap:.3rem;gap:.3rem;position:absolute;right:12px;top:12px}.site-plan-zoom-controls button{background:rgba(255,255,255,.94);border:1px solid rgba(34,31,26,.16);border-radius:9px;cursor:pointer;font:inherit;font-size:1rem;height:36px;line-height:1;width:36px}.site-plan-attribution{background:rgba(255,255,255,.82);border-radius:6px;bottom:10px;color:var(--color-text-secondary);font-size:.68rem;padding:.2rem .45rem;position:absolute;right:10px}.site-plan-touch-hint{display:none}.site-plan-3d-view{display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;min-height:0;min-width:0;position:relative}.site-plan-3d-shell{background:#a8c99a;border:1px solid rgba(34,31,26,.12);border-radius:16px;grid-column:1;grid-row:1;height:100%;overflow:hidden;position:relative;width:100%}.site-plan-3d-shell canvas{display:block;touch-action:none}.site-plan-3d-render-guard{align-items:center;background:#a8c99a;color:#4a453e;display:flex;flex-direction:column;gap:.65rem;inset:0;justify-content:center;padding:2rem;position:absolute;text-align:center;z-index:20}.site-plan-3d-render-guard button{background:#fff;border:1px solid rgba(34,31,26,.18);border-radius:8px;color:#292621;cursor:pointer;font:inherit;padding:.45rem .75rem}.site-plan-3d-render-guard button:focus-visible{outline:3px solid rgba(49,93,76,.42);outline-offset:2px}.site-plan-3d-controls{bottom:12px;display:grid;grid-gap:4px;gap:4px;grid-template-columns:repeat(4,44px);grid-template-rows:repeat(3,44px);position:absolute;right:12px;touch-action:manipulation;z-index:8}.site-plan-3d-controls button{align-items:center;background:rgba(255,255,255,.94);border:1px solid rgba(34,31,26,.16);border-radius:11px;box-shadow:0 3px 12px rgba(20,19,16,.1);cursor:pointer;display:inline-flex;font:inherit;font-size:1.12rem;height:44px;justify-content:center;line-height:1;padding:0;width:44px}.site-plan-3d-controls button:hover{background:rgba(255,255,255,1)}.site-plan-3d-controls button:focus-visible{outline:3px solid rgba(49,93,76,.42);outline-offset:1px}.site-plan-3d-controls .is-forward{grid-column:2;grid-row:1}.site-plan-3d-controls .is-left{grid-column:1;grid-row:2}.site-plan-3d-controls .is-fit{grid-column:2;grid-row:2}.site-plan-3d-controls .is-right{grid-column:3;grid-row:2}.site-plan-3d-controls .is-back{grid-column:2;grid-row:3}.site-plan-3d-controls .is-zoom-in{grid-column:4;grid-row:1}.site-plan-3d-controls .is-zoom-out{grid-column:4;grid-row:2}.site-plan-3d-credit{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:rgba(255,253,248,.74);border-radius:6px;bottom:12px;color:var(--color-text-secondary);font-size:.62rem;left:12px;line-height:1.25;padding:.18rem .4rem;position:absolute;z-index:6}.site-plan-3d-credit a{color:inherit;text-decoration:none}.site-plan-3d-credit a:focus-visible,.site-plan-3d-credit a:hover{text-decoration:underline;text-underline-offset:2px}.site-planner .site-plan-3d-view>.site-plan-3d-credit,.site-planner .site-plan-canvas-shell>.site-plan-attribution{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--color-surface,#fffdf8);border-radius:0;border-top:1px solid var(--color-border);box-sizing:border-box;font-size:.6rem;grid-column:1;grid-row:2;max-width:none;overflow-wrap:anywhere;padding:.25rem max(.65rem,env(safe-area-inset-right,0px)) .25rem max(.65rem,env(safe-area-inset-left,0px));position:static;width:100%}.site-planner .site-plan-3d-credit>.site-plan-lidar-source{margin:0 0 .15rem!important}.site-plan-3d-camera-presets{bottom:12px;display:flex;flex-wrap:wrap;gap:.3rem;position:absolute;right:12px}.site-plan-3d-camera-presets button{background:rgba(255,255,255,.94);border:1px solid rgba(34,31,26,.16);border-radius:8px;cursor:pointer;font:inherit;font-size:.74rem;font-weight:600;padding:.35rem .6rem}.site-plan-3d-camera-presets button:hover{background:rgba(255,255,255,1)}.site-plan-3d-fallback,.site-plan-3d-loading{align-items:center;background:#a8c99a;border:1px solid rgba(34,31,26,.12);border-radius:16px;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center;padding:2rem;text-align:center;width:100%}.site-plan-3d-terrain-loading{background:rgba(244,241,234,.92);border:1px solid rgba(34,31,26,.16);border-radius:9px;bottom:12px;color:var(--color-text-secondary);font-size:.78rem;left:12px;padding:.4rem .7rem;position:absolute}.site-plan-3d-diagnostics{background:rgba(20,19,16,.82);border-radius:9px;bottom:40px;color:#f4f1ea;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;left:12px;line-height:1.5;padding:.5rem .65rem;position:absolute}.site-plan-3d-diagnostics strong{color:#fff;display:block;margin-bottom:.15rem}.site-plan-3d-performance-output{white-space:pre-line}.site-plan-property-row{align-items:center;display:grid;grid-gap:.75rem;gap:.75rem;grid-template-columns:minmax(72px,auto) minmax(0,1fr)}.site-plan-property-row>span:first-child{color:var(--color-text-secondary);font-size:.84rem}.site-plan-property-control{align-items:center;display:flex;gap:.4rem}.site-plan-property-control input,.site-plan-property-control select{background:#fff;border:1px solid rgba(34,31,26,.16);border-radius:9px;font:inherit;font-size:.86rem;min-height:40px;min-width:0;padding:.35rem .6rem;width:100%}.site-plan-property-control i{color:var(--color-text-muted);font-size:.8rem;font-style:normal}.site-plan-measurement-control{align-items:stretch;display:grid;grid-gap:.25rem;gap:.25rem}.site-plan-measurement-input{align-items:center;display:flex;gap:.4rem;min-width:0}.site-plan-property-error{color:var(--color-danger-strong);font-size:.72rem;line-height:1.35}.house-selector-overrides{border-top:1px solid rgba(34,31,26,.1);display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.35rem;padding-top:.95rem}.house-selector-overrides h4{font-size:.95rem;letter-spacing:-.02em;margin:0}.house-selector-overrides-lead{color:var(--color-text-muted);font-size:.8rem;margin:0;max-width:60ch}.project-workspace-header{align-items:center;background:rgba(251,248,241,.9);border-bottom:1px solid rgba(34,31,26,.08);display:flex;gap:1.25rem;justify-content:space-between;padding:.8rem clamp(1rem,4vw,4rem)}.project-workspace-header-main{display:grid;grid-gap:.2rem;gap:.2rem;min-width:0}.project-workspace-header.has-project-context{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(0,2fr) minmax(12rem,1fr)}.project-workspace-header.has-project-context>.project-workspace-header-main{align-self:center;grid-column:1;grid-row:1}.project-workspace-header.has-project-context>.project-header-actions{grid-column:3;grid-row:1;justify-self:end}.project-workspace-header.has-project-context .project-back-link{margin:0}.project-workspace-header.has-project-context>.project-workspace-current{grid-column:2;grid-row:1;justify-content:center;text-align:center;white-space:normal}@media (max-width:900px){.project-workspace-header.has-project-context{grid-template-columns:minmax(0,1fr) auto}.project-workspace-header.has-project-context>.project-header-actions{grid-column:2}.project-workspace-header.has-project-context>.project-workspace-current{grid-column:1/-1;grid-row:2}}.project-header-actions{flex:0 0 auto}.project-back-link{align-items:center;color:#706b63;display:inline-flex;font-size:.888rem;gap:.25rem;justify-self:start;text-decoration:none}.project-back-link:focus-visible,.project-back-link:hover,.project-inline-link:focus-visible,.project-inline-link:hover{color:#173f30;text-decoration:underline;text-underline-offset:3px}.project-workspace-header h1{margin:0}.project-workspace-header h1,.project-workspace-name{font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.035em}.project-workspace-name{display:block;font-weight:700;line-height:1.15}.project-workspace-header p{color:var(--color-text-muted);font-size:.88rem;margin:.35rem 0 0}.project-workspace-header .project-workspace-current{align-items:baseline;display:flex;flex-wrap:wrap;font-size:.72rem;gap:.12rem;margin:0;min-width:0}.project-workspace-current>span:first-child{color:var(--color-text-secondary);font-weight:600}.project-workspace-current>strong{color:var(--color-action);font-weight:700}.project-workspace-current>small{color:var(--color-text-muted);flex-basis:100%;font-size:.62rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-workspace-tabs{background:rgba(255,255,255,.72);border-bottom:1px solid rgba(34,31,26,.08);display:flex;gap:clamp(1.15rem,3vw,2.5rem);overflow-x:auto;padding:0 clamp(1rem,4vw,4rem);scrollbar-width:thin}.project-workspace-tabs a{border-bottom:2px solid transparent;color:var(--color-text-muted);flex:0 0 auto;font-size:.84rem;font-weight:600;padding:1rem 0 .85rem;text-decoration:none}.project-workspace-tabs a:focus-visible,.project-workspace-tabs a:hover{color:var(--color-text-primary)}.project-workspace-tabs a[aria-current=page]{border-bottom-color:var(--color-action-hover);color:var(--color-action-hover)}.project-workspace-content{margin:0 auto;max-width:1180px;padding:clamp(1.5rem,4vw,3.5rem) clamp(1rem,4vw,3rem) 5rem}.project-workspace-content-dashboard{max-width:1380px;padding-top:clamp(1.35rem,3vw,2.5rem)}.project-workspace-content-analysis{max-width:none;padding:0}.project-workspace-content-site-plan{max-width:1560px}.project-workspace-content-budget{max-width:1320px}.project-tab-panel{display:grid;grid-gap:1.5rem;gap:1.5rem}.project-section-heading{align-items:flex-end;display:flex;gap:2rem;justify-content:space-between}.project-section-heading h1,.project-section-heading h2{font-size:clamp(1.35rem,2vw,1.8rem);letter-spacing:-.025em;margin:.18rem 0 0}.project-section-heading>p{color:var(--color-text-muted);font-size:.84rem;margin:0;max-width:410px}.project-overview-grid{display:grid;grid-gap:1rem;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr))}.project-overview-property{background:rgba(255,255,255,.82);border:1px solid rgba(34,31,26,.1);border-radius:15px;display:grid;grid-gap:.45rem;gap:.45rem;padding:1.15rem 1.25rem}.project-overview-property>span{color:#175834;font-size:.9rem;font-weight:600;letter-spacing:-.01em}.project-overview-property>a{color:var(--primary);font-size:.82rem;font-weight:700;text-decoration:none}.project-overview-card{background:rgba(255,255,255,.82);border:1px solid rgba(34,31,26,.1);border-radius:15px;box-shadow:0 8px 26px rgba(31,29,24,.035);display:grid;grid-gap:.75rem;gap:.75rem;min-height:180px;padding:1.25rem;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.project-overview-card:focus-visible,.project-overview-card:hover{border-color:rgba(36,79,62,.35);box-shadow:0 14px 34px rgba(31,29,24,.07);outline:none;transform:translateY(-1px)}.project-overview-card-label{color:var(--color-text-muted);font-size:.77rem;font-weight:700}.project-overview-card strong{align-self:center;font-size:1.15rem;font-weight:600;line-height:1.35}.project-overview-card-action{align-self:end;color:var(--color-action);font-size:.8rem;font-weight:700}.project-placeholder-panel{background:rgba(255,255,255,.76);border:1px solid rgba(34,31,26,.09);border-radius:15px;padding:clamp(1.25rem,3vw,2rem)}.project-lead{color:#6e6961;font-size:.88rem;line-height:1.65;margin:0;max-width:760px}.project-inline-link{color:var(--color-action);font-size:.82rem;font-weight:700;text-decoration:none;white-space:nowrap}.project-analysis-steps{border-top:1px solid rgba(34,31,26,.08);display:grid}.project-analysis-step{align-items:center;border-bottom:1px solid rgba(34,31,26,.07);display:flex;font-size:.84rem;gap:1rem;justify-content:space-between;padding:.8rem .1rem}.project-analysis-step strong{color:var(--color-text-secondary);font-size:.75rem;font-weight:600;text-transform:capitalize}.project-analysis-step strong[data-status=complete]{color:#276046}.project-analysis-step strong[data-status=failed]{color:var(--color-danger)}.project-empty-state{display:grid;grid-gap:.45rem;gap:.45rem;padding:clamp(2rem,6vw,4rem) 0;place-items:start}.project-empty-state h3{font-size:1.1rem;margin:0}.project-empty-state p{color:var(--color-text-muted);font-size:.86rem;line-height:1.6;margin:0;max-width:610px}.project-empty-actions{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:.25rem}.project-current-state{border-top:1px solid rgba(34,31,26,.08);padding-top:1.25rem}.project-current-state h3{margin:0 0 1rem}.project-current-state dl{display:flex;flex-wrap:wrap;gap:1rem 2.5rem;margin:0}.project-current-state dl div{display:grid;grid-gap:.15rem;gap:.15rem}.project-current-state dt{color:var(--color-text-muted);font-size:.72rem}.project-current-state dd{font-size:.88rem;font-weight:600;margin:0}.project-budget-total{border-top:1px solid rgba(34,31,26,.08);display:grid;grid-gap:.35rem;gap:.35rem;padding:1.5rem 0 2rem}.project-budget-total span{color:var(--color-text-muted);font-size:.78rem}.project-budget-total strong{font-size:clamp(1.45rem,3vw,2rem)}.house-selector{border-top:1px solid rgba(34,31,26,.08);display:grid;grid-gap:clamp(1rem,2vw,1.45rem);gap:clamp(1rem,2vw,1.45rem);min-width:0;padding-top:1.25rem}.house-catalogue-heading{align-items:flex-end;display:flex;gap:1.5rem;justify-content:space-between;min-width:0}.house-catalogue-heading>div{display:grid;grid-gap:.3rem;gap:.3rem;min-width:0}.house-catalogue-heading span:first-child{color:var(--color-action);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.house-catalogue-heading h3{font-size:clamp(1.12rem,2vw,1.45rem);letter-spacing:-.03em;margin:0}.house-catalogue-heading p{color:var(--color-text-muted);font-size:.82rem;line-height:1.55;margin:0;max-width:68ch}.house-catalogue-result-count{background:var(--color-action-soft);border-radius:999px;color:var(--color-action)!important;flex:0 0 auto;font-size:.72rem!important;letter-spacing:0!important;padding:.42rem .7rem;text-transform:none!important}.house-supplier-chips{display:flex;gap:.45rem;max-width:100%;min-width:0;overflow-x:auto;padding:.08rem .08rem .25rem;scrollbar-width:thin}.house-supplier-chips button{background:rgba(255,255,255,.68);border:1px solid rgba(34,31,26,.12);border-radius:999px;color:var(--color-text-secondary);cursor:pointer;flex:0 0 auto;font:inherit;font-size:.76rem;font-weight:600;min-height:38px;padding:.42rem .8rem}.house-supplier-chips button:focus-visible,.house-supplier-chips button:hover{border-color:rgba(36,79,62,.4);outline:none}.house-supplier-chips button[aria-pressed=true]{background:var(--color-action);border-color:var(--color-action);color:#fff}.house-catalogue-filters{align-items:end;display:grid;grid-gap:.65rem;gap:.65rem;grid-template-columns:minmax(180px,1fr) minmax(120px,180px);min-width:0}.house-catalogue-search,.house-catalogue-storeys,.house-selector-field{display:grid;grid-gap:.32rem;gap:.32rem;font-size:.75rem;min-width:0}.house-catalogue-search>span,.house-catalogue-storeys>span,.house-selector-field>span{color:var(--color-text-muted);font-weight:600}.house-catalogue-search input,.house-catalogue-storeys select,.house-selector-field input,.house-selector-field select{background:rgba(255,255,255,.92);border:1px solid rgba(34,31,26,.15);border-radius:11px;color:var(--color-text-primary);font:inherit;height:44px;min-width:0;padding:0 .78rem;width:100%}.house-catalogue-search input:focus,.house-catalogue-storeys select:focus,.house-selector-field input:focus,.house-selector-field select:focus{border-color:rgba(36,79,62,.55);outline:3px solid rgba(70,123,98,.12)}.house-selector-empty{color:var(--color-text-muted);font-size:.84rem;margin:0;padding:.9rem 0}.house-model-card-grid{display:grid;grid-gap:.7rem;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,205px),1fr));max-height:min(390px,48dvh);min-width:0;overflow-y:auto;padding:.1rem .15rem .2rem .1rem;scrollbar-width:thin}.house-model-card{background:rgba(255,255,255,.78);border:1px solid rgba(34,31,26,.1);border-radius:14px;box-shadow:0 7px 22px rgba(35,30,22,.035);color:var(--color-text-primary);cursor:pointer;display:grid;font:inherit;grid-gap:.45rem;gap:.45rem;min-height:166px;min-width:0;padding:.9rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.house-model-card:focus-visible,.house-model-card:hover{border-color:rgba(36,79,62,.38);box-shadow:0 11px 28px rgba(35,30,22,.07);outline:none;transform:translateY(-1px)}.house-model-card.is-active{background:rgba(239,246,239,.92);border-color:rgba(36,79,62,.55);box-shadow:0 0 0 2px rgba(78,126,102,.1)}.house-model-card-topline{align-items:center;display:flex;gap:.45rem;justify-content:space-between;min-width:0}.house-model-card-topline small{color:var(--color-text-muted);font-size:.67rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.house-model-card-topline em{background:var(--color-action-soft);border-radius:999px;color:var(--color-action);font-size:.61rem;font-style:normal;font-weight:700;padding:.18rem .38rem}.house-model-card>strong{font-size:.97rem;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}.house-model-card-price{color:var(--color-action);font-size:.78rem;font-weight:700}.house-model-card-facts{display:flex;flex-wrap:wrap;gap:.28rem .55rem}.house-model-card-facts span{color:var(--color-text-secondary);font-size:.68rem}.house-model-card-dimensions{align-self:end;border-top:1px solid rgba(34,31,26,.08);color:var(--color-text-muted);font-size:.67rem;padding-top:.42rem}.house-catalogue-model-detail{background:rgba(255,255,255,.82);border:1px solid rgba(34,31,26,.1);border-radius:18px;box-shadow:0 14px 38px rgba(33,29,22,.05);display:grid;min-width:0;overflow:hidden}.house-catalogue-hero{display:grid;grid-gap:clamp(1rem,3vw,2rem);gap:clamp(1rem,3vw,2rem);grid-template-columns:minmax(210px,.85fr) minmax(0,1.35fr);padding:clamp(1rem,3vw,1.65rem)}.house-footprint-diagram{background:#f4f4ec;border-radius:15px;display:grid;margin:0;min-width:0;overflow:hidden;padding:.55rem}.house-footprint-diagram svg{color:#244d3d;display:block;height:auto;max-height:240px;width:100%}.house-footprint-diagram-shape{fill:rgba(98,143,117,.42);stroke:#234c3c;stroke-linejoin:round;stroke-width:2.2}.house-footprint-diagram-front{fill:none;stroke:#b46c49;stroke-linecap:round;stroke-linejoin:round;stroke-width:2}.house-footprint-diagram text{fill:var(--color-text-muted);font-size:10px;font-weight:600}.house-footprint-diagram figcaption{align-items:baseline;display:flex;flex-wrap:wrap;gap:.2rem .55rem;justify-content:space-between;padding:.2rem .35rem .15rem}.house-footprint-diagram figcaption span{color:var(--color-text-muted);font-size:.63rem}.house-footprint-diagram figcaption strong{color:var(--color-action);font-size:.65rem}.house-catalogue-hero-copy{align-content:start;display:grid;grid-gap:.72rem;gap:.72rem;min-width:0}.house-catalogue-lock-badge,.house-custom-badge{align-items:center;background:var(--color-action-soft);border:1px solid rgba(36,79,62,.15);border-radius:999px;color:var(--color-action);display:inline-flex;font-size:.68rem;font-weight:700;gap:.35rem;justify-self:start;padding:.35rem .62rem}.house-catalogue-supplier-name{color:var(--color-text-muted);font-size:.72rem;font-weight:600;margin:0 0 .15rem}.house-catalogue-hero h3{font-size:clamp(1.35rem,3vw,2rem);letter-spacing:-.04em;margin:0}.house-catalogue-description{color:var(--color-text-secondary);font-size:.8rem;line-height:1.55;margin:.45rem 0 0;max-width:64ch}.house-catalogue-hero-price{color:var(--color-action);font-size:clamp(1.05rem,2vw,1.25rem)}.house-catalogue-lock-lead{color:var(--color-text-muted);font-size:.74rem;line-height:1.5;margin:0;max-width:62ch}.house-selector-actions{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem 1rem}.house-selector-actions button{background:var(--color-action);border:0;border-radius:10px;color:#fff;cursor:pointer;font:inherit;font-size:.8rem;font-weight:700;min-height:44px;padding:.55rem 1rem}.house-selector-actions button:focus-visible,.house-selector-actions button:hover{background:var(--color-action-active);outline:3px solid rgba(70,123,98,.15)}.house-selector-actions button:disabled{background:#d8d5cf;color:var(--color-text-muted);cursor:default;outline:none}.house-catalogue-fact a,.house-catalogue-hero-actions a{color:var(--color-action);font-size:.76rem;font-weight:700;overflow-wrap:anywhere;text-underline-offset:3px}.house-catalogue-progressive-facts{border-top:1px solid rgba(34,31,26,.09);display:grid}.house-catalogue-details{border-bottom:1px solid rgba(34,31,26,.08)}.house-catalogue-details:last-child{border-bottom:0}.house-catalogue-details summary{align-items:center;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:.82rem;font-weight:700;justify-content:space-between;list-style:none;min-height:48px;padding:.6rem clamp(1rem,3vw,1.65rem)}.house-catalogue-details summary::-webkit-details-marker{display:none}.house-catalogue-details summary:focus-visible{outline:3px solid rgba(70,123,98,.15);outline-offset:-3px}.house-catalogue-details-chevron{color:var(--color-text-muted);font-size:1rem;transition:transform .15s ease}.house-catalogue-details[open] .house-catalogue-details-chevron{transform:rotate(180deg)}.house-catalogue-detail-grid{display:grid;grid-gap:.9rem 1.4rem;gap:.9rem 1.4rem;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));margin:0;padding:.15rem clamp(1rem,3vw,1.65rem) 1rem}.house-catalogue-fact{align-content:start;display:grid;grid-gap:.15rem;gap:.15rem;min-width:0}.house-catalogue-fact dt{color:var(--color-text-muted);font-size:.66rem}.house-catalogue-fact dd{font-size:.8rem;font-weight:600;margin:0;overflow-wrap:anywhere}.house-catalogue-scope-note{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:var(--radius-control);color:var(--color-text-secondary);font-size:.75rem;line-height:1.45;margin:.3rem 0 0;padding:.65rem .72rem}.house-catalogue-fact small{color:var(--color-text-muted);font-size:.65rem;line-height:1.4}.house-selector-summary{background:rgba(255,255,255,.82);border:1px solid rgba(34,31,26,.1);border-radius:16px;display:grid;grid-gap:1rem;gap:1rem;min-width:0;padding:1.25rem clamp(1rem,3vw,1.6rem)}.house-selector-summary h3{font-size:1.15rem;margin:0}.house-selector-facts{display:flex;flex-wrap:wrap;gap:.9rem 1.15rem;min-width:0}.house-selector-custom-form{max-width:880px}.house-selector-custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.house-custom-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:.75rem 1rem}.house-custom-header>div{display:grid;grid-gap:.2rem;gap:.2rem}.house-custom-header p{color:var(--color-text-muted);font-size:.76rem;line-height:1.5;margin:0;max-width:62ch}.house-selector-error{color:var(--color-danger);font-size:.8rem;margin:0}.house-selector-saved{color:var(--color-action-hover);font-size:.8rem;font-weight:600;margin:0}@media (max-width:700px){.project-workspace-header{align-items:flex-start;flex-wrap:wrap;padding-inline:1rem}.project-header-actions{align-self:center}.site-plan-canvas{max-width:100%}.site-plan-property-row{grid-template-columns:minmax(64px,auto) minmax(0,1fr)}.project-overview-grid{grid-template-columns:1fr}.project-overview-card{min-height:150px}.project-section-heading{align-items:start;flex-direction:column;gap:.65rem}.house-selector-fields{grid-template-columns:1fr}.house-catalogue-heading{align-items:flex-start;flex-direction:column;gap:.65rem}.house-catalogue-filters{grid-template-columns:minmax(0,1fr) minmax(105px,.45fr)}.house-model-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:min(420px,46dvh)}.house-catalogue-hero{grid-template-columns:minmax(0,1fr)}.house-footprint-diagram{justify-self:stretch}.house-footprint-diagram svg{max-height:205px}}.platform-shell:has(.site-planner){height:100vh;height:100dvh;min-height:0;overflow:hidden}.platform-shell:has(.site-planner) .platform-sidebar{height:100%}.platform-content:has(.site-planner){min-height:0}.page-main.projects-page:has(.site-planner){height:100%;min-height:0}.project-workspace-page:has(.site-planner){display:grid;grid-template-rows:minmax(0,1fr);height:100%;min-height:0;overflow:hidden}.project-workspace-page:has(.site-planner) .project-workspace-content-site-plan{margin:0;max-width:none;min-height:0;padding:0}.platform-shell:has(.site-planner[data-main-nav=closed]) .platform-sidebar{flex-basis:0;min-width:0;opacity:0;overflow:hidden;padding-left:0;padding-right:0;pointer-events:none;transition:flex-basis .22s ease,opacity .18s ease,padding .22s ease,visibility .22s;visibility:hidden;width:0}.site-planner{display:grid;grid-gap:0;gap:0;grid-template-rows:minmax(0,1fr);height:100%;min-height:0;position:relative}.planner-icon{fill:none;flex:0 0 auto;height:17px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:17px}.planner-nav-handle{align-items:center;background:var(--color-surface);border:1px solid rgba(34,31,26,.13);box-shadow:0 4px 14px rgba(20,19,16,.07);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:center;padding:0;position:absolute;transition:background .16s ease,color .16s ease,box-shadow .16s ease;z-index:12}.planner-nav-handle:focus-visible,.planner-nav-handle:hover{background:#fff;color:var(--color-text-primary)}.planner-nav-handle-main{border-left:0;border-radius:0 12px 12px 0;height:58px;left:0;top:50%;transform:translateY(-50%);width:20px}.planner-surface{display:grid;height:100%;min-height:0}.planner-surface-2d{gap:.8rem;grid-template-rows:auto minmax(0,1fr);overflow:hidden;padding:1rem clamp(.8rem,1.5vw,1.35rem) clamp(.7rem,1.2vw,1rem)}.planner-topbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.planner-identity{align-items:baseline;column-gap:clamp(1rem,2.4vw,2.2rem);display:flex;flex-wrap:wrap;min-width:0;row-gap:.2rem}.planner-identity-title{font-size:1.02rem;font-weight:600;letter-spacing:-.02em;max-width:44ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-identity-fact{align-items:baseline;display:inline-flex;gap:.35rem;min-width:0}.planner-identity-fact small{color:var(--color-text-muted);font-size:.72rem;font-weight:600}.planner-identity-fact strong{font-size:.88rem;font-weight:600;white-space:nowrap}.planner-save{align-items:center;display:flex;flex:0 0 auto;gap:.8rem;position:relative}.planner-save-status{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.8rem;font-weight:600;gap:.4rem}.planner-save-status.is-dirty{color:#7a5a15}.planner-save-status.is-dirty:before{background:#d9a01f;border-radius:50%;content:"";height:8px;width:8px}.planner-save-status.is-error{color:var(--color-danger)}.planner-save-status.is-error:before{background:var(--color-danger);border-radius:50%;content:"";height:8px;width:8px}.planner-save-button{background:var(--color-text-primary);border:0;border-radius:12px;color:#fff;cursor:pointer;font:inherit;font-size:.86rem;font-weight:600;min-height:44px;padding:.55rem 1.2rem;transition:background .16s ease}.planner-save-button:hover:not(:disabled){background:var(--color-action-active)}.planner-save-button:disabled{background:#6b6660;cursor:progress}.planner-estimated-cost{background:rgba(255,253,248,.98);border:1px solid rgba(34,31,26,.12);border-radius:12px;box-shadow:0 10px 28px rgba(20,19,16,.14);display:grid;grid-gap:.32rem;gap:.32rem;min-width:250px;padding:.7rem;position:absolute;right:0;top:calc(100% + .55rem);z-index:14}.planner-estimated-cost>span{color:var(--color-text-muted);font-size:.72rem;font-weight:700}.planner-estimated-cost>strong{font-size:1rem}.planner-estimated-cost>small{color:var(--color-text-muted);font-size:.64rem;line-height:1.35}.planner-estimate-tabs{display:grid;grid-gap:.2rem;gap:.2rem;grid-template-columns:repeat(3,1fr)}.planner-estimate-tabs button{background:#f2eee5;border:0;border-radius:7px;color:var(--color-text-muted);cursor:pointer;font:inherit;font-size:.68rem;font-weight:700;min-height:28px;padding:.25rem .35rem}.planner-estimate-tabs button.is-active{background:var(--color-text-primary);color:#fff}.planner-toolrow{align-items:flex-end;display:flex;flex-wrap:wrap;gap:clamp(.9rem,2vw,1.9rem)}.planner-control-group{display:grid;grid-gap:.35rem;gap:.35rem}.planner-control-label{align-items:center;color:var(--color-text-muted);display:inline-flex;font-size:.74rem;font-weight:600;gap:.3rem;letter-spacing:-.01em}.planner-control-label .planner-icon{height:14px;width:14px}.planner-mode-switcher,.planner-segmented{background:rgba(255,255,255,.82);border:1px solid rgba(34,31,26,.12);border-radius:12px;display:flex;gap:.2rem;padding:.25rem}.planner-segmented-wrap{flex-wrap:wrap}.planner-add-actions button,.planner-mode-switcher button,.planner-segmented button{align-items:center;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.84rem;font-weight:600;gap:.4rem;min-height:38px;padding:.4rem .9rem;transition:background .15s ease,color .15s ease,border-color .15s ease}.planner-add-actions button .planner-icon,.planner-mode-switcher button .planner-icon,.planner-segmented button .planner-icon{color:var(--color-text-muted)}.planner-add-actions button:hover:not(:disabled),.planner-mode-switcher button:hover:not(.is-active),.planner-segmented button:hover:not(.is-active):not(:disabled){background:rgba(34,31,26,.06)}.planner-mode-switcher button.is-active,.planner-segmented button.is-active{background:var(--color-text-primary);border-color:var(--color-text-primary);color:#fff}.planner-mode-switcher button.is-active .planner-icon,.planner-segmented button.is-active .planner-icon{color:#fff}.planner-add-actions button:disabled,.planner-segmented button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.planner-add-actions button:disabled .planner-icon,.planner-segmented button:disabled .planner-icon{color:#c6c1ba}.planner-add-actions{display:flex;flex-wrap:wrap;gap:.4rem}.planner-add-actions button{background:var(--color-surface);border-color:rgba(34,31,26,.14);border-radius:12px;min-width:118px}.planner-help-toggle{align-items:center;background:rgba(255,255,255,.82);border:1px solid rgba(34,31,26,.12);border-radius:12px;color:var(--color-action);cursor:pointer;display:inline-flex;font:inherit;font-size:.8rem;font-weight:600;gap:.35rem;margin-left:auto;min-height:38px;padding:.4rem .8rem}.planner-help-toggle:hover{background:#fff}.planner-stage{display:grid;grid-gap:clamp(.7rem,1.4vw,1.1rem);gap:clamp(.7rem,1.4vw,1.1rem);grid-template-columns:minmax(0,1fr);min-height:320px;position:relative}.planner-stage.has-rail{grid-template-columns:minmax(0,1fr) minmax(272px,306px)}.planner-stage-canvas{container-type:size;display:grid;min-height:0;min-width:0;place-items:center;position:relative}.planner-stage-canvas .site-plan-canvas{height:100%;margin-inline:0;max-height:100%;max-width:100%;width:auto}@supports (height:1cqh){.planner-stage-canvas .site-plan-canvas{height:min(100cqh,calc(100cqw / var(--site-plan-aspect, 1)));max-height:none;max-width:none;width:auto}}.site-plan-scale-badge{background:rgba(255,255,255,.86);border-radius:999px;bottom:10px;color:var(--color-text-secondary);font-size:.68rem;font-weight:600;left:10px;padding:.2rem .55rem;position:absolute}.planner-rail{align-content:start;display:grid;grid-gap:.75rem;gap:.75rem;min-height:0;overflow-y:auto;scrollbar-width:thin}.planner-2d-bottom-controls,.planner-2d-top-controls{display:flex;pointer-events:none;position:absolute;z-index:5}.planner-2d-bottom-controls>*,.planner-2d-top-controls>*{pointer-events:auto}.planner-2d-top-controls{align-items:flex-end;flex-wrap:wrap;gap:.55rem;left:14px;max-width:calc(100% - 78px);top:14px}.planner-2d-top-controls .planner-help-toggle,.planner-2d-top-controls .planner-mode-switcher,.planner-2d-top-controls .planner-segmented{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,253,248,.92);box-shadow:0 5px 18px rgba(20,19,16,.09)}.planner-2d-background-control{display:grid;grid-gap:.25rem;gap:.25rem}.planner-2d-background-control .planner-control-label{background:rgba(255,253,248,.86);border-radius:7px;color:var(--color-text-secondary);justify-self:start;padding:.15rem .4rem}.planner-2d-top-controls .planner-help-toggle{margin-left:0}.planner-2d-bottom-controls{align-items:center;bottom:14px;flex-direction:column;gap:.55rem;left:50%;max-width:calc(100% - 72px);transform:translateX(-50%)}.planner-help,.planner-panel{background:var(--color-surface);border:1px solid rgba(34,31,26,.11);border-radius:16px;box-shadow:0 6px 22px rgba(20,19,16,.05);display:grid;grid-gap:.75rem;gap:.75rem;padding:1rem 1.05rem 1.05rem}.planner-help-header,.planner-panel-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.planner-help-title,.planner-panel-title{align-items:center;display:inline-flex;font-size:.92rem;font-weight:600;gap:.4rem;letter-spacing:-.015em}.planner-help-title .planner-icon{color:var(--color-action)}.planner-icon-button{align-items:center;background:rgba(34,31,26,.06);border:0;border-radius:999px;color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex:0 0 auto;height:26px;justify-content:center;padding:0;width:26px}.planner-icon-button:hover{background:rgba(34,31,26,.12)}.planner-icon-button .planner-icon{height:15px;width:15px}.planner-help-intro{color:var(--color-text-secondary);font-size:.85rem;line-height:1.5;margin:0}.planner-help-sections{display:grid;grid-gap:.6rem;gap:.6rem}.planner-help-section strong{display:block;font-size:.82rem;font-weight:600}.planner-help-section p{color:var(--color-text-muted);font-size:.78rem;line-height:1.45;margin:.15rem 0 0}.planner-help-tips{background:rgba(232,241,235,.7);border:1px solid rgba(200,220,207,.9);border-radius:12px;display:grid;grid-gap:.3rem;gap:.3rem;padding:.7rem .8rem}.planner-help-tips-title{align-items:center;color:#245040;display:inline-flex;font-size:.78rem;font-weight:700;gap:.35rem}.planner-help-tips ul{color:#2f5749;display:grid;font-size:.76rem;grid-gap:.18rem;gap:.18rem;line-height:1.4;margin:0;padding-left:1.05rem}.planner-panel-section{display:grid;grid-gap:.5rem;gap:.5rem}.planner-panel-section+.planner-panel-section{border-top:1px solid rgba(34,31,26,.08);padding-top:.75rem}.planner-panel-section-title{color:var(--color-text-muted);font-size:.72rem;font-weight:700;letter-spacing:-.01em}.planner-fact{display:flex;font-size:.84rem;gap:1rem;justify-content:space-between;margin:0}.planner-fact span{color:var(--color-text-muted)}.planner-fact strong{font-weight:600}.planner-hint{color:var(--color-text-muted);font-size:.75rem;line-height:1.4;margin:0}.planner-move-hint{align-items:center;color:var(--color-text-secondary);display:flex;font-size:.76rem;gap:.4rem;line-height:1.35;margin:0}.planner-move-hint .planner-icon{color:var(--color-action);height:15px;width:15px}.planner-panel-actions{display:flex;flex-wrap:wrap;gap:.35rem}.planner-panel-actions button{background:rgba(34,31,26,.06);border:0;border-radius:9px;color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;min-height:34px;padding:.35rem .7rem}.planner-panel-actions button:hover:not(:disabled){background:rgba(34,31,26,.11)}.planner-panel-actions button:disabled{color:var(--color-text-disabled);cursor:not-allowed}.planner-area-list{display:flex;flex-wrap:wrap;gap:.3rem}.planner-area-chip{background:rgba(255,255,255,.9);border:1px solid rgba(34,31,26,.13);border-radius:999px;cursor:pointer;font:inherit;font-size:.76rem;font-weight:600;min-height:30px;padding:.25rem .7rem}.planner-area-chip.is-active{background:var(--color-action-hover);border-color:var(--color-action-hover);color:#fff}.planner-modified{background:rgba(246,234,214,.5);border:1px solid rgba(34,31,26,.1);border-radius:12px;padding:.7rem .8rem}.planner-modified strong{font-size:.82rem}.planner-modified p{color:var(--color-text-muted);font-size:.76rem;line-height:1.4;margin:0}.planner-text-button{background:transparent;border:0;color:var(--color-action);cursor:pointer;font:inherit;font-size:.78rem;font-weight:600;justify-self:start;padding:.15rem 0;text-decoration:underline;text-underline-offset:2px}.planner-panel-footer{border-top:1px solid rgba(34,31,26,.08);display:flex;padding-top:.65rem}.planner-remove{background:transparent;border:0;color:var(--color-danger);cursor:pointer;font:inherit;font-size:.8rem;font-weight:600;padding:.2rem 0}.planner-remove:hover{text-decoration:underline;text-underline-offset:2px}.planner-surface-3d{grid-template-rows:minmax(0,1fr);padding:10px;position:relative}.planner-surface-3d .site-plan-3d-fallback,.planner-surface-3d .site-plan-3d-loading,.planner-surface-3d .site-plan-3d-shell{border-radius:18px;height:100%}.planner-surface-planning{overflow:hidden}.planner-planning-stage{border-radius:18px;min-height:0;overflow:hidden;position:relative}.planner-surface-planning .site-plan-canvas{aspect-ratio:auto;height:100%;margin:0;max-height:none;max-width:none;width:100%}.planner-surface-planning .site-plan-canvas-shell{border-radius:18px}.planner-surface-planning .site-plan-zoom-controls{bottom:22px;right:22px;top:auto;z-index:8}.planner-surface-planning .site-plan-attribution{bottom:24px;right:70px;z-index:8}.planner-surface-planning .site-plan-scale-badge{bottom:22px;left:22px;z-index:8}.planner-scene-overlay{display:flex;pointer-events:none;position:absolute;z-index:6}.planner-scene-overlay>*{pointer-events:auto}.planner-scene-top:has(.planner-workspace-controls){z-index:10}.planner-scene-top{align-items:flex-start;gap:1rem;justify-content:flex-start;left:22px;right:22px;top:22px}.planner-scene-top .planner-mode-switcher{background:rgba(255,253,248,.92)}.planner-scene-identity{bottom:22px;justify-content:center;left:50%;max-width:calc(100% - 220px);transform:translateX(-50%)}.planner-scene-identity .planner-identity{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,253,248,.82);border:1px solid rgba(34,31,26,.08);border-radius:10px;box-shadow:0 5px 18px rgba(20,19,16,.09);justify-content:center;padding:.34rem .58rem}.site-plan-3d-shell>.planner-scene-identity{bottom:12px}.planner-workspace-controls{max-width:calc(100vw - 44px);pointer-events:auto;position:relative;width:max-content}.planner-workspace-toolbar{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,253,248,.92);border:1px solid rgba(34,31,26,.1);border-radius:12px;box-shadow:0 5px 18px rgba(20,19,16,.09);display:flex;gap:.18rem;max-width:100%;overflow:visible;padding:.22rem;scrollbar-width:none}.planner-workspace-toolbar::-webkit-scrollbar{display:none}.planner-workspace-toolbar .planner-save{border-left:1px solid rgba(34,31,26,.1);gap:.55rem;margin-left:.2rem;padding-left:.55rem}.planner-workspace-toolbar .planner-save-status{font-size:.72rem}.planner-workspace-toolbar .planner-save-button{border-radius:8px;font-size:.72rem;min-height:32px;padding:.3rem .72rem}.planner-workspace-toolbar .planner-mode-switcher{background:transparent;border:0;border-radius:9px;flex:0 0 auto;padding:0}.planner-menu-button,.planner-workspace-toolbar .planner-mode-switcher button,.planner-workspace-toolbar .planner-object-button{align-items:center;background:transparent;border:1px solid transparent;border-radius:8px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.72rem;font-weight:600;gap:.3rem;min-height:32px;padding:.3rem .52rem;transition:background .15s ease,color .15s ease;white-space:nowrap}.planner-menu-button .planner-icon,.planner-workspace-toolbar .planner-mode-switcher button .planner-icon,.planner-workspace-toolbar .planner-object-button .planner-icon{height:13px;width:13px}.planner-menu-button .planner-icon:last-child{height:11px;margin-left:.05rem;width:11px}.planner-menu-label{max-width:13rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.planner-menu-button:hover:not(.is-active),.planner-workspace-toolbar .planner-mode-switcher button:hover:not(.is-active),.planner-workspace-toolbar .planner-object-button:hover:not(.is-active){background:rgba(34,31,26,.06)}.planner-menu-button.is-active,.planner-workspace-toolbar .planner-mode-switcher button.is-active,.planner-workspace-toolbar .planner-object-button.is-active{background:var(--color-text-primary);color:#fff}.planner-menu-button.is-active .planner-icon,.planner-workspace-toolbar .planner-mode-switcher button.is-active .planner-icon,.planner-workspace-toolbar .planner-object-button.is-active .planner-icon{color:#fff}.planner-toolbar-panel{background:var(--color-surface);border:1px solid rgba(34,31,26,.11);border-radius:14px;box-shadow:0 10px 28px rgba(20,19,16,.14);display:grid;grid-gap:.55rem;gap:.55rem;left:0;margin-top:.38rem;max-height:min(62dvh,520px);max-width:min(760px,calc(100vw - 44px));overflow:auto;padding:.62rem;position:absolute;top:100%;width:max-content;z-index:9}.planner-toolbar-panel-title{color:var(--color-text-secondary);font-size:.74rem;font-weight:700}.planner-context-panel .planner-segmented{background:transparent;border:0;padding:0}.planner-foundation-menu{min-width:min(320px,calc(100vw - 44px))}.planner-foundation-menu .site-plan-property-row{gap:.8rem}.planner-foundation-menu .site-plan-property-control select{min-width:150px}.planner-terrain-menu{min-width:min(390px,calc(100vw - 44px))}.planner-category-panel{box-sizing:border-box;min-width:0;overscroll-behavior:contain;scrollbar-gutter:stable;width:min(720px,calc(100vw - 44px))}.planner-category-build{align-content:start;max-height:min(76dvh,640px,calc(100dvh - 88px));overflow-x:hidden;overflow-y:auto}.planner-category-garden{width:min(470px,calc(100vw - 44px))}.planner-category-panel>.planner-panel-header{background:var(--color-surface);margin:-.62rem -.62rem 0;padding:.62rem .62rem .45rem;position:-webkit-sticky;position:sticky;top:-.62rem;z-index:2}.planner-library-groups{align-items:start;display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));min-width:0}.planner-library-groups:has(.planner-embedded-house-selector){grid-template-columns:minmax(0,1fr)}.planner-library-groups>.planner-hint{grid-column:1/-1}.planner-library-section{background:rgba(255,255,255,.72);border:1px solid rgba(34,31,26,.09);border-radius:12px;display:grid;grid-gap:.55rem;gap:.55rem;min-width:0;padding:.65rem}.planner-library-section-header{align-items:center;display:flex;gap:.65rem;justify-content:space-between;min-height:24px}.planner-library-section-header h3{font-size:.79rem;font-weight:700;letter-spacing:-.012em;line-height:1.25;margin:0}.planner-library-section-header>span{align-items:center;background:rgba(49,93,76,.1);border-radius:999px;color:var(--color-action);display:inline-flex;flex:0 0 auto;font-size:.68rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;justify-content:center;min-height:22px;min-width:22px;padding:0 .38rem}.planner-library-section-content{display:grid;grid-gap:.5rem;gap:.5rem;min-width:0}.planner-library-actions{display:grid;grid-gap:.38rem;gap:.38rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.planner-library-options{display:grid;grid-gap:.45rem;gap:.45rem;min-width:0}.planner-library-options label{color:var(--color-text-secondary);display:grid;font-size:.72rem;font-weight:600;grid-gap:.28rem;gap:.28rem}.planner-library-options select{background:#fff;border:1px solid rgba(34,31,26,.16);border-radius:9px;color:var(--color-text-primary);font:inherit;font-size:.78rem;min-height:38px;min-width:0;padding:.35rem 1.8rem .35rem .55rem;width:100%}.planner-library-actions>button,.planner-library-options>button,.planner-library-section-content>button{background:var(--color-surface-subtle);border:1px solid rgba(34,31,26,.11);border-radius:9px;color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:.76rem;font-weight:600;line-height:1.25;min-height:38px;padding:.42rem .68rem}.planner-library-actions>button:focus-visible,.planner-library-actions>button:hover:not(:disabled),.planner-library-options>button:focus-visible,.planner-library-options>button:hover:not(:disabled),.planner-library-section-content>button:focus-visible,.planner-library-section-content>button:hover:not(:disabled){background:var(--color-surface-muted);border-color:rgba(34,31,26,.22)}.planner-toggle-row{align-items:center;display:flex;gap:.5rem;text-align:left;width:100%}.planner-toggle-row .planner-icon{color:var(--color-text-muted);flex:0 0 auto}.planner-toggle-row strong{margin-left:auto}.planner-toggle-row.is-active{background:rgba(31,82,64,.1);border-color:rgba(31,82,64,.35)}.planner-toggle-row.is-active,.planner-toggle-row.is-active .planner-icon{color:var(--color-action-hover)}.planner-authoring-actions .planner-primary-tool,.planner-library-section .planner-primary-tool{background:var(--color-action-hover);border-color:var(--color-action-hover);color:#fff}.planner-authoring-actions .planner-primary-tool:focus-visible,.planner-authoring-actions .planner-primary-tool:hover:not(:disabled),.planner-library-section .planner-primary-tool:focus-visible,.planner-library-section .planner-primary-tool:hover:not(:disabled){background:#173d2f;border-color:#173d2f}.planner-library-section button:disabled{cursor:not-allowed;opacity:.48}.planner-category-tools{display:grid;grid-gap:.42rem;gap:.42rem;grid-template-columns:repeat(3,minmax(0,1fr))}.planner-category-tools button{align-items:center;background:var(--color-surface-subtle);border:1px solid rgba(34,31,26,.1);border-radius:10px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.78rem;font-weight:600;justify-content:center;min-height:42px;padding:.55rem .72rem;text-align:center}.planner-category-tools button:focus-visible,.planner-category-tools button:hover{background:var(--color-surface-muted);border-color:rgba(34,31,26,.2)}.planner-embedded-house-selector{border-top:1px solid rgba(34,31,26,.1);margin-top:.18rem;max-width:min(720px,calc(100vw - 72px));min-width:0;padding-top:.7rem;width:100%}.planner-embedded-house-selector .house-selector{border-top:0;gap:.8rem;padding-top:0}.planner-embedded-house-selector .house-selector-summary{padding:.72rem}.planner-embedded-house-selector .house-model-card-grid{align-content:start;grid-auto-rows:minmax(166px,max-content);max-height:none;overflow:visible}.planner-embedded-house-selector .house-model-card{height:auto}.planner-house-selector-panel{background:var(--color-surface);border:1px solid rgba(34,31,26,.1);border-radius:16px;display:grid;grid-gap:.8rem;gap:.8rem;padding:clamp(1rem,3vw,1.75rem)}.planner-house-selector-panel>h3,.planner-house-selector-panel>p{margin:0}.planner-authoring-bar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:rgba(255,253,248,.95);border:1px solid rgba(34,31,26,.12);border-radius:12px;box-shadow:0 8px 24px rgba(20,19,16,.13);display:flex;gap:.85rem;justify-content:space-between;margin-top:.38rem;max-width:min(760px,calc(100vw - 44px));min-width:min(560px,calc(100vw - 44px));padding:.55rem .62rem;position:relative;width:max-content;z-index:2}.planner-authoring-copy{display:grid;flex:1 1 220px;grid-gap:.08rem;gap:.08rem;min-width:0}.planner-authoring-copy strong{font-size:.8rem;font-weight:700;line-height:1.25}.planner-authoring-copy>span{color:var(--color-text-secondary);font-size:.7rem;line-height:1.35}.planner-authoring-copy .planner-tool-error,.planner-edit-feedback{color:var(--color-danger);font-weight:600}.planner-edit-feedback{position:absolute;z-index:48;top:5.25rem;left:50%;max-width:min(34rem,calc(100% - 2rem));padding:.65rem .9rem;border:1px solid var(--color-danger-surface-hover);border-radius:.65rem;background:var(--color-danger-surface);box-shadow:var(--shadow-card);font-size:.86rem;text-align:center;transform:translateX(-50%)}.planner-authoring-actions{align-items:center;display:flex;flex:0 0 auto;gap:.3rem}.planner-authoring-actions button{background:var(--color-surface-subtle);border:1px solid rgba(34,31,26,.12);border-radius:8px;color:var(--color-text-primary);cursor:pointer;font:inherit;font-size:.72rem;font-weight:600;line-height:1.15;min-height:36px;padding:.35rem .62rem}.planner-authoring-actions button:focus-visible,.planner-authoring-actions button:hover:not(:disabled){background:var(--color-surface-muted);border-color:rgba(34,31,26,.23)}.planner-authoring-actions button:disabled{cursor:not-allowed;opacity:.45}.planner-authoring-actions output,.planner-point-count{align-items:center;background:rgba(49,93,76,.09);border:1px solid rgba(49,93,76,.13);border-radius:8px;color:var(--color-action);display:inline-flex;font-size:.72rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700;justify-content:center;min-height:34px;min-width:48px;padding:0 .5rem;white-space:nowrap}.planner-transform-toolbar{display:grid;grid-gap:.38rem;gap:.38rem;grid-template-columns:repeat(2,minmax(0,1fr))}.planner-transform-toolbar button{align-items:center;background:rgba(34,31,26,.06);border:1px solid transparent;border-radius:9px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;font:inherit;font-size:.76rem;font-weight:600;gap:.35rem;justify-content:center;min-height:38px;padding:.4rem .55rem}.planner-transform-toolbar button:hover{background:rgba(34,31,26,.1)}.planner-transform-toolbar button.is-active,.planner-transform-toolbar button[aria-pressed=true]{background:var(--color-action-soft);border-color:var(--color-action);color:var(--color-action)}.planner-transform-toolbar .planner-icon{color:var(--color-action);height:15px;width:15px}.planner-tool-glyph{color:var(--color-action);font-size:1rem;line-height:1}.planner-rotation-stepper{align-items:center;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(0,1fr) auto}.planner-rotation-stepper>span:first-child{color:var(--color-text-muted);font-size:.77rem}.planner-rotation-stepper-controls,.planner-rotation-stepper>div{align-items:center;display:grid;grid-gap:.22rem;gap:.22rem;grid-template-columns:34px minmax(48px,1fr) 34px}.planner-rotation-stepper>div>label{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative}.planner-rotation-stepper button{background:rgba(34,31,26,.06);border:0;border-radius:8px;cursor:pointer;font:inherit;min-height:34px;padding:0}.planner-rotation-stepper input,.planner-rotation-stepper output{background:#fff;border:1px solid rgba(34,31,26,.14);border-radius:8px;box-sizing:border-box;font:inherit;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:34px;min-width:0;padding:.25rem 1rem .25rem .35rem;text-align:center;width:100%}.planner-rotation-stepper>div>label i{color:var(--color-text-muted);font-size:.72rem;font-style:normal;pointer-events:none;position:absolute;right:.42rem}.planner-planning-top-controls{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.55rem;max-width:min(760px,calc(100vw - 380px));pointer-events:none}.planner-planning-top-controls>*{pointer-events:auto}.planner-planning-top-controls .planner-help-toggle,.planner-planning-top-controls .planner-mode-switcher,.planner-planning-top-controls .planner-segmented{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:rgba(255,253,248,.92);box-shadow:0 5px 18px rgba(20,19,16,.09)}.planner-planning-top-controls .planner-help-toggle{margin-left:0}.planner-inspector-floating{bottom:96px;display:grid;position:absolute;right:22px;top:86px;width:min(272px,calc(100% - 44px));z-index:7}.planner-surface-3d:has(.planner-inspector-floating) .site-plan-3d-controls{bottom:52px;right:calc(min(272px, calc(100% - 44px)) + 34px)}.planner-surface-3d:has(.planner-inspector-floating) .site-plan-3d-selection-actions{display:none}.planner-inspector-floating .planner-panel{align-content:start;animation:planner-inspector-in .18s ease;box-shadow:0 10px 28px rgba(20,19,16,.13);gap:.6rem;max-height:100%;overflow-y:auto;padding:.85rem .9rem .9rem;scrollbar-width:thin}.planner-planning-inspector{align-content:start;gap:.65rem;overflow-y:auto;scrollbar-width:thin}.planner-planning-inspector .planner-panel{flex:0 0 auto;overflow:visible}@keyframes planner-inspector-in{0%{opacity:0;transform:translateX(8px)}to{opacity:1;transform:translateX(0)}}.planner-scene-bottom{align-items:center;bottom:calc(20px + env(safe-area-inset-bottom, 0px));display:flex;flex-direction:column;gap:.6rem;left:50%;max-width:calc(100% - 44px);pointer-events:none;position:absolute;transform:translateX(-50%);z-index:6}.planner-scene-bottom>*{pointer-events:auto}.planner-position-overlay{max-height:calc(100% - 170px);overflow-y:auto;position:absolute;right:22px;top:92px;width:min(310px,calc(100% - 110px));z-index:8}.planner-route-connection-picker{background:var(--color-surface);border:1px solid rgba(34,31,26,.11);border-radius:18px;box-shadow:0 6px 20px rgba(20,19,16,.09);max-height:calc(100% - 180px);overflow-y:auto;padding:16px;position:absolute;right:22px;top:92px;width:min(330px,calc(100% - 110px));z-index:9}.planner-route-connection-header{align-items:center;display:flex;gap:12px;justify-content:space-between}.planner-route-connection-header h3{font-size:1rem;margin:0}.planner-route-connection-header button{align-items:center;background:transparent;border:0;display:flex;justify-content:center;min-height:36px;min-width:36px}.planner-route-connection-picker p{font-size:.85rem;line-height:1.5;margin:10px 0}.planner-route-connection-hint{color:var(--color-text-muted)}.planner-route-connection-options{display:grid;grid-gap:6px;gap:6px;margin-top:12px}.planner-route-connection-options button{align-items:center;background:transparent;border:1px solid rgba(34,31,26,.11);border-radius:10px;display:flex;gap:10px;min-height:52px;padding:10px;text-align:left}.planner-route-connection-options button:hover{background:rgba(34,31,26,.06)}.planner-route-connection-options button>span{display:grid;grid-gap:3px;gap:3px}.planner-route-connection-options button span span{color:var(--color-text-muted);font-size:.8rem}.planner-route-connection-show-all{background:transparent;border:0;color:var(--color-text-muted);padding:8px 0;text-decoration:underline}.site-plan-handle-connected{fill:#0d5c40;stroke:#fff}@media (max-width:760px){.planner-route-connection-picker{max-height:calc(100% - 210px);right:14px;top:136px;width:min(300px,calc(100% - 92px))}.planner-position-overlay{max-height:calc(100% - 210px);right:14px;top:136px;width:min(310px,calc(100% - 78px))}}.planner-object-toolbar{background:var(--color-surface);border:1px solid rgba(34,31,26,.11);border-radius:18px;box-shadow:0 6px 20px rgba(20,19,16,.09);display:flex;gap:.25rem;max-width:100%;overflow-x:auto;padding:.3rem;scrollbar-width:none}.planner-object-toolbar::-webkit-scrollbar{display:none}.planner-context-anchor{max-width:min(520px,calc(100% - 32px));pointer-events:none;position:absolute;z-index:11}.planner-context-actions{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:rgba(255,253,248,.96);border:1px solid rgba(34,31,26,.14);border-radius:16px;box-shadow:0 10px 30px rgba(20,19,16,.16);display:flex;gap:.35rem;max-width:100%;min-width:0;padding:.32rem;pointer-events:auto}.planner-context-object-label{border-right:1px solid rgba(34,31,26,.1);color:var(--color-text-secondary);display:block;flex:0 1 auto;font-size:.72rem;font-weight:700;line-height:1.25;max-width:180px;overflow:hidden;padding:.3rem .62rem;text-overflow:ellipsis;white-space:nowrap}.planner-context-action-list{display:flex;gap:.15rem;min-width:0;overflow-x:auto;scrollbar-width:none}.planner-context-action-list::-webkit-scrollbar{display:none}.planner-context-action-list button{align-items:center;background:transparent;border:1px solid transparent;border-radius:12px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.7rem;font-weight:600;gap:.3rem;justify-content:center;min-height:44px;padding:.4rem .55rem}.planner-context-action-list button:focus-visible,.planner-context-action-list button:hover{background:rgba(34,31,26,.06)}.planner-context-action-list button.is-active{background:var(--color-action);color:var(--color-text-inverse)}.planner-context-action-list button.is-danger{color:var(--color-danger)}.planner-context-action-list button.is-danger:focus-visible,.planner-context-action-list button.is-danger:hover{background:var(--color-danger-surface)}.planner-context-action-list .planner-icon{height:17px;width:17px}@media (max-width:720px){.planner-context-anchor{max-width:calc(100% - 24px)}.planner-context-actions{border-radius:15px}.planner-context-object-label{max-width:116px;padding-inline:.52rem}.planner-context-action-list button{min-width:44px;padding-inline:.5rem}.planner-context-action-list button>span{display:none}}.site-plan-2d-selection-actions{align-items:center;bottom:82px;display:flex;left:18px;pointer-events:none;position:absolute;top:88px;z-index:11}.site-plan-2d-selection-actions .planner-context-actions{align-items:stretch;flex-direction:column;max-height:100%;max-width:min(180px,calc(100vw - 44px));pointer-events:auto}.site-plan-2d-selection-actions .planner-context-object-label{border-bottom:1px solid rgba(34,31,26,.1);border-right:0;max-width:160px}.site-plan-2d-selection-actions .planner-context-action-list{flex-direction:column;overflow-x:hidden;overflow-y:auto}.site-plan-2d-selection-actions .planner-context-action-list button{justify-content:flex-start;width:100%}.planner-surface-planning:has(.planner-planning-inspector) .site-plan-2d-selection-actions{display:none}@media (max-width:720px){.site-plan-2d-selection-actions{bottom:18px;left:14px;top:88px}.site-plan-2d-selection-actions .planner-context-actions{max-width:54px}.site-plan-2d-selection-actions .planner-context-object-label{display:none}.site-plan-2d-selection-actions .planner-context-action-list button{justify-content:center}}@media (max-width:520px){.site-plan-2d-selection-actions{top:126px}}.site-plan-3d-selection-actions{align-items:center;bottom:82px;display:flex;left:18px;pointer-events:none;position:absolute;top:88px;z-index:9}.site-plan-3d-selection-actions .planner-context-actions{align-items:stretch;flex-direction:column;max-height:100%;max-width:min(180px,calc(100vw - 44px));pointer-events:auto}.site-plan-3d-selection-actions .planner-context-object-label{border-bottom:1px solid rgba(34,31,26,.1);border-right:0;max-width:160px}.site-plan-3d-selection-actions .planner-context-action-list{flex-direction:column;overflow-x:hidden;overflow-y:auto}.site-plan-3d-selection-actions .planner-context-action-list button{justify-content:flex-start;width:100%}.site-plan-3d-rotation-grip{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,253,248,.97);border:3px solid var(--color-action);border-radius:999px;box-shadow:0 4px 14px rgba(20,45,35,.28),0 0 0 5px rgba(255,253,248,.72);color:var(--color-action);display:flex;height:48px;justify-content:center;pointer-events:none;width:48px}.site-plan-3d-rotation-grip .planner-icon{height:25px;width:25px}.site-plan-3d-shell:has(.site-plan-3d-rotation-grip) .site-plan-3d-controls{display:none}@media (max-width:720px){.site-plan-3d-selection-actions{bottom:18px;left:14px;top:88px}.site-plan-3d-selection-actions .planner-context-actions{max-width:54px}.site-plan-3d-selection-actions .planner-context-object-label{display:none}.site-plan-3d-selection-actions .planner-context-action-list button{justify-content:center}}@media (max-width:520px){.site-plan-3d-selection-actions{top:126px}}@media (any-pointer:coarse){.site-plan-3d-rotation-grip{height:56px;width:56px}.site-plan-3d-rotation-grip .planner-icon{height:29px;width:29px}}.planner-object-button{align-items:center;background:transparent;border:0;border-radius:14px;color:var(--color-text-primary);cursor:pointer;display:inline-flex;flex:0 0 auto;font:inherit;font-size:.84rem;font-weight:600;gap:.45rem;min-height:42px;padding:.45rem 1.15rem;transition:background .16s ease,color .16s ease}.planner-object-button .planner-icon{color:var(--color-text-muted)}.planner-object-button:hover:not(.is-active){background:rgba(34,31,26,.06)}.planner-object-button.is-active{background:var(--color-text-primary);color:#fff}.planner-object-button.is-active .planner-icon{color:#fff}.planner-object-button.is-empty{color:var(--color-text-secondary)}.planner-house-preview{background-color:#d9e4df;background-position:center 45%;background-repeat:no-repeat;background-size:cover;border:1px solid rgba(34,31,26,.12);border-radius:9px;display:block;height:24px;overflow:hidden;position:relative;width:56px}.planner-storeys-preview{align-items:center;background:rgba(49,93,76,.08);border:1px solid rgba(49,93,76,.14);border-radius:8px;color:var(--color-action);display:inline-flex;font-size:.68rem;font-weight:700;gap:.25rem;height:24px;justify-content:center;padding:0 .4rem;width:56px;font-size:.78rem}.planner-measurement-card-content{display:grid;grid-gap:.5rem;gap:.5rem}.planner-help-dialog-backdrop{align-items:center;background:rgba(20,19,16,.3);display:flex;inset:0;justify-content:center;padding:28px;position:fixed;z-index:80}.planner-help-dialog{max-height:min(82dvh,720px);max-width:760px;overflow-y:auto;width:min(760px,100%)}.planner-help-dialog .planner-help{box-shadow:0 24px 70px rgba(20,19,16,.25);grid-template-columns:repeat(2,minmax(0,1fr));padding:1.25rem}.planner-help-dialog .planner-help-header,.planner-help-dialog .planner-help-intro,.planner-help-dialog .planner-help-tips{grid-column:1/-1}.planner-help-dialog .planner-help-sections{display:grid;grid-gap:.75rem;gap:.75rem;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}.planner-add-confirm{align-items:center;background:var(--color-surface);border:1px solid rgba(34,31,26,.11);border-radius:16px;box-shadow:0 5px 18px rgba(20,19,16,.08);display:flex;flex:0 0 auto;gap:.5rem;padding:.5rem .55rem}.planner-add-confirm-button{background:var(--color-text-primary);border:0;border-radius:12px;color:#fff;cursor:pointer;font:inherit;font-size:.82rem;font-weight:600;min-height:38px;padding:.45rem 1rem;white-space:nowrap}.planner-add-confirm-button:hover{background:var(--color-action-active)}.planner-inspector-floating .site-plan-property-row{gap:.5rem}.planner-inspector-floating .site-plan-property-row>span:first-child{font-size:.77rem}.planner-inspector-floating .site-plan-property-control input,.planner-inspector-floating .site-plan-property-control select{border-radius:8px;font-size:.8rem;min-height:34px;padding:.25rem .5rem}.planner-readonly-value{color:var(--color-text-primary);font-size:.8rem;font-weight:600;text-align:right}.planner-edit-in-2d{background:transparent;border:0;color:var(--color-action);cursor:pointer;font:inherit;font-size:.74rem;font-weight:600;justify-self:start;padding:.12rem 0}.planner-edit-in-2d:hover{text-decoration:underline;text-underline-offset:2px}.planner-move-button{align-items:center;background:rgba(34,31,26,.06);border:1px solid transparent;border-radius:10px;color:var(--color-text-primary);cursor:pointer;display:flex;font:inherit;font-size:.78rem;font-weight:600;gap:.42rem;justify-content:center;min-height:38px;padding:.4rem .65rem;width:100%}.planner-move-button .planner-icon{color:var(--color-action)}.planner-move-button small{color:var(--color-action);font-size:.66rem;margin-left:auto;text-transform:uppercase}.planner-move-button:hover{background:rgba(34,31,26,.1)}.planner-move-button.is-active{background:var(--color-action-soft);border-color:var(--color-action);color:var(--color-action)}@media (prefers-reduced-motion:reduce){.planner-inspector-floating .planner-panel{animation:none}.platform-shell:has(.site-planner[data-main-nav=closed]) .platform-sidebar{transition:none}}@media (max-width:1100px){.planner-stage.has-rail{grid-template-columns:minmax(0,1fr) minmax(250px,290px)}}@media (min-width:681px) and (max-width:900px){.platform-shell:has(.projects-page)>.platform-sidebar{box-sizing:border-box;overflow-x:hidden}.platform-shell:has(.projects-page)>.platform-sidebar.is-collapsed .platform-sidebar-top{display:flex!important;flex:0 0 auto;width:36px!important}.platform-shell:has(.projects-page)>.platform-sidebar.is-collapsed .platform-brand,.platform-shell:has(.projects-page)>.platform-sidebar.is-collapsed .platform-nav a,.platform-shell:has(.projects-page)>.platform-sidebar.is-collapsed .platform-nav button{flex:0 0 36px;width:36px!important}.platform-shell:has(.projects-page)>.platform-sidebar.is-collapsed .platform-nav.primary{flex:1 1 auto;min-width:0;width:auto!important}}@media (max-width:680px){.project-workspace-header{padding-left:4.25rem}}@media (max-width:900px){.site-plan-3d-controls{bottom:80px}.planner-workspace-toolbar .planner-menu-button{justify-content:center;min-width:44px;padding-inline:.55rem;position:relative}.planner-workspace-toolbar .planner-menu-label{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.platform-shell:has(.site-planner) .platform-sidebar{height:auto}.platform-shell:has(.site-planner[data-main-nav=closed]) .platform-sidebar{border-bottom-width:0;height:0;max-height:0;padding-bottom:0;padding-top:0}.planner-nav-handle-main{border-left:1px solid rgba(34,31,26,.13);border-radius:0 0 12px 12px;border-top:0;height:20px;left:1.1rem;top:0;transform:none;width:46px}.planner-stage.has-rail{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(210px,1fr) auto}.planner-rail{background:rgba(251,248,241,.96);border-radius:16px;box-shadow:0 7px 22px rgba(20,19,16,.1);max-height:min(34dvh,280px);padding:.6rem;position:static}.planner-surface-2d{gap:.6rem;padding:.85rem .75rem .6rem}.planner-2d-top-controls{left:10px;max-width:calc(100% - 62px);top:10px}.planner-2d-bottom-controls{bottom:10px;max-width:calc(100% - 62px)}.planner-topbar{gap:.6rem}.planner-save-status{display:none}.planner-save-status.is-dirty,.planner-save-status.is-error{display:inline-flex}.planner-inspector-floating{bottom:0;left:0;right:0;top:auto;width:auto}.planner-inspector-floating .planner-panel{border-radius:18px 18px 0 0;max-height:36dvh}.planner-surface-3d:has(.planner-inspector-floating) .site-plan-3d-controls{bottom:calc(36dvh + 14px);right:14px}.planner-surface-3d:has(.planner-inspector-floating) .planner-scene-identity{display:none}.planner-planning-inspector{max-height:36dvh;overflow-y:auto}.planner-planning-inspector .planner-panel{max-height:none}.planner-surface-3d:has(.planner-inspector-floating) .planner-scene-bottom{bottom:auto;top:152px}.planner-scene-top{left:14px;right:14px;top:14px}.planner-toolbar-panel,.planner-workspace-controls{max-width:calc(100vw - 28px)}.planner-category-panel{width:min(700px,calc(100vw - 28px))}.planner-category-garden{width:min(470px,calc(100vw - 28px))}.planner-library-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-library-groups:has(.planner-embedded-house-selector){grid-template-columns:minmax(0,1fr)}.planner-authoring-bar{max-width:calc(100vw - 28px);min-width:min(540px,calc(100vw - 28px))}.planner-planning-top-controls{max-width:calc(100vw - 96px)}.planner-surface-planning .site-plan-zoom-controls{bottom:14px;right:14px}.planner-surface-planning .site-plan-attribution{bottom:16px;right:60px}.planner-surface-planning .site-plan-scale-badge{bottom:14px;left:14px}.planner-scene-identity{bottom:14px;max-width:calc(100% - 150px)}}@media (max-width:700px){.planner-workspace-toolbar .planner-menu-button,.planner-workspace-toolbar .planner-mode-switcher button,.planner-workspace-toolbar .planner-object-button,.planner-workspace-toolbar .planner-save-button{min-height:44px}.planner-2d-top-controls{align-items:start;gap:.35rem}.planner-2d-top-controls .planner-mode-switcher button,.planner-2d-top-controls .planner-segmented button{font-size:.74rem;padding:.38rem .55rem}.planner-2d-background-control .planner-control-label{display:none}.planner-planning-top-controls{align-items:start;gap:.35rem}.planner-planning-top-controls .planner-mode-switcher button,.planner-planning-top-controls .planner-segmented button{font-size:.74rem;padding:.38rem .55rem}.planner-object-button{font-size:.8rem;padding:.45rem .8rem}.planner-category-garden,.planner-category-panel{max-height:min(70dvh,calc(100dvh - 92px));min-width:0;width:calc(100vw - 28px)}.planner-library-groups,.planner-library-groups:has(.planner-embedded-house-selector){grid-template-columns:minmax(0,1fr)}.planner-library-section{padding:.6rem}.planner-library-actions>button,.planner-library-options select,.planner-library-options>button,.planner-library-section-content>button{min-height:44px}.planner-category-panel>.planner-panel-header .planner-icon-button{height:44px;width:44px}.planner-category-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.planner-category-tools button{min-height:44px;padding-inline:.45rem}.planner-embedded-house-selector{max-width:calc(100vw - 56px)}.planner-workspace-toolbar .planner-menu-button{justify-content:center;padding-inline:.55rem;position:relative}.planner-workspace-toolbar .planner-menu-label{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.planner-authoring-bar{align-items:stretch;display:grid;grid-gap:.48rem;gap:.48rem;max-width:calc(100vw - 28px);min-width:0;padding:.55rem;width:calc(100vw - 28px)}.planner-authoring-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.planner-authoring-actions button,.planner-authoring-actions output,.planner-point-count{min-height:44px;min-width:0;padding-inline:.3rem}.planner-rotation-stepper button,.planner-rotation-stepper input,.planner-rotation-stepper output,.planner-transform-toolbar button{min-height:44px}.planner-rotation-stepper-controls,.planner-rotation-stepper>div{grid-template-columns:44px minmax(56px,1fr) 44px}.planner-add-actions button{min-width:0}.planner-help-dialog-backdrop{padding:14px}.planner-help-dialog .planner-help,.planner-help-dialog .planner-help-sections{grid-template-columns:minmax(0,1fr)}}@media (max-width:520px){.site-plan-3d-controls{bottom:132px}.planner-workspace-controls{width:calc(100vw - 28px)}.planner-workspace-toolbar{display:grid;grid-gap:.22rem;gap:.22rem;grid-template-columns:repeat(5,minmax(0,1fr));overflow:visible;width:100%}.planner-workspace-toolbar .planner-mode-switcher{grid-column:1/4;grid-row:1;justify-self:start}.planner-workspace-toolbar .planner-save{border-left:0;grid-column:4/6;grid-row:1;justify-self:end;margin-left:0;padding-left:0}.planner-workspace-toolbar>.planner-menu-button{grid-row:2;justify-self:stretch;width:100%}.planner-workspace-toolbar>.planner-menu-button:first-of-type{grid-column:1}.planner-workspace-toolbar>.planner-menu-button:nth-of-type(2){grid-column:2}.planner-workspace-toolbar>.planner-menu-button:nth-of-type(3){grid-column:3}.planner-workspace-toolbar>.planner-menu-button:nth-of-type(4){grid-column:4}.planner-workspace-toolbar>.planner-menu-button:nth-of-type(5){grid-column:5}}@media (any-pointer:coarse){.planner-authoring-actions button,.planner-authoring-actions output,.planner-library-actions>button,.planner-library-options select,.planner-library-options>button,.planner-library-section-content>button,.planner-point-count,.planner-rotation-stepper button,.planner-rotation-stepper input,.planner-rotation-stepper output,.planner-transform-toolbar button,.planner-workspace-toolbar .planner-menu-button,.planner-workspace-toolbar .planner-mode-switcher button,.planner-workspace-toolbar .planner-object-button,.planner-workspace-toolbar .planner-save-button,.site-plan-zoom-controls button{min-height:44px}.planner-authoring-actions button,.site-plan-zoom-controls button{min-width:44px}.planner-rotation-stepper-controls,.planner-rotation-stepper>div{grid-template-columns:44px minmax(56px,1fr) 44px}.planner-category-panel>.planner-panel-header .planner-icon-button{height:44px;width:44px}}@media (max-height:600px){.planner-toolbar-panel{max-height:min(68dvh,calc(100dvh - 88px))}.planner-authoring-copy>span:not(.planner-tool-error){display:none}.planner-authoring-bar{padding-block:.42rem}}@media (pointer:coarse){.site-plan-handle-hit{pointer-events:all}.planner-area-chip,.planner-icon-button,.site-plan-3d-controls button,.site-plan-zoom-controls button{min-height:44px;min-width:44px}.site-plan-3d-controls button,.site-plan-zoom-controls button{height:44px;width:44px}.site-plan-touch-hint{background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-secondary);display:block;font-size:.75rem;font-weight:600;left:10px;padding:.3rem .6rem;pointer-events:none;position:absolute;top:10px;z-index:5}}@media (max-width:680px){.project-workspace-header,.projects-header{padding-left:max(4.25rem,calc(env(safe-area-inset-left, 0px) + 4rem));padding-right:max(.75rem,env(safe-area-inset-right,0px))}.projects-header{align-items:center;flex-wrap:nowrap}.projects-header-actions{gap:.45rem}.project-icon-button,.projects-search-button,.projects-search-close{height:44px;width:44px}.projects-search-field{left:max(.75rem,env(safe-area-inset-left,0px));right:max(.75rem,env(safe-area-inset-right,0px));width:auto}.project-row{min-height:94px}.project-row-link{padding-block:.9rem}.project-row-actions{align-self:stretch}.project-menu{min-width:190px}.project-menu button{min-height:44px}.project-workspace-header{align-items:center;padding-bottom:.75rem;padding-top:.75rem}.project-workspace-header-main{overflow:hidden}.project-back-link{margin-bottom:.25rem}.project-workspace-header h1,.project-workspace-name{font-size:1.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-workspace-header p{font-size:.76rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-header-actions{gap:.35rem}.project-header-actions .plot-action-button{height:44px;min-width:44px;padding:0;width:44px}.project-header-actions .language-toggle,.project-header-actions .plot-action-button>span{display:none}.project-workspace-tabs{gap:1.35rem;overscroll-behavior-x:contain;padding-inline:1rem;position:-webkit-sticky;position:sticky;scroll-padding-inline:1rem;scroll-snap-type:x proximity;top:0;z-index:20}.project-workspace-tabs a{min-height:48px;padding-block:.9rem .7rem;scroll-snap-align:center}.project-workspace-content{padding:1.25rem .85rem calc(3rem + env(safe-area-inset-bottom, 0px))}.house-selector-summary,.project-placeholder-panel{border-radius:13px;padding:1rem}.project-overview-card{min-height:132px;padding:1rem}.project-current-state dl{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.project-analysis-step{align-items:flex-start}.house-selector-facts{display:grid;grid-gap:.85rem;gap:.85rem;grid-template-columns:repeat(2,minmax(0,1fr))}.house-selector-custom-grid{grid-template-columns:1fr}.house-selector-custom-grid .house-selector-field{min-width:0}.house-selector-actions{align-items:stretch;flex-direction:column;gap:.55rem}.house-selector-actions button{min-height:48px;width:100%}.house-selector-error,.house-selector-saved{line-height:1.45}}@media (max-width:900px){.site-planner[data-main-nav=open] .planner-nav-handle-main{display:none}}@media (max-width:700px){.planner-surface-2d{gap:.5rem;overscroll-behavior:contain;padding:max(.6rem,env(safe-area-inset-top,0px)) max(.55rem,env(safe-area-inset-right,0px)) max(.5rem,env(safe-area-inset-bottom,0px)) max(.55rem,env(safe-area-inset-left,0px))}.planner-topbar{align-items:center;display:grid;grid-gap:.5rem;gap:.5rem;grid-template-columns:minmax(0,1fr) auto;padding-left:max(52px,env(safe-area-inset-left,0px));padding-right:max(52px,env(safe-area-inset-right,0px))}.planner-topbar .planner-identity{display:block;min-width:0}.planner-topbar .planner-identity-fact{display:none}.planner-identity-title{display:block;font-size:.9rem;max-width:none}.planner-save{gap:.3rem;min-width:0}.planner-save-status:not(.is-dirty):not(.is-error){display:none}.planner-save-status.is-dirty,.planner-save-status.is-error{font-size:0;gap:0;height:10px;overflow:hidden;width:10px}.planner-save-button{font-size:.76rem;min-height:44px;padding:.45rem .72rem;white-space:nowrap}.planner-toolrow{align-items:flex-end;flex-wrap:nowrap;gap:.45rem;margin-inline:-.55rem;overflow-x:auto;overscroll-behavior-x:contain;padding:0 .55rem .15rem;scrollbar-width:none;scroll-snap-type:x proximity}.planner-toolrow::-webkit-scrollbar{display:none}.planner-control-group{flex:0 0 auto;scroll-snap-align:start}.planner-control-label{display:none}.planner-add-actions button,.planner-help-toggle,.planner-mode-switcher button,.planner-segmented button{min-height:44px;padding:.4rem .68rem;white-space:nowrap}.planner-add-actions{flex-wrap:nowrap}.planner-help-toggle{flex:0 0 auto;margin-left:0}.planner-stage{min-height:260px}.planner-stage-canvas{min-height:240px}.planner-rail{border-radius:18px 18px 0 0;max-height:min(56%,430px);padding:.5rem .5rem calc(.5rem + env(safe-area-inset-bottom, 0px))}.planner-help,.planner-panel{padding:.85rem}.planner-icon-button{height:44px;width:44px}.planner-icon-button .planner-icon{height:18px;width:18px}.site-plan-zoom-controls{right:10px;top:10px}.site-plan-scale-badge{bottom:8px;left:8px}.planner-surface-3d{padding:max(5px,env(safe-area-inset-top,0px)) max(5px,env(safe-area-inset-right,0px)) max(5px,env(safe-area-inset-bottom,0px)) max(5px,env(safe-area-inset-left,0px))}.planner-surface-3d .site-plan-3d-fallback,.planner-surface-3d .site-plan-3d-loading,.planner-surface-3d .site-plan-3d-shell{border-radius:14px}.planner-scene-top{align-items:start;display:grid;grid-gap:.45rem;gap:.45rem;grid-template-columns:minmax(0,1fr) auto;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));top:calc(52px + env(safe-area-inset-top, 0px))}.planner-scene-lead{gap:.35rem;min-width:0}.planner-scene-top .planner-identity{max-width:min(48vw,185px);padding:.35rem .55rem}.planner-scene-top .planner-identity-fact{display:none}.planner-scene-top .planner-mode-switcher button{font-size:.72rem;min-height:42px;padding:.35rem .5rem}.planner-scene-top .planner-save{padding:.25rem}.planner-scene-top .planner-save-button{font-size:.72rem;min-height:42px;padding:.4rem .58rem}.planner-levelling-toggle{min-height:38px}.site-plan-3d-controls{bottom:calc(68px + env(safe-area-inset-bottom, 0px));right:max(10px,env(safe-area-inset-right,0px));top:auto}.site-plan-3d-terrain-loading{bottom:calc(68px + env(safe-area-inset-bottom, 0px));left:max(10px,env(safe-area-inset-left,0px))}.planner-surface-3d:has(.planner-inspector-floating) .site-plan-3d-controls{display:none}.planner-scene-bottom,.planner-surface-3d:has(.planner-inspector-floating) .planner-scene-bottom{bottom:calc(8px + env(safe-area-inset-bottom, 0px));max-width:calc(100% - 16px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));top:auto;width:max-content}.planner-object-toolbar{border-radius:16px}.planner-object-button{font-size:.76rem;min-height:48px;padding:.4rem .72rem}.planner-add-confirm{max-width:calc(100vw - 24px);padding:.35rem}.planner-add-confirm-button{min-height:44px;padding-inline:.7rem}.planner-inspector-floating{bottom:calc(118px + env(safe-area-inset-bottom, 0px));left:max(6px,env(safe-area-inset-left,0px));right:max(6px,env(safe-area-inset-right,0px));top:auto;width:auto}.planner-inspector-floating .planner-panel{border-radius:16px;max-height:min(42dvh,340px);overscroll-behavior:contain;padding:.7rem .75rem}.planner-add-confirm .site-plan-property-control input,.planner-add-confirm .site-plan-property-control select,.planner-inspector-floating .site-plan-property-control input,.planner-inspector-floating .site-plan-property-control select{min-height:44px}}@media (max-width:900px) and (max-height:540px){.planner-surface-2d{gap:.3rem;padding-block:.35rem}.planner-topbar .planner-identity{display:none}.planner-topbar{display:flex;justify-content:flex-end}.planner-stage{min-height:220px}.planner-stage-canvas{min-height:210px}.planner-scene-top{left:max(60px,env(safe-area-inset-left,0px));right:max(60px,env(safe-area-inset-right,0px));top:8px}.planner-scene-top .planner-identity{display:none}.planner-inspector-floating .planner-panel{max-height:48dvh}}@media (max-width:520px){.house-catalogue-filters,.house-model-card-grid{grid-template-columns:minmax(0,1fr)}.house-model-card{min-height:150px}.house-catalogue-hero-actions{align-items:stretch;flex-direction:column}.house-catalogue-hero-actions button{width:100%}.house-selector-custom-grid{grid-template-columns:minmax(0,1fr)}.house-catalogue-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (any-pointer:coarse){.house-catalogue-details summary,.house-model-card,.house-supplier-chips button{min-height:44px}}.house-selector-custom-studio{display:grid;grid-gap:1.15rem;gap:1.15rem;padding:1.5rem;border-color:var(--color-border-interactive);background:linear-gradient(115deg,var(--color-pastel-mint),var(--color-surface))}.house-selector-custom-studio .house-custom-header p{font-size:.85rem;line-height:1.65}.house-custom-saved-dimensions{margin:0;color:var(--color-text-secondary);font-size:.85rem}.planner-context-action-list button:disabled,.planner-menu-button:disabled{opacity:.45;cursor:default}.workspace-cloud-status{color:var(--color-text-secondary);font-size:.8rem;max-width:21rem}.workspace-save-action{flex-shrink:0}.workspace-persistence:has(.site-planner){display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.workspace-recovery-alerts:empty{display:none}.workspace-persistence:has(.site-planner)>.workspace-recovery-alerts{flex:0 0 auto;margin:.5rem 1rem}.workspace-persistence-content:has(.site-planner){flex:1 1;min-height:0}@media (max-width:700px),(max-width:950px) and (max-height:560px){.workspace-persistence:has(.site-planner)>.workspace-recovery-alerts:not(:empty){background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);bottom:max(.75rem,env(safe-area-inset-bottom,0px));box-shadow:var(--shadow-card);font-size:.8rem;left:.75rem;margin:0;max-height:35dvh;overflow-y:auto;padding:.5rem .75rem;position:fixed;right:.75rem;z-index:150}}