#dialog.vessel-dialog{width:min(1100px,96vw);max-width:1100px;padding:24px;max-height:94dvh;overflow:auto}
.vessel-stage{position:relative;border-radius:16px;overflow:hidden;background:#153647;margin-top:12px}
.vessel-3d-host{height:clamp(260px,46vw,530px);width:100%}
.vessel-3d-host canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}
.vessel-3d-host canvas:active{cursor:grabbing}
.vessel-stage-label{position:absolute;top:16px;left:18px;pointer-events:none;font:700 10px/1.4 sans-serif;letter-spacing:.18em;color:#fff;background:#142d3bb3;padding:7px 10px;border-radius:5px}
.vessel-3d-controls{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}
.vessel-3d-controls button{min-height:44px;background:#e1eff2;color:#183e51;border:1px solid #9cb8c5;border-radius:9px;font-weight:700;padding:8px 14px}
.vessel-3d-controls button[aria-pressed=true]{background:#1688b4;color:white;border-color:#1688b4}
.vessel-3d-controls button:focus-visible{outline:3px solid #e3bb32;outline-offset:3px}
.vessel-3d-controls[hidden],.vessel-3d-host[hidden],#vessel3dFallback[hidden]{display:none}
#vessel3dFallback .ship-image{margin:0}
#vessel3dStatus{margin:10px 0;min-height:20px}
@media(max-width:600px){#dialog.vessel-dialog{padding:14px;width:96vw}.vessel-stage{margin-top:26px}.vessel-stage-label{font-size:8px;left:10px;top:10px}.vessel-3d-controls{gap:6px}.vessel-3d-controls button{padding:8px 10px}}
