/* Screen controls only: native art, cuts and print geometry remain unchanged. */
.detail-overlay .detail-footprint polygon{fill:#9edbd305;stroke:#a9eee5;stroke-width:1.35;stroke-dasharray:none;filter:drop-shadow(0 1px 2px #071b20);vector-effect:non-scaling-stroke}
#detailFootprintPolygon,.detail-peer-footprint,.surface-damage-outline .surface-edit-hit{pointer-events:all;touch-action:none;cursor:grab}
.detail-overlay .detail-footprint .detail-peer-footprint{stroke:#a9eee5;fill:#9edbd309;stroke-dasharray:none}
.detail-overlay.dragging .detail-footprint polygon{fill:#9edbd309;stroke:#bcfff1;cursor:grabbing}
.detail-overlay,.surface-damage-overlay,.detail-overlay .detail-footprint,.surface-damage-outline{touch-action:none}
.detail-overlay>button.surface-edit-grip,.surface-damage-overlay>.surface-edit-grip{position:absolute;display:grid;place-items:center;transform:translate(-50%,-50%);width:28px;height:28px;min-width:28px;min-height:28px;margin:0;padding:0;border:0;border-radius:8px;background:transparent;box-shadow:none;pointer-events:auto;touch-action:none;z-index:4;color:#bcfff1;cursor:nwse-resize}
.detail-overlay>.detail-scale.surface-edit-grip svg{display:none}
.detail-overlay>.detail-scale.surface-edit-grip:after,.surface-damage-overlay>.surface-damage-corner:after{content:"";display:block;width:8px;height:8px;border:1.5px solid #123139;border-radius:2px;background:#b4f4e9;box-shadow:0 0 0 1px #a6e4db,0 1px 3px #0008}
.detail-overlay>.surface-edit-grip:hover,.surface-damage-overlay>.surface-edit-grip:hover{background:#a8e8df20}
.detail-overlay>.surface-edit-grip:focus-visible,.surface-damage-overlay>.surface-edit-grip:focus-visible{outline:2px solid #fff;outline-offset:1px;background:#1b4047}
.detail-overlay>.detail-rotate.surface-edit-grip,.surface-damage-overlay>.surface-damage-rotate{cursor:grab;border:1px solid #80bcb7;border-radius:50%;width:24px;height:24px;min-width:24px;min-height:24px;background:#102a30ed;box-shadow:0 1px 5px #0005}
.detail-overlay>.detail-rotate.surface-edit-grip svg,.surface-damage-overlay>.surface-damage-rotate svg{width:14px;height:14px;pointer-events:none}
.detail-action-bar,.surface-damage-tools,.surface-opening-handle{box-shadow:0 5px 18px #0005;border-color:#5f8688;background:#11282ef2;backdrop-filter:blur(10px)}
.detail-action-bar{gap:2px;border-radius:11px}
.detail-overlay .detail-action-bar button{width:34px;height:34px;min-width:34px;color:#dcebe9}
.detail-overlay .detail-action-bar #detailMove{background:transparent;color:#b4eee4}
.detail-overlay.dragging .detail-action-bar{opacity:0;visibility:hidden;pointer-events:none}
.detail-overlay.dragging>.detail-scale,.detail-overlay.dragging>.detail-rotate{opacity:.3}
.detail-overlay .detail-overlay-label{color:#cbe4e1;background:#10272ef0;border:1px solid #477277;border-radius:6px;padding:4px 8px;box-shadow:0 2px 7px #0004}
.detail-overlay:not(.dragging) .detail-overlay-label{display:none}
.detail-overlay.dragging .detail-overlay-label{color:#d7fff5;border-color:#76ada7}
.detail-overlay.is-invalid .detail-footprint polygon{stroke:#f0a891;fill:#f0a89114}
.detail-overlay.is-invalid .detail-overlay-label{border-color:#cc8c79;color:#ffd7c7}
.detail-overlay.is-invalid .detail-overlay-label:before{content:"Cannot place here · "}
.surface-damage-outline .surface-edit-hit{fill:#9edbd30a;stroke:#b0eee3;stroke-width:1.4px;stroke-dasharray:none}
.surface-damage-outline .surface-damage-bounds{fill:none;stroke:#8abdbb;stroke-width:1px;stroke-dasharray:3 4;opacity:.5}
.surface-damage-outline .surface-damage-rotation-stem{stroke:#8abdbb;stroke-width:1px;opacity:.55;pointer-events:none}
.surface-damage-overlay.dragging .surface-damage-outline .surface-edit-hit{fill:#9edbd310;stroke:#bdfff1;cursor:grabbing}
.surface-damage-tools{border-radius:10px;gap:3px;padding:4px}
.surface-damage-tools button{background:transparent;color:#d9ece7;width:32px;height:32px;min-width:32px;font-size:12px}
.surface-damage-tools button svg{width:18px;height:18px;pointer-events:none}
.surface-damage-tools [data-damage-handle=delete]{background:transparent;border-left:1px solid #3d5a60;border-radius:0 5px 5px 0;color:#edb6a7;cursor:pointer}
.surface-damage-tools .surface-damage-label{color:#cfe4df;font-size:10px}
.surface-damage-overlay.dragging .surface-damage-tools button{display:none}
.surface-damage-overlay.dragging .surface-damage-tools{padding:6px 8px;opacity:.95}
.surface-damage-overlay.dragging>.surface-edit-grip{opacity:.35}
.surface-opening-layer{position:absolute;inset:0;z-index:13;overflow:hidden;pointer-events:none}
.surface-opening-layer[hidden]{display:none}
.surface-opening-handle{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;max-width:calc(100% - 24px);padding:7px 10px;border:1px solid #6a9293;border-radius:9px;color:#d5ece6;font:11px system-ui,sans-serif;white-space:nowrap;pointer-events:auto;touch-action:none;cursor:grab}
.surface-opening-handle svg{width:17px;height:17px;pointer-events:none}
.surface-opening-layer.dragging .surface-opening-handle{cursor:grabbing;border-color:#a3ddcf;background:#123139ed}
.surface-opening-layer.dragging .surface-opening-handle span{font-variant-numeric:tabular-nums}
.surface-opening-layer.invalid .surface-opening-handle{border-color:#cb8c79;color:#ffd6c8}
.surface-damage-overlay.invalid .surface-edit-hit{stroke:#efad95;fill:#e7a18b18}
.surface-damage-overlay.invalid .surface-damage-tools{border-color:#cb8c79;color:#ffd6c8}
.surface-opening-handle:focus-visible{outline:2px solid #dbfff1;outline-offset:3px}
@media(pointer:coarse){.detail-overlay>button.surface-edit-grip,.surface-damage-overlay>.surface-edit-grip{width:38px;height:38px;min-width:38px;min-height:38px}.detail-overlay>.detail-rotate.surface-edit-grip,.surface-damage-overlay>.surface-damage-rotate{width:32px;height:32px;min-width:32px;min-height:32px}.surface-opening-handle{min-height:40px;padding:6px 12px}.detail-overlay .detail-action-bar button{width:36px;height:36px;min-width:36px}}
@media(prefers-reduced-motion:no-preference){.detail-action-bar{transition:opacity 100ms}.surface-edit-grip{transition:background 100ms}}
