:root{font-family:Arial,Helvetica,sans-serif;color:#102219;background:#f3f3ef;font-size:16px;--green:#102219;--accent:#c99b5c}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid #cdd2cb;border-radius:7px;background:#fff;color:var(--green);cursor:pointer;text-decoration:none;font-size:.875rem;font-weight:600;line-height:1.3}button:hover,.button:hover{border-color:#102219;background:#e8ede7}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--green);color:#fff;border-color:var(--green)}.primary:hover{background:#284233;color:#fff}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ad7131;outline-offset:3px}.top{display:flex;align-items:center;gap:30px;padding:12px 32px;background:var(--green);color:#fff}.top img{object-fit:contain;display:block}.eyebrow{font-size:.75rem;letter-spacing:.17em;color:#e0b981}.top h1{font:400 1.6rem Georgia,serif;margin:6px 0}.catalog-link{margin-left:auto;font-size:.875rem;text-underline-offset:4px}main{max-width:1800px;margin:auto;padding:0 24px 35px}.toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0}.steps{display:flex;gap:22px;font-size:.875rem;color:#677469}.steps .active{font-weight:700;color:#102219}.actions{display:flex;gap:8px;flex-wrap:wrap}.workbench{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.workspace{min-width:0}.canvas-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}#save-state{font-size:.75rem;color:#59685c;text-align:right}.stage{background:#e2e5df;min-height:440px;display:flex;align-items:center;justify-content:center;position:relative;border-radius:10px;overflow:hidden;background-image:linear-gradient(135deg,#edf0e9,#d7ddd4)}.stage.loaded{min-height:0;background:#242d27}.empty{padding:48px 24px;text-align:center;max-width:480px}.frame-icon{border:1px solid #829482;border-radius:12px;width:64px;height:64px;display:grid;place-items:center;margin:auto;font-size:30px;font-weight:300;color:#506653}.empty h2{font:400 clamp(32px,3.1vw,48px)/1.06 Georgia,serif;letter-spacing:-.035em;margin:22px 0 14px}.empty p{line-height:1.55;color:#506052}.small{font-size:.75rem;line-height:1.6;color:#566259}.empty .small{margin-bottom:0}#canvas-wrap{position:relative;width:100%;line-height:0}#scene{display:block;width:100%;height:auto;touch-action:none}#handles{position:absolute;inset:0;pointer-events:none}.handle{position:absolute;min-height:36px;width:36px;padding:0;border:2px solid white;background:#102219;color:white;border-radius:50%;transform:translate(-50%,-50%);pointer-events:auto;touch-action:none;box-shadow:0 1px 8px #0006;font-size:14px}.scene-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0}.scene-tools button[aria-pressed=true]{background:#102219;color:white}.compare-label{display:flex;gap:10px;align-items:center;font-size:.875rem;margin-left:auto}.compare-label input{width:130px}.hint{font-size:.875rem;line-height:1.5;color:#526156;margin:12px 0 24px}.favorites-head{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid #cdd2cb;padding-top:18px}.favorites-head h2{font:400 1.5rem Georgia,serif;margin:0}.favorites{display:flex;gap:12px;overflow:auto;padding:16px 0}.favorite-card{width:190px;flex:none;position:relative;background:white;border:1px solid #d8ddd5;border-radius:8px;padding:8px}.favorite-card img{width:100%;height:115px;object-fit:cover;border-radius:4px}.favorite-card button{min-height:36px;padding:6px 8px;margin-top:5px;font-size:.75rem}.favorite-card .delete{float:right}.muted{color:#5e6b61;font-size:.875rem;line-height:1.5}.sidebar{background:#fff;border:1px solid #d8ddd5;border-radius:10px;overflow:hidden;max-height:calc(100vh - 105px);position:sticky;top:15px;overflow-y:auto}.tabs{display:flex;position:sticky;top:0;background:white;z-index:2;border-bottom:1px solid #d8ddd5}.tabs button{flex:1;border:0;border-radius:0;min-height:54px}.tabs button[aria-selected=true]{box-shadow:inset 0 -3px #102219;color:#102219;background:#f0f3ed}.sidebar section{padding:20px}.panel-head h2{font:400 1.5rem/1.15 Georgia,serif;margin:0 0 8px}.panel-head p{font-size:.875rem;line-height:1.5;color:#5c685e;margin:0 0 18px}.sidebar label,dialog label{display:flex;flex-direction:column;gap:7px;font-size:.875rem;margin-top:16px}.sidebar input:not([type=range]):not([type=checkbox]):not([type=color]),.sidebar select,dialog input:not([type=checkbox]){width:100%;min-height:44px;padding:10px;border:1px solid #bfc8bc;background:white;border-radius:6px;color:#102219;min-width:0}input[type=range]{accent-color:#102219;cursor:pointer;min-height:30px;width:100%}input[type=color]{height:44px;width:100%;border:1px solid #bfc8bc;padding:3px;border-radius:6px;background:white}.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}.check{flex-direction:row!important;align-items:center;line-height:1.4}.check input{accent-color:#102219;width:20px;height:20px;flex:none}.wide{width:100%;margin-top:14px}.danger{color:#9c2525;background:#fff5f2;margin-top:20px}#zones{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}#zones button[aria-pressed=true]{background:#102219;color:white}.selected-texture{display:flex;gap:10px;padding:12px;background:#f1f3ef;border-radius:6px;font-size:.875rem;line-height:1.4}.selected-texture img{width:58px;height:68px;object-fit:cover}.selected-texture small{display:block;color:#5b665d;margin-top:4px}.products{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.product{padding:0;display:block;text-align:left;overflow:hidden;align-self:start;font-weight:400}.product img{width:100%;height:115px;object-fit:cover;background:#edf0ea;display:block}.product span{display:block;padding:8px;font-size:.75rem;line-height:1.4}.product strong{display:block;font-size:.875rem}.product .badge{padding:0 8px 9px;font-size:.75rem;color:#3a6147}.product[aria-pressed=true]{outline:2px solid #102219;outline-offset:1px}dialog{width:min(780px,calc(100% - 24px));max-height:90vh;padding:28px;border:0;border-radius:12px;color:#102219;box-shadow:0 15px 80px #0003}dialog::backdrop{background:#102219b0;backdrop-filter:blur(4px)}dialog h2{font:400 2rem Georgia,serif;margin:4px 38px 14px 0}dialog p{line-height:1.55}dialog .dialog-close{position:absolute;right:14px;top:12px}dialog .dialog-close button{border:0;font-size:25px;width:40px}.texture-gallery{display:flex;gap:8px;overflow:auto;padding:8px 0 12px}.texture-gallery button{padding:2px;flex:none}.texture-gallery img{width:66px;height:66px;object-fit:contain}.texture-gallery button[aria-pressed=true]{outline:2px solid #102219}.crop-stage{background:#e9ece7;display:flex;justify-content:center;max-height:340px;overflow:hidden}#crop-canvas{max-width:100%;max-height:340px;object-fit:contain;touch-action:none;cursor:crosshair}.email-block{margin-top:20px;border-top:1px solid #d3dacd;padding-top:2px}.email-block button{margin-top:12px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#102219;color:white;padding:14px 20px;border-radius:8px;box-shadow:0 3px 15px #0003;z-index:20;max-width:calc(100% - 30px);display:none;font-size:.875rem}#toast.show{display:block}[hidden]{display:none!important}#export-dialog .actions{margin-top:20px}#brush-label{font-size:.875rem;display:flex;align-items:center;gap:10px}#brush{width:100px}button{transition:background .15s}
@media(min-width:1500px){.workbench{grid-template-columns:minmax(0,1fr) 400px}.stage{min-height:520px}}
@media(max-width:1000px){.workbench{grid-template-columns:minmax(0,1fr) 310px;gap:14px}main{padding-inline:16px}.top{padding-inline:20px;gap:20px}.steps{gap:12px}.sidebar section{padding:15px}.canvas-toolbar{flex-wrap:wrap}.canvas-toolbar #save-state{width:100%;text-align:left}.stage{min-height:390px}.toolbar{align-items:flex-start}.steps{flex-wrap:wrap}.scene-tools{gap:8px}.scene-tools button{font-size:.75rem;padding:9px}.compare-label{width:100%;margin:0}.compare-label input{flex:1}.top h1{font-size:1.4rem}}
@media(max-width:760px){.top{padding:12px 16px;gap:12px;flex-wrap:wrap}.top img{width:126px;height:47px}.top h1{font-size:1.18rem}.eyebrow{font-size:.65rem}.catalog-link{width:100%;text-align:right;font-size:.75rem;margin-top:-5px}main{padding:0 12px 24px}.toolbar{flex-direction:column;padding:14px 0;gap:12px}.toolbar .actions{width:100%}.toolbar .actions button{flex:1}.steps{justify-content:space-between;width:100%;gap:6px;font-size:.75rem}.workbench{display:flex;flex-direction:column}.workspace,.sidebar{width:100%}.sidebar{position:static;max-height:none}.canvas-toolbar{margin-bottom:8px}.canvas-toolbar button{font-size:.75rem}.stage{min-height:345px}.stage.loaded{min-height:0}.empty{padding:28px 22px}.empty h2{font-size:36px}.empty p{font-size:.875rem}.handle{width:32px;min-height:32px}.hint{font-size:.75rem;margin-bottom:16px}.favorites-head h2{font-size:1.25rem}.favorites-head button{font-size:.75rem;max-width:180px}.products{grid-template-columns:repeat(2,minmax(0,1fr))}.product img{height:145px}.sidebar section{padding:18px}.sidebar .panel-head p{margin-bottom:12px}.favorites{padding-top:12px}.favorites .muted{margin:0}.scene-tools .actions{gap:5px}.scene-tools button{min-height:42px}dialog{padding:22px 18px}.two{gap:10px}.tabs{top:0}.selected-texture{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

#detect-status,#texture-status,#save-state{font-size:.875rem;overflow-wrap:anywhere}#texture-status:not(:empty){padding:10px;background:#f7f0e3;border-radius:6px}#cancel-detect{margin-bottom:12px}.canvas-toolbar .actions{min-width:0}.selected-texture>div{min-width:0;overflow-wrap:anywhere}@media(max-width:760px){.sidebar input,.sidebar select,dialog input{font-size:16px}.scene-tools .actions button{flex:1}.scene-tools .actions{width:100%}.favorites-head{flex-wrap:wrap}}
/* Automatic photo-first composition. No drawing controls in the client flow. */
#scene{touch-action:pan-y;cursor:pointer}#surface-labels{position:absolute;inset:0;pointer-events:none}#surface-labels button{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;border:2px solid #fff;background:#102219dc;color:#fff;box-shadow:0 2px 14px #0004;white-space:nowrap;padding:8px 12px;min-height:44px}#surface-labels button[aria-pressed=true]{background:#b57830}#analysis-overlay{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:25px;background:#102219cc;color:white;text-align:center;backdrop-filter:blur(2px)}#analysis-message{max-width:390px;font-size:1rem;line-height:1.6}.analysis-spinner{width:36px;height:36px;border:3px solid #ffffff50;border-top-color:white;border-radius:50%;animation:sim-spin 1s linear infinite}@keyframes sim-spin{to{transform:rotate(360deg)}}#detect-progress{width:100%;height:9px;accent-color:#102219}#advanced{margin-top:20px;border-top:1px solid #d8ddd5;padding-top:16px}summary{cursor:pointer;font-size:1rem;font-weight:600;min-height:44px;padding:8px 0}summary:focus-visible{outline:3px solid #ad7131}.small,.product span,.product .badge,.hint{font-size:.875rem}.product .badge{color:#435a48}.scene-tools{padding:10px 0}.sidebar{scroll-margin-top:15px}.selected-texture:empty{display:none}@media(max-width:760px){.steps,.canvas-toolbar button,.hint{font-size:.875rem}.eyebrow{font-size:.75rem}.product img{height:145px}.sidebar section{padding:16px}.favorites-head{margin-top:8px}#surface-labels button{font-size:.875rem}.compare-label{width:auto;flex:1;min-width:170px}.scene-tools{align-items:center}.workspace{display:contents}.canvas-toolbar,.stage,.scene-tools,.hint{width:100%}.sidebar{order:2}.favorites-head{order:3;width:100%}.favorites{order:4;width:100%}}@media(prefers-reduced-motion:reduce){.analysis-spinner{animation:none}}
