/* 大屏样式：高对比、深绿底、白色大字（对照参考图 03） */
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #0f2c1c; }
body {
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
  color: #fff; overflow: hidden;
}
#screen { height: 100vh; display: flex; flex-direction: column; padding: 2.2vh 3vw; }

header { display: flex; align-items: flex-end; justify-content: space-between; }
.ev-name { font-size: 4.6vh; font-weight: 900; letter-spacing: .1em; }
.ev-sub { font-size: 3vh; font-weight: 700; color: #d9ead9; margin-top: .8vh; letter-spacing: .05em; }
.ev-right { text-align: right; }
.mode-badge {
  display: inline-block; background: #f5c344; color: #3d2c05;
  font-size: 2.4vh; font-weight: 800; border-radius: 1.2vh; padding: .8vh 2vh;
}
.conn-line { margin-top: 1vh; font-size: 1.9vh; color: #a9c8b0; }

main { flex: 1; min-height: 0; margin-top: 2vh; }
table.big { width: 100%; height: 100%; border-collapse: separate; border-spacing: 0 .6vh; table-layout: fixed; }
table.big th {
  font-size: 2.4vh; color: #bcd9c0; font-weight: 700; text-align: center; padding: .4vh;
}
table.big td {
  background: rgba(255,255,255,.07); text-align: center; padding: 1.6vh 1vh;
  font-size: 3.6vh; font-weight: 800; border-top: 1px solid rgba(255,255,255,.12);
  border-bottom: 1px solid rgba(255,255,255,.12); overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
table.big tr:first-child td { border-top: none; }
table.big tr:first-child th { padding-top: 0; }
td.rank, th.rank { width: 12%; }
td.rank1 { color: #f5c344; }
td.names { font-size: 3.4vh; }
td.small-cell { font-size: 2.6vh; }
tr.top1 td { background: rgba(245, 195, 68, .16); }

.center-msg {
  height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2vh;
  text-align: center;
}
.center-msg .big { font-size: 5.4vh; font-weight: 900; letter-spacing: .1em; }
.center-msg .sub { font-size: 2.8vh; color: #bcd9c0; line-height: 1.8; }

.announce {
  background: rgba(255,255,255,.08); border-radius: 2vh; padding: 3vh 4vw; max-width: 70vw;
  font-size: 3vh; line-height: 1.9; color: #eef7ee;
}
.now-grid { display: flex; gap: 2vh; height: 100%; }
.now-col { flex: 1; background: rgba(255,255,255,.06); border-radius: 2vh; padding: 2.4vh 2.6vh; overflow: auto; }
.now-col h3 { margin: 0 0 1.6vh; font-size: 3vh; color: #f5c344; }
.now-item { display: flex; justify-content: space-between; font-size: 2.7vh; padding: 1vh 0; border-bottom: 1px solid rgba(255,255,255,.1); }
.now-item .names { font-weight: 800; }

footer { display: flex; align-items: center; justify-content: space-between; font-size: 2.1vh; color: #bcd9c0; margin-top: 1.6vh; }
#f-mid { color: #e6d9a8; font-size: 2.3vh; font-weight: 700; }
.offline { color: #f5c344; }
