/* Scoped till experimentets egen canvas i stagen. */
.dot-morph {
    display: block;
    background: #05060d;
    cursor: pointer;
    touch-action: none; /* klick morfar till nasta form, 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. */
.morph-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;
}
.morph-ui button {
    pointer-events: auto;
    padding: 8px 14px;
    font: 700 11px/1 "Courier New", monospace;
    letter-spacing: 0.14em;
    color: #ffd9f4;
    background: rgba(13, 1, 24, 0.75);
    border: 2px solid rgba(255, 47, 179, 0.55);
    border-radius: 0;
    cursor: pointer;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.6);
}
.morph-ui button:hover {
    border-color: #ff2fb3;
    box-shadow: 2px 2px 0 rgba(255, 47, 179, 0.35);
}
.morph-ui button.on {
    background: #ff2fb3;
    color: #14020e;
    border-color: #ff2fb3;
}

/* Mobil: knapparna ersatts av pil + valjare + pil. */
.morph-mobile {
    display: none;
    position: absolute;
    left: 50%;
    bottom: 14px;
    transform: translateX(-50%);
    z-index: 5;
    gap: 8px;
    align-items: stretch;
}
.morph-mobile button {
    padding: 10px 14px;
    font: 700 13px/1 "Courier New", monospace;
    color: #ffd9f4;
    background: rgba(13, 1, 24, 0.9);
    border: 2px solid rgba(255, 47, 179, 0.55);
    border-radius: 0;
    cursor: pointer;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, 0.6);
}
.morph-mobile button:active {
    background: #ff2fb3;
    color: #14020e;
}
.morph-select {
    padding: 10px 38px 10px 14px;
    font: 700 12px/1 "Courier New", monospace;
    letter-spacing: 0.14em;
    color: #ffd9f4;
    background-color: rgba(13, 1, 24, 0.9);
    border: 2px solid rgba(255, 47, 179, 0.55);
    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='%23ff2fb3' stroke-width='2'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
}
.morph-select option {
    background: #0d0118;
    color: #ffd9f4;
}

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