/* Forma3D Editor V2 */
.v2-stage{position:relative;width:100%;height:clamp(330px,56vh,580px);border-radius:16px;background:radial-gradient(circle at 40% 24%,#465367 0%,#253242 42%,#151d28 84%);border:1px solid #47586b;overflow:hidden;isolation:isolate}
.v2-stage #viewer{position:absolute;inset:0;width:100%;height:100%;min-height:0;display:block;background:transparent;border:0;touch-action:none;cursor:grab;z-index:2}
.v2-stage #viewer:active{cursor:grabbing}.v2-raster{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;z-index:3}/* Grid sits above the model; it MUST NOT inherit the opaque global canvas background. */
.v2-stage .v2-overlay{position:absolute;inset:0;width:100%;height:100%;min-height:0;pointer-events:none;z-index:1;background:transparent;border-radius:0}
.v2-label{position:absolute;top:15px;left:15px;z-index:4;background:#0e1b2ba6;color:#cee4ed;border:1px solid #6474817a;border-radius:8px;padding:6px 10px;font-size:10px;letter-spacing:.12em;font-weight:700;pointer-events:none}
.v2-toolbar{position:absolute;right:12px;top:12px;display:flex;gap:5px;z-index:4}.v2-toolbar button{padding:9px 10px;font-size:12px;min-height:36px;color:#f5f2e9;background:#273746e0;border:1px solid #66768a;border-radius:8px}.v2-toolbar button:focus-visible{outline:2px solid #efd19c}
.v2-footer{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;margin:9px 0 1px;color:#b6d4ce;font-size:12px}.v2-explain{margin:3px 0 15px;font-size:12px;color:#96a8b6}
.v2-control{margin-bottom:16px}.v2-control .control-head{margin-bottom:6px;align-items:center}.v2-control .control-head small{color:#91a7b7;font-size:11px}.v2-control-line{display:flex;align-items:center;gap:11px}.v2-control-line input[type="range"]{flex:1;width:100%;min-width:50px;margin:0;height:26px;accent-color:#f4c38e}.v2-number{display:flex;align-items:center;background:#121b28;border:1px solid #586476;border-radius:9px;overflow:hidden}.v2-number input{color:#f5f2e9;min-width:0;width:73px;font:600 14px system-ui;padding:8px 5px 8px 9px;text-align:right;background:transparent;border:0;outline-offset:-2px}.v2-number em{font:12px system-ui;color:#9fb3c5;padding:0 8px 0 1px;min-width:19px}
.v2-print{border-top:1px solid #3d4b59;padding-top:16px;margin-top:15px}.v2-print h3{font-size:15px;margin:0 0 11px}.v2-print label{display:inline-flex;align-items:center;gap:5px;margin:0 5px 9px 0;color:#b9c6d3;font-size:12px}.v2-print input{width:53px;background:#111b27;border:1px solid #556476;color:#fff;border-radius:6px;padding:6px 4px;font:13px system-ui}.v2-inspection{border-radius:10px;padding:11px 12px;background:#192d2b;color:#c0e4d1;font-size:12px;line-height:1.5;margin:5px 0 8px}.v2-inspection.v2-bad{background:#3a292c;color:#f4b6aa}.v2-hint{font-size:11px;color:#a1b1c1;line-height:1.4;margin:8px 0}
@media(max-width:720px){.studio-layout>.panel:nth-child(2){order:-1}.v2-stage{height:340px}.v2-toolbar{top:auto;bottom:12px;right:10px}.v2-label{left:10px;top:10px;font-size:9px}.v2-toolbar button{min-height:43px;padding:8px 11px}.v2-stage #viewer{height:100%;min-height:0}.v2-footer{font-size:11px}}


/* Per-designer controls: selectors and toggles for future object-specific fields. */
.v2-control>select{appearance:auto;width:100%;padding:12px;border-radius:9px;border:1px solid #586476;background:#121b28;color:#f5f2e9;font:600 14px system-ui}
.v2-control>input[type="checkbox"]{width:24px;height:24px;margin:7px 0 0;accent-color:#f4c38e}

/* V3 compositor: the vector mesh must be above the guide. A global canvas
   radial background previously covered the mesh despite valid SVG paths. */
.v2-stage{background:radial-gradient(circle at 45% 30%,#425064 0%,#243244 44%,#141c29 85%)}
.v2-stage #viewer{z-index:2;background:transparent!important}
.v2-stage .v2-overlay{z-index:1;background:transparent!important}
.v2-stage svg.v2-model-vector{position:absolute;inset:0;z-index:3!important;display:block!important;width:100%;height:100%;overflow:visible;pointer-events:none}
.v2-stage .v2-raster{z-index:3}
.v2-stage .v2-label,.v2-stage .v2-toolbar{z-index:6}
.v3-view-message{position:absolute;left:14%;right:14%;top:40%;padding:12px 16px;text-align:center;border:1px solid #627184;background:#172235e6;border-radius:12px;color:#e3dfd5;font-size:13px;z-index:5;pointer-events:none}
.v3-view-message[hidden]{display:none!important}
.v3-zoom-bar{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;padding:5px 0 14px;font-size:12px;color:#c2cbd4}
.v3-zoom-bar>span{margin-right:auto}.v3-zoom-bar strong{font-weight:700;min-width:46px;text-align:center}
.v3-zoom-bar button{padding:8px 11px;min-height:42px;border-radius:9px;background:#263746;border:1px solid #536379;color:#f5f0e7;font-weight:700;font-size:14px}
.v3-zoom-bar button:focus-visible{outline:2px solid #edb982}
@media(max-width:720px){
  .v2-stage .v2-toolbar{max-width:calc(100% - 12px);right:6px;gap:3px}
  .v2-stage .v2-toolbar button{padding:7px 8px;min-width:40px;min-height:42px;font-size:12px}
  .v3-zoom-bar{gap:6px}.v3-zoom-bar>span{flex-basis:100%}
}
