/* Colour Baskets. Layout only; colours come from the basket and object markup. */
.bk-stage{display:grid;gap:14px}
.bk-levels{margin-top:4px}
.bk-level-name{display:block;font-size:.8em;opacity:.8}

.bk-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;min-height:112px;padding:12px;border-radius:18px;background:rgba(255,255,255,.06);touch-action:none}
.bk-item{position:relative;width:88px;height:88px;padding:6px;border:3px solid rgba(255,255,255,.35);border-radius:18px;background:#fff;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;transition:transform .18s ease,box-shadow .18s ease}
.bk-item[hidden]{display:none}
.bk-item:focus-visible{outline:4px solid #ffd54f;outline-offset:3px}
.bk-item.bk-selected{border-color:#ffd54f;box-shadow:0 0 0 4px rgba(255,213,79,.45)}
.bk-item.bk-drag{cursor:grabbing;z-index:5;transition:none;box-shadow:0 14px 26px rgba(0,0,0,.4)}
.bk-item.bk-shake{animation:bk-shake .45s ease}
.bk-art{display:block;width:100%;height:100%}

.bk-baskets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:680px;width:100%;margin:0 auto}
.bk-baskets.bk-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bk-baskets.bk-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.bk-red{--bk-fill:#ef5350;--bk-ink:#8e1f1c}
.bk-yellow{--bk-fill:#ffd54f;--bk-ink:#7a5a00}
.bk-blue{--bk-fill:#42a5f5;--bk-ink:#0d3f75}
.bk-green{--bk-fill:#66bb6a;--bk-ink:#1b5e20}
.bk-basket{display:grid;justify-items:center;gap:4px;padding:10px 8px 8px;min-height:176px;border:3px solid var(--bk-fill,#fff);border-radius:20px;background:rgba(255,255,255,.08);color:inherit;font:inherit;cursor:pointer;transition:transform .18s ease,background-color .18s ease}
.bk-basket:focus-visible{outline:4px solid #ffd54f;outline-offset:3px}
.bk-basket.bk-over{transform:scale(1.04);background:rgba(255,255,255,.2);box-shadow:0 0 0 4px var(--bk-fill,#fff)}
.bk-basket-art{display:block;width:76px;height:76px}
.bk-basket-art svg{display:block;width:100%;height:100%}
.bk-basket-name{font-weight:800;font-size:1.05rem}
.bk-basket-items{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:36px;width:100%}
.bk-mini{display:block;width:34px;height:34px}
.bk-mini-art{display:block;width:100%;height:100%}

.bk-actions{justify-content:center}
.bk-win-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.bk-win:focus{outline:none}
.bk-howto{margin-top:28px}
.bk-steps{display:grid;gap:8px;padding-left:1.2em}

@keyframes bk-shake{
 0%,100%{transform:translateX(0)}
 20%{transform:translateX(-7px)}
 40%{transform:translateX(7px)}
 60%{transform:translateX(-5px)}
 80%{transform:translateX(4px)}
}

@media (max-width:520px){
 .bk-baskets{gap:6px}
 .bk-basket{min-height:0;padding:6px 4px 6px;gap:2px}
 .bk-basket-art{width:56px;height:56px}
 .bk-basket-name{font-size:.9rem}
 .bk-basket-items{min-height:26px}
 .bk-mini{width:24px;height:24px}
}

@media (max-width:420px){
 .bk-item{width:72px;height:72px}
}

@media (prefers-reduced-motion:reduce){
 .bk-item,.bk-basket{transition:none}
 .bk-item.bk-shake{animation:none}
}
