/* ===== 统一局内 UI · 音游风格覆盖层 (game-ui) ===== */
/* 覆盖所有游戏的按钮/输入框/面板/弹窗/标题, 与节奏打击一致 */
/* 游戏画面元素(棋盘/卡牌/轨道)保留原样 */

/* ---------- 全局基调 ---------- */
* { box-sizing: border-box; }
body, button, input, select, textarea {
  font-family: -apple-system, 'PingFang SC', 'HarmonyOS Sans SC', 'Microsoft YaHei', sans-serif !important;
}

/* ---------- 滚动条统一 ---------- */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
::-webkit-scrollbar-thumb { background: rgba(126,242,255,.35); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(126,242,255,.55); }

/* ---------- 按钮统一 ---------- */
button, .btn, .fs-btn, .diff-item, [class*="btn"], [class*="button"], [class*="diff"] {
  font-family: inherit !important;
  border-radius: 12px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  cursor: pointer;
  letter-spacing: 1px;
  transition: transform .15s, box-shadow .25s, background .2s, filter .2s !important;
  text-shadow: 0 1px 4px rgba(0,0,0,.4);
}
button:hover, .btn:hover, .fs-btn:hover, [class*="btn"]:hover, [class*="button"]:hover {
  background: rgba(255,255,255,.14) !important;
  box-shadow: 0 0 18px rgba(33,150,243,.35), inset 0 0 12px rgba(255,255,255,.05) !important;
}
button:active, .btn:active, [class*="btn"]:active { transform: scale(.96) !important; }

/* 主按钮: 霓虹渐变 */
button[type="submit"], .primary, .main-btn, .btn-primary, .btn-ok, .btn-start,
[class*="primary"], [class*="start"], [class*="confirm"], [class*="join"] {
  background: linear-gradient(90deg, rgba(33,150,243,.75), rgba(255,179,0,.75)) !important;
  border-color: rgba(255,255,255,.25) !important;
  box-shadow: 0 4px 18px rgba(33,150,243,.4) !important;
  font-weight: 700;
}

/* 危险按钮: 红 */
[class*="danger"], [class*="quit"], [class*="leave"], [class*="exit"], [class*="cancel"] {
  background: rgba(255,82,82,.2) !important;
  border-color: rgba(255,82,82,.4) !important;
}

/* ---------- 输入框统一 ---------- */
input, select, textarea {
  background: rgba(255,255,255,.07) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 10px !important;
  color: #fff !important;
  padding: 9px 12px !important;
  outline: none !important;
  transition: border-color .2s, box-shadow .2s !important;
}
input:focus, select:focus, textarea:focus {
  border-color: #7ef2ff !important;
  box-shadow: 0 0 14px rgba(126,242,255,.25) !important;
}
input::placeholder, textarea::placeholder { color: rgba(255,255,255,.35) !important; }

/* ---------- 面板/弹窗/容器统一 ---------- */
.panel, .modal, .dialog, .card, .box, [class*="panel"], [class*="modal"], [class*="dialog"], [class*="popup"] {
  background: rgba(15, 16, 40, .92) !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06) !important;
  color: #e8ecf4 !important;
}

/* 弹窗遮罩 */
[class*="overlay"], [class*="mask"], [class*="backdrop"] {
  background: rgba(5, 6, 18, .75) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

/* ---------- 标题/文字统一 ---------- */
h1, h2, h3, .title, [class*="title"], [class*="heading"], [class*="header"]:not(nav *) {
  color: #fff !important;
  letter-spacing: 2px !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.5) !important;
}
h1 { background: linear-gradient(90deg,#7ef2ff,#ffd700); -webkit-background-clip: text; background-clip: text; color: transparent !important; }

/* 次级文字 */
[class*="hint"], [class*="tip"], [class*="subtitle"], small, .sub {
  color: rgba(255,255,255,.55) !important;
}

/* ---------- 列表/行统一 ---------- */
[class*="list"] > [class*="item"], [class*="row"], [class*="player"], li {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.09) !important;
  border-radius: 10px !important;
  margin: 4px 0 !important;
  padding: 8px 10px !important;
}
[class*="selected"], [class*="active"], [class*="current"] {
  border-color: rgba(126,242,255,.5) !important;
  box-shadow: 0 0 12px rgba(126,242,255,.15) !important;
}

/* ---------- 状态徽章 ---------- */
[class*="badge"], [class*="tag"], [class*="status"] {
  border-radius: 99px !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  padding: 2px 10px !important;
  background: rgba(255,255,255,.1) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}

/* ---------- 表格统一 ---------- */
table { background: rgba(255,255,255,.04) !important; border-radius: 12px !important; overflow: hidden; }
th { color: #7ef2ff !important; background: rgba(33,150,243,.15) !important; letter-spacing: 1px; }
td { border-color: rgba(255,255,255,.08) !important; }

/* ---------- v2 补充 · 全站细节统一 (2026-08 统一登录工程) ---------- */
::selection { background: rgba(33,150,243,.45); color: #fff; }
:focus-visible { outline: 2px solid rgba(126,242,255,.6); outline-offset: 2px; }
dialog { background: rgba(15,16,40,.95) !important; border: 1px solid rgba(255,255,255,.13) !important; border-radius: 16px !important; color: #e8ecf4 !important; }
dialog::backdrop { background: rgba(5,6,18,.7); backdrop-filter: blur(6px); }
input[readonly] { opacity: .85; }
