/* ===== game.css — vung Vuinhon: nut, o nhap, thong ke ===== */
.gbtn{border:none;border-radius:12px;padding:12px 18px;font-size:15px;font-weight:700;cursor:pointer;color:#fff;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:.2s}
.gbtn:hover{transform:translateY(-2px)}
.gbtn.ghost{background:var(--card);color:var(--text);border:1px solid var(--border)}
.ginput{background:rgba(0,0,0,.15);border:2px solid var(--border);color:var(--text);border-radius:12px;padding:12px;font-size:16px;outline:none;width:100px;text-align:center}
body.light .ginput{background:#fff}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.stat{display:flex;gap:12px;flex-wrap:wrap}
.pill{background:rgba(0,0,0,.15);border:1px solid var(--border);border-radius:12px;padding:8px 14px;font-size:14px}
body.light .pill{background:#fff}
.pill b{color:var(--accent2)}
/* ===== block blast mini: ban co + khay hinh + gate + bxh ===== */
.blast-wrap{position:relative}
.blast-gate{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:rgba(10,8,30,.82);backdrop-filter:blur(6px);border-radius:20px;transition:opacity .3s}
.blast-gate.hide{opacity:0;pointer-events:none}
.blast-gate-box{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:22px;width:min(300px,86%);display:flex;flex-direction:column;gap:10px;text-align:center}
.blast-gate-box p{font-size:13px;color:var(--sub)}
.blast-board{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;background:rgba(0,0,0,.25);border:1px solid var(--border);border-radius:14px;padding:8px;max-width:360px;margin:0 auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;overscroll-behavior:contain}
body.light .blast-board{background:#e9eefb}
.blast-cell{aspect-ratio:1/1;border-radius:6px;background:rgba(255,255,255,.07);cursor:pointer;border:1px solid transparent;transition:background .12s,box-shadow .12s}
body.light .blast-cell{background:rgba(20,30,80,.07)}
.blast-cell.full{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 6px rgba(124,92,255,.7)}
.blast-cell.hint{background:rgba(34,211,238,.45);border-color:var(--accent2)}
.blast-cell.bad{background:rgba(255,80,80,.4)}
.blast-cell.boom{animation:boom .22s ease-out;will-change:transform,opacity}
@keyframes boom{0%{transform:scale(1);opacity:1;filter:brightness(1)}100%{transform:scale(1.3);opacity:0;filter:brightness(2)}}
.blast-tray{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.blast-piece{border:2px solid transparent;border-radius:12px;padding:8px;cursor:grab;background:rgba(0,0,0,.15);border-color:var(--border);touch-action:none;-webkit-tap-highlight-color:transparent}
body.light .blast-piece{background:#fff}
.blast-piece.sel{border-color:var(--accent2);box-shadow:0 0 10px rgba(34,211,238,.6)}
.blast-piece:active{cursor:grabbing}
.blast-mini{display:grid;gap:2px}
.blast-mini i{width:16px;height:16px;border-radius:4px;background:rgba(255,255,255,.12)}
.blast-mini i.on{background:linear-gradient(135deg,var(--accent),var(--accent2))}
.blast-ghost{position:fixed;left:0;top:0;z-index:99;pointer-events:none;opacity:.92;transform:translate(-100px,-100px) translate(-50%,-50%) scale(1.08);will-change:transform;filter:drop-shadow(0 8px 16px rgba(0,0,0,.4))}
.blast-rank{margin-top:14px;background:rgba(0,0,0,.15);border:1px solid var(--border);border-radius:12px;padding:12px 16px}
body.light .blast-rank{background:#fff}
.blast-rank h4{font-size:14px;margin-bottom:8px}
.blast-rank ol{margin-left:18px;font-size:13px;color:var(--sub);display:flex;flex-direction:column;gap:4px}
.blast-rank b{color:var(--accent2)}
.rank-note{font-size:12px;color:var(--sub);margin-top:8px}
#adminDot{position:fixed;right:12px;bottom:12px;z-index:90;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--card);color:var(--text);font-size:20px;cursor:pointer;opacity:1;box-shadow:0 4px 14px rgba(0,0,0,.35)}
#adminDot:hover{transform:scale(1.08)}
.footer{text-align:center;margin-top:26px;font-size:13px;color:var(--sub);line-height:1.8}
.footer #adminLink{color:var(--accent2);text-decoration:none;font-size:13px;opacity:.9}
.footer #adminLink:hover{text-decoration:underline;opacity:1}
.admin-panel{position:fixed;inset:0;z-index:70;display:flex;align-items:center;justify-content:center;background:rgba(5,3,18,.7);backdrop-filter:blur(4px);padding:16px}
.admin-panel[hidden]{display:none}
.admin-box{width:min(560px,94vw);max-height:82vh;overflow:auto;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:18px}
.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#adminList{margin-left:18px;font-size:13px;color:var(--sub);display:flex;flex-direction:column;gap:6px}
#adminList b{color:var(--accent2)}
#adminList small{opacity:.75}
#visitHistory{margin-left:18px;font-size:13px;color:var(--sub);display:flex;flex-direction:column;gap:6px}
#visitHistory b{color:var(--accent2)}
@media (max-width:480px){.blast-board{max-width:100%}}
