/* ============================================================
   令狐篮球数据大屏 - 科技感LED大屏风格
   ============================================================ */
* { margin:0; padding:0; box-sizing:border-box; }
body { font-family:"Microsoft YaHei","PingFang SC",sans-serif; overflow:hidden; height:100vh; }

/* 背景层 */
.bg-layer { position:fixed; top:0; left:0; width:100%; height:100%; z-index:0; overflow:hidden; }
.grid-bg { position:absolute; width:100%; height:100%;
  background-image:linear-gradient(rgba(0,200,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,200,255,.04) 1px,transparent 1px);
  background-size:40px 40px; }
#particleCanvas { position:absolute; width:100%; height:100%; }

/* 科技感光晕背景 */
.bg-glow { position:absolute; width:600px; height:600px; border-radius:50%; filter:blur(120px); opacity:.15; pointer-events:none; }
.bg-glow.left { top:-200px; left:-200px; background:#00aaff; }
.bg-glow.right { bottom:-200px; right:-200px; background:#00ffcc; }
.bg-glow.center { top:50%; left:50%; transform:translate(-50%,-50%); background:#0066ff; opacity:.08; }

.scoreboard { position:relative; z-index:1; width:100%; height:100vh; display:flex; flex-direction:column; padding:12px 24px 16px; }

/* ===== 顶部标题栏 ===== */
.title-bar { position:relative; display:flex; align-items:center; justify-content:center; padding:12px 0 14px; margin-bottom:12px; }
.title-bar h1 { font-size:52px; font-weight:bold; letter-spacing:8px; text-align:center; z-index:2; padding:0 40px;
  background:linear-gradient(180deg,#fff 0%,#a8e6ff 50%,#00c8ff 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  filter:drop-shadow(0 0 20px rgba(0,200,255,.6)); }
.title-deco { position:absolute; top:50%; transform:translateY(-50%); width:28%; height:2px; }
.title-deco.left { left:0; background:linear-gradient(90deg,transparent,#00d4ff 50%,#00d4ff); }
.title-deco.right { right:0; background:linear-gradient(90deg,#00d4ff,#00d4ff 50%,transparent); }
.title-deco::before { content:''; position:absolute; top:50%; transform:translateY(-50%) rotate(45deg); width:10px; height:10px; border:2px solid #00d4ff; background:rgba(0,212,255,.2); box-shadow:0 0 10px rgba(0,212,255,.6); }
.title-deco.left::before { right:-5px; }
.title-deco.right::before { left:-5px; }
/* 标题栏底部装饰线 */
.title-bar::after { content:''; position:absolute; bottom:0; left:10%; right:10%; height:1px;
  background:linear-gradient(90deg,transparent,rgba(0,200,255,.6),transparent); }

/* ===== 主体三列 ===== */
.main-area { flex:1; display:grid; grid-template-columns:1.1fr 1.15fr 1.1fr; gap:16px; min-height:0; }
.main-area > * { min-height:0; }

/* ===== 球员面板 ===== */
.player-panel { display:flex; flex-direction:column; border-radius:8px; overflow:hidden; min-height:0; position:relative; }
/* 面板四角科技装饰 */
.player-panel::before, .player-panel::after { content:''; position:absolute; width:20px; height:20px; border:2px solid; z-index:2; pointer-events:none; }
.player-panel::before { top:0; left:0; border-right:none; border-bottom:none; border-top-left-radius:8px; }
.player-panel::after { bottom:0; right:0; border-left:none; border-top:none; border-bottom-right-radius:8px; }

.panel-header { padding:12px 14px; text-align:center; position:relative; }
.panel-header::after { content:''; position:absolute; bottom:0; left:10%; right:10%; height:1px; background:linear-gradient(90deg,transparent,currentColor,transparent); opacity:.5; }
.team-label { font-size:24px; font-weight:bold; letter-spacing:4px; }
.player-table { flex:1; display:flex; flex-direction:column; overflow:hidden; min-height:0; }
.player-thead { display:grid; grid-template-columns:120px 1fr 90px 120px; padding:12px 6px; font-size:28px; letter-spacing:2px; opacity:.85; text-align:center; border-bottom:1px solid; align-items:center; }
.player-thead > span { display:flex; align-items:center; justify-content:center; }
.player-tbody { flex:1; overflow:hidden; display:flex; flex-direction:column; min-height:0; }
.player-tbody::-webkit-scrollbar { width:4px; }
.player-tbody::-webkit-scrollbar-thumb { background:rgba(0,200,255,.4); border-radius:2px; }
.player-tbody::-webkit-scrollbar-track { background:transparent; }
.player-row { display:grid; grid-template-columns:180px 1fr 100px 100px; padding:0 6px; align-items:center; font-size:20px; border-bottom:1px solid rgba(255,255,255,.05); transition:font-size .15s; position:relative; flex:1; min-height:0; }
.player-row > span { min-width:0; }
.player-row:hover { background:rgba(0,200,255,.08); transform:translateX(3px); }
.player-row.fouled-out { opacity:.3; text-decoration:line-through; }
.player-row .col-num { text-align:center; font-weight:900; font-family:"Consolas",monospace; font-size:100px; line-height:1; display:flex; align-items:center; justify-content:center; height:100%; }
.player-row .col-name { text-align:left; padding-left:8px; font-weight:900; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:52px; display:flex; align-items:center; justify-content:flex-start; }
.player-row .col-pts { text-align:center; font-weight:900; font-family:"Consolas",monospace; font-size:60px; line-height:1; display:flex; align-items:center; justify-content:center; }
.player-row .col-foul { text-align:center; font-family:"Consolas",monospace; font-weight:900; font-size:60px; line-height:1; display:flex; align-items:center; justify-content:center; }

/* 得分高亮动画 */
.player-row.score-flash { animation:scoreFlash .6s ease-out; }
@keyframes scoreFlash {
  0% { background:rgba(255,215,0,.4); transform:scale(1.02); }
  100% { background:transparent; transform:scale(1); }
}

/* ===== 中间信息区 ===== */
.center-panel { display:flex; flex-direction:column; align-items:center; justify-content:space-around; padding:20px 14px; border-radius:8px; min-height:0; gap:12px; position:relative; overflow:hidden; }
.center-panel { display:flex; flex-direction:column; align-items:center; justify-content:space-around; padding:10px 14px 0; border-radius:8px; min-height:0; gap:8px; position:relative; overflow:hidden; }
.center-panel::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%;
  background:conic-gradient(from 0deg,transparent,rgba(0,200,255,.03),transparent 30%);
  animation:rotateBg 20s linear infinite; pointer-events:none; }
@keyframes rotateBg { to { transform:rotate(360deg); } }

/* 队名logo行 */
.team-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; width:100%; gap:14px; position:relative; z-index:1; }
.team-block { display:flex; flex-direction:column; align-items:center; gap:10px; }
.team-block.home { align-items:flex-end; padding-right:14px; }
.team-block.away { align-items:flex-start; padding-left:14px; }
.team-logo { width:100px; height:100px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:36px; font-weight:bold; position:relative; overflow:hidden; }
.team-logo::after { content:''; position:absolute; inset:0; border-radius:50%; background:linear-gradient(135deg,rgba(255,255,255,.2),transparent 50%); pointer-events:none; }
.logo-ph { width:100%; height:100%; border-radius:50%; display:flex; align-items:center; justify-content:center; position:relative; z-index:1; }
.logo-ph img { width:100%; height:100%; object-fit:cover; border-radius:50%; }
/* 队名全名显示，不截断 */
.team-name { font-size:22px; font-weight:bold; letter-spacing:2px; text-align:center; white-space:normal; word-break:break-all; line-height:1.3; max-width:160px; }

.period-block { text-align:center; position:relative; z-index:1; }
.period-text { font-size:32px; font-weight:bold; letter-spacing:4px; margin-bottom:8px; padding:6px 20px; border-radius:6px; position:relative; }
.period-text::before, .period-text::after { content:''; position:absolute; top:50%; width:15px; height:2px; background:currentColor; opacity:.5; }
.period-text::before { left:-5px; }
.period-text::after { right:-5px; }
.game-clock { font-size:72px; font-weight:bold; font-family:"Consolas","Courier New",monospace; letter-spacing:4px; padding:8px 24px; border-radius:8px; position:relative; }
.game-clock::before { content:''; position:absolute; inset:0; border-radius:8px; background:linear-gradient(180deg,rgba(0,255,136,.1),transparent); pointer-events:none; }

/* 超大比分 */
.score-row { display:flex; align-items:center; justify-content:center; gap:20px; width:100%; margin:6px 0; position:relative; z-index:1; }
.score-box { min-width:320px; height:290px; display:flex; align-items:center; justify-content:center; border-radius:12px; border:3px solid; position:relative; overflow:hidden; }
.score-box::before { content:''; position:absolute; top:0; left:0; right:0; height:50%; background:linear-gradient(180deg,rgba(255,255,255,.08),transparent); pointer-events:none; }
.score-box::after { content:''; position:absolute; inset:0; border-radius:12px; background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.3)); pointer-events:none; }
.score-box span { font-size:312px; font-weight:bold; font-family:"Consolas","Courier New",monospace; line-height:1; position:relative; z-index:1; }
.score-colon { font-size:90px; font-weight:bold; font-family:"Consolas",monospace; opacity:.7; animation:colonBlink 1s ease-in-out infinite; }
@keyframes colonBlink { 0%,100% { opacity:.7; }

/* 球权显示 */





@keyframes possPulse {
  0%,100% { transform:scale(1); }
  50% { transform:scale(1.2); }
} 50% { opacity:.3; } }

/* 比分变化动画 */
.score-box.score-change { animation:scorePulse .5s ease-out; }
@keyframes scorePulse {
  0% { transform:scale(1.08); box-shadow:0 0 50px rgba(0,200,255,.8); }
  100% { transform:scale(1); }
}

/* 24秒 */
.shot-row { display:flex; align-items:center; gap:20px; padding:10px 28px; border-radius:8px; position:relative; z-index:1; }
.shot-label { font-size:18px; letter-spacing:4px; opacity:.85; }
.shot-clock { font-size:64px; font-weight:bold; font-family:"Consolas",monospace; min-width:100px; text-align:center; padding:4px 16px; border-radius:6px; position:relative; }
.shot-clock.warning { animation:warningFlash .5s ease-in-out infinite; }
@keyframes warningFlash {
  0%,100% { color:#ff6464; text-shadow:0 0 20px rgba(255,100,100,.8); }
  50% { color:#fff; text-shadow:0 0 30px rgba(255,100,100,1); }
}

/* 暂停 & 犯规 */
.stats-row { display:flex; flex-direction:column; gap:12px; width:100%; position:relative; z-index:1; margin-top:auto; flex-shrink:0; margin-bottom:60px; }
.stat-item { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:10px 28px; position:relative; background:transparent; border:none; }
.stat-item::before { content:''; position:absolute; top:0; bottom:0; left:50%; transform:translateX(-50%); width:1px; background:linear-gradient(180deg,transparent,rgba(255,255,255,.15),transparent); }
.stat-val { font-size:177px; font-weight:bold; font-family:"Consolas",monospace; position:relative; }
.stat-val.home { text-align:right; padding-right:24px; }
.stat-val.away { text-align:left; padding-left:24px; }
.stat-label { font-size:51px; letter-spacing:6px; opacity:.85; text-align:center; min-width:80px; position:relative; z-index:1; }

/* ============================================================
   主题: 科技蓝(默认)
   ============================================================ */
.theme-led { background:radial-gradient(ellipse at center,#0a1628 0%,#050d1a 50%,#020611 100%); color:#e8f4ff; }
.theme-led .title-bar h1 { color:#fff; text-shadow:0 0 25px rgba(0,200,255,.7),0 0 50px rgba(0,150,255,.4); }
.theme-led .title-deco { color:#00d4ff; }
.theme-led .player-panel { background:linear-gradient(180deg,rgba(0,80,180,.2),rgba(0,30,80,.1)); border:1px solid rgba(0,180,255,.4); box-shadow:0 0 30px rgba(0,100,200,.2),inset 0 0 40px rgba(0,60,140,.1); }
.theme-led .player-panel::before, .theme-led .player-panel::after { border-color:#00b4ff; }
.theme-led .panel-header { background:linear-gradient(90deg,rgba(0,180,255,.3),rgba(0,100,200,.15),rgba(0,180,255,.3)); border-bottom:2px solid rgba(0,200,255,.5); }
.theme-led .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(255,80,80,.4),rgba(200,40,40,.2),rgba(255,80,80,.4)); border-bottom:2px solid rgba(255,100,100,.6); }
.theme-led .player-panel.home::before, .theme-led .player-panel.home::after { border-color:#ff6464; }
.theme-led .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(0,220,200,.4),rgba(0,160,140,.2),rgba(0,220,200,.4)); border-bottom:2px solid rgba(0,220,200,.6); }
.theme-led .player-panel.away::before, .theme-led .player-panel.away::after { border-color:#00dcc8; }
.theme-led .home .team-label { color:#ff7b7b; text-shadow:0 0 15px rgba(255,80,80,.7); }
.theme-led .away .team-label { color:#5eead4; text-shadow:0 0 15px rgba(0,220,200,.7); }
.theme-led .player-thead { color:#a8d4f0; border-color:rgba(0,180,255,.35); background:rgba(0,60,140,.35); }
.theme-led .player-row { border-bottom:1px solid rgba(0,150,255,.1); }
.theme-led .player-row .col-num { color:#7ec8e3; text-shadow:0 0 8px rgba(0,180,255,.5); }
.theme-led .player-row .col-name { color:#ffd700; text-shadow:0 0 12px rgba(255,215,0,.6),0 0 25px rgba(255,180,0,.3); }
.theme-led .player-row .col-pts { color:#fff; text-shadow:0 0 10px rgba(255,255,255,.5); }
.theme-led .player-row .col-foul { color:#ff8888; text-shadow:0 0 8px rgba(255,80,80,.5); }
.theme-led .center-panel { background:linear-gradient(180deg,rgba(0,60,160,.18),rgba(0,20,60,.09)); border:1px solid rgba(0,180,255,.4); box-shadow:0 0 40px rgba(0,100,200,.25),inset 0 0 50px rgba(0,50,120,.1); }
.theme-led .team-logo { background:linear-gradient(135deg,#0088ff,#003366); box-shadow:0 0 25px rgba(0,180,255,.7),inset 0 0 20px rgba(0,200,255,.4); border:2px solid rgba(0,220,255,.7); }
.theme-led .logo-ph { color:#fff; text-shadow:0 0 10px rgba(0,200,255,.7); }
.theme-led .team-name { color:#fff; text-shadow:0 0 12px rgba(0,200,255,.6); }
.theme-led .period-text { color:#00e5ff; text-shadow:0 0 18px rgba(0,229,255,.8); background:rgba(0,229,255,.1); border:1px solid rgba(0,229,255,.3); }
.theme-led .game-clock { color:#00ff88; text-shadow:0 0 25px rgba(0,255,136,.8),0 0 50px rgba(0,255,136,.4); background:rgba(0,255,136,.08); border:1px solid rgba(0,255,136,.3); }
.theme-led .score-box { background:linear-gradient(180deg,rgba(0,100,220,.45),rgba(0,40,110,.3)); border-color:#00c8ff; box-shadow:0 0 40px rgba(0,180,255,.6),inset 0 0 30px rgba(0,100,220,.35); }
.theme-led .score-box span { color:#fff; text-shadow:0 0 30px rgba(0,220,255,.9),0 0 60px rgba(0,180,255,.5); }
.theme-led .score-colon { color:#00c8ff; text-shadow:0 0 20px rgba(0,200,255,.7); }
.theme-led .shot-row { background:rgba(0,60,140,.25); border:1px solid rgba(0,180,255,.35); box-shadow:inset 0 0 20px rgba(0,60,140,.2); }
.theme-led .shot-label { color:#a8d4f0; }
.theme-led .shot-clock { color:#ff6464; text-shadow:0 0 18px rgba(255,100,100,.8); background:rgba(255,100,100,.1); border:1px solid rgba(255,100,100,.3); }
.theme-led .stat-val.home { color:#ff7b7b; text-shadow:0 0 15px rgba(255,80,80,.7); }
.theme-led .stat-val.away { color:#5eead4; text-shadow:0 0 15px rgba(0,220,200,.7); }
.theme-led .stat-label { color:#a8d4f0; letter-spacing:5px; }
.theme-led .stat-item { background:rgba(0,60,140,.15); }

/* ============================================================
   主题: 经典橙
   ============================================================ */
.theme-classic { background:radial-gradient(ellipse at center,#1a0f00 0%,#0d0700 100%); color:#fff5e6; }
.theme-classic .grid-bg { background-image:linear-gradient(rgba(255,140,0,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,140,0,.03) 1px,transparent 1px); }
.theme-classic .title-bar h1 { color:#ffd700; text-shadow:0 0 20px rgba(255,140,0,.6); }
.theme-classic .title-deco { color:#ff8c00; }
.theme-classic .player-panel { background:linear-gradient(180deg,rgba(255,140,0,.12),rgba(120,60,0,.06)); border:1px solid rgba(255,140,0,.3); box-shadow:0 0 25px rgba(255,140,0,.15); }
.theme-classic .player-panel::before, .theme-classic .player-panel::after { border-color:#ff8c00; }
.theme-classic .panel-header { background:linear-gradient(90deg,rgba(255,140,0,.25),rgba(180,80,0,.12),rgba(255,140,0,.25)); border-bottom:2px solid rgba(255,140,0,.4); }
.theme-classic .home .team-label { color:#ff6b6b; text-shadow:0 0 12px rgba(255,100,100,.6); }
.theme-classic .away .team-label { color:#4ecdc4; text-shadow:0 0 12px rgba(78,205,196,.6); }
.theme-classic .player-thead { color:#d4a574; border-color:rgba(255,140,0,.25); background:rgba(120,60,0,.2); }
.theme-classic .player-row .col-num { color:#d4a574; }
.theme-classic .player-row .col-name { color:#ffd700; text-shadow:0 0 8px rgba(255,215,0,.5); }
.theme-classic .player-row .col-pts { color:#fff; }
.theme-classic .player-row .col-foul { color:#ff8888; }
.theme-classic .center-panel { background:linear-gradient(180deg,rgba(255,140,0,.1),rgba(120,60,0,.05)); border:1px solid rgba(255,140,0,.25); box-shadow:0 0 30px rgba(255,140,0,.15); }
.theme-classic .team-logo { background:linear-gradient(135deg,#ff8c00,#8b4513); box-shadow:0 0 20px rgba(255,140,0,.5); border:2px solid rgba(255,140,0,.6); }
.theme-classic .period-text { color:#ff8c00; text-shadow:0 0 12px rgba(255,140,0,.6); background:rgba(255,140,0,.1); }
.theme-classic .game-clock { color:#ffd700; text-shadow:0 0 15px rgba(255,215,0,.6); background:rgba(255,215,0,.08); }
.theme-classic .score-box { background:linear-gradient(180deg,rgba(255,140,0,.3),rgba(180,80,0,.18)); border-color:#ff8c00; box-shadow:0 0 30px rgba(255,140,0,.45); }
.theme-classic .score-box span { color:#fff; text-shadow:0 0 25px rgba(255,200,0,.6); }
.theme-classic .score-colon { color:#ff8c00; }
.theme-classic .shot-row { background:rgba(255,140,0,.15); border:1px solid rgba(255,140,0,.25); }
.theme-classic .shot-label { color:#d4a574; }
.theme-classic .shot-clock { color:#ff6464; }
.theme-classic .stat-val.home { color:#ff6b6b; }
.theme-classic .stat-val.away { color:#4ecdc4; }
.theme-classic .stat-label { color:#d4a574; }

/* ============================================================
   主题: 暗黑金
   ============================================================ */
.theme-gold { background:radial-gradient(ellipse at center,#1a1508 0%,#0d0d0d 100%); color:#f5e6c8; }
.theme-gold .grid-bg { background-image:linear-gradient(rgba(212,175,55,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.02) 1px,transparent 1px); }
.theme-gold .title-bar h1 { color:#d4af37; text-shadow:0 0 20px rgba(212,175,55,.6); font-family:"Georgia",serif; }
.theme-gold .title-deco { color:#d4af37; }
.theme-gold .player-panel { background:linear-gradient(180deg,rgba(212,175,55,.1),rgba(100,80,20,.05)); border:1px solid rgba(212,175,55,.3); box-shadow:0 0 25px rgba(212,175,55,.15); }
.theme-gold .player-panel::before, .theme-gold .player-panel::after { border-color:#d4af37; }
.theme-gold .panel-header { background:linear-gradient(90deg,rgba(212,175,55,.22),rgba(140,110,30,.1),rgba(212,175,55,.22)); border-bottom:2px solid rgba(212,175,55,.4); }
.theme-gold .home .team-label { color:#e74c3c; text-shadow:0 0 12px rgba(231,76,60,.6); }
.theme-gold .away .team-label { color:#3498db; text-shadow:0 0 12px rgba(52,152,219,.6); }
.theme-gold .player-thead { color:#b8941f; border-color:rgba(212,175,55,.25); background:rgba(100,80,20,.18); }
.theme-gold .player-row .col-num { color:#b8941f; }
.theme-gold .player-row .col-name { color:#d4af37; text-shadow:0 0 8px rgba(212,175,55,.5); }
.theme-gold .player-row .col-pts { color:#f5e6c8; }
.theme-gold .player-row .col-foul { color:#e74c3c; }
.theme-gold .center-panel { background:linear-gradient(180deg,rgba(212,175,55,.08),rgba(100,80,20,.04)); border:1px solid rgba(212,175,55,.25); box-shadow:0 0 30px rgba(212,175,55,.15); }
.theme-gold .team-logo { background:linear-gradient(135deg,#d4af37,#8b6914); box-shadow:0 0 22px rgba(212,175,55,.6); border:2px solid rgba(212,175,55,.7); }
.theme-gold .team-name { font-family:"Georgia",serif; }
.theme-gold .period-text { color:#d4af37; text-shadow:0 0 12px rgba(212,175,55,.6); background:rgba(212,175,55,.1); }
.theme-gold .game-clock { color:#d4af37; text-shadow:0 0 15px rgba(212,175,55,.6); font-family:"Georgia",serif; background:rgba(212,175,55,.08); }
.theme-gold .score-box { background:linear-gradient(180deg,rgba(212,175,55,.25),rgba(140,110,30,.15)); border-color:#d4af37; box-shadow:0 0 30px rgba(212,175,55,.5); }
.theme-gold .score-box span { color:#d4af37; text-shadow:0 0 25px rgba(212,175,55,.7); font-family:"Georgia",serif; }
.theme-gold .score-colon { color:#d4af37; }
.theme-gold .shot-row { background:rgba(212,175,55,.12); border:1px solid rgba(212,175,55,.25); }
.theme-gold .shot-label { color:#b8941f; }
.theme-gold .shot-clock { color:#e74c3c; }
.theme-gold .stat-val.home { color:#e74c3c; }
.theme-gold .stat-val.away { color:#3498db; }
.theme-gold .stat-label { color:#b8941f; }

/* ============================================================
   主题: 极简白
   ============================================================ */
.theme-minimal { background:#f0f2f5; color:#1a1a2e; }
.theme-minimal .grid-bg, .theme-minimal .scan-line, .theme-minimal #particleCanvas, .theme-minimal .bg-glow { display:none; }
.theme-minimal .title-bar h1 { color:#1a1a2e; text-shadow:none; -webkit-text-fill-color:#1a1a2e; filter:none; }
.theme-minimal .title-deco { color:#1a1a2e; opacity:.3; }
.theme-minimal .player-panel { background:#fff; border:1px solid #e0e0e0; box-shadow:0 2px 12px rgba(0,0,0,.08); }
.theme-minimal .player-panel::before, .theme-minimal .player-panel::after { display:none; }
.theme-minimal .panel-header { background:#f5f5f5; border-bottom:1px solid #e0e0e0; }
.theme-minimal .home .team-label { color:#e53935; text-shadow:none; }
.theme-minimal .away .team-label { color:#1e88e5; text-shadow:none; }
.theme-minimal .player-thead { color:#888; border-color:#eee; background:#fafafa; }
.theme-minimal .player-row { border-color:#f0f0f0; }
.theme-minimal .player-row:hover { background:#f5f5f5; transform:none; }
.theme-minimal .player-row .col-num { color:#666; text-shadow:none; }
.theme-minimal .player-row .col-name { color:#1a1a2e; text-shadow:none; }
.theme-minimal .player-row .col-pts { color:#1a1a2e; text-shadow:none; }
.theme-minimal .player-row .col-foul { color:#e53935; text-shadow:none; }
.theme-minimal .center-panel { background:#fff; border:1px solid #e0e0e0; box-shadow:0 2px 12px rgba(0,0,0,.08); }
.theme-minimal .center-panel::before { display:none; }
.theme-minimal .team-logo { background:#e0e0e0; border:2px solid #ccc; box-shadow:none; }
.theme-minimal .logo-ph { color:#666; text-shadow:none; }
.theme-minimal .team-name { color:#1a1a2e; text-shadow:none; }
.theme-minimal .period-text { color:#1a1a2e; text-shadow:none; background:transparent; border:none; }
.theme-minimal .game-clock { color:#1a1a2e; text-shadow:none; background:transparent; border:none; }
.theme-minimal .score-box { background:#fafafa; border-color:#ddd; box-shadow:none; }
.theme-minimal .score-box span { color:#1a1a2e; text-shadow:none; }
.theme-minimal .score-colon { color:#999; animation:none; }
.theme-minimal .shot-row { background:#fafafa; border:1px solid #eee; }
.theme-minimal .shot-label { color:#888; }
.theme-minimal .shot-clock { color:#e53935; text-shadow:none; background:transparent; border:none; }
.theme-minimal .stat-val.home { color:#e53935; text-shadow:none; }
.theme-minimal .stat-val.away { color:#1e88e5; text-shadow:none; }
.theme-minimal .stat-label { color:#888; }
.theme-minimal .stat-item { background:transparent; }

/* 全屏按钮 */
.fullscreen-btn { position:fixed; top:15px; right:20px; z-index:100; background:rgba(0,100,200,.3); border:1px solid rgba(0,180,255,.5); color:#fff; padding:8px 16px; border-radius:6px; cursor:pointer; font-size:14px; transition:all .2s; backdrop-filter:blur(10px); }
.fullscreen-btn:hover { background:rgba(0,150,255,.5); box-shadow:0 0 15px rgba(0,180,255,.5); }

/* 主题切换按钮 */
.theme-switcher { position:fixed; top:15px; right:120px; z-index:100; display:flex; gap:6px; }
.theme-btn { width:28px; height:28px; border-radius:50%; border:2px solid rgba(255,255,255,.3); cursor:pointer; transition:all .2s; }
.theme-btn:hover { transform:scale(1.15); border-color:#fff; }
.theme-btn.active { border-color:#fff; box-shadow:0 0 10px rgba(255,255,255,.6); }
.theme-btn.led { background:linear-gradient(135deg,#00aaff,#003366); }
.theme-btn.classic { background:linear-gradient(135deg,#ff8c00,#8b4513); }
.theme-btn.gold { background:linear-gradient(135deg,#d4af37,#8b6914); }
.theme-btn.minimal { background:linear-gradient(135deg,#fff,#ddd); }

/* 犯规圆圈图标显示 */
.col-foul-circles { display:flex; gap:4px; align-items:center; justify-content:center; width:100%; }
.foul-circle { width:24px; height:24px; border-radius:50%; border:3px solid rgba(255,255,255,.5); background:transparent; display:inline-block; flex-shrink:1; min-width:0; }
.foul-circle.filled { background:#ff4757; border-color:#ff4757; box-shadow:0 0 10px rgba(255,71,87,.9), inset 0 0 4px rgba(255,255,255,.3); }

/* 比分浮动动画效果 */
.score-float {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: visible;
  z-index: 10;
}
.score-float-item {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 64px;
  font-weight: bold;
  font-family: "Consolas", "Courier New", monospace;
  opacity: 0;
  text-shadow: 0 0 20px currentColor, 0 0 40px currentColor;
  white-space: nowrap;
}
.score-float-item.plus {
  color: #2ed573;
}
.score-float-item.minus {
  color: #ff4757;
}
.score-float-item.animate {
  animation: scoreFloatUp 1.2s ease-out forwards;
}
@keyframes scoreFloatUp {
  0% {
    opacity: 0;
    transform: translate(-50%, -30%) scale(0.5);
  }
  15% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.3);
  }
  30% {
    transform: translate(-50%, -55%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -120%) scale(0.9);
  }
}
/* ============================================================
   主题: 暗夜紫
   ============================================================ */
.theme-purple { background:radial-gradient(ellipse at center,#1a0a2e 0%,#0d0520 50%,#050210 100%); color:#f0e6ff; }
.theme-purple .title-bar h1 { color:#fff; text-shadow:0 0 25px rgba(180,100,255,.7),0 0 50px rgba(150,80,255,.4); }
.theme-purple .title-deco { color:#b464ff; }
.theme-purple .player-panel { background:linear-gradient(180deg,rgba(120,60,200,.2),rgba(60,20,100,.1)); border:1px solid rgba(180,100,255,.4); box-shadow:0 0 30px rgba(120,60,200,.2),inset 0 0 40px rgba(80,30,150,.1); }
.theme-purple .player-panel::before, .theme-purple .player-panel::after { border-color:#b464ff; }
.theme-purple .panel-header { background:linear-gradient(90deg,rgba(180,100,255,.3),rgba(120,60,200,.15),rgba(180,100,255,.3)); border-bottom:2px solid rgba(180,100,255,.5); }
.theme-purple .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(255,80,120,.4),rgba(200,40,80,.2),rgba(255,80,120,.4)); border-bottom:2px solid rgba(255,100,140,.6); }
.theme-purple .player-panel.home::before, .theme-purple .player-panel.home::after { border-color:#ff648c; }
.theme-purple .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(100,220,255,.4),rgba(50,160,200,.2),rgba(100,220,255,.4)); border-bottom:2px solid rgba(100,220,255,.6); }
.theme-purple .player-panel.away::before, .theme-purple .player-panel.away::after { border-color:#64dcff; }
.theme-purple .home .team-label { color:#ff7b9c; text-shadow:0 0 15px rgba(255,80,140,.7); }
.theme-purple .away .team-label { color:#7ee8ff; text-shadow:0 0 15px rgba(100,220,255,.7); }
.theme-purple .player-thead { color:#c8a8f0; border-color:rgba(180,100,255,.35); background:rgba(80,30,150,.35); }
.theme-purple .player-row { border-bottom:1px solid rgba(150,80,255,.1); }
.theme-purple .player-row .col-num { color:#b894e8; text-shadow:0 0 8px rgba(180,100,255,.5); }
.theme-purple .player-row .col-name { color:#ffd700; text-shadow:0 0 12px rgba(255,215,0,.6),0 0 25px rgba(255,180,0,.3); }
.theme-purple .player-row .col-pts { color:#fff; text-shadow:0 0 10px rgba(255,255,255,.5); }
.theme-purple .player-row .col-foul { color:#ff88aa; text-shadow:0 0 8px rgba(255,80,140,.5); }
.theme-purple .center-panel { background:linear-gradient(180deg,rgba(100,50,180,.18),rgba(40,15,80,.09)); border:1px solid rgba(180,100,255,.4); box-shadow:0 0 40px rgba(120,60,200,.25),inset 0 0 50px rgba(60,20,120,.1); }
.theme-purple .team-logo { background:linear-gradient(135deg,#9932cc,#4b0082); box-shadow:0 0 25px rgba(180,100,255,.7),inset 0 0 20px rgba(200,120,255,.4); border:2px solid rgba(200,120,255,.7); }
.theme-purple .logo-ph { color:#fff; text-shadow:0 0 10px rgba(200,120,255,.7); }
.theme-purple .team-name { color:#fff; text-shadow:0 0 12px rgba(180,100,255,.6); }
.theme-purple .period-text { color:#d080ff; text-shadow:0 0 18px rgba(200,120,255,.8); background:rgba(200,120,255,.1); border:1px solid rgba(200,120,255,.3); }
.theme-purple .game-clock { color:#b4ff64; text-shadow:0 0 25px rgba(180,255,100,.8),0 0 50px rgba(150,255,80,.4); background:rgba(180,255,100,.08); border:1px solid rgba(180,255,100,.3); }
.theme-purple .score-box { background:linear-gradient(180deg,rgba(150,80,220,.45),rgba(80,30,150,.3)); border-color:#b464ff; box-shadow:0 0 40px rgba(180,100,255,.6),inset 0 0 30px rgba(150,80,220,.35); }
.theme-purple .score-box span { color:#fff; text-shadow:0 0 30px rgba(200,120,255,.9),0 0 60px rgba(180,100,255,.5); }
.theme-purple .score-colon { color:#b464ff; text-shadow:0 0 20px rgba(180,100,255,.7); }
.theme-purple .shot-row { background:rgba(80,30,150,.25); border:1px solid rgba(180,100,255,.35); box-shadow:inset 0 0 20px rgba(80,30,150,.2); }
.theme-purple .shot-label { color:#c8a8f0; }
.theme-purple .shot-clock { color:#ff648c; text-shadow:0 0 18px rgba(255,100,140,.8); background:rgba(255,100,140,.1); border:1px solid rgba(255,100,140,.3); }
.theme-purple .stat-val.home { color:#ff7b9c; text-shadow:0 0 15px rgba(255,80,140,.7); }
.theme-purple .stat-val.away { color:#7ee8ff; text-shadow:0 0 15px rgba(100,220,255,.7); }
.theme-purple .stat-label { color:#c8a8f0; letter-spacing:5px; }
.theme-purple .stat-item { background:rgba(80,30,150,.15); }

/* ============================================================
   主题: 烈焰红
   ============================================================ */
.theme-red { background:radial-gradient(ellipse at center,#2a0505 0%,#1a0202 50%,#0a0000 100%); color:#ffe6e6; }
.theme-red .title-bar h1 { color:#fff; text-shadow:0 0 25px rgba(255,60,60,.7),0 0 50px rgba(255,30,30,.4); }
.theme-red .title-deco { color:#ff4040; }
.theme-red .player-panel { background:linear-gradient(180deg,rgba(200,40,40,.2),rgba(100,15,15,.1)); border:1px solid rgba(255,60,60,.4); box-shadow:0 0 30px rgba(200,40,40,.2),inset 0 0 40px rgba(150,20,20,.1); }
.theme-red .player-panel::before, .theme-red .player-panel::after { border-color:#ff4040; }
.theme-red .panel-header { background:linear-gradient(90deg,rgba(255,60,60,.3),rgba(200,30,30,.15),rgba(255,60,60,.3)); border-bottom:2px solid rgba(255,60,60,.5); }
.theme-red .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(255,100,50,.4),rgba(200,60,20,.2),rgba(255,100,50,.4)); border-bottom:2px solid rgba(255,120,60,.6); }
.theme-red .player-panel.home::before, .theme-red .player-panel.home::after { border-color:#ff783c; }
.theme-red .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(255,200,50,.4),rgba(200,150,20,.2),rgba(255,200,50,.4)); border-bottom:2px solid rgba(255,200,60,.6); }
.theme-red .player-panel.away::before, .theme-red .player-panel.away::after { border-color:#ffc83c; }
.theme-red .home .team-label { color:#ff8c5a; text-shadow:0 0 15px rgba(255,120,60,.7); }
.theme-red .away .team-label { color:#ffd87a; text-shadow:0 0 15px rgba(255,200,60,.7); }
.theme-red .player-thead { color:#f0a0a0; border-color:rgba(255,60,60,.35); background:rgba(150,20,20,.35); }
.theme-red .player-row { border-bottom:1px solid rgba(255,60,60,.1); }
.theme-red .player-row .col-num { color:#f08080; text-shadow:0 0 8px rgba(255,60,60,.5); }
.theme-red .player-row .col-name { color:#ffd700; text-shadow:0 0 12px rgba(255,215,0,.6),0 0 25px rgba(255,180,0,.3); }
.theme-red .player-row .col-pts { color:#fff; text-shadow:0 0 10px rgba(255,255,255,.5); }
.theme-red .player-row .col-foul { color:#ff6666; text-shadow:0 0 8px rgba(255,50,50,.5); }
.theme-red .center-panel { background:linear-gradient(180deg,rgba(180,30,30,.18),rgba(80,10,10,.09)); border:1px solid rgba(255,60,60,.4); box-shadow:0 0 40px rgba(200,40,40,.25),inset 0 0 50px rgba(120,20,20,.1); }
.theme-red .team-logo { background:linear-gradient(135deg,#dc143c,#8b0000); box-shadow:0 0 25px rgba(255,60,60,.7),inset 0 0 20px rgba(255,80,80,.4); border:2px solid rgba(255,80,80,.7); }
.theme-red .logo-ph { color:#fff; text-shadow:0 0 10px rgba(255,80,80,.7); }
.theme-red .team-name { color:#fff; text-shadow:0 0 12px rgba(255,60,60,.6); }
.theme-red .period-text { color:#ff6060; text-shadow:0 0 18px rgba(255,80,80,.8); background:rgba(255,80,80,.1); border:1px solid rgba(255,80,80,.3); }
.theme-red .game-clock { color:#ffaa00; text-shadow:0 0 25px rgba(255,170,0,.8),0 0 50px rgba(255,140,0,.4); background:rgba(255,170,0,.08); border:1px solid rgba(255,170,0,.3); }
.theme-red .score-box { background:linear-gradient(180deg,rgba(220,50,50,.45),rgba(150,20,20,.3)); border-color:#ff4040; box-shadow:0 0 40px rgba(255,60,60,.6),inset 0 0 30px rgba(220,50,50,.35); }
.theme-red .score-box span { color:#fff; text-shadow:0 0 30px rgba(255,80,80,.9),0 0 60px rgba(255,60,60,.5); }
.theme-red .score-colon { color:#ff4040; text-shadow:0 0 20px rgba(255,60,60,.7); }
.theme-red .shot-row { background:rgba(150,20,20,.25); border:1px solid rgba(255,60,60,.35); box-shadow:inset 0 0 20px rgba(150,20,20,.2); }
.theme-red .shot-label { color:#f0a0a0; }
.theme-red .shot-clock { color:#ffaa00; text-shadow:0 0 18px rgba(255,170,0,.8); background:rgba(255,170,0,.1); border:1px solid rgba(255,170,0,.3); }
.theme-red .stat-val.home { color:#ff8c5a; text-shadow:0 0 15px rgba(255,120,60,.7); }
.theme-red .stat-val.away { color:#ffd87a; text-shadow:0 0 15px rgba(255,200,60,.7); }
.theme-red .stat-label { color:#f0a0a0; letter-spacing:5px; }
.theme-red .stat-item { background:rgba(150,20,20,.15); }

/* ============================================================
   主题: 赛博朋克
   ============================================================ */
.theme-cyber { background:linear-gradient(135deg,#0a0015 0%,#150025 50%,#001020 100%); color:#e0f7ff; }
.theme-cyber .title-bar h1 { color:#00ffff; text-shadow:0 0 25px rgba(0,255,255,.8),0 0 50px rgba(255,0,255,.4); }
.theme-cyber .title-deco { color:#ff00ff; }
.theme-cyber .player-panel { background:linear-gradient(180deg,rgba(255,0,255,.12),rgba(0,255,255,.08)); border:1px solid rgba(0,255,255,.4); box-shadow:0 0 30px rgba(255,0,255,.2),inset 0 0 40px rgba(0,255,255,.08); }
.theme-cyber .player-panel::before, .theme-cyber .player-panel::after { border-color:#00ffff; }
.theme-cyber .panel-header { background:linear-gradient(90deg,rgba(255,0,255,.25),rgba(0,255,255,.15),rgba(255,0,255,.25)); border-bottom:2px solid rgba(0,255,255,.5); }
.theme-cyber .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(255,0,128,.35),rgba(200,0,100,.2),rgba(255,0,128,.35)); border-bottom:2px solid rgba(255,0,128,.6); }
.theme-cyber .player-panel.home::before, .theme-cyber .player-panel.home::after { border-color:#ff0080; }
.theme-cyber .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(0,255,200,.35),rgba(0,200,150,.2),rgba(0,255,200,.35)); border-bottom:2px solid rgba(0,255,200,.6); }
.theme-cyber .player-panel.away::before, .theme-cyber .player-panel.away::after { border-color:#00ffc8; }
.theme-cyber .home .team-label { color:#ff40a0; text-shadow:0 0 15px rgba(255,0,128,.8); }
.theme-cyber .away .team-label { color:#40ffd0; text-shadow:0 0 15px rgba(0,255,200,.8); }
.theme-cyber .player-thead { color:#80ffff; border-color:rgba(0,255,255,.35); background:rgba(0,100,150,.3); }
.theme-cyber .player-row { border-bottom:1px solid rgba(0,255,255,.1); }
.theme-cyber .player-row .col-num { color:#80ffff; text-shadow:0 0 8px rgba(0,255,255,.6); }
.theme-cyber .player-row .col-name { color:#ffff00; text-shadow:0 0 12px rgba(255,255,0,.7),0 0 25px rgba(255,200,0,.4); }
.theme-cyber .player-row .col-pts { color:#fff; text-shadow:0 0 10px rgba(255,255,255,.6); }
.theme-cyber .player-row .col-foul { color:#ff80c0; text-shadow:0 0 8px rgba(255,0,128,.6); }
.theme-cyber .center-panel { background:linear-gradient(180deg,rgba(255,0,255,.1),rgba(0,255,255,.06)); border:1px solid rgba(0,255,255,.4); box-shadow:0 0 40px rgba(255,0,255,.25),inset 0 0 50px rgba(0,255,255,.08); }
.theme-cyber .team-logo { background:linear-gradient(135deg,#ff00ff,#00ffff); box-shadow:0 0 25px rgba(255,0,255,.7),inset 0 0 20px rgba(0,255,255,.4); border:2px solid rgba(0,255,255,.7); }
.theme-cyber .logo-ph { color:#000; text-shadow:0 0 10px rgba(255,255,255,.8); }
.theme-cyber .team-name { color:#00ffff; text-shadow:0 0 12px rgba(0,255,255,.7); }
.theme-cyber .period-text { color:#ff00ff; text-shadow:0 0 18px rgba(255,0,255,.8); background:rgba(255,0,255,.1); border:1px solid rgba(255,0,255,.3); }
.theme-cyber .game-clock { color:#00ff00; text-shadow:0 0 25px rgba(0,255,0,.8),0 0 50px rgba(0,200,0,.4); background:rgba(0,255,0,.08); border:1px solid rgba(0,255,0,.3); }
.theme-cyber .score-box { background:linear-gradient(180deg,rgba(255,0,255,.3),rgba(0,255,255,.2)); border-color:#00ffff; box-shadow:0 0 40px rgba(255,0,255,.5),inset 0 0 30px rgba(0,255,255,.25); }
.theme-cyber .score-box span { color:#fff; text-shadow:0 0 30px rgba(0,255,255,.9),0 0 60px rgba(255,0,255,.5); }
.theme-cyber .score-colon { color:#ff00ff; text-shadow:0 0 20px rgba(255,0,255,.8); }
.theme-cyber .shot-row { background:rgba(0,100,150,.25); border:1px solid rgba(0,255,255,.35); box-shadow:inset 0 0 20px rgba(0,100,150,.2); }
.theme-cyber .shot-label { color:#80ffff; }
.theme-cyber .shot-clock { color:#ff0080; text-shadow:0 0 18px rgba(255,0,128,.8); background:rgba(255,0,128,.1); border:1px solid rgba(255,0,128,.3); }
.theme-cyber .stat-val.home { color:#ff40a0; text-shadow:0 0 15px rgba(255,0,128,.8); }
.theme-cyber .stat-val.away { color:#40ffd0; text-shadow:0 0 15px rgba(0,255,200,.8); }
.theme-cyber .stat-label { color:#80ffff; letter-spacing:5px; }
.theme-cyber .stat-item { background:rgba(0,100,150,.15); }

/* ============================================================
   主题: 森林绿
   ============================================================ */
.theme-green { background:radial-gradient(ellipse at center,#0a1f0a 0%,#051005 50%,#020802 100%); color:#e6ffe6; }
.theme-green .title-bar h1 { color:#fff; text-shadow:0 0 25px rgba(80,220,80,.7),0 0 50px rgba(50,180,50,.4); }
.theme-green .title-deco { color:#50dc50; }
.theme-green .player-panel { background:linear-gradient(180deg,rgba(50,150,50,.2),rgba(20,80,20,.1)); border:1px solid rgba(80,220,80,.4); box-shadow:0 0 30px rgba(50,150,50,.2),inset 0 0 40px rgba(30,100,30,.1); }
.theme-green .player-panel::before, .theme-green .player-panel::after { border-color:#50dc50; }
.theme-green .panel-header { background:linear-gradient(90deg,rgba(80,220,80,.3),rgba(50,150,50,.15),rgba(80,220,80,.3)); border-bottom:2px solid rgba(80,220,80,.5); }
.theme-green .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(255,180,50,.4),rgba(200,140,20,.2),rgba(255,180,50,.4)); border-bottom:2px solid rgba(255,180,60,.6); }
.theme-green .player-panel.home::before, .theme-green .player-panel.home::after { border-color:#ffb43c; }
.theme-green .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(100,200,255,.4),rgba(50,150,200,.2),rgba(100,200,255,.4)); border-bottom:2px solid rgba(100,200,255,.6); }
.theme-green .player-panel.away::before, .theme-green .player-panel.away::after { border-color:#64c8ff; }
.theme-green .home .team-label { color:#ffc87a; text-shadow:0 0 15px rgba(255,180,60,.7); }
.theme-green .away .team-label { color:#7ad0ff; text-shadow:0 0 15px rgba(100,200,255,.7); }
.theme-green .player-thead { color:#a0e8a0; border-color:rgba(80,220,80,.35); background:rgba(30,100,30,.35); }
.theme-green .player-row { border-bottom:1px solid rgba(80,220,80,.1); }
.theme-green .player-row .col-num { color:#80d880; text-shadow:0 0 8px rgba(80,220,80,.5); }
.theme-green .player-row .col-name { color:#ffd700; text-shadow:0 0 12px rgba(255,215,0,.6),0 0 25px rgba(255,180,0,.3); }
.theme-green .player-row .col-pts { color:#fff; text-shadow:0 0 10px rgba(255,255,255,.5); }
.theme-green .player-row .col-foul { color:#ff8888; text-shadow:0 0 8px rgba(255,80,80,.5); }
.theme-green .center-panel { background:linear-gradient(180deg,rgba(50,150,50,.18),rgba(20,60,20,.09)); border:1px solid rgba(80,220,80,.4); box-shadow:0 0 40px rgba(50,150,50,.25),inset 0 0 50px rgba(30,80,30,.1); }
.theme-green .team-logo { background:linear-gradient(135deg,#228b22,#006400); box-shadow:0 0 25px rgba(80,220,80,.7),inset 0 0 20px rgba(100,255,100,.4); border:2px solid rgba(100,255,100,.7); }
.theme-green .logo-ph { color:#fff; text-shadow:0 0 10px rgba(100,255,100,.7); }
.theme-green .team-name { color:#fff; text-shadow:0 0 12px rgba(80,220,80,.6); }
.theme-green .period-text { color:#50dc50; text-shadow:0 0 18px rgba(80,220,80,.8); background:rgba(80,220,80,.1); border:1px solid rgba(80,220,80,.3); }
.theme-green .game-clock { color:#a0ff60; text-shadow:0 0 25px rgba(160,255,96,.8),0 0 50px rgba(130,255,60,.4); background:rgba(160,255,96,.08); border:1px solid rgba(160,255,96,.3); }
.theme-green .score-box { background:linear-gradient(180deg,rgba(50,180,50,.45),rgba(20,100,20,.3)); border-color:#50dc50; box-shadow:0 0 40px rgba(80,220,80,.6),inset 0 0 30px rgba(50,180,50,.35); }
.theme-green .score-box span { color:#fff; text-shadow:0 0 30px rgba(100,255,100,.9),0 0 60px rgba(80,220,80,.5); }
.theme-green .score-colon { color:#50dc50; text-shadow:0 0 20px rgba(80,220,80,.7); }
.theme-green .shot-row { background:rgba(30,100,30,.25); border:1px solid rgba(80,220,80,.35); box-shadow:inset 0 0 20px rgba(30,100,30,.2); }
.theme-green .shot-label { color:#a0e8a0; }
.theme-green .shot-clock { color:#ffb43c; text-shadow:0 0 18px rgba(255,180,60,.8); background:rgba(255,180,60,.1); border:1px solid rgba(255,180,60,.3); }
.theme-green .stat-val.home { color:#ffc87a; text-shadow:0 0 15px rgba(255,180,60,.7); }
.theme-green .stat-val.away { color:#7ad0ff; text-shadow:0 0 15px rgba(100,200,255,.7); }
.theme-green .stat-label { color:#a0e8a0; letter-spacing:5px; }
.theme-green .stat-item { background:rgba(30,100,30,.15); }

/* ============================================================
   主题: 冰雪蓝
   ============================================================ */
.theme-ice { background:linear-gradient(180deg,#e8f4ff 0%,#d0e8ff 50%,#b8d8ff 100%); color:#1a3a5c; }
.theme-ice .grid-bg, .theme-ice .scan-line, .theme-ice #particleCanvas, .theme-ice .bg-glow { display:none; }
.theme-ice .title-bar h1 { color:#1a5a9c; text-shadow:0 2px 10px rgba(100,180,255,.3); -webkit-text-fill-color:#1a5a9c; }
.theme-ice .title-deco { color:#4a90d9; }
.theme-ice .player-panel { background:rgba(255,255,255,.85); border:1px solid #a0c8f0; box-shadow:0 4px 20px rgba(100,150,200,.15); }
.theme-ice .player-panel::before, .theme-ice .player-panel::after { display:none; }
.theme-ice .panel-header { background:linear-gradient(90deg,#d0e8ff,#e8f4ff,#d0e8ff); border-bottom:2px solid #80b8f0; }
.theme-ice .player-panel.home .panel-header { background:linear-gradient(90deg,#ffe0d0,#fff0e8,#ffe0d0); border-bottom:2px solid #f0a080; }
.theme-ice .player-panel.away .panel-header { background:linear-gradient(90deg,#d0f0e8,#e8fff8,#d0f0e8); border-bottom:2px solid #80d0c0; }
.theme-ice .home .team-label { color:#d05030; text-shadow:none; }
.theme-ice .away .team-label { color:#20a080; text-shadow:none; }
.theme-ice .player-thead { color:#5a8ab8; border-color:#c0dcf0; background:#e0f0ff; }
.theme-ice .player-row { border-bottom:1px solid #e0ecf8; }
.theme-ice .player-row:hover { background:#f0f8ff; transform:none; }
.theme-ice .player-row .col-num { color:#4a7ab0; text-shadow:none; }
.theme-ice .player-row .col-name { color:#1a3a5c; text-shadow:none; }
.theme-ice .player-row .col-pts { color:#1a5a9c; text-shadow:none; font-weight:bold; }
.theme-ice .player-row .col-foul { color:#d04040; text-shadow:none; }
.theme-ice .center-panel { background:rgba(255,255,255,.9); border:1px solid #a0c8f0; box-shadow:0 4px 20px rgba(100,150,200,.15); }
.theme-ice .team-logo { background:linear-gradient(135deg,#60a8f0,#3070c0); box-shadow:0 4px 15px rgba(80,140,200,.3); border:2px solid #80b8f0; }
.theme-ice .logo-ph { color:#fff; text-shadow:none; }
.theme-ice .team-name { color:#1a5a9c; text-shadow:none; }
.theme-ice .period-text { color:#2070c0; text-shadow:none; background:#e0f0ff; border:1px solid #80b8f0; }
.theme-ice .game-clock { color:#1a8a4a; text-shadow:none; background:#e8fff0; border:1px solid #80d0a0; }
.theme-ice .score-box { background:linear-gradient(180deg,#f0f8ff,#d8ecff); border-color:#60a8f0; box-shadow:0 4px 20px rgba(80,140,200,.25),inset 0 2px 10px rgba(255,255,255,.5); }
.theme-ice .score-box span { color:#1a5a9c; text-shadow:none; }
.theme-ice .score-colon { color:#4a90d9; text-shadow:none; animation:none; }
.theme-ice .shot-row { background:#e8f4ff; border:1px solid #a0c8f0; box-shadow:none; }
.theme-ice .shot-label { color:#5a8ab8; }
.theme-ice .shot-clock { color:#d05030; text-shadow:none; background:#fff0e8; border:1px solid #f0a080; }
.theme-ice .stat-val.home { color:#d05030; text-shadow:none; }
.theme-ice .stat-val.away { color:#20a080; text-shadow:none; }
.theme-ice .stat-label { color:#5a8ab8; letter-spacing:5px; }
.theme-ice .stat-item { background:#f0f8ff; }

/* ============================================================
   主题: 复古橙
   ============================================================ */
.theme-vintage { background:linear-gradient(180deg,#3d2817 0%,#2a1a0f 50%,#1a0f08 100%); color:#f5e6d3; }
.theme-vintage .title-bar h1 { color:#ffd700; text-shadow:0 0 20px rgba(255,180,50,.6); font-family:"Georgia",serif; }
.theme-vintage .title-deco { color:#d4a574; }
.theme-vintage .player-panel { background:linear-gradient(180deg,rgba(180,120,60,.15),rgba(100,60,20,.08)); border:1px solid rgba(200,140,80,.4); box-shadow:0 0 25px rgba(150,100,50,.15),inset 0 0 30px rgba(120,70,30,.08); }
.theme-vintage .player-panel::before, .theme-vintage .player-panel::after { border-color:#c88c50; }
.theme-vintage .panel-header { background:linear-gradient(90deg,rgba(200,140,80,.25),rgba(150,90,40,.12),rgba(200,140,80,.25)); border-bottom:2px solid rgba(200,140,80,.5); }
.theme-vintage .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(200,80,50,.3),rgba(150,50,30,.15),rgba(200,80,50,.3)); border-bottom:2px solid rgba(220,100,60,.5); }
.theme-vintage .player-panel.home::before, .theme-vintage .player-panel.home::after { border-color:#dc643c; }
.theme-vintage .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(80,150,120,.3),rgba(50,100,80,.15),rgba(80,150,120,.3)); border-bottom:2px solid rgba(100,180,140,.5); }
.theme-vintage .player-panel.away::before, .theme-vintage .player-panel.away::after { border-color:#64b48c; }
.theme-vintage .home .team-label { color:#e87040; text-shadow:0 0 12px rgba(220,100,60,.6); }
.theme-vintage .away .team-label { color:#70c890; text-shadow:0 0 12px rgba(100,180,140,.6); }
.theme-vintage .player-thead { color:#d4a574; border-color:rgba(200,140,80,.3); background:rgba(100,60,20,.25); }
.theme-vintage .player-row { border-bottom:1px solid rgba(200,140,80,.1); }
.theme-vintage .player-row .col-num { color:#c89860; text-shadow:0 0 6px rgba(200,140,80,.4); }
.theme-vintage .player-row .col-name { color:#ffd700; text-shadow:0 0 8px rgba(255,200,80,.5); font-family:"Georgia",serif; }
.theme-vintage .player-row .col-pts { color:#f5e6d3; text-shadow:0 0 6px rgba(245,230,211,.4); }
.theme-vintage .player-row .col-foul { color:#e87040; text-shadow:0 0 6px rgba(220,100,60,.4); }
.theme-vintage .center-panel { background:linear-gradient(180deg,rgba(150,100,50,.12),rgba(80,50,20,.06)); border:1px solid rgba(200,140,80,.35); box-shadow:0 0 30px rgba(150,100,50,.15); }
.theme-vintage .team-logo { background:linear-gradient(135deg,#cd853f,#8b4513); box-shadow:0 0 20px rgba(200,140,80,.5),inset 0 0 15px rgba(220,160,100,.3); border:2px solid rgba(200,140,80,.6); }
.theme-vintage .logo-ph { color:#fff; text-shadow:0 0 8px rgba(255,200,100,.6); }
.theme-vintage .team-name { color:#ffd700; text-shadow:0 0 10px rgba(255,200,80,.5); font-family:"Georgia",serif; }
.theme-vintage .period-text { color:#d4a574; text-shadow:0 0 12px rgba(200,140,80,.6); background:rgba(150,100,50,.15); border:1px solid rgba(200,140,80,.4); font-family:"Georgia",serif; }
.theme-vintage .game-clock { color:#ffd700; text-shadow:0 0 15px rgba(255,200,80,.6); background:rgba(150,100,50,.1); font-family:"Georgia",serif; }
.theme-vintage .score-box { background:linear-gradient(180deg,rgba(200,140,80,.3),rgba(150,90,40,.18)); border-color:#c88c50; box-shadow:0 0 30px rgba(200,140,80,.45),inset 0 0 20px rgba(220,160,100,.2); }
.theme-vintage .score-box span { color:#ffd700; text-shadow:0 0 25px rgba(255,200,80,.7); font-family:"Georgia",serif; }
.theme-vintage .score-colon { color:#d4a574; text-shadow:0 0 10px rgba(200,140,80,.5); }
.theme-vintage .shot-row { background:rgba(100,60,20,.18); border:1px solid rgba(200,140,80,.3); }
.theme-vintage .shot-label { color:#d4a574; }
.theme-vintage .shot-clock { color:#e87040; text-shadow:0 0 12px rgba(220,100,60,.6); }
.theme-vintage .stat-val.home { color:#e87040; text-shadow:0 0 12px rgba(220,100,60,.6); }
.theme-vintage .stat-val.away { color:#70c890; text-shadow:0 0 12px rgba(100,180,140,.6); }
.theme-vintage .stat-label { color:#d4a574; letter-spacing:5px; }
.theme-vintage .stat-item { background:rgba(100,60,20,.12); }

/* 球权显示 - 和控制台结构一致 */
.clock-row { display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:center !important; gap:20px !important; width:100%; }
.possession-row { display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important; align-items:center; justify-content:center; gap:60px; padding:6px 16px; margin:14px 0 4px; width:100%; position:relative; z-index:10; }
.poss-arrow { font-size:56px; opacity:.3; transition:all .3s; line-height:1; display:flex; align-items:center; justify-content:center; padding:0 8px; }
.poss-arrow.poss-left.active { color:#ff4757 !important; opacity:1 !important; text-shadow:0 0 30px rgba(255,71,87,1),0 0 60px rgba(255,71,87,.7) !important; animation:possPulse 1s ease-in-out infinite; }
.poss-arrow.poss-right.active { color:#2ed573 !important; opacity:1 !important; text-shadow:0 0 30px rgba(46,213,115,1),0 0 60px rgba(46,213,115,.7) !important; animation:possPulse 1s ease-in-out infinite; }

/* 比赛时间 & 24秒进攻时间(ESP8266 上报, 竖排无标签, 固定宽度防跳动) */
.clock-stack { display:flex; flex-direction:column; align-items:center; gap:54px; width:100%; padding:4px 0; margin:2px 0; position:relative; z-index:1; }
.clock-val { font-family:"Consolas","Courier New",monospace; font-weight:bold; text-align:center; line-height:1.1; letter-spacing:2px; }
.clock-val.game { font-size:125px; min-width:160px; color:#00ff88; text-shadow:0 0 22px rgba(0,255,136,.85),0 0 44px rgba(0,255,136,.4); background:transparent; border:none; border-radius:10px; padding:0; line-height:1; height:110px; min-height:110px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; }
.clock-val.shot { font-family:"DSEG7-Classic","DSEG14-Classic","Courier New",monospace; font-size:207px; min-width:140px; color:#ff3333; text-shadow:0 0 16px rgba(255,51,51,.8),0 0 32px rgba(255,51,51,.4); background:transparent; border:none; line-height:1; }
.clock-val.shot.warn { color:#ff4444; text-shadow:0 0 18px rgba(255,68,68,.9),0 0 36px rgba(255,68,68,.5); background:rgba(255,68,68,.14); border-color:rgba(255,68,68,.55); }
.dual-score-row { display:flex; align-items:center; justify-content:center; width:100%; padding:2px 8px; margin:2px 0; position:relative; z-index:1; }
.dual-ref { font-size:16px; font-family:'Consolas','Courier New',monospace; padding:2px 12px; border-radius:5px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.14); white-space:nowrap; opacity:.85; color:#cfe8ff; }
/* ============================================================
   主题: 白字蓝底(简洁明亮)
   ============================================================ */
.theme-bluewhite { background:linear-gradient(180deg,#1e64c8 0%,#0d4080 50%,#082a5c 100%); color:#ffffff; }
.theme-bluewhite .grid-bg { background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px); background-size:40px 40px; }
.theme-bluewhite .bg-glow.left { background:#4a9eff; opacity:.12; }
.theme-bluewhite .bg-glow.right { background:#6bb5ff; opacity:.1; }
.theme-bluewhite .bg-glow.center { background:#3a80e0; opacity:.06; }

/* 标题栏 */
.theme-bluewhite .title-bar h1 { color:#ffffff; text-shadow:0 2px 8px rgba(0,0,0,.4),0 0 20px rgba(255,255,255,.3); background:none; -webkit-text-fill-color:#fff; }
.theme-bluewhite .title-deco { background:linear-gradient(90deg,transparent,#ffffff 50%,#ffffff); }
.theme-bluewhite .title-deco::before { border-color:#fff; background:rgba(255,255,255,.3); box-shadow:0 0 8px rgba(255,255,255,.5); }
.theme-bluewhite .title-bar::after { background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent); }

/* 球员面板 */
.theme-bluewhite .player-panel { background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.06)); border:2px solid rgba(255,255,255,.5); box-shadow:0 4px 20px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.2); }
.theme-bluewhite .player-panel::before, .theme-bluewhite .player-panel::after { border-color:#fff; }
.theme-bluewhite .panel-header { background:linear-gradient(90deg,rgba(255,255,255,.25),rgba(255,255,255,.12),rgba(255,255,255,.25)); border-bottom:2px solid rgba(255,255,255,.6); }
.theme-bluewhite .player-panel.home .panel-header { background:linear-gradient(90deg,rgba(255,100,100,.4),rgba(255,80,80,.2),rgba(255,100,100,.4)); border-bottom:2px solid rgba(255,150,150,.8); }
.theme-bluewhite .player-panel.home::before, .theme-bluewhite .player-panel.home::after { border-color:#ff8888; }
.theme-bluewhite .player-panel.away .panel-header { background:linear-gradient(90deg,rgba(255,220,80,.4),rgba(255,200,50,.2),rgba(255,220,80,.4)); border-bottom:2px solid rgba(255,230,120,.8); }
.theme-bluewhite .player-panel.away::before, .theme-bluewhite .player-panel.away::after { border-color:#ffdd66; }

.theme-bluewhite .home .team-label { color:#ffcccc; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.theme-bluewhite .away .team-label { color:#fff5cc; text-shadow:0 1px 4px rgba(0,0,0,.5); }

.theme-bluewhite .player-thead { color:#e0f0ff; border-color:rgba(255,255,255,.3); background:rgba(255,255,255,.15); }
.theme-bluewhite .player-row { border-bottom:1px solid rgba(255,255,255,.12); }
.theme-bluewhite .player-row:hover { background:rgba(255,255,255,.15); }
.theme-bluewhite .player-row .col-num { color:#c0e0ff; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.theme-bluewhite .player-row .col-name { color:#ffffff; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.theme-bluewhite .player-row .col-pts { color:#ffe066; text-shadow:0 1px 3px rgba(0,0,0,.5); font-weight:bold; }
.theme-bluewhite .player-row .col-foul { color:#ffaaaa; text-shadow:0 1px 3px rgba(0,0,0,.4); }

/* 中间面板 */
.theme-bluewhite .center-panel { background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.05)); border:2px solid rgba(255,255,255,.5); box-shadow:0 4px 25px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.2); }
.theme-bluewhite .center-panel::before { display:none; }

.theme-bluewhite .team-logo { background:linear-gradient(135deg,#ffffff,#d0e8ff); box-shadow:0 2px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.8); border:2px solid rgba(255,255,255,.8); }
.theme-bluewhite .logo-ph { color:#1e64c8; text-shadow:none; }
.theme-bluewhite .team-name { color:#ffffff; text-shadow:0 1px 4px rgba(0,0,0,.5); }

.theme-bluewhite .period-text { color:#ffffff; text-shadow:0 1px 4px rgba(0,0,0,.5); background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.5); }
.theme-bluewhite .period-text::before, .theme-bluewhite .period-text::after { background:#fff; opacity:.6; }

.theme-bluewhite .game-clock { color:#aaffaa; text-shadow:0 1px 6px rgba(0,0,0,.5); background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.3); }

/* 比分 */
.theme-bluewhite .score-box { background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.08)); border-color:#ffffff; border-width:3px; box-shadow:0 4px 25px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3); }
.theme-bluewhite .score-box span { color:#ffffff; text-shadow:0 2px 10px rgba(0,0,0,.5),0 0 30px rgba(255,255,255,.3); }
.theme-bluewhite .score-colon { color:#ffffff; text-shadow:0 2px 8px rgba(0,0,0,.5); opacity:.9; }

/* 24秒 */
.theme-bluewhite .shot-row { background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.4); }
.theme-bluewhite .shot-label { color:#e0f0ff; }
.theme-bluewhite .shot-clock { color:#ff8888; text-shadow:0 1px 4px rgba(0,0,0,.5); background:rgba(0,0,0,.2); border:1px solid rgba(255,255,255,.3); }

/* 暂停 & 犯规 */
.theme-bluewhite .stat-val.home { color:#ffcccc; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.theme-bluewhite .stat-val.away { color:#fff5cc; text-shadow:0 1px 4px rgba(0,0,0,.5); }
.theme-bluewhite .stat-label { color:#e0f0ff; letter-spacing:5px; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.theme-bluewhite .stat-item { background:rgba(255,255,255,.1); }
.theme-bluewhite .stat-item::before { background:linear-gradient(180deg,transparent,rgba(255,255,255,.3),transparent); }

/* 球权箭头 */
.theme-bluewhite .poss-arrow.poss-left.active { color:#ff6666 !important; text-shadow:0 0 25px rgba(255,100,100,.9),0 0 50px rgba(255,80,80,.6) !important; }
.theme-bluewhite .poss-arrow.poss-right.active { color:#ffdd44 !important; text-shadow:0 0 25px rgba(255,220,80,.9),0 0 50px rgba(255,200,50,.6) !important; }
/* ============================================================
   主题: 我奥风格(专业赛事风)
   ============================================================ */
.theme-woao { background:linear-gradient(180deg,#0a1a3a 0%,#061230 40%,#040a20 100%); color:#ffffff; }
.theme-woao .grid-bg { background-image:linear-gradient(rgba(0,120,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,120,255,.03) 1px,transparent 1px); background-size:50px 50px; }
.theme-woao .bg-glow { display:none; }
.theme-woao #particleCanvas { display:none; }

/* 标题栏 */
.theme-woao .title-bar { padding:16px 0 18px; margin-bottom:14px; }
.theme-woao .title-bar h1 { color:#ffffff; font-size:56px; font-weight:900; letter-spacing:4px; text-shadow:0 0 20px rgba(0,150,255,.6),0 2px 8px rgba(0,0,0,.5); background:none; -webkit-text-fill-color:#fff; }
.theme-woao .title-deco { height:3px; }
.theme-woao .title-deco.left { background:linear-gradient(90deg,transparent,#0088ff 60%,#0088ff); }
.theme-woao .title-deco.right { background:linear-gradient(90deg,#0088ff,#0088ff 40%,transparent); }
.theme-woao .title-deco::before { display:none; }
.theme-woao .title-bar::after { height:2px; background:linear-gradient(90deg,transparent,rgba(0,136,255,.8),transparent); }

/* 球员面板 - 我奥风格 */
.theme-woao .player-panel { background:linear-gradient(180deg,rgba(0,40,100,.5),rgba(0,20,60,.3)); border:2px solid rgba(0,120,255,.5); border-radius:4px; box-shadow:0 0 25px rgba(0,80,200,.3),inset 0 0 30px rgba(0,40,100,.2); }
.theme-woao .player-panel::before, .theme-woao .player-panel::after { display:none; }

.theme-woao .panel-header { background:linear-gradient(90deg,rgba(0,80,180,.6),rgba(0,60,140,.4),rgba(0,80,180,.6)); border-bottom:2px solid rgba(0,150,255,.6); padding:14px 16px; }
.theme-woao .panel-header::after { display:none; }
.theme-woao .home .team-label, .theme-woao .away .team-label { color:#ffffff; font-size:28px; font-weight:900; letter-spacing:3px; text-shadow:0 0 12px rgba(0,150,255,.7),0 1px 4px rgba(0,0,0,.5); }

/* 球员表 - 四列饱满分配 */
.theme-woao .player-thead { grid-template-columns:180px 1fr 100px 100px !important; padding:12px 14px; font-size:24px; font-weight:bold; letter-spacing:2px; color:#a0c8ff; background:rgba(0,50,120,.5); border-bottom:2px solid rgba(0,120,255,.4); align-items:center; }
.theme-woao .player-thead .col-name { text-align:left; padding-left:0; justify-content:flex-start; }

.theme-woao .player-tbody { background:transparent; }
.theme-woao .player-tbody::-webkit-scrollbar { width:0; }

.theme-woao .player-row { grid-template-columns:180px 1fr 100px 100px !important; padding:0 14px; font-size:22px; border-bottom:1px solid rgba(0,100,200,.15); align-items:center; }
.theme-woao .player-row:hover { background:rgba(0,100,220,.15); transform:none; }
.theme-woao .player-row:nth-child(even) { background:rgba(0,50,120,.15); }
.theme-woao .player-row:nth-child(even):hover { background:rgba(0,100,220,.2); }

.theme-woao .player-row .col-num { text-align:center; font-size:100px; line-height:1; font-weight:900; color:#e0f0ff; font-family:"Consolas","Courier New",monospace; text-shadow:0 1px 3px rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; height:100%; }
.theme-woao .player-row .col-name { text-align:left; padding-left:0; font-size:52px; font-weight:900; color:#ffd700; text-shadow:0 0 8px rgba(255,215,0,.4),0 1px 3px rgba(0,0,0,.5); display:flex; align-items:center; justify-content:flex-start; }
.theme-woao .player-row .col-pts { text-align:center; font-size:60px; font-weight:900; color:#ffffff; font-family:"Consolas","Courier New",monospace; text-shadow:0 1px 3px rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; }
.theme-woao .player-row .col-foul { text-align:center; font-size:60px; font-weight:900; color:#ffffff; font-family:"Consolas","Courier New",monospace; text-shadow:0 1px 3px rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; }

/* 中间面板 - 我奥风格 */
.theme-woao .center-panel { background:linear-gradient(180deg,rgba(0,30,80,.4),rgba(0,15,50,.2)); border:2px solid rgba(0,120,255,.5); border-radius:4px; box-shadow:0 0 30px rgba(0,80,200,.35),inset 0 0 40px rgba(0,30,80,.2); padding:24px 18px; gap:16px; }
.theme-woao .center-panel::before { display:none; }

/* Logo行 */
.theme-woao .team-row { gap:20px; }
.theme-woao .team-logo { width:100px; height:100px; background:linear-gradient(135deg,#0066cc,#003388); border:3px solid rgba(0,150,255,.7); box-shadow:0 0 25px rgba(0,120,255,.6),inset 0 0 20px rgba(0,100,220,.4); }
.theme-woao .logo-ph { color:#ffffff; font-size:38px; font-weight:900; text-shadow:0 0 12px rgba(255,255,255,.5); }
.theme-woao .team-name { color:#ffffff; font-size:20px; font-weight:bold; text-shadow:0 1px 4px rgba(0,0,0,.5); }

.theme-woao .period-text { color:#ffffff; font-size:36px; font-weight:900; letter-spacing:3px; padding:8px 24px; background:rgba(0,60,140,.4); border:2px solid rgba(0,120,255,.5); border-radius:4px; text-shadow:0 0 12px rgba(0,150,255,.6); }
.theme-woao .period-text::before, .theme-woao .period-text::after { display:none; }

/* 比分 - 我奥风格蓝色发光框 */
.theme-woao .score-row { gap:24px; margin:10px 0; }
.theme-woao .score-box { min-width:220px; height:180px; background:linear-gradient(180deg,rgba(0,80,180,.6),rgba(0,40,100,.4)); border:3px solid rgba(0,150,255,.8); border-radius:6px; box-shadow:0 0 35px rgba(0,120,255,.7),inset 0 0 30px rgba(0,80,180,.4),inset 0 2px 0 rgba(255,255,255,.15); }
.theme-woao .score-box::before { background:linear-gradient(180deg,rgba(255,255,255,.15),transparent 50%); }
.theme-woao .score-box::after { display:none; }
.theme-woao .score-box span { font-size:312px; font-weight:900; color:#ffffff; font-family:"Arial Black","Consolas",sans-serif; text-shadow:0 0 30px rgba(0,180,255,.8),0 4px 12px rgba(0,0,0,.5); letter-spacing:2px; }
.theme-woao .score-colon { font-size:100px; font-weight:900; color:#00aaff; text-shadow:0 0 25px rgba(0,170,255,.8); opacity:1; animation:none; }

/* 球权箭头 */
.theme-woao .poss-arrow.poss-left.active { color:#ff6666 !important; text-shadow:0 0 25px rgba(255,100,100,.9),0 0 50px rgba(255,80,80,.6) !important; }
.theme-woao .poss-arrow.poss-right.active { color:#66ff66 !important; text-shadow:0 0 25px rgba(100,255,100,.9),0 0 50px rgba(80,255,80,.6) !important; }

/* 暂停 & 犯规 - 我奥风格 */
.theme-woao .stats-row { gap:8px; margin-top:auto; margin-bottom:30px; }
.theme-woao .stat-item { padding:14px 32px; background:rgba(0,40,100,.3); border:1px solid rgba(0,100,200,.3); border-radius:4px; }
.theme-woao .stat-item::before { background:linear-gradient(180deg,transparent,rgba(0,150,255,.3),transparent); }
.theme-woao .stat-val { font-size:48px; font-weight:900; font-family:"Arial Black","Consolas",sans-serif; color:#ffffff; text-shadow:0 0 15px rgba(0,150,255,.6),0 2px 6px rgba(0,0,0,.5); }
.theme-woao .stat-val.home { color:#ffcccc; text-shadow:0 0 12px rgba(255,100,100,.5),0 2px 6px rgba(0,0,0,.5); }
.theme-woao .stat-val.away { color:#ccffcc; text-shadow:0 0 12px rgba(100,255,100,.5),0 2px 6px rgba(0,0,0,.5); }
.theme-woao .stat-label { font-size:22px; font-weight:bold; letter-spacing:4px; color:#a0c8ff; text-shadow:0 1px 3px rgba(0,0,0,.4); min-width:100px; }


/* ============================================================
   1280x720 分辨率适配
   ============================================================ */
@media (max-width:1366px) {
  /* 整体 */
  .scoreboard { padding:8px 16px 10px; }

  /* 标题栏 */
  .title-bar { padding:6px 0 8px; margin-bottom:8px; }
  .title-bar h1 { font-size:36px; letter-spacing:4px; padding:0 24px; }

  /* 主区域 */
  .main-area { gap:10px; }

  /* 球员面板 */
  .panel-header { padding:6px 10px; }
  .team-name { font-size:16px; max-width:120px; }
  .player-thead { padding:5px 8px; font-size:13px; }
  .player-row { padding:6px 8px; font-size:16px; grid-template-columns:1fr 1fr 1fr 1fr; }
  .player-row .col-num { font-size:15px; }
  .player-row .col-name { font-size:17px; }
  .player-row .col-pts { font-size:16px; }
  .player-row .col-foul { font-size:15px; }

  /* 中间面板 */
  .center-panel { padding:12px 10px; gap:8px; }
  .team-logo { width:80px; height:80px; font-size:30px; }
  .period-text { font-size:22px; padding:4px 14px; letter-spacing:2px; }
  .score-box { min-width:150px; height:115px; border-width:2px; }
  .score-box span { font-size:88px; }
  .score-colon { font-size:56px; }
    .stat-val { font-size:32px; }
  .stat-label { font-size:15px; letter-spacing:2px; }
  .stats-row { gap:8px; }
  .stat-item { padding:6px 16px; }

  /* 我奥风格在720p下的调整 */
  .theme-woao .title-bar h1 { font-size:40px; }
  .theme-woao .player-row { padding:7px 10px; font-size:18px; }
  .theme-woao .player-row .col-name { font-size:19px; }
  .theme-woao .player-row .col-num,
  .theme-woao .player-row .col-pts,
  .theme-woao .player-row .col-foul { font-size:18px; }
  .theme-woao .center-panel { padding:14px 12px; gap:10px; }
  .theme-woao .team-logo { width:80px; height:80px; }
  .theme-woao .score-box { min-width:170px; height:130px; }
  .theme-woao .score-box span { font-size:100px; }
  .theme-woao .score-colon { font-size:72px; }
  .theme-woao .stat-val { font-size:36px; }
  .theme-woao .stat-label { font-size:16px; }
}

/* 超小高度屏幕 */
@media (max-height:700px) {
  .scoreboard { padding:5px 12px 6px; }
  .title-bar { padding:3px 0 4px; margin-bottom:4px; }
  .title-bar h1 { font-size:28px; letter-spacing:3px; }
  .main-area { gap:6px; }
  .panel-header { padding:4px 8px; }
  .team-name { font-size:14px; }
  .player-thead { padding:3px 6px; font-size:12px; }
  .player-row { padding:4px 6px; font-size:14px; }
  .player-row .col-name { font-size:15px; }
  .center-panel { padding:8px 6px; gap:4px; }
  .team-logo { width:70px; height:70px; font-size:26px; }
  .period-text { font-size:18px; padding:2px 10px; }
  .score-box { min-width:120px; height:90px; }
  .score-box span { font-size:68px; }
  .score-colon { font-size:44px; }
  .stat-val { font-size:26px; }
  .stat-label { font-size:13px; }
  .stat-item { padding:4px 12px; }
}


/* ============================================================
   iPad Air 3 横屏适配 (1112 x 834) - 数据大屏
   ============================================================ */
@media (min-width:900px) and (max-width:1150px) and (min-height:750px) and (max-height:900px) {
  /* 整体 */
  .scoreboard { padding:10px 18px 12px; }

  /* 标题栏 */
  .title-bar { padding:8px 0 10px; margin-bottom:10px; }
  .title-bar h1 { font-size:40px; letter-spacing:5px; padding:0 28px; }

  /* 主区域 */
  .main-area { gap:12px; }

  /* 球员面板 */
  .panel-header { padding:8px 12px; }
  .team-name { font-size:18px; max-width:140px; }
  .player-thead { padding:6px 10px; font-size:14px; }
  .player-row { padding:8px 10px; font-size:18px; grid-template-columns:1fr 1fr 1fr 1fr; }
  .player-row .col-num { font-size:17px; }
  .player-row .col-name { font-size:19px; }
  .player-row .col-pts { font-size:18px; }
  .player-row .col-foul { font-size:17px; }

  /* 中间面板 */
  .center-panel { padding:16px 12px; gap:10px; }
  .team-logo { width:56px; height:56px; font-size:20px; }
  .period-text { font-size:26px; padding:5px 16px; letter-spacing:3px; }
  .score-box { min-width:170px; height:130px; border-width:2px; }
  .score-box span { font-size:96px; }
  .score-colon { font-size:64px; }
    .stat-val { font-size:36px; }
  .stat-label { font-size:16px; letter-spacing:2px; }
  .stats-row { gap:10px; }
  .stat-item { padding:8px 20px; }

  /* 我奥风格在iPad下 */
  .theme-woao .title-bar h1 { font-size:44px; }
  .theme-woao .player-row { padding:9px 12px; font-size:19px; }
  .theme-woao .player-row .col-name { font-size:20px; }
  .theme-woao .player-row .col-num,
  .theme-woao .player-row .col-pts,
  .theme-woao .player-row .col-foul { font-size:19px; }
  .theme-woao .center-panel { padding:18px 14px; gap:12px; }
  .theme-woao .team-logo { width:56px; height:56px; }
  .theme-woao .score-box { min-width:190px; height:145px; }
  .theme-woao .score-box span { font-size:108px; }
  .theme-woao .score-colon { font-size:80px; }
  .theme-woao .stat-val { font-size:40px; }
  .theme-woao .stat-label { font-size:18px; }
}

/* iPad竖屏大屏适配 (834 x 1112) */
@media (max-width:900px) and (min-height:900px) {
  .main-area { grid-template-columns:1fr; gap:10px; }
  .center-panel { order:-1; }
  .player-panel { max-height:38vh; }
  .score-box { min-width:140px; height:105px; }
  .score-box span { font-size:76px; }
  .title-bar h1 { font-size:32px; }
}


/* ============================================================
   超小横屏适配 (896 x 512) - 数据大屏
   ============================================================ */
@media (max-width:920px) and (max-height:560px) {
  .scoreboard { padding:4px 8px 6px; }
  .title-bar { padding:3px 0 4px; margin-bottom:3px; }
  .title-bar h1 { font-size:20px; letter-spacing:2px; padding:0 14px; }
  .title-deco { display:none; }
  .main-area { gap:5px; }
  .panel-header { padding:4px 8px; }
  .team-name { font-size:13px; max-width:90px; }
  .player-thead { padding:3px 5px; font-size:10px; }
  .player-row { padding:3px 5px; font-size:12px; grid-template-columns:1fr 1fr 1fr 1fr; }
  .player-row .col-num { font-size:11px; }
  .player-row .col-name { font-size:12px; }
  .player-row .col-pts { font-size:12px; }
  .player-row .col-foul { font-size:11px; }
  .center-panel { padding:6px 4px; gap:3px; }
  .team-logo { width:44px; height:44px; font-size:16px; }
  .period-text { font-size:15px; padding:2px 8px; letter-spacing:1px; }
  .score-box { min-width:90px; height:68px; border-width:1px; border-radius:4px; }
  .score-box span { font-size:50px; }
  .score-colon { font-size:36px; }
    .stat-val { font-size:20px; }
  .stat-label { font-size:11px; letter-spacing:0; }
  .stats-row { gap:5px; }
  .stat-item { padding:3px 10px; }

  /* 我奥风格在超小屏 */
  .theme-woao .title-bar h1 { font-size:22px; }
  .theme-woao .player-row { padding:4px 6px; font-size:13px; }
  .theme-woao .player-row .col-name { font-size:13px; }
  .theme-woao .score-box { min-width:100px; height:75px; }
  .theme-woao .score-box span { font-size:56px; }
  .theme-woao .stat-val { font-size:22px; }
}
/* 全队犯规红色 / 暂停剩余绿色 (用户需求2026-09-16) */
.stat-label.foul-label { color:#ff5252; text-shadow:0 0 14px rgba(255,60,60,.7); }
.stat-label.timeout-label { color:#4ade80; text-shadow:0 0 14px rgba(60,220,120,.7); }

/* 球队Logo图片(50x50) */
.logo-ph img.team-logo-img { width:100px !important; height:100px !important; object-fit:contain !important; border-radius:50%; background:rgba(255,255,255,.15); box-sizing:border-box; flex:none; }

/* ===== 时钟颜色统一: 比赛时间=黄, 进攻时间=红 (2026-09-16) ===== */
.clock-val.game {
  color:#ffd700 !important;
  text-shadow:0 0 22px rgba(255,215,0,.9),0 0 44px rgba(255,215,0,.4) !important;
  background:rgba(255,215,0,.08) !important;
  border-color:rgba(255,215,0,.35) !important;
}
.clock-val.shot { font-family:"DSEG7-Classic","DSEG14-Classic","Courier New",monospace; font-size:207px; min-width:140px; color:#ff3333; text-shadow:0 0 16px rgba(255,51,51,.8),0 0 32px rgba(255,51,51,.4); background:transparent; border:none; line-height:1; }
  color:#ff4444 !important;
  text-shadow:0 0 18px rgba(255,68,68,.9),0 0 36px rgba(255,68,68,.45) !important;
  background:rgba(255,68,68,.1) !important;
  border-color:rgba(255,68,68,.4) !important;
}
.clock-val.shot.warn {
  animation:warningFlash .5s ease-in-out infinite !important;
}


/* ===== 高科技版 HUD赛博风格 ===== */
.theme-hightech {
  background: radial-gradient(ellipse at 50% 0%, #0a1628 0%, #050a14 55%, #020408 100%);
  color: #e0f0ff;
}
.theme-hightech::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    linear-gradient(rgba(0,200,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,200,255,.04) 1px, transparent 1px);
  background-size: 44px 44px;
}
.theme-hightech .title-bar h1 {
  color:#00e5ff; text-shadow:0 0 20px rgba(0,229,255,.8),0 0 45px rgba(0,229,255,.4);
  letter-spacing:5px; font-weight:900;
}
.theme-hightech .player-panel {
  background:linear-gradient(180deg, rgba(0,40,80,.55) 0%, rgba(0,18,36,.35) 100%);
  border:1px solid rgba(0,229,255,.35);
  box-shadow:0 0 24px rgba(0,229,255,.18), inset 0 0 36px rgba(0,100,200,.08);
  border-radius:6px;
}
.theme-hightech .player-panel .panel-header {
  background:linear-gradient(90deg, rgba(0,229,255,.22), rgba(0,229,255,.05) 60%, transparent);
  border-bottom:1px solid rgba(0,229,255,.45);
}
.theme-hightech .player-panel .panel-header .team-name {
  color:#00e5ff; text-shadow:0 0 14px rgba(0,229,255,.65);
  letter-spacing:2px; font-weight:900;
}
.theme-hightech .player-row {
  border-bottom:1px solid rgba(0,229,255,.08);
}
.theme-hightech .player-row:hover {
  background:rgba(0,229,255,.12); transform:translateX(2px);
}
.theme-hightech .player-row .col-num {
  color:#00e5ff; text-shadow:0 0 10px rgba(0,229,255,.65);
  font-family:"Consolas",monospace; font-weight:bold;
}
.theme-hightech .player-row .col-name {
  color:#ffffff; text-shadow:0 0 10px rgba(255,255,255,.45);
  font-weight:bold; letter-spacing:1px;
}
.theme-hightech .player-row .col-pts {
  color:#ffd700; text-shadow:0 0 12px rgba(255,215,0,.65);
  font-family:"Consolas",monospace; font-weight:bold;
}
.theme-hightech .player-row .col-foul {
  color:#ff4455; text-shadow:0 0 10px rgba(255,68,85,.65);
  font-family:"Consolas",monospace; font-weight:bold;
}
.theme-hightech .center-panel {
  background:linear-gradient(180deg, rgba(0,28,56,.5) 0%, rgba(0,12,24,.3) 100%);
  border:1px solid rgba(0,229,255,.35);
  box-shadow:0 0 32px rgba(0,229,255,.22), inset 0 0 44px rgba(0,80,160,.08);
  border-radius:6px;
}
.theme-hightech .score-box {
  background:linear-gradient(180deg, rgba(0,50,100,.45), rgba(0,18,36,.65));
  border-color:#00e5ff;
  box-shadow:0 0 28px rgba(0,229,255,.45), inset 0 0 24px rgba(0,229,255,.12);
}
.theme-hightech .score-box span {
  color:#00e5ff; text-shadow:0 0 22px rgba(0,229,255,.85),0 0 48px rgba(0,229,255,.45);
  font-family:"Consolas",monospace; font-weight:900;
}
.theme-hightech .score-colon {
  color:#00e5ff; text-shadow:0 0 18px rgba(0,229,255,.65);
  font-family:"Consolas",monospace;
}
.theme-hightech #gameTime {
  color:#ffd700; text-shadow:0 0 18px rgba(255,215,0,.75);
  font-family:"Consolas",monospace; font-weight:900;
  letter-spacing:2px;
}
.theme-hightech #shotTime {
  color:#ff6b35; text-shadow:0 0 18px rgba(255,107,53,.75);
  font-family:"Consolas",monospace; font-weight:900;
}
.theme-hightech #shotTime.warn {
  color:#ff2222 !important; text-shadow:0 0 24px rgba(255,34,34,.95) !important;
  animation:hightechPulse 0.45s ease-in-out infinite;
}
@keyframes hightechPulse {
  0%,100% { opacity:1; transform:scale(1); }
  50% { opacity:.35; transform:scale(1.05); }
}
.theme-hightech .stat-val {
  color:#00e5ff; text-shadow:0 0 12px rgba(0,229,255,.65);
  font-family:"Consolas",monospace; font-weight:bold;
}
.theme-hightech .stat-label {
  color:rgba(0,229,255,.75); letter-spacing:1px;
}
.theme-hightech .team-logo {
  border:2px solid #00e5ff;
  box-shadow:0 0 18px rgba(0,229,255,.55);
  background:rgba(0,28,56,.7);
}
.theme-hightech .poss-arrow {
  color:rgba(0,229,255,.3);
}
.theme-hightech .poss-arrow.poss-left.active {
  color:#00e5ff !important;
  text-shadow:0 0 22px rgba(0,229,255,1),0 0 44px rgba(0,229,255,.6) !important;
}
.theme-hightech .poss-arrow.poss-right.active {
  color:#ffd700 !important;
  text-shadow:0 0 22px rgba(255,215,0,1),0 0 44px rgba(255,215,0,.6) !important;
}
.theme-hightech .foul-circle {
  border-color:rgba(255,68,85,.4);
}
.theme-hightech .foul-circle.filled {
  background:#ff4455; border-color:#ff4455;
  box-shadow:0 0 10px rgba(255,68,85,.85);
}
.theme-hightech #periodText {
  color:#00e5ff; text-shadow:0 0 10px rgba(0,229,255,.6);
  font-family:"Consolas",monospace; font-weight:bold;
}


/* ============================================================
   主题: max风格 - 所有元素做到最大
   ============================================================ */
.theme-max { background:#000; color:#fff; }
.theme-max .title-bar h1 { font-size:64px; }
.theme-max .player-thead { grid-template-columns:40px 1fr 44px 70px; padding:10px 6px; font-size:20px; }
.theme-max .player-row { grid-template-columns:40px 1fr 44px 70px; padding:0 6px; font-size:26px; }
.theme-max .player-row .col-name { font-size:28px; }
.theme-max .player-row .col-num { font-size:24px; }
.theme-max .player-row .col-pts { font-size:26px; }
.theme-max .player-row .col-foul { font-size:24px; }
.theme-max .team-name { font-size:32px; }
.theme-max .team-logo { width:120px; height:120px; }
.theme-max .score-box { min-width:280px; height:260px; }
.theme-max .score-box span { font-size:220px; }
.theme-max .score-colon { font-size:120px; }
.theme-max .game-clock { font-size:96px; }
.theme-max .shot-clock { font-size:80px; }
.theme-max .shot-label { font-size:24px; }
.theme-max .stat-val { font-size:72px; }
.theme-max .stat-label { font-size:32px; }
.theme-max .period-text { font-size:44px; }
.theme-max .main-area { grid-template-columns:1fr 1.5fr 1fr; gap:8px; }
.theme-max .center-panel { gap:8px; padding:10px; }

/* ============================================================
   主题: 户外LED屏 512x896 (竖屏)
   ============================================================ */
.theme-led512 { background:#000; color:#fff; font-size:14px; }
.theme-led512 .scoreboard { padding:4px; }
.theme-led512 .title-bar { padding:4px 0; margin-bottom:4px; }
.theme-led512 .title-bar h1 { font-size:20px; letter-spacing:2px; }
.theme-led512 .title-deco { width:15%; }
.theme-led512 .main-area { grid-template-columns:1fr 1.2fr 1fr; gap:4px; }
.theme-led512 .panel-header { padding:4px; }
.theme-led512 .team-label { font-size:13px; letter-spacing:1px; }
.theme-led512 .player-thead { grid-template-columns:18px 1fr 18px 24px; padding:2px 3px; font-size:10px; letter-spacing:0; }
.theme-led512 .player-row { grid-template-columns:18px 1fr 18px 24px; padding:0 3px; font-size:12px; }
.theme-led512 .player-row .col-name { font-size:12px; }
.theme-led512 .player-row .col-num { font-size:11px; }
.theme-led512 .player-row .col-pts { font-size:12px; }
.theme-led512 .player-row .col-foul { font-size:11px; }
.theme-led512 .team-logo { width:36px; height:36px; font-size:14px; }
.theme-led512 .team-name { font-size:13px; max-width:70px; }
.theme-led512 .period-text { font-size:16px; padding:2px 8px; margin-bottom:2px; }
.theme-led512 .game-clock { font-size:24px; padding:2px 8px; letter-spacing:1px; }
.theme-led512 .score-box { min-width:60px; height:50px; border-radius:4px; border-width:1px; }
.theme-led512 .score-box span { font-size:36px; }
.theme-led512 .score-colon { font-size:24px; }
.theme-led512 .shot-clock { font-size:20px; min-width:40px; padding:1px 4px; }
.theme-led512 .shot-label { font-size:10px; letter-spacing:1px; }
.theme-led512 .shot-row { padding:2px 6px; gap:6px; }
.theme-led512 .stat-val { font-size:18px; }
.theme-led512 .stat-label { font-size:10px; letter-spacing:2px; min-width:35px; }
.theme-led512 .stat-item { padding:2px 6px; }
.theme-led512 .center-panel { padding:4px; gap:4px; }
.theme-led512 .score-row { gap:4px; margin:2px 0; }
.theme-led512 .team-row { gap:4px; }
.theme-led512 .stats-row { gap:2px; margin-top:2px; }

/* 操作后台模式: 隐藏时间后, 犯规暂停均匀分布 */
.center-panel.admin-mode { justify-content:space-evenly; }
.center-panel.admin-mode .clock-stack { display:none; }
.center-panel.admin-mode .possession-row { gap:100px; padding:20px 0; margin:20px 0; }
.center-panel.admin-mode .stats-row { margin-top:0; gap:40px; flex:1; justify-content:space-evenly; }
.center-panel.admin-mode .stat-item { padding:20px 40px; }
.center-panel.admin-mode .stat-val { font-size:64px !important; }
.center-panel.admin-mode .stat-label { font-size:22px !important; }




/* 标题栏: 深蓝渐变+青色底边+斜切角装饰 */
  background:linear-gradient(180deg,#0d2a52 0%,#071a35 100%) !important;
  border-bottom:none !important;
  height:70px !important;
  position:relative !important;
  overflow:hidden;
}
  content:'';
  position:absolute; left:10%; right:10%; bottom:0;
  height:3px;
  background:linear-gradient(90deg,transparent,#4dd0e1 20%,#4dd0e1 80%,transparent);
  box-shadow:0 0 12px #4dd0e1;
}
  color:#4dd0e1 !important;
  text-shadow:0 0 20px rgba(77,208,225,.6), 0 2px 4px rgba(0,0,0,.8) !important;
  font-size:36px !important;
  font-weight:900 !important;
  letter-spacing:3px;
}

/* 球员面板: 深蓝底撑满 */
  background:linear-gradient(180deg,#0d2a52 0%,#071a35 100%) !important;
  border:1px solid rgba(77,208,225,.5) !important;
  border-radius:2px !important;
  box-shadow:inset 0 0 30px rgba(0,20,50,.6) !important;
  display:flex !important;
  flex-direction:column !important;
}
  background:rgba(77,208,225,.15) !important;
  border-bottom:2px solid #4dd0e1 !important;
  padding:10px 16px !important;
}
  background:rgba(77,208,225,.1) !important;
  border-bottom:1px solid rgba(77,208,225,.4) !important;
  padding:6px 8px;
}
  color:#b0bec5 !important;
  font-size:18px !important;
  font-weight:700 !important;
}
  border-bottom:1px solid rgba(77,208,225,.1) !important;
  padding:5px 10px !important;
  display:flex !important;
  align-items:center !important;
}

/* 中间面板 */
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  justify-content:flex-start !important;
  gap:10px !important;
}
  width:60px !important; height:60px !important;
  background:linear-gradient(135deg,#ff8a65,#ff5722) !important;
  border-radius:50% !important;
  border:3px solid #ffccbc !important;
  font-size:26px !important;
  color:#fff !important;
  box-shadow:0 0 15px rgba(255,87,34,.5);
}

/* 比分: 大框+白字 */
  min-width:260px !important; height:200px !important;
  background:linear-gradient(180deg,#0d2a52 0%,#071a35 100%) !important;
  border:2px solid #4dd0e1 !important;
  border-radius:4px !important;
  box-shadow:0 0 25px rgba(77,208,225,.25), inset 0 0 30px rgba(0,30,70,.5) !important;
}
  color:#ffffff !important;
  text-shadow:0 4px 12px rgba(0,0,0,.6) !important;
  font-size:180px !important;
  font-family:"Arial Black","Impact",sans-serif !important;
  font-weight:900 !important;
}

/* 比赛时间: 大白字 */
  color:#ffffff !important;
  text-shadow:0 0 20px rgba(255,255,255,.3), 0 4px 8px rgba(0,0,0,.6) !important;
  font-size:72px !important;
  font-family:"Arial Black","Impact",sans-serif !important;
  font-weight:900 !important;
}
  color:#ff5722 !important;
  text-shadow:0 0 15px rgba(255,87,34,.7) !important;
  font-size:56px !important;
  font-family:"Arial Black","Impact",sans-serif !important;
  font-weight:900 !important;
}

/* 底部暂停/犯规 */


/* 标题栏 */
  background:linear-gradient(180deg,#0a1f3d 0%,#050d1a 100%) !important;
  border-bottom:none !important;
  height:64px !important;
  clip-path:polygon(0 0, 92% 0, 96% 100%, 4% 100%) !important;
}
  color:#4dd0e1 !important;
  text-shadow:0 0 12px rgba(77,208,225,.4) !important;
  font-size:32px !important;
  font-weight:900 !important;
  letter-spacing:3px;
}

/* 球员面板 */
  background:linear-gradient(180deg,#0a1f3d 0%,#050d1a 100%) !important;
  border:1px solid rgba(77,208,225,.4) !important;
}
  background:transparent !important;
  border-bottom:none !important;
}

/* 只改颜色, 不碰grid布局 */

/* 中间面板 */
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
  background:linear-gradient(135deg,#ff8a65,#ff5722) !important;
  border-radius:50% !important;
  border:3px solid #fff !important;
  color:#fff !important;
}

/* 比分框 */
  background:linear-gradient(180deg,#0a2a52 0%,#051a35 100%) !important;
  border:2px solid #4dd0e1 !important;
}
  color:#ffffff !important;
  text-shadow:0 4px 10px rgba(0,0,0,.6) !important;
  font-family:"Arial Black","Impact",sans-serif !important;
  font-weight:900 !important;
}

/* 时间 */
  color:#ffffff !important;
  text-shadow:0 4px 8px rgba(0,0,0,.5) !important;
  font-family:"Arial Black","Impact",sans-serif !important;
  font-weight:900 !important;
}
  color:#ff5722 !important;
  text-shadow:none !important;
  font-family:"Arial Black","Impact",sans-serif !important;
  font-weight:900 !important;
}

/* 底部 */



/* ===== 小球迷风格 ===== */
.theme-xiaomi { background:#050d1a !important; }
.theme-xiaomi .scoreboard { background:#050d1a !important; }
.theme-xiaomi .title-bar h1 { color:#4dd0e1 !important; text-shadow:0 0 20px rgba(77,208,225,.6) !important; }
.theme-xiaomi .main-area { grid-template-columns:1.15fr 1.3fr 1.15fr !important; }
.theme-xiaomi .player-panel { background:rgba(0,20,40,.5) !important; border:1px solid rgba(255,193,7,.3) !important; }
.theme-xiaomi .player-thead { background:rgba(0,30,60,.5) !important; border-bottom:2px solid rgba(255,193,7,.4) !important; color:#fff !important; }
.theme-xiaomi .player-row { border-bottom:1px solid rgba(255,193,7,.1) !important; }
.theme-xiaomi .player-row .col-num { color:#fff !important; }
.theme-xiaomi .player-row .col-name { color:#ffc107 !important; }
.theme-xiaomi .player-row .col-pts { color:#fff !important; }
.theme-xiaomi .player-row .col-foul { color:#ffc107 !important; }
.theme-xiaomi .center-panel { background:rgba(0,20,40,.5) !important; border:1px solid rgba(255,193,7,.3) !important; }
.theme-xiaomi .team-label { color:#ffc107 !important; font-size:36px !important; font-weight:900 !important; text-shadow:0 0 15px rgba(255,193,7,.6) !important; }
.theme-xiaomi .period-text { color:#4dd0e1 !important; font-size:32px !important; font-weight:900 !important; text-shadow:0 0 15px rgba(77,208,225,.6) !important; }
.theme-xiaomi .score-box span { color:#fff !important; text-shadow:0 0 20px rgba(255,255,255,.5) !important; }
.theme-xiaomi .score-box span { color:#fff !important; }
.theme-xiaomi .stat-label { color:#90a4ae !important; }
.theme-xiaomi .stat-val { color:#fff !important; }


/* ===== 全黑CBA风格 ===== */
.theme-cba { background:#000 !important; }
.theme-cba .scoreboard { background:#000 !important; }
.theme-cba .title-bar h1 { color:#fff !important; text-shadow:none !important; }
.theme-cba .player-panel { background:#111 !important; border:1px solid #333 !important; }
.theme-cba .home .team-label { color:#ff6666 !important; }
.theme-cba .away .team-label { color:#6666ff !important; }
.theme-cba .center-panel { background:#111 !important; border:1px solid #333 !important; }
.theme-cba .score-box span { color:#fff !important; text-shadow:none !important; }
.theme-cba #gameTime { color:#00ff00 !important; }
.theme-cba #shotTime { color:#ff4444 !important; }
.theme-cba .stat-label { color:#aaa !important; }
.theme-cba .stat-val { color:#fff !important; }


/* ===== 经典CBA风格 ===== */
.theme-classiccba { background:#000 !important; color:#fff; }
.theme-classiccba .scoreboard { background:#000 !important; padding:10px 20px !important; }
.theme-classiccba .title-bar { padding:8px 0 !important; border:none !important; }
.theme-classiccba .title-bar h1 { color:#fff !important; font-size:42px !important; font-weight:bold !important; text-shadow:none !important; letter-spacing:6px !important; }
.theme-classiccba .title-deco { display:none !important; }
.theme-classiccba .main-area { grid-template-columns:1fr 0.8fr 1fr !important; gap:10px !important; }

/* 球员面板 */
.theme-classiccba .player-panel { background:transparent !important; border:none !important; }
.theme-classiccba .panel-header { background:transparent !important; border:none !important; padding:6px 0 !important; }
.theme-classiccba .team-label { color:#ffff00 !important; font-size:34px !important; font-weight:bold !important; text-shadow:none !important; text-align:center !important; }
.theme-classiccba .player-thead { display:none !important; }
.theme-classiccba .player-row { display:grid !important; grid-template-columns:60px 1fr 110px 50px !important; padding:1px 2px !important; border:none !important; align-items:center !important; min-height:0 !important; flex:1 !important; }
.theme-classiccba .player-row .col-pts { order:4 !important; }
.theme-classiccba .player-row .col-foul { order:3 !important; }
.theme-classiccba .player-row .col-num { color:#fff !important; font-size:30px !important; font-weight:bold !important; text-shadow:none !important; text-align:right !important; display:flex !important; align-items:center !important; justify-content:flex-end !important; height:100% !important; }
.theme-classiccba .player-row .col-name { color:#fff !important; font-size:28px !important; font-weight:normal !important; text-shadow:none !important; text-align:left !important; padding-left:6px !important; display:block !important; overflow:visible !important; white-space:nowrap !important; margin-right:0 !important; }
.theme-classiccba .player-row .col-pts { color:#ff0000 !important; font-size:30px !important; font-weight:bold !important; text-shadow:none !important; text-align:center !important; display:block !important; }
.theme-classiccba .player-row .col-foul { color:#ff0000 !important; font-size:30px !important; font-weight:bold !important; text-shadow:none !important; text-align:center !important; display:block !important; }
.theme-classiccba .col-foul-circles { gap:3px !important; justify-content:flex-start !important; padding-left:4px !important; }
.theme-classiccba .foul-circle { width:18px !important; height:18px !important; border:1px solid #888 !important; }
.theme-classiccba .foul-circle.filled { background:#ff0000 !important; border-color:#ff0000 !important; }

/* 客队和主队列顺序一致 */
.theme-classiccba .away .player-row { grid-template-columns:60px 1fr 110px 50px !important; direction:ltr; }
.theme-classiccba .away .player-row .col-num { text-align:right !important; }
.theme-classiccba .away .player-row .col-name { text-align:left !important; padding-left:10px !important; padding-right:0 !important; justify-content:flex-start !important; }

/* 中间面板 */
.theme-classiccba .center-panel { background:transparent !important; border:none !important; justify-content:space-between !important; padding:10px !important; gap:6px !important; }
.theme-classiccba .team-block { flex-direction:row !important; gap:20px !important; }
.theme-classiccba .team-logo { width:60px !important; height:60px !important; }
.theme-classiccba .period-text { color:#00ff00 !important; font-size:32px !important; font-weight:bold !important; text-shadow:none !important; }
.theme-classiccba .score-box { background:transparent !important; border:none !important; }
.theme-classiccba .score-box span { color:#ff0000 !important; font-size:90px !important; font-weight:bold !important; text-shadow:none !important; }
.theme-classiccba .score-colon { display:none !important; }
.theme-classiccba #gameTime { color:#fff !important; font-size:42px !important; font-weight:bold !important; text-shadow:none !important; background:transparent !important; }
.theme-classiccba #shotTime { color:#ff0000 !important; font-size:80px !important; font-weight:bold !important; text-shadow:none !important; background:transparent !important; }
.theme-classiccba .clock-row { gap:30px !important; }
.theme-classiccba .poss-arrow { color:#fff !important; font-size:40px !important; opacity:0.7 !important; }
.theme-classiccba .stats-row { flex-direction:column !important; align-items:center !important; margin:0 !important; gap:8px !important; }
.theme-classiccba .stat-item { flex-direction:row !important; gap:8px !important; align-items:center !important; }
.theme-classiccba .stat-label { color:#ffff00 !important; font-size:28px !important; font-weight:bold !important; text-shadow:none !important; }
.theme-classiccba .stat-val { color:#00ff00 !important; font-size:36px !important; font-weight:bold !important; text-shadow:none !important; }
