game/2d/ui/bombwheel.razor.scss
root {
    flex-grow:1; width:100%; height:100%;
    pointer-events:none; position:relative;
    overflow:visible;
}

.mini-hand {
    position:absolute;
    bottom:15px;
    left:0; right:0px;           /* right edge = sidebar width */
    display:flex; flex-direction:row; gap:14px; align-items:flex-end;
    justify-content:center;        /* centers within the grid area, not full viewport */
    pointer-events:all;
    z-index:30;
}

.mini-card {
    width:80px;
    height: 80px;
    background-color:rgba(31,27,83,0.85);   /* more opaque — was barely visible */
    border:2px solid rgba(255,255,255,0.18);
    border-radius:16px; padding:16px 10px 12px;
    display:flex; flex-direction:column; align-items:center; gap:10px;
    cursor:pointer; position:relative;
    transition:background-color 0.1s, border-color 0.1s, transform 0.1s;
}
.mini-card:hover  { background-color:rgba(117,110,194,0.75); transform:translateY(-5px); }
.mini-card.active {
    background-color:rgba(83,74,183,0.90);
    border-color:#a78bfa;
    border-width:3px;
    transform:translateY(-16px);
}
.mini-card.used {
    background-color:rgba(29,158,117,0.28);
    border-color:rgba(29,158,117,0.60);
    opacity:0.75;
    cursor:default;
}

.mini-icon { font-size:30px; position: relative; bottom: 4px;}     /* was 40px — easier to see */
.mini-name { font-size:13px; font-weight:800; color:rgba(255,255,255,0.80); }
.mini-card.active .mini-name { color:#fff; font-size:15px; }

.mini-badge {
    position:absolute; top:5px; right:7px;
    font-size:12px; font-weight:700;
    color:rgba(80,220,140,0.95);
    background-color:rgba(29,158,117,0.40);
    border-radius:4px; padding:0 5px;
}

.kb-hint {
    position:absolute; top:5px; left:7px;
    font-size:12px; font-weight:800;
    color:rgba(255,255,255,0.45);
    background-color:rgba(255,255,255,0.10);
    border-radius:4px; padding:0 6px;
}
.mini-card.active .kb-hint {
    color:rgba(255,255,255,0.80);
    background-color:rgba(255,255,255,0.18);
}

.mini-det-wrap { align-self:flex-end; }
.mini-det {
    width:90px;                    /* was 90px */
    background:linear-gradient(135deg,#7c3aed,#a855f7);
    border:2px solid rgba(167,139,250,0.40);
    border-radius:14px; 
    padding:12px 10px 5px;
    display:flex; flex-direction:column; align-items:center; gap:5px;
    cursor:pointer;
    transition:opacity 0.15s;
}
.mini-det-wrap.ready .mini-det { border-color:#a78bfa; }
.mini-det-wrap.off   .mini-det { opacity:0.25; pointer-events:none; }
.mini-det-icon  { font-size:28px; }
.mini-det-label { font-size:13px; font-weight:800; color:#fff; letter-spacing:0.08em; }

/* SCREEN SHAKE */
.mini-hand.shake-small  { animation: shake-small  0.25s ease-out; }
.mini-hand.shake-medium { animation: shake-medium 0.35s ease-out; }
.mini-hand.shake-strong { animation: shake-strong 0.45s ease-out; }
.mini-hand.shake-insane { animation: shake-insane 0.55s ease-out; }

@keyframes shake-small {
    0%,100% { transform: translate(0,0); }
    25%     { transform: translate(-2px, 1px); }
    50%     { transform: translate(2px, -1px); }
    75%     { transform: translate(-1px, 2px); }
}
@keyframes shake-medium {
    0%,100% { transform: translate(0,0); }
    20%     { transform: translate(-4px, 2px) rotate(-0.3deg); }
    40%     { transform: translate(4px,-3px) rotate(0.3deg); }
    60%     { transform: translate(-3px, 3px) rotate(-0.2deg); }
    80%     { transform: translate(3px,-2px) rotate(0.2deg); }
}
@keyframes shake-strong {
    0%,100% { transform: translate(0,0); }
    15%     { transform: translate(-6px, 3px) rotate(-0.5deg); }
    30%     { transform: translate(6px,-4px) rotate(0.5deg); }
    45%     { transform: translate(-5px, 5px) rotate(-0.4deg); }
    60%     { transform: translate(5px,-4px) rotate(0.4deg); }
    75%     { transform: translate(-3px, 2px); }
    90%     { transform: translate(2px,-2px); }
}
@keyframes shake-insane {
    0%,100% { transform: translate(0,0); }
    10%     { transform: translate(-9px, 5px) rotate(-0.7deg); }
    20%     { transform: translate(9px,-6px) rotate(0.7deg); }
    30%     { transform: translate(-8px, 7px) rotate(-0.6deg); }
    40%     { transform: translate(8px,-6px) rotate(0.6deg); }
    50%     { transform: translate(-6px, 5px) rotate(-0.4deg); }
    60%     { transform: translate(6px,-5px) rotate(0.4deg); }
    70%     { transform: translate(-4px, 3px); }
    80%     { transform: translate(3px,-3px); }
    90%     { transform: translate(-1px, 1px); }
}

/* Lock icon, if random event Bomb jam hit */
.mini-jam-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(239,68,68,0.25);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    pointer-events: none;
}