.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#furnish-toggle{background:#dec68e;color:#17201c;border-color:#dec68e;font-size:14px;font-weight:600;min-height:44px;padding:9px 17px}
#furniture-panel{position:absolute;right:0;top:0;bottom:0;width:350px;z-index:2;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:22px;background:#f5f3ec;color:#24332b;border-left:1px solid #c9cdc3;box-shadow:-12px 0 32px #0002;font-size:14px;line-height:1.4;scrollbar-width:thin;color-scheme:light}
.furnishing #canvas-host{right:350px}.furnishing #look-hint{display:none}
.planner-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.planner-heading h2{font:normal 26px/1.1 Georgia,serif;margin:0}.planner-heading .eyebrow{font-size:10px;color:#667665;letter-spacing:.12em}.planner-heading button{font-size:12px!important;padding:7px!important}
.planner-intro{color:#5c675e;font-size:14px;margin:12px 0 17px}.planner-label{display:block;font-weight:600;font-size:14px;margin:13px 0 5px}
#furniture-panel select,#furniture-panel input:not([type=file]):not([type=color]){font:16px Arial,sans-serif;width:100%;min-height:42px;border:1px solid #bcc5b8;border-radius:5px;padding:9px;background:#fffefb;color:#24332b}
#furniture-panel select:focus-visible,#furniture-panel input:focus-visible,#furniture-panel button:focus-visible,#furniture-plan:focus-visible,#furniture-panel summary:focus-visible{outline:2px solid #876520;outline-offset:2px}
#furniture-panel button,#furniture-panel .file-button{font:14px Arial,sans-serif;min-height:40px;border-radius:5px;padding:10px 12px;touch-action:manipulation;cursor:pointer}
.planner-primary{background:#284537;border:1px solid #284537;color:#fff}.planner-primary:hover{background:#3c5b49}.planner-secondary{border:1px solid #bac3b5;background:#fffdf6;color:#283a2e}.planner-secondary:hover{background:#e9ecdf}
.planner-add>div{display:flex;gap:8px}.planner-add select{flex:1;min-width:0}.planner-add button{white-space:nowrap}
.plan-wrap{position:relative;background:#ecede5;border:1px solid #ccd1c5;margin-top:12px;border-radius:6px;overflow:hidden}
#furniture-plan{display:block;width:100%;height:224px;touch-action:none;cursor:default}#furniture-plan[data-blocked=true]{outline:2px solid #b85b3b;outline-offset:-2px}.plan-piece{cursor:grab}.plan-piece:active{cursor:grabbing}.plan-piece:focus-visible{outline:none}.plan-piece:focus-visible polygon{stroke:#21698e;stroke-width:.08}
.plan-hint{display:block;background:#e7e9df;color:#526150;font-size:12px;padding:6px 9px;text-align:center}
#furniture-empty{text-align:center;padding:8px 0 0;color:#677160;font-size:13px}#furniture-empty p{margin:8px 0}
#furniture-details{border:0;padding:0;margin:0;min-width:0}#furniture-details:disabled{display:none}
.dimension-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:15px}.dimension-heading .planner-label{margin:0}.dimension-heading select{width:auto!important;min-height:34px!important;padding:5px!important;font-size:13px!important}
.dimension-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:9px 0}.dimension-inputs label{font-size:12px;color:#5d685c}.dimension-inputs input{margin-top:4px}.full{width:100%}
.planner-adjust{display:flex;justify-content:space-between;gap:20px;margin-top:5px}.button-pair{display:flex;gap:8px}.button-pair>*{flex:1;text-align:center}
#furniture-color{height:41px;width:75px;padding:3px;border:1px solid #b7c2b1;border-radius:5px;background:#fff;cursor:pointer}
.color-swatches{display:flex;gap:8px;margin:13px 0}.color-swatches button{width:34px;min-height:34px!important;padding:0!important;border:1px solid #77827666;border-radius:50%!important}
.planner-nudge>div{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.planner-nudge button{font-size:20px!important}
.photo-details,.product-details{border-top:1px solid #cfd4c8;margin-top:16px;padding-top:14px}.photo-details summary,.product-details summary{cursor:pointer;font-weight:600;font-size:14px}.photo-details p,.product-details p{font-size:13px;color:#65705f;margin:10px 0}.file-button{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}
#furniture-photo-canvas{width:auto;max-width:100%;height:auto;max-height:190px;background:#e7e9e2;margin-top:12px;cursor:crosshair;touch-action:manipulation}
#furniture-product-open{display:block;font-size:14px;color:#294d3d;margin-top:10px}
.planner-remove{width:100%;margin-top:18px;border:1px solid #d4bdae;background:#f5eae0;color:#7a4031}
.planner-bottom{display:flex;gap:8px;border-top:1px solid #ccd2c4;padding-top:16px;margin-top:16px}.planner-bottom>*{flex:1}
.planner-message{font-size:13px;color:#41604a;margin:14px 0 8px;min-height:36px}.planner-message[data-error=true]{color:#94452c}.planner-small{font-size:12px!important;color:#727969!important;line-height:1.5}
@media(max-width:950px){#furniture-panel{width:310px;padding:16px}.furnishing #canvas-host{right:310px}#status{display:none}}
@media(max-width:700px){#furniture-panel{width:100%;border-left:0;padding:18px 20px}.furnishing #canvas-host{right:0}.furnishing .caption,.furnishing .room-picker{visibility:hidden}.furnishing footer{display:none}body.furnishing{grid-template-rows:72px minmax(100px,1fr) 0}.header-actions{gap:7px}#furnish-toggle{font-size:12px;padding:9px 10px}#fullscreen{display:none}.identity h1{font-size:21px}#furniture-plan{height:230px}.planner-heading h2{font-size:28px}}

body.furnishing #room { touch-action: auto; }
body.furnishing #canvas-host { touch-action: none; }

#furniture-product-save{margin-top:8px}
.prepared-badge{font-size:11px;font-weight:700;letter-spacing:.03em;color:#355d48;background:#e5eadc;border:1px solid #c7d3bd;border-radius:20px;padding:6px 10px;display:inline-block;margin:0 0 14px}
#furniture-panel [hidden]{display:none!important}
.custom-furniture{margin:18px 0;padding:16px 13px;background:#e7ecdf;border:1px solid #b8c7ae;border-radius:7px}
.custom-furniture h3{font:normal 22px/1.15 Georgia,serif;margin:0 0 12px;color:#243b2b}
.custom-furniture .planner-label{margin-top:11px}.custom-furniture .dimension-inputs{gap:6px}
.custom-furniture .dimension-inputs label{font-size:13px;line-height:1.3;align-self:end}
.measurement-help{font-size:13px;line-height:1.45;color:#52634e;margin:10px 0 14px}
.custom-message{font-size:13px;line-height:1.45;color:#36573f;margin:10px 0}.custom-message[data-error=true]{color:#94452c}
.catalog-preview{margin-top:12px;border:1px solid #becbb6;border-radius:6px;overflow:hidden;background:#edf0e7}.catalog-preview canvas{display:block;width:100%;height:170px}.catalog-preview span{display:block;text-align:center;font-size:12px;color:#54634d;padding:6px 8px;background:#e0e6d8}.custom-furniture #custom-shape-note{font-size:14px;margin:10px 0}
.prepared-examples{border-top:1px solid #cfd4c8;margin-top:18px;padding-top:14px}.prepared-examples summary{font-size:14px;font-weight:600;cursor:pointer}
.bed-comparison{border-block:1px solid #cfd4c8;margin-top:18px;padding-bottom:10px}.bed-comparison .planner-small{margin:8px 0}
#bed-size-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:5px}#bed-size-buttons button{padding:9px 4px;font-size:12px}#bed-size-buttons button[aria-pressed=true]{background:#284537;color:white;border-color:#284537}
.furniture-provenance{font-size:12px;line-height:1.5;color:#596553;margin:12px 0}.furniture-provenance p{margin:8px 0}.furniture-provenance img{width:100%;height:115px;object-fit:contain;background:#fffef9;border:1px solid #d9dccf;border-radius:5px}.furniture-provenance a{color:#315d46;font-size:11px}
.clearance-note{font-size:12px;line-height:1.45;background:#e8ecdf;padding:10px;border-left:3px solid #a1b191;border-radius:3px}.dimension-inputs input[readonly]{background:#e9ece3!important;color:#626d5c!important}
.planner-diagnostics{font-size:11px;color:#667160;margin-top:20px}.planner-diagnostics summary{cursor:pointer}.planner-diagnostics output{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:10px/1.45 monospace;max-height:200px;overflow:auto;padding-top:8px}
#furniture-panel button:disabled{opacity:.55;cursor:wait}
.planner-sticky{position:sticky;top:-22px;z-index:4;background:#f5f3ec;padding:16px 0 10px;margin-top:-16px;border-bottom:1px solid #c9cdc3}.planner-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:14px}.planner-tabs button{border:1px solid #bac3b5;background:#fffdf6;color:#283a2e}.planner-tabs button[aria-selected=true]{background:#284537;color:#fff;border-color:#284537}.planner-intro{font-size:13px;margin:12px 0}.custom-furniture{margin:14px 0;padding:13px 12px}.custom-furniture h3{font-size:21px}.catalog-preview canvas{height:145px}#planner-arrange-panel #furniture-focus{margin:10px 0 7px}#planner-arrange-panel .plan-wrap{margin-bottom:10px}#arrangement-empty{padding:16px 12px;border:1px dashed #aabda4;border-radius:6px;background:#e7ecdf}.about-piece{border-block:1px solid #cfd4c8;padding:10px 0;margin:12px 0}.about-piece summary,.bed-comparison summary{font-size:14px;font-weight:600;cursor:pointer}.bed-comparison{padding-top:14px}.bed-comparison #bed-size-buttons{margin-top:12px}.layout-conflict{background:#fff1d5;border:1px solid #a8751f;border-radius:6px;padding:12px;font-size:14px;margin:10px 0}.layout-conflict p{margin:0 0 10px}
@media(max-width:950px){.planner-sticky{top:-16px}}@media(max-width:700px){.planner-sticky{top:-18px}.custom-furniture h3{font-size:22px}.catalog-preview canvas{height:170px}}

/* Comfortable touch targets, including landscape phones and tablet pointers. */
@media(max-width:700px),(pointer:coarse){
  #furniture-panel button,#furniture-panel .file-button{min-height:44px}
  #furniture-panel select,#furniture-panel input:not([type=file]):not([type=color]){min-height:44px}
  .dimension-heading select{min-height:44px!important;font-size:16px!important}
  .color-swatches{gap:6px;flex-wrap:wrap}.color-swatches button{width:44px;min-height:44px!important}
  #furniture-color{height:44px}
  #furniture-panel summary{min-height:44px;padding-block:12px}
  #furniture-panel{padding-bottom:max(22px,env(safe-area-inset-bottom))}
}

/* A sideways phone must not leave its editor in a tiny strip above the walking pad. */
@media(max-height:560px) and (max-width:1000px){
  body.furnishing{grid-template-rows:60px minmax(100px,1fr) 0}
  .furnishing footer{display:none}
  #furniture-panel{width:100%;border-left:0;padding:12px max(20px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
  .furnishing #canvas-host{right:0}
  .furnishing .caption,.furnishing .room-picker{visibility:hidden}
  .planner-sticky{top:-12px;padding-top:6px;margin-top:-6px}
  .planner-heading{align-items:center}.planner-heading .eyebrow{display:none}.planner-heading h2{font-size:24px}
  .planner-tabs{margin-top:6px}.planner-tabs button{min-height:44px}
  .catalog-preview canvas{height:145px}
}
