/* Identical on both hosts; scoped to the slingshot, never the page theme. */
.ds-overhaul { max-width:1000px; width:100%; color:var(--ink,#f2efef); gap:.55rem; }
.ds-overhaul .ds-head { gap:.2rem; }
.ds-overhaul .ds-title { font-size:clamp(1rem,2vw,1.25rem); }
.ds-overhaul .ds-howto { font-size:.82rem; line-height:1.5; border-color:#ffffff15; background:#ffffff04; }
.ds-overhaul .ds-hud { justify-content:center; gap:.4rem; font-size:.8rem; }
.ds-overhaul .ds-hud > span { padding:.3rem .65rem; border-radius:9px; border:1px solid #ffffff16; background:#121b2c; }
.ds-overhaul .ds-score { color:#ffdc8b; }
.ds-overhaul .ds-hits { color:#b9eb8e; }
.ds-overhaul .ds-shots { color:#ffb1a0; }
.ds-stage { position:relative; width:100%; }
.ds-toolbar { display:flex; justify-content:flex-end; gap:5px; flex-wrap:wrap; padding:0 0 7px; }
.ds-control { appearance:none; border:1px solid #ffffff24; border-radius:9px; padding:7px 11px; min-height:36px; background:#1c2837; color:#eaf0f6; font:700 12px/1.3 system-ui,sans-serif; cursor:pointer; }
.ds-control:hover:not(:disabled) { background:#304353; border-color:#8ec1bd; }
.ds-control:disabled { opacity:.35; cursor:default; }
.ds-control:focus-visible { outline:3px solid #9eefe0; outline-offset:2px; }
.ds-control.ds-preview { border-color:#75d7b17d; color:#b2f2d8; }
.ds-overhaul .ds-canvas-shell { border:1px solid #a5d1c641; border-radius:15px; overflow:hidden; background:#142534; box-shadow:0 10px 26px #0005; }
.ds-overhaul .ds-canvas { display:block; width:100%; height:auto; aspect-ratio:9/5; border:0; border-radius:0; box-shadow:none; touch-action:none; user-select:none; -webkit-user-select:none; }
.ds-overhaul .ds-canvas.ds-dragging { cursor:grabbing; }
.ds-overhaul .ds-canvas:focus-visible { outline:3px solid #9eefe0; outline-offset:-3px; }
.ds-overhaul .ds-status { padding:7px 4px 0; font:600 13px/1.45 system-ui,sans-serif; color:#b9cbd0; min-height:30px; }
.ds-overhaul .ds-status.done { color:#a8e5ad; }
.ds-version-note { margin:0; font:400 11px/1.5 system-ui,sans-serif; text-align:center; color:#9ba7b5; }
.ds-overhaul .ds-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; }
.ds-overhaul.ds-expanded { position:fixed; z-index:2147483000; inset:0; margin:0; max-width:none; height:100dvh; width:100vw; padding:14px max(12px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-bottom)); background:#0d1420; overflow:auto; display:flex; justify-content:center; align-items:center; }
.ds-expanded .ds-head,.ds-expanded .ds-howto,.ds-expanded .ds-hud,.ds-expanded .ds-version-note,.ds-expanded .ds-actions { max-width:1100px; flex-shrink:0; }
.ds-expanded .ds-stage { width:min(100%,calc((100dvh - 240px)*1.8)); max-width:1400px; }
.ds-expanded .ds-howto { display:none; }
@media (max-width:520px) {
  .ds-overhaul .ds-howto { font-size:12px; padding:8px 10px; }
  .ds-overhaul .ds-family { display:none; }
  .ds-toolbar { justify-content:center; gap:4px; }
  .ds-control { padding:7px 9px; min-height:40px; }
  .ds-overhaul.ds-expanded { padding-top:env(safe-area-inset-top,10px); }
  .ds-expanded .ds-stage { width:100%; }
}
@media (max-height:520px) and (orientation:landscape) {
  .ds-expanded .ds-head,.ds-expanded .ds-version-note { display:none; }
  .ds-expanded .ds-hud { margin:0; }
  .ds-expanded .ds-stage { width:min(100%,calc((100dvh - 150px)*1.8)); }
}
