/* 现场比赛不可退让的约束（见 AGENTS.md）：100% 缩放一屏操作，同组全场统一字体。
   所有比赛页尺寸只在此维护；#liveMatchBoard 覆盖历史装饰样式的断点。 */
body:has(#liveMatchBoard){overflow:hidden}
#liveMatchBoard{
  width:100%!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;
  display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;
  padding:0!important;margin:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;
}
#liveMatchBoard .live-match-header{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between;
  min-height:0!important;gap:16px!important;padding:12px 20px!important;
}
#liveMatchBoard .live-match-header>div:first-child{min-width:0}
#liveMatchBoard .live-match-header h2{margin:0!important;font-size:28px!important;line-height:1.2!important}
#liveMatchBoard .live-match-header .eyebrow{margin:0 0 3px!important;font-size:11px!important;line-height:1.3}
#liveMatchBoard .live-match-header .hint{margin:4px 0 0!important;font-size:13px!important;line-height:1.4}
#liveMatchBoard .live-match-header-actions{flex:0 0 auto;width:auto;display:flex;flex-wrap:nowrap;align-items:center;gap:10px}
#liveMatchBoard .live-match-header-actions button{min-height:44px!important;padding:8px 14px!important;font-size:14px!important}
#liveMatchBoard .rule-audio-corner{min-width:130px!important}
#liveMatchBoard .live-match-stage{
  display:grid!important;grid-template-columns:clamp(124px,14vw,210px) minmax(0,1fr) clamp(256px,25vw,340px)!important;
  grid-template-rows:minmax(0,1fr)!important;align-items:stretch!important;
  min-width:0;min-height:0;gap:12px!important;padding:12px!important;overflow:hidden!important;
}
#liveMatchBoard .live-match-stage>.clock-panel,
#liveMatchBoard .live-match-stage>.question-panel,
#liveMatchBoard .live-match-stage>.control-panel{grid-column:auto!important;min-width:0!important;min-height:0!important;height:100%!important}
#liveMatchBoard .clock-panel{padding:12px!important}
#liveMatchBoard .clock-panel>span{font-size:13px!important;letter-spacing:.08em!important}
#liveMatchBoard .clock-panel .clock{font-size:clamp(42px,4.6vw,76px)!important;line-height:1.1;letter-spacing:-.05em;white-space:nowrap;font-variant-numeric:tabular-nums}
#liveMatchBoard #matchState{min-height:20px;font-size:13px!important}
#liveMatchBoard .question-panel{grid-template-rows:minmax(0,1fr) 58px!important;gap:0!important;padding:0!important;overflow:hidden}
#liveMatchBoard .question-panel .word{
  display:flex!important;align-items:center!important;justify-content:center!important;
  min-height:0!important;height:100%!important;width:100%!important;min-width:0!important;
  padding:20px!important;gap:0!important;overflow:hidden!important;
}
/* 字体不会按当前单词、倒计时、释义或美式拼写变化。只由整组题库和可视区域决定。 */
#liveMatchBoard .question-panel .word strong{
  display:block!important;width:auto!important;max-width:none!important;min-width:0!important;
  font-family:"Arial Black",Arial,Verdana,"Segoe UI",sans-serif!important;font-weight:900!important;font-style:normal!important;
  font-size:var(--live-word-size,24px)!important;letter-spacing:0!important;line-height:1.1!important;
  white-space:nowrap!important;word-break:normal!important;overflow-wrap:normal!important;
  text-shadow:none!important;transform:none!important;transition:none!important;
}
#liveMatchBoard .question-panel .american-spelling{
  height:58px;min-height:0!important;min-width:0;margin:0 18px!important;padding:6px 0!important;
  grid-template-columns:auto minmax(0,1fr)!important;gap:6px;overflow:auto;
}
#liveMatchBoard .question-panel .american-spelling strong{font-size:18px!important;letter-spacing:0!important;overflow-wrap:anywhere}
#liveMatchBoard .control-panel{display:flex!important;flex-direction:column;gap:10px!important;padding:12px!important;overflow:hidden!important}
#liveMatchBoard .control-panel>*{min-width:0;grid-column:auto!important}
#liveMatchBoard .audio-controls,#liveMatchBoard .judge-controls,#liveMatchBoard .utility-controls{flex:none;gap:8px!important}
#liveMatchBoard .audio-controls{grid-template-columns:1fr!important}
#liveMatchBoard .judge-controls{grid-template-columns:1fr 1fr!important}
#liveMatchBoard .utility-controls{grid-template-columns:1fr!important;padding:0!important;border:0!important}
#liveMatchBoard .control-panel button{min-height:48px!important;padding:8px 10px!important;font-size:14px!important;line-height:1.35!important;font-weight:700!important}
#liveMatchBoard .judge-controls button{min-height:58px!important;font-size:16px!important}
#liveMatchBoard .judge-controls button span{display:block;font-size:12px;line-height:1.3;font-weight:700}
#liveMatchBoard .utility-controls button{min-height:40px!important}
/* 操作区永不滚动。只有较长的参考文字可在这个独立区域内阅读。 */
#liveMatchBoard .match-reference-area{flex:1;min-height:36px;overflow:auto;border-top:1px solid #d8ece8;padding-top:6px}
#liveMatchBoard .judge-reference{border:0;padding:0;font-size:12px!important}
#liveMatchBoard .judge-reference summary{min-height:28px;line-height:28px}
#liveMatchBoard .chinese-meaning{margin-top:6px;padding:8px 10px;gap:2px}
#liveMatchBoard .chinese-meaning strong{font-size:18px!important;line-height:1.4}
#liveMatchBoard .chinese-meaning span{font-size:11px}
#liveMatchBoard .match-stats{flex:none;order:0!important;margin:0;font-size:12px!important;padding:7px 9px!important}
#liveMatchBoard .card-hint{flex:none;order:0!important;font-size:11px!important;line-height:1.4}
#liveMatchBoard .card-hint:empty{display:none}
#liveMatchBoard .timeup-panel{flex:none;order:0!important;padding:8px!important}
#liveMatchBoard .timeup-panel strong{font-size:20px!important}
#liveMatchBoard .final-result{min-height:0;margin:12px!important;max-height:none!important;overflow:auto!important}
#liveMatchBoard[data-state="finished"]{grid-template-rows:auto minmax(0,1fr)}
#liveMatchBoard[data-state="finished"] .live-match-stage{display:none!important}
@media(max-height:620px){
  #liveMatchBoard .live-match-header{padding:8px 16px!important}
  #liveMatchBoard .live-match-header h2{font-size:24px!important}
  #liveMatchBoard .live-match-stage{padding:8px!important;gap:8px!important}
  #liveMatchBoard .control-panel{padding:10px!important;gap:7px!important}
  #liveMatchBoard .control-panel button{min-height:42px!important}
  #liveMatchBoard .judge-controls button{min-height:48px!important}
  #liveMatchBoard .utility-controls button{min-height:36px!important}
}
@media(max-width:740px){
  #liveMatchBoard .live-match-header{gap:8px!important;padding:8px!important}
  #liveMatchBoard .live-match-header h2{font-size:20px!important}
  #liveMatchBoard .live-match-header .hint{font-size:11px!important}
  #liveMatchBoard .live-match-header-actions{gap:6px}
  #liveMatchBoard .live-match-header-actions button{min-width:0!important;padding:6px 8px!important;font-size:12px!important}
  #liveMatchBoard .live-match-stage{grid-template-columns:minmax(0,1fr) minmax(174px,46%)!important;grid-template-rows:90px minmax(0,1fr)!important;padding:6px!important;gap:6px!important}
  #liveMatchBoard .clock-panel{grid-column:1!important;grid-row:1;padding:6px!important}
  #liveMatchBoard .clock-panel .clock{font-size:36px!important;margin:0!important}
  #liveMatchBoard #matchState{min-height:0;font-size:11px!important}
  #liveMatchBoard .question-panel{grid-column:1!important;grid-row:2}
  #liveMatchBoard .control-panel{grid-column:2!important;grid-row:1/3;padding:8px!important}
  #liveMatchBoard .question-panel .word{padding:10px!important}
  #liveMatchBoard .question-panel .american-spelling{grid-template-columns:1fr!important;margin:0 6px!important}
  #liveMatchBoard .control-panel button{font-size:12px!important}
}
