#draw-plugin {
    background-color: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,.08);
    max-width: 720px;
    margin: 0 auto;
    position: relative;
}

.number-range-inputs { display: flex; align-items: center; flex-wrap: wrap; }
.number-range-inputs input, .number-range-inputs span { margin: 5px; }
.vertical-inputs { display: flex; flex-direction: column; margin-top: 16px; gap: 8px; }

.button-3d {
    background-color: #0073aa; color: #fff; padding: 10px 20px; border: none;
    border-radius: 6px; box-shadow: 0 5px #005c99; cursor: pointer; transition: all .2s;
}
.button-3d:hover { background-color: #005c99; }
.button-3d:active { box-shadow: 0 2px #005c99; transform: translateY(3px); }

#result {
    background: #e0f7fa; padding: 12px; margin-top: 12px; border-radius: 6px; display:none;
}

#countdown-layer {
  position: fixed;
  inset: 0;
  z-index: 9990;
  display: none;
  justify-content: center;
  align-items: center;
  backdrop-filter: blur(1px);
  pointer-events: none;
}
#countdown-number {
    font-size: clamp(64px, 12vw, 160px);
    font-weight: 800; color: #fff; text-shadow: 0 2px 12px rgba(0,0,0,.35);
}
.zoom-pulse { animation: zoomPulse .9s ease forwards; }
@keyframes zoomPulse {
    0% { transform: scale(.6); opacity: .9; }
    60% { transform: scale(1.12); opacity: 1; }
    100% { transform: scale(1); opacity: 1; }
}

.bg-blue { background: rgba(17,138,178,.92); }
.bg-yellow { background: rgba(255,209,102,.92); }
.bg-red { background: rgba(255,91,91,.92); }

#slot-display {
    margin-top: 16px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}
.slot-box {
    background: #fff; border: 2px solid #efefef; border-radius: 10px;
    padding: 14px; text-align: center; box-shadow: 0 3px 8px rgba(0,0,0,.05);
}
.slot-value {
    font-size: clamp(24px, 5vw, 48px);
    letter-spacing: .5px;
    transition: transform .08s ease;
}
.slot-stop { transform: scale(1.08); font-weight: 800; }

#winner-modal {
    position: fixed; inset: 0; z-index: 9995;
    background: rgba(0,0,0,.55);
    display: grid; place-items: center;
    opacity: 0; pointer-events: none; transition: opacity .25s ease;
}
#winner-modal.show { opacity: 1; pointer-events: auto; }
#winner-modal .modal-content {
    background: #ffffff; border-radius: 16px; padding: 28px 36px; text-align: center;
    box-shadow: 0 20px 80px rgba(0,0,0,.35); transform: scale(.94);
    animation: popIn .28s ease forwards;
}
@keyframes popIn {
    to { transform: scale(1); }
}
#winner-modal .winner-label {
    color: #06D6A0; font-weight: 800; font-size: 18px; margin-bottom: 6px;
    letter-spacing: .08em;
}
#winner-modal #winner-name {
    font-size: clamp(28px, 6vw, 56px);
    font-weight: 800; color: #333;
}

#confetti-canvas {
    position: fixed; inset: 0; pointer-events: none; z-index: 9992;
}

@media (max-width: 600px) {
    .number-range-inputs { flex-direction: column; align-items: stretch; }
}

.sound-settings {
    margin-top: 16px;
    padding: 12px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 8px;
}
.sound-settings h3 {
    margin: 0 0 8px;
    font-size: 16px;
}
.sound-settings .row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 8px 0;
    flex-wrap: wrap;
}
.button-3d.small {
    padding: 6px 12px;
    font-size: 13px;
    box-shadow: 0 3px #005c99;
}
#sound-volume { width: 160px; }
#sound-volume-val { min-width: 44px; display: inline-block; text-align: right; }
