/* Big or Small. Layout only; the door colours are classes (bs-door-big, bs-door-small), never inline styles. */
.bs-stage{display:grid;gap:14px}
.bs-levels{margin-top:4px}
.bs-level-name{display:block;font-size:.8em;opacity:.8}

.bs-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}
.bs-item{position:relative;display:grid;place-items:center;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}
.bs-item[hidden]{display:none}
.bs-item:focus-visible{outline:4px solid #ffd54f;outline-offset:3px}
.bs-item.bs-selected{border-color:#ffd54f;box-shadow:0 0 0 4px rgba(255,213,79,.45)}
.bs-item.bs-drag{cursor:grabbing;z-index:5;transition:none;box-shadow:0 14px 26px rgba(0,0,0,.4)}
.bs-item.bs-shake{animation:bs-shake .45s ease}
.bs-art{display:block;width:100%;height:100%}
.bs-art-small{width:50%;height:50%}

.bs-doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;max-width:520px;width:100%;margin:0 auto}
.bs-door-big{--bs-fill:#42a5f5;--bs-ink:#0d3f75}
.bs-door-small{--bs-fill:#ffb74d;--bs-ink:#7a3e00}
.bs-door{display:grid;justify-items:center;gap:4px;padding:10px 8px 8px;min-height:200px;border:3px solid var(--bs-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}
.bs-door:focus-visible{outline:4px solid #ffd54f;outline-offset:3px}
.bs-door.bs-over{transform:scale(1.04);background:rgba(255,255,255,.2);box-shadow:0 0 0 4px var(--bs-fill,#fff)}
.bs-door-art{display:block;width:120px;height:120px}
.bs-door-art svg{display:block;width:100%;height:100%}
.bs-door-name{font-weight:800;font-size:1.05rem}
.bs-door-items{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;min-height:36px;width:100%}
.bs-mini{display:block;width:34px;height:34px}
.bs-mini-art{display:block;width:100%;height:100%}

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

@keyframes bs-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){
 .bs-doors{gap:6px}
 .bs-door{min-height:0;padding:6px 4px 6px;gap:2px}
 .bs-door-art{width:96px;height:96px}
 .bs-door-name{font-size:.9rem}
 .bs-door-items{min-height:26px}
 .bs-mini{width:24px;height:24px}
}

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

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