/* ===== 消消乐样式 ===== */
.match3-wrap{display:flex;flex-direction:column;gap:12px;align-items:center;width:min(440px,92vw);}
.match3-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;flex-wrap:wrap;}
.match3-title{font-size:24px;font-weight:800;}
.match3-controls{display:flex;gap:10px;}
.match3-controls .btn{padding:9px 16px;}
.match3-board-wrap{position:relative;}
.match3-board{
  display:grid;grid-template-columns:repeat(8,1fr);gap:5px;
  background:rgba(0,0,0,0.25);border:1px solid var(--border);border-radius:12px;padding:8px;
  width:min(440px,92vw);aspect-ratio:1/1;
}
.m3-cell{
  position:relative;border-radius:8px;background:rgba(255,255,255,0.03);
  display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.m3-cell.selected{outline:2px solid #fff;outline-offset:1px;box-shadow:0 0 12px rgba(255,255,255,0.4);}
.m3-gem{
  width:84%;height:84%;border-radius:8px;
  animation:pop .2s ease;
}
.m3-gem.pop{animation:pop .22s ease;}
.m3-cell.empty .m3-gem{display:none;}
@keyframes pop{from{transform:scale(.3);opacity:.3;}to{transform:scale(1);opacity:1;}}
.match3-overlay{
  position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;
  background:rgba(8,10,24,0.85);backdrop-filter:blur(4px);border-radius:12px;
}
.match3-overlay.show{display:flex;}
.match3-overlay .ov-title{font-size:24px;font-weight:800;}
.match3-overlay .ov-text{color:var(--text-dim);}
.match3-hint{font-size:13px;color:var(--text-dim);text-align:center;}
