.bc-transfer-options{grid-column:1/-1;border:1px solid #bdb0d3;background:#f3eef9;padding:10px;border-radius:9px;margin-bottom:12px}
.bc-transfer-options .bc-checkbox{display:flex;align-items:center;gap:8px}.bc-transfer-options .bc-checkbox input{width:20px;min-height:24px}
.bc-transfer-readout{white-space:pre-line;font-size:11px;line-height:1.65;color:#573e77;background:#f5f0fb;border:1px solid #c5b6dc;border-radius:8px;margin:6px 10px;padding:7px 9px;max-height:114px;overflow:auto;flex-shrink:0}
.bc-transfer-readout[data-warning=true]{color:#8c381f;background:#fff5ea;border-color:#dbb591}.bc-transfer-readout[hidden],.bc-transfer-options[hidden]{display:none}
.bc-transfer-envelope,.bc-transfer-space,.bc-transfer-axis,.bc-transfer-flat{fill:none;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.bc-transfer-envelope{stroke:#ab91c877}.bc-transfer-envelope.invalid{stroke:#cf525274}.bc-transfer-space{stroke:#e4d6f5}.bc-transfer-axis{stroke:#71528e;stroke-width:1;stroke-dasharray:5 4}.bc-transfer-flat{stroke:#b57c0c;stroke-width:3}
.bc-transfer-wall{fill:#ab91c877;stroke:#8865a5;pointer-events:none}.bc-transfer-bore{fill:#e4d6f5;stroke:#8865a5;pointer-events:none}.bc-transfer-ball{fill:#ebbc78;stroke:#ab6516;stroke-width:1.5;pointer-events:none}
.bc-transfer-hit{fill:#ce3d30;stroke:#fff;stroke-width:1;pointer-events:none}.bc-transfer-handle{cursor:grab}.bc-transfer-dot{fill:#fff;stroke:#77539b;stroke-width:2;pointer-events:none}.bc-transfer-handle.chosen .bc-transfer-dot{fill:#dbc9f3;stroke-width:3}.bc-transfer-label{fill:#604277;font-size:10px;paint-order:stroke;stroke:#f6f2fa;stroke-width:3;pointer-events:none}
@media(max-width:600px){#body-curve-editor .bc-plan:has(.bc-transfer-readout:not([hidden])){min-height:510px}}
#body-curve-editor{width:min(96vw,1560px);height:91dvh;max-height:96dvh;max-width:100vw;padding:0;border:1px solid #b8cbbb;border-radius:16px;background:#f5f7f0;color:#203d30}
#body-curve-editor[open]{display:flex;flex-direction:column;overflow:hidden}#body-curve-editor::backdrop{background:#10291f88}
#body-curve-editor>header{position:static;height:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;background:#183d30;color:#f5f8ee;flex-shrink:0}
#body-curve-editor header>div:first-child{display:grid;gap:2px}#body-curve-editor header small{font-size:10px;letter-spacing:.18em;color:#bad2b7}#body-curve-editor header strong{font-size:18px}#body-curve-editor header>div:last-child{display:flex;flex-wrap:wrap;gap:6px}
#body-curve-editor button{min-height:42px;cursor:pointer}#body-curve-editor .primary{background:#d9ed96;color:#183d30;border-color:#d9ed96;font-weight:700}#body-curve-editor button:disabled{opacity:.45;cursor:default}
#body-curve-editor button[aria-pressed=true]{background:#d9e9cc;border-color:#397253}#body-curve-editor :focus-visible{outline:3px solid #86aa43;outline-offset:2px}
.bc-toolbar{padding:9px 14px;display:flex;flex-wrap:wrap;gap:7px;align-items:center;border-bottom:1px solid #d8e0d1}.bc-toolbar nav{display:flex;gap:3px;margin-right:auto}.bc-toolbar nav button{min-width:86px}
.bc-layout{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 220px;flex:1;min-height:0}.bc-plan,.bc-depth{display:flex;flex-direction:column;min-width:0;min-height:0;border-right:1px solid #d7dfd0}.bc-plan{background:#eff2e8}.bc-depth{background:radial-gradient(ellipse at center,#fff,#e9eee2)}
.bc-pane-title{display:flex;gap:8px;align-items:center;flex-shrink:0;min-height:48px;padding:6px 12px;font-size:12px}.bc-pane-title span{margin-left:auto;font-size:11px;color:#6a7a66}.bc-pane-title button{padding:5px;font-size:11px}
.bc-depth .bc-pane-title{flex-wrap:wrap}.bc-model-name{overflow-wrap:anywhere}.bc-depth [data-action=retry-preview][hidden]{display:none}
.bc-svg{width:100%;height:100%;flex:1;min-height:0;touch-action:none;user-select:none;overflow:hidden}.bc-canvas-host{position:relative;flex:1;min-height:160px;min-width:0;overflow:hidden}.bc-depth canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.bc-depth>small,.bc-hint{font-size:11px;line-height:1.7;padding:10px 12px;margin:0;min-height:42px}.bc-render-status{min-width:58px}
.bc-axis{stroke:#ccd5c4;stroke-width:1;stroke-dasharray:3 5;fill:none}.bc-base{stroke:#a9b89d;stroke-width:1.5;stroke-dasharray:5 5;fill:none}.bc-body{stroke:#346b4f;stroke-width:2;fill:#d9e7cd88;stroke-linejoin:round}.bc-selected-line{stroke:#77a55c;stroke-width:1;stroke-dasharray:5 5}.bc-hit{fill:transparent;stroke:none}.bc-dot{fill:#fff;stroke:#3f7653;stroke-width:2;pointer-events:none}.bc-dot.selected{fill:#e4ec96;stroke:#285837}.bc-handle{cursor:grab}.bc-handle:active{cursor:grabbing}
.bc-roundness-line{stroke:#b46d2b;stroke-width:1.5;stroke-dasharray:4 3;fill:none;pointer-events:none}.bc-roundness-handle{cursor:ew-resize}.bc-roundness-dot{fill:#ffcf8f;stroke:#925624;stroke-width:2;pointer-events:none}.bc-smoothing{border:1px solid #dfd3bd;border-radius:9px;padding:11px;background:#fffaf0;margin:4px 0 12px}.bc-smoothing label{font-weight:600}.bc-smoothing output{color:#976022;font-variant-numeric:tabular-nums}.bc-smoothing input[type=range]{min-height:36px;width:100%;accent-color:#a86c2e;touch-action:pan-y}.bc-roundness-presets{display:flex;gap:3px}.bc-roundness-presets button{padding:5px 2px;font-size:11px;min-width:0}.bc-inspector .bc-smoothing p{font-size:11px;margin:8px 0 0}.bc-smoothing{grid-column:1/-1}
.bc-inspector{padding:14px;overflow:auto;background:#fafbf7}.bc-inspector label{display:grid;gap:6px;font-size:12px;margin:0 0 14px}.bc-inspector input,.bc-inspector select{width:100%;min-width:0;min-height:40px;font-size:14px}.bc-inspector button{width:100%;margin:4px 0;font-size:12px}.bc-inspector p{font-size:11px;line-height:1.8;color:#6a7a66}.bc-inspector hr{border:0;border-top:1px solid #dbe2d4;margin:16px 0}
.bc-fairing{padding:12px;margin-bottom:16px;border:1px solid #a2bba8;border-radius:9px;background:#eaf3e7}.bc-fairing label{font-weight:600}.bc-fairing output{color:#285b3f;font-size:17px}.bc-fairing input[type=range]{accent-color:#286344;touch-action:pan-y;min-height:38px}.bc-fairing button{background:#fff;border-color:#a2bba8}.bc-inspector .bc-fairing p{margin:8px 0 0;color:#465d4a}
.bc-part{--part-color:#2878ae;cursor:grab}.bc-part.ball{--part-color:#c97418}.bc-part.invalid{--part-color:#ba3131}.bc-part-hit{fill:transparent;stroke:none}.bc-part-shape{fill:#edb46a70;stroke:var(--part-color);stroke-width:2;pointer-events:none}.bc-part.invalid .bc-part-shape{fill:#e4757560}.bc-part-clearance{fill:none;stroke:var(--part-color);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}.bc-part-ring{fill:none;stroke:var(--part-color);pointer-events:none}.bc-part-stem{fill:none;stroke:var(--part-color);stroke-width:2;pointer-events:none}.bc-part-center{fill:var(--part-color);stroke:white;stroke-width:1;pointer-events:none}.bc-part-label{fill:var(--part-color);font-size:11px;paint-order:stroke;stroke:#f4f7ef;stroke-width:3;pointer-events:none}.bc-part.chosen .bc-part-hit{stroke:var(--part-color);stroke-width:2;stroke-dasharray:3 3}.bc-parts{padding-bottom:10px;margin-bottom:12px;border-bottom:1px solid #cedbc9}.bc-curve-controls[hidden]{display:none}.bc-check{background:#f0f5e9;border:1px solid #cfdbc4;border-radius:8px;padding:10px;margin-top:12px}.bc-check[data-state=invalid],.bc-check[data-state=error]{background:#fff4ec;border-color:#ddb99c}.bc-check-status{font-size:13px;line-height:1.7}.bc-issues article{padding:10px 0;border-bottom:1px solid #dfcabc}.bc-issues strong{font-size:12px;line-height:1.7}.bc-check small{display:block;font-size:10px;line-height:1.7;color:#6c7465}.bc-inspector .bc-checkbox{display:flex;align-items:center;gap:8px}.bc-inspector .bc-checkbox input{width:20px;min-height:24px}.bc-parts,.bc-curve-controls,.bc-check{grid-column:1/-1}
#body-curve-editor footer{flex-shrink:0;padding:10px 16px;border-top:1px solid #d8e0d1;font-size:11px}.bc-error{margin:0;padding:10px 16px;background:#fff0e7;color:#8c3025;font-size:13px}.bc-error[hidden]{display:none}.body-curve-launch{width:100%;min-height:48px;margin:10px 0}
@media(max-width:1000px){.bc-layout{grid-template-columns:1fr 1fr;overflow:auto}.bc-inspector{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;overflow:visible}.bc-fields{display:contents}.bc-inspector p{grid-column:span 2}.bc-inspector hr{display:none}.bc-plan,.bc-depth{min-height:43dvh}.bc-inspector input{font-size:16px}}
@media(max-width:600px){#body-curve-editor{width:100vw;height:98dvh;max-height:98dvh;border-radius:0}#body-curve-editor>header{padding:10px;flex-wrap:wrap}#body-curve-editor header strong{font-size:16px}#body-curve-editor header>div:last-child{width:100%}#body-curve-editor header button{flex:1;font-size:12px;padding:7px}.bc-toolbar{gap:4px;padding:6px}.bc-toolbar nav{width:100%}.bc-toolbar nav button{flex:1}.bc-toolbar>button{flex:1;font-size:11px}.bc-layout{grid-template-columns:1fr}.bc-plan{min-height:37dvh}.bc-depth{min-height:32dvh}.bc-inspector{grid-template-columns:1fr 1fr}.bc-inspector p{grid-column:1/-1}.bc-pane-title{min-height:36px}.bc-depth>small,.bc-hint{min-height:0;font-size:10px;padding:6px}.bc-inspector select,.bc-inspector input{font-size:16px;min-height:44px}#body-curve-editor footer{font-size:10px;padding:6px}}

#body-curve-editor .bc-validation-banner{margin:8px 16px;padding:14px 18px;border:2px solid #bd3429;border-radius:12px;background:#fff1ed;color:#7e201b;flex-shrink:0;max-height:24vh;overflow:auto}#body-curve-editor .bc-validation-banner[hidden]{display:none}#body-curve-editor .bc-validation-title{font-size:21px;display:block}#body-curve-editor .bc-validation-description{margin:6px 0;font-size:13px}#body-curve-editor .bc-validation-actions{display:flex;gap:8px;flex-wrap:wrap}#body-curve-editor .bc-validation-actions button{border-color:#bd3429;color:#7e201b;text-align:left;white-space:normal}#body-curve-editor .bc-wall-guide{font-size:12px;margin:6px 12px;color:#476376}#body-curve-editor .bc-inner-guide{fill:#c9dfe633;stroke:#547a8d;stroke-width:1.5;stroke-dasharray:6 4;pointer-events:none}#body-curve-editor .bc-error-region{fill:#e6413526;stroke:#c12620;stroke-width:2.5;stroke-dasharray:7 3;pointer-events:none}#body-curve-editor .bc-error-body{fill:none;stroke:#c12620;stroke-width:5;stroke-dasharray:8 5;pointer-events:none}
