.scenario-media-preview { position:relative; width:100%; height:100%; overflow:hidden; background:#e7edf2; }
.scenario-media-preview .preview-image { width:100%; height:100%; object-fit:cover; }
.scenario-media-preview .preview-placeholder { object-fit:contain; padding:18px; }
.preview-status { position:absolute; bottom:7px; inset-inline-start:7px; padding:3px 8px; border-radius:5px; background:#172b3de6; color:white; font-size:.72rem; }
.scenario-thumb.scenario-thumb-small { width:140px; height:85px; margin-bottom:8px; border-radius:6px; }
.scenario-thumb-small .preview-status { font-size:.6rem; }
.stage-custom-question { white-space:pre-wrap; overflow-wrap:anywhere; }
.stage-intro-body { white-space:pre-wrap; overflow-wrap:anywhere; }
.stage-intro-screen { overflow-y:auto; align-items:flex-start; }
.stage-intro-inner { margin:auto 0; flex-shrink:0; }
.worker-bottom-label:has(.stage-custom-question) { max-height:20vh; overflow:auto; flex-shrink:0; }
.counter-icon-button { background:transparent; padding:3px; border:2px solid transparent; border-radius:12px; min-width:44px; min-height:44px; display:inline-flex; justify-content:center; align-items:center; }
.counter-icon-button:focus-visible { outline:3px solid #ffb300; outline-offset:2px; }
.counter-present .counter-icon-button { border-color:#c1dfeb; background:#e3f1fa30; }
.counter-btn:disabled { opacity:.35; cursor:default; }
.worker-wheel-open { flex-shrink:0; background:#fff; color:#153b55; border:1px solid #b6d7e8; border-radius:8px; padding:6px 10px; min-height:40px; font-weight:700; font-size:.8rem; }
.worker-wheel-open img { width:32px; height:32px; object-fit:contain; margin-inline-end:6px; }
.risk-wheel-dialog { width:min(760px, calc(100vw - 20px)); max-height:calc(100dvh - 20px); padding:18px; border:1px solid #aac3d4; border-radius:22px; background:#fff; color:#153047; box-shadow:0 25px 90px #0008; overflow:auto; }
.risk-wheel-dialog::backdrop { background:#081824bb; backdrop-filter:blur(4px); }
.risk-wheel-header { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.risk-wheel-header h2 { margin:0; font-size:1.35rem; font-weight:750; }
.risk-wheel-close { border:1px solid #b5cbd8; background:white; border-radius:50%; width:44px; height:44px; font-size:1.8rem; line-height:1; flex-shrink:0; }
.risk-wheel-hint { font-size:.95rem; margin:8px 0; }
.risk-wheel-mode { display:flex; justify-content:center; gap:8px; }
.risk-wheel-mode[hidden] { display:none; }
.risk-wheel-mode button { min-height:44px; min-width:120px; border:1px solid #9cb7c7; border-radius:9px; background:white; color:#153047; font-weight:700; }
.risk-wheel-mode button[aria-pressed=true] { background:#164b66; color:white; border-color:#164b66; }
.risk-wheel-subtract .risk-wheel-mode button[aria-pressed=true] { background:#a53723; border-color:#a53723; }
.risk-wheel-scroll { width:100%; overflow:auto; overscroll-behavior:contain; }
.risk-wheel-svg { display:block; width:min(100%, 630px); margin:0 auto; max-height:none; }
.risk-wheel-svg g { cursor:pointer; outline:none; touch-action:manipulation; }
.risk-wheel-svg g > path { stroke:#bcc9d2; stroke-width:2; }
.risk-wheel-svg g:hover > path, .risk-wheel-svg g:focus-visible > path { stroke:#172f42; stroke-width:4; }
.risk-wheel-svg g.wheel-selected > path { stroke:#247654; stroke-width:4; }
.risk-wheel-svg image, .risk-wheel-svg text { pointer-events:none; }
.risk-wheel-svg text { font-family:system-ui,sans-serif; font-weight:700; fill:#153047; }
.risk-wheel-svg .wheel-value { font-size:23px; }
.risk-wheel-svg .wheel-center { font-size:42px; fill:white; }
.risk-wheel-feedback { margin:0; padding:9px; min-height:46px; background:#e3edf4; border-radius:10px; text-align:center; font-weight:700; overflow-wrap:anywhere; }
.risk-wheel-timer-note { text-align:center; font-size:.8rem; margin:8px 0 0; color:#486477; }
@media (max-width:560px) {
  .worker-hud { flex-wrap:wrap; height:auto; padding:5px 8px; }
  .worker-wheel-open { order:10; width:100%; min-width:42px; padding:3px 6px; }
  .risk-wheel-dialog { padding:12px; border-radius:14px; }
}
@media (max-height:650px) and (min-width:600px) {
  .risk-wheel-svg { width:480px; }
}
