:root,[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f172a;--bg-elevated:#1e293b;--surface:#1e293b;--surface-hover:#334155;--text:#f8fafc;--text-muted:#94a3b8;--border:#334155;--input-bg:#0f172a;--canvas-shell:#020617;--canvas-border:#38bdf873;--canvas-shadow:0 0 40px #00000073;--accent:#38bdf8;--on-accent:#0f172a;--success:#4ade80;--warning:#fbbf24;--danger:#ef4444;--focus-ring:#38bdf847;--panel-translucent:#1e293bf2;--overlay:#0f172af5;--summary-bg:#0f172af7;--shadow:0 12px 40px #00000073;--cta:#2563eb;--cta-hover:#1d4ed8;--cta-disabled:#475569;--progress-track:#1e293b;--notice-bg:#334155a6;--reserve-bg:#f59e0b1f;--reserve-text:#fde68a;--portal-gradient:linear-gradient(160deg, #020617 0%, #0f172a 45%, #1e293b 100%);--control-border:#475569;--app-bg:var(--bg);--app-panel:var(--surface);--app-panel-inner:var(--input-bg);--app-border:var(--border);--app-accent:var(--accent);--app-text:var(--text);--app-muted:var(--text-muted);--app-success:var(--success);--app-viewport-bg:var(--canvas-shell);--app-canvas-bg:#0b1329}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f0ea;--bg-elevated:#fffdf8;--surface:#fffdf8;--surface-hover:#ece6dc;--text:#1c1917;--text-muted:#57534e;--border:#d6cfc4;--input-bg:#fff;--canvas-shell:#e8e2d8;--canvas-border:#0ea5e9;--canvas-shadow:0 10px 28px #1c19171f;--accent:#0284c7;--on-accent:#f8fafc;--success:#15803d;--warning:#b45309;--danger:#dc2626;--focus-ring:#0ea5e947;--panel-translucent:#fffdf8f0;--overlay:#fffdf8f7;--summary-bg:#fffdf8f7;--shadow:0 12px 32px #1c19171f;--cta:#2563eb;--cta-hover:#1d4ed8;--cta-disabled:#a8a29e;--progress-track:#e7e0d6;--notice-bg:#d6cfc48c;--reserve-bg:#f59e0b29;--reserve-text:#92400e;--portal-gradient:linear-gradient(160deg, #efe9e0 0%, #f4f0ea 45%, #fffdf8 100%);--control-border:#c4bdb2;--app-bg:var(--bg);--app-panel:var(--surface);--app-panel-inner:var(--input-bg);--app-border:var(--border);--app-accent:var(--accent);--app-text:var(--text);--app-muted:var(--text-muted);--app-success:var(--success);--app-viewport-bg:var(--canvas-shell);--app-canvas-bg:#0b1329}html,body{background:var(--bg);color:var(--text)}.brand-logo-pair{place-items:center start;line-height:0;display:inline-grid}.brand-logo-pair .brand-logo-img{grid-area:1/1}html[data-theme=light] .brand-logo-for-dark,html:not([data-theme=light]) .brand-logo-for-light{display:none!important}.form-control,.form-select{background-color:var(--input-bg);color:var(--text);border-color:var(--control-border)}.form-control::placeholder{color:var(--text-muted);opacity:.85}.form-control:focus,.form-select:focus{background-color:var(--input-bg);color:var(--text);border-color:var(--accent);box-shadow:0 0 0 .15rem var(--focus-ring)}.form-control:disabled,.form-select:disabled{background-color:var(--surface-hover);color:var(--text-muted);opacity:.75}.form-check-input{background-color:var(--input-bg);border-color:var(--control-border)}.form-check-input:focus{border-color:var(--accent);box-shadow:0 0 0 .15rem var(--focus-ring)}.form-check-input:checked{background-color:var(--accent);border-color:var(--accent)}.form-label,.form-check-label{color:var(--text)}.modal-content{background:var(--surface);color:var(--text);border-color:var(--border)}.modal-header,.modal-footer{border-color:var(--border)}.list-group-item{color:var(--text);border-color:var(--border);background:0 0}.table{--bs-table-bg:var(--surface);--bs-table-color:var(--text);--bs-table-border-color:var(--border);--bs-table-striped-bg:var(--bg);--bs-table-striped-color:var(--text);--bs-table-hover-bg:var(--surface-hover);--bs-table-hover-color:var(--text);color:var(--text)}[data-theme=light] .btn-outline-light{--bs-btn-color:var(--text);--bs-btn-border-color:var(--control-border);--bs-btn-hover-color:var(--bg);--bs-btn-hover-bg:var(--text);--bs-btn-hover-border-color:var(--text);--bs-btn-active-color:var(--bg);--bs-btn-active-bg:var(--text);--bs-btn-active-border-color:var(--text);--bs-btn-disabled-color:var(--text-muted);--bs-btn-disabled-border-color:var(--border)}[data-theme=light] .btn-close-white{filter:none}.theme-switcher{flex-shrink:0;position:relative}.theme-switcher-group{border:1px solid var(--border);background:var(--input-bg);border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.theme-switcher-option{color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:.3rem;min-height:28px;margin:0;padding:.28rem .45rem;font-size:.72rem;font-weight:650;line-height:1;display:inline-flex}.theme-switcher-option:hover{color:var(--text);background:var(--surface-hover)}.theme-switcher-option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}html[data-theme-pref=system] .theme-switcher-group [data-theme-choice=system],html[data-theme-pref=light] .theme-switcher-group [data-theme-choice=light],html[data-theme-pref=dark] .theme-switcher-group [data-theme-choice=dark],html[data-theme-pref=system] .theme-switcher-menu [data-theme-choice=system],html[data-theme-pref=light] .theme-switcher-menu [data-theme-choice=light],html[data-theme-pref=dark] .theme-switcher-menu [data-theme-choice=dark]{background:var(--accent);color:var(--on-accent)}.theme-switcher-compact,html[data-theme-pref=system] .theme-icon-light,html[data-theme-pref=system] .theme-icon-dark,html[data-theme-pref=light] .theme-icon-system,html[data-theme-pref=light] .theme-icon-dark,html[data-theme-pref=dark] .theme-icon-system,html[data-theme-pref=dark] .theme-icon-light,html:not([data-theme-pref]) .theme-icon-light,html:not([data-theme-pref]) .theme-icon-dark{display:none}.theme-switcher-toggle{border:1px solid var(--border);background:var(--input-bg);width:36px;height:36px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-switcher-toggle:hover{border-color:var(--accent);color:var(--accent)}.theme-switcher-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-switcher-menu{z-index:40;background:var(--surface);min-width:8.5rem;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.theme-switcher-menu .theme-switcher-option{justify-content:flex-start;width:100%;min-height:36px;padding:.4rem .55rem}.header-tools,.portal-header-tools{flex-shrink:0;align-items:center;gap:.55rem;display:flex}.portal-theme-dock{justify-content:flex-end;padding:.7rem 1.25rem 0;display:flex}.artwork-mat{background:#0b1329}@media (max-width:767px){.theme-switcher-group{display:none}.theme-switcher-compact{display:block}}html,body{margin:0}body:has(.portal-shell){overflow:auto}.app-shell{flex-direction:column;display:flex}@media (min-width:901px){html,body{height:100%}body:has(.app-shell){overflow:hidden}.app-shell{height:100dvh;overflow:hidden}}.app-header{background:var(--app-panel);border-bottom:1px solid var(--app-border);--brand-logo-height:34px;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;height:auto;min-height:48px;padding:.4rem 1.25rem;display:flex}.brand-heading{margin:0;font-size:0;line-height:0}.brand-logo-link{flex-shrink:0;align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand-logo-img{object-fit:contain;width:auto;max-width:100%;height:auto;display:block}.brand-block{flex-direction:row;flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.brand-tagline{color:var(--app-muted);min-width:0;margin:0;font-size:.75rem}.header-meta{color:var(--app-muted);text-align:right;max-width:420px;font-size:.8rem}.header-tools a{color:var(--app-accent);font-size:.8rem;text-decoration:none}.header-tools a:hover{text-decoration:underline}.main-container{flex:1;min-height:0;display:flex;overflow:hidden}.grid-container{background:var(--app-viewport-bg);flex:1;justify-content:center;align-items:center;padding:28px;display:flex;position:relative;overflow:hidden}.viewport{aspect-ratio:2;border:1px solid var(--canvas-border);width:min(100%,200dvh - 176px);box-shadow:var(--canvas-shadow);overscroll-behavior:contain;background:#0b1329;position:relative;overflow:hidden}.canvas-wrapper{transform-origin:0 0;cursor:crosshair;touch-action:none;width:100%;height:100%;position:absolute;top:0;left:0}.selection-move-hit{box-sizing:border-box;touch-action:none;cursor:grab;pointer-events:auto;z-index:3;background:0 0;position:absolute}.canvas-wrapper.is-pan-mode .selection-move-hit{pointer-events:none}.canvas-wrapper.is-moving-selection,.canvas-wrapper.is-moving-selection .selection-move-hit{cursor:grabbing}.canvas-wrapper.is-selection-gesture{touch-action:none}.canvas-board{aspect-ratio:2}.canvas-wrapper canvas{width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;position:absolute;top:0;left:0}.grid-overlay{pointer-events:none;background-image:linear-gradient(90deg,#ffffff2e 1px,#0000 1px),linear-gradient(#ffffff2e 1px,#0000 1px);background-size:.1% .2%;width:100%;height:100%;position:absolute;top:0;left:0}#selectionSvg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.placement-links{pointer-events:none;position:absolute;inset:0}.placement-links a,.placement-hotspot{pointer-events:auto;z-index:2;display:block;position:absolute}.placement-live-group{pointer-events:none;position:absolute}.placement-live-outline{pointer-events:none;box-shadow:none;position:absolute;inset:0}@media (hover:hover){.placement-live-group:hover .placement-live-outline{box-shadow:0 0 0 1.5px var(--app-accent)}}.placement-hotspot{cursor:pointer;background:0 0;border:0;padding:0;transform:translate(-50%,-50%)}.canvas-wrapper.is-pointer-quiet .placement-links a,.canvas-wrapper.is-pointer-quiet .placement-hotspot{pointer-events:none}.placement-inspect{z-index:40;pointer-events:none;width:min(400px,100vw - 1.5rem);max-height:min(88vh,640px);position:fixed;bottom:1rem;left:50%;overflow:auto;transform:translate(-50%)}.placement-inspect-card{pointer-events:auto;background:var(--overlay);border:1px solid var(--app-border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:.45rem;padding:.75rem;display:flex}.placement-inspect-image{object-fit:contain;width:100%;max-height:180px;image-rendering:pixelated;background:#0b1329;border-radius:6px}.placement-inspect-meta{color:var(--app-muted);margin:0;font-size:.8rem}.placement-report-form{flex-direction:column;gap:.15rem;margin-top:.15rem;display:flex}.placement-report-form .turnstile-host{min-height:65px}.choose-spot-price-lead{color:var(--app-accent);margin:0;font-size:.82rem;font-weight:600}.zoom-controls{background:var(--panel-translucent);border:1px solid var(--app-border);border-radius:8px;gap:.5rem;padding:.4rem .6rem;display:flex}.canvas-toolbar{z-index:10;touch-action:manipulation;flex-direction:column;align-items:flex-start;gap:.45rem;max-width:calc(100% - 40px);display:flex;position:absolute;bottom:20px;left:20px}.availability-controls{background:var(--panel-translucent);border:1px solid var(--app-border);border-radius:8px;flex-wrap:wrap;gap:.4rem;padding:.4rem .55rem;display:flex}.availability-controls .btn{white-space:nowrap;font-size:.75rem}.availability-svg{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.tool-modes{background:var(--panel-translucent);border:1px solid var(--app-border);border-radius:8px;flex-wrap:wrap;gap:.4rem;padding:.4rem .45rem;display:flex}.tool-mode-btn{border:1px solid var(--control-border);background:var(--app-bg);min-height:40px;color:var(--app-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.35rem;padding:.45rem .75rem;font-size:.8rem;font-weight:650;display:inline-flex}.tool-mode-btn:hover{border-color:var(--app-accent);color:var(--app-accent)}.tool-mode-btn.active{background:var(--app-accent);color:var(--on-accent);border-color:var(--app-accent)}.tool-mode-btn:focus-visible,.zoom-btn:focus-visible,.availability-controls .btn:focus-visible,.mobile-purchase-continue:focus-visible,.placement-inspect-card .btn:focus-visible,.placement-inspect-card a:focus-visible{outline:2px solid var(--app-accent);outline-offset:2px}.tool-label{white-space:nowrap}.availability-legend-overlay{z-index:6;gap:.4rem .65rem;max-width:min(100% - 16px,280px);padding:.35rem .5rem;font-size:.7rem;position:absolute;top:8px;right:8px}.mobile-purchase-summary{display:none}.availability-legend{background:var(--overlay);border:1px solid var(--app-border);color:var(--app-text);border-radius:8px;flex-wrap:wrap;gap:.75rem;padding:.5rem .7rem;font-size:.78rem;font-weight:650;display:flex}.legend-item{align-items:center;gap:.4rem;display:inline-flex}.legend-swatch{border-radius:3px;flex-shrink:0;width:16px;height:16px}.legend-available{background:#0b1329;border:1px solid #4ade80;box-shadow:inset 0 0 0 2px #4ade8040}.legend-reserved{background:repeating-linear-gradient(-45deg,#f59e0b8c,#f59e0b8c 2px,#0f172ae6 2px 4px);border:1px dashed #fbbf24}.legend-sold{background:repeating-linear-gradient(45deg,#f8fafc59,#f8fafc59 2px,#0f172ad9 2px 4px);border:1px solid #f8fafc}.overlap-warning{color:var(--danger)!important;background:color-mix(in srgb, var(--danger) 16%, transparent)!important;border-color:color-mix(in srgb, var(--danger) 45%, transparent)!important}.find-spot-modal{background:var(--app-panel);color:var(--app-text);border:1px solid var(--app-border)}.find-spot-modal .form-control{background:var(--app-panel-inner);border-color:var(--control-border);color:var(--app-text)}.find-spot-modal .list-group-item{color:var(--app-text);border-color:var(--app-border);background:0 0}.find-spot-results{max-height:240px;overflow-y:auto}.find-spot-modes,.find-spot-presets,.find-spot-shapes{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}.find-spot-shapes{border:0;margin:0 0 .75rem;padding:0}.find-spot-shapes legend{float:none;width:100%}.find-spot-budget-input{align-items:center;gap:.4rem;margin-bottom:.55rem;display:flex}.find-spot-budget-input span{color:var(--app-muted);font-weight:650}.find-spot-budget-input .form-control{flex:1}.find-spot-option{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.find-spot-option-copy{flex:1;min-width:0}.find-spot-option .btn{white-space:nowrap;flex-shrink:0}.zoom-btn{background:var(--app-bg);color:var(--app-text);border:1px solid var(--control-border);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:700;display:flex}.zoom-btn:hover{background:var(--app-border);color:var(--app-accent)}.zoom-btn-reset{width:auto;padding:0 6px;font-size:.75rem}.zoom-btn.active{background:var(--app-accent);color:var(--on-accent);border-color:var(--app-accent)}.sidebar{background:var(--app-panel);border-left:1px solid var(--app-border);flex-direction:column;gap:.85rem;width:300px;padding:1rem 1.15rem 1.25rem;display:flex;overflow-y:auto}.sidebar-intro{color:var(--app-muted);margin:0;font-size:.85rem;line-height:1.45}.checkout-notice,.reservation-banner{border-radius:6px;padding:.55rem .65rem;font-size:.8rem;line-height:1.4}.checkout-notice{color:var(--app-text);background:var(--notice-bg)}.reservation-banner{color:var(--reserve-text);background:var(--reserve-bg)}.reservation-banner-meta{color:var(--warning);margin-top:.2rem;font-size:.75rem}.selection-summary{flex-direction:column;gap:.15rem;display:flex}.panel-card{background:0 0;border:none;border-radius:0;padding:0}.panel-card h3,.form-heading{text-transform:uppercase;color:var(--app-muted);margin-bottom:.4rem;font-size:.8rem}.stat-row{justify-content:space-between;margin-bottom:.2rem;font-size:.85rem;display:flex}.price-tag{color:var(--app-success);margin-top:.4rem;font-size:1.3rem;font-weight:700}.tier-breakdown{color:var(--app-muted);margin-top:.35rem;font-size:.72rem}.tier-breakdown summary,.how-it-works summary,.pricing-guide summary,.more-options summary{cursor:pointer;color:var(--app-muted);font-size:.75rem;list-style:none}.how-it-works summary,.pricing-guide summary{color:var(--app-text);letter-spacing:.01em;border-bottom:1px solid var(--border);margin-bottom:.15rem;padding:.35rem 0 .45rem;font-size:.95rem;font-weight:700}.tier-breakdown summary::-webkit-details-marker{display:none}.how-it-works summary::-webkit-details-marker{display:none}.pricing-guide summary::-webkit-details-marker{display:none}.more-options summary::-webkit-details-marker{display:none}.tier-breakdown summary:after,.how-it-works summary:after,.pricing-guide summary:after,.more-options summary:after{content:" ▾";font-size:.65rem}.choose-spot-panel{flex-direction:column;gap:.55rem;display:flex}.choose-spot-title{color:var(--app-text);margin:0;font-size:1rem;font-weight:650}.choose-spot-list{color:var(--app-muted);margin:0;padding-left:1.1rem;font-size:.82rem;line-height:1.45}.choose-spot-actions{flex-wrap:wrap;gap:.4rem;display:none}.choose-spot-panel-selected{gap:.2rem}.pricing-guide{padding-top:.15rem}.pricing-guide-copy{color:var(--app-muted);margin:.45rem 0 .5rem;font-size:.78rem;line-height:1.4}.pricing-guide-list{color:var(--app-text);margin:0;padding:0;font-size:.78rem;list-style:none}.pricing-guide-list li{justify-content:space-between;gap:.75rem;margin-bottom:.2rem;display:flex}.how-it-works{margin-top:.35rem;padding-top:.55rem}.tier-line{justify-content:space-between;margin-bottom:2px;display:flex}.premium-badge{color:var(--warning);background:var(--reserve-bg);border:1px solid color-mix(in srgb, var(--warning) 35%, transparent);border-radius:4px;margin-top:.4rem;padding:.3rem .5rem;font-size:.75rem;display:none}#purchaseForm{flex-direction:column;gap:.6rem;display:flex}#purchaseForm label{color:var(--app-muted);margin-bottom:.15rem;font-size:.75rem}.optional-tag{color:var(--app-muted);margin-left:4px;font-size:.7rem}.required-tag{color:var(--danger);margin-left:2px;font-size:.75rem}.sidebar .form-control{background:var(--input-bg);border:1px solid var(--control-border);color:var(--app-text);font-size:.8rem}.sidebar .form-control:focus{background:var(--input-bg);border-color:var(--app-accent);box-shadow:0 0 0 .15rem var(--focus-ring);color:var(--app-text)}.btn-buy{background:var(--cta);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:.3rem;padding:.65rem;font-weight:700;transition:background .2s}.btn-buy:hover:not(:disabled){background:var(--cta-hover)}.btn-buy:disabled{background:var(--cta-disabled);cursor:not-allowed}.success-page{background:var(--portal-gradient);min-height:100vh;color:var(--app-text);padding:3rem 1.5rem;overflow:auto}.success-card{background:var(--app-panel);border:1px solid var(--app-border);border-radius:12px;max-width:520px;margin:0 auto;padding:2rem}.success-card .portal-auth-brand,.success-brand{--brand-logo-height:36px;justify-content:center;margin-bottom:.85rem;display:flex}.how-it-works-list{color:var(--app-text);margin:0;padding-left:1.1rem;font-size:.8rem}.how-it-works-list li{margin-bottom:.25rem}.how-it-works-note{color:var(--app-muted);margin:.55rem 0 0;font-size:.72rem}.canvas-progress{background:0 0;border:none;padding:0}.canvas-progress-label{text-transform:none;color:var(--app-muted);margin-bottom:.3rem;font-size:.72rem}.canvas-progress-bar{background:var(--progress-track);border:1px solid var(--app-border);border-radius:999px;height:8px;overflow:hidden}.canvas-progress-fill{background:linear-gradient(90deg, var(--accent), var(--success));height:100%}.canvas-progress-meta{color:var(--app-muted);flex-wrap:wrap;gap:.55rem;margin-top:.4rem;font-size:.72rem;display:flex}.canvas-progress-note{color:var(--warning);margin-top:.3rem;font-size:.7rem}.site-footer{border-top:1px solid var(--app-border);background:var(--bg-elevated);padding:.55rem 1rem;padding-bottom:max(.55rem,env(safe-area-inset-bottom,0px));flex-shrink:0}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.site-footer-brand{color:var(--app-muted);flex-direction:row;align-items:center;gap:.65rem;font-size:.72rem;display:flex}.site-footer-brand-copy{flex-direction:column;gap:.1rem;display:flex}.site-footer .brand-logo-link{--brand-logo-height:22px}.site-footer-nav{flex-wrap:wrap;gap:.65rem;display:flex}.site-footer-nav a{color:var(--text-muted);font-size:.75rem;text-decoration:none}.site-footer-nav a:hover{color:var(--app-accent)}.legal-shell .legal-main{max-width:760px}.legal-doc h1{margin-bottom:.75rem;font-size:1.6rem}.legal-doc h2{margin-top:1.4rem;font-size:1.1rem}.legal-updated{color:var(--text-muted);margin-top:-.35rem;font-size:.85rem}.legal-table-wrap{margin:.75rem 0 1rem;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;font-size:.8rem}.legal-table th,.legal-table td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:.4rem .5rem}.legal-table th{background:var(--surface);font-weight:600}.legal-inline-btn{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline;display:inline}.site-footer-prefs{color:var(--text-muted);cursor:pointer;background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:none;display:inline}.site-footer-prefs:hover{color:var(--app-accent)}.cookie-banner{z-index:80;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom,0px));background:var(--surface);max-width:42rem;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;margin:0 auto;padding:.85rem 1rem;position:fixed}.cookie-banner-title{margin:0 0 .25rem;font-size:.9rem;font-weight:600}.cookie-banner-text{color:var(--text-muted);margin:0;font-size:.8rem}.cookie-banner-text a{color:var(--accent)}.cookie-banner-actions{flex-wrap:wrap;gap:.4rem;margin-top:.7rem;display:flex}.cookie-banner-btn{appearance:none;border:1px solid var(--control-border);background:var(--input-bg);color:var(--text);cursor:pointer;border-radius:6px;padding:.4rem .7rem;font-size:.8rem;line-height:1.2}.cookie-banner-btn:hover{background:var(--surface-hover)}.cookie-banner-btn-text{background:0 0;border-color:#0000;text-decoration:underline}.cookie-banner-prefs{gap:.45rem;margin-top:.7rem;font-size:.8rem;display:grid}.cookie-banner-row{align-items:flex-start;gap:.5rem;display:flex}html[data-cookie-banner] body{padding-bottom:7.5rem}@media (max-width:900px){:is(html,body,body:has(.app-shell)){height:auto;min-height:100dvh;overflow:hidden auto}.app-shell{height:auto;min-height:0;overflow:visible}.app-header{z-index:20;--brand-logo-height:26px;align-items:center;gap:.5rem;height:auto;min-height:44px;padding:.35rem .75rem;position:sticky;top:0}.brand-heading .brand-logo-img{max-width:min(38vw,150px)}.header-tools{gap:.35rem}.header-tools a{font-size:.75rem}.brand-tagline{-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:.68rem;line-height:1.25;display:-webkit-box;overflow:hidden}.header-meta{text-align:left;max-width:none}.main-container{flex:none;height:auto;min-height:0;display:block;overflow:visible}.grid-container{flex-direction:column;flex:none;justify-content:flex-start;align-items:stretch;height:auto;min-height:0;padding:8px 8px 0;display:flex;overflow:visible}.viewport{aspect-ratio:auto;flex:none;width:100%;height:clamp(210px,60svh,640px);min-height:200px;max-height:min(65svh,100dvh - 8.75rem)}.canvas-wrapper{touch-action:pan-y;height:auto}.canvas-wrapper.is-pan-mode,.canvas-wrapper.is-selection-gesture,.canvas-wrapper.is-moving-selection,.selection-move-hit{touch-action:none}.canvas-toolbar{flex-flow:wrap;gap:.4rem;width:100%;max-width:none;margin:0 0 .5rem;position:static;bottom:auto;left:auto;right:auto}.zoom-controls{flex-wrap:nowrap}.zoom-btn{width:44px;height:44px}.zoom-btn-reset{width:auto;min-width:44px;min-height:44px;padding:0 .7rem;font-size:.8rem}.tool-modes{flex:auto;width:100%}.tool-mode-btn{flex:1 1 0;min-width:44px;min-height:44px;padding:.35rem .45rem;font-size:.75rem}.availability-legend-overlay{max-width:calc(100% - 12px)}.choose-spot-actions,.choose-spot-list{display:none}.choose-spot-panel{gap:.3rem}.mobile-purchase-summary{z-index:25;padding:.65rem .85rem;padding-bottom:max(.65rem,env(safe-area-inset-bottom,0px));background:var(--summary-bg);border-top:1px solid var(--app-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:center;gap:.75rem;display:flex;position:sticky;bottom:0}.mobile-purchase-summary-copy{flex:1;min-width:0}.mobile-purchase-summary-size{font-size:.88rem;font-weight:700}.mobile-purchase-summary-meta{color:var(--app-muted);flex-wrap:wrap;gap:.35rem .7rem;font-size:.78rem;display:flex}.mobile-purchase-summary-meta strong{color:var(--app-success);font-size:1rem}.mobile-purchase-continue{flex-shrink:0;min-width:44px;min-height:44px;margin-top:0;padding:.55rem 1rem}.purchase-panel:not(.is-open){display:none}.purchase-panel.is-open{scroll-margin-top:4.5rem;scroll-margin-bottom:env(safe-area-inset-bottom,0px)}.sidebar{border-left:none;border-top:1px solid var(--app-border);width:100%;height:auto;max-height:none;padding:.85rem .85rem max(1.25rem,env(safe-area-inset-bottom,0px));flex:none;overflow:visible}.how-it-works,.pricing-guide{margin-top:.35rem;padding:.35rem .15rem .55rem}.placement-inspect{width:100%;bottom:0;left:0;right:0;transform:none}.placement-inspect-card{padding-bottom:max(.85rem,env(safe-area-inset-bottom,0px));border-radius:16px 16px 0 0}.placement-inspect-card .btn,.placement-inspect-card a{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.find-spot-option{flex-wrap:wrap}.find-spot-option .btn{width:100%;min-height:44px}.find-spot-presets .btn,.find-spot-shapes .btn,.find-spot-modes .btn{flex:auto;min-height:44px}#purchaseForm .form-control,#purchaseForm .form-check-input,#purchaseForm .btn-buy{min-height:44px}}@media (max-width:430px){.brand-tagline{display:none}}@media (max-width:360px){.brand-heading .brand-logo-img{max-width:min(34vw,132px)}.brand-tagline{display:none}.tool-label{font-size:.7rem}.viewport{height:clamp(190px,55svh,560px);min-height:180px}}
