@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";:root{--color-bg: #0f1117;--color-surface: #1a1d28;--color-surface-2: #22263a;--color-surface-hover: #282d42;--color-accent: #c8956c;--color-accent-hover: #d4a57a;--color-accent-glow: rgba(200, 149, 108, .15);--color-text: #e8e0d4;--color-text-muted: #8a8278;--color-text-dim: #5a564e;--color-border: #2a2d3a;--color-border-accent: rgba(200, 149, 108, .3);--color-success: #5a9a6a;--font-primary: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease;--sidebar-width: 300px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden;font-family:var(--font-primary);font-size:14px;color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100vw}.pb-nav{--pb-primary: #1E3F2F;--pb-accent: #C4A052;--pb-accent-on-light: #9E7E2E;--pb-accent-on-dark: #D4B86A;--pb-text: #2A2C2B;--pb-text-inverse: #F9F8F6;--pb-font: "Outfit", "Inter", sans-serif;flex-shrink:0;position:relative;z-index:10;width:100%;background:#f9f8f6f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(42,44,43,.05);box-shadow:0 4px 20px #00000008}.pb-nav__alert{background-color:var(--pb-primary);color:var(--pb-text-inverse);text-align:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;font-family:var(--pb-font)}.pb-nav__alert a{color:var(--pb-accent-on-dark);text-decoration:underline;margin-left:.5rem;font-weight:600}.pb-nav__alert a:hover{color:#d1b474}.pb-nav__container{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1280px;margin:0 auto}.pb-nav__logo{font-family:var(--pb-font);font-size:1.5rem;font-weight:700;color:var(--pb-primary);text-decoration:none;display:flex;align-items:center;gap:.5rem}.pb-nav__logo span{color:var(--pb-accent-on-light)}.pb-nav__links{display:flex;gap:2rem;align-items:center}.pb-nav__link{color:var(--pb-text);font-family:var(--pb-font);font-weight:500;text-decoration:none;font-size:1rem;position:relative;padding:.5rem 0}.pb-nav__link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--pb-accent);transition:width .2s ease-in-out}.pb-nav__link:hover:after,.pb-nav__link--active:after{width:100%}.pb-nav__cta{background-color:var(--pb-primary);color:var(--pb-text-inverse);padding:.75rem 1.5rem;border-radius:9999px;font-family:var(--pb-font);font-weight:600;text-decoration:none;transition:all .2s ease-in-out;box-shadow:0 4px 6px -1px #0000000d}.pb-nav__cta:hover{background-color:var(--pb-accent);transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000000d;color:var(--pb-primary)}.pb-nav__toggle{display:none;background:none;border:none;font-size:1.5rem;color:var(--pb-primary);cursor:pointer}.pb-nav__mobile-cta{display:none}@media (max-width: 1079px){.pb-nav__toggle{display:block}.pb-nav__desktop-cta{display:none}.pb-nav__links{display:none;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background:#f9f8f6fa;padding:2rem;border-bottom:1px solid rgba(42,44,43,.05);box-shadow:0 10px 20px #0000000d;gap:1rem;align-items:flex-start}.pb-nav__links--open{display:flex}.pb-nav__mobile-cta{display:inline-block;margin-top:1rem}}.main{display:flex;flex:1;overflow:hidden}.viewport-wrapper{flex:1;position:relative;overflow:hidden;background:linear-gradient(180deg,#c8d8e4,#a8b8c4)}#viewport{width:100%;height:100%;position:relative}#viewport canvas{display:block;touch-action:none}.view-controls{position:absolute;bottom:16px;left:16px;display:flex;gap:6px;z-index:5}.view-btn{padding:7px 14px;background:#0f1117bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);color:var(--color-text);font-family:var(--font-primary);font-size:12px;font-weight:500;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}@media (hover: hover){.view-btn:hover{background:#0f1117e6;border-color:var(--color-accent);color:var(--color-accent)}}.view-btn--active{border-color:var(--color-accent)!important;color:var(--color-accent)!important;background:#0f1117e6!important}.dimensions-badge{position:absolute;bottom:16px;left:50%;transform:translate(-50%);padding:8px 20px;background:#0f1117cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);color:var(--color-text);font-size:13px;font-weight:500;border-radius:100px;white-space:nowrap;z-index:5;letter-spacing:.02em;pointer-events:none}.reset-btn{position:absolute;bottom:16px;right:16px;padding:8px 14px;background:#0f1117cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);color:var(--color-text);font-size:12px;font-weight:500;border-radius:100px;cursor:pointer;z-index:5;letter-spacing:.02em;transition:border-color .15s,color .15s}.reset-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.sidebar{width:var(--sidebar-width);background:var(--color-surface);border-left:1px solid var(--color-border);overflow-x:hidden;overflow-y:auto;flex-shrink:0;display:flex;flex-direction:column}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}.sidebar-section{padding:16px;border-bottom:1px solid var(--color-border)}.sidebar-section:last-child{border-bottom:none}.sidebar-section--collapsible{padding:0}.sidebar-section--collapsible:last-child{border-bottom:none}.section-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:10px}.section-toggle{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:16px;cursor:pointer;list-style:none;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.section-toggle::-webkit-details-marker{display:none}.section-toggle:hover{background:#ffffff05}.section-toggle .section-title{margin-bottom:0}.section-toggle:after{content:"";width:8px;height:8px;border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);transform:rotate(45deg);transition:transform var(--transition-fast),border-color var(--transition-fast);flex-shrink:0}.sidebar-section--collapsible[open] .section-toggle:after{transform:rotate(225deg)}.sidebar-section--collapsible[open] .section-toggle:after,.sidebar-section--collapsible[open] .section-title{border-color:var(--color-accent);color:var(--color-accent)}.sidebar-section__content{padding:0 16px 16px}.model-cards{display:flex;flex-direction:column;gap:6px}.model-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-primary);text-align:left;width:100%;color:var(--color-text)}@media (hover: hover){.model-card:hover{background:var(--color-surface-hover);border-color:#c8956c33}}.model-card--active{background:var(--color-accent-glow);border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent),inset 0 1px #c8956c14}.model-card__name{font-weight:600;font-size:13px;min-width:80px}.model-card__dims{font-size:12px;color:var(--color-text-muted)}.model-card__sqft{font-size:12px;color:var(--color-accent);margin-left:auto;font-weight:500}.roof-toggle{display:flex;gap:6px}.roof-toggle__btn{flex:1;padding:9px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center}@media (hover: hover){.roof-toggle__btn:hover{background:var(--color-surface-hover);border-color:#c8956c33}}.roof-toggle__btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a;font-weight:600}.specs-panel{display:flex;flex-direction:column;gap:6px}.spec-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0}.spec-label{font-size:12px;color:var(--color-text-muted)}.spec-value{font-size:12px;font-weight:500;color:var(--color-text)}.wall-selector{margin-bottom:16px}.wall-selector__diagram{position:relative;width:160px;height:160px;margin:0 auto;border:2px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2)}.wall-selector__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:10px;color:var(--color-text-muted);text-align:center;pointer-events:none}.wall-btn{position:absolute;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);z-index:2}@media (hover: hover){.wall-btn:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:#c8956c4d}}.wall-btn--active{background:var(--color-accent);color:#1a1a1a;border-color:var(--color-accent)}.wall-btn--top{top:-10px;left:50%;transform:translate(-50%);padding:4px 10px;border-radius:var(--radius-sm)}.wall-btn--bottom{bottom:-10px;left:50%;transform:translate(-50%);padding:4px 10px;border-radius:var(--radius-sm)}.wall-btn--left{left:-20px;top:50%;transform:translateY(-50%) rotate(-90deg);padding:4px 10px;border-radius:var(--radius-sm)}.wall-btn--right{right:-20px;top:50%;transform:translateY(-50%) rotate(90deg);padding:4px 10px;border-radius:var(--radius-sm)}.wall-options__title{font-size:12px;font-weight:600;margin-bottom:8px;color:var(--color-text)}.wall-options__count{font-size:12px;color:var(--color-text-muted);margin-bottom:8px}.wall-option-btn{display:block;width:100%;padding:8px 12px;margin-bottom:6px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-primary);font-size:12px;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.wall-option-btn:hover{background:var(--color-surface-hover)}.wall-option-btn--active{background:var(--color-accent-glow);border-color:var(--color-accent);color:var(--color-accent);font-weight:500}.wall-options__btn-group{display:flex;gap:8px}.wall-options__btn-group button{flex:1;padding:8px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:16px;cursor:pointer;transition:all var(--transition-fast)}.wall-options__btn-group button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-accent)}.wall-options__btn-group button:disabled{opacity:.5;cursor:not-allowed}.app-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);max-width:calc(100% - 32px);padding:10px 16px;background:#0f1117eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-accent);border-radius:var(--radius-md);color:var(--color-text);font-size:13px;font-weight:500;text-align:center;pointer-events:none;opacity:0;transition:opacity var(--transition-normal),transform var(--transition-normal);z-index:100;box-shadow:0 4px 16px #00000059}.app-toast--visible{opacity:1;transform:translate(-50%)}.helper-hint{position:absolute;left:50%;bottom:80px;transform:translate(-50%,10px);max-width:calc(100% - 32px);padding:16px 28px;background:#0f1117c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);color:#ffffffbf;font-size:24px;font-weight:400;text-align:center;pointer-events:none;opacity:0;transition:opacity var(--transition-normal),transform var(--transition-normal);z-index:99}.helper-hint--visible{opacity:1;transform:translate(-50%)}.viewport-toast{position:absolute;left:50%;top:0;transform:translate(-50%,-8px);max-width:calc(100% - 32px);padding:10px 16px;background:#0f1117eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--color-border-accent);border-radius:var(--radius-md);color:var(--color-text);font-size:13px;font-weight:500;text-align:center;pointer-events:none;opacity:0;transition:opacity var(--transition-normal),transform var(--transition-normal);z-index:100;box-shadow:0 4px 16px #00000059}.viewport-toast--visible{opacity:1;transform:translate(-50%)}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1000;transition:opacity var(--transition-slow)}.loading-screen--hidden{opacity:0;pointer-events:none}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}.loading-text{margin-top:16px;font-size:14px;color:var(--color-text-muted);font-weight:400}@keyframes spin{to{transform:rotate(360deg)}}[data-ux=mobile]{--sidebar-width: 100%}[data-ux=mobile] .pb-nav__alert{display:none}[data-ux=mobile] .viewport-wrapper{height:100%;min-height:0;flex:1 1 auto}[data-ux=mobile] .model-cards{flex-direction:row;overflow-x:auto;padding-bottom:4px;gap:8px;scrollbar-width:none}[data-ux=mobile] .model-cards::-webkit-scrollbar{display:none}[data-ux=mobile] .model-card{width:auto;min-width:130px;flex:0 0 auto;flex-direction:column;align-items:flex-start;gap:4px}[data-ux=mobile] .model-card__sqft{margin-left:0}[data-ux=mobile] .dimensions-badge,[data-ux=mobile] .reset-btn,[data-ux=mobile] .view-controls{display:none}[data-ux=mobile] .helper-hint{left:12px;right:12px;bottom:12px;transform:translateY(10px);max-width:none;padding:10px 14px;font-size:14px;line-height:1.35}[data-ux=mobile] .helper-hint--visible{transform:translateY(0)}[data-ux=mobile] .placement-toolbar{position:sticky;top:0;z-index:5;width:auto;max-width:none;margin:0 0 12px;padding:10px 4px 12px;background:var(--color-surface);border:none;border-bottom:1px solid var(--color-border);border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;bottom:auto;left:auto;right:auto;transform:none}[data-ux=mobile] .placement-type-row{display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:4px;grid-template-columns:none}[data-ux=mobile] .placement-type-row::-webkit-scrollbar{display:none}[data-ux=mobile] .placement-type-btn{flex:0 0 auto;justify-content:center;white-space:nowrap;text-align:center}[data-ux=mobile] .placement-ctrl-row{display:flex;flex-direction:row;gap:8px;margin-top:6px;grid-template-columns:none}[data-ux=mobile] .placement-ctrl-btn{flex:1 1 0;justify-content:center}[data-ux=mobile] .placement-type-hint{display:none}[data-ux=mobile] .viewport-wrapper--placement-active .helper-hint,[data-ux=mobile] .viewport-wrapper--placement-active .view-controls{opacity:0;pointer-events:none}[data-ux=mobile] .sidebar{visibility:hidden}[data-ux=mobile][data-ux-sheet=ready] .cupertino-pane-wrapper .sidebar,[data-ux=mobile][data-ux-sheet=ready] .pane .sidebar{visibility:visible}[data-ux=mobile][data-ux-sheet=ready] .sidebar{width:100%;height:auto;max-height:none;border:none;overflow:visible;padding-bottom:env(safe-area-inset-bottom,0px)}.cupertino-pane-wrapper .pane{background:var(--color-surface);color:var(--color-text);border-top-left-radius:16px;border-top-right-radius:16px}.cupertino-pane-wrapper .draggable .move{background:var(--color-border)}@media (max-width: 480px){[data-ux=mobile] .sidebar-section{padding:12px}[data-ux=mobile] .view-btn{padding:6px 10px;font-size:11px}}[data-ux=mobile] .siding-swatch,[data-ux=mobile] .trim-swatch{width:36px;height:36px}[data-ux=mobile] .view-btn{min-height:44px;padding:10px 16px;font-size:13px}[data-ux=mobile] .placement-x-btn{width:40px;height:40px;margin-left:-20px;margin-top:-20px;font-size:18px}[data-ux=mobile] .wall-btn:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}[data-ux=mobile] .placement-type-btn{min-height:44px;padding:10px 14px;font-size:13px}[data-ux=mobile] .placement-type-hint{font-size:11px}[data-ux=mobile] .placement-ctrl-btn{min-height:44px;padding:10px 16px;font-size:13px}@media (max-height: 520px) and (orientation: landscape){[data-ux=mobile] .model-cards{flex-direction:column;overflow-x:visible}[data-ux=mobile] .model-card{width:100%;min-width:0;flex-direction:row;align-items:center;gap:10px}[data-ux=mobile] .helper-hint{left:12px;right:12px;bottom:12px;transform:translateY(10px);max-width:min(360px,calc(100% - 24px));padding:10px 14px;font-size:14px;line-height:1.3}[data-ux=mobile] .helper-hint--visible{transform:translateY(0)}[data-ux=mobile] .viewport-wrapper--placement-active .helper-hint,[data-ux=mobile] .viewport-wrapper--placement-active .view-controls{opacity:0;pointer-events:none}}.siding-wall-selector{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:14px}.siding-wall-btn{flex:1;min-width:44px;padding:7px 6px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-primary);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center;white-space:nowrap}@media (hover: hover){.siding-wall-btn:hover{background:var(--color-surface-hover);color:var(--color-text);border-color:#c8956c40}}.siding-wall-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a;font-weight:600}.siding-wall-btn--all{flex-basis:100%;flex-grow:0}.siding-subsection-title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-dim);margin:12px 0 7px}.siding-material-selector{display:flex;flex-direction:column;gap:5px}.siding-material-btn{width:100%;padding:9px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-primary);font-size:12px;font-weight:500;text-align:left;cursor:pointer;transition:all var(--transition-fast)}@media (hover: hover){.siding-material-btn:hover{background:var(--color-surface-hover);border-color:#c8956c33}}.siding-material-btn--active{background:var(--color-accent-glow);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.siding-orientation-row{margin-bottom:2px}.siding-orientation-toggle{display:flex;gap:6px}.siding-orient-btn{flex:1;padding:8px 10px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:center}@media (hover: hover){.siding-orient-btn:hover{background:var(--color-surface-hover);border-color:#c8956c33}}.siding-orient-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a;font-weight:600}.siding-color-swatches{display:flex;flex-direction:column;gap:10px}.siding-color-group-label{font-size:10px;color:var(--color-text-dim);margin-bottom:5px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.siding-color-row{display:flex;flex-wrap:wrap;gap:6px}.siding-swatch{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0;outline:none}.siding-swatch:hover{transform:scale(1.12);border-color:#fff6}.siding-swatch--active{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent);transform:scale(1.08)}.roof-mat-selector{display:flex;flex-direction:column;gap:5px}.roof-mat-btn{width:100%;padding:9px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-primary);font-size:12px;font-weight:500;text-align:left;cursor:pointer;transition:all var(--transition-fast)}.roof-mat-btn:hover{background:var(--color-surface-hover);border-color:#c8956c33}.roof-mat-btn--active{background:var(--color-accent-glow);border-color:var(--color-accent);color:var(--color-accent);font-weight:600}.trim-color-swatches{display:flex;flex-direction:column;gap:10px}.trim-color-group-label{font-size:10px;color:var(--color-text-dim);margin-bottom:5px;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.trim-color-row{display:flex;flex-wrap:wrap;gap:6px}.trim-swatch{width:28px;height:28px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;transition:transform var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);flex-shrink:0;outline:none}.trim-swatch:hover{transform:scale(1.12);border-color:#fff6}.trim-swatch--active{border-color:var(--color-accent)!important;box-shadow:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent);transform:scale(1.08)}.wee-toolbar{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.wee-type-btn{padding:5px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);font-size:11px;font-weight:500;cursor:pointer;transition:border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.wee-type-btn:hover{border-color:var(--color-accent);color:var(--color-text)}.wee-type-btn--active{border-color:var(--color-accent)!important;background:var(--color-accent-glow);color:var(--color-accent)!important}.wee-strip-wrap{overflow-x:hidden;margin-bottom:8px;border-radius:var(--radius-sm)}.wee-strip{position:relative;background:#2a2e3e;border-radius:var(--radius-sm);border:1px solid var(--color-border);cursor:crosshair;flex-shrink:0}.wee-zone{position:absolute;top:0;bottom:0;left:0;background:#00000059;pointer-events:none;border-right:1px dashed rgba(255,255,255,.1)}.wee-zone--right{left:auto;right:0;border-right:none;border-left:1px dashed rgba(255,255,255,.1)}.wee-opening{position:absolute;top:6px;bottom:6px;background:#c8956c2e;border:1.5px solid var(--color-accent);border-radius:3px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast),left 90ms ease-out;will-change:left;touch-action:none}.wee-opening:hover{background:#c8956c47}.wee-opening--selected{background:#c8956c59!important;border-color:#fff;box-shadow:0 0 0 2px var(--color-accent)}.wee-opening--dragging{cursor:grabbing!important;z-index:3;transition:background var(--transition-fast)}.wee-opening__label{font-size:9px;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.04em;pointer-events:none;text-align:center;padding:0 4px}.wee-ghost{position:absolute;top:6px;bottom:6px;background:#ffffff1f;border:1.5px dashed rgba(255,255,255,.5);border-radius:3px;pointer-events:none;transition:background var(--transition-fast)}.wee-ghost--invalid{background:#dc3c3c2e;border-color:#dc3c3cb3}.wee-controls{display:flex;gap:6px;align-items:center;min-height:30px}.wee-ctrl-btn{padding:5px 10px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:12px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.wee-ctrl-btn:hover{border-color:var(--color-accent);background:var(--color-surface-hover)}.wee-ctrl-btn--delete{border-color:#dc3c3c66;color:#dc6464;margin-left:auto}.wee-ctrl-btn--delete:hover{border-color:#dc3c3c;background:#dc3c3c1f}.wee-hint{font-size:11px;color:var(--color-text-dim);font-style:italic}.wee-full-notice{width:100%;margin-top:4px;padding:5px 8px;background:#c8956c1a;border:1px solid rgba(200,149,108,.3);border-radius:var(--radius-sm);font-size:11px;color:var(--color-accent)}.wee-error-notice{margin-top:4px;padding:0 8px;background:#dc3c3c1f;border:1px solid rgba(220,60,60,.35);border-radius:var(--radius-sm);font-size:11px;color:#dc6464;max-height:0;overflow:hidden;opacity:0;transition:opacity .2s,max-height .2s,padding .2s}.wee-error-notice--visible{max-height:40px;opacity:1;padding:5px 8px}.placement-toolbar{position:absolute;top:16px;left:50%;transform:translate(-50%);z-index:20;display:none;flex-direction:column;gap:8px;padding:10px 12px;background:#141822eb;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--color-border);border-radius:var(--radius-md, 8px);box-shadow:0 4px 16px #00000059;pointer-events:auto}.placement-type-row{display:flex;gap:6px}.placement-type-btn{padding:6px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:12px;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:border-color var(--transition-fast),color var(--transition-fast)}.placement-type-btn:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}@media (hover: hover){.placement-type-btn:hover:not(:disabled){background:var(--color-accent-glow);border-color:var(--color-accent-hover)}}.placement-type-btn--active{border-color:var(--color-accent)!important;background:var(--color-accent-glow);color:var(--color-accent)!important}.placement-type-btn--disabled,.placement-type-btn:disabled{opacity:.42;cursor:not-allowed}.placement-type-hint{font-size:10px;color:var(--color-text-dim);font-weight:400}.placement-ctrl-row{display:flex;gap:6px;justify-content:flex-end}.placement-subtitle{font-size:11px;color:var(--color-text-secondary, rgba(255, 255, 255, .6));line-height:1.3;padding:2px 0;text-align:center}[data-ux=mobile] .placement-subtitle{font-size:13px;padding:4px 2px 6px}.placement-ctrl-btn{padding:5px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text);font-size:12px;cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast)}.placement-ctrl-btn:hover{border-color:var(--color-accent)}.placement-ctrl-btn--done{border-color:var(--color-accent);background:var(--color-accent-glow);color:var(--color-accent)}.placement-x-btn{position:absolute;z-index:21;width:26px;height:26px;margin-left:-13px;margin-top:-13px;border:none;border-radius:50%;background:#dc3c3cf2;color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 6px #0006;pointer-events:auto}.placement-x-btn:hover{background:#f05050}.mobile-step-header{display:none}[data-ux=mobile] .mobile-step-header{display:flex;flex-direction:column;position:sticky;top:0;z-index:5;flex-shrink:0;padding:8px 12px 10px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}[data-ux=mobile] .mobile-step-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:44px}[data-ux=mobile] .mobile-step-back,[data-ux=mobile] .mobile-step-next{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;margin:0;padding:8px 12px;font-family:inherit;font-size:15px;font-weight:600;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}[data-ux=mobile] .mobile-step-back:hover,[data-ux=mobile] .mobile-step-next:hover{color:var(--color-text);background:#ffffff0a}[data-ux=mobile] .mobile-step-next{color:var(--color-accent)}[data-ux=mobile] .mobile-step-btn--hidden{visibility:hidden;pointer-events:none}[data-ux=mobile] .mobile-step-title{flex:1 1 auto;text-align:center;font-size:17px;font-weight:600;color:var(--color-text);padding:0 4px}[data-ux=mobile] .mobile-step-context{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px;min-height:24px;padding:0 4px}[data-ux=mobile] .mobile-step-counter{font-size:12px;font-weight:500;color:var(--color-text-muted)}[data-ux=mobile] .mobile-step-dots{display:flex;align-items:center;gap:4px}[data-ux=mobile] .mobile-step-dot{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:8px;margin:0;cursor:pointer;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}[data-ux=mobile] .mobile-step-dot:after{content:"";display:block;width:8px;height:8px;border-radius:50%;background:var(--color-text-dim);transition:background var(--transition-fast),transform var(--transition-fast)}[data-ux=mobile] .mobile-step-dot--filled:after{background:var(--color-accent)}[data-ux=mobile] .mobile-step-dot--current:after{transform:scale(1.25)}[data-ux=mobile] .sidebar-section{display:none}[data-ux=mobile] .sidebar-section--mobile-active{display:block}[data-ux=mobile] .sidebar-section--collapsible .section-toggle{cursor:default;pointer-events:none}[data-ux=mobile] .sidebar-section--collapsible .section-toggle:after{display:none}[data-ux=mobile] .sidebar-section,[data-ux=mobile] .sidebar-section--collapsible .section-toggle,[data-ux=mobile] .sidebar-section__content{max-width:480px;margin-left:auto;margin-right:auto}.step-models__current{display:none}[data-ux=mobile] .step-models__current{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:10px 12px;margin-bottom:12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md)}[data-ux=mobile] .step-models__current-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}[data-ux=mobile] .step-models__current-value{font-size:15px;font-weight:600;color:var(--color-text)}[data-ux=mobile] .step-models__current-sqft{margin-left:auto;font-size:13px;color:var(--color-accent);font-weight:500}[data-ux=mobile] .model-cards{gap:12px;padding-bottom:8px}[data-ux=mobile] .model-card{min-width:144px;min-height:88px;padding:12px 14px;gap:6px;align-items:stretch;border-radius:var(--radius-md)}[data-ux=mobile] .model-card--active{border-width:2px;padding:11px 13px;color:var(--color-accent)}[data-ux=mobile] .model-card__name{font-size:15px;min-width:0}[data-ux=mobile] .model-card__dims{font-size:13px}[data-ux=mobile] .model-card__sqft{font-size:12px;margin-top:auto;margin-left:0}[data-ux=mobile] .siding-wall-selector{gap:8px;margin-bottom:16px}[data-ux=mobile] .siding-wall-btn{min-height:44px;padding:10px 12px;font-size:13px;border-radius:var(--radius-md)}[data-ux=mobile] .siding-wall-btn--all{margin-top:4px;border-left:3px solid var(--color-border)}[data-ux=mobile] .siding-wall-btn--all.siding-wall-btn--active{border-left-color:var(--color-accent)}[data-ux=mobile] .siding-material-selector{flex-direction:row;overflow-x:auto;gap:8px;scrollbar-width:none;padding-bottom:4px}[data-ux=mobile] .siding-material-selector::-webkit-scrollbar{display:none}[data-ux=mobile] .siding-material-btn{width:auto;min-width:120px;flex:0 0 auto;text-align:center;padding:12px;font-size:13px}[data-ux=mobile] .siding-orient-btn{min-height:44px;font-size:13px}[data-ux=mobile] .siding-color-row{gap:8px}[data-ux=mobile] .roof-toggle__btn{min-height:44px;font-size:13px}[data-ux=mobile] .roof-mat-selector{flex-direction:row;overflow-x:auto;gap:8px;scrollbar-width:none;padding-bottom:4px}[data-ux=mobile] .roof-mat-selector::-webkit-scrollbar{display:none}[data-ux=mobile] .roof-mat-btn{width:auto;min-width:120px;flex:0 0 auto;text-align:center;padding:12px;font-size:13px}[data-ux=mobile] .trim-color-row{gap:8px}[data-ux=mobile] #section-specs{padding:16px 16px calc(env(safe-area-inset-bottom,0px) + 24px)}[data-ux=mobile] .specs-panel{gap:4px}[data-ux=mobile] .spec-row{padding:10px 0;border-bottom:1px solid var(--color-border)}[data-ux=mobile] .spec-row:last-child{border-bottom:none}[data-ux=mobile] .spec-label,[data-ux=mobile] .spec-value{font-size:14px}[data-ux=mobile] .quote-cta{margin-top:20px;padding:16px;font-size:15px;min-height:52px}.overflow-menu-btn{display:none}[data-ux=mobile] .overflow-menu-btn{position:absolute;top:12px;right:12px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#0f1117cc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08);border-radius:50%;color:var(--color-text);font-size:22px;font-weight:700;letter-spacing:.05em;line-height:1;cursor:pointer;z-index:6;transition:border-color var(--transition-fast),color var(--transition-fast)}[data-ux=mobile] .overflow-menu-btn:hover,[data-ux=mobile] .overflow-menu-btn[aria-expanded=true]{border-color:var(--color-accent);color:var(--color-accent)}.overflow-menu,.overflow-menu[hidden]{display:none}[data-ux=mobile] .overflow-menu{position:absolute;top:64px;right:12px;display:block;min-width:180px;padding:6px;background:#141822f7;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000080;z-index:7}[data-ux=mobile] .overflow-menu[hidden]{display:none}[data-ux=mobile] .overflow-menu__item{display:block;width:100%;padding:12px 14px;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text);font:500 14px var(--font-primary);text-align:left;cursor:pointer;transition:background var(--transition-fast)}[data-ux=mobile] .overflow-menu__item:hover{background:var(--color-surface-hover)}.wall-chips,.wall-chips__hint,[data-ux=mobile] .wall-selector__diagram,[data-ux=mobile] .wall-options{display:none}[data-ux=mobile] .wall-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}[data-ux=mobile] .wall-chip{flex:1 1 calc(50% - 4px);min-width:0;min-height:44px;padding:10px 12px;background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:var(--font-primary);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);text-align:center}@media (hover: hover){[data-ux=mobile] .wall-chip:hover{background:var(--color-surface-hover);border-color:#c8956c40}}[data-ux=mobile] .wall-chip--active{background:var(--color-accent);border-color:var(--color-accent);color:#1a1a1a;font-weight:600}[data-ux=mobile] .wall-chips__hint{display:block;font-size:13px;color:var(--color-text-muted);margin-bottom:16px;line-height:1.4}[data-ux=mobile] [data-placement-active=true] .mobile-step-header,[data-ux=mobile] [data-placement-active=true] #section-openings .section-toggle{display:none}.quote-cta{display:block;width:100%;margin-top:16px;padding:14px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font:600 14px var(--font-primary);letter-spacing:.02em;cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.quote-cta:hover{background:var(--color-accent-hover)}.quote-cta:active{transform:translateY(1px)}.quote-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.quote-modal[hidden]{display:none}.quote-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.quote-modal__panel{position:relative;width:100%;max-width:440px;max-height:calc(100dvh - 40px);overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px;box-shadow:0 20px 60px #00000080}.quote-modal__close{position:absolute;top:12px;right:12px;width:32px;height:32px;background:transparent;border:none;color:var(--color-text-muted);font-size:24px;line-height:1;cursor:pointer;border-radius:50%;transition:background var(--transition-fast),color var(--transition-fast)}.quote-modal__close:hover{background:var(--color-surface-hover);color:var(--color-text)}.quote-modal__title{font:600 20px var(--font-primary);margin-bottom:6px;letter-spacing:-.01em}.quote-modal__intro{color:var(--color-text-muted);font-size:13px;line-height:1.5;margin-bottom:20px}.quote-form{display:flex;flex-direction:column;gap:14px}.quote-field{display:flex;flex-direction:column;gap:6px}.quote-field__label{font-size:12px;font-weight:500;color:var(--color-text-muted);letter-spacing:.02em}.quote-field__hint{color:var(--color-text-dim);font-weight:400}.quote-field input{padding:10px 12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font:14px var(--font-primary);transition:border-color var(--transition-fast)}.quote-field input:focus{outline:none;border-color:var(--color-accent)}.quote-form__error{background:#b43c3c26;border:1px solid rgba(180,60,60,.4);color:#f0a0a0;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px}.quote-form__error[hidden]{display:none}.quote-form__submit{margin-top:6px;padding:12px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:var(--radius-md);font:600 14px var(--font-primary);cursor:pointer;transition:background var(--transition-fast)}.quote-form__submit:hover{background:var(--color-accent-hover)}.quote-modal__loading,.quote-modal__success{text-align:center;padding:20px 0 8px}.quote-modal__loading p,.quote-modal__success p{color:var(--color-text-muted);margin:12px 0;line-height:1.5}.quote-modal__spinner{width:36px;height:36px;margin:0 auto;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:quote-spin .8s linear infinite}@keyframes quote-spin{to{transform:rotate(360deg)}}.quote-modal__success-icon{width:56px;height:56px;margin:0 auto 8px;background:var(--color-success);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700}.quote-modal__success h2{font:600 20px var(--font-primary);margin-bottom:8px}.quote-modal__quote-id{font-size:12px;color:var(--color-text-dim)}.quote-modal__quote-id code{font-family:monospace;background:var(--color-bg);padding:2px 6px;border-radius:4px;color:var(--color-text-muted)}[data-ux=mobile] .quote-modal__panel{padding:22px}[data-ux=mobile] .quote-modal__title{font-size:18px}
