.game-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.game-thumb{border-radius:16px;flex:none;box-shadow:0 6px 14px rgba(255,150,180,.25)}
.game-head h1{margin:0;font-size:26px;color:#5a4a6a;text-shadow:0 2px 0 #fff}
.game-head .sub{margin:2px 0 0;color:#9a86ad;font-size:14px}
.bs-wrap { max-width: 620px; margin: 0 auto; }
.bs-top { display: flex; align-items: center; gap: 8px; justify-content: center; margin: 6px 0 12px; flex-wrap: wrap; }
.bs-level { font-weight: 800; color: #fff; background: #ff7eb3; border-radius: 999px; padding: 4px 12px; white-space: nowrap; }
.bs-status { font-weight: 700; color: #5a4a6a; min-width: 84px; text-align: center; }
/* Compact, inline top-bar buttons (override the global full-width .btn). */
.bs-top .btn {
  display: inline-block; width: auto; flex: 0 0 auto;
  margin-top: 0; padding: 8px 14px; font-size: 14px; white-space: nowrap;
  box-shadow: 0 3px 0 #ef5e98; border-radius: 999px;
}
.bs-top .btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #ef5e98; }
@media (max-width: 520px) { .bs-top .btn { padding: 7px 11px; font-size: 13px; } }
.bs-board-wrap { position: relative; border-radius: 20px; background: #e9f3fb;
  background-image: radial-gradient(#d6e8f6 22%, transparent 23%);
  background-size: 58px 58px; background-position: 12px 12px;
  box-shadow: inset 0 0 0 3px #d6e8f6; overflow: hidden; }
#bsBoard { width: 100%; display: block; touch-action: none; cursor: pointer; }
.bs-overlay { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  background: rgba(40,26,60,.5); }
.bs-overlay.hidden { display: none; }
.bs-ovcard { background: #fff; border-radius: 20px; padding: 22px 26px; text-align: center; max-width: 82%;
  box-shadow: 0 16px 44px rgba(0,0,0,.3); }
.bs-ovcard h2 { margin: 6px 0 4px; color: #ff7eb3; }
.bs-ovcard p { margin: 0 0 14px; color: #5a4a6a; }
