.construction-panel,.construction-launch{border:1px solid var(--line,#294552);border-radius:14px;padding:18px;margin:16px 0;background:var(--panel,#101f2a)}
.construction-panel[hidden]{display:none}.construction-launch{display:flex;align-items:center;justify-content:space-between;gap:16px}.construction-launch p{font-size:13px;color:var(--muted,#a7b9c5);margin:6px 0}.construction-launch .actions{flex-shrink:0}
.construction-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px;margin:15px 0}.construction-field{display:grid;grid-template-columns:minmax(0,1fr) 106px;gap:8px;align-items:center}.construction-field label{font-size:13px;overflow-wrap:anywhere}.construction-field small{white-space:nowrap;color:var(--muted,#a7b9c5)}.construction-field input[type=range]{grid-column:1/-1;width:100%;min-height:32px;accent-color:#8ad4bb}.construction-field input[type=number]{width:100%;min-width:0;padding:9px}.construction-mode{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 0;font-size:13px}.construction-mode select{max-width:100%;flex:1;min-width:140px}
.construction-panel details{margin:18px 0}.construction-panel summary{cursor:pointer;line-height:1.5}.construction-check{display:flex;align-items:center;gap:9px;font-size:13px}.construction-check input{width:20px;height:20px}.construction-metrics{display:flex;gap:12px;flex-wrap:wrap;margin:15px 0}.construction-metrics>div{display:grid;gap:6px;padding:12px;background:#0b1821;border-radius:9px;min-width:130px}.construction-metrics span{font-size:12px;color:#aabecb}.construction-metrics b{font-size:16px}.construction-drawings{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:8px;margin:14px 0}.construction-drawings svg{width:100%;max-height:410px;background:#091721;border-radius:12px}.construction-legend{display:flex;gap:15px;flex-wrap:wrap;font-size:12px}.construction-legend span:nth-child(1){color:#efaf7f}.construction-legend span:nth-child(2){color:#75b8ea}.construction-legend span:nth-child(3){color:#82d5b3}.construction-proposals{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.construction-proposals button{display:grid;gap:5px;text-align:left;white-space:normal;max-width:100%}.construction-panel .notice{white-space:normal;overflow-wrap:anywhere}.construction-preview{width:min(930px,96vw)}.construction-special .dbr-standard-volume{display:none!important}.construction-active #dimensions,.construction-line #tubeSettings,.construction-active #doubleBassReflexSettings .dbr-geometry{display:none!important}.construction-active #doubleBassReflexSettings [data-dbr-diagram]{display:none}.construction-panel .table-scroll{max-width:100%;overflow:auto}.construction-panel .parts{width:100%}
@media(max-width:600px){.construction-panel,.construction-launch{padding:13px}.construction-launch{display:block}.construction-launch .actions{margin-top:12px}.construction-panel h3{font-size:18px}.construction-fields{grid-template-columns:1fr}.construction-drawings{grid-template-columns:1fr}.construction-mode{display:grid}.construction-field{grid-template-columns:minmax(0,1fr) 96px}.construction-metrics>div{min-width:0;flex:1 1 140px}.construction-metrics b{font-size:15px}}
@media print{.construction-drawings svg{background:#10212a;print-color-adjust:exact}.construction-drawings{display:flex}.construction-drawings svg{width:48%}.construction-launch{display:none}}
/* The existing type selector lives in an intrinsic grid. Charts and long
   translated labels must not make its anonymous child wider than the phone. */
#page-box .step-intro>div{min-width:0}.construction-panel,.construction-launch{max-width:100%;min-width:0;box-sizing:border-box}.construction-panel .chart{min-width:0;max-width:100%}.construction-panel canvas{max-width:100%}.construction-panel input,.construction-panel select{min-width:0}.construction-panel .construction-fields>*{min-width:0}.construction-panel svg{min-width:0}.construction-launch .actions{flex-wrap:wrap}#construction-mltl,#construction-open-baffle{overflow-wrap:anywhere}

.construction-manual #page-box .dbr-standard-volume{display:none!important}
