/* Scoped till experimentets egen canvas i stagen. */
.water-ripple {
    display: block;
    background: #060412;
    cursor: pointer;
    touch-action: none; /* klick = ringvag, hall = vind, inte scroll */
}

/* Knappraden spanner hela bredden och centrerar innehallet, sa den
   bryter bara nar det verkligen saknas plats. Containern slapper
   igenom klick till canvasen; bara knapparna fangar dem. */
.ripple-ui {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    z-index: 5;
    pointer-events: none;
}
.ripple-ui button {
    pointer-events: auto;
    padding: 8px 14px;
    font: 700 11px/1 "Courier New", monospace;
    letter-spacing: 0.14em;
    color: #d8f6ff;
    background: rgba(4, 10, 20, 0.75);
    border: 2px solid rgba(0, 224, 255, 0.5);
    border-radius: 0;
    cursor: pointer;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.6);
}
.ripple-ui button:hover {
    border-color: #00e0ff;
    box-shadow: 2px 2px 0 rgba(0, 224, 255, 0.35);
}
.ripple-ui button.on {
    background: #00e0ff;
    color: #04121c;
    border-color: #00e0ff;
}

/* Mobil: knapparna ersatts av pil + valjare + pil. */
.ripple-mobile {
    display: none;
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    z-index: 5;
    gap: 8px;
    align-items: stretch;
}
.ripple-mobile button {
    padding: 10px 14px;
    font: 700 13px/1 "Courier New", monospace;
    color: #d8f6ff;
    background: rgba(4, 10, 20, 0.9);
    border: 2px solid rgba(0, 224, 255, 0.5);
    border-radius: 0;
    cursor: pointer;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.6);
}
.ripple-mobile button:active {
    background: #00e0ff;
    color: #04121c;
}
.ripple-select {
    padding: 10px 38px 10px 14px;
    font: 700 12px/1 "Courier New", monospace;
    letter-spacing: 0.14em;
    color: #d8f6ff;
    background-color: rgba(4, 10, 20, 0.9);
    border: 2px solid rgba(0, 224, 255, 0.5);
    border-radius: 0;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.6);
    cursor: pointer;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2300e0ff' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
.ripple-select option {
    background: #04101c;
    color: #d8f6ff;
}

@media (max-width: 640px) {
    .ripple-ui { display: none; }
    .ripple-mobile { display: flex; }
}
