:root{--bg-canvas:#f7f4ee;--bg-surface:#fff;--bg-surface-alt:#f1ece4;--bg-soft:#faf8f3;--text-primary:#1f1e1a;--text-secondary:#605b52;--text-muted:#8a8378;--text-inverse:#fff;--border-subtle:#ded7cc;--border-strong:#c8bfaf;--accent-primary:#6f7f6a;--accent-primary-dark:#53634e;--accent-primary-soft:#e6ece1;--accent-warm:#c86e4b;--accent-warm-soft:#f4ded4;--status-success:#2f6b52;--status-success-soft:#e4efe8;--status-warning:#b36b19;--status-warning-soft:#f8e9d6;--status-error:#a4463b;--status-error-soft:#f4ddda;--shadow-sm:0 1px 2px #0000000f, 0 2px 8px #0000000a;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 18px 50px #0000001f;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--motion-fast:.14s;--motion-base:.2s;--motion-slow:.26s;color:var(--text-primary);background:var(--bg-canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at top left, #c86e4b1f, transparent 28rem), linear-gradient(180deg, var(--bg-soft), var(--bg-canvas));min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}button{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent-primary), var(--accent-primary-dark));min-height:44px;color:var(--text-inverse);cursor:pointer;box-shadow:var(--shadow-sm);border:0;padding:0 12px;font-weight:800}button:hover:not(:disabled){filter:brightness(1.06)}button:focus-visible,input:focus-visible,select:focus-visible,.file-picker:focus-within,summary:focus-visible{outline:2px solid var(--accent-warm);outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.45}input,select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;min-height:44px;color:var(--text-primary);outline:none;padding:8px 9px}input:focus,select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #6f7f6a24}input[type=range]{accent-color:#2dd4bf;background:0 0;border:0;min-height:28px;padding:0}label{color:var(--text-secondary);gap:6px;font-size:.82rem;font-weight:700;display:grid}.field-error{color:var(--status-danger,#b14a3f);font-size:.76rem;font-weight:850;line-height:1.3}.panel{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172aad;border:1px solid #e2e8f01f;border-radius:8px;gap:12px;padding:14px;display:grid;box-shadow:0 18px 48px #00000047}.setup-panel{padding:10px}.panel-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.panel-heading h2{color:#f8fafc;letter-spacing:0;margin:0;font-size:.98rem;line-height:1.2}.panel-heading span{color:#bfdbfe;white-space:nowrap;background:#60a5fa29;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800}.photo-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.setup-intro-card,.empty-action-card{background:linear-gradient(135deg,#14b8a61f,#60a5fa14),#0f172a80;border:1px solid #2dd4bf33;border-radius:8px;gap:5px;padding:10px;display:grid}.setup-intro-card strong,.empty-action-card strong{color:#f8fafc;font-size:.88rem;line-height:1.25}.setup-intro-card span,.empty-action-card span{color:#cbd5e1;font-size:.78rem;line-height:1.4}.file-picker{color:#f8fafc;cursor:pointer;text-align:center;background:#1e293b8a;border:1px dashed #cbd5e157;border-radius:8px;place-items:center;min-height:42px;display:grid}.file-picker input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.secondary-file-picker{background:#14b8a61f;border-style:solid;border-color:#2dd4bf52;min-height:38px;font-weight:850}.artwork-upload-card{background:linear-gradient(135deg,#14b8a614,#60a5fa0f),#0f172a75;border:1px solid #2dd4bf2e;border-radius:8px;gap:9px;padding:10px;display:grid}.artwork-upload-card strong{color:#f8fafc;font-size:.86rem;display:block}.artwork-upload-card span{color:#94a3b8;margin-top:2px;font-size:.75rem;font-weight:700;line-height:1.35;display:block}.artwork-thumb-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.artwork-thumb{aspect-ratio:1;background:#0f172a9e;border:1px solid #e2e8f021;border-radius:8px;position:relative;overflow:hidden}.artwork-thumb img{object-fit:cover;width:100%;height:100%;display:block}.artwork-thumb button{color:#f8fafc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ac7;border-radius:7px;min-height:22px;padding:3px 4px;font-size:.62rem;position:absolute;bottom:5px;left:5px;right:5px}.ghost-button,.segmented-control button,.preset-card,.frame-row{color:#dbeafe;box-shadow:none;background:#1e293b94;border:1px solid #e2e8f01f}.danger-button{color:#fff1f2;background:linear-gradient(135deg,#fb7185,#f43f5e)}.primary-action,.random-button,.active-action{color:#06121f;background:linear-gradient(135deg,#2dd4bf,#60a5fa)}.export-guide-button{color:#ccfbf1;box-shadow:none;background:linear-gradient(135deg,#14b8a62e,#60a5fa24),#0f172aa3;border:1px solid #2dd4bf57}.export-guide-button:hover:not(:disabled){background:linear-gradient(135deg,#14b8a647,#60a5fa38),#0f172ab8;border-color:#2dd4bf9e}.segmented-control,.button-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.segmented-control.two,.button-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.button-row.layout-health-actions{grid-template-columns:1fr}.segmented-control button{padding:0 8px}.segmented-control button.active{color:#ccfbf1;background:#2dd4bf2e;border-color:#2dd4bfd1}.field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.control-group{gap:6px;display:grid}.control-label{color:#cbd5e1;font-size:.82rem;font-weight:750}.range-field{gap:8px}.range-labels{color:#94a3b8;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;font-size:.72rem;font-weight:800;display:grid}.range-labels span:nth-child(2){color:#5eead4;text-align:center}.range-labels span:last-child{text-align:right}.planning-choice-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);box-shadow:none;text-align:left;gap:4px;padding:10px;display:grid}.planning-choice-card strong{color:var(--text-primary);font-size:.92rem}.planning-choice-card span{color:var(--text-secondary);font-size:.82rem;font-weight:700;line-height:1.35}.control-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.control-chip-grid button{text-align:left;align-content:center;justify-items:start;gap:2px;min-height:48px;padding:10px;display:grid}.control-chip-grid button strong{color:var(--text-primary);font-size:.92rem;line-height:1.1}.control-chip-grid button span{color:var(--text-secondary);font-size:.72rem;font-weight:800;line-height:1.2}.control-chip-grid button.active{border-color:var(--accent-primary-dark);background:var(--accent-soft)}.control-chip-grid button.active strong,.control-chip-grid button.active span{color:var(--accent-primary-dark)}.preset-card-grid{gap:8px;max-height:320px;padding-right:2px;display:grid;overflow:auto}.preset-card{text-align:left;gap:4px;min-height:68px;padding:10px;display:grid}.preset-card strong{color:#f8fafc;font-size:.86rem;line-height:1.15}.preset-card span{color:#94a3b8;font-size:.73rem;font-weight:650;line-height:1.25}.preset-card.active,.frame-row.active{background:#14b8a629;border-color:#2dd4bfd6}.quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.quick-action-grid button{min-height:44px;padding:0 8px}.selected-frame-editor{border-top:1px solid #e2e8f01a;gap:10px;padding-top:10px;display:grid}.selected-frame-summary{background:#14b8a614;border:1px solid #2dd4bf2e;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px;display:grid}.selected-frame-summary div{gap:2px;min-width:0;display:grid}.selected-frame-summary span{color:#94a3b8;font-size:.7rem;font-weight:800}.selected-frame-summary>span{color:#ccfbf1;background:#0f172a6b;border-radius:999px;padding:4px 8px}.selected-frame-summary strong{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.accordion-card{background:#0f172a6b;border:1px solid #e2e8f01a;border-radius:8px}.accordion-card summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:8px;min-height:42px;padding:9px 10px;list-style:none;display:grid}.accordion-card summary::-webkit-details-marker{display:none}.accordion-card summary:after{content:"+";color:#5eead4;text-align:right;font-weight:900}.accordion-card[open] summary:after{content:"–"}.accordion-card summary span{color:#f8fafc;font-size:.82rem;font-weight:850}.accordion-card summary small{color:#94a3b8;text-align:right;font-size:.68rem;font-weight:800}.accordion-content{border-top:1px solid #e2e8f014;gap:10px;padding:10px;display:grid}.lock-split{gap:8px;display:grid}.custom-size-card{background:#78350f29;border:1px solid #fbbf2433;border-radius:8px;gap:3px;padding:9px;display:grid}.custom-size-card.compact{background:#14b8a614;border-color:#2dd4bf2e}.custom-size-card.compact strong{color:#ccfbf1}.custom-size-card strong{color:#fde68a;font-size:.8rem}.custom-size-card span{color:#cbd5e1;font-size:.74rem;line-height:1.35}.material-swatch-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.material-swatch-card{color:#dbeafe;min-height:42px;box-shadow:none;text-align:left;background:#1e293b94;border:1px solid #e2e8f01f;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:7px;display:grid}.material-swatch-card.active{background:#14b8a629;border-color:#2dd4bfd6}.material-swatch-card strong{color:#f8fafc;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;line-height:1.1;overflow:hidden}.material-swatch{border:1px solid #ffffff2e;border-radius:7px;width:28px;height:28px;box-shadow:inset 0 1px #ffffff47,0 8px 18px #00000029}.swatch-black{background:linear-gradient(135deg,#05070a,#1d2025 55%,#0b0d10)}.swatch-white{background:linear-gradient(135deg,#fff,#ece7dc 55%,#d8d2c7)}.swatch-oak{background:repeating-linear-gradient(90deg,#5b341238 0 1px,#0000 1px 5px),linear-gradient(135deg,#dfbd82,#c89556 56%,#9e6d35)}.swatch-walnut{background:repeating-linear-gradient(90deg,#ffce921f 0 1px,#0000 1px 6px),linear-gradient(135deg,#8a583a,#4b2919 60%,#24120a)}.swatch-brass{background:linear-gradient(135deg,#6f4915,#d5a943 38%,#fff0a8 50%,#9a681e 72%,#5e3a12)}.swatch-graphite{background:linear-gradient(135deg,#171b21,#68717d 42%,#d0d7df 51%,#313842 78%,#11151a)}.swatch-reclaimed{background:repeating-linear-gradient(90deg,#251f193d 0 1px,#0000 1px 7px),linear-gradient(135deg,#a79d90,#83786b 48%,#5c544a)}.control-label-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.debug-pill{color:#fde68a;background:#78350f38;border:1px solid #fbbf243d;border-radius:999px;padding:3px 7px;font-size:.68rem;font-weight:850}.calibration-box{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-soft);gap:8px;padding:10px;display:grid}.reference-object-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;display:grid}.reference-object-picker button{min-height:48px;color:var(--text-primary,#1f1e1a);background:#fffdf8db;border:1px solid #ded7ccf2;border-radius:12px;gap:2px;padding:7px 8px;display:grid}.reference-object-picker button.active{border-color:var(--accent-primary,#6f7f6a);background:var(--accent-primary-soft,#e6ece1)}.reference-object-picker strong{font-size:.78rem;line-height:1}.reference-object-picker span{color:var(--text-secondary,#605b52);font-size:.68rem;font-weight:850}.focus-mode-guidance{border:1px solid var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark);border-radius:12px;gap:2px;padding:8px 10px;display:grid}.focus-mode-guidance strong{color:var(--accent-primary-dark);font-size:.82rem;line-height:1.1}.focus-mode-guidance span,.focus-mode-guidance small{color:var(--text-secondary);font-size:.72rem;font-weight:750;line-height:1.25}.checkbox-row{align-items:center;gap:9px;display:flex}.checkbox-row input{width:17px;min-height:17px}.status-line,.empty-state,.disabled-reason{color:#cbd5e1;margin:0;font-size:.84rem;line-height:1.4}.success-line{color:#99f6e4}.disabled-reason{color:#94a3b8;font-size:.76rem}.scene-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.scene-stat-grid div{background:#1e293b7a;border:1px solid #e2e8f01a;border-radius:8px;gap:2px;padding:10px;display:grid}.scene-stat-grid strong{color:#f8fafc;font-size:1rem}.scene-stat-grid span{color:#94a3b8;font-size:.72rem;font-weight:750}.frame-list-panel{min-height:0}.frame-list{gap:6px;max-height:min(58vh,620px);display:grid;overflow:auto}.frame-row{text-align:left;grid-template-columns:34px minmax(0,1fr) auto 42px;align-items:center;gap:8px;min-height:46px;padding:7px 8px;font-size:.76rem;display:grid}.frame-index,.frame-lock-state{color:#cbd5e1;font-weight:850}.frame-main{color:#f8fafc;min-width:0;font-weight:850;line-height:1.1;display:grid}.frame-main small{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:.68rem;font-weight:750;overflow:hidden}.frame-badge{color:#cbd5e1;white-space:nowrap;background:#0f172a6b;border:1px solid #94a3b829;border-radius:999px;padding:3px 7px;font-size:.65rem;font-weight:850}.canvas-shell{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0206179e;border:1px solid #e2e8f01f;border-radius:8px;min-width:0;min-height:calc(100vh - 28px);position:relative;overflow:hidden;box-shadow:0 22px 70px #00000061}.canvas-shell.mode-wall,.canvas-shell.mode-calibrate{cursor:crosshair}.zoom-lens{z-index:6;pointer-events:none;will-change:transform, background-position;border:2px solid #f8fafceb;border-radius:999px;position:absolute;overflow:hidden;transform:translate(-9999px,-9999px)translate(-50%,-50%);box-shadow:0 16px 38px #0006,inset 0 0 0 1px #0f172a6b}.zoom-lens.is-hidden{opacity:0;visibility:hidden}.zoom-crosshair{background:#2dd4bff2;display:block;position:absolute;box-shadow:0 0 0 1px #0f172a40}.zoom-crosshair.horizontal{height:1px;top:50%;left:20%;right:20%}.zoom-crosshair.vertical{width:1px;top:20%;bottom:20%;left:50%}.setup-pointer-marker{z-index:5;pointer-events:none;will-change:transform;background:#2dd4bf26;border:4px solid #2dd4bf;border-radius:999px;width:48px;height:48px;position:absolute;box-shadow:0 8px 22px #1f1e1a38}.setup-pointer-marker.tone-calibrate{background:#fb923c26;border-color:#fb923c}.setup-pointer-marker.is-hidden{opacity:0;visibility:hidden}.setup-pointer-line{color:inherit;background:currentColor;display:block;position:absolute}.setup-pointer-marker.tone-wall{color:#0f766e}.setup-pointer-marker.tone-calibrate{color:#c2410c}.setup-pointer-line.horizontal{height:2px;top:50%;left:-9px;right:-9px;transform:translateY(-50%)}.setup-pointer-line.vertical{width:2px;top:-9px;bottom:-9px;left:50%;transform:translate(-50%)}.setup-draft-marker-layer{z-index:5;pointer-events:none;position:absolute;inset:0}.setup-draft-marker{color:#0f766e;will-change:transform;background:#fffffff5;border:3px solid #0f766e;border-radius:999px;place-items:center;width:26px;height:26px;font-size:.72rem;font-weight:950;line-height:1;display:grid;position:absolute;box-shadow:0 6px 16px #1f1e1a38}.setup-draft-marker.tone-calibrate{color:#c2410c;border-color:#fb923c}.mobile-image-map,.mobile-zoom-tip,.focus-picker-button,.landscape-picker-button{display:none}.cookie-consent-banner{z-index:80;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);max-width:920px;box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff5;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;margin-inline:auto;padding:16px;display:grid;position:fixed;bottom:18px;left:18px;right:18px}.cookie-consent-banner strong{color:var(--text-primary);font-size:1rem}.cookie-consent-banner p{max-width:680px;color:var(--text-secondary);margin:4px 0 0;font-size:.88rem;font-weight:650;line-height:1.45}.cookie-consent-actions{align-items:center;gap:10px;display:flex}.analytics-accept-button,.privacy-settings-button{border:1px solid var(--text-primary);background:var(--text-primary);color:var(--text-inverse)}.analytics-accept-button{white-space:nowrap;min-height:46px}.privacy-settings-button{z-index:40;border-radius:var(--radius-pill);min-height:34px;box-shadow:var(--shadow-sm);padding:7px 11px;font-size:.74rem;position:fixed;bottom:14px;right:14px}.canvas-action-card{z-index:7;text-align:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0f172acc;border:1px solid #e2e8f029;border-radius:8px;gap:7px;width:min(292px,100% - 24px);padding:12px;display:grid;position:absolute;transform:translate(-50%,-50%);box-shadow:0 18px 48px #00000061}.canvas-action-card strong{color:#f8fafc;font-size:.95rem}.canvas-action-card span{color:#cbd5e1;font-size:.78rem;line-height:1.35}.canvas-action-row{grid-template-columns:1fr .7fr;gap:8px;display:grid}.debug-overlay-card{z-index:8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f172ad1;border:1px solid #2dd4bf38;border-radius:8px;gap:4px;min-width:190px;padding:10px;display:grid;position:absolute;bottom:14px;right:14px;box-shadow:0 18px 48px #00000057}.debug-overlay-card strong{color:#5eead4;font-size:.84rem}.debug-overlay-card span{color:#cbd5e1;font-size:.74rem;font-weight:700}.instruction-list{gap:8px;display:grid}.instruction-list.compact{gap:7px}.instruction-item{background:#1e293b6b;border:1px solid #e2e8f01a;border-radius:8px;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;padding:8px;display:grid}.instruction-item p{color:#cbd5e1;margin:0;font-size:.78rem;font-weight:650;line-height:1.35}.instruction-icon{background:#2dd4bf21;border-radius:8px;place-items:center;width:30px;height:30px;display:grid;position:relative}.corner-icon:before{content:"";border-top:2px solid #5eead4;border-left:2px solid #5eead4;border-radius:2px 0 0;width:18px;height:18px}.lens-icon:before{content:"";border:2px solid #5eead4;border-radius:999px;width:14px;height:14px}.lens-icon:after{content:"";background:#5eead4;border-radius:999px;width:9px;height:2px;position:absolute;bottom:7px;right:6px;transform:rotate(45deg)}.confirm-icon:before{content:"";border-bottom:2px solid #5eead4;border-left:2px solid #5eead4;width:16px;height:9px;transform:rotate(-45deg)}.card-icon:before{content:"";border:2px solid #fbbf24;border-radius:3px;width:20px;height:14px}.card-icon:after{content:"";background:#fbbf24;height:2px;position:absolute;top:12px;left:8px;right:8px}.draw-icon:before{content:"";background:#fbbf24;border-radius:999px;width:6px;height:6px;position:absolute;top:5px;left:5px;box-shadow:14px 0 #fbbf24,14px 14px #fbbf24,0 14px #fbbf24}.draw-icon:after{content:"";border:1px solid #fbbf24a3;border-radius:3px;width:20px;height:14px}.locked-inspiration{background:#14b8a61a;border:1px solid #2dd4bf38;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.locked-inspiration span{color:#ccfbf1;font-size:.78rem;font-weight:800}.locked-inspiration button{min-height:32px}.hangguide-shell{grid-template-rows:auto minmax(0,1fr);gap:clamp(8px,1.2vh,14px);height:100dvh;min-height:0;padding:clamp(8px,1.4vh,14px) clamp(8px,1.2vw,14px);display:grid;overflow:hidden}.onboarding-shell{min-height:0;display:grid;overflow:hidden}.onboarding-shell .setup-wizard{height:100%;display:grid;overflow:auto}.top-bar{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;grid-template-columns:minmax(210px,.68fr) minmax(0,1.55fr) max-content;align-items:center;gap:clamp(8px,1vw,14px);padding:clamp(8px,1vh,12px);display:grid}.brand-lockup{align-items:center;gap:10px;min-width:0;display:flex}.brand-mark{object-fit:contain;background:#fffdf8;border-radius:14px;width:clamp(42px,5.2vh,50px);height:clamp(42px,5.2vh,50px);display:block;box-shadow:0 1px #1f1e1a0f}.brand-lockup div{gap:1px;min-width:0;display:grid}.brand-lockup strong{color:var(--text-primary);font-size:1.05rem}.brand-lockup span:last-child{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:700;overflow:hidden}.top-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.mobile-top-menu{display:none}.top-export-button,.top-share-button{white-space:nowrap;min-height:clamp(44px,5.4vh,52px);padding-inline:18px}.top-export-button{min-width:154px}.top-share-button,.top-primary-mobile{display:none}.top-file-action{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);cursor:pointer;text-align:center;white-space:nowrap;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.top-primary-mobile.top-file-action{display:none}.top-file-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.hg-stepper{scrollbar-width:none;flex-wrap:nowrap;gap:8px;min-width:0;display:flex;overflow-x:auto}.hg-stepper::-webkit-scrollbar{display:none}.hg-step{border:1px solid var(--border-subtle);background:var(--bg-soft);min-width:clamp(118px,9vw,166px);min-height:clamp(40px,5vh,44px);color:var(--text-secondary);box-shadow:none;flex:1 1 0;justify-content:center;align-items:center;gap:8px;font-size:.8rem;display:flex}.hg-step span{border-radius:var(--radius-pill);background:var(--bg-surface-alt);width:24px;height:24px;color:var(--text-secondary);place-items:center;font-size:.75rem;font-weight:900;display:grid}.hg-step.active{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.hg-step.complete span{background:var(--accent-primary);color:var(--text-inverse)}.setup-shell{grid-template-columns:minmax(320px,390px) minmax(0,1fr);grid-template-areas:"wizard preview";align-items:start;gap:14px;height:100%;min-height:0;display:grid;overflow:hidden}.mobile-setup-progress{display:none}.editor-shell{grid-template-columns:300px minmax(0,1fr) 360px;grid-template-areas:"left canvas right";gap:14px;height:100%;min-height:0;display:grid;overflow:hidden}.setup-wizard,.left-utility-panel,.right-inspector{flex-direction:column;gap:12px;min-width:0;height:100%;max-height:none;display:flex;overflow:auto}.setup-shell .setup-wizard{grid-area:wizard;height:100%;overflow:auto}.left-utility-panel{grid-area:left;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;min-height:0;max-height:100%;display:grid;overflow:hidden}.right-inspector{grid-area:right}.canvas-panel{grid-area:canvas;align-self:stretch;min-width:0;height:100%;min-height:0;display:grid}.setup-shell .canvas-panel{grid-area:preview;align-self:stretch;height:100%}.editor-canvas-panel .canvas-shell{height:100%;min-height:0}.editor-canvas-panel{position:relative}.layout-preview-loading{z-index:8;border-radius:var(--radius-lg);color:var(--text-primary);text-align:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);pointer-events:none;background:#f7f4eeb8;place-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:14px}.layout-preview-loading strong{font-size:1rem}.layout-preview-loading small{max-width:260px;color:var(--text-secondary);font-size:.82rem;line-height:1.35}.layout-spinner{border:4px solid #6f7f6a2e;border-top-color:var(--accent-primary);border-radius:var(--radius-pill);width:34px;height:34px;animation:.8s linear infinite hg-spin}@keyframes hg-spin{to{transform:rotate(360deg)}}.panel,.soft-panel,.inspector-panel,.project-panel,.wall-setup-panel,.frame-list-panel{border-color:var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);background:#ffffffe6}.panel-heading h2,.setup-intro-card strong,.empty-action-card strong,.artwork-upload-card strong,.preset-card strong,.selected-frame-summary strong,.accordion-card summary span,.control-label{color:var(--text-primary)}.panel-heading-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.compact-button{white-space:nowrap;min-height:34px;padding:6px 10px;font-size:.78rem}.panel-heading span,.setup-intro-card span,.empty-action-card span,.artwork-upload-card span,.preset-card span,.preset-card small,.selected-frame-summary span,.accordion-card summary small,.helper-text,.status-line,.disabled-reason,.range-labels{color:var(--text-secondary)}.panel-heading>span{background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.empty-hero{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:radial-gradient(circle at 14% 10%, #c86e4b2e, transparent 19rem), linear-gradient(145deg, #fff, var(--bg-soft));width:min(1320px,100%);height:100%;min-height:0;box-shadow:var(--shadow-md);grid-template-columns:minmax(320px,.9fr) minmax(320px,1fr);grid-template-areas:"copy visual";align-items:center;gap:clamp(14px,min(2.8vw,3vh),42px);margin:0 auto;padding:clamp(18px,min(3vw,3vh),46px);display:grid}.empty-hero-main{grid-area:copy;gap:clamp(12px,2vh,24px);max-width:620px;display:grid}.empty-hero-copy{gap:clamp(8px,1.4vh,14px);display:grid}.eyebrow{color:var(--accent-warm);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.75rem;font-weight:900}.empty-hero .eyebrow{color:var(--accent-primary);letter-spacing:0;text-transform:none}.empty-hero h1{color:var(--text-primary);margin:0;font-size:clamp(2.25rem,min(4.7vw,7.5vh),4.55rem);line-height:.99}.empty-hero p{color:var(--text-secondary);margin:0;font-size:clamp(.95rem,min(1.35vw,2.25vh),1.24rem);line-height:1.45}.scale-tip-card{border:1px solid var(--accent-warm-soft);border-radius:var(--radius-md);background:var(--status-warning-soft);color:var(--text-secondary);gap:5px;padding:clamp(9px,1.4vh,12px) 14px;display:grid}.scale-tip-card strong{color:var(--text-primary);font-size:.95rem}.scale-tip-card span{font-size:clamp(.78rem,min(1vw,1.65vh),.88rem);line-height:1.38}.empty-hero-actions{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.home-start-actions{grid-template-columns:minmax(0,1fr) minmax(180px,.56fr);align-items:stretch;gap:10px;display:grid}.home-start-primary,.home-start-secondary{border-radius:var(--radius-sm);min-height:clamp(50px,6vh,58px);font-size:.95rem}.home-start-secondary{background:var(--bg-surface)}.home-start-note{color:var(--text-secondary);grid-column:1/-1;margin:0;font-size:.84rem;line-height:1.35}.start-choice-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#ffffffbd;grid-column:1/-1;gap:clamp(10px,1.6vh,14px);padding:clamp(12px,1.8vw,18px);display:grid}.start-choice-panel h2{color:var(--text-primary);margin:0;font-size:clamp(1.25rem,2.2vw,2rem);line-height:1.06}.homepage-path-grid .setup-path-card{min-height:clamp(138px,18vh,178px)}.setup-start-stage,.setup-art-stage,.setup-style-stage{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:min(1120px,100%);box-shadow:var(--shadow-md);background:radial-gradient(circle at 16% 14%,#c86e4b1a,#0000 34%),#ffffffd1;align-self:center;gap:clamp(14px,2vh,22px);margin:0 auto;padding:clamp(18px,3vw,44px);display:grid}.setup-start-copy{gap:10px;max-width:720px;display:grid}.setup-start-copy h1,.setup-art-hero h1,.setup-style-hero h1{color:var(--text-primary);letter-spacing:0;margin:0;font-size:clamp(2.3rem,min(5vw,8vh),5rem);line-height:.96}.setup-start-copy p,.setup-art-hero p,.setup-style-hero p{color:var(--text-secondary);margin:0;font-size:clamp(1rem,1.35vw,1.22rem);line-height:1.45}.setup-path-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);display:grid}.setup-path-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-surface);min-height:clamp(180px,24vh,240px);box-shadow:var(--shadow-sm);color:var(--text-primary);text-align:left;align-content:start;gap:10px;padding:clamp(16px,2vw,24px);display:grid}.setup-path-card:hover,.setup-path-card:focus-visible{border-color:var(--accent-green);background:var(--accent-green-soft)}.setup-path-card.selected{border-color:var(--accent-primary);background:var(--accent-primary-soft)}.setup-path-card strong{font-size:clamp(1.35rem,2vw,2rem);line-height:1.05}.setup-path-card span:not(.path-step){color:var(--text-secondary);font-size:1rem;line-height:1.42}.path-step{background:var(--bg-soft);width:fit-content;color:var(--accent-green);border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900}.setup-path-card.primary-path .path-step{background:var(--accent-green-soft)}.setup-art-stage{grid-template-rows:auto minmax(0,1fr) auto auto;align-self:stretch}.setup-art-hero,.setup-style-hero{justify-content:space-between;align-items:start;gap:14px;display:flex}.setup-art-hero>div,.setup-style-hero>div{gap:8px;max-width:760px;display:grid}.setup-art-status{background:var(--accent-green-soft);width:fit-content;color:var(--accent-primary-dark);border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:900}.setup-style-stage{align-self:center;width:min(1120px,100%)}.style-question-grid{grid-template-columns:1fr;align-items:start;gap:clamp(12px,1.7vw,18px);display:grid}.style-question-card{gap:9px;min-width:0;display:grid}.layout-shape-group .style-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.frame-look-group .style-answer-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.style-question-card h2{color:var(--text-primary);margin:0;font-size:clamp(1rem,1.5vw,1.2rem);line-height:1.1}.style-answer-grid{gap:8px;display:grid}.style-answer-grid button{border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:0;box-shadow:none;color:var(--text-primary);text-align:left;background:#ffffffc7;place-content:center stretch;gap:4px;padding:10px 12px;display:grid}.layout-shape-group .style-answer-grid button{min-height:74px}.style-question-card.compact .style-answer-grid{gap:7px}.style-question-card.compact .style-answer-grid button{min-height:58px;padding:9px 10px}.frame-count-group .style-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-width:680px}.frame-count-group .style-answer-grid button{align-content:start;min-height:62px}.style-answer-grid button.active,.style-answer-grid button:hover,.style-answer-grid button:focus-visible{border-color:var(--accent-primary);background:var(--accent-primary-soft)}.style-answer-grid strong{color:var(--text-primary);font-size:.96rem}.style-answer-grid span{color:var(--text-secondary);font-size:.78rem;line-height:1.32}.style-choice-summary,.style-summary-card{border:1px solid var(--accent-primary);border-radius:var(--radius-md);background:var(--accent-primary-soft);color:var(--text-secondary);gap:4px;padding:12px;display:grid}.style-choice-summary{grid-template-columns:minmax(0,.85fr) minmax(0,1.6fr);align-items:center}.style-choice-summary>span{grid-column:1/-1}.style-summary-card{border-color:var(--border-subtle);background:#ffffffbd}.style-choice-summary strong,.style-summary-card strong{color:var(--text-primary);font-size:1rem}.style-choice-summary span,.style-choice-summary small,.style-summary-card span,.style-summary-card small{color:var(--text-secondary);font-size:.82rem;line-height:1.35}.style-summary-card .ghost-button{justify-self:start;margin-top:4px}.inspector-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.inspector-choice-list.compact{grid-template-columns:1fr}.inspector-choice-list button{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);min-height:58px;box-shadow:none;color:var(--text-primary);text-align:left;background:#ffffffbd;gap:3px;padding:9px 10px;display:grid}.inspector-choice-list button:hover:not(:disabled),.inspector-choice-list button:focus-visible,.inspector-choice-list button.active{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.inspector-choice-list strong{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.18;overflow:hidden}.inspector-choice-list span{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.72rem;line-height:1.25;display:-webkit-box;overflow:hidden}.control-hint{color:var(--text-secondary);margin:-2px 0 0;font-size:.78rem;font-weight:800}.setup-art-workspace{min-height:0;overflow:auto}.setup-art-workspace .artwork-upload-card{min-height:100%}.artwork-workspace-card{align-content:start;padding:clamp(14px,2vw,22px)}.artwork-workspace-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.artwork-workspace-header>span{gap:3px;display:grid}.artwork-workspace-header strong{color:var(--text-primary);font-size:clamp(1.1rem,1.5vw,1.35rem)}.artwork-workspace-header small{color:var(--text-secondary);font-size:.86rem;line-height:1.35}.start-flow-card,.wall-photo-start-card,.sample-wall-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffffb8;grid-column:1/-1;gap:10px;padding:12px;display:grid}.start-flow-card>div:first-child,.wall-photo-start-heading,.sample-wall-panel>div:first-child{gap:3px;display:grid}.start-flow-card strong,.wall-photo-start-card strong,.sample-wall-panel strong{color:var(--text-primary)}.start-flow-card span,.wall-photo-start-card span,.sample-wall-panel span,.local-photo-note{color:var(--text-secondary);font-size:.86rem;line-height:1.35}.start-choice-grid,.wall-photo-action-grid,.sample-wall-grid,.planning-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.start-choice-button,.sample-wall-button{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);box-shadow:none;text-align:left;align-content:start;gap:6px;min-height:0;padding:10px;display:grid}.start-choice-button.active,.sample-wall-button:hover,.planning-choice-card.active{border-color:var(--accent-green);background:var(--accent-green-soft)}.start-choice-button span{color:var(--text-secondary);font-size:.8rem;font-weight:700;line-height:1.35}.local-photo-note{grid-column:1/-1;margin:0}.sample-wall-button img{aspect-ratio:3/2;object-fit:cover;border-radius:calc(var(--radius-sm) - 2px);width:100%;display:block}.sample-wall-button small{color:var(--text-secondary);font-size:.76rem;line-height:1.3;display:block}.upload-error-callout{border:1px solid var(--status-error);border-radius:var(--radius-md);background:var(--status-error-soft);color:var(--text-secondary);grid-column:1/-1;gap:3px;padding:10px 12px;display:grid}.upload-error-callout strong{color:var(--status-error)}.upload-error-callout span{font-size:.86rem;line-height:1.4}.wall-photo-stage{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:min(760px,100%);box-shadow:var(--shadow-md);background:radial-gradient(circle at 16% 8%,#c86e4b1c,#0000 24rem),#ffffffdb;align-self:center;gap:clamp(12px,2vh,18px);margin:0 auto;padding:clamp(18px,3vw,36px);display:grid}.wall-photo-stage-copy{gap:8px;display:grid}.wall-photo-stage-copy h1{color:var(--text-primary);margin:0;font-size:clamp(2rem,min(4vw,6vh),3.6rem);line-height:.98}.wall-photo-stage-copy p{color:var(--text-secondary);margin:0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.42}.focused-wall-photo-card,.focused-sample-panel{grid-column:auto}.focused-wall-photo-card .wall-photo-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-hero-actions .primary-file-picker{min-height:clamp(50px,6vh,62px);font-size:1rem}.empty-preview-card{border:1px solid var(--border-subtle);border-radius:var(--radius-xl);background:var(--bg-surface-alt);padding:clamp(14px,2vw,24px);display:block}.empty-photo-preview{box-shadow:var(--shadow-md);padding:0;overflow:hidden}.empty-photo-preview img{aspect-ratio:3/2;object-fit:cover;width:100%;height:auto;display:block}.empty-visual-column{grid-area:visual;align-self:center;gap:clamp(8px,1.5vh,14px);display:grid}.empty-process-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.empty-process-list li{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffffb8;gap:6px;padding:clamp(9px,1.35vh,12px);display:grid}.empty-process-list strong{color:var(--text-primary);font-size:.9rem}.empty-process-list span{color:var(--text-secondary);font-size:.78rem;line-height:1.35}.photo-ready-hero{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:linear-gradient(135deg, #6f7f6a29, #c86e4b1a), var(--bg-surface);box-shadow:var(--shadow-sm);gap:8px;padding:16px;display:grid}.photo-ready-hero h1{color:var(--text-primary);margin:0;font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.08}.photo-ready-hero p{color:var(--text-secondary);margin:6px 0 0;font-size:.88rem;line-height:1.42}.photo-ready-actions{gap:10px;display:grid}.setup-footer-actions{grid-template-columns:minmax(120px,.42fr) minmax(0,1fr);gap:10px;display:grid}.compact-button{min-height:44px;padding-inline:10px}.compact-artwork-card{gap:0;padding:0}.compact-artwork-card summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:64px;padding:12px;list-style:none;display:grid}.compact-artwork-card summary::-webkit-details-marker{display:none}.compact-artwork-card summary:after{content:"+";color:var(--accent-primary-dark);text-align:right;font-weight:900}.compact-artwork-card[open] summary:after{content:"–"}.compact-artwork-card summary>span{gap:2px;min-width:0;display:grid}.compact-artwork-card summary strong{color:var(--text-primary);font-size:.95rem}.compact-artwork-card summary small{color:var(--text-secondary);font-size:.76rem;line-height:1.25}.compact-artwork-body{border-top:1px solid var(--border-subtle);gap:10px;padding:12px;display:grid}.artwork-workspace-body{border-top:0;padding:14px 0 0}.art-entry-grid,.art-add-action-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.art-add-action{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);min-height:78px;color:var(--text-primary);text-align:left;box-shadow:var(--shadow-sm);align-content:center;gap:4px;padding:14px;display:grid;position:relative}.art-add-action.file-picker{place-items:stretch stretch}.art-add-action:hover,.art-add-action:focus-visible,.art-add-action.active{border-color:var(--accent-primary);background:var(--accent-primary-soft)}.art-add-action.primary-upload-action{background:linear-gradient(135deg, var(--accent-primary), var(--accent-primary-dark));color:var(--text-inverse);border-color:#0000}.art-add-action strong{color:inherit;font-size:1rem;line-height:1.15}.art-add-action span{color:currentColor;opacity:.82;font-size:.82rem;font-weight:800;line-height:1.25}.art-by-size-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);gap:10px;padding:12px;display:grid}.art-by-size-panel-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.art-by-size-panel-header strong{color:var(--text-primary);font-size:1rem}.art-entry-card{border-radius:var(--radius-md);align-content:center;min-height:96px;padding:14px}.art-entry-card strong{color:var(--text-primary);font-size:1rem}.art-entry-card span,.art-entry-card .helper-text{color:var(--text-secondary);font-size:.84rem;line-height:1.35}.artwork-thumb-grid.compact{gap:8px;display:flex;overflow-x:auto}.artwork-thumb-grid.compact .artwork-thumb{aspect-ratio:auto;background:var(--bg-surface);width:142px;min-width:142px;color:var(--text-primary);padding:6px}.artwork-thumb-grid.compact .artwork-card-preview img{border-radius:6px;height:72px}.artwork-thumb-grid.compact .artwork-thumb button{background:var(--bg-soft);min-height:30px;color:var(--text-primary);margin-top:5px;position:static}.artwork-setup-grid{grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:14px;display:grid}.artwork-setup-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:#ffffffc7;grid-template-columns:116px minmax(0,1fr);gap:14px;min-width:0;padding:12px;display:grid}.artwork-card-preview{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);overflow:hidden}.artwork-card-preview img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.artwork-card-content{gap:9px;min-width:0;display:grid}.artwork-card-heading{justify-content:space-between;align-items:start;gap:8px;display:flex}.artwork-card-heading>div{min-width:0}.artwork-thumb strong,.artwork-thumb small{color:var(--text-secondary);text-overflow:ellipsis;font-size:.68rem;line-height:1.15;display:block;overflow:hidden}.artwork-thumb strong{color:var(--text-primary);margin-top:4px}.artwork-setup-card strong,.artwork-setup-card small{display:block}.artwork-setup-card strong{overflow-wrap:anywhere;color:var(--text-primary);font-size:.95rem;line-height:1.15}.artwork-setup-card small,.artwork-size-suggestion{color:var(--text-secondary);font-size:.76rem;line-height:1.3}.artwork-size-suggestion{margin:0}.artwork-badge-row{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.art-frame-toggle{grid-template-columns:repeat(2,minmax(0,1fr))}.art-frame-toggle button{min-height:42px}.artwork-quick-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.artwork-thumb .artwork-quick-fields,.artwork-thumb .field-grid{grid-template-columns:1fr}.artwork-custom-size-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;display:grid}.artwork-custom-size-grid .field-error{grid-column:1/-1}.artwork-thumb .artwork-custom-size-grid{grid-template-columns:1fr}.art-details-form{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);gap:8px;padding:8px;display:grid}.art-details-form summary{cursor:pointer;font-weight:900}.art-details-form.inline{margin-top:6px;padding:6px}.art-advanced-fields{background:#ffffff9e}.mini-wall{aspect-ratio:1.55;border-radius:var(--radius-md);background:linear-gradient(90deg,#605b5214,#0000),#e8dfd2;position:relative;overflow:hidden}.mini-frame{background:#fffdf8;border:5px solid #2f2d28;display:block;position:absolute;box-shadow:0 10px 24px #2a231838}.mini-frame.large{width:25%;height:48%;top:20%;left:38%}.mini-frame.tall{width:14%;height:38%;top:28%;left:18%}.mini-frame.small{width:14%;height:26%;top:16%;left:68%}.mini-frame.wide{width:22%;height:24%;top:52%;left:62%}.mini-frame.circle{border-color:#a86f3e;border-radius:999px;width:13%;height:21%;top:64%;left:31%}.trust-strip{flex-wrap:wrap;gap:8px;display:flex}.beta-terms-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-secondary);background:#ffffffb8;padding:0}.beta-terms-card summary{cursor:pointer;min-height:42px;color:var(--text-primary);padding:11px 14px;font-size:.84rem;font-weight:900;list-style:none}.beta-terms-card summary::-webkit-details-marker{display:none}.beta-terms-card summary:after{content:"+";float:right;color:var(--accent-primary-dark)}.beta-terms-card[open] summary:after{content:"–"}.beta-terms-card div{border-top:1px solid var(--border-subtle);gap:8px;padding:0 14px 14px;display:grid}.beta-terms-card p{margin:0;font-size:.84rem;line-height:1.45}.trust-strip span,.status-badge{border-radius:var(--radius-pill);background:var(--bg-surface-alt);min-height:28px;color:var(--text-secondary);align-items:center;padding:4px 10px;font-size:.75rem;font-weight:850;display:inline-flex}.status-badge.tone-success{background:var(--status-success-soft);color:var(--status-success)}.status-badge.tone-warning{background:var(--status-warning-soft);color:var(--status-warning)}.status-badge.tone-error{background:var(--status-error-soft);color:var(--status-error)}.status-badge.tone-accent{background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.inline-callout{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-soft);color:var(--text-secondary);gap:4px;padding:12px;display:grid}.inline-callout strong{color:var(--text-primary)}.inline-callout.tone-warning{border-color:var(--status-warning);background:var(--status-warning-soft)}.file-picker{border-color:var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-surface);min-height:48px;color:var(--text-primary)}.primary-file-picker,.primary-action,.active-action{background:linear-gradient(135deg, var(--accent-primary), var(--accent-primary-dark));color:var(--text-inverse);border:0}.secondary-file-picker,.subtle-file-picker,.ghost-button,.segmented-control button,.preset-card,.frame-row{border-color:var(--border-subtle);background:var(--bg-soft);color:var(--text-primary);box-shadow:none}.ghost-button:hover:not(:disabled),.segmented-control button:hover:not(:disabled),.preset-card:hover:not(:disabled),.frame-row:hover:not(:disabled){background:var(--bg-surface-alt)}.segmented-control button.active,.shape-chip-grid button.active,.option-card.active,.material-swatch-card.active,.preset-card.active,.frame-row.active{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.danger-button{background:var(--status-error);color:var(--text-inverse)}.export-guide-button{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.canvas-shell{border-color:var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-canvas);min-height:640px;box-shadow:var(--shadow-md)}.canvas-panel .canvas-shell{height:100%;min-height:0}.setup-canvas-panel{align-self:start}.setup-canvas-panel .canvas-shell{height:clamp(420px,58vh,620px)}.setup-canvas-panel.step-photo .canvas-shell{height:clamp(420px,52vh,560px)}.setup-shell .setup-canvas-panel .canvas-shell{height:100%}.canvas-shell.mode-wall,.canvas-shell.mode-calibrate{border-color:var(--accent-primary);touch-action:none;-webkit-user-select:none;user-select:none}.canvas-shell.is-interacting{box-shadow:var(--shadow-sm)}.canvas-loading{min-height:420px;color:var(--text-secondary);background:linear-gradient(135deg, #6f7f6a14, #c86e4b14), var(--bg-canvas);place-items:center;font-weight:800;display:grid}.project-stats,.scene-stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.project-stats div,.scene-stat-grid div{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);padding:10px}.project-stats strong,.scene-stat-grid strong{color:var(--text-primary);font-size:1.1rem;display:block}.project-stats span,.scene-stat-grid span{color:var(--text-muted);font-size:.72rem;font-weight:850}.project-meta{flex-wrap:wrap;gap:8px;display:flex}.setup-row{border:1px solid var(--border-subtle);background:var(--bg-soft);color:var(--text-primary);box-shadow:none;justify-content:space-between;align-items:center;display:flex}.setup-row>span,.icon-heading h2,.compact-frame-panel summary>span{align-items:center;gap:8px;min-width:0;display:inline-flex}.ui-icon,.setup-row-icon{background:var(--accent-primary-soft);width:24px;height:24px;color:var(--accent-primary-dark);border-radius:9px;flex:none;place-items:center;font-size:.82rem;font-weight:900;display:inline-grid}.icon-project:before{content:"⌂"}.icon-setup:before{content:"✓"}.icon-frame:before{content:"▣"}.icon-step-photo:before{content:"◉"}.icon-step-corners:before{content:"⌖"}.icon-step-measurement:before{content:"↔"}.icon-step-layout:before{content:"▦"}.frame-row{border-radius:var(--radius-sm);min-height:56px}.compact-frame-panel{padding:0}.left-utility-panel .project-panel,.left-utility-panel .wall-setup-panel{flex:none}.left-utility-panel .compact-frame-panel{align-self:start;height:auto;min-height:0;overflow:hidden}.left-utility-panel .compact-frame-panel[open]{grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;height:100%;min-height:0;display:grid;overflow:hidden}.compact-frame-panel summary{cursor:pointer;grid-template-columns:minmax(0,1fr) auto 18px;align-items:center;gap:10px;min-height:58px;padding:12px 14px;list-style:none;display:grid}.compact-frame-panel summary::-webkit-details-marker{display:none}.compact-frame-panel summary:after{content:"+";color:var(--accent-primary-dark);font-weight:900}.compact-frame-panel[open] summary:after{content:"–"}.compact-frame-panel .frame-list{border-top:1px solid var(--border-subtle);overscroll-behavior:contain;scrollbar-gutter:stable;height:100%;min-height:0;max-height:none;padding:10px;overflow-y:auto}.compact-frame-panel .button-row{border-top:1px solid var(--border-subtle);padding:10px}.compact-frame-panel .frame-row{border-color:var(--border-subtle);background:var(--bg-soft);color:var(--text-primary)}.compact-frame-panel .frame-row:hover:not(:disabled){background:var(--bg-surface-alt)}.compact-frame-panel .frame-row.active{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.compact-frame-panel .frame-index{color:var(--text-secondary);font-weight:900}.compact-frame-panel .frame-main{color:var(--text-primary);font-weight:900}.compact-frame-panel .frame-main small{color:var(--text-secondary);font-size:.72rem;font-weight:800;display:block}.compact-frame-panel .frame-badge{border-color:var(--border-strong);background:var(--bg-surface-alt);color:var(--text-secondary);font-weight:900}.compact-frame-panel .frame-lock-state{border-color:var(--border-subtle);background:var(--bg-surface);color:var(--text-primary);font-weight:900}.compact-frame-panel .frame-row.active .frame-main,.compact-frame-panel .frame-row.active .frame-index{color:var(--accent-primary-dark)}.frame-badge,.frame-lock-state{border:1px solid var(--border-subtle);color:var(--text-secondary)}.layout-health{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-soft);gap:8px;padding:12px;display:grid}.layout-health div{justify-content:space-between;align-items:center;gap:8px;display:flex}.layout-health strong{color:var(--text-primary);line-height:1.25}.layout-health p,.fine-print{color:var(--text-secondary);margin:0;font-size:.82rem;line-height:1.45}.generation-panel{gap:10px}.layout-primary-actions{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px;display:grid}.layout-primary-actions.single{grid-template-columns:1fr}.layout-primary-actions .primary-action,.layout-primary-actions .ghost-button{width:100%;min-height:48px}.mix-layout-button{justify-content:center;align-items:center;gap:10px;min-height:58px;font-size:1rem;display:inline-flex}.mobile-export-layout-button,.mobile-buy-frames-inline-button{display:none}.dice-icon{border:2px solid;border-radius:7px;width:22px;height:22px;display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #ffffff3d}.dice-icon:before,.dice-icon:after{border-radius:var(--radius-pill);content:"";background:currentColor;width:4px;height:4px;position:absolute}.dice-icon:before{top:4px;left:4px;box-shadow:10px 0,5px 5px}.dice-icon:after{bottom:4px;right:4px;box-shadow:-10px 0}.compact-panel-copy{color:var(--text-secondary);margin:0;font-size:.86rem;line-height:1.4}.compact-drawer summary small{text-overflow:ellipsis;white-space:nowrap;max-width:150px;overflow:hidden}.preset-card-grid.visual{max-height:360px}.preset-card-grid.visual.compact{max-height:min(34vh,280px)}.preset-card.visual-card{grid-template-columns:64px minmax(0,1fr);align-items:center;min-height:82px}.preset-card.visual-card>span:last-child{gap:4px;display:grid}.preset-mini-preview{border-radius:var(--radius-sm);background:var(--bg-surface-alt);height:52px;position:relative}.preset-mini-preview i{border:2px solid var(--accent-primary-dark);background:#fffdf8;display:block;position:absolute}.preset-mini-preview i:first-child{width:18px;height:26px;top:10px;left:8px}.preset-mini-preview i:nth-child(2){width:24px;height:18px;top:8px;left:30px}.preset-mini-preview i:nth-child(3){width:16px;height:14px;top:30px;left:32px}.preset-mini-preview i:nth-child(4){border-color:var(--accent-warm);width:12px;height:10px;top:39px;left:13px}.frame-details-overlay{z-index:9;pointer-events:none;width:min(1320px,100% - 28px);position:absolute;bottom:22px;left:50%;right:auto;transform:translate(-50%)}.frame-details-overlay .frame-inspector{pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff0;border-color:#ded7ccd1;gap:10px;max-height:min(72vh,700px);padding:12px;display:grid;overflow:auto;box-shadow:0 18px 50px #2a231829}.frame-selection-popover{z-index:9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf8f2;border:1px solid #ded7cce6;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:min(420px,100% - 28px);padding:10px;display:grid;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 16px 38px #2a231829}.frame-selection-copy{gap:2px;min-width:0;display:grid}.frame-selection-copy span{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:850;line-height:1.15;overflow:hidden}.frame-selection-copy strong{color:var(--text-primary);font-size:.94rem;line-height:1.1}.frame-selection-actions{gap:8px;display:flex}.frame-selection-actions button{border-radius:12px;min-height:40px;padding:0 14px;line-height:1}.frame-selection-actions .ghost-button{border:1px solid var(--border-subtle);background:var(--bg-soft);color:var(--accent-primary-dark);box-shadow:none}.frame-editor-main{grid-template-columns:172px minmax(0,1fr);align-items:start;gap:14px;display:grid}.frame-editor-controls{grid-template-columns:minmax(170px,.78fr) minmax(260px,1.05fr) minmax(230px,.92fr);grid-template-areas:"summary shape size""actions shape size";align-items:stretch;gap:10px;min-width:0;display:grid}.frame-editor-controls>*{min-width:0}.frame-editor-controls .selected-frame-summary{grid-area:summary}.frame-editor-controls .button-row.two{grid-area:actions;grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch}.frame-editor-controls .button-row.two button{min-height:48px;padding:8px 10px;line-height:1.05}.frame-editor-controls .control-block{grid-area:shape}.frame-editor-controls>label,.frame-editor-controls>.custom-size-card{grid-area:size}.shape-chip-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.shape-chip-grid.compact button{min-height:40px;padding:7px}.frame-edit-preview-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);min-height:158px;color:var(--text-secondary);background:radial-gradient(circle at 50% 35%,#ffffffeb,#f1ece4c7);place-items:center;gap:6px;padding:10px;font-size:.72rem;font-weight:850;display:grid}.frame-editor-secondary{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr) minmax(0,.95fr) minmax(150px,.54fr);align-items:start;gap:10px;min-width:0;display:grid}.frame-editor-secondary>*{min-width:0}.frame-editor-secondary .danger-button{align-self:start;min-height:52px;padding:10px 12px;line-height:1.08}.frame-edit-preview{background:#17191d;border:10px solid #17191d;place-items:stretch stretch;display:grid;overflow:hidden;box-shadow:0 10px 20px #2a231833,inset 0 1px #ffffff38}.frame-edit-preview.finish-white{background:#f2eee4;border-color:#f2eee4}.frame-edit-preview.finish-oak,.frame-edit-preview.finish-natural{background:#c9954a;border-color:#c9954a}.frame-edit-preview.finish-walnut,.frame-edit-preview.finish-reclaimed{background:#5c351f;border-color:#5c351f}.frame-edit-preview.finish-brass,.frame-edit-preview.finish-gold{background:#bd8a2d;border-color:#bd8a2d}.frame-edit-preview.finish-graphite,.frame-edit-preview.finish-silver,.frame-edit-preview.finish-charcoal{background:#303945;border-color:#303945}.frame-edit-preview.depth-deep,.frame-edit-preview.depth-shadowbox{border-width:13px;box-shadow:0 14px 26px #2a23183d,inset 0 0 14px #1f1e1a38}.frame-edit-preview-mat{background:#f7f1e5;place-items:stretch stretch;padding:12px;display:grid;box-shadow:inset 0 0 0 1px #605b522e}.frame-edit-preview-mat.disabled{padding:0}.frame-edit-preview-art{background-color:#f9f7f2;background-image:linear-gradient(135deg,#ffffffc2,#ded7cc85),none;background-position:50%;background-repeat:no-repeat;background-size:auto,auto;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;border:1px solid #605b524d;min-width:100%;min-height:100%}.artwork-picker-grid{gap:8px;max-width:100%;padding-bottom:4px;display:flex;overflow-x:auto}.artwork-choice-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);min-height:104px;color:var(--text-primary);box-shadow:none;text-align:left;flex:0 0 112px;align-content:start;gap:6px;padding:8px;display:grid}.artwork-choice-card.active{border-color:var(--accent-primary);background:var(--accent-primary-soft);color:var(--accent-primary-dark)}.artwork-choice-card img,.artwork-choice-empty{border:1px solid var(--border-subtle);background:var(--bg-surface-alt);object-fit:cover;border-radius:8px;width:100%;height:62px}.artwork-choice-empty{color:var(--text-muted);place-items:center;font-size:.78rem;font-weight:950;display:grid}.artwork-choice-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;line-height:1.15;overflow:hidden}.artwork-control-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.inline-file-picker{border:1px dashed var(--border-strong);background:var(--bg-soft);min-height:42px;color:var(--text-primary);box-shadow:none;padding:8px 10px}.artwork-fit-control{max-width:260px}.frame-artwork-drawer{align-self:start}.frame-details-overlay .material-swatch-grid,.frame-details-overlay .option-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width>=1024px){.frame-details-overlay .frame-inspector{grid-template-columns:1fr;align-items:start}.frame-details-overlay .frame-inspector>.panel-heading,.frame-details-overlay .frame-inspector>.frame-editor-main,.frame-details-overlay .frame-inspector>.frame-editor-secondary{grid-column:1}}.shape-chip-grid,.option-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.shape-chip-grid button,.option-card{border:1px solid var(--border-subtle);background:var(--bg-soft);color:var(--text-primary);box-shadow:none}.option-card{text-align:left;gap:4px;min-height:72px;padding:10px;display:grid}.option-card span{color:var(--text-secondary);font-size:.72rem;line-height:1.25}.selected-frame-summary,.custom-size-card.compact{border-color:var(--accent-primary);background:var(--accent-primary-soft)}.accordion-card{border-color:var(--border-subtle);background:var(--bg-soft)}.accordion-content{border-color:var(--border-subtle)}.accordion-card summary:after,.range-labels span:nth-child(2){color:var(--accent-primary-dark)}.custom-size-card{border-color:var(--status-warning);background:var(--status-warning-soft)}.custom-size-card strong{color:var(--status-warning)}.material-swatch-card{border-color:var(--border-subtle);background:var(--bg-soft);color:var(--text-primary)}.material-swatch-card strong{color:var(--text-primary)}.material-swatch-card.active strong{color:var(--accent-primary-dark)}.secondary-actions{opacity:.92;gap:8px;display:grid}.debug-overlay-card,.canvas-action-card{border-color:var(--border-subtle);color:var(--text-primary);background:#ffffffeb}.debug-overlay-card h3,.canvas-action-card strong{color:var(--text-primary)}.debug-overlay-card li,.canvas-action-card span{color:var(--text-secondary)}.zoom-lens{z-index:12;box-shadow:0 18px 48px #2a23183d}.canvas-mode-hint{z-index:6;border-radius:var(--radius-pill);min-height:42px;box-shadow:var(--shadow-md);color:var(--text-primary);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none;background:#ffffffe6;border:1px solid #ffffffc7;padding:10px 16px;font-size:.86rem;font-weight:900;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.canvas-mode-hint.tone-calibrate{color:var(--status-warning)}.top-buy-frames-button{border-color:var(--accent-primary);color:var(--accent-primary-dark)}.complete-wall-mini-panel{background:linear-gradient(135deg, #e6ece1a3, #fffdf8f0), var(--bg-surface)}.frame-find-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);gap:8px;padding:10px;font-size:.86rem;display:grid}.frame-find-card.compact h3,.frame-find-card.compact p{margin:0}.frame-find-card-heading{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.frame-find-card.compact .helper-text{font-size:.76rem}.frame-find-card.compact .button-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.frame-find-card.compact button{min-height:36px;padding:7px 9px;font-size:.78rem}.text-button{min-height:auto;box-shadow:none;color:var(--accent-primary-dark);text-align:left;background:0 0;border:0;padding:0}.frame-find-card .panel-heading h3{margin:0;font-size:1rem}.frame-find-summary{color:var(--text-secondary);gap:4px;font-size:.86rem;display:grid}.frame-find-summary strong{color:var(--text-primary);font-size:.98rem}.commerce-panel-backdrop{z-index:80;pointer-events:none;background:#1f1e1a1f;justify-content:flex-end;display:flex;position:fixed;inset:0}.export-panel-backdrop{z-index:82;pointer-events:none;background:#1f1e1a24;justify-content:flex-end;display:flex;position:fixed;inset:0}.export-panel{border-left:1px solid var(--border-subtle);width:min(460px,100vw - 28px);height:100dvh;box-shadow:var(--shadow-lg);pointer-events:auto;background:#fffdf8fa;flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.export-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.export-panel-header h2,.export-panel-header p,.export-panel-section h3,.export-panel-section p{margin:0}.export-panel-header p,.export-panel-section p{color:var(--text-secondary)}.export-action-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.export-action-grid .primary-action{grid-column:1/-1}.export-panel-section{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);gap:12px;padding:14px;display:grid}.export-json-button{width:100%}.commerce-panel{border-left:1px solid var(--border-subtle);width:min(520px,100vw - 28px);height:100dvh;box-shadow:var(--shadow-lg);pointer-events:auto;background:#fffdf8fa;flex-direction:column;gap:16px;padding:20px;display:flex;overflow-y:auto}.commerce-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.commerce-panel-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.commerce-panel-header h2,.commerce-panel-header p{margin:0}.commerce-panel-header p{color:var(--text-secondary)}.commerce-close-button{border-radius:var(--radius-pill);min-width:44px;min-height:44px;padding:0 14px}.commerce-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.commerce-summary-card,.commerce-summary-grid>div{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);padding:10px}.commerce-summary-card strong,.commerce-summary-card span,.commerce-summary-grid>div strong,.commerce-summary-grid>div span{display:block}.commerce-summary-card strong,.commerce-summary-grid>div strong{color:var(--text-primary);font-size:1.05rem}.commerce-summary-card span,.commerce-summary-grid>div span{color:var(--text-secondary);font-size:.72rem;font-weight:850}.commerce-disclosure,.commerce-return-prompt,.commerce-message{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-soft);color:var(--text-secondary);padding:12px}.commerce-disclosure{gap:6px;display:grid}.commerce-disclosure strong{color:var(--text-primary)}.commerce-return-prompt{border-color:var(--status-warning);background:var(--status-warning-soft)}.commerce-return-actions,.commerce-panel-actions,.commerce-primary-actions,.commerce-row-actions,.commerce-export-actions{flex-wrap:wrap;gap:8px;display:flex}.commerce-panel-actions,.commerce-primary-actions{grid-template-columns:1fr;display:grid}.commerce-panel-actions .primary-action,.commerce-primary-actions .primary-action{grid-column:1/-1}.commerce-section-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.commerce-section-heading h3{margin:0}.commerce-search-list,.commerce-tools-list{gap:10px;display:grid}.commerce-save-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.advanced-export-details{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);padding:8px 10px}.advanced-export-details summary{cursor:pointer;font-weight:900}.commerce-search-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-sm);gap:10px;padding:12px;display:grid}.commerce-search-card.is-complete,.commerce-search-card.found{background:var(--status-success-soft);border-color:#2f6b526b}.commerce-search-card.skipped{opacity:.82}.commerce-search-card.is-last-opened,.commerce-search-card.last-opened{border-color:var(--status-warning);box-shadow:0 0 0 3px #b36b191f}.commerce-search-header,.commerce-search-card-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.commerce-check-state{border:2px solid var(--accent-primary);background:var(--bg-surface);width:30px;min-width:30px;height:30px;min-height:30px;color:var(--accent-primary-dark);border-radius:8px;place-items:center;padding:0;font-size:1rem;font-weight:950;display:inline-grid}.commerce-check-state.static{border-color:var(--border-strong);background:var(--bg-soft);color:var(--text-secondary)}.commerce-search-header input{width:20px;height:20px;margin-top:3px}.commerce-search-title{gap:2px;min-width:0;display:grid}.commerce-search-title strong{color:var(--text-primary);overflow-wrap:anywhere;line-height:1.15}.commerce-search-title span,.commerce-search-term,.commerce-search-frames,.commerce-warning{color:var(--text-secondary);font-size:.82rem}.commerce-search-card-header .status-badge{white-space:nowrap;justify-self:end;max-width:92px}.commerce-search-term{border-radius:var(--radius-sm);background:var(--bg-soft);overflow-wrap:anywhere;padding:8px}.commerce-warning{color:var(--status-warning);font-weight:800}.commerce-row-actions button,.commerce-export-actions button,.frame-find-card button{min-height:42px}.commerce-panel-footer,.commerce-sticky-footer{border-top:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf8f5;gap:8px;padding:12px 0 0;display:grid;position:sticky;bottom:-20px;left:0;right:0}.commerce-sticky-footer-simple{grid-template-columns:1fr}.commerce-sticky-footer-simple strong{color:var(--accent-primary-dark)}.hardware-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.hardware-link-card{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-soft);gap:8px;padding:10px;display:grid}.hardware-link-card strong{color:var(--text-primary);font-size:.88rem}.commerce-search-details summary{cursor:pointer;color:var(--text-secondary);font-size:.84rem;font-weight:850}.commerce-inline-note{color:var(--status-warning);margin:0;font-size:.82rem;font-weight:850}@media (width<=1240px){.editor-shell{grid-template-columns:minmax(0,1fr) 350px;grid-template-areas:"canvas right"}.left-utility-panel{display:none}}@media (width<=920px){.top-bar{grid-template-columns:1fr}.top-actions{justify-content:start}}@media (width<=1023px){.hangguide-shell{height:auto;min-height:100vh;overflow:visible}.onboarding-shell{overflow:visible}.onboarding-shell .setup-wizard{height:auto;overflow:visible}.empty-hero{grid-template-columns:1fr;grid-template-areas:"copy""visual";min-height:0}.empty-hero-actions,.home-start-actions,.empty-process-list,.style-question-grid,.setup-path-grid,.start-choice-grid,.wall-photo-action-grid,.sample-wall-grid,.planning-choice-grid{grid-template-columns:1fr}.setup-style-stage{align-self:stretch;gap:12px;padding:16px}.setup-style-hero{gap:8px;display:grid}.setup-style-hero h1{font-size:clamp(2rem,8vw,3.25rem);line-height:.98}.setup-style-hero p{font-size:.96rem;line-height:1.36}.style-question-card{gap:8px}.style-question-card h2{font-size:.98rem}.layout-shape-group .style-answer-grid,.frame-look-group .style-answer-grid{grid-template-columns:1fr}.frame-count-group .style-answer-grid{max-width:none}.style-choice-summary{grid-template-columns:1fr}.layout-shape-group .style-answer-grid button,.style-question-card.compact .style-answer-grid button,.frame-count-group .style-answer-grid button{min-height:0;padding:9px 10px}.style-answer-grid strong{font-size:.9rem}.style-answer-grid span,.style-choice-summary small{font-size:.74rem;line-height:1.24}.setup-shell{grid-template-columns:1fr;grid-template-areas:"preview""wizard";height:auto;overflow:visible}.editor-shell{grid-template:"canvas""right"/1fr;align-items:start;height:auto;overflow:visible}.setup-wizard,.right-inspector{height:auto;max-height:none}.setup-wizard{order:2}.canvas-panel{order:1;align-self:start;height:auto}.editor-canvas-panel,.setup-canvas-panel{height:auto;min-height:0}.editor-canvas-panel .canvas-shell{border-radius:var(--radius-md);height:clamp(280px,72vw,56dvh);min-height:0;max-height:calc(100dvh - 108px)}.editor-canvas-panel .canvas-shell.image-landscape{height:clamp(250px,66vw,50dvh)}.editor-canvas-panel .canvas-shell.image-portrait{height:clamp(340px,108vw,64dvh)}.setup-canvas-panel .canvas-shell,.setup-canvas-panel.step-photo .canvas-shell{border-radius:var(--radius-md);height:clamp(260px,64vw,52dvh);min-height:0}.setup-canvas-panel.step-corners .canvas-shell,.setup-canvas-panel.step-measurement .canvas-shell{height:clamp(260px,64vw,54dvh);margin-bottom:56px;overflow:visible}.setup-canvas-panel.step-corners .canvas-shell.image-landscape,.setup-canvas-panel.step-measurement .canvas-shell.image-landscape,.setup-canvas-panel.step-photo .canvas-shell.image-landscape{height:clamp(240px,58vw,46dvh)}.setup-canvas-panel.step-corners .canvas-shell.image-portrait,.setup-canvas-panel.step-measurement .canvas-shell.image-portrait,.setup-canvas-panel.step-photo .canvas-shell.image-portrait{height:clamp(340px,108vw,62dvh)}.right-inspector{padding-bottom:84px;overflow:visible}.frame-details-overlay{pointer-events:auto;width:auto;margin-top:10px;position:static;transform:none}.frame-details-overlay .frame-inspector{max-height:none}.frame-selection-popover{grid-template-columns:1fr;gap:8px;width:min(360px,100% - 18px);padding:9px;bottom:10px}.frame-selection-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.frame-selection-actions button{min-height:44px;padding:0 10px}.frame-editor-main,.frame-editor-controls{grid-template-columns:1fr}.frame-editor-controls{grid-template-areas:"summary""shape""size""actions"}.frame-editor-secondary{grid-template-columns:1fr}.frame-edit-preview-wrap{min-height:126px}.art-entry-grid,.art-add-action-grid,.artwork-setup-grid{grid-template-columns:1fr}.artwork-setup-card{grid-template-columns:minmax(92px,.28fr) minmax(0,1fr)}}@media (width<=767px){.setup-style-stage{border-inline:0;border-radius:0;padding:12px}.style-question-grid{gap:10px}.style-question-card.compact .style-answer-grid{gap:6px}.frame-count-group .style-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.frame-count-group .style-answer-grid button{text-align:center;justify-items:center;min-height:46px;padding:9px 6px}.frame-count-group .style-answer-grid span{display:none}.style-choice-summary{padding:10px}.commerce-panel-backdrop,.export-panel-backdrop{background:#1f1e1a3d;justify-content:stretch;align-items:flex-end}.export-panel{border:1px solid var(--border-subtle);border-bottom:0;border-radius:24px 24px 0 0;width:100%;height:min(82dvh,680px);padding:16px}.export-action-grid{grid-template-columns:1fr}.commerce-panel{border:1px solid var(--border-subtle);border-bottom:0;border-radius:24px 24px 0 0;width:100%;height:min(90dvh,760px);padding:16px}.commerce-panel-actions,.commerce-primary-actions,.commerce-summary-grid{grid-template-columns:1fr}.commerce-search-header{grid-template-columns:auto minmax(0,1fr)}.commerce-search-header>.status-badge{grid-column:2;justify-self:start}.hangguide-shell{gap:0;height:auto;min-height:100dvh;padding:0;overflow:visible}.top-bar{z-index:30;border-top:0;border-radius:0 0 var(--radius-md) var(--radius-md);background:#fffffff0;border-inline:0;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:7px 10px;display:grid;position:sticky;top:0}.top-bar .hg-stepper,.top-bar .top-actions{display:none}.top-primary-mobile{border-radius:13px;justify-content:center;align-items:center;min-width:96px;min-height:42px;padding-inline:12px;font-size:.82rem;display:inline-flex}.top-primary-mobile.top-file-action{display:inline-flex}.brand-lockup{gap:8px}.brand-mark{border-radius:10px;width:38px;height:38px}.brand-lockup strong{font-size:.98rem;line-height:1}.brand-lockup span:last-child{display:none}.mobile-top-menu{display:block;position:relative}.mobile-top-menu summary{border:1px solid var(--border-subtle);background:var(--bg-soft);width:42px;height:42px;box-shadow:none;cursor:pointer;border-radius:13px;place-items:center;list-style:none;display:grid}.mobile-top-menu summary::-webkit-details-marker{display:none}.mobile-top-menu summary span,.mobile-top-menu summary span:before,.mobile-top-menu summary span:after{background:var(--text-primary);content:"";border-radius:999px;width:18px;height:2px;display:block}.mobile-top-menu summary span{position:relative}.mobile-top-menu summary span:before,.mobile-top-menu summary span:after{position:absolute;left:0}.mobile-top-menu summary span:before{top:-6px}.mobile-top-menu summary span:after{top:6px}.mobile-menu-panel{z-index:35;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:min(318px,100vw - 20px);box-shadow:var(--shadow-lg);background:#fffffffa;gap:10px;padding:12px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.mobile-menu-heading{gap:2px;padding:2px 2px 4px;display:grid}.mobile-menu-heading strong{color:var(--text-primary);font-size:.92rem}.mobile-menu-heading span{color:var(--text-secondary);font-size:.78rem;font-weight:700}.mobile-step-list{gap:8px;display:grid}.mobile-menu-step{border:1px solid var(--border-subtle);background:var(--bg-soft);min-height:48px;color:var(--text-primary);text-align:left;border-radius:14px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;display:grid}.mobile-menu-step span{border-radius:var(--radius-pill);background:var(--bg-surface-alt);width:28px;height:28px;color:var(--text-secondary);place-items:center;font-size:.78rem;font-weight:950;display:grid}.mobile-menu-step strong{font-size:.9rem}.mobile-menu-step small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:750;overflow:hidden}.mobile-menu-step.active{border-color:var(--accent-primary);background:var(--accent-primary-soft)}.mobile-menu-step.active span,.mobile-menu-step.complete span{background:var(--accent-primary);color:var(--text-inverse)}.mobile-menu-step:disabled{cursor:not-allowed;opacity:.52}.mobile-menu-export{width:100%;min-height:48px}.onboarding-shell,.onboarding-shell .setup-wizard{min-height:100dvh;overflow:visible}.setup-shell{grid-template-rows:auto auto;grid-template-areas:"preview""wizard";gap:8px;height:auto;min-height:100dvh;padding:8px;overflow:visible}.setup-shell .setup-wizard{overscroll-behavior:contain;gap:8px;height:auto;max-height:none;overflow:visible}.setup-wizard{order:2}.canvas-panel{order:1}.mobile-setup-progress{border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#ffffffeb;align-items:center;gap:10px;padding:8px 10px;display:flex}.mobile-setup-progress>span{border-radius:var(--radius-pill);background:var(--accent-primary);width:34px;height:34px;color:var(--text-inverse);place-items:center;font-size:.82rem;font-weight:950;display:grid}.mobile-setup-progress div{gap:1px;min-width:0;display:grid}.mobile-setup-progress strong{color:var(--text-primary);font-size:.98rem;line-height:1}.mobile-setup-progress small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.76rem;font-weight:750;overflow:hidden}.photo-ready-hero{display:none}.setup-step-card{border-radius:var(--radius-md);gap:8px;padding:10px}.setup-step-card .calibration-box{max-height:none;overflow:visible}.setup-step-card .panel-heading{gap:8px}.setup-step-card .panel-heading h2{font-size:1.05rem;line-height:1.1}.setup-step-card .instruction-list:not(.compact){display:none}.setup-step-card .instruction-list.compact{gap:6px}.instruction-item{grid-template-columns:26px minmax(0,1fr);padding:7px}.instruction-item p{font-size:.76rem}.status-line{font-size:.78rem}.compact-artwork-card summary{min-height:48px;padding:9px 10px}.compact-artwork-card summary small{display:none}.compact-artwork-body{padding:10px}.setup-art-stage{gap:10px}.setup-art-hero{flex-direction:column;align-items:stretch;padding:12px}.artwork-workspace-card{padding:12px}.artwork-workspace-header,.artwork-card-heading{flex-direction:column;align-items:stretch}.artwork-workspace-body{padding-top:10px}.art-entry-grid,.art-add-action-grid,.artwork-setup-grid,.artwork-quick-fields,.artwork-custom-size-grid,.artwork-setup-card .field-grid{grid-template-columns:1fr}.artwork-setup-card{grid-template-columns:1fr;gap:10px;padding:10px}.artwork-card-preview img{aspect-ratio:16/10}.artwork-card-heading .ghost-button{justify-self:start;width:fit-content}.setup-footer-actions{grid-template-columns:minmax(92px,.42fr) minmax(0,1fr)}.button-row.two{grid-template-columns:minmax(90px,.42fr) minmax(0,1fr)}.control-chip-grid{grid-template-columns:1fr}.setup-shell .setup-canvas-panel,.setup-shell .setup-canvas-panel.step-corners,.setup-shell .setup-canvas-panel.step-measurement{min-height:0}.setup-shell .setup-canvas-panel .canvas-shell,.setup-canvas-panel .canvas-shell,.setup-canvas-panel.step-photo .canvas-shell{border-radius:var(--radius-md);height:100%;min-height:0}.setup-canvas-panel.step-corners .canvas-shell,.setup-canvas-panel.step-measurement .canvas-shell{border-radius:12px;height:clamp(260px,64vw,54dvh);margin-bottom:56px;overflow:visible}.setup-canvas-panel.step-corners .canvas-shell.image-landscape,.setup-canvas-panel.step-measurement .canvas-shell.image-landscape{height:clamp(230px,58vw,44dvh)}.setup-canvas-panel.step-corners .canvas-shell.image-portrait,.setup-canvas-panel.step-measurement .canvas-shell.image-portrait{height:clamp(340px,118vw,62dvh)}.setup-canvas-panel.step-photo .canvas-shell.image-landscape{height:clamp(220px,56vw,38dvh)}.setup-canvas-panel.step-photo .canvas-shell.image-portrait{height:clamp(320px,108vw,56dvh)}.canvas-shell{min-height:0}.canvas-mode-hint{border-radius:var(--radius-md);text-align:center;min-height:38px;padding:8px 10px;font-size:.78rem;inset:calc(100% + 8px) 0 auto;transform:none}.setup-draft-marker{width:30px;height:30px;font-size:.78rem}.zoom-lens{display:none}.mobile-image-map{z-index:7;pointer-events:none;background-position:50%;background-size:cover;border:2px solid #ffffffeb;border-radius:12px;width:min(92px,24vw);display:block;position:absolute;top:10px;right:10px;overflow:hidden;box-shadow:0 10px 24px #1f1e1a38}.mobile-image-map-viewport{background:#2dd4bf29;border:2px solid #2dd4bfeb;border-radius:5px;position:absolute;box-shadow:0 0 0 999px #1f1e1a24}.mobile-zoom-tip{z-index:8;border:1px solid var(--border-subtle);border-radius:var(--radius-md);width:auto;box-shadow:var(--shadow-md);color:var(--text-primary);background:#fffdf8f5;gap:4px;padding:10px;display:grid;position:absolute;top:calc(100% + 50px);left:10px;right:10px}.mobile-zoom-tip strong{font-size:.82rem}.mobile-zoom-tip span{color:var(--text-secondary);font-size:.72rem;font-weight:750;line-height:1.25}.mobile-zoom-tip button{border-radius:10px;min-height:34px;padding:6px 10px}.focus-picker-button,.landscape-picker-button{justify-content:center;align-items:center;min-height:46px;display:inline-flex}.empty-hero{width:100%;min-height:100dvh;box-shadow:none;border:0;border-radius:0;padding:18px}.empty-hero h1{font-size:clamp(2rem,11vw,3.15rem)}.empty-hero p{font-size:1rem}.trust-strip{flex-direction:column;align-items:stretch}.field-grid,.segmented-control,.button-row,.layout-primary-actions,.photo-actions,.quick-action-grid,.shape-chip-grid,.option-card-grid,.material-swatch-grid{grid-template-columns:1fr}.mobile-export-layout-button{justify-content:center;align-items:center;min-height:54px;display:inline-flex}.mobile-buy-frames-inline-button{justify-content:center;align-items:center;min-height:52px;display:inline-flex}.complete-wall-mini-panel{display:none}.cookie-consent-banner{border-radius:var(--radius-md);grid-template-columns:1fr;gap:12px;padding:12px;bottom:10px;left:10px;right:10px}.cookie-consent-actions{grid-template-columns:1fr;gap:8px;display:grid}.privacy-settings-button{bottom:10px;right:10px}}@media (width<=920px){.hangguide-shell.is-focus-picker{background:#141413;height:100dvh;min-height:100dvh;padding:0;overflow:hidden}.hangguide-shell.is-focus-picker .top-bar{display:none}.setup-shell.is-focus-picker{background:#141413;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"preview""wizard";gap:0;height:100dvh;min-height:100dvh;padding:0;overflow:hidden}.setup-shell.is-focus-picker .setup-wizard{z-index:12;border-radius:var(--radius-lg) var(--radius-lg) 0 0;background:var(--bg-soft);-webkit-overflow-scrolling:touch;gap:8px;width:100%;height:auto;max-height:34dvh;padding:10px;position:relative;overflow:auto;box-shadow:0 -18px 46px #0003}.setup-shell.is-focus-picker .mobile-setup-progress{display:none}.setup-shell.is-focus-picker .setup-step-card{border-radius:var(--radius-md);gap:6px;padding:9px}.setup-shell.is-focus-picker .setup-step-card .panel-heading h2{font-size:.98rem}.setup-shell.is-focus-picker .instruction-list:not(.compact),.setup-shell.is-focus-picker .inline-callout{display:none}.setup-shell.is-focus-picker .setup-canvas-panel,.setup-shell.is-focus-picker .setup-canvas-panel.step-corners,.setup-shell.is-focus-picker .setup-canvas-panel.step-measurement{height:auto;min-height:0;box-shadow:none;background:#141413;border:0;border-radius:0;padding:0}.setup-shell.is-focus-picker .setup-canvas-panel .canvas-shell,.setup-shell.is-focus-picker .setup-canvas-panel.step-photo .canvas-shell,.setup-shell.is-focus-picker .setup-canvas-panel.step-corners .canvas-shell,.setup-shell.is-focus-picker .setup-canvas-panel.step-corners .canvas-shell.image-landscape,.setup-shell.is-focus-picker .setup-canvas-panel.step-corners .canvas-shell.image-portrait,.setup-shell.is-focus-picker .setup-canvas-panel.step-measurement .canvas-shell,.setup-shell.is-focus-picker .setup-canvas-panel.step-measurement .canvas-shell.image-landscape,.setup-shell.is-focus-picker .setup-canvas-panel.step-measurement .canvas-shell.image-portrait{height:100%;min-height:0;box-shadow:none;background:#141413;border:0;border-radius:0;margin:0;overflow:hidden}.setup-shell.is-focus-picker .canvas-mode-hint{display:none}.setup-shell.is-focus-picker .mobile-image-map{width:min(110px,26vw);top:58px;right:10px}.setup-shell.is-focus-picker .mobile-zoom-tip{display:none}.setup-shell.is-focus-picker .reference-object-picker{scroll-snap-type:x proximity;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.setup-shell.is-focus-picker .reference-object-picker button{scroll-snap-align:start;min-width:112px}.setup-shell.is-focus-picker .focus-picker-button{min-height:38px;font-size:.86rem}.setup-shell.is-focus-picker .button-row.two,.setup-shell.is-focus-picker .setup-footer-actions{gap:7px}.setup-shell.is-focus-picker .primary-action,.setup-shell.is-focus-picker .ghost-button{min-height:40px}.setup-shell.is-focus-picker .focus-mode-guidance{padding:6px 8px}}@media (width<=920px) and (orientation:landscape){.setup-shell.is-focus-picker{grid-template:"preview wizard"minmax(0,1fr)/minmax(0,1fr) minmax(286px,36vw)}.setup-shell.is-focus-picker .setup-wizard{border-radius:0;align-self:stretch;height:100%;max-height:none}.setup-shell.is-focus-picker .setup-step-card{min-height:100%}}
