.vb-model-viewer { display:flex; flex-direction:column; min-width:0; width:100%; height:100%; color:#e8eff5; background:radial-gradient(ellipse at 50% 45%,#26394a60,transparent 72%),#0c141d; }
.vb-model-stage { position:relative; flex:1; min-height:140px; overflow:hidden; background:linear-gradient(#adc8dd05 1px,transparent 1px),linear-gradient(90deg,#adc8dd05 1px,transparent 1px); background-size:28px 28px; }
.vb-model-stage canvas { position:absolute; display:block; inset:0; width:100%; height:100%; touch-action:none; cursor:grab; }
.vb-model-stage.is-dragging canvas { cursor:grabbing; }
.vb-model-stage canvas:focus-visible { outline:2px solid #ffd18a; outline-offset:-3px; }
.vb-model-hint { position:absolute; bottom:12px; left:16px; right:12px; pointer-events:none; color:#a6b8c7; font:8px/1.5 var(--font-mono,monospace); letter-spacing:.08em; }
.vb-model-status { position:absolute; inset:0; display:grid; place-items:center; padding:20px; pointer-events:none; background:#0c141de8; color:#dce6ed; font:12px/1.5 Arial,sans-serif; }
.vb-model-status:empty { display:none; }
.vb-model-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:6px; padding:8px 10px; border-top:1px solid #354858; background:#0d161f; }
.vb-model-label { margin-right:auto; color:#ffc568; font:700 9px/1.5 var(--font-mono,monospace); letter-spacing:.08em; }
.vb-model-toolbar .vb-model-control { flex:none; width:auto; min-width:38px; min-height:40px; margin:0; padding:8px 10px; border:1px solid #506171; border-radius:1px; background:#1b2936; color:#dce7f0; box-shadow:none; clip-path:none; cursor:pointer; font:700 9px/1.4 Arial,sans-serif; letter-spacing:.03em; }
.vb-model-toolbar .vb-model-control:hover { border-color:#ffce80; background:#273746; }
.vb-model-toolbar .vb-model-control:focus-visible { outline:2px solid #ffd18a; outline-offset:2px; }
.vb-model-toolbar .vb-model-control[aria-pressed=true] { border-color:#ffc568; color:#ffc568; background:#392e1d; }
.vb-model-toolbar .vb-model-control:disabled { opacity:.45; cursor:default; }
.vb-model-toolbar .vb-model-control[hidden] { display:none; }
.vb-model-toolbar [data-viewer-action^=zoom] { font-size:18px; line-height:1; }
.vb-career-model-host { min-width:0; height:380px; border-right:1px solid #354858; }
.vb-career-feature:has(.vb-career-model-host) { scroll-margin-top:80px; }
.vb-career-feature:has(.vb-career-model-host) .vb-career-feature-body { padding:24px; }
.vb-career-model-fallback { margin:0!important; padding:8px 16px; color:#a6b8c7; font:11px/1.5 Arial,sans-serif; }
.vb-workshop-preview .vb-model-viewer { background:transparent; }
@media(min-width:1101px) and (max-height:780px) {
  .vb-workshop-caption { padding:12px 18px 0; }
  .vb-workshop-caption h3 { font-size:28px; }
  .vb-workshop-slots { gap:12px; padding:10px; }
  .vb-workshop-slots h3 { margin-bottom:6px; }
  .vb-workshop-options { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .vb-workshop-option { min-height:74px; padding:7px; }
  .vb-workshop-option small { font-size:9px; }
}
@media(max-width:1050px) {
  .vb-career-model-host { border-right:0; border-bottom:1px solid #354858; }
}
@media(max-width:760px) {
  .vb-model-toolbar { gap:5px; padding:8px; }
  .vb-model-label { flex-basis:100%; }
  .vb-model-toolbar .vb-model-control { min-height:44px; min-width:44px; }
  .vb-model-hint { left:12px; font-size:7px; }
  .vb-career-model-host { height:355px; }
  .vb-career-feature:has(.vb-career-model-host) { scroll-margin-top:128px; }
  .vb-workshop-center:has(.vb-model-viewer) { height:400px; }
}
