/* Single Photo / Vector manual editor — isolated 0.18.96.219 */
.xyz3d-vector-edit200{display:grid;gap:9px}
.xyz3d-ve200-actions{display:flex;flex-wrap:wrap;gap:6px}
.xyz3d-ve200-actions button{appearance:none;min-height:34px;padding:6px 10px;border:1px solid rgba(86,170,207,.30);border-radius:8px;background:rgba(6,24,39,.92);color:#dff5ff;font-size:10px;font-weight:800;line-height:1.2;cursor:pointer;box-shadow:none}
.xyz3d-ve200-actions button:hover:not(:disabled){border-color:rgba(87,220,255,.72);background:rgba(9,52,72,.96);color:#fff}
.xyz3d-ve200-actions button.is-active,.xyz3d-vector-edit200.is-active [data-ve200-open]{border-color:#6ee4ff;background:linear-gradient(135deg,#0c789a,#105e85);color:#fff;box-shadow:0 0 0 1px rgba(106,229,255,.18) inset}
.xyz3d-ve200-actions button:disabled{opacity:.42;cursor:not-allowed;background:rgba(7,18,29,.72);color:#6f8999;border-color:rgba(86,140,165,.18)}
.xyz3d-ve200-actions button.is-primary{border-color:rgba(72,223,255,.62);background:linear-gradient(135deg,#0d789b,#116289);color:#fff;font-weight:850}
.xyz3d-ve200-actions-secondary{padding-top:2px}
.xyz3d-vector-edit200>small{font-size:11px;line-height:1.4;opacity:.75}
.xyz3d-ve200-help{opacity:.62!important}
.xyz3d-vector-edit200-stage{position:absolute;inset:0;z-index:14;display:grid;place-items:center;background:#04111d;overflow:hidden;touch-action:none;cursor:default}
.xyz3d-vector-edit200-stage[hidden]{display:none!important}
.xyz3d-vector-edit200-stage>span{position:absolute;right:10px;bottom:9px;padding:4px 7px;border:1px solid rgba(92,218,251,.34);border-radius:999px;background:rgba(4,18,30,.78);color:#8eeaff;font-size:9px;font-weight:850;letter-spacing:.05em;pointer-events:none}
.xyz3d-ve200-svg{display:block;width:100%;height:100%;max-width:100%;max-height:100%;touch-action:none}
.xyz3d-ve200-bg{fill:#04111d;pointer-events:none}
.xyz3d-ve200-path{stroke:#63c9e9;stroke-width:1.05;vector-effect:non-scaling-stroke;pointer-events:none}
.xyz3d-ve200-path.is-selected{stroke:#b7f5ff;stroke-width:2.1;fill:rgba(91,203,236,.18)}
.xyz3d-ve200-hit{stroke:rgba(0,0,0,.001);stroke-width:12;vector-effect:non-scaling-stroke;pointer-events:all;cursor:pointer}
.xyz3d-ve200-node{fill:#04111d;stroke:#d7f7ff;stroke-width:1.05;cursor:grab}
.xyz3d-ve200-node.is-selected{fill:#d7f7ff;stroke:#04111d;stroke-width:1.25}
.xyz3d-ve200-node:active{cursor:grabbing}
.xyz3d-ve200-cut{fill:#06111c;stroke:#ffd36c;stroke-width:1.4;pointer-events:none}
@media(max-width:760px){.xyz3d-ve200-actions button{min-height:38px;padding:7px 9px}}

.xyz3d-vector-edit200-stage[data-ve200-tool="knife"] .xyz3d-ve200-hit{fill:none;pointer-events:stroke;cursor:crosshair;stroke-width:18}
.xyz3d-vector-edit200-stage[data-ve200-tool="eraser"] .xyz3d-ve200-hit{pointer-events:none;cursor:crosshair}

.xyz3d-ve200-path.is-hover-erase{stroke:#ff8585!important;stroke-width:2.6;fill:rgba(255,97,97,.08)!important;filter:drop-shadow(0 0 5px rgba(255,128,128,.22));}
.xyz3d-vector-edit200-stage[data-ve200-tool="eraser"] .xyz3d-ve200-hit:hover + .xyz3d-ve200-path{}
.xyz3d-vector-edit200-stage[data-ve200-tool="eraser"] .xyz3d-ve200-hit{pointer-events:none;cursor:crosshair;stroke-width:18}

.xyz3d-vector-edit200-stage[data-ve200-tool="eraser"],.xyz3d-vector-edit200-stage[data-ve200-tool="eraser"] .xyz3d-ve200-svg{cursor:crosshair}

/* Manual final vector is authoritative after closing Vector Edit. Keep the final path visible, hide only editable source-layer outlines so deleted geometry cannot visually reappear. */
/* Manual final remains visually authoritative, but source layers stay as invisible hit targets. */
/* 0.18.96.273 — never hide real layers on editor/3D handoff; visibility is only user-controlled. */
.xyz3d-vector-edit205-final-lock [data-single-svg-preview] .xyz3d-layer142-object{opacity:1!important;pointer-events:all!important;cursor:move!important}

.xyz3d-ve200-path.is-open{fill:none!important;stroke-dasharray:0;stroke:#8fe9ff}
.xyz3d-ve200-path.is-open.is-selected{fill:none!important;stroke:#d9fbff}


/* 0.18.96.266 — Corel-style contour tool inside isolated Vector Edit. */
.xyz3d-ve200-path.is-hover-contour{stroke:#59f2a0!important;stroke-width:2.5!important;fill:rgba(65,235,145,.08)!important;filter:drop-shadow(0 0 5px rgba(74,255,158,.28))}
.xyz3d-ve264-contour-preview{stroke:#5cff9f;stroke-width:1.65;vector-effect:non-scaling-stroke;pointer-events:none;stroke-dasharray:5 3;filter:drop-shadow(0 0 3px rgba(92,255,159,.28))}
.xyz3d-ve273-clearance-preview{stroke:#43bfff;stroke-width:1.55;vector-effect:non-scaling-stroke;pointer-events:none;stroke-dasharray:7 4;stroke-linecap:round;filter:drop-shadow(0 0 3px rgba(67,191,255,.32))}
.xyz3d-vector-edit200-stage[data-ve200-tool="contour"] .xyz3d-ve200-hit{pointer-events:stroke;cursor:pointer;stroke-width:18}
.xyz3d-ve264-contour-settings{display:grid;gap:8px;padding:9px;border:1px solid rgba(74,208,244,.22);border-radius:9px;background:rgba(4,18,29,.58)}
.xyz3d-ve264-contour-settings[hidden]{display:none!important}
.xyz3d-ve264-title{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.xyz3d-ve264-title small{color:#65cce9;font-size:9px}
.xyz3d-ve264-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.xyz3d-ve264-grid label,.xyz3d-ve264-field{display:grid;gap:4px;font-size:10px;font-weight:800;color:#dff7ff}
.xyz3d-ve264-grid input,.xyz3d-ve264-field input,.xyz3d-ve264-field select{width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(84,176,214,.28);border-radius:7px;background:#061725;color:#e9fbff;padding:7px 8px;font-size:10px;font-weight:750}
.xyz3d-ve264-mm{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px}.xyz3d-ve264-mm small{color:#6ed7f1;font-size:9px}
.xyz3d-ve264-corners{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:800}.xyz3d-ve264-corners>div{display:flex;gap:5px}.xyz3d-ve264-corners button{width:34px;min-height:30px;padding:3px!important;font-size:15px!important}.xyz3d-ve264-corners button.is-active{border-color:#6ee4ff!important;background:linear-gradient(135deg,#0c789a,#105e85)!important;color:#fff!important}
.xyz3d-ve264-check{display:flex;gap:7px;align-items:flex-start;font-size:10px;font-weight:800;color:#e5f9ff}.xyz3d-ve264-check input{margin-top:2px}
.xyz3d-ve264-apply{appearance:none;min-height:36px;border:1px solid rgba(121,239,255,.92);border-radius:8px;background:linear-gradient(135deg,#1596b7,#12799a);color:#fff;font-size:10px;font-weight:900;cursor:pointer;box-shadow:0 0 0 1px rgba(121,239,255,.16) inset,0 0 10px rgba(55,205,238,.16)}.xyz3d-ve264-apply:hover:not(:disabled){background:linear-gradient(135deg,#1bb2d5,#168eae);border-color:#b2f6ff;box-shadow:0 0 0 1px rgba(196,249,255,.22) inset,0 0 13px rgba(65,218,250,.24)}.xyz3d-ve264-apply:disabled{opacity:.4;cursor:not-allowed}
.xyz3d-ve264-help{font-size:9px;line-height:1.35;color:#7bcce0}

/* 0.18.96.266 — multi-select/move, align and magnetic lasso. */
.xyz3d-vector-edit200-stage[data-ve200-tool="select"] .xyz3d-ve200-hit{pointer-events:stroke;cursor:move;stroke-width:18}
.xyz3d-ve200-path.is-hover-select{stroke:#8df3c0!important;stroke-width:2.1!important;fill:rgba(76,237,159,.06)!important}
.xyz3d-ve200-path.is-selected{stroke:#6ff0c4;stroke-width:2.1;fill:rgba(63,224,170,.13)}
.xyz3d-ve200-path.is-selected.is-primary-selected{stroke:#c2fbff;stroke-width:2.45;filter:drop-shadow(0 0 4px rgba(89,236,255,.22))}
.xyz3d-ve265-select-settings,.xyz3d-ve265-lasso-settings{display:grid;gap:8px;padding:9px;border:1px solid rgba(74,208,244,.22);border-radius:9px;background:rgba(4,18,29,.58)}
.xyz3d-ve265-select-settings[hidden],.xyz3d-ve265-lasso-settings[hidden]{display:none!important}
.xyz3d-ve265-align-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.xyz3d-ve265-align-grid button,.xyz3d-ve265-lasso-actions button{appearance:none;min-height:32px;border:1px solid rgba(86,170,207,.32);border-radius:7px;background:#061725;color:#e9fbff;font-size:14px;font-weight:900;cursor:pointer}
.xyz3d-ve265-align-grid button:hover:not(:disabled),.xyz3d-ve265-lasso-actions button:hover:not(:disabled){border-color:#65dffb;background:#0a3146}
.xyz3d-ve265-align-grid button:disabled,.xyz3d-ve265-lasso-actions button:disabled{opacity:.38;cursor:not-allowed}
.xyz3d-ve265-lasso-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.xyz3d-vector-edit200-stage[data-ve200-tool="lasso"],.xyz3d-vector-edit200-stage[data-ve200-tool="lasso"] .xyz3d-ve200-svg{cursor:crosshair}
.xyz3d-vector-edit200-stage[data-ve200-tool="lasso"] .xyz3d-ve200-hit{pointer-events:none}
.xyz3d-ve265-lasso,.xyz3d-ve265-lasso-draft{stroke:#76f4b8;stroke-width:1.5;vector-effect:non-scaling-stroke;pointer-events:none;stroke-linejoin:round;stroke-linecap:round}
.xyz3d-ve265-lasso{stroke-dasharray:5 3}
.xyz3d-ve265-lasso-draft{stroke:#b7fff0;stroke-dasharray:2 4}
.xyz3d-ve265-lasso-draft.is-snap{stroke:#ffe88b;stroke-width:2.2}
.xyz3d-ve265-lasso-node{fill:#071724;stroke:#b9fff0;stroke-width:1.2;pointer-events:none}
.xyz3d-ve265-lasso-node.is-first{fill:#4cf2a0;stroke:#ffffff;stroke-width:1.5}

/* 0.18.96.268 — contour direction: To centre / Inside / Outside. */
.xyz3d-ve267-directions{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;font-weight:800;color:#e4f9ff}
.xyz3d-ve267-directions>div{display:flex;gap:5px}
.xyz3d-ve267-directions button{appearance:none;min-width:38px;height:30px;padding:3px 7px!important;border:1px solid rgba(86,170,207,.32);border-radius:7px;background:#061725;color:#dff7ff;font-size:10px!important;font-weight:900;cursor:pointer}
.xyz3d-ve267-directions button:first-child{font-size:17px!important;line-height:1}
.xyz3d-ve267-directions button.is-active{border-color:#6ee4ff!important;background:linear-gradient(135deg,#0c789a,#105e85)!important;color:#fff!important;box-shadow:0 0 0 1px rgba(110,228,255,.12) inset}
.xyz3d-ve264-grid input:disabled{opacity:.42;cursor:not-allowed}

/* 0.18.96.269 — Select/Move transform controls + inner-corner contour option. */
.xyz3d-ve269-transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.xyz3d-ve269-transform-grid label{display:grid;gap:4px;font-size:10px;font-weight:800;color:#dff7ff}
.xyz3d-ve269-transform-grid input{width:100%;min-width:0;box-sizing:border-box;border:1px solid rgba(84,176,214,.28);border-radius:7px;background:#061725;color:#e9fbff;padding:7px 8px;font-size:10px;font-weight:750}


/* 0.18.96.277 — live Select / Move sliders; keep legacy Apply hook structurally present but invisible. */
.xyz3d-ve276-compat-apply{display:none!important}
.xyz3d-ve269-transform-grid{grid-template-columns:1fr;gap:10px}
.xyz3d-ve276-slider-field{display:grid;gap:6px;padding:8px 9px;border:1px solid rgba(84,176,214,.22);border-radius:8px;background:rgba(5,23,37,.72)}
.xyz3d-ve276-slider-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#dff7ff;font-size:10px;font-weight:800}
.xyz3d-ve276-slider-field output{min-width:52px;text-align:right;color:#78e8ff;font-variant-numeric:tabular-nums;font-size:11px;font-weight:900}
.xyz3d-ve276-slider-field input[type=range]{width:100%;margin:0;padding:0;accent-color:#63def8;cursor:ew-resize;background:transparent;border:0}
.xyz3d-ve276-slider-field input[type=range]:active{cursor:grabbing}
