
*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;font-family:"Noto Sans KR",Arial,sans-serif;color:#1f2937;background:#e5ebf1}
button,input,select{font:inherit}button{cursor:pointer}
#app-header{height:56px;background:#17243b;color:#fff;display:flex;align-items:center;padding:0 14px;gap:18px}
.brand{font-size:18px;font-weight:700;white-space:nowrap}.brand span{font-size:12px;opacity:.6;font-weight:400;margin-left:4px}
#room-size-inputs{margin:auto;display:flex;align-items:center;gap:5px;background:#213252;padding:5px 10px;border-radius:8px;font-size:10px}
#room-size-inputs input{width:60px;border:0;border-radius:4px;padding:4px 5px}#room-size-inputs b{font-weight:400;opacity:.8;margin-right:3px}
.header-actions{display:flex;gap:6px}.header-actions button,.header-actions a{border:1px solid #3d4d69;background:#23324a;color:#fff;border-radius:6px;padding:7px 9px;text-decoration:none;font-size:11px}.header-actions .primary{background:#2b67e4}
#app-layout{height:calc(100vh - 56px);display:grid;grid-template-columns:280px minmax(600px,1fr) 300px}
#catalog-panel{background:#f8fafc;border-right:1px solid #d6dee8;display:flex;flex-direction:column;overflow:hidden}
#catalog-search{padding:12px 10px 8px}#search{width:100%;padding:9px 10px;border:1px solid #cfd9e5;border-radius:7px;background:#fff}
.category-chips{padding:4px 10px 10px;display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid #e1e7ee}.category-chip{border:0;background:#eef2f6;color:#6c7786;border-radius:999px;padding:7px 10px;font-size:10px}.category-chip.active{background:#2c6be5;color:#fff}
.catalog-list{padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:9px;overflow-y:auto;align-content:start}
.card{background:#fff;border:1px solid #d7dfe8;border-radius:9px;overflow:hidden;min-width:0}.card:hover{border-color:#6e9ee2}.thumb{height:105px;background:#eef2f6;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#8a96a5;font-size:10px}.thumb img{width:100%;height:100%;object-fit:cover}.card-body{padding:7px}.name{font-weight:600;font-size:11px;line-height:1.35;margin-bottom:4px;min-height:30px}.meta{font-size:9px;color:#768395;line-height:1.35}
.card-size-select{width:100%;border:1px solid #d4dde7;border-radius:5px;padding:4px;margin-top:5px;font-size:9px;background:#fff}.card-swatches{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.card-swatch,.prop-swatch{width:16px;height:16px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #9eabb9;padding:0}.card-swatch.active,.prop-swatch.active{box-shadow:0 0 0 2px #2b6fe5}
#viewport-wrap{position:relative;min-width:0;background:#dfe5ec}#viewer{position:absolute;inset:0}.viewer canvas{display:block;width:100%;height:100%}
#hint-bar{position:absolute;top:14px;left:14px;background:rgba(31,49,79,.90);color:#fff;border-radius:7px;padding:8px 11px;font-size:10px;max-width:420px}
#price-summary{position:absolute;top:14px;right:14px;background:#fff;border-radius:9px;padding:9px 13px;box-shadow:0 5px 16px rgba(0,0,0,.13);text-align:right}#price-summary span{display:block;font-size:9px;color:#7b8796}#price-summary strong{font-size:18px;color:#2361cf}
#view-toolbar{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);display:flex;background:#fff;padding:5px;border-radius:9px;box-shadow:0 5px 18px rgba(0,0,0,.16);gap:4px}#view-toolbar button,#tools-toolbar button{border:1px solid #d3dce6;background:#fff;border-radius:6px;padding:7px 9px;font-size:10px}#view-toolbar button.active{background:#2768e4;color:#fff;border-color:#2768e4}
#tools-toolbar{position:absolute;bottom:18px;left:15px;display:flex;align-items:center;gap:6px;background:#fff;padding:5px 7px;border-radius:9px;box-shadow:0 5px 18px rgba(0,0,0,.14);font-size:10px}.is-active{background:#e8f1ff!important;color:#225ca8!important;border-color:#6998d8!important}
.toast{position:absolute;bottom:66px;left:50%;transform:translateX(-50%);background:rgba(28,44,69,.9);color:#fff;border-radius:7px;padding:7px 11px;font-size:10px;pointer-events:none}.toast.ok{background:rgba(24,105,65,.9)}.toast.bad{background:rgba(165,47,47,.92)}
#property-panel{background:#fff;border-left:1px solid #d7dfe8;overflow-y:auto}.panel-section{padding:14px;border-bottom:1px solid #e6ebf0}.panel-section h3{margin:0 0 11px;font-size:12px}.field-row{display:grid;grid-template-columns:80px 1fr;align-items:center;gap:7px;margin-bottom:8px;font-size:10px}.field-row input,.field-row select{width:100%;border:1px solid #d2dbe5;border-radius:6px;padding:6px;background:#fff}.empty-state{padding:18px 6px;text-align:center;color:#8b97a6;font-size:10px;line-height:1.6}.selected-name{font-size:12px;font-weight:700;margin-bottom:10px}.option-label{font-size:9px;color:#748294;margin:9px 0 5px}.option-pills,.color-swatches{display:flex;gap:6px;flex-wrap:wrap}.option-pill{border:1px solid #d3dce6;background:#fff;border-radius:6px;padding:6px 7px;font-size:9px}.option-pill.active{background:#eaf2ff;border-color:#6694d4;color:#1e5ca4}.prop-swatch{width:23px;height:23px}.wide{width:100%;margin-top:9px;border:1px solid #cfd9e5;background:#fff;border-radius:6px;padding:8px;font-size:10px}.dark{background:#223a5d;color:#fff;border-color:#223a5d}.action-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:5px;margin-top:9px}.action-grid button{border:1px solid #d3dce6;background:#fff;border-radius:6px;padding:7px 5px;font-size:9px}.action-grid .danger{background:#ee4d4d;color:#fff;border-color:#ee4d4d}
.placed-list{display:grid;gap:5px}.placed-row{border:1px solid #d9e1ea;border-radius:6px;padding:7px;font-size:9px}.placed-row.active{border-color:#4d88da;background:#f0f6ff}
.modal{position:fixed;inset:0;background:rgba(12,21,34,.45);display:flex;align-items:center;justify-content:center;z-index:50}.modal[hidden]{display:none}.modal-box{background:#fff;border-radius:10px;padding:16px;width:410px;max-height:70vh;overflow:auto}.modal-box input{width:100%;padding:9px;border:1px solid #d3dce6;border-radius:6px}.modal-box>div:last-child{display:flex;justify-content:flex-end;gap:6px;margin-top:10px}.saved-row{border:1px solid #d9e1ea;border-radius:7px;padding:8px;margin-top:7px;display:flex;justify-content:space-between;align-items:center;font-size:10px}
@media(max-width:1150px){#app-layout{grid-template-columns:245px minmax(470px,1fr) 260px}.catalog-list{grid-template-columns:1fr}}

.modal-help{font-size:10px;color:#758397;line-height:1.6;margin:-3px 0 10px}
.modal-actions{display:flex;justify-content:flex-end;margin-top:10px}


/* ==========================================================
   Stage 8 UI readability + catalog card hard-fix
   - larger header/right-panel text
   - product cards always render as normal cards, never thin strips
   ========================================================== */
#app-layout{
  grid-template-columns:320px minmax(620px,1fr) 340px !important;
}

/* Header readability */
#app-header{height:62px !important;padding:0 16px !important}
.brand{font-size:20px !important}
.brand span{font-size:13px !important}
#room-size-inputs{font-size:12px !important;padding:7px 11px !important;gap:6px !important}
#room-size-inputs input{width:68px !important;padding:6px 7px !important;font-size:12px !important}
.header-actions button,.header-actions a{
  font-size:12px !important;
  padding:9px 10px !important;
}
#app-layout{height:calc(100vh - 62px) !important}

/* Left catalog */
#catalog-search{padding:13px 11px 9px !important}
#search{font-size:14px !important;padding:10px 11px !important}
.category-chips{padding:5px 11px 11px !important;gap:7px !important}
.category-chip{font-size:12px !important;padding:7px 11px !important}

/* Critical card reset: prevent prior cached/legacy card rules from turning cards into strips */
#catalog.catalog-list{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  padding:10px !important;
  align-content:start !important;
  overflow-y:auto !important;
}
#catalog .card.product-card{
  display:block !important;
  position:relative !important;
  height:auto !important;
  min-height:235px !important;
  max-height:none !important;
  padding:0 !important;
  margin:0 !important;
  border:1px solid #d6dee8 !important;
  border-radius:10px !important;
  background:#fff !important;
  overflow:hidden !important;
}
#catalog .card.product-card .thumb{
  display:flex !important;
  width:100% !important;
  height:128px !important;
  min-height:128px !important;
  max-height:128px !important;
  padding:0 !important;
  margin:0 !important;
  border-radius:0 !important;
  background:#eef2f6 !important;
  overflow:hidden !important;
}
#catalog .card.product-card .thumb img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}
#catalog .card.product-card .card-body{
  display:block !important;
  visibility:visible !important;
  height:auto !important;
  min-height:100px !important;
  padding:9px !important;
  background:#fff !important;
  overflow:visible !important;
}
#catalog .card.product-card .name{
  display:block !important;
  min-height:38px !important;
  margin:0 0 5px !important;
  font-size:12px !important;
  line-height:1.45 !important;
  font-weight:700 !important;
  color:#1f2d3d !important;
}
#catalog .card.product-card .meta{
  display:block !important;
  font-size:10.5px !important;
  line-height:1.5 !important;
  color:#64748b !important;
}
#catalog .card-size-select{
  display:block !important;
  height:30px !important;
  font-size:11px !important;
  margin-top:7px !important;
  padding:4px 6px !important;
}
#catalog .card-swatches{
  display:flex !important;
  min-height:22px !important;
  gap:6px !important;
  margin-top:7px !important;
}
#catalog .card-swatch{width:18px !important;height:18px !important}

/* Center helper text */
#hint-bar{font-size:12px !important;padding:9px 12px !important}
#price-summary span{font-size:11px !important}
#price-summary strong{font-size:20px !important}
#view-toolbar button,#tools-toolbar button{font-size:12px !important;padding:8px 10px !important}
#tools-toolbar{font-size:11px !important}
.toast{font-size:12px !important}

/* Right panel readability */
#property-panel{font-size:13px !important}
.panel-section{padding:17px 16px !important}
.panel-section h3{
  font-size:15px !important;
  line-height:1.4 !important;
  margin-bottom:14px !important;
}
.field-row{
  grid-template-columns:88px 1fr !important;
  gap:9px !important;
  margin-bottom:10px !important;
  font-size:12px !important;
}
.field-row label{font-size:12px !important}
.field-row input,.field-row select{
  min-height:36px !important;
  padding:7px 8px !important;
  font-size:12px !important;
}
.empty-state{
  font-size:12px !important;
  line-height:1.7 !important;
  padding:20px 6px !important;
}
.selected-name{font-size:14px !important;margin-bottom:12px !important}
.option-label{font-size:11px !important;margin:11px 0 7px !important}
.option-pill{font-size:11px !important;padding:7px 9px !important}
.prop-swatch{width:26px !important;height:26px !important}
.wide{font-size:12px !important;padding:10px !important}
.action-grid button{font-size:11px !important;padding:9px 6px !important}
.placed-row{font-size:11px !important;padding:9px !important}

/* Modal readability */
.modal-box{width:460px !important}
.modal-box h3{font-size:16px !important}
.modal-help{font-size:12px !important}

/* Keep desktop layout useful at slightly narrower widths */
@media(max-width:1300px){
  #app-layout{grid-template-columns:290px minmax(520px,1fr) 310px !important}
  #catalog .card.product-card{min-height:220px !important}
  #catalog .card.product-card .thumb{height:118px !important;min-height:118px !important;max-height:118px !important}
}


/* ==========================================================
   Stage 8 card options fix
   - left catalog shows size pills + color swatches + price
   - prevent clipping in product cards
   ========================================================== */
#catalog.catalog-list{
  align-content:start !important;
}
#catalog .card.product-card{
  min-height:300px !important;
  display:flex !important;
  flex-direction:column !important;
}
#catalog .card.product-card .thumb{
  position:relative !important;
  height:126px !important;
  min-height:126px !important;
  max-height:126px !important;
}
#catalog .card.product-card .thumb img{
  object-fit:cover !important;
}
#catalog .card.product-card .card-body{
  flex:1 1 auto !important;
  min-height:165px !important;
  padding:10px 9px 11px !important;
}
#catalog .card.product-card .meta{
  margin-bottom:6px !important;
}
#catalog .card.product-card .add-badge{
  position:absolute !important;
  top:8px !important;
  right:8px !important;
  width:28px !important;
  height:28px !important;
  border-radius:50% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#2b67e4 !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:700 !important;
  line-height:1 !important;
  box-shadow:0 3px 10px rgba(0,0,0,.16) !important;
}
#catalog .size-pill-row{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:6px !important;
  margin:6px 0 8px !important;
}
#catalog .size-pill{
  border:1px solid #d3dce6 !important;
  background:#f3f5f8 !important;
  color:#64748b !important;
  border-radius:999px !important;
  padding:5px 10px !important;
  min-height:28px !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
#catalog .size-pill.active{
  background:#2b67e4 !important;
  color:#fff !important;
  border-color:#2b67e4 !important;
}
#catalog .card-swatches{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  margin:5px 0 9px !important;
  min-height:22px !important;
}
#catalog .card-swatch{
  width:18px !important;
  height:18px !important;
  border-radius:50% !important;
  border:2px solid #fff !important;
  box-shadow:0 0 0 1px rgba(0,0,0,.18) !important;
}
#catalog .card-swatch.active{
  box-shadow:0 0 0 2px #2b67e4 !important;
}
#catalog .card-price{
  margin-top:2px !important;
  font-size:15px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  color:#2457bf !important;
}
#catalog .card.product-card:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.12) !important;
  transform:translateY(-2px) !important;
}
@media(max-width:1300px){
  #catalog .card.product-card{
    min-height:290px !important;
  }
  #catalog .card.product-card .card-body{
    min-height:155px !important;
  }
}


/* ==========================================================
   Stage 8 right panel FINAL - old OfficeSpace style
   ========================================================== */
.selected-panel .selected-name{
  font-size:14px !important;
  font-weight:800 !important;
  color:#1e2d42 !important;
  margin-bottom:13px !important;
}
.rotation-block{
  margin:3px 0 12px !important;
}
.rotation-label-row{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  margin-bottom:5px !important;
  font-size:12px !important;
  color:#67768a !important;
}
.rotation-label-row strong{
  font-size:12px !important;
  font-weight:500 !important;
  color:#758397 !important;
}
.rotation-slider{
  width:100% !important;
  accent-color:#1685f8 !important;
  margin:1px 0 7px !important;
}
.rotate90{
  margin-top:0 !important;
  font-weight:700 !important;
}
.snap-guide{
  margin:11px 0 9px !important;
  padding:9px 10px !important;
  background:#eef8ff !important;
  border-radius:7px !important;
  color:#2771b3 !important;
  font-size:11px !important;
  line-height:1.55 !important;
}
.product-page{
  margin-top:0 !important;
  font-weight:700 !important;
  color:#174d85 !important;
}
.old-actions{
  grid-template-columns:1fr 1fr !important;
  margin-top:8px !important;
}
.old-actions button{
  font-size:12px !important;
  padding:10px 8px !important;
  font-weight:700 !important;
}
.secondary-actions{
  grid-template-columns:1fr 1fr !important;
  margin-top:6px !important;
}
.secondary-actions button{
  font-size:11px !important;
  padding:8px 7px !important;
}
.placed-row{
  position:relative !important;
  display:grid !important;
  grid-template-columns:16px minmax(0,1fr) 20px !important;
  align-items:center !important;
  gap:7px !important;
  min-height:38px !important;
}
.placed-color{
  width:14px !important;
  height:14px !important;
  border-radius:3px !important;
  border:1px solid rgba(0,0,0,.12) !important;
}
.placed-name{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}
.placed-remove{
  border:0 !important;
  background:transparent !important;
  color:#f04444 !important;
  font-size:16px !important;
  line-height:1 !important;
  padding:0 !important;
  cursor:pointer !important;
}


/* Stage 8 structure + spacing refinements */
#catalog .card.product-card{
  min-height:340px !important;
}
#catalog .card.product-card .card-body{
  min-height:205px !important;
}
.structure-dims{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:6px;
  margin-top:5px;
}
.structure-dims input{
  width:100%;
  min-width:0;
  border:1px solid #d3dce6;
  border-radius:6px;
  padding:7px 6px;
  font-size:11px;
}
.object-distance-box{
  margin-top:13px;
  padding-top:10px;
  border-top:1px solid #e5eaf0;
}
.distance-help{
  margin-top:7px;
  font-size:10.5px;
  line-height:1.55;
  color:#718096;
}


/* Stage 8 catalog full-option visibility fix */
#catalog .card.product-card{
  min-height:430px !important;
  height:auto !important;
  max-height:none !important;
}
#catalog .card.product-card .card-body{
  min-height:295px !important;
  height:auto !important;
  overflow:visible !important;
  padding-bottom:16px !important;
}
#catalog .size-pill-row,
#catalog .card-swatches{
  flex-shrink:0 !important;
}
#catalog .card-swatches{
  min-height:24px !important;
  margin-top:8px !important;
  margin-bottom:10px !important;
}
#catalog .card-price{
  display:block !important;
  min-height:22px !important;
  margin-top:6px !important;
}
@media(max-width:1300px){
  #catalog .card.product-card{min-height:420px !important}
  #catalog .card.product-card .card-body{min-height:285px !important}
}

.reference-status{
  margin:6px 0 8px;
  padding:7px 9px;
  border:1px solid #dbe4ef;
  border-radius:7px;
  background:#f7f9fc;
  font-size:12px;
  color:#46566b;
}
#pickReferenceBtn.active{
  outline:2px solid #2f6fed;
  background:#eef4ff;
}
.quick-create{padding:9px;border-bottom:1px solid #dbe3ec;background:#fff}.quick-create b{display:block;font-size:12px;margin-bottom:6px}.quick-create div{display:grid;grid-template-columns:1fr 1fr;gap:6px}.quick-create button,.set-actions button{border:1px solid #cbd7e5;border-radius:7px;background:#f8fbff;padding:8px 5px;font-size:11px;cursor:pointer}.quick-create small{display:block;margin-top:6px;color:#718096;font-size:9px}.set-actions{display:grid;grid-template-columns:1fr;gap:6px;margin-top:9px}.set-actions button:first-child{background:#223a5d;color:#fff;border-color:#223a5d}.set-card .thumb{background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:34px}.set-card .set-size{font-size:10px;color:#526579;margin-top:5px}
.quick-create .set-file-tools{margin-top:7px}.set-file-tools label{border:1px solid #cbd7e5;border-radius:7px;background:#f8fbff;padding:8px 5px;font-size:11px;text-align:center;cursor:pointer}.set-file-tools input{display:none}


/* Render mode 2026-09-22 */
.header-actions .render-mode-btn{background:#f7f2e8;border-color:#d7c39a;color:#5f4a23;font-weight:700}
.header-actions .render-mode-btn.active{background:#27364a;border-color:#27364a;color:#fff}
.header-actions .render-save-btn{background:#2f6f55;border-color:#2f6f55;color:#fff;font-weight:700}

.structure-card{text-align:left;width:100%;cursor:pointer;color:inherit;font:inherit}.structure-preview{display:block;background:#d6d1c9;border:2px solid #a49d93;box-shadow:12px 8px 0 #b3ada4;transform:skewY(-8deg)}.structure-preview.wall{width:120px;height:90px}.structure-preview.column{width:42px;height:110px}.set-components{font-size:12px;line-height:1.7;margin:8px 0}.set-card{height:auto!important;min-height:260px}.set-card .card-body{height:auto!important;overflow:visible}.set-card small{color:#667085}

.structure-preview.door{display:block;width:42px;height:66px;border:6px solid #d8cdbd;background:#a77d51;position:relative;margin:auto}.structure-preview.door:after{content:"";position:absolute;right:5px;top:32px;width:5px;height:5px;background:#444;border-radius:50%}

/* Orthogonal room outline editor */
.room-outline-dialog{width:min(1080px,94vw)!important;max-width:1080px!important;max-height:94vh;overflow:auto;}
.room-outline-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;margin:16px 0;}
.room-outline-layout svg{display:block;width:100%;height:auto;background:#f7f9fc;border:1px solid #d8e2ed;border-radius:8px;touch-action:none;user-select:none;}
.room-outline-layout svg line[data-wall]{cursor:grab;}
.room-outline-layout svg text{font:13px Arial,sans-serif;fill:#233d5b;paint-order:stroke;stroke:#f7f9fc;stroke-width:4px;stroke-linejoin:round;}
.room-outline-layout label{display:block;margin:12px 0 6px;font-size:12px;}
.room-outline-layout input{display:block;width:100%;margin-top:5px;}
.room-outline-layout button{margin-top:8px;}
.room-wall-title{font-weight:700;color:#244b76;}
.room-edit-message{font-size:12px;line-height:1.7;color:#b04423;min-height:40px;}
@media(max-width:800px){.room-outline-layout{grid-template-columns:1fr;}.room-outline-dialog{width:94vw!important;}}
/* 2026-10-12 test package */
#wallDrawPanel{position:absolute;left:20px;top:65px;width:260px;padding:15px;background:#fff;border:1px solid #cbd5e1;border-radius:12px;z-index:20;box-shadow:0 8px 25px #0002;display:grid;gap:8px}
#wallDrawPanel[hidden]{display:none}#wallDrawPanel label{display:flex;align-items:center;justify-content:space-between;gap:8px}#wallDrawPanel input{width:120px;padding:6px}#wallDrawPanel small,#bundleOptions small{display:block;line-height:1.6;color:#65758b}
.set-details{margin-top:9px}.set-details summary,.placed-bundle summary{cursor:pointer;padding:6px;color:#405c80}.set-card .thumb span{font-size:12px;color:#6f819a}.set-card .name{line-height:1.4}.set-card .set-size{font-size:12px;line-height:1.5}.set-components{max-height:200px;overflow:auto}.placed-bundle{border:1px solid #dae3ef;border-radius:8px;margin-bottom:8px}.placed-bundle .placed-row{border:0;margin:0}.placed-bundle button.placed-name{background:none;text-align:left;border:0;color:#193556;white-space:normal}#bundleOptions{padding:10px;background:#edf3ff;border-radius:8px;margin-bottom:12px}#bundleOptions label{display:block;margin:10px 0}#bundleOptions select{width:100%;margin-top:6px}
/* Set catalog: full panel width, readable composition rows, one outer scroll. */
#catalog .set-card{grid-column:1 / -1;width:100%;min-width:0}
#catalog .set-card .thumb{height:140px}
#catalog .set-card .card-body{padding:12px}
#catalog .set-card .name{font-size:15px;min-height:0;margin-bottom:7px;line-height:1.45}
#catalog .set-card .set-size{font-size:12px;color:#758399;line-height:1.5}
#catalog .set-card .card-price{font-size:18px;margin:10px 0;color:#1f5ecc}
#catalog .set-size-choices[hidden]{display:none}
#catalog .set-details{margin-top:12px;border-top:1px solid #e8edf3}
#catalog .set-details summary{padding:11px 0 7px;font-size:13px;font-weight:600;color:#3b526e}
#catalog .set-components{max-height:none;overflow:visible;padding:0 0 4px}
#catalog .component-row{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #eef1f5}
#catalog .component-row:last-child{border-bottom:0}
#catalog .component-info{flex:1;min-width:0}
#catalog .component-name{font-size:13px;font-weight:500;line-height:1.5;color:#24374e;overflow-wrap:anywhere}
#catalog .component-detail{font-size:12px;line-height:1.5;color:#7b8797;margin-top:2px}
#catalog .component-qty{flex:0 0 auto;padding:4px 8px;border-radius:6px;background:#f0f4f9;color:#3d5570;font-size:12px;font-weight:600;white-space:nowrap}
#catalog .set-details small{display:block;padding-top:9px;font-size:11px;color:#8a95a4;line-height:1.6}
/* 4th revision: prevent clipping and keep composition scroll accessible. */
#catalog-panel{min-height:0}
#catalog.catalog-list{flex:1 1 0;min-height:0;grid-auto-rows:max-content;overflow-y:auto!important}
#catalog-panel>#catalog-search,#catalog-panel>.category-chips,#catalog-panel>.quick-create{flex-shrink:0}
#catalog .set-card{max-height:none!important;align-self:start}
#catalog .set-components{max-height:240px;max-height:min(240px,30vh);overflow-y:scroll;overflow-x:hidden;padding:0 8px 4px 0;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#9aaec6 #eef2f7;-webkit-overflow-scrolling:touch}
#catalog .set-components::-webkit-scrollbar{width:8px}
#catalog .set-components::-webkit-scrollbar-track{background:#eef2f7;border-radius:8px}
#catalog .set-components::-webkit-scrollbar-thumb{background:#9aaec6;border-radius:8px}
#app-header{gap:10px;overflow-x:auto;overflow-y:hidden}
#app-header .brand,#room-size-inputs,.header-commerce,.header-actions{flex-shrink:0}
.header-commerce{display:flex;gap:6px;margin-left:auto}
.header-commerce button{border:1px solid #a8c3e8;background:#f5f8ff;color:#213c60;border-radius:6px;padding:8px 11px;font-size:12px;font-weight:600;white-space:nowrap}
.header-commerce #addCartBtn{background:#2b67e4;color:white;border-color:#2b67e4}
.header-actions{white-space:nowrap}
/* FINAL7: simple right disclosures and permanent top commerce actions. */
#property-panel{min-height:0;overflow-y:auto;padding-bottom:20px}
.panel-disclosure{border-bottom:1px solid #e2e8f0;background:#fff}
.panel-disclosure>summary{padding:15px 14px;cursor:pointer;font-size:14px;font-weight:600;color:#243d5b;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px}
.panel-disclosure>summary::-webkit-details-marker{display:none}
.panel-disclosure>summary:after{content:'＋';font-size:17px;color:#7f91a7;flex-shrink:0}
.panel-disclosure[open]>summary:after{content:'−'}
.panel-disclosure[open]>summary{background:#f5f8fc}
.disclosure-body{padding:12px 14px 16px}
.disclosure-body .empty-state{font-size:12px;line-height:1.7}
.build-version{display:inline-block;font-size:9px;margin-left:8px;color:#b5c9e5;vertical-align:middle}
#app-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:48px 44px;gap:0 12px;height:104px;padding:6px 14px;overflow:visible}
#room-size-inputs{margin:auto;justify-self:center}
.header-commerce{margin-left:0;justify-self:end}
.header-actions{grid-column:1 / -1;display:flex;justify-content:flex-end;overflow-x:auto;padding:3px 0;gap:6px}
.header-actions>*{flex:0 0 auto}
#app-layout{height:calc(100vh - 104px)}
@media(max-width:1000px){#app-header{gap:0 6px;padding:6px 8px}.brand{font-size:14px}.brand span{display:none}.header-commerce button{font-size:11px;padding:8px}.header-actions{justify-content:flex-start}}
/* FINAL8: one line header; all actions remain accessible. */
#app-header{display:flex!important;flex-wrap:nowrap!important;gap:10px;height:64px!important;padding:6px 12px;overflow:hidden}
#app-header .brand{flex:0 0 auto;font-size:16px}
#room-size-inputs{flex:0 0 auto;margin:0 auto 0 0;padding:4px;font-size:10px}
#room-size-inputs input{width:55px}
#app-header .header-actions{display:flex!important;flex:1 1 auto;min-width:0;justify-content:flex-end;align-items:center;overflow-x:auto;overflow-y:hidden;height:48px;padding:3px 0}
.header-actions [hidden]{display:none!important}
.header-actions #printQuoteBtn{background:#f7faff;color:#244668;border-color:#bdd0e8}
.header-actions #addCartBtn{background:#2b67e4;color:white;border-color:#2b67e4}
#app-layout{height:calc(100vh - 64px)!important}
.inside-room-form{padding:10px;background:#f1f5fb;border-radius:8px;margin-bottom:12px}
.inside-room-form label,#wallDoorEditor label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px;margin-top:8px}
.inside-room-form input,#wallDoorEditor input{width:95px;padding:6px;border:1px solid #cbd7e7;border-radius:5px}
.inside-room-form small{display:block;font-size:11px;line-height:1.6;color:#748299;margin-top:8px}
#wallDoorEditor{margin-top:14px;padding-top:10px;border-top:1px solid #dfe7f2}
.selected-dimension{padding:10px;background:#edf3ff;border-radius:7px;font-size:16px;font-weight:600;color:#244b7d;margin-bottom:10px}
@media(max-width:1500px){#app-header .brand span{display:none}#app-header .brand{font-size:14px}.header-actions button,.header-actions a{padding:7px 6px;font-size:10px}}
@media(max-width:1150px){#app-header .header-actions{justify-content:flex-start}#app-header{gap:6px}#room-size-inputs b{display:none}.build-version{font-size:8px}}

/* FINAL13: old list layout, explicit three cells */
#placedList .placed-row{grid-template-columns:14px minmax(0,1fr) 20px!important;gap:9px!important;min-height:38px!important;padding:8px 9px!important;cursor:pointer}
#placedList .placed-color{grid-column:1!important;background:#ccc!important}
#placedList .placed-name{grid-column:2!important;font-size:11px!important;color:#234c79!important;min-width:0!important;margin:0!important;padding:0!important;width:auto!important}
#placedList .placed-remove{grid-column:3!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:24px!important;border:0!important;background:transparent!important;color:#ff4545!important;font-size:20px!important;padding:0!important;justify-self:end!important}
#placedList .placed-bundle small{display:block;padding:0 9px 8px;font-size:11px;color:#718096}

/* ASTRO set workflow and panel refinements */
#catalog .set-card .thumb[data-set-thumb]{cursor:pointer;outline-offset:3px}
#catalog .set-card .thumb[data-set-thumb]:focus-visible{outline:3px solid #3979d3}
#catalog .set-card .thumb img{width:100%;height:100%;object-fit:contain}
#placedList{max-height:300px;overflow-y:auto;overscroll-behavior:contain}
.bundle-action-row{display:flex;gap:8px;margin-bottom:10px}
.bundle-action-row button:not([hidden]){display:block;flex:1;min-width:0;padding:10px 4px;border:1px solid #bccfe5;border-radius:7px;background:#eef4ff;color:#234d80;cursor:pointer}
.room-drawing-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.room-drawing-actions span{grid-column:1/-1;font-size:11px;color:#65758a}

/* ASTRO extra room dialog */
#addRoomModal .modal-box{width:min(440px,92vw)}
#addRoomModal label{display:block;margin:10px 0;font-size:13px;font-weight:600;color:#34465b}
#addRoomModal select{width:100%;margin-top:5px;padding:9px;border:1px solid #d4dce6;border-radius:7px;background:white;font-size:13px}
#addRoomModal input{margin-top:5px;box-sizing:border-box}
#addRoomModal .add-room-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#addRoomModal .modal-actions{justify-content:flex-end;display:flex;gap:8px}
#quickGapsBtn.active{background:#dceafb;color:#174b87;border-color:#5c91c5}

/* TEST15: 고객에게 꼭 필요한 배송 지역/배송비 두 항목만 표시합니다. */
.excel-quote-modal{max-width:430px!important;width:calc(100vw - 32px);box-sizing:border-box}
.excel-quote-modal .excel-quote-label{display:block;margin:14px 0 8px;font-size:14px;font-weight:600}
.excel-quote-modal #excelDeliveryRegion{display:block;width:100%;padding:12px;border:1px solid #d0d9e5;background:white;border-radius:8px;font-size:14px;box-sizing:border-box;color:#263445}
.excel-quote-fee{display:flex;align-items:center;justify-content:space-between;padding:17px 2px 12px;font-size:14px}
.excel-quote-fee strong{font-size:20px;color:#193e70}
.excel-quote-status{font-size:12px;color:#9c332b;line-height:1.5;margin:8px 0 0}
#excelQuoteDownload[disabled]{opacity:.55;cursor:not-allowed}
/* TEST16 final: right-panel hierarchy only; left categories preserved. */
#property-panel>.panel-disclosure>summary{background:#e9f0f8;color:#193c62;font-weight:800;border-left:4px solid #7396bc;padding:16px 14px;font-size:15px}
#property-panel>#roomStartPanel>summary{background:#203b60;color:#fff;border-left-color:#203b60}
#property-panel .precision-subpanel{margin-top:16px;border-top:1px solid #d4deea}
#property-panel .placed-list{max-height:300px;overflow-y:auto}
.placed-product-group{border:1px solid #d6e0ec;border-radius:5px;margin:7px 0;background:#fff}
.placed-product-group>summary{cursor:pointer;padding:12px 10px;color:#244d78;font-size:12px;line-height:1.6}
.placed-product-group>summary b{white-space:nowrap;font-size:14px;margin-left:6px}
.placed-product-group .placed-row{margin:4px;border-color:#eef1f6}
.excel-quote-modal input,.excel-quote-modal select{display:block;width:100%;margin:8px 0;padding:10px;border:1px solid #cbd7e4;border-radius:4px;box-sizing:border-box}
.delivery-notice{padding:12px;background:#fff4dd;border-left:4px solid #d99027;line-height:1.8;font-size:13px;color:#63420d}
.delivery-notice strong{display:block}
.quote-preview-box{width:min(960px,96vw)!important;max-width:960px!important;max-height:94vh;overflow:auto}
#quotePages{background:#e4e8ed;padding:14px}
#quotePages canvas{display:block;width:100%;height:auto;margin:0 auto 16px;background:#fff;box-shadow:0 2px 8px #0002}
#quotePreviewModal .modal-actions{position:sticky;bottom:0;background:#fff;padding:12px;display:flex;flex-wrap:wrap;gap:8px}
[hidden]{display:none!important}

#quotePreviewModal .modal-actions button{border:1px solid #c8d5e3;border-radius:5px;padding:11px 16px;background:#f7f9fc;color:#25446b;font:600 14px inherit;cursor:pointer}
#quotePreviewModal .modal-actions .primary{background:#23466e;border-color:#23466e;color:#fff}

/* TEST16 final-04: visible post-placement controls, without overlap or clipped buttons. */
#app-header{height:auto!important;min-height:64px;flex-wrap:wrap!important;overflow:visible!important}
#app-header .header-actions{justify-content:flex-start!important;flex-wrap:wrap;overflow:visible!important;height:auto!important;gap:6px}
#app-header .header-actions button,#app-header .header-actions a{flex:0 0 auto;white-space:nowrap}
#quickGapsBtn{border-color:#80b4ff!important;background:#234f86!important}
#quickGapsBtn.active{background:#2b67e4!important;border-color:#fff!important}
#app-layout{height:calc(100vh - var(--astro-header-height,110px))!important}
@media(max-width:1700px){#app-header .header-actions{flex-basis:100%!important}#room-size-inputs{margin-left:auto!important;flex-shrink:0}}

/* TEST16 v05: delivery first, simple elevator radio selection. */
.quote-elevator{border:0;padding:10px 0;margin:0;display:flex;gap:24px;align-items:center}
.quote-elevator legend{font-size:13px;font-weight:600;margin-bottom:8px}
.quote-elevator label{display:inline-flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
#excelQuoteModal .quote-elevator input{width:auto;margin:0;accent-color:#2868d7}
.required-mark{color:#d62f2f}

/* TEST16 v12: unified warm section headers and focused customer actions. */
#property-panel>.panel-disclosure>summary,#property-panel>#roomStartPanel>summary{background:#FBE6CC;color:#243B55;border-left:4px solid #D99A52;font-weight:800}
#property-panel>.panel-disclosure[open]>summary{background:#F7DCBA;border-left-color:#BC7A34}
#property-panel .disclosure-body{background:#fff}
#property-panel>#accessoryListPanel>summary{background:#f0f1f3;border-left-color:#b9bfc8}
body:not(.astro-staff) .advanced-set-actions,body:not(.astro-staff) #registerSetBtn,body:not(.astro-staff) #exportSetsBtn,body:not(.astro-staff) #importSetsInput{display:none!important}
#propEditor>.bundle-action-row{position:relative;margin:0 0 12px;display:flex;gap:8px}#propEditor>.bundle-action-row button{flex:1;background:#fff3e4;border:1px solid #D99A52;color:#243B55;padding:11px;border-radius:7px}
[hidden]{display:none!important}
#customerConfig{border:1px solid #d8e1ec;border-radius:8px;padding:10px;margin-bottom:12px}#customerConfig summary{font-weight:700;cursor:pointer}.config-quantity{display:flex;align-items:center;gap:8px;margin:10px 0}.config-quantity span{flex:1;font-size:12px}.config-quantity input{width:65px;padding:7px}.customer-config-body p{font-size:12px;line-height:1.6;color:#64748b}.customer-config-body button{padding:8px;border:1px solid #ccd7e2;border-radius:6px;background:white}
.set-includes{font-size:11px;color:#64748b;line-height:1.6;margin:7px 0}#roomWelcome label{display:block;margin:12px 0}#roomWelcome input{margin-top:6px}#roomWelcome button,#roomFitSuggestion button{padding:10px;margin:5px 3px;border-radius:6px;border:1px solid #bfcddd}#roomWelcome .primary{background:#243B55;color:white}#roomAppliedSize{font-weight:700;font-size:13px;color:#b16a27;margin:8px 0}.space-applied{animation:roomApplied 1s ease 2}@keyframes roomApplied{50%{box-shadow:inset 0 0 0 4px #D99A52}}
#totalPrice:after{content:'상품 공급가액 · 배송비/부가세 별도';display:block;font-size:10px;font-weight:400;color:#64748b;margin-top:3px}

body:not(.astro-staff) #adminLink{display:none!important}

body:not(.astro-staff) #catalog-panel .quick-create{display:none!important}

/* v10: one measurement action beside the view choices. */
#view-toolbar{flex-direction:column;max-width:calc(100% - 20px)}
#view-toolbar .view-buttons{display:flex;gap:4px;justify-content:center}
#view-toolbar #quickGapsBtn{width:100%;background:#FBE6CC!important;border-color:#D99A52!important;color:#243B55!important;font-weight:700;white-space:nowrap}
#view-toolbar #quickGapsBtn.active{background:#F2CF9D!important;border-color:#C8873E!important}
#view-toolbar #quickGapsBtn:disabled{opacity:.5;cursor:default}
#viewport-wrap .toast{bottom:112px}
/* FINAL33: persistent section headings; only the active section body scrolls. */
#property-panel{display:flex;flex-direction:column;overflow:hidden;min-height:0}
#property-panel>details{flex:0 0 auto;min-height:0}
#property-panel>details[open]{display:flex;flex-direction:column;flex:1 1 auto;overflow:hidden}
#property-panel>details>summary{flex:0 0 auto}
#property-panel>details[open]>.disclosure-body{min-height:0;overflow:auto;overscroll-behavior:contain}
#propEmpty{color:#243b55;font-size:15px;line-height:1.8;padding:20px 12px;background:#edf4fc;border-radius:8px}
#placedList{max-height:none;overflow:visible}
#dimAddBtn{padding:8px 12px}
.astro-consult{background:#fee500!important;color:#191919!important;border:0!important;border-radius:7px;padding:11px 15px}
.astro-notice{background:#edf4fc;padding:12px;line-height:1.6;font-size:13px;color:#243b55}
.astro-settings label{display:block;margin:12px 0}.astro-settings input,.astro-settings select,.astro-settings textarea{width:100%;padding:8px;box-sizing:border-box}.astro-settings input[type=checkbox]{width:auto}.astro-settings textarea{min-height:100px}.astro-settings .modal-box{max-height:88vh;overflow:auto;max-width:700px}
.extra-row{grid-template-columns:1fr 1fr!important}.extra-row button{justify-self:end}.extra-row input{width:100%}
#view-toolbar .measurement-actions{display:flex;gap:6px;width:100%}#view-toolbar .measurement-actions>button{flex:1;width:auto!important;white-space:nowrap}

.catalog-list>.set-collection{grid-column:1/-1;border:1px solid #d3deeb;border-radius:10px;overflow:hidden}.set-collection>summary{cursor:pointer;background:#fbe6cc;color:#243b55;padding:13px;font-weight:700}.set-collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.set-collection-grid>.card{min-width:0}

/* Keep all section headings visible and let the selected section scroll. */
#property-panel>details[open]>.disclosure-body{flex:1 1 0;min-height:0;overflow-y:auto;padding-bottom:24px}
#property-panel .precision-subpanel>.disclosure-body{overflow:visible;max-height:none}
#property-panel h4{margin:16px 0 8px;border-bottom:1px solid #ddd;padding-bottom:6px}

#excelQuoteModal .modal-box{position:relative}
.quote-dialog-header{position:sticky;top:0;z-index:3;display:flex;align-items:center;justify-content:space-between;background:#fff;padding:8px 0;border-bottom:1px solid #e2e8f0}
.quote-dialog-header h3{margin:8px 0}
.quote-close-x{width:40px;height:40px;flex:0 0 40px;font-size:27px;line-height:1;background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:7px}
.quote-form-x{position:sticky;top:0;float:right;z-index:3}
#quotePreviewModal .modal-actions,#excelQuoteModal .modal-actions{display:flex;align-items:center;justify-content:flex-start;gap:8px;flex-wrap:wrap}
#quotePreviewModal .modal-actions [data-close],#excelQuoteModal .modal-actions [data-close]{margin-left:auto;order:99}
#quoteEmailForm{padding:16px;margin:12px 0;background:#f1f5f9;border-radius:8px}
#quoteEmailForm[hidden]{display:none}
#quoteEmailTo{display:block;width:100%;padding:10px;margin:8px 0}

.panel-purpose{font-size:12px;line-height:1.65;color:#64748b;margin:4px 0 14px}

/* Explicit physical dimensions, separate from wall display height. */
.structure-dims label{font-size:11px;min-width:0;color:#425168}
#wallDisplayLabel{display:grid;gap:8px;margin:12px 0}
#wallDisplayLabel[hidden]{display:none}
#wallDisplayLabel label{display:flex;align-items:center;justify-content:space-between;gap:8px}
#wallDisplayLabel select{max-width:160px}

#quickGapInput{position:fixed;z-index:45;width:260px;padding:14px;background:#fff;border:1px solid #b6c8dc;border-radius:10px;box-shadow:0 5px 20px #14243826;color:#263b50;font-size:13px}
#quickGapInput strong,#quickGapInput span,#quickGapInput small{display:block;margin-bottom:8px}
#quickGapInput input{width:150px;padding:9px;font-size:17px;border:1px solid #afbed0;border-radius:6px}
#quickGapInput button{width:100%;padding:9px;margin:9px 0;background:#245fbb;color:white;border:0;border-radius:6px}
#quickGapInput small{font-size:11px;line-height:1.6;margin:0;color:#607186}

#dimensionSnapHint{max-width:360px;white-space:normal;text-align:center}
#gapMeasureBtn.is-active{background:#2768e4!important;color:white!important}
@media(max-width:600px){#view-toolbar .measurement-actions{flex-wrap:wrap}}

/* v72: exact direct measurement length entry */
#view-toolbar .direct-length-controls[hidden]{display:none!important}
#view-toolbar .direct-length-controls{display:flex;flex-direction:column;gap:5px;padding:8px;background:#f5f8fc;border:1px solid #d9e2ec;border-radius:7px;font-size:12px;color:#283a50}
#view-toolbar .direct-length-controls input{box-sizing:border-box;width:100%;padding:7px 9px;border:1px solid #b6c6d5;border-radius:5px;font-size:14px;background:#fff;color:#122333}
#view-toolbar .direct-length-controls small{font-size:11px;line-height:1.45;color:#607186}

/* v74: compact CAD measurement controls */
#directLengthControls[hidden],#dimensionSnapHint[hidden]{display:none!important}
#directLengthControls{max-width:265px!important;padding:5px 8px!important;gap:5px!important;font-size:12px!important}
#directLengthControls input{height:32px!important;font-size:13px!important}
#dimensionSnapHint{display:none!important}

/* v75: compact shared product / set card actions */
#catalog .astro-card-price-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 6px;margin:7px 0;}
#catalog .astro-card-price-row .card-price{margin:0!important;min-width:0;}
#catalog .astro-card-links{display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
#catalog .astro-card-price-row a{font-size:11px;font-weight:600;white-space:nowrap;text-decoration:underline;text-underline-offset:2px;color:#536783;}
#catalog .astro-card-price-row a:hover{color:#1e5cbc;}

.structure-selection .selected-name{font-weight:700;font-size:14px;margin:12px 0}.structure-selection:empty{display:none}.structure-selection .snap-guide{display:none}

/* Unified catalogue search */
.unified-search-filters,.unified-search-heading,.unified-search-empty,.unified-area-results{grid-column:1/-1}
.unified-search-filters{display:flex;flex-wrap:wrap;gap:5px;padding:3px 0 8px}.unified-search-heading{font-size:14px;margin:8px 0 0;padding:9px 3px 6px;border-bottom:1px solid #dce5ef;color:#243b55}.unified-search-empty{font-size:13px;color:#64748b;margin:6px 0}.unified-area-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.unified-area-results>p{grid-column:1/-1;font-size:13px;color:#64748b}.unified-area-results .area-layout-card{min-width:0}@media(max-width:1150px){.unified-area-results{grid-template-columns:1fr}}

/* Keep search type filters within reach while results scroll. */
#catalog .unified-search-filters{position:sticky;top:0;z-index:25;align-self:start;margin:-9px -9px 0;padding:10px 9px;background:#f7f9fc;border-bottom:1px solid #dce5ef;box-shadow:0 3px 6px rgba(25,50,80,.06)}

.construction-replay-panel{position:fixed;z-index:1200;left:50%;bottom:70px;transform:translateX(-50%);max-width:calc(100vw - 28px);width:530px;padding:14px 18px;background:#fff;color:#16344e;border:1px solid #cedbea;border-radius:12px;box-shadow:0 6px 24px #152d4b33}.construction-replay-panel[hidden]{display:none}.construction-replay-panel>strong{margin-right:15px}.construction-replay-panel>span{font-size:13px}.construction-replay-panel>div{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin:10px 0}.construction-replay-panel label{display:flex;align-items:center;gap:5px}.construction-replay-panel select{width:auto;padding:7px}.construction-replay-panel small{color:#64748b}.construction-replay-panel button{padding:8px 11px}

/* Recording controls stay above the 3D viewport and can be moved by their title. */
.construction-replay-panel{top:8px;bottom:auto;width:530px;padding:8px 12px;border-radius:9px}.construction-replay-panel>header{display:flex;align-items:center;gap:12px;cursor:move;touch-action:none;user-select:none;background:none;padding:0;height:auto;color:#16344e;box-shadow:none;position:static;min-height:0}.construction-replay-panel>header strong{font-size:14px}.construction-replay-panel>header span{font-size:12px}.construction-replay-panel>header small{margin-left:auto;font-size:11px;color:#64748b}.construction-replay-panel>div{margin:5px 0 0;gap:6px}.construction-replay-panel>small{display:none}.construction-replay-panel button{padding:5px 9px;font-size:12px}.construction-replay-panel select{padding:4px;font-size:12px}.construction-replay-panel label{font-size:12px}

#mirrorSetBtn{width:100%;margin-top:8px;border-color:#93b6f7;color:#1956b9;background:#eff6ff}
.construction-replay-panel.portrait{width:230px;max-width:calc(100vw - 16px)}
.construction-replay-panel>div{flex-wrap:wrap}

body.astro-replay-filming #view-toolbar,body.astro-replay-filming #tools-toolbar,body.astro-replay-filming #hint-bar,body.astro-replay-filming #price-summary{visibility:hidden!important}
body.astro-replay-filming #viewer{background:#263445}body.astro-replay-filming #viewer canvas{box-shadow:0 0 0 1px #ffffff80}
