:root {
  color-scheme: dark;
  --bg: #050a12;
  --panel: rgba(9, 18, 31, 0.88);
  --line: rgba(166, 194, 226, 0.15);
  --text: #eef6ff;
  --muted: #8496aa;
  --blue: #27a8ff;
  --blue-soft: rgba(39, 168, 255, 0.16);
  --red: #ff4967;
  --gold: #d9ba72;
  --gold-bright: #f1d58d;
  --gold-soft: rgba(217, 186, 114, .12);
  --ok: #5ee6b0;
  --danger: #ff7188;
  font-family: Inter, "Microsoft YaHei UI", "PingFang SC", sans-serif;
}
.bp-seat-dialog { width:min(620px,92vw); }
.bp-seat-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:18px; }
.bp-seat-options button { min-height:92px; border:1px solid rgba(217,186,114,.42); border-radius:10px; background:linear-gradient(145deg,rgba(217,186,114,.13),rgba(8,18,30,.94)); color:var(--text); font-size:18px; font-weight:900; cursor:pointer; }
.bp-seat-options button small { display:block; margin-top:7px; color:var(--gold); font-size:11px; }
.bp-seat-options button:disabled { opacity:.34; cursor:not-allowed; filter:grayscale(.7); }

* { box-sizing: border-box; }
html, body { min-height: 100%; }
body {
  margin: 0;
  background:
    radial-gradient(circle at 50% -20%, #12243c 0, transparent 38%),
    linear-gradient(145deg, #03070d 0%, #07111f 48%, #050911 100%);
  color: var(--text);
  overflow-x: hidden;
}
button, input, select { font: inherit; }
button { color: inherit; }
.hidden { display: none !important; }

.ambient {
  position: fixed;
  z-index: -1;
  width: 45vw;
  height: 70vh;
  filter: blur(110px);
  opacity: .12;
  pointer-events: none;
}
.ambient-blue { left: -25vw; top: 15vh; background: var(--blue); }
.ambient-red { right: -28vw; top: 28vh; background: var(--red); }

.login-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(420px, 1.15fr) minmax(360px, .85fr);
  align-items: center;
  gap: clamp(50px, 8vw, 150px);
  width: min(1180px, calc(100% - 80px));
  margin: 0 auto;
}
.eyebrow {
  margin: 0 0 14px;
  color: var(--gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .28em;
}
.login-brand h1, .page-heading h1, .section-head h1 {
  margin: 0;
  letter-spacing: -.045em;
}
.login-brand h1 { font-size: clamp(64px, 8vw, 112px); }
.brand-copy {
  max-width: 580px;
  margin: 22px 0;
  color: #b3c0d0;
  font-size: 20px;
  line-height: 1.8;
}
.brand-rule {
  width: 140px;
  height: 2px;
  margin: 30px 0;
  background: linear-gradient(90deg, var(--gold), transparent);
}
.login-note { color: var(--muted); }
.login-card {
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: linear-gradient(160deg, rgba(16, 31, 52, .96), rgba(5, 12, 22, .94));
  box-shadow: 0 30px 90px rgba(0,0,0,.42);
}
.login-card header, .panel header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 28px;
}
.login-card h2, .panel h2 { margin: 0 0 5px; font-size: 21px; }
.login-card header p, .panel header p { margin: 0; color: var(--muted); font-size: 13px; }
.status-dot {
  width: 9px; height: 9px; border-radius: 50%;
  background: var(--ok); box-shadow: 0 0 15px var(--ok);
}
label {
  display: grid;
  gap: 9px;
  color: #b9c6d5;
  font-size: 13px;
  font-weight: 650;
}
input, select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  outline: none;
  padding: 13px 14px;
  color: var(--text);
  background: rgba(2, 8, 15, .72);
  transition: border-color .18s, box-shadow .18s;
}
input:focus, select:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 3px rgba(39,168,255,.12);
}
select option { color: #dce7f3; background: #07111f; }
.team-member-search { margin: 12px 0 4px; }
.login-card form { display: grid; gap: 18px; }
.login-card footer { margin-top: 20px; color: #687b90; font-size: 12px; text-align: center; }
.primary-btn, .ghost-btn, .back-btn {
  border: 0; border-radius: 10px; cursor: pointer;
  transition: transform .16s, filter .16s, border-color .16s;
}
.danger-btn {
  border: 1px solid rgba(238,80,96,.55); border-radius: 10px; padding: 10px 14px;
  color: #ff9aa5; background: rgba(128,20,34,.2); cursor: pointer;
}
.danger-btn:hover { border-color: #ee5060; background: rgba(128,20,34,.36); }
.primary-btn {
  padding: 14px 20px;
  color: #03101b;
  font-weight: 850;
  background: linear-gradient(135deg, #65c7ff, #1b91e2);
  box-shadow: 0 12px 28px rgba(27,145,226,.22);
}
.primary-btn:hover, .ghost-btn:hover { filter: brightness(1.09); transform: translateY(-1px); }
.primary-btn:disabled { opacity: .42; cursor: not-allowed; }
.compact { padding: 10px 15px; font-size: 13px; }
.ghost-btn, .back-btn {
  padding: 10px 14px;
  border: 1px solid var(--line);
  background: rgba(8,16,27,.7);
}
.form-message { grid-column: 1 / -1; margin: 0; color: var(--ok); font-size: 13px; }
.form-message.error, .error { color: var(--danger); }

.app-shell { min-height: 100vh; }
.topbar {
  position: sticky; z-index: 20; top: 0;
  height: 72px;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 max(28px, calc((100vw - 1320px) / 2));
  border-bottom: 1px solid var(--line);
  background: rgba(4,10,18,.78);
  backdrop-filter: blur(22px);
}
.brand-button {
  display: flex; align-items: center; gap: 11px;
  border: 0; background: none; cursor: pointer; text-align: left;
}
.brand-button small, .account-copy small { display: block; color: var(--muted); font-size: 10px; }
.brand-mark {
  display: grid; place-items: center; width: 34px; height: 34px;
  border: 1px solid rgba(217,186,114,.55); color: var(--gold);
  transform: rotate(45deg);
}
.brand-mark::first-letter { transform: rotate(-45deg); }
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.gold-install-btn {
  min-height: 42px; padding: 0 18px;
  border: 1px solid rgba(244, 208, 118, .78); border-radius: 10px;
  color: #171006; font-weight: 900; letter-spacing: .06em; cursor: pointer;
  background: linear-gradient(135deg, #f5d884 0%, #c99a38 55%, #f3ce70 100%);
  box-shadow: 0 0 18px rgba(217, 174, 73, .28), inset 0 1px rgba(255,255,255,.5);
  transition: transform .2s, filter .2s, box-shadow .2s;
}
.gold-install-btn:hover {
  filter: brightness(1.12); transform: translateY(-1px);
  box-shadow: 0 0 28px rgba(232, 189, 82, .5), inset 0 1px rgba(255,255,255,.58);
}
.account-menu { position: relative; }
.account-chip {
  display: flex; align-items: center; gap: 11px;
  border: 1px solid var(--line); border-radius: 12px;
  padding: 7px 11px 7px 8px; background: rgba(10,19,32,.8); cursor: pointer;
}
.account-short {
  display: grid; place-items: center; width: 40px; height: 38px;
  border-radius: 8px; color: var(--blue); font-weight: 900;
  background: var(--blue-soft);
}
.account-copy { min-width: 150px; text-align: left; }
.account-copy strong { display: block; max-width: 210px; overflow: hidden; text-overflow: ellipsis; }
.chevron { color: var(--muted); }
.account-popover {
  position: absolute; right: 0; top: calc(100% + 8px);
  width: 190px; padding: 7px;
  border: 1px solid var(--line); border-radius: 12px;
  background: #0a1422; box-shadow: 0 20px 50px rgba(0,0,0,.4);
}
.account-popover button {
  width: 100%; border: 0; padding: 11px; border-radius: 8px;
  background: none; text-align: left; cursor: pointer;
}
.account-popover button:hover { background: rgba(255,255,255,.06); }

.page { width: min(1320px, calc(100% - 56px)); margin: 0 auto; padding: 72px 0 90px; }
.page-heading { margin-bottom: 38px; }
.page-heading h1 { font-size: clamp(38px, 5vw, 68px); }
.page-heading > p:last-child { color: var(--muted); }
.portal-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.portal-card {
  position: relative; min-height: 215px; padding: 30px;
  display: flex; align-items: flex-end; gap: 22px;
  border: 1px solid var(--line); border-radius: 16px;
  overflow: hidden; background: var(--panel); cursor: pointer; text-align: left;
  transition: transform .2s, border-color .2s, box-shadow .2s;
}
.portal-card::before {
  content: ""; position: absolute; inset: 0;
  opacity: .15; transition: opacity .2s;
  background: linear-gradient(120deg, transparent 35%, var(--accent) 130%);
}
.portal-card:hover {
  transform: translateY(-4px); border-color: color-mix(in srgb, var(--accent), transparent 35%);
  box-shadow: 0 22px 60px rgba(0,0,0,.28);
}
.portal-card:hover::before { opacity: .3; }
.portal-card > * { position: relative; }
.portal-card small { color: var(--accent); font-weight: 800; letter-spacing: .18em; }
.portal-card h2 { margin: 8px 0; font-size: 28px; }
.portal-card p { margin: 0; color: var(--muted); }
.portal-index { align-self: flex-start; color: #425166; font-family: monospace; }
.portal-arrow { margin-left: auto; color: var(--accent); font-size: 28px; }
.tournament { --accent: var(--blue); }
.stats { --accent: var(--gold); }
.training { --accent: #9d7cff; }
.manage { --accent: var(--red); }
.portal-card.auction {
  --accent: var(--gold-bright);
  grid-column: 1 / -1; min-height: 150px;
  color: inherit; text-decoration: none;
}

.section-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section-head > div { flex: 1; }
.section-head h1 { font-size: 38px; }
.back-btn,
#stats-return-me-btn,
button[data-pause-decision="approve"] { color: #ff536b !important; }
.empty-state {
  min-height: 350px; display: grid; place-items: center; align-content: center;
  border: 1px dashed rgba(132,150,170,.25); border-radius: 18px;
  text-align: center; background: rgba(6,13,23,.5);
}
.empty-state span { color: var(--gold); font-size: 12px; letter-spacing: .18em; text-transform: uppercase; }
.empty-state h2 { margin: 14px 0 6px; }
.empty-state p { color: var(--muted); }
.filter-bar { display: flex; gap: 12px; margin-bottom: 18px; }
.filter-bar select { max-width: 220px; }

.account-layout { display: grid; grid-template-columns: 390px 1fr; gap: 20px; align-items: start; }
.panel {
  padding: 24px; border: 1px solid var(--line); border-radius: 16px;
  background: var(--panel); box-shadow: 0 20px 60px rgba(0,0,0,.18);
}
.panel header { justify-content: space-between; margin-bottom: 22px; }
.role-badge {
  padding: 6px 9px; border-radius: 99px; color: var(--gold);
  background: rgba(217,186,114,.12); font-size: 11px; font-weight: 800;
}
dl { margin: 0 0 26px; }
dl div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-bottom: 1px solid var(--line); }
dt { color: var(--muted); }
dd { margin: 0; font-weight: 750; }
.settings-form { display: grid; gap: 14px; padding-top: 20px; border-top: 1px solid var(--line); }
.settings-form + .settings-form { margin-top: 20px; }
.password-grid { grid-template-columns: 1fr 1fr; }
.password-grid button { grid-column: 1 / -1; }
.create-user-form {
  display: grid; grid-template-columns: .7fr 1.4fr 1fr 1fr auto;
  gap: 10px; align-items: end; margin-bottom: 20px; padding: 16px;
  border: 1px solid var(--line); border-radius: 12px; background: rgba(0,0,0,.16);
}
.table-wrap { overflow: auto; }
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 12px 10px; border-bottom: 1px solid var(--line); text-align: left; white-space: nowrap; }
th { color: var(--muted); font-size: 11px; letter-spacing: .08em; }
td button { border: 0; background: none; color: var(--blue); cursor: pointer; }
.status-active { color: var(--ok); }
.status-disabled { color: var(--danger); }

#events-page {
  position: relative;
  width: min(1420px, calc(100% - 28px));
  height: calc(100vh - 72px); display: flex; flex-direction: column;
  padding-top: 14px; padding-bottom: 10px; overflow: hidden;
}
#events-page > .section-head { flex: 0 0 auto; margin-bottom: 10px; }
#events-page > .section-head h1 { font-size: 32px; }
#events-page > .section-head .eyebrow { margin-bottom: 7px; }
#events-page::before {
  content: ""; position: fixed; inset: 72px 0 auto; height: 260px; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse at 50% 0,rgba(217,186,114,.105),transparent 68%);
}
.event-title-lockup { position: relative; display: flex; align-items: flex-end; gap: 24px; }
.presented-by {
  position: relative; display: inline-grid; justify-items: center; padding: 5px 16px 7px;
  border: 1px solid rgba(217,186,114,.48); color: var(--gold-bright);
  background: linear-gradient(180deg,rgba(217,186,114,.12),rgba(6,11,18,.88));
  box-shadow: inset 0 0 12px rgba(217,186,114,.08),0 5px 20px rgba(0,0,0,.25);
  text-shadow: 0 0 10px rgba(217,186,114,.24);
}
.presented-by::before {
  content: ""; position: absolute; left: 12%; right: 12%; top: -1px; height: 1px;
  background: var(--gold-bright); box-shadow: 0 0 8px var(--gold);
}
.presented-by small {
  color: var(--gold); font-family: Consolas,monospace; font-size: 8px; letter-spacing: .24em;
}
.presented-by strong {
  margin: 2px 0 0; color: var(--gold-bright); font-family: Consolas,monospace;
  font-size: 13px; font-style: normal; letter-spacing: .09em;
}
.presented-by-hall { transform: translateY(-2px); }
.event-layout {
  display: grid; grid-template-columns: 235px minmax(0,1fr); gap: 10px;
  flex: 1; min-height: 0;
}
.event-sidebar, .event-main {
  border: 1px solid rgba(217,186,114,.22); border-radius: 16px;
  background:
    linear-gradient(135deg,rgba(217,186,114,.035),transparent 28%),
    rgba(7,15,26,.78);
  box-shadow: inset 0 1px rgba(241,213,141,.04),0 18px 55px rgba(0,0,0,.16);
}
.event-sidebar { min-height: 0; padding: 10px; overflow-y: auto; }
.sidebar-title, .event-detail-head, .series-head {
  display: flex; align-items: center; justify-content: space-between; gap: 15px;
}
.sidebar-title { padding: 8px 5px 15px; color: var(--muted); font-size: 12px; }
.sidebar-title button { border: 0; background: none; color: var(--blue); cursor: pointer; }
.event-list { display: grid; gap: 8px; }
.event-list-item {
  width: 100%; padding: 14px; border: 1px solid transparent; border-radius: 10px;
  background: rgba(255,255,255,.025); text-align: left; cursor: pointer;
}
.event-list-item:hover, .event-list-item.active {
  border-color: rgba(217,186,114,.55);
  background: linear-gradient(90deg,rgba(217,186,114,.14),rgba(217,186,114,.035));
  box-shadow: inset 3px 0 var(--gold);
}
.event-list-item strong, .event-list-item small { display: block; }
.event-list-item small { margin-top: 5px; color: var(--muted); }
.event-main { min-width: 0; min-height: 0; padding: 12px 16px; overflow: hidden; }
#event-detail { height: 100%; min-height: 0; }
#event-detail:not(.hidden) { display: flex; flex-direction: column; }
#event-detail .series-list {
  flex: 1; min-height: 0; align-content: start; overflow-y: auto;
  padding: 2px 10px 10px 2px; scrollbar-width: thin;
  scrollbar-color: rgba(217,186,114,.55) rgba(255,255,255,.035);
}
#event-detail .series-list::-webkit-scrollbar { width: 8px; }
#event-detail .series-list::-webkit-scrollbar-track { background: rgba(255,255,255,.035); border-radius: 10px; }
#event-detail .series-list::-webkit-scrollbar-thumb { background: rgba(217,186,114,.5); border-radius: 10px; }
.compact-empty { min-height: 510px; }
.event-detail-head { margin-bottom: 8px; }
.event-detail-head h2 { margin: 2px 0 0; font-size: 23px; }
.event-detail-head small { color: var(--gold); letter-spacing: .12em; }
.event-detail-head > div:last-child { display: flex; gap: 9px; }
.team-strip {
  display: grid; grid-template-columns: repeat(8,minmax(0,1fr)); gap: 7px;
  flex: 0 0 auto; height: 92px; min-height: 48px; max-height: 260px;
  align-content:start; overflow-x:hidden; overflow-y:auto; resize:vertical;
  padding: 4px 8px 7px 0; scrollbar-width:thin;
  scrollbar-color:rgba(217,186,114,.55) rgba(255,255,255,.035);
}
.team-strip::-webkit-scrollbar,.admin-user-table-wrap::-webkit-scrollbar{width:8px}
.team-strip::-webkit-scrollbar-track,.admin-user-table-wrap::-webkit-scrollbar-track{background:rgba(255,255,255,.035);border-radius:10px}
.team-strip::-webkit-scrollbar-thumb,.admin-user-table-wrap::-webkit-scrollbar-thumb{background:rgba(217,186,114,.5);border-radius:10px}
.team-pill {
  min-width: 0; min-height: 38px; padding: 8px 10px; border: 1px solid rgba(217,186,114,.2); border-radius: 8px;
  background: linear-gradient(145deg,rgba(217,186,114,.07),rgba(255,255,255,.015));
  display: flex; align-items: center; justify-content: center; text-align: center;
  cursor: pointer;
}
.team-pill:hover { border-color: rgba(217,186,114,.68); background: rgba(217,186,114,.12); }
.team-pill strong, .team-pill small {
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.team-pill strong { width: 100%; font-size: 13px; color: #ead9a7; }
.team-pill small { margin-top: 2px; color: var(--muted); font-size: 10px; }
.team-pill.pending { border-color: rgba(217,186,114,.35); }
.series-head { flex: 0 0 auto; padding: 8px 0 7px; border-top: 1px solid var(--line); }
.series-head h3 { margin: 0; }
.series-head span { color: var(--muted); font-size: 12px; }
.series-filters { display: flex; gap: 7px; }
.series-filters select {
  width: auto; min-width: 128px; padding: 8px 28px 8px 10px; border-radius: 8px; font-size: 11px;
}
.series-list { display: grid; gap: 10px; }
.series-card {
  position: relative; overflow: hidden;
  display: grid; grid-template-columns: minmax(220px,.9fr) minmax(300px,1.15fr) minmax(250px,280px);
  align-items: center; gap: 14px;
  box-sizing: border-box; width: 100%; min-height: 126px; padding: 15px 17px;
  border: 1px solid var(--line); border-radius: 11px;
  background: rgba(5,12,21,.7); text-align: left; cursor: pointer;
}
.series-card > div:first-child { min-width:0; }
.series-card > div:first-child > small {
  display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
  color:var(--muted);
}
.series-card::before {
  content: ""; position: absolute; left: 0; top: 18%; bottom: 18%; width: 2px;
  background: linear-gradient(var(--gold),rgba(217,186,114,.08));
}
.series-card:hover {
  border-color: rgba(217,186,114,.55);
  background: linear-gradient(90deg,rgba(217,186,114,.07),rgba(5,12,21,.8) 28%);
  box-shadow: 0 0 24px rgba(217,186,114,.08);
}
.series-card.series-card-finished {
  opacity: .56;
  filter: saturate(.48) brightness(.72);
  background: rgba(5,10,17,.56);
  border-color: rgba(132,144,157,.16);
}
.series-card.series-card-finished::before { background: linear-gradient(#6d7782,rgba(109,119,130,.04)); }
.series-card.series-card-finished:hover {
  opacity: .78;
  filter: saturate(.65) brightness(.84);
  border-color: rgba(132,144,157,.32);
  box-shadow: none;
}
.series-card h3, .series-card h4 {
  display:-webkit-box; overflow:hidden; margin:5px 0 0; font-size:17px; line-height:1.35;
  -webkit-box-orient:vertical; -webkit-line-clamp:2;
}
.series-matchup { display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:14px; min-width:0; }
.series-game-progress { display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(217,186,114,.55); border-radius:50%; color:var(--gold-bright); background:radial-gradient(circle,rgba(217,186,114,.18),rgba(5,12,21,.88)); box-shadow:0 0 18px rgba(217,186,114,.14); font-size:16px; font-weight:900; font-variant-numeric:tabular-nums; white-space:nowrap; }
.series-versus {
  display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center;
  min-width:0; gap:8px;
}
.series-versus strong {
  min-width:0; overflow:hidden; color:#e8edf4; text-overflow:ellipsis; white-space:nowrap;
  text-align:right;
}
.series-versus strong:last-child { text-align:left; }
.series-versus span { color:var(--gold); font-size:11px; font-weight:900; letter-spacing:.08em; }
.series-card p { margin: 0; color: var(--muted); font-size: 12px; }
.series-status {
  display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px;
  border: 1px solid rgba(217,186,114,.16); border-radius: 99px;
  color: var(--muted); background: rgba(255,255,255,.035); font-size: 11px;
}
.series-status i {
  width: 7px; height: 7px; border-radius: 50%; background: currentColor;
  box-shadow: 0 0 8px currentColor;
}
.series-status.status-not_started { color: var(--ok); background: rgba(94,230,176,.07); }
.series-status.status-running { color: var(--blue); background: rgba(39,168,255,.08); }
.series-status.status-finished { color: #84909d; background: rgba(132,144,157,.08); }
.series-status.status-voided { color: #e4bd55; background: rgba(228,189,85,.11); border-color: rgba(228,189,85,.3); }
.series-status.status-voided i { box-shadow: 0 0 10px rgba(228,189,85,.85); }
.series-card-actions {
  display:grid; align-content:center; gap:9px; width:100%; min-width:0;
  padding-left:13px; border-left:1px solid rgba(217,186,114,.13);
}
.series-action-summary {
  display:flex; align-items:center; justify-content:space-between; min-width:0; gap:8px;
}
.series-action-buttons {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px;
}
.series-capacity {
  display:inline-flex; align-items:baseline; min-width:58px; gap:5px; color:var(--gold-bright) !important;
  font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap;
}
.series-capacity small { color:var(--muted); font-size:10px; font-weight:600; }
.series-action-buttons button {
  min-width: 0; min-height: 34px; padding: 7px 8px; border: 1px solid var(--line); border-radius: 7px;
  overflow:hidden; background:rgba(255,255,255,.035); text-overflow:ellipsis; white-space:nowrap; cursor:pointer;
}

.entry-loading {
  position:fixed;
  inset:0;
  z-index:5000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(2,7,13,.78);
  backdrop-filter:blur(8px);
}
.entry-loading.hidden { display:none; }
.entry-loading-card {
  width:min(430px,calc(100vw - 48px));
  padding:34px 30px;
  border:1px solid rgba(224,190,103,.58);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(15,25,38,.98),rgba(6,12,20,.98));
  box-shadow:0 22px 70px rgba(0,0,0,.55),0 0 32px rgba(211,167,63,.12);
  text-align:center;
}
.entry-loading-card small { color:var(--gold); letter-spacing:.24em; }
.entry-loading-card h2 { margin:12px 0 8px; color:#f5e7bd; }
.entry-loading-card p { margin:0; color:#aebed0; line-height:1.7; }
.entry-loading-spinner {
  display:block;
  width:42px;
  height:42px;
  margin:0 auto 18px;
  border:3px solid rgba(224,190,103,.2);
  border-top-color:var(--gold-bright);
  border-radius:50%;
  animation:entry-loading-spin .85s linear infinite;
}
@keyframes entry-loading-spin { to { transform:rotate(360deg); } }
.series-action-buttons button[data-enter-series] { grid-column:1 / 2; }
.series-action-buttons .series-data-btn { grid-column:2 / 3; }
.series-action-buttons .series-delete { grid-column:2 / 3; }
.series-action-buttons:has(.series-data-btn) .series-delete { grid-column:1 / -1; }
.series-action-buttons:not(:has(.series-data-btn)):not(:has(.series-delete)) button[data-enter-series] { grid-column:1 / -1; }
.series-action-buttons button:disabled { opacity:.3; cursor:not-allowed; }
.series-card-actions .series-delete { color: var(--danger); border-color: rgba(255,113,136,.22); }
.series-card-member .series-card-actions { border-left-color:rgba(39,168,255,.15); }
.series-card-member .series-action-buttons button[data-enter-series] {
  color:#c9ecff; border-color:rgba(39,168,255,.3);
  background:linear-gradient(135deg,rgba(39,168,255,.13),rgba(39,168,255,.035));
}
.series-card-member .series-action-buttons button[data-enter-series]:hover {
  color:#fff; border-color:rgba(39,168,255,.65); background:rgba(39,168,255,.18);
}
.series-card .series-enter { color: var(--gold); font-size: 22px; }

@media (max-width: 1380px) {
  .series-card { grid-template-columns: minmax(190px,1fr) minmax(170px,.72fr); }
  .series-card-actions { grid-column:1 / -1; grid-template-columns:150px minmax(0,1fr); padding:9px 0 0; border-left:0; border-top:1px solid rgba(217,186,114,.13); }
  .series-action-buttons { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .series-action-buttons button[data-enter-series],
  .series-action-buttons .series-data-btn,
  .series-action-buttons .series-delete { grid-column:auto; }
}

#open-pregame-btn {
  color: #201606;
  font-weight: 900;
  letter-spacing: .08em;
  border-color: #f3ce6d;
  background: linear-gradient(135deg,#fff0a5 0%,#d9a93f 48%,#ffe28a 100%);
  box-shadow: 0 0 0 1px rgba(255,226,138,.3),0 0 24px rgba(217,169,63,.42);
  animation: pregameGoldPulse 1.8s ease-in-out infinite;
}
#open-pregame-btn:hover {
  color: #120c02;
  border-color: #fff3bd;
  transform: translateY(-1px);
  box-shadow: 0 0 0 2px rgba(255,240,165,.36),0 0 34px rgba(243,206,109,.68);
}
@keyframes pregameGoldPulse {
  0%,100% { box-shadow:0 0 0 1px rgba(255,226,138,.24),0 0 18px rgba(217,169,63,.3); }
  50% { box-shadow:0 0 0 2px rgba(255,240,165,.42),0 0 32px rgba(243,206,109,.62); }
}

.form-dialog {
  width: min(470px, calc(100% - 32px)); padding: 0;
  border: 1px solid rgba(166,194,226,.25); border-radius: 16px;
  color: var(--text); background: #0a1422; box-shadow: 0 30px 100px rgba(0,0,0,.65);
}
.wide-dialog { width: min(720px, calc(100% - 32px)); }
.form-dialog::backdrop { background: rgba(0,4,10,.76); backdrop-filter: blur(7px); }
.form-dialog form { display: grid; gap: 16px; padding: 25px; }
.form-dialog header { display: flex; justify-content: space-between; align-items: start; margin-bottom: 6px; }
.form-dialog header small { color: var(--gold); letter-spacing: .16em; }
.form-dialog h2 { margin: 5px 0 0; }
.form-dialog header button { border: 0; background: none; color: var(--muted); font-size: 24px; cursor: pointer; }
.dialog-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.starter-selects { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.starter-selects label { font-size: 11px; }
.starter-selects select { padding-inline: 8px; }
.roster-positions { margin-top: 10px; }
.roster-position-view {
  min-width: 0; padding: 12px 10px; border: 1px solid var(--line); border-radius: 8px;
  background: rgba(255,255,255,.025);
}
.roster-position-view small, .roster-position-view strong {
  display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.roster-position-view small { margin-bottom: 5px; color: var(--gold); }
.team-roster-actions { display:grid; grid-template-columns:minmax(150px,.38fr) minmax(220px,1fr); gap:10px; margin-top:16px; }
.team-roster-actions button { width:100%; min-height:42px; }
.team-roster-actions:not(:has(button:not(.hidden))) { display:none; }

.room-page { position: relative; width: min(1500px, calc(100% - 38px)); padding-top: 28px; }
.bp-launch-countdown {
  position: fixed; inset: 0; z-index: 1200; display: flex; flex-direction: column;
  align-items: center; justify-content: center; color: #f5e5ae;
  background: radial-gradient(circle,rgba(20,34,50,.82),rgba(1,5,10,.94));
  backdrop-filter: blur(8px);
}
.bp-launch-countdown.hidden { display: none; }
.bp-launch-countdown small { color: #d9ba72; letter-spacing: .3em; font-size: 18px; }
.bp-launch-countdown strong {
  margin: 12px 0; font: 800 112px/1 Georgia,serif; color: #fff2bf;
  text-shadow: 0 0 35px rgba(217,186,114,.75);
}
.bp-launch-countdown span { font-size: 20px; letter-spacing: .08em; }
.bp-launch-countdown p { margin:12px 0 0; color:#f4d98f; font-size:14px; letter-spacing:.08em; }
.room-toolbar {
  position: relative; z-index: 2; display: grid; grid-template-columns: 150px 1fr auto;
  align-items: center; gap: 20px; padding-bottom: 18px;
  border-bottom: 1px solid rgba(217,186,114,.27);
}
.room-toolbar h1 { margin: 3px 0 0; font-size: 26px; }
.room-seat-chip {
  padding: 10px 13px; border: 1px solid var(--line); border-radius: 9px;
  color: var(--gold); background: rgba(217,186,114,.08); font-size: 12px;
}
.seat-entry-console {
  position: relative; z-index: 3; display: flex; align-items: center; justify-content: space-between;
  gap: 14px; width: min(390px, 100%); margin: 18px auto 0; padding: 11px 13px;
  border: 1px solid rgba(217,186,114,.38); border-radius: 11px;
  background: linear-gradient(90deg,rgba(217,186,114,.1),rgba(8,18,30,.94));
  box-shadow: 0 12px 35px rgba(0,0,0,.24);
}
.seat-entry-console div { min-width: 0; }
.seat-entry-console small, .seat-entry-console strong, .seat-entry-console span { display: block; }
.seat-entry-console small { color: var(--gold); font-size: 10px; letter-spacing: .15em; }
.seat-entry-console strong { margin-top: 5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.seat-entry-console span { margin-top: 3px; color: var(--muted); font-size: 11px; }
.seat-entry-console button { flex: 0 0 auto; }
.studio-grid-bg {
  position: absolute; inset: 110px 0 0; pointer-events: none; opacity: .1;
  background-image: linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),
                    linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);
  background-size: 44px 44px;
  mask-image: radial-gradient(ellipse, black, transparent 75%);
}
.studio-floor {
  position: relative; z-index: 1; display: grid;
  grid-template-columns: minmax(330px,1fr) minmax(390px,.85fr) minmax(330px,1fr);
  gap: 18px; padding: 22px 0 16px;
}
.studio-team {
  padding: 17px; border: 1px solid; background: rgba(6,13,22,.85);
}
.studio-team-one { border-color: rgba(39,168,255,.38); box-shadow: inset 4px 0 var(--blue), inset 0 0 80px rgba(39,168,255,.09); }
.studio-team-two { border-color: rgba(255,73,103,.38); box-shadow: inset -4px 0 var(--red), inset 0 0 80px rgba(255,73,103,.08); }
.studio-team-one.team-ready {
  border-color: rgba(241,213,141,.78);
  background:
    linear-gradient(135deg,rgba(217,186,114,.13),transparent 42%),
    linear-gradient(90deg,rgba(39,168,255,.18),rgba(6,13,22,.9) 58%);
  box-shadow:
    inset 4px 0 var(--blue),inset 0 3px var(--gold),
    inset 0 0 95px rgba(39,168,255,.15),0 0 25px rgba(217,186,114,.16);
}
.studio-team-two.team-ready {
  border-color: rgba(241,213,141,.78);
  background:
    linear-gradient(225deg,rgba(217,186,114,.13),transparent 42%),
    linear-gradient(270deg,rgba(255,73,103,.17),rgba(6,13,22,.9) 58%);
  box-shadow:
    inset -4px 0 var(--red),inset 0 3px var(--gold),
    inset 0 0 95px rgba(255,73,103,.14),0 0 25px rgba(217,186,114,.16);
}
.studio-team.team-ready header small { color: var(--gold-bright); text-shadow: 0 0 10px rgba(217,186,114,.35); }
.studio-team header { display: flex; justify-content: space-between; align-items: end; margin-bottom: 13px; }
.studio-team header small { color: var(--muted); letter-spacing: .15em; }
.studio-team h2 { margin: 0; }
.studio-seat-list { display: grid; gap: 9px; }
.studio-player-seat {
  display: grid; grid-template-columns: 35px minmax(0,1fr) auto; align-items: center; gap: 10px;
  min-height: 70px; padding: 10px 12px; border: 1px solid var(--line);
  background: rgba(13,24,39,.9); text-align: left; cursor: pointer;
  transition: .18s;
}
.studio-player-seat:hover, .studio-player-seat.selected { transform: translateX(3px); border-color: var(--blue); }
.studio-team-two .studio-player-seat:hover, .studio-team-two .studio-player-seat.selected { transform: translateX(-3px); border-color: var(--red); }
.studio-player-seat.my-seat,
.studio-team-two .studio-player-seat.my-seat {
  border-color: #f2cf72;
  box-shadow: inset 0 0 0 1px rgba(255,235,166,.72),0 0 24px rgba(217,186,114,.3);
  background: linear-gradient(90deg,rgba(217,186,114,.17),rgba(13,24,39,.94));
}
.studio-player-seat.offline { opacity: .42; filter: grayscale(.65); }
.studio-player-seat .lane {
  display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%;
  color: var(--blue); background: var(--blue-soft); font-size: 11px; font-weight: 850;
}
.studio-team-two .studio-player-seat .lane { color: var(--red); background: rgba(255,73,103,.12); }
.studio-player-seat strong, .studio-player-seat small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.studio-player-seat small { margin-top: 4px; color: var(--muted); }
.studio-player-seat .presence { color: var(--ok); font-size: 10px; }
.studio-player-seat.offline .presence { color: var(--muted); }
.presence-bulb {
  display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%;
  background: #46515e; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12);
}
.online .presence-bulb {
  background: #3fe4a7; box-shadow: 0 0 7px rgba(63,228,167,.95),0 0 15px rgba(63,228,167,.4);
}
.studio-center {
  display: flex; flex-direction: column; justify-content: space-between; align-items: stretch;
  padding: 24px; border: 1px solid rgba(217,186,114,.27);
  background:
    linear-gradient(135deg,rgba(217,186,114,.055),transparent 28%),
    radial-gradient(circle,rgba(217,186,114,.11),transparent 55%),rgba(5,11,19,.92);
  box-shadow: inset 0 0 45px rgba(217,186,114,.035);
  clip-path: polygon(6% 0,94% 0,100% 6%,100% 94%,94% 100%,6% 100%,0 94%,0 6%);
}
.special-seat {
  min-height: 72px; display: grid; place-items: center; align-content: center; gap: 4px;
  padding: 10px; border: 1px dashed var(--line); color: var(--muted); text-align: center;
}
.special-seat.occupied { border-style: solid; border-color: rgba(217,186,114,.45); color: var(--text); }
.special-seat small { color: var(--muted); }
.referee-seat {
  border-color: rgba(217,186,114,.52);
  background: linear-gradient(135deg,rgba(217,186,114,.1),rgba(5,11,19,.4));
  box-shadow: inset 0 0 22px rgba(217,186,114,.045);
}
.referee-seat .special-seat-choice small {
  color: var(--gold-bright); letter-spacing: .16em;
  text-shadow: 0 0 9px rgba(217,186,114,.32);
}
.referee-seat .special-seat-choice.online,
.referee-seat .special-seat-choice.my-seat {
  background: linear-gradient(135deg,rgba(217,186,114,.16),rgba(65,214,169,.07));
  box-shadow: inset 0 0 0 1px rgba(241,213,141,.72),0 0 24px rgba(217,186,114,.18);
}
.special-seat-choice {
  width: 100%; min-height: 68px; display: grid; place-items: center; align-content: center; gap: 3px;
  padding: 8px; border: 0; color: var(--muted); background: transparent; cursor: pointer;
}
.special-seat-choice strong { color: var(--text); }
.special-seat-choice span { color: var(--muted); font-size: 10px; }
.special-seat-choice.occupied { background: rgba(217,186,114,.05); }
.special-seat-choice.online, .special-seat-choice.my-seat {
  color: var(--text); background: rgba(65,214,169,.08);
  box-shadow: inset 0 0 0 1px rgba(65,214,169,.58),0 0 22px rgba(65,214,169,.12);
}
.special-seat-choice:disabled { cursor: not-allowed; opacity: .65; }
.seat-arrival-flash {
  animation: seat-arrival-flash 1.8s ease both !important;
}
@keyframes seat-arrival-flash {
  0%,100% { filter: none; }
  18%,58% {
    border-color: #fff0a7;
    filter: brightness(1.3);
    box-shadow: 0 0 0 3px rgba(217,186,114,.35),0 0 36px rgba(217,186,114,.7);
  }
}
.studio-vs { display: grid; place-items: center; text-align: center; }
.presented-by-match { margin: 8px 0 17px; padding-inline: 20px; }
.studio-vs .presented-by strong { margin: 2px 0 0; font-size: 13px; font-style: normal; }
.studio-vs span { color: var(--gold); font-size: 10px; letter-spacing: .2em; }
.studio-vs strong { margin: 8px; font-size: 58px; font-style: italic; }
.studio-vs p { max-width: 220px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.studio-actions { display: grid; gap: 8px; }
.lobby-controls { display: grid; gap: 6px; padding: 9px; border: 1px solid var(--line); background: rgba(9,19,32,.8); }
.lobby-controls small { color: var(--muted); text-align: center; }
.lobby-controls > div { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.lobby-controls button { min-height: 38px; padding: 6px; }
.lobby-controls button.selected, #team-ready-btn.ready {
  border-color: var(--ok); color: var(--ok); background: rgba(65,214,169,.1);
}
@keyframes lobbyChoicePulse {
  0%,100% { filter:brightness(1); box-shadow:0 0 0 1px rgba(217,186,114,.2),0 0 8px rgba(217,186,114,.12); }
  50% { filter:brightness(1.22); box-shadow:0 0 0 2px rgba(241,213,141,.7),0 0 24px rgba(217,186,114,.48); }
}
@keyframes approveReadyPulse {
  0%,100% { transform:scale(1); filter:brightness(1); box-shadow:0 0 0 1px rgba(255,233,164,.5),0 0 16px rgba(255,213,93,.34); }
  50% { transform:scale(1.035); filter:brightness(1.25); box-shadow:0 0 0 3px rgba(255,239,173,.86),0 0 34px rgba(255,202,66,.72),0 0 70px rgba(217,186,114,.32); }
}
@keyframes ocrKindMismatchPulse {
  0%,100% { border-color:rgba(255,83,107,.7); box-shadow:0 0 0 1px rgba(255,83,107,.28),0 0 14px rgba(255,83,107,.22); }
  50% { border-color:#ffe9a4; box-shadow:0 0 0 3px rgba(255,233,164,.65),0 0 30px rgba(255,83,107,.45); }
}
#priority-controls:not(.hidden) button,
#privilege-controls:not(.hidden) button,
#decision-controls:not(.hidden) button {
  animation:lobbyChoicePulse 2.2s ease-in-out infinite;
  font-weight:800;
}
#priority-controls button:first-child,#decision-controls button:first-child { color:#85caff; border-color:rgba(39,168,255,.62); background:rgba(39,168,255,.15); }
#priority-controls button:last-child,#decision-controls button:last-child { color:#ff8da0; border-color:rgba(255,73,103,.62); background:rgba(255,73,103,.14); }
#privilege-controls button:first-child { color:#f4d47f; border-color:rgba(217,186,114,.65); background:rgba(217,186,114,.15); }
#privilege-controls button:last-child { color:#78e4d5; border-color:rgba(70,210,190,.58); background:rgba(70,210,190,.13); }
#remind-ready-btn.approve-next-ready {
  color:#211500;border-color:#ffe9a4;background:linear-gradient(135deg,#ffefad,#dcae46 52%,#ffe58d);
  min-height:48px;font-size:16px;font-weight:950;letter-spacing:.1em;animation:approveReadyPulse 1.05s ease-in-out infinite;
  position:relative;z-index:2;
}
.room-leave-btn { color:#ff536b!important;border-color:rgba(255,83,107,.55)!important;font-size:18px!important;font-weight:950!important;letter-spacing:.08em; }
#priority-controls.is-waiting button:not(.selected) { display:none; }
#priority-controls.is-waiting > div { grid-template-columns:1fr; }
#priority-controls.is-waiting button.selected { color:var(--gold-bright); border-color:rgba(217,186,114,.65); background:rgba(217,186,114,.13); cursor:wait; animation:lobbyChoicePulse 2.2s ease-in-out infinite; }
.studio-gallery {
  position: relative; z-index: 1; display: grid; grid-template-columns: 160px 1fr 180px auto;
  align-items: center; gap: 18px; padding: 15px 18px;
  border: 1px solid rgba(217,186,114,.24);
  background: linear-gradient(90deg,rgba(217,186,114,.045),rgba(7,14,24,.92) 25%,rgba(217,186,114,.025));
  box-shadow: inset 0 1px rgba(241,213,141,.045);
}
.studio-gallery small { color: var(--gold); letter-spacing: .14em; }
.studio-gallery h3 { margin: 4px 0 0; }
.gallery-seats { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.gallery-seats .special-seat { min-height: 62px; }
.room-message { position: fixed; left: 50%; bottom: 28px; z-index: 50; transform: translateX(-50%); padding: 12px 18px; border-radius: 10px; background: #101d2e; box-shadow: 0 12px 35px rgba(0,0,0,.4); }

.series-chat {
  border: 1px solid rgba(217,186,114,.3); border-radius: 14px;
  background: rgba(5,12,21,.94); box-shadow: 0 12px 34px rgba(0,0,0,.38), inset 0 0 30px rgba(217,186,114,.035);
  overflow: hidden; z-index: 20;
}
.series-chat-lobby { position: fixed; left: 18px; bottom: 18px; width: min(340px,calc(100vw - 36px)); }
.series-chat header { display:flex; justify-content:space-between; align-items:center; padding:9px 12px; border-bottom:1px solid rgba(217,186,114,.18); }
.series-chat header strong { color:var(--gold-bright); font-size:13px; }
.series-chat header span { color:var(--muted); font-size:10px; letter-spacing:.12em; }
.series-chat-messages { height:150px; overflow-y:auto; padding:8px 11px; scrollbar-width:thin; scrollbar-color:rgba(217,186,114,.45) transparent; }
.series-chat-line { margin:0 0 7px; font-size:12px; line-height:1.45; overflow-wrap:anywhere; }
.series-chat-line strong { color:#e7c979; margin-right:6px; }
.series-chat-line span { color:#d9e3ef; }
.series-chat-empty { color:var(--muted); text-align:center; margin:52px 0 0; font-size:12px; }
.series-chat-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; padding:8px; border-top:1px solid rgba(217,186,114,.18); }
.series-chat-form input { min-width:0; padding:8px 10px; border:1px solid rgba(166,194,226,.2); border-radius:8px; background:#091424; color:var(--text); }
.series-chat-form button { padding:7px 12px; border:1px solid rgba(217,186,114,.45); border-radius:8px; background:rgba(217,186,114,.12); color:var(--gold-bright); cursor:pointer; }
.chat-toggle { display:block; width:24px; height:24px; padding:0; border-radius:50%; border:1px solid rgba(217,186,114,.72); color:#ffe39a; background:radial-gradient(circle at 35% 30%,rgba(217,186,114,.3),rgba(7,14,24,.98) 66%); cursor:pointer; font-size:10px; font-weight:900; }
.series-chat-lobby.is-collapsed { width:48px; height:48px; border-radius:50%; overflow:visible; }
.series-chat-lobby.is-collapsed header { padding:0; border:0; }
.series-chat-lobby.is-collapsed header strong,.series-chat-lobby.is-collapsed header span,.series-chat-lobby.is-collapsed .series-chat-messages,.series-chat-lobby.is-collapsed .series-chat-form { display:none; }
.series-chat-lobby.is-collapsed .chat-toggle { display:block; width:48px; height:48px; font-size:14px; }
.series-chat-lobby.has-unread .chat-toggle { animation:lobbyChoicePulse 1.35s ease-in-out infinite; }
.room-toolbar-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.dialog-help { margin: 0 0 18px; color: var(--muted); line-height: 1.7; }
.duration-inputs { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 8px; }
.series-data-btn { border-color: rgba(217,186,114,.42) !important; color: var(--gold-bright) !important; background: rgba(217,186,114,.08) !important; }
.data-backfill-dialog { width: min(1180px,calc(100% - 28px)); }
.data-backfill-dialog > div { display:grid; gap:14px; padding:24px; }
.data-backfill-dialog header { display:flex; align-items:flex-start; justify-content:space-between; }
.data-backfill-dialog header small { color:var(--gold); letter-spacing:.16em; }
.data-backfill-dialog header h2 { margin:5px 0 0; }
.data-backfill-dialog header button { border:0; background:none; color:var(--muted); font-size:24px; cursor:pointer; }
.backfill-game-tabs { display:flex; flex-wrap:wrap; gap:8px; }
.backfill-game-tabs button { display:grid; gap:2px; min-width:72px; padding:9px 14px; border:1px solid var(--line); border-radius:8px; background:#0b1727; color:var(--text); cursor:pointer; }
.backfill-game-tabs button.active { border-color:var(--gold); color:var(--gold-bright); box-shadow:0 0 18px rgba(217,186,114,.18); }
.backfill-game-tabs small { color:var(--muted); font-size:10px; }
.backfill-toolbar { display:grid; grid-template-columns:minmax(220px,1fr) minmax(180px,.5fr); gap:12px; margin-bottom:12px; }
.backfill-toolbar label { display:grid; gap:6px; color:var(--muted); font-size:11px; }
.backfill-toolbar select,.backfill-toolbar input { min-width:0; padding:9px 10px; border:1px solid var(--line); border-radius:7px; background:#091424; color:var(--text); }
.backfill-table { width:100%; min-width:980px; border-collapse:collapse; }
.backfill-table th,.backfill-table td { padding:7px 5px; border-bottom:1px solid rgba(166,194,226,.11); text-align:left; }
.backfill-table th { color:var(--muted); font-size:10px; }
.backfill-table td:first-child { min-width:160px; }
.backfill-table td:nth-child(2) { min-width:110px; }
.backfill-table td small { display:block; margin-top:3px; color:var(--muted); }
.backfill-table input { width:72px; min-width:0; padding:7px 6px; border:1px solid rgba(166,194,226,.22); border-radius:6px; background:#091424; color:var(--text); }
.backfill-table input:disabled { opacity:.62; }
.backfill-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:12px; }
.backfill-ocr-dialog { width:min(1480px,calc(100vw - 28px)); max-width:none; }
.backfill-ocr-dialog > div { display:grid; gap:14px; padding:24px; }
.backfill-ocr-dialog header { display:flex; align-items:flex-start; justify-content:space-between; }
.backfill-ocr-dialog header small { color:var(--gold); letter-spacing:.16em; }
.backfill-ocr-dialog header h2 { margin:5px 0 0; }
.backfill-ocr-dialog header > button { border:0; background:none; color:var(--muted); font-size:24px; cursor:pointer; }
.backfill-ocr-dialog .ocr-form { display:grid; gap:14px; }
.backfill-ocr-dialog .ocr-meta-row { display:grid; grid-template-columns:minmax(220px,320px) 1fr; gap:18px; align-items:end; }
.backfill-ocr-dialog .ocr-meta-row label { display:grid; gap:6px; color:var(--gold); font-weight:800; }
.backfill-ocr-dialog .ocr-meta-row input,.backfill-ocr-dialog .ocr-review input,.backfill-ocr-dialog .ocr-review select { border:1px solid rgba(217,186,114,.35); border-radius:6px; background:#07111f; color:var(--text); padding:9px 8px; }
.backfill-ocr-dialog .ocr-meta-row p { margin:0; color:var(--muted); }
.backfill-ocr-dialog .ocr-capture-guide { border:1px solid rgba(217,186,114,.28); background:rgba(7,13,21,.74); padding:10px 12px; }
.backfill-ocr-dialog .ocr-capture-guide summary { color:var(--gold); cursor:pointer; font-weight:900; }
.backfill-ocr-dialog .ocr-border-warning { display:grid; gap:5px; margin-top:11px; padding:11px 14px; border:2px solid #ff6b62; background:linear-gradient(90deg,rgba(154,35,34,.3),rgba(217,186,114,.11)); box-shadow:0 0 18px rgba(255,80,70,.13); }
.backfill-ocr-dialog .ocr-border-warning strong { color:#ff8b80; font-size:.92rem; }
.backfill-ocr-dialog .ocr-border-warning span { margin:0; color:#ffe0b0; text-align:left; line-height:1.55; }
.backfill-ocr-dialog .ocr-guide-images { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:10px; }
.backfill-ocr-dialog .ocr-guide-images figure { min-width:0; margin:0; padding:7px; border:1px solid rgba(217,186,114,.35); background:#080d14; }
.backfill-ocr-dialog .ocr-guide-images a { display:block; }
.backfill-ocr-dialog .ocr-capture-guide .ocr-guide-images img { display:block; width:100%; height:230px; margin:0; object-fit:contain; border:2px solid var(--gold); background:#101315; }
.backfill-ocr-dialog .ocr-guide-images figcaption { padding:7px 3px 1px; color:var(--gold-bright); font-size:.74rem; font-weight:800; text-align:center; }
.backfill-ocr-dialog .ocr-capture-guide span { display:block; margin-top:7px; color:var(--gold-bright); font-size:.78rem; text-align:center; }
.backfill-ocr-dialog .ocr-files { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.backfill-ocr-dialog .ocr-files label { position:relative; min-height:122px; display:grid; place-content:center; gap:5px; padding:12px; overflow:hidden; border:1px dashed rgba(143,180,221,.4); background:#081321; text-align:center; cursor:pointer; transition:.18s ease; }
.backfill-ocr-dialog .ocr-files label:hover,.backfill-ocr-dialog .ocr-files label.dragging { border-color:var(--gold); transform:translateY(-2px); }
.backfill-ocr-dialog .ocr-files label.ocr-kind-mismatch { border-style:solid!important; animation:ocrKindMismatchPulse 1s ease-in-out infinite; }
.backfill-ocr-dialog .ocr-files label::before { content:""; position:absolute; inset:0; opacity:0; background:linear-gradient(rgba(4,10,18,.72),rgba(4,10,18,.88)),var(--ocr-preview) center/cover; }
.backfill-ocr-dialog .ocr-files label.has-file::before { opacity:1; }
.backfill-ocr-dialog .ocr-files label > b,.backfill-ocr-dialog .ocr-files label > strong,.backfill-ocr-dialog .ocr-files label > em,.backfill-ocr-dialog .ocr-files input { position:relative; z-index:1; }
.backfill-ocr-dialog .ocr-files label > b { color:var(--gold); font-size:.75rem; }
.backfill-ocr-dialog .ocr-files label > em { color:var(--muted); font-size:.7rem; font-style:normal; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.backfill-ocr-dialog .ocr-files input { width:100%; color:var(--muted); font-size:.68rem; }
.backfill-ocr-dialog .ocr-file-remove { display:none; position:absolute; z-index:3; right:6px; top:6px; width:25px; height:25px; padding:0; border:1px solid rgba(255,117,117,.7); border-radius:50%; background:#2b1118; color:#ff9b9b; cursor:pointer; }
.backfill-ocr-dialog .ocr-files label.has-file .ocr-file-remove { display:block; }
.backfill-ocr-dialog .ocr-progress { padding:14px; border:1px solid rgba(217,186,114,.22); background:rgba(4,11,19,.72); }
.backfill-ocr-dialog .ocr-progress > div { display:flex; justify-content:space-between; margin-bottom:8px; }
.backfill-ocr-dialog .ocr-progress progress { width:100%; height:9px; accent-color:var(--gold); }
.backfill-ocr-dialog .ocr-progress p { margin:8px 0 0; color:var(--muted); }
.backfill-ocr-dialog .ocr-review > header { display:flex; align-items:end; justify-content:space-between; margin-bottom:9px; }
.backfill-ocr-dialog .ocr-review h3 { margin:3px 0 0; }
.backfill-ocr-dialog .ocr-review header small,.backfill-ocr-dialog .ocr-review header span { color:var(--gold); }
.backfill-ocr-dialog .ocr-review-tools { display:flex; align-items:center; gap:12px; }
.backfill-ocr-dialog .ocr-review-scroll { max-height:54vh; overflow-x:hidden; overflow-y:auto; border:1px solid rgba(217,186,114,.22); }
.backfill-ocr-dialog .ocr-review table { width:100%; table-layout:fixed; border-collapse:collapse; font-variant-numeric:tabular-nums; }
.backfill-ocr-dialog .ocr-review th,.backfill-ocr-dialog .ocr-review td { min-width:0; padding:7px 4px; border-bottom:1px solid rgba(217,186,114,.12); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:center; }
.backfill-ocr-dialog .ocr-review th { position:sticky; top:0; z-index:2; background:#101a29; color:var(--gold-bright); }
.backfill-ocr-dialog .ocr-review th:nth-child(1) { width:3%; }
.backfill-ocr-dialog .ocr-review th:nth-child(2) { width:14%; }
.backfill-ocr-dialog .ocr-review th:nth-child(3) { width:13%; }
.backfill-ocr-dialog .ocr-review th:nth-child(4) { width:11%; }
.backfill-ocr-dialog .ocr-review th:nth-child(n+5):nth-child(-n+7) { width:4.5%; }
.backfill-ocr-dialog .ocr-review th:nth-child(n+8):nth-child(-n+11) { width:8%; }
.backfill-ocr-dialog .ocr-review th:nth-child(12) { width:8%; }
.backfill-ocr-dialog .ocr-review input,.backfill-ocr-dialog .ocr-review select { box-sizing:border-box; width:100%; min-width:0; padding:7px 5px; font-size:.78rem; }
.backfill-ocr-dialog .ocr-review select[data-review-account],.backfill-ocr-dialog .ocr-review select[data-review-account] option,
.backfill-ocr-dialog .ocr-review select[data-review-field="champion"],.backfill-ocr-dialog .ocr-review select[data-review-field="champion"] option,
.backfill-ocr-dialog .ocr-mvp-row select,.backfill-ocr-dialog .ocr-mvp-row select option { background:#05090f !important; color:#fff !important; }
.backfill-ocr-dialog .ocr-review td .btn { width:100%; padding:7px 3px; border:1px solid rgba(217,186,114,.4); border-radius:6px; background:#0b1727; color:#fff; font-size:.72rem; cursor:pointer; }
.backfill-ocr-dialog .ocr-review .suspect { border-color:#e8b85d; background:rgba(217,186,114,.14); }
.backfill-ocr-dialog .ocr-mvp-row { display:flex; align-items:center; gap:12px; margin-top:12px; color:var(--gold); font-weight:900; }
.backfill-ocr-dialog .ocr-mvp-row select { min-width:260px; padding:9px 10px; border:1px solid rgba(217,186,114,.35); border-radius:6px; }
.backfill-ocr-dialog #game-data-message.error { color:var(--danger); }
@media (max-width:900px) { .backfill-ocr-dialog .ocr-files,.backfill-ocr-dialog .ocr-guide-images { grid-template-columns:1fr; } .backfill-ocr-dialog .ocr-capture-guide .ocr-guide-images img { height:auto; max-height:360px; } .backfill-ocr-dialog .ocr-meta-row { grid-template-columns:1fr; } .backfill-ocr-dialog .ocr-review-tools { align-items:flex-end; flex-direction:column; } }
.review-suspect-row { background: rgba(217,186,114,.04); }
.kda-inputs { display: flex; align-items: center; gap: 3px; }
.kda-inputs input { width: 48px; min-width: 48px; flex: 0 0 48px; text-align: center; }
.award-confirm {
  display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 12px;
  margin-top: 14px; padding: 14px; border: 1px solid rgba(217,186,114,.25);
  background: rgba(217,186,114,.05);
}
.stats-dashboard { display: grid; gap: 18px; }
.admin-user-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.admin-user-table-wrap{height:430px;min-height:220px;max-height:680px;overflow-x:auto;overflow-y:auto;resize:vertical;scrollbar-width:thin;scrollbar-color:rgba(217,186,114,.55) rgba(255,255,255,.035)}
.admin-user-table-wrap table{width:100%}.admin-user-table-wrap thead th{position:sticky;top:0;z-index:2;background:#111d2c}
.admin-results-panel{grid-column:1/-1;min-width:0}
.admin-results-panel>header small{display:block;margin-bottom:5px;color:var(--gold);font-size:10px;font-weight:900;letter-spacing:.18em}
.admin-results-filters{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.7fr) minmax(260px,1.2fr);gap:12px;align-items:end;margin-bottom:16px;padding:14px;border:1px solid rgba(217,186,114,.2);background:rgba(5,12,21,.7)}
.admin-results-filters label,.admin-game-meta label{display:grid;gap:6px;color:var(--gold);font-size:12px;font-weight:800}
.admin-results-filters select,.admin-game-meta select,.admin-game-meta input,.admin-results-table input,.admin-results-table select{width:100%;min-width:0;border:1px solid rgba(217,186,114,.28);border-radius:5px;background:#07111f;color:#f4f7fb;padding:8px}
.admin-results-filters>span{align-self:center;color:var(--muted);font-size:12px}
.admin-results-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;min-height:430px}
.admin-series-browser{min-width:0;max-height:650px;overflow-y:auto;padding-right:5px}
.admin-results-series{display:grid;gap:9px}
.admin-result-series-card{padding:12px;border:1px solid rgba(154,184,218,.18);background:linear-gradient(145deg,rgba(11,24,40,.94),rgba(6,12,21,.96))}
.admin-result-series-card.archived{opacity:.56;filter:saturate(.72)}
.admin-result-series-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 0 10px}
.admin-result-series-card>header small,.admin-result-series-card>header strong{display:block}
.admin-result-series-card>header small{color:var(--muted);font-size:10px}.admin-result-series-card>header strong{margin-top:4px;font-size:13px}.admin-result-series-card>header em{color:var(--gold);font-size:10px;font-style:normal}
.admin-result-series-card>header>span{flex:0 0 auto;color:var(--gold);font-size:10px}
.admin-result-series-tools{display:grid;justify-items:end;gap:7px;flex:0 0 auto}.admin-result-series-tools span{color:var(--gold);font-size:10px}.admin-result-series-tools button{padding:4px 8px;border:1px solid rgba(255,113,136,.35);border-radius:5px;background:rgba(89,17,29,.25);color:#ff8da1;font-size:10px;cursor:pointer}.admin-result-series-tools button:hover{border-color:#ff7188;background:rgba(111,21,37,.45)}
.admin-result-games{display:flex;flex-wrap:wrap;gap:6px}.admin-result-games button{display:grid;grid-template-columns:auto auto;gap:1px 7px;min-width:72px;padding:7px;border:1px solid var(--line);border-radius:5px;background:#081522;color:var(--text);text-align:left;cursor:pointer}.admin-result-games button b{grid-row:1/3;color:var(--gold);font-size:18px}.admin-result-games button span,.admin-result-games button small{font-size:9px}.admin-result-games button small{color:var(--muted)}.admin-result-games button.official{border-color:rgba(94,230,176,.3)}.admin-result-games button.pending{border-color:rgba(255,113,136,.32)}.admin-result-games button.active{border-color:var(--gold);box-shadow:0 0 14px rgba(217,186,114,.24)}
.admin-game-editor{min-width:0;padding:14px;border:1px solid rgba(217,186,114,.22);background:rgba(4,10,18,.68)}
.admin-game-title{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.admin-game-title small{color:var(--muted);font-size:10px}.admin-game-title h3{margin:4px 0 0}.admin-game-title>span{color:var(--gold);font-size:11px}
.admin-game-meta{display:grid;grid-template-columns:repeat(3,minmax(120px,1fr)) auto;gap:8px;align-items:end;margin-bottom:12px}
.admin-results-table-wrap{max-height:480px;border:1px solid var(--line)}
.admin-results-table{width:100%;min-width:980px;border-collapse:collapse;table-layout:fixed}.admin-results-table th,.admin-results-table td{padding:6px 4px;border-bottom:1px solid rgba(166,194,226,.1);text-align:center}.admin-results-table th{position:sticky;top:0;z-index:2;background:#111d2c;color:var(--gold);font-size:10px}.admin-results-table td{font-size:11px}.admin-results-table td:first-child{width:130px;text-align:left}.admin-results-table td small{display:block;margin-top:3px;color:var(--muted)}.admin-results-table input{padding:6px 3px;text-align:center}.admin-results-table select{padding:6px 3px}.admin-results-table .compact{padding:6px;white-space:nowrap}
.admin-results-danger{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:12px;border:1px solid rgba(255,113,136,.28);background:rgba(67,15,26,.18)}.admin-results-danger strong,.admin-results-danger span{display:block}.admin-results-danger strong{color:#ff9bad}.admin-results-danger span{margin-top:4px;color:var(--muted);font-size:11px}.admin-results-danger button{flex:0 0 auto}
@media(max-width:1050px){.admin-results-layout{grid-template-columns:1fr}.admin-series-browser{max-height:290px}.admin-game-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-results-filters{grid-template-columns:1fr 1fr}.admin-results-filters>span{grid-column:1/-1}}
#stats-page .filter-bar{gap:7px;margin-bottom:14px}#stats-page .filter-bar input,#stats-page .filter-bar select,#stats-page .filter-bar button{min-height:34px;padding-top:6px;padding-bottom:6px}
.stats-summary { display: grid; grid-template-columns: repeat(6,1fr); gap: 10px; }
.stats-summary article {
  min-height: 86px; display: grid; align-content: center; padding: 14px;
  border: 1px solid var(--line); background: rgba(8,18,31,.82);
}
.stats-summary small { color: var(--muted); }
.stats-summary strong { margin-top: 7px; color: var(--text); font-size: 24px; }
.stats-main-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 18px; }
.radar-panel header, .hero-panel header { display: flex; justify-content: space-between; align-items: center; }
.radar-panel header small, .hero-panel header small { color: var(--gold); letter-spacing: .14em; }
.radar-panel header h2, .hero-panel header h2 { margin: 4px 0 0; }
#stats-sample-badge { color: var(--gold); font-size: 12px; }
.radar-chart { max-width: 480px; margin: 0 auto; }
.radar-chart svg { width: 100%; display: block; overflow: visible; }
.radar-grid polygon, .radar-grid line { fill: none; stroke: rgba(137,166,196,.22); stroke-width: 1; }
.radar-area { fill: rgba(39,168,255,.25); stroke: var(--blue); stroke-width: 2; filter: drop-shadow(0 0 9px rgba(39,168,255,.35)); }
.radar-average{fill:rgba(217,186,114,.07);stroke:#d9ba72;stroke-width:1.6;stroke-dasharray:5 4}
.radar-rank-label{fill:#d9ba72!important;font-size:8px!important;font-weight:800}
.radar-value-label{fill:#eaf3ff!important;font-size:7.5px!important;font-weight:700}
.radar-chart text { fill: var(--muted); font-size: 10px; }
.stats-heroes { display: grid; gap: 9px; margin-top: 18px; max-height: 430px; overflow-y: auto; padding-right: 6px; }
.stats-heroes article {
  display: grid; grid-template-columns: 1fr auto 55px; align-items: center; gap: 14px;
  padding: 13px; border: 1px solid var(--line); background: rgba(8,18,31,.7);
}
.stats-heroes small { display: block; margin-top: 4px; color: var(--muted); }
.stats-heroes span { color: var(--muted); font-variant-numeric: tabular-nums; }
.stats-heroes b { color: var(--blue); text-align: right; }
.stats-heroes article{grid-template-columns:42px 1fr auto auto!important;align-items:center}.stats-hero-icon{width:36px;height:36px;border-radius:5px;object-fit:cover;border:1px solid rgba(217,186,114,.35)}
.compare-legend .average::before{background:#d9ba72}.compare-ranks{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:8px}.compare-ranks span{display:grid;grid-template-columns:1fr 1fr;padding:5px 7px;background:rgba(7,17,30,.75);font-size:9px}.compare-ranks b{grid-column:1/-1;color:var(--muted)}.compare-ranks i{font-style:normal}.compare-ranks i.red{text-align:right}
.stats-profile-title{display:flex;align-items:baseline;gap:14px;margin-bottom:12px}.stats-profile-title strong{font-size:24px;color:var(--gold)}.stats-profile-title span{color:var(--muted)}
.stats-series-panel{margin-top:16px}.stats-series-list{display:grid;gap:8px;max-height:360px;overflow-y:auto;padding-right:6px}.stats-series-list button{display:grid;grid-template-columns:1fr auto;gap:4px 14px;text-align:left;padding:13px 15px;border:1px solid var(--line);background:#091424;color:var(--text);cursor:pointer}.stats-series-list button:hover{border-color:var(--gold)}.stats-series-list small,.stats-series-list em{color:var(--muted);font-style:normal}.stats-series-list span{text-align:right}.stats-series-list em{grid-column:1/-1}
.history-room .studio-player-seat,.history-room .special-seat-choice{pointer-events:none}.history-room #auto-seat-btn{display:none}
.pregame-dialog { width: min(1500px,calc(100vw - 42px)); max-width: none; }
.pregame-tabs { display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; margin: 15px 0; }
.pregame-tabs button.active { color: var(--gold); border-color: var(--gold); background: rgba(217,186,114,.1); }
.pregame-matchup { display: grid; grid-template-columns: minmax(300px,1fr) 440px minmax(300px,1fr); gap: 14px; align-items: stretch; }
.pregame-player { padding: 16px; border: 1px solid var(--line); background: rgba(7,15,26,.95); }
.pregame-player.blue { box-shadow: inset 3px 0 var(--blue); }
.pregame-player.red { box-shadow: inset -3px 0 var(--red); }
.pregame-player > header { display: flex; justify-content: space-between; align-items: center; }
.pregame-player > header small { color: var(--muted); }
.pregame-player > header h3 { margin: 4px 0 0; }
.pregame-player > header b { color: var(--gold); }
.pregame-numbers { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 12px 0; }
.pregame-numbers span { padding: 10px; border: 1px solid var(--line); }
.pregame-numbers small,.pregame-numbers strong { display: block; }
.pregame-numbers small { color: var(--muted); }
.pregame-numbers strong { margin-top: 4px; font-size: 18px; }
.pregame-heroes { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }
.pregame-heroes > span { padding: 8px; border: 1px solid var(--line); }
.pregame-heroes small { display: block; margin-top: 4px; color: #c7d2df; font-size: 13px; line-height:1.35; }
.pregame-heroes strong{font-size:15px;line-height:1.25}
.pregame-heroes em,.sample-warning { color: var(--gold); font-size: 11px; }
.pregame-versus { display: grid; place-items: center; align-content: center; text-align: center; color: var(--muted); }
.pregame-versus > strong { margin: 0 0 -28px; z-index: 2; color: var(--text); font-size: 28px; font-style: italic; }
.compare-radar { width: 100%; }
.pregame-heroes span{position:relative;padding-left:42px;min-height:36px}.pregame-hero-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:5px;object-fit:cover;border:1px solid rgba(217,186,114,.4)}
.compare-radar svg { width: 100%; display: block; overflow: visible; }
.compare-radar text { fill: var(--muted); font-size: 10px; }
.compare-radar .radar-axis-name{fill:#f3f6fb;font-size:11px;font-weight:900}.compare-radar .radar-axis-value{font-size:10px;font-weight:900}.compare-radar .radar-axis-blue{fill:#42baff}.compare-radar .radar-axis-red{fill:#ff6f82}
.compare-blue { fill: transparent; stroke: #42baff; stroke-width:3; filter:drop-shadow(0 0 5px rgba(39,168,255,.55)); }
.compare-red { fill: rgba(255,73,103,.25); stroke: rgba(255,95,119,.9); stroke-width:1.5; }
.compare-legend { display: flex; justify-content: center; gap: 22px; margin-top: -14px; font-size: 11px; }
.compare-legend span::before { content: ""; display: inline-block; width: 18px; height: 3px; margin-right: 7px; vertical-align: middle; }
.compare-legend .blue::before { background: var(--blue); }
.compare-legend .red::before { background: var(--red); }

@media (max-width: 850px) {
  .login-shell { grid-template-columns: 1fr; width: min(520px, calc(100% - 36px)); padding: 60px 0; }
  .login-brand h1 { font-size: 60px; }
  .brand-copy { font-size: 16px; }
  .portal-grid, .account-layout { grid-template-columns: 1fr; }
  .topbar { padding: 0 14px; }
  .account-copy { display: none; }
  .gold-install-btn { min-height: 38px; padding: 0 11px; font-size: 12px; }
  .page { width: min(100% - 28px, 720px); padding-top: 42px; }
  .create-user-form { grid-template-columns: 1fr 1fr; }
  #events-page { height: auto; min-height: calc(100vh - 72px); overflow: visible; }
  .event-layout { grid-template-columns: 1fr; }
  .event-sidebar { max-height: 230px; overflow: auto; }
  .event-main { overflow: visible; }
  #event-detail .series-list { overflow: visible; }
  .team-strip { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .studio-floor { grid-template-columns: 1fr; }
  .studio-gallery { grid-template-columns: 1fr; }
  .room-toolbar { grid-template-columns: 1fr; }
  .starter-selects { grid-template-columns: 1fr 1fr; }
  .stats-summary { grid-template-columns: repeat(2,1fr); }
  .stats-main-grid { grid-template-columns: 1fr; }
  .award-confirm { grid-template-columns: 1fr; }
  .pregame-matchup { grid-template-columns: 1fr; }
  .pregame-versus { width: min(440px,100%); margin: auto; }
}

/* Rating center preview */
.event-page-credit {
  position: absolute; top: 8px; left: 50%; z-index: 2;
  display: grid; justify-items: center; min-width: 168px; padding: 4px 22px 6px;
  border: 1px solid rgba(217,186,114,.34); color: var(--gold-bright);
  background: linear-gradient(180deg,rgba(217,186,114,.09),rgba(5,10,18,.88));
  box-shadow: 0 0 24px rgba(217,186,114,.08), inset 0 1px rgba(241,213,141,.15);
  transform: translateX(-50%);
}
.event-page-credit::before { content:""; position:absolute; top:-1px; left:20%; right:20%; height:1px; background:var(--gold-bright); box-shadow:0 0 9px var(--gold); }
.event-page-credit small { color:var(--gold); font:7px/1.2 Consolas,monospace; letter-spacing:.28em; }
.event-page-credit strong { margin-top:2px; font:700 11px/1.2 Consolas,monospace; letter-spacing:.12em; }
.event-page-tabs { display:flex; align-items:center; gap:17px; }
.event-rating-entry {
  min-height:42px; padding:0 18px; border:1px solid rgba(217,186,114,.64); border-radius:8px;
  color:var(--gold-bright); font-weight:900; cursor:pointer;
  background:linear-gradient(135deg,rgba(217,186,114,.19),rgba(83,57,13,.2));
  box-shadow:0 0 18px rgba(217,186,114,.12),inset 0 1px rgba(255,255,255,.08);
}
.event-rating-entry span { margin-right:7px; color:#ffe29c; text-shadow:0 0 10px var(--gold); }
.event-rating-entry:hover { filter:brightness(1.16); box-shadow:0 0 25px rgba(217,186,114,.25); }

#ratings-page { position:relative; width:min(1780px,calc(100% - 24px)); padding-top:52px; }
#ratings-page::before { content:""; position:fixed; inset:72px 0 auto; z-index:-1; height:300px; pointer-events:none; background:radial-gradient(ellipse at 50% 0,rgba(217,186,114,.1),transparent 70%); }
.rating-section-head { margin-bottom:14px; }
.rating-section-head .eyebrow { margin-bottom:7px; }
.rating-section-head h1 { font-size:34px; }
.rating-live-note { display:inline-flex; align-items:center; gap:8px; padding:7px 11px; border:1px solid rgba(94,230,176,.2); border-radius:99px; color:#8ee9c5; background:rgba(36,129,94,.09); font-size:11px; }
.rating-live-note i { width:6px; height:6px; border-radius:50%; background:var(--ok); box-shadow:0 0 9px var(--ok); }
.rating-head-actions { flex:0 1 350px!important; display:flex; justify-content:flex-end; align-items:center; gap:9px; }
.rating-search { position:relative; width:min(330px,100%); }
.rating-search span { position:absolute; left:13px; top:50%; z-index:1; color:var(--gold); font-size:20px; transform:translateY(-52%); }
.rating-search input { height:42px; padding-left:39px; border-color:rgba(217,186,114,.22); }
.rating-refresh-btn { min-width:112px; height:42px; color:var(--gold-bright); border-color:rgba(217,186,114,.35); }
.rating-refresh-btn:disabled { opacity:.55; cursor:not-allowed; }

.rating-layout { display:grid; grid-template-columns:248px minmax(0,1fr); gap:10px; align-items:start; }
.rating-rail,.rating-stage { min-width:0; border:1px solid rgba(217,186,114,.2); border-radius:14px; background:linear-gradient(145deg,rgba(217,186,114,.035),transparent 30%),rgba(7,15,26,.86); box-shadow:0 18px 50px rgba(0,0,0,.18); }
.rating-rail { position:sticky; top:82px; height:calc(100vh - 102px); padding:9px; overflow:auto; }
.rating-rail>header { display:grid; gap:3px; padding:6px 6px 9px; border-bottom:1px solid var(--line); }
.rating-rail>header span { color:var(--gold); font-size:9px; font-weight:900; letter-spacing:.16em; }
.rating-rail>header strong { font-size:15px; }
.rating-directory-rail .rating-series-directory-head { margin-top:8px; padding-top:10px; border-top:1px solid rgba(217,186,114,.18); }
.rating-event-filter { display:block; padding:8px 4px 4px; }
.rating-event-filter select { width:100%; height:38px; padding:0 34px 0 10px; border:1px solid rgba(217,186,114,.32); border-radius:6px; outline:none; color:#f1dfae; background:#081321; font-size:12px; font-weight:800; cursor:pointer; }
.rating-event-filter select:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(217,186,114,.09); }
.rating-event-summary { display:flex; justify-content:space-between; gap:6px; padding:4px 6px 8px; color:#728397; font-size:8px; }
.rating-event-summary strong { min-width:0; overflow:hidden; color:#b5c2cf; font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.rating-event-summary span { flex:0 0 auto; }
.rating-event-list,.rating-series-list { display:grid; gap:6px; padding-top:7px; }
.rating-event-item,.rating-series-item { position:relative; width:100%; border:1px solid transparent; border-radius:9px; color:var(--text); background:rgba(255,255,255,.025); text-align:left; cursor:pointer; }
.rating-event-item { padding:14px 12px; }
.rating-event-item small,.rating-event-item strong,.rating-event-item span { display:block; }
.rating-event-item small { color:var(--muted); font-size:9px; }
.rating-event-item strong { margin:6px 0 11px; font-size:15px; }
.rating-event-item span { width:max-content; padding:3px 7px; border-radius:99px; color:#7ce4bc; background:rgba(94,230,176,.09); font-size:9px; }
.rating-event-item.active,.rating-series-item.active { border-color:rgba(217,186,114,.6); background:linear-gradient(110deg,rgba(217,186,114,.15),rgba(217,186,114,.025)); box-shadow:inset 3px 0 var(--gold),0 0 17px rgba(217,186,114,.07); }
.rating-series-item { display:grid; padding:9px; }
.rating-series-item small { color:var(--gold); font-size:9px; }
.rating-series-item strong { margin:5px 0; font-size:11px; line-height:1.35; }
.rating-series-item strong i { padding:0 3px; color:var(--muted); font-size:8px; font-style:normal; }
.rating-series-item span { display:flex; align-items:center; justify-content:space-between; color:var(--muted); font-size:9px; }
.rating-series-item span b { color:var(--text); font-size:15px; }
.rating-series-item em { margin-top:4px; color:#5f7185; font-size:8px; font-style:normal; }
.rating-empty-list { padding:20px 8px; color:var(--muted); font-size:11px; text-align:center; }

.rating-stage { overflow:hidden; }
.rating-stage-head { display:flex; align-items:center; gap:20px; padding:19px 22px 16px; border-bottom:1px solid rgba(217,186,114,.16); }
.rating-stage-head small { color:var(--gold); font-size:10px; letter-spacing:.07em; }
.rating-stage-head h2 { margin:6px 0 0; font-size:20px; }
.rating-series-strip { display:grid; grid-template-columns:210px minmax(0,820px); justify-content:center; align-items:stretch; border-bottom:1px solid rgba(217,186,114,.16); background:linear-gradient(90deg,rgba(217,186,114,.07),rgba(3,9,16,.2) 42%,rgba(217,186,114,.035)); }
.rating-series-averages { display:grid; grid-template-columns:minmax(0,1fr); gap:6px; align-content:center; justify-items:center; padding:9px 14px; border-left:1px solid rgba(217,186,114,.14); }
.rating-series-averages>header { display:grid; justify-items:center; gap:5px; width:100%; text-align:center; }
.rating-series-averages>header strong { color:#f0d58e; font-size:14px; white-space:nowrap; }
.rating-series-average-grid { display:grid; gap:3px; width:min(100%,640px); margin-inline:auto; }
.rating-series-scoreline { display:flex; align-items:center; justify-content:center; gap:7px; min-height:23px; }
.rating-series-scoreline span { min-width:20px; font-size:17px; font-weight:900; line-height:1; text-align:center; }
.rating-series-scoreline span:first-child { color:#69c7ff; }.rating-series-scoreline span:last-child { color:#ff7e94; }
.rating-series-scoreline i { color:var(--gold); font-size:13px; font-style:normal; }
.rating-series-average-row { display:grid; grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr); align-items:center; gap:7px; min-height:25px; }
.rating-series-average-row>b { color:#a99462; font-size:9px; text-align:center; }
.rating-series-average-player { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px; min-width:0; padding:3px 8px; border:1px solid transparent; background:rgba(4,11,19,.6); }
.rating-series-average-player span { min-width:0; overflow:hidden; color:#bfcbd7; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.rating-series-average-player strong { justify-self:end; min-width:34px; color:var(--rating-score-color,#6f8092); font-size:15px; line-height:1; text-align:right; text-shadow:0 0 10px color-mix(in srgb,var(--rating-score-color,#6f8092) 22%,transparent); }
.rating-series-average-player.blue { border-right-color:rgba(39,168,255,.5); }
.rating-series-average-player.red { grid-template-columns:auto minmax(0,1fr); border-left-color:rgba(255,73,103,.48); }.rating-series-average-player.red strong{grid-column:1;grid-row:1;justify-self:start;text-align:left}.rating-series-average-player.red span{grid-column:2;grid-row:1;text-align:right}
.rating-game-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:center; gap:6px; padding:9px 11px; overflow:hidden; background:rgba(3,9,16,.34); }
.rating-game-tabs button { min-width:0; padding:7px 9px; border:1px solid var(--line); border-radius:7px; color:var(--text); background:#081321; cursor:pointer; text-align:left; }
.rating-game-tabs button strong,.rating-game-tabs button span { display:block; }
.rating-game-tabs button strong { color:var(--gold); font-size:14px; }
.rating-game-tabs button span { margin-top:2px; overflow:hidden; color:var(--muted); font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
.rating-game-tabs button.active { border-color:var(--gold); background:linear-gradient(135deg,rgba(217,186,114,.18),rgba(8,19,33,.9)); box-shadow:0 0 17px rgba(217,186,114,.16); }
.rating-game-tabs button.locked { opacity:.38; cursor:not-allowed; filter:grayscale(.8); }
.rating-game-panel { padding:14px; }
.rating-game-intro { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:11px; padding:12px 15px; border:1px solid rgba(94,230,176,.17); background:linear-gradient(90deg,rgba(45,149,112,.1),transparent); }
.rating-game-intro small { color:#77dcb5; font-size:9px; }
.rating-game-intro h3 { margin:4px 0 0; color:#a6f2d4; font-size:17px; }
.rating-game-intro-actions { display:flex; align-items:center; justify-content:flex-end; gap:13px; }
.rating-game-intro .rating-refresh-btn { flex:0 0 auto; height:35px; min-width:100px; }
.rating-mobile-team-tabs { display:none; }
.rating-matchups { display:grid; gap:8px; }
.rating-matchup { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:8px; }
.rating-player-card,.rating-bp-card { position:relative; min-width:0; padding:11px; border:1px solid var(--line); background:rgba(5,12,21,.82); overflow:hidden; }
.rating-player-card.rating-blue,.rating-bp-card.rating-blue { border-left:2px solid rgba(39,168,255,.68); background:linear-gradient(110deg,rgba(39,168,255,.1),rgba(5,12,21,.82) 46%); }
.rating-player-card.rating-red,.rating-bp-card.rating-red { border-right:2px solid rgba(255,73,103,.64); background:linear-gradient(250deg,rgba(255,73,103,.09),rgba(5,12,21,.82) 46%); }
.rating-winner { box-shadow:inset 0 0 0 1px rgba(239,202,112,.16),0 0 12px rgba(217,186,114,.07); }
.rating-winner-mark { position:absolute; z-index:5; right:6px; top:5px; display:grid; place-items:center; width:23px; height:23px; border:1px solid rgba(244,208,112,.72); border-radius:50%; color:#ffe094; background:#33250b; box-shadow:0 0 12px rgba(238,191,72,.35); font-size:11px; font-weight:900; }
.rating-winner .rating-average { padding-right:22px; }
.rating-player-main { display:grid; grid-template-columns:54px minmax(108px,.72fr) minmax(175px,1fr) auto; gap:10px; align-items:center; }
.rating-player-main>img { width:54px; height:54px; border:1px solid rgba(217,186,114,.32); border-radius:6px; object-fit:cover; }
.rating-player-hero-empty { display:grid; place-items:center; width:54px; height:54px; border:1px solid rgba(217,186,114,.32); border-radius:6px; color:var(--gold); background:#060d16; font-size:23px; font-weight:900; }
.rating-player-copy h3 { margin:0 0 7px; font-size:14px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.rating-player-copy>strong { color:#d8e4f0; font:700 13px/1 Consolas,monospace; }
.rating-average { display:grid; justify-items:end; border:0; color:inherit; background:none; cursor:pointer; }
.rating-average b { color:var(--rating-score-color,var(--gold-bright)); font-size:27px; line-height:1; text-shadow:0 0 14px color-mix(in srgb,var(--rating-score-color,var(--gold-bright)) 28%,transparent); }
.rating-average span { margin-top:3px; color:var(--muted); font-size:8px; }
.rating-average em { margin-bottom:4px; color:var(--gold); font-size:8px; font-style:normal; font-weight:900; }
.rating-average.user-best em { color:#ff647c; text-shadow:0 0 10px rgba(255,73,103,.5); }
.rating-score-axis { --axis-tone:#f2f4f7; --score-position:0%; position:relative; display:block; min-width:0; padding:21px 7px 14px; color:var(--axis-tone); }
.rating-score-axis-red { --axis-tone:#ff5d73; }.rating-score-axis-white { --axis-tone:#f2f4f7; }.rating-score-axis-green { --axis-tone:#46de91; }.rating-score-axis-blue { --axis-tone:#42b8ff; }.rating-score-axis-purple { --axis-tone:#b77cff; }.rating-score-axis-gold { --axis-tone:#ffd46d; }
.rating-score-axis output { position:absolute; left:clamp(27px,var(--score-position),calc(100% - 27px)); top:0; min-width:42px; padding:2px 7px; border:1px solid color-mix(in srgb,var(--axis-tone) 64%,transparent); border-radius:99px; color:var(--axis-tone); background:#07101b; box-shadow:0 0 12px color-mix(in srgb,var(--axis-tone) 18%,transparent); font-size:10px; font-weight:900; line-height:16px; text-align:center; white-space:nowrap; transform:translateX(-50%); transition:left .12s ease,color .12s ease; }
.rating-score-axis.is-unset output { left:50%; color:#8b98a6; border-color:rgba(139,152,166,.28); box-shadow:none; }
.rating-score-axis input { display:block; width:100%; height:14px; margin:0; padding:0; border:0; outline:none; appearance:none; -webkit-appearance:none; background:transparent; cursor:ew-resize; }
.rating-score-axis input::-webkit-slider-runnable-track { height:5px; border-radius:99px; background:linear-gradient(90deg,var(--axis-tone) 0 var(--score-position),rgba(118,137,157,.22) var(--score-position) 100%); box-shadow:inset 0 0 0 1px rgba(255,255,255,.04); }
.rating-score-axis input::-moz-range-track { height:5px; border-radius:99px; background:rgba(118,137,157,.22); }
.rating-score-axis input::-moz-range-progress { height:5px; border-radius:99px; background:var(--axis-tone); }
.rating-score-axis.is-unset input::-webkit-slider-runnable-track { background:rgba(118,137,157,.22); }
.rating-score-axis input::-webkit-slider-thumb { width:15px; height:15px; margin-top:-5px; border:2px solid #07101b; border-radius:50%; appearance:none; -webkit-appearance:none; background:var(--axis-tone); box-shadow:0 0 10px color-mix(in srgb,var(--axis-tone) 55%,transparent); }
.rating-score-axis input::-moz-range-thumb { width:13px; height:13px; border:2px solid #07101b; border-radius:50%; background:var(--axis-tone); box-shadow:0 0 10px color-mix(in srgb,var(--axis-tone) 55%,transparent); }
.rating-score-axis.is-unset input::-webkit-slider-thumb,.rating-score-axis.is-unset input::-moz-range-thumb { opacity:.52; background:#8290a0; box-shadow:none; }
.rating-score-ticks { display:grid; grid-template-columns:repeat(10,1fr); margin:3px -3px 0; color:#627386; font-size:7px; line-height:1; text-align:center; pointer-events:none; }
.rating-score-ticks i { font-style:normal; }
.rating-number-row { display:grid; grid-template-columns:repeat(10,minmax(22px,1fr)); gap:4px; margin-top:9px; }
.rating-number { aspect-ratio:1.14; min-width:0; padding:0; border:1px solid rgba(150,174,202,.16); border-radius:4px; color:#7c8b9c; background:rgba(4,10,18,.72); font-size:9px; font-weight:900; cursor:pointer; }
.rating-number:hover { border-color:currentColor; filter:brightness(1.25); }
.rating-number.selected { color:var(--rating-tone); border-color:var(--rating-tone); background:color-mix(in srgb,var(--rating-tone) 17%,#07101c); animation:rating-score-pulse 1.35s ease-in-out infinite; }
.rating-number-red { --rating-tone:#ff5d73; }.rating-number-white { --rating-tone:#f2f4f7; }.rating-number-green { --rating-tone:#46de91; }.rating-number-blue { --rating-tone:#42b8ff; }.rating-number-purple { --rating-tone:#b77cff; }.rating-number-gold { --rating-tone:#ffd46d; }
@keyframes rating-score-pulse { 0%,100%{box-shadow:0 0 0 rgba(255,255,255,0)} 50%{box-shadow:0 0 13px color-mix(in srgb,var(--rating-tone) 58%,transparent),inset 0 0 8px color-mix(in srgb,var(--rating-tone) 20%,transparent)} }
.rating-hot-comment { width:100%; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:stretch; gap:4px; margin-top:7px; border-radius:4px; background:rgba(255,255,255,.025); }
.rating-hot-comment-open { min-width:0; display:grid; grid-template-columns:auto minmax(0,1fr); align-items:center; gap:9px; padding:7px 9px; border:0; color:inherit; background:none; cursor:pointer; text-align:left; }
.rating-hot-comment-open>span { color:var(--gold); font-size:10px; font-weight:900; }
.rating-hot-comment p { margin:0; overflow:hidden; color:#c8d1db; font-size:12px; white-space:nowrap; text-overflow:ellipsis; }
.rating-hot-comment-like { min-width:49px; display:flex; align-items:center; justify-content:center; gap:4px; padding:5px 9px; border:0; border-left:1px solid rgba(255,113,136,.12); border-radius:0 4px 4px 0; color:#ff7188; background:rgba(255,113,136,.025); cursor:pointer; }
.rating-hot-comment-like span { font-size:16px; line-height:1; }.rating-hot-comment-like b { font-size:10px; }
.rating-hot-comment-like small { display:none; }
.rating-hot-comment-like:hover,.rating-hot-comment-like.liked { color:#ff4568; background:rgba(255,69,104,.12); text-shadow:0 0 9px rgba(255,69,104,.45); }
.rating-hot-comment-like:disabled { opacity:.55; cursor:wait; }
.rating-comments-link { width:100%; margin-top:5px; padding:0; border:0; color:#71859a; background:none; font-size:10px; cursor:pointer; text-align:right; }
.rating-comments-link:hover { color:var(--gold); }
.rating-bp-section { margin-top:13px; padding-top:12px; border-top:1px solid rgba(217,186,114,.2); }
.rating-bp-section>header { display:flex; align-items:baseline; gap:10px; margin-bottom:8px; }
.rating-bp-section>header small { color:var(--gold); font-size:8px; letter-spacing:.15em; }.rating-bp-section>header h3 { margin:0; font-size:15px; }
.rating-bp-section>div { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.rating-bp-card>header { display:grid; grid-template-columns:minmax(105px,.72fr) minmax(175px,1fr) auto; align-items:center; gap:10px; }
.rating-bp-card>header small { color:var(--muted); font-size:8px; }.rating-bp-card>header h3 { margin:4px 0 0; font-size:14px; }
.rating-bp-draft { display:grid; gap:5px; margin-top:8px; }
.rating-bp-icons { display:flex; align-items:center; gap:4px; }.rating-bp-icons small { width:30px; color:var(--muted); font-size:7px; }.rating-bp-icons img { width:27px; height:27px; border:1px solid rgba(217,186,114,.2); object-fit:cover; }
.rating-bp-icons:nth-child(2) img { filter:grayscale(.6) brightness(.65); }
.rating-autosave-bar { position:sticky; bottom:0; z-index:5; display:flex; justify-content:center; align-items:center; margin:14px -14px -14px; padding:9px 16px; border-top:1px solid rgba(217,186,114,.18); background:rgba(4,10,18,.94); backdrop-filter:blur(16px); }
.rating-autosave-status { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.rating-autosave-status::before { content:""; width:6px; height:6px; border-radius:50%; background:#687788; }
.rating-autosave-status.waiting { color:#e5c66f; }.rating-autosave-status.waiting::before { background:#e5c66f; box-shadow:0 0 8px rgba(229,198,111,.55); }
.rating-autosave-status.saving { color:#67c5ff; }.rating-autosave-status.saving::before { background:#42b8ff; box-shadow:0 0 9px rgba(66,184,255,.7); animation:rating-save-pulse .8s ease-in-out infinite; }
.rating-autosave-status.saved { color:#65dca1; }.rating-autosave-status.saved::before { background:#4cda96; box-shadow:0 0 7px rgba(76,218,150,.45); }
.rating-autosave-status.error { color:#ff7188; }.rating-autosave-status.error::before { background:#ff526e; box-shadow:0 0 8px rgba(255,82,110,.55); }
@keyframes rating-save-pulse { 50% { opacity:.35; transform:scale(.72); } }

.rating-modal { position:fixed; inset:0; z-index:80; display:grid; place-items:center; padding:24px; background:rgba(0,4,9,.76); backdrop-filter:blur(8px); }
.rating-modal-card { display:grid; grid-template-rows:auto minmax(0,1fr) auto; width:min(1040px,100%); height:min(840px,calc(100vh - 40px)); overflow:hidden; border:1px solid rgba(230,197,111,.6); border-radius:14px; background:linear-gradient(155deg,rgba(222,184,91,.045),transparent 32%),#07111d; box-shadow:0 30px 100px rgba(0,0,0,.68),0 0 34px rgba(217,186,114,.09),inset 0 0 0 1px rgba(255,228,155,.035); }
.rating-comment-hero { position:relative; min-height:190px; overflow:hidden; border-bottom:1px solid rgba(229,194,105,.48); background:#07101b; isolation:isolate; }
.rating-comment-hero>img { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; object-position:center 24%; filter:saturate(.9) brightness(.82); transform:scale(1.015); }
.rating-comment-hero>img.is-icon-fallback { object-fit:contain; padding:20px; background:radial-gradient(circle at 28% 50%,rgba(217,186,114,.14),transparent 34%),#060d16; filter:saturate(.88); transform:none; }
.rating-comment-hero-shade { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(3,8,14,.94) 0,rgba(4,10,17,.65) 48%,rgba(4,9,15,.36) 100%),linear-gradient(0deg,rgba(6,15,25,.96),transparent 75%); }
.rating-comment-hero::after { content:""; position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(110deg,rgba(235,196,94,.13),transparent 44%); box-shadow:inset 0 -1px rgba(255,225,145,.14); }
.rating-comment-hero-copy { position:absolute; z-index:3; left:24px; right:76px; bottom:21px; }
.rating-comment-hero-copy>small { color:#f0ca6d; font-size:10px; font-weight:900; letter-spacing:.08em; text-shadow:0 2px 8px #000; }
.rating-comment-hero-copy h2 { display:flex; align-items:baseline; gap:11px; margin:7px 0 13px; color:#fff4d5; font-size:31px; line-height:1; text-shadow:0 3px 14px #000; }
.rating-comment-hero-copy h2>span:first-child { color:#efca70; font:900 22px/1 Consolas,monospace; letter-spacing:.05em; }
.rating-comment-hero-meta { display:flex; align-items:center; gap:10px; min-width:0; }
.rating-comment-hero-meta>span,.rating-comment-hero-meta>strong { min-height:33px; display:flex; align-items:center; padding:0 11px; border:1px solid rgba(232,199,118,.26); border-radius:5px; background:rgba(3,8,14,.62); backdrop-filter:blur(8px); }
.rating-comment-hero-meta>span { color:#d5c8a6; font-size:11px; }.rating-comment-hero-meta>strong { color:#f8edcf; font:800 13px/1 Consolas,monospace; }
#rating-comments-average { --rating-score-color:#f4f6f8; display:grid; grid-template-columns:auto auto; grid-template-rows:auto auto; align-items:center; gap:0 7px; min-width:106px; min-height:50px; margin-left:2px; padding:4px 11px; border:1px solid color-mix(in srgb,var(--rating-score-color) 58%,transparent); border-radius:6px; color:inherit; background:linear-gradient(135deg,color-mix(in srgb,var(--rating-score-color) 20%,transparent),rgba(7,14,22,.76)); box-shadow:0 0 18px color-mix(in srgb,var(--rating-score-color) 17%,transparent); cursor:pointer; }
#rating-comments-average b { grid-row:1/3; color:var(--rating-score-color); font-size:30px; line-height:1; text-shadow:0 0 14px color-mix(in srgb,var(--rating-score-color) 32%,transparent); }#rating-comments-average span { color:#d9e2eb; font-size:9px; white-space:nowrap; }
.rating-score-unrated { --rating-score-color:#6f8092!important; }.rating-score-red { --rating-score-color:#ff5d73!important; }.rating-score-white { --rating-score-color:#f4f6f8!important; }.rating-score-green { --rating-score-color:#46de91!important; }.rating-score-blue { --rating-score-color:#42b8ff!important; }.rating-score-purple { --rating-score-color:#b77cff!important; }.rating-score-gold { --rating-score-color:#ffd46d!important; }
.rating-comment-hero>.rating-modal-close { position:absolute; z-index:4; top:16px; right:17px; border-color:rgba(240,202,109,.35); box-shadow:0 0 14px rgba(0,0,0,.4); }
.rating-modal-close,.rating-pie-popover>button { width:34px; height:34px; border:1px solid var(--line); border-radius:50%; color:#ff7188; background:rgba(5,11,19,.8); font-size:21px; cursor:pointer; }
.rating-comment-scroll { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-color:rgba(224,188,96,.78) rgba(4,10,17,.65); scrollbar-width:thin; }
.rating-comment-scroll::-webkit-scrollbar { width:9px; }.rating-comment-scroll::-webkit-scrollbar-track { background:rgba(3,8,14,.75); }.rating-comment-scroll::-webkit-scrollbar-thumb { border:2px solid rgba(3,8,14,.75); border-radius:99px; background:linear-gradient(#f0cf78,#9f772d); }
.rating-comment-toolbar { position:sticky; z-index:2; top:0; display:flex; justify-content:space-between; padding:13px 20px; border-bottom:1px solid rgba(217,186,114,.1); background:rgba(7,17,29,.96); backdrop-filter:blur(10px); }.rating-comment-toolbar strong { color:#efd17e; }.rating-comment-toolbar span { color:var(--muted); font-size:9px; }
.rating-comment-list { display:grid; gap:9px; padding:11px 20px 0; }.rating-comment { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:18px; padding:14px 16px; border:1px solid rgba(217,186,114,.16); border-radius:6px; background:linear-gradient(110deg,rgba(217,186,114,.045),rgba(4,10,18,.6) 42%); }.rating-comment>header { grid-column:1/-1; display:flex; align-items:center; gap:11px; min-height:36px; }.rating-comment>header>strong { color:var(--gold-bright); font-size:15px; }.rating-comment-score { --rating-score-color:#f4f6f8; display:inline-flex!important; align-items:baseline; gap:2px; min-width:47px; padding:3px 8px!important; border:1px solid color-mix(in srgb,var(--rating-score-color) 52%,transparent)!important; border-radius:7px!important; color:var(--rating-score-color)!important; background:linear-gradient(135deg,color-mix(in srgb,var(--rating-score-color) 17%,transparent),rgba(3,9,16,.78))!important; box-shadow:0 0 13px color-mix(in srgb,var(--rating-score-color) 14%,transparent); }.rating-comment-score b { font-size:25px; line-height:1; text-shadow:0 0 11px color-mix(in srgb,var(--rating-score-color) 28%,transparent); }.rating-comment-score i { font-size:10px; font-style:normal; font-weight:900; }.rating-comment-score em { color:#74869a; font-size:10px; font-style:normal; }.rating-comment time { margin-left:auto; color:#718397; font-size:10px; }.rating-comment>p { min-width:0; margin:11px 0; color:#d9e0e7; font-size:15px; line-height:1.65; overflow-wrap:anywhere; }.rating-comment>footer { display:flex; align-self:center; gap:15px; }.rating-comment>footer button { padding:3px 0; border:0; color:var(--muted); background:none; font-size:11px; cursor:pointer; }.rating-comment>footer button:hover,.rating-comment>footer button.liked { color:#ff7188; }.rating-comment-reply { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:16px; margin-top:9px; padding:10px 12px; border-left:2px solid rgba(217,186,114,.55); color:#b8c3cf; background:rgba(217,186,114,.055); font-size:12px; }.rating-comment-reply>div { grid-column:1/-1; display:flex; align-items:center; gap:8px; }.rating-comment-reply strong { color:var(--gold); font-size:13px; }.rating-comment-reply>div>span:last-child { color:#93a3b3; font-size:12px; }.rating-comment-reply>p { min-width:0; margin:8px 0 0; color:#c6cfd8; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }.rating-comment-reply>footer { display:flex; align-self:center; gap:13px; }.rating-comment-reply>footer button { padding:2px 0; border:0; color:var(--muted); background:none; font-size:10px; cursor:pointer; }.rating-comment-reply-score { min-width:38px; padding:2px 6px!important; border-radius:5px!important; }.rating-comment-reply-score b { font-size:18px; }.rating-comment-reply-score i { font-size:8px; }.rating-comment-new { animation:rating-comment-in .3s ease; }@keyframes rating-comment-in{from{opacity:0;transform:translateY(-8px)}}
.rating-load-more { display:block; width:calc(100% - 40px); margin:12px 20px 18px; color:var(--gold); border-color:rgba(217,186,114,.25); }
.rating-comment-compose { position:relative; padding:13px 20px 14px; border-top:1px solid rgba(217,186,114,.34); background:linear-gradient(0deg,rgba(217,186,114,.045),transparent),#08131f; box-shadow:0 -12px 30px rgba(0,0,0,.2); }.rating-comment-compose::before { content:"发表我的看法"; display:block; margin-bottom:8px; color:#e9cb79; font-size:10px; font-weight:900; letter-spacing:.08em; }.rating-comment-compose textarea { width:100%; min-height:62px; max-height:92px; resize:none; padding:11px 12px; border:1px solid rgba(217,186,114,.25); border-radius:7px; outline:none; color:var(--text); background:#040c15; font:inherit; }.rating-comment-compose textarea:focus { border-color:var(--gold); box-shadow:0 0 0 2px rgba(217,186,114,.07); }.rating-comment-compose>div { display:flex; justify-content:space-between; align-items:center; margin-top:7px; }.rating-comment-compose span { color:var(--muted); font-size:10px; }

.rating-pie-popover { position:fixed; inset:0; z-index:90; display:grid; grid-template-columns:190px 260px; place-content:center; gap:25px; padding:70px; background:rgba(0,4,9,.75); backdrop-filter:blur(7px); }
.rating-pie-popover>button { position:absolute; top:calc(50% - 150px); left:calc(50% + 220px); }
.rating-pie-chart { position:relative; width:190px; height:190px; border-radius:50%; box-shadow:0 0 30px rgba(0,0,0,.45); }.rating-pie-chart::after { content:""; position:absolute; inset:30px; border-radius:50%; background:#091421; box-shadow:inset 0 0 20px rgba(0,0,0,.45); }.rating-pie-chart>span { position:absolute; inset:0; z-index:2; display:grid; place-content:center; justify-items:center; }.rating-pie-chart strong { color:var(--gold-bright); font-size:34px; }.rating-pie-chart small { color:var(--muted); font-size:9px; }
.rating-pie-legend { align-self:center; display:grid; gap:7px; }.rating-pie-legend div { display:grid; grid-template-columns:10px 1fr auto auto; align-items:center; gap:8px; padding:8px 10px; border:1px solid var(--line); background:rgba(8,18,31,.88); }.rating-pie-legend i { width:8px; height:8px; border-radius:50%; }.rating-pie-legend .pie-tone-0{background:#f3f5f7}.rating-pie-legend .pie-tone-1{background:#46de91}.rating-pie-legend .pie-tone-2{background:#42b8ff}.rating-pie-legend .pie-tone-3{background:#b77cff}.rating-pie-legend .pie-tone-4{background:#ff5d73}.rating-pie-legend .pie-tone-5{background:#ffd46d}.rating-pie-legend span{font-size:10px}.rating-pie-legend strong{font-size:12px}.rating-pie-legend small{color:var(--muted);font-size:9px}

@media (max-width: 1180px) {
  .rating-layout { grid-template-columns:210px minmax(0,1fr); }
  .rating-player-main { grid-template-columns:44px minmax(92px,.65fr) minmax(145px,1fr) auto; }.rating-player-main>img{width:44px;height:44px}.rating-average b{font-size:23px}
}
@media (max-width: 900px) {
  #ratings-page { width:min(100% - 20px,720px); padding-top:62px; }
  #ratings-page .section-head { display:grid; grid-template-columns:auto 1fr; align-items:center; }
  #ratings-page .rating-section-head>.rating-head-actions { grid-column:1/-1; width:100%; justify-content:stretch; }
  .rating-search { width:100%; }.rating-refresh-btn{flex:0 0 112px}
  .rating-layout { display:block; }.rating-rail { position:static; height:auto; margin-bottom:9px; overflow:visible; }.rating-series-list { display:flex; overflow-x:auto; }.rating-series-item{min-width:250px}.rating-event-summary{justify-content:flex-start}
  .rating-stage-head { align-items:flex-start; padding:15px; }.rating-stage-head h2{font-size:16px}
  .rating-series-strip{grid-template-columns:180px minmax(0,1fr)}.rating-series-averages{grid-template-columns:minmax(0,1fr);gap:6px;padding-inline:9px}.rating-game-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:8px}
  .rating-game-panel{padding:9px}.rating-game-intro{display:flex}.rating-game-intro-actions{align-items:flex-end;flex-direction:column;gap:6px}
  .rating-matchup { display:flex; flex-direction:column; gap:6px; }.rating-player-card.rating-red{order:2}
  .rating-player-main { grid-template-columns:52px minmax(0,1fr) auto; }.rating-player-main>img{width:52px;height:52px}.rating-player-main>.rating-score-axis{grid-column:2/4}.rating-bp-card>header{grid-template-columns:1fr auto}.rating-bp-card>header>.rating-score-axis{grid-column:1/-1;grid-row:2}
  .rating-bp-section>div { grid-template-columns:1fr; }
  .rating-autosave-bar { margin:10px -9px -9px; }
  .rating-pie-popover { grid-template-columns:1fr; justify-items:center; gap:14px; padding:30px; }.rating-pie-popover>button{top:20px;right:20px;left:auto}.rating-pie-legend{width:min(300px,100%)}
}
@media (max-width: 640px) {
  .rating-mobile-team-tabs { position:sticky; z-index:6; top:0; display:grid; grid-template-columns:1fr 1fr; gap:5px; margin:0 0 9px; padding:5px; border:1px solid rgba(217,186,114,.17); border-radius:7px; background:rgba(4,11,19,.96); backdrop-filter:blur(12px); }
  .rating-mobile-team-tabs button { position:relative; min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:4px 7px; padding:9px 10px; border:1px solid transparent; border-radius:5px; color:#8594a5; background:rgba(255,255,255,.025); cursor:pointer; text-align:left; }
  .rating-mobile-team-tabs button span { grid-column:1/-1; font-size:7px; letter-spacing:.06em; }.rating-mobile-team-tabs button strong{min-width:0;overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.rating-mobile-team-tabs button i{display:grid;place-items:center;width:19px;height:19px;border:1px solid currentColor;border-radius:50%;font-size:9px;font-style:normal}
  .rating-mobile-team-tabs button.blue.active { border-color:rgba(61,181,255,.68); color:#77cdff; background:linear-gradient(135deg,rgba(39,168,255,.18),rgba(5,13,22,.9)); box-shadow:0 0 15px rgba(39,168,255,.12); }
  .rating-mobile-team-tabs button.red.active { border-color:rgba(255,87,114,.62); color:#ff8498; background:linear-gradient(225deg,rgba(255,73,103,.16),rgba(5,13,22,.9)); box-shadow:0 0 15px rgba(255,73,103,.1); }
  .rating-matchups[data-rating-mobile-side="blue"] .rating-player-card.rating-red,.rating-bp-section>div[data-rating-mobile-side="blue"]>.rating-bp-card.rating-red,.rating-matchups[data-rating-mobile-side="red"] .rating-player-card.rating-blue,.rating-bp-section>div[data-rating-mobile-side="red"]>.rating-bp-card.rating-blue { display:none; }
  .rating-matchup { min-width:0; }
  .rating-player-card .rating-average { position:absolute; z-index:4; top:9px; right:10px; min-width:52px; padding:0; }
  .rating-player-card.rating-winner .rating-average { right:39px; padding-right:0; }
  .rating-player-card .rating-player-copy { padding-right:58px; }
  .rating-player-card.rating-winner .rating-player-copy { padding-right:87px; }
  .rating-player-card .rating-average em { max-width:62px; overflow:hidden; font-size:7px; text-overflow:ellipsis; white-space:nowrap; }
  .rating-player-card .rating-average b { font-size:23px; }
  .rating-player-card .rating-average span { font-size:7px; }
  .rating-hot-comment { gap:7px; background:none; }
  .rating-hot-comment-open { border:1px solid rgba(217,186,114,.11); border-radius:4px; background:rgba(255,255,255,.025); }
  .rating-hot-comment-like { min-width:63px; display:grid; grid-template-columns:auto auto; gap:0 4px; padding:4px 8px; border:1px solid rgba(255,91,119,.32); border-radius:4px; background:rgba(255,69,104,.07); }
  .rating-hot-comment-like span { justify-self:end; }.rating-hot-comment-like b{justify-self:start;font-size:11px}.rating-hot-comment-like small{grid-column:1/-1;display:block;color:#ba7180;font-size:7px;line-height:1.1;text-align:center}
  .rating-hot-comment-like.liked { border-color:rgba(255,69,104,.72); }
}
@media (max-width: 520px) {
  .event-page-credit { top:9px; min-width:145px; padding-inline:13px; }
  #ratings-page .section-head { grid-template-columns:1fr; }.rating-section-head>.back-btn{justify-self:start}.rating-section-head .event-title-lockup{align-items:flex-start}.rating-live-note{display:none}.rating-head-actions{display:grid!important;grid-template-columns:1fr auto}
  .rating-stage-head { display:block; }.rating-series-strip{grid-template-columns:1fr}.rating-game-tabs{order:2;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:7px 9px;border-top:1px solid rgba(217,186,114,.12);border-bottom:0}.rating-game-tabs button{padding:6px 4px;text-align:center}.rating-game-tabs button span{display:none}.rating-series-averages{order:1;grid-template-columns:minmax(0,1fr);gap:5px;padding:8px 9px;border-left:0}.rating-series-averages>header{gap:3px}.rating-series-averages>header strong{font-size:11px;line-height:1.35}.rating-series-average-row{grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);gap:3px;min-height:23px}.rating-series-average-player{gap:4px;padding:3px 4px}.rating-series-average-player span{font-size:8px}.rating-series-average-player strong{min-width:25px;font-size:12px}.rating-series-average-row>b{font-size:8px}
  .rating-player-card { padding:9px; }.rating-player-copy h3{font-size:13px}.rating-average b{font-size:22px}
  .rating-number-row { gap:3px; }.rating-number{font-size:8px}
  .rating-hot-comment p { font-size:8px; }
  .rating-bp-icons img { width:24px; height:24px; }
  .rating-autosave-status { max-width:240px; line-height:1.4; text-align:center; }
  .rating-modal { padding:8px; }.rating-modal-card{width:100%;height:calc(100vh - 16px)}.rating-comment-hero{min-height:164px}.rating-comment-hero-copy{left:14px;right:51px;bottom:14px}.rating-comment-hero-copy h2{gap:7px;margin-bottom:10px;font-size:23px}.rating-comment-hero-copy h2>span:first-child{font-size:17px}.rating-comment-hero-meta{gap:5px;flex-wrap:wrap}.rating-comment-hero-meta>span,.rating-comment-hero-meta>strong{min-height:27px;padding-inline:7px;font-size:9px}#rating-comments-average{position:absolute;right:0;bottom:0;min-width:72px;min-height:34px;padding:3px 7px;transform:translateY(1px)}#rating-comments-average b{font-size:19px}#rating-comments-average span{font-size:7px}.rating-comment-hero-meta{padding-right:78px}.rating-comment-compose,.rating-comment-toolbar,.rating-comment-list{padding-left:13px;padding-right:13px}.rating-comment-toolbar{align-items:center}.rating-comment-toolbar span{max-width:155px;text-align:right;line-height:1.35}.rating-load-more{width:calc(100% - 26px);margin-left:13px;margin-right:13px}.rating-comment-compose textarea{min-height:56px}
}
