/* HH_PRODUCTION_PRESET_RANK_V1 */
:root {
  --display-arena: #050d14;
  --display-navy: #081722;
  --display-panel: #0d2230;
  --display-raised: #122d3d;
  --display-blue: #2f7cf6;
  --display-cyan: #55d6e8;
  --display-gold: #f2c94c;
  --display-silver: #b8c6cc;
  --display-bronze: #c4825a;
  --display-white: #f5f8fa;
  --display-muted: #a9bcc5;
  --display-line: rgba(143, 170, 190, 0.24);
  --display-oxblood: #7e2431;
  --display-body: "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif;
  --display-data: Bahnschrift, "Arial Narrow", Arial, sans-serif;
}

.ranking-display,
.ranking-display *,
.display-toolbar,
.display-toolbar * { box-sizing: border-box; }

.local-display-root {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  inset: 0;
  z-index: 100;
  min-width: 0;
  overflow: hidden;
  background: #000;
  color: #f5f8fa;
}

/* The renderer fits this fixed 16:9 canvas into the available viewport. */
.ranking-display {
  position: absolute;
  top: 0;
  left: 0;
  display: grid;
  width: 1920px;
  height: 1080px;
  min-height: 0;
  -webkit-transform-origin: 0 0;
  transform-origin: 0 0;
  grid-template-rows: 116px minmax(0, 1fr) 26px;
  gap: 20px;
  overflow: hidden;
  padding: 28px 44px 24px;
  background:
    linear-gradient(90deg, rgba(2, 8, 15, 0.20), rgba(2, 8, 15, 0.48) 32%, rgba(2, 8, 15, 0.20)),
    url("/ranking?asset=displayBackdrop") center / cover no-repeat,
    #050d14;
  color: #f5f8fa;
  font-family: var(--display-body);
}

.ranking-display::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  pointer-events: none;
  box-shadow: inset 0 0 150px rgba(0, 0, 0, 0.56);
}

.display-header,
.ranking-main,
.ranking-columns { position: relative; z-index: 1; }

.display-header {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1.25fr 1fr;
  align-items: center;
  gap: 20px;
  min-width: 0;
  min-height: 116px;
  border-bottom: 1px solid rgba(162, 182, 197, 0.34);
  padding: 12px 24px;
  background: rgba(2, 10, 18, 0.84);
}

.display-header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 1px;
  background: linear-gradient(90deg, #7e2431 0 30%, #2f7cf6 30% 100%);
}

.display-identity { display: flex; min-width: 0; align-items: center; gap: 16px; }
.display-header > * { max-width: 100%; }
.display-identity-copy,
.display-title-block,
.display-time-block { min-width: 0; }

.display-logo {
  width: 68px;
  height: 68px;
  flex: 0 0 auto;
  object-fit: contain;
}

.display-brand-label,
.display-event-label,
.display-time-label {
  display: block;
  color: #8ba1b1;
  font-family: var(--display-data);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  line-height: 1.3;
  text-transform: uppercase;
}

.display-event-label { margin-bottom: 7px; color: #78b9e3; text-align: center; }
.display-time-label { margin-bottom: 7px; text-align: right; }

.display-store-name,
.display-time,
.display-board-name {
  min-width: 0;
  word-break: break-all;
  overflow-wrap: anywhere;
}

.display-store-name {
  margin: 7px 0 0;
  color: #f5f8fa;
  font-size: 21px;
  font-weight: 750;
  line-height: 1.25;
}

.display-board-name {
  margin: 0;
  color: #f5f8fa;
  font-size: 52px;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 1;
  text-align: center;
  text-wrap: balance;
}

.display-time-block { position: relative; justify-self: end; padding-left: 70px; }
.display-time-block::before {
  content: "LIVE";
  position: absolute;
  top: 50%;
  left: 0;
  padding: 7px 11px;
  background: #7e2431;
  color: #fff;
  font: 800 11px var(--display-data);
  letter-spacing: 0.12em;
  transform: translateY(-50%);
}

.display-time {
  margin: 0;
  color: #f5f8fa;
  font-family: var(--display-data);
  font-size: 21px;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.25;
  text-align: right;
}

.display-board-name.length-long { font-size: 42px; }
.display-board-name.length-maximum { font-size: 34px; }
.display-store-name.length-long,
.display-time.length-long { font-size: 18px; }
.display-store-name.length-maximum,
.display-time.length-maximum { font-size: 16px; }

/* Board descriptions occupy the space between the centered title and event time. */
.display-match-description {
  margin: 0;
  color: inherit;
  font-family: var(--display-body);
  font-size: 26px;
  font-weight: 600;
  line-height: 32px;
  word-break: break-all;
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}
.display-header > .display-match-description {
  position: absolute;
  top: 50%;
  left: calc(50% + 160px);
  right: 294px;
  max-height: 76px;
  transform: translateY(-50%);
}
.display-header.has-match-description .display-title-block { width: 300px; justify-self: center; }
.display-header.has-match-description .display-board-name,
.display-header.has-match-description .display-time { white-space: normal; }
.display-header.has-match-description .display-board-name.description-title-long { font-size: 28px; line-height: 1.12; }
.display-header.has-match-description .display-board-name.length-long,
.display-header.has-match-description .display-board-name.length-maximum { font-size: 20px; }
.display-header.has-match-description .display-time-block { width: 252px; }
.display-header.has-match-description .display-time.description-time-long { font-size: 16px; line-height: 1.2; }
.display-header.has-match-description .display-time.length-long { font-size: 14px; }
.display-header.has-match-description .display-time.length-maximum { font-size: 13px; }

.display-board-name.length-long,
.display-board-name.length-maximum,
.display-store-name.length-long,
.display-store-name.length-maximum,
.display-time.length-long,
.display-time.length-maximum,
.ranking-username.length-long,
.ranking-username.length-maximum {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ranking-main {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 0;
  grid-template-columns: 505px 1fr;
  grid-template-columns: 505px minmax(0, 1fr);
  gap: 56px;
}

.ranking-champion {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-top: 1px solid rgba(217, 184, 103, 0.62);
  border-bottom: 1px solid rgba(217, 184, 103, 0.38);
  background: linear-gradient(180deg, rgba(7, 21, 36, 0.28), rgba(5, 15, 26, 0.92));
  text-align: center;
}

.ranking-champion::before {
  content: "";
  position: absolute;
  top: 0;
  width: 44%;
  height: 1px;
  background: #d9b867;
}

.champion-label { color: #d8c38e; font-size: 15px; font-weight: 750; letter-spacing: 0.18em; }
.ranking-champion .rank-badge {
  display: block;
  width: auto;
  height: auto;
  margin-top: 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #d9b867;
  font: 850 88px/1 var(--display-data);
  letter-spacing: -0.03em;
}

.champion-emblem {
  display: grid;
  flex: 0 0 auto;
  width: 124px;
  height: 124px;
  margin: 18px 0 24px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(217, 184, 103, 0.74);
  border-radius: 50%;
  color: #e6d49d;
  font: 400 62px Georgia, serif;
}

.ranking-username {
  min-width: 0;
  word-break: break-all;
  overflow-wrap: anywhere;
  color: #f5f8fa;
  font-size: 27px;
  font-weight: 750;
  letter-spacing: -0.015em;
  line-height: 1.12;
}

.ranking-champion .ranking-username {
  width: 88%;
  font-size: 54px;
  font-weight: 800;
  letter-spacing: -0.025em;
}

.ranking-username.length-long { font-size: 24px; }
.ranking-username.length-maximum { font-size: 21px; }
.ranking-champion .ranking-username.length-long { font-size: 31px; }
.ranking-champion .ranking-username.length-maximum { font-size: 23px; }

.champion-points-wrap { display: flex; align-items: baseline; justify-content: center; gap: 8px; margin-top: 16px; }
.ranking-points {
  min-width: 0;
  color: #f5f8fa;
  font-family: var(--display-data);
  font-size: 34px;
  font-variant-numeric: tabular-nums;
  font-weight: 850;
  letter-spacing: -0.02em;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}

.ranking-champion .ranking-points { color: #d9b867; font-size: 46px; }
.champion-points-unit { color: #b3a073; font-size: 14px; font-weight: 700; }
.champion-note {
  margin: 30px 0 0;
  border-top: 1px solid rgba(217, 184, 103, 0.48);
  padding-top: 17px;
  color: #91a4b3;
  font-size: 14px;
  letter-spacing: 0.07em;
}

.ranking-columns {
  display: grid;
  width: 100%;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  gap: 18px;
}

.columns-single { grid-template-columns: 1fr; }
.columns-double { grid-template-columns: repeat(2, 1fr); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ranking-rail {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: 38px minmax(0, 1fr);
  overflow: hidden;
  border-top: 1px solid rgba(97, 148, 183, 0.56);
  border-bottom: 1px solid rgba(97, 148, 183, 0.30);
  background: rgba(3, 13, 23, 0.84);
}

.ranking-table-head,
.ranking-row {
  display: flex;
  align-items: center;
  padding: 0 22px;
}

.ranking-table-head { color: #7893a7; font-size: 11px; font-weight: 750; letter-spacing: 0.15em; }
.ranking-head-rank,
.ranking-row > .rank-badge {
  flex: 0 0 92px;
}
.ranking-head-player,
.ranking-row > .ranking-username {
  min-width: 0;
  flex: 1 1 auto;
  margin: 0 12px;
  overflow: hidden;
  overflow-wrap: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-break: normal;
}
.ranking-head-points,
.ranking-row > .ranking-points {
  flex: 0 0 160px;
}
.ranking-head-rank { text-align: left; }
.ranking-head-points { text-align: right; }
.columns-double .ranking-table-head,
.columns-double .ranking-row { padding-right: 14px; padding-left: 14px; }
.columns-double .ranking-head-rank,
.columns-double .ranking-row > .rank-badge { flex-basis: 52px; }
.columns-double .ranking-head-player,
.columns-double .ranking-row > .ranking-username { margin-right: 8px; margin-left: 8px; }
.columns-double .ranking-head-points,
.columns-double .ranking-row > .ranking-points { flex-basis: 112px; }
.ranking-column {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-auto-rows: minmax(40px, 1fr);
  align-content: stretch;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ranking-row {
  position: relative;
  min-width: 0;
  min-height: 40px;
  border-top: 1px solid rgba(143, 170, 190, 0.24);
  padding-block: 4px;
  background: rgba(4, 16, 28, 0.74);
}

.ranking-row:nth-child(even) { background: rgba(18, 47, 70, 0.42); }
.ranking-row.rank-first { background: rgba(94, 74, 29, 0.28); }
.ranking-row.rank-second { background: rgba(87, 107, 120, 0.24); }
.ranking-row.rank-third { background: rgba(102, 60, 43, 0.25); }
.ranking-row .rank-badge {
  display: inline-flex;
  width: auto;
  height: auto;
  align-items: center;
  justify-content: flex-start;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #91a9ba;
  font: 800 27px/1 var(--display-data);
}

.ranking-row.rank-first .rank-badge { color: #d9b867; }
.ranking-row.rank-second .rank-badge { color: #c8d1d6; }
.ranking-row.rank-third .rank-badge { color: #c48a64; }
.ranking-row.rank-first .ranking-points { color: #d9b867; }
.ranking-row.rank-second .ranking-points { color: #d8e0e4; }
.ranking-row.rank-third .ranking-points { color: #d69b78; }
.ranking-points.digits-7 { font-size: 32px; }
.ranking-points.digits-8 { font-size: 29px; }
.ranking-points.digits-9 { font-size: 25px; }
.ranking-champion .ranking-points.digits-7 { font-size: 42px; }
.ranking-champion .ranking-points.digits-8 { font-size: 38px; }
.ranking-champion .ranking-points.digits-9 { font-size: 34px; }

.ranking-empty {
  grid-column: 1 / -1;
  align-self: center;
  margin: 0;
  border-top: 1px solid #294453;
  border-bottom: 1px solid #294453;
  padding: 48px 16px;
  color: #a9bcc5;
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
}

.full-width-empty { width: 100%; }
.display-footer {
  position: relative;
  z-index: 1;
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(146, 167, 181, 0.22);
  color: #7893a7;
  font-size: 11px;
  letter-spacing: 0.1em;
}
.display-player-count { color: #eef3f5; }
.display-page-state { color: #b8d5e7; font-weight: 700; }
.ranking-name-window { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ranking-person { display: flex; align-items: center; min-width: 0; width: 100%; }
.ranking-person-copy { display: block; flex: 1 1 auto; min-width: 0; }
.ranking-avatar {
  position: relative;
  display: inline-block;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  overflow: hidden;
  border-radius: 50%;
  background: #dce5ec;
  color: #31495e;
  font: 700 20px/40px sans-serif;
  text-align: center;
  text-shadow: none;
  letter-spacing: 0;
}
.ranking-avatar-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.ranking-avatar-image[hidden], .ranking-avatar-fallback[hidden] { display: none; }
.ranking-champion .champion-emblem .ranking-avatar { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0; font-size: 62px; line-height: 1; }
.parallel-board .ranking-avatar, .cumulative-row .ranking-avatar { flex-basis: 32px; width: 32px; height: 32px; margin-right: 8px; font-size: 17px; line-height: 32px; }
.ranking-tier-label { display: block; font-size: 17px; line-height: 1.3; font-weight: 500; opacity: .78; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ranking-champion > .ranking-tier-label { margin-top: 8px; font-size: 22px; }
.parallel-board .rank-system-champion > .ranking-tier-label { position: absolute; top: 107px; left: 180px; right: 14px; margin: 0; font-size: 18px; }
.parallel-board .rank-system-champion .champion-points-wrap { bottom: 12px; }
.ranking-name-text { position: relative; display: inline-block; white-space: nowrap; }
.ranking-name-window.name-overflow { text-overflow: clip; }
.name-overflow .ranking-name-text {
  -webkit-animation: ranking-name-pan 10s linear infinite alternate;
  animation: ranking-name-pan 10s linear infinite alternate;
}
@-webkit-keyframes ranking-name-pan {
  0%, 12% { left: 0; -webkit-transform: translateX(0); }
  88%, 100% { left: 100%; -webkit-transform: translateX(-100%); }
}
@keyframes ranking-name-pan {
  0%, 12% { left: 0; transform: translateX(0); }
  88%, 100% { left: 100%; transform: translateX(-100%); }
}
.display-sync-state { position: relative; padding-left: 16px; }
.display-sync-state::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #59bfa8;
  transform: translateY(-50%);
}

.ranking-display.theme-light {
  background:
    radial-gradient(circle at 14% 52%, rgba(22, 93, 204, 0.12), transparent 28%),
    radial-gradient(circle at 88% 10%, rgba(22, 93, 204, 0.08), transparent 34%),
    linear-gradient(90deg, #e9f0f9 0 7%, #f4f7fb 7% 28%, #e6eef8 28% 30%, #f4f7fb 30% 100%);
  color: #10243a;
}

.ranking-display.theme-light::after { box-shadow: inset 0 0 90px rgba(22, 93, 204, 0.08); }

.theme-light .display-header {
  border-bottom-color: rgba(22, 93, 204, 0.24);
  background: rgba(255, 255, 255, 0.94);
}

.theme-light .display-header::after { background: #165dcc; }

.theme-light .display-brand-label,
.theme-light .display-event-label,
.theme-light .display-time-label { color: #165dcc; }

.theme-light .display-store-name,
.theme-light .display-board-name,
.theme-light .display-time { color: #10243a; }

.theme-light .display-time-block::before { background: #a6243b; }

.theme-light .ranking-champion {
  border-top-color: rgba(201, 149, 43, 0.68);
  border-bottom-color: rgba(201, 149, 43, 0.36);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 244, 251, 0.95));
}

.theme-light .ranking-champion::before { background: #c9952b; }
.theme-light .champion-label { color: #8b691f; }
.theme-light .ranking-champion .rank-badge,
.theme-light .ranking-champion .ranking-points { color: #c9952b; }
.theme-light .champion-emblem {
  border-color: rgba(201, 149, 43, 0.70);
  color: #9b731f;
}
.theme-light .ranking-username { color: #10243a; }
.theme-light .champion-points-unit { color: #806a38; }
.theme-light .champion-note {
  border-top-color: rgba(201, 149, 43, 0.42);
  color: #58708b;
}

.theme-light .ranking-rail {
  border-top-color: rgba(22, 93, 204, 0.44);
  border-bottom-color: rgba(22, 93, 204, 0.24);
  background: #ffffff;
}

.theme-light .ranking-table-head {
  background: #f4f7fb;
  color: #395d86;
}

.theme-light .ranking-row {
  border-top-color: rgba(16, 36, 58, 0.14);
  background: rgba(255, 255, 255, 0.97);
}

.theme-light .ranking-row:nth-child(even) { background: #eef4fb; }
.theme-light .ranking-row.rank-first { background: #fbf5e6; }
.theme-light .ranking-row.rank-second { background: #f1f4f7; }
.theme-light .ranking-row.rank-third { background: #fbf3ed; }
.theme-light .ranking-row .rank-badge { color: #165dcc; }
.theme-light .ranking-row.rank-first .rank-badge,
.theme-light .ranking-row.rank-first .ranking-points { color: #9b731f; }
.theme-light .ranking-row.rank-second .rank-badge,
.theme-light .ranking-row.rank-second .ranking-points { color: #596d7b; }
.theme-light .ranking-row.rank-third .rank-badge,
.theme-light .ranking-row.rank-third .ranking-points { color: #9a6140; }
.theme-light .ranking-points { color: #10243a; }
.theme-light .ranking-empty {
  border-color: rgba(22, 93, 204, 0.26);
  color: #58708b;
}
.theme-light .display-footer {
  border-top-color: rgba(22, 93, 204, 0.18);
  color: #58708b;
}
.theme-light .display-player-count { color: #10243a; }
.theme-light .display-page-state { color: #395d86; }
.theme-light .display-sync-state::before { background: #16866f; }

.display-toolbar {
  position: fixed;
  right: 50%;
  bottom: 16px;
  z-index: 110;
  display: flex;
  max-width: calc(100vw - 24px);
  gap: 8px;
  border: 1px solid #365463;
  border-radius: 8px;
  padding: 6px;
  background: #081722;
  opacity: 0;
  pointer-events: none;
  transform: translateX(50%);
  transition: opacity 160ms ease;
}

/* Test max() without env(): older WebViews defer validation of env() values
   and can discard the earlier pixel fallback at computed-value time. */
@supports (bottom: max(16px, 0px)) {
  .display-toolbar { bottom: max(16px, env(safe-area-inset-bottom)); }
}

.display-toolbar.toolbar-visible { opacity: 1; pointer-events: auto; }
.display-toolbar-button {
  min-height: 44px;
  border: 1px solid #294453;
  border-radius: 5px;
  padding: 0.55rem 0.85rem;
  background: #0d2230;
  color: #f5f8fa;
  font: 650 0.84rem var(--display-body);
  white-space: nowrap;
}
.display-toolbar-button:focus { outline: 3px solid #55d6e8; outline-offset: 3px; }
.display-toolbar-button:focus-visible { outline: 3px solid #55d6e8; outline-offset: 3px; }
.display-toolbar-button + .display-toolbar-button { margin-left: 0; }
.entry-rank-preview { color: #f2c94c; font-weight: 800; text-align: center; }
.entry-row-error { min-height: 1.1rem; margin: 0.3rem 0 0; color: #ff8f8f; font-size: 0.75rem; line-height: 1.35; }
.entry-row[data-invalid="true"] input { border-color: #a85b63; }

@media (prefers-reduced-motion: reduce) {
  .display-toolbar { transition: none !important; }
}

/* Android 5 era WebViews predate CSS Grid. The runtime adds this class when
   assigning display:grid is rejected. Keep this fallback on table/float CSS
   that the old clock application's supported WebViews can render. */
.ranking-display.legacy-tv-layout {
  position: absolute;
  display: block;
  width: 1920px;
  height: 1080px;
  min-height: 0;
  overflow: hidden;
  padding: 16px 22px;
}
.legacy-tv-layout .display-header {
  position: absolute;
  top: 16px;
  right: 22px;
  left: 22px;
  display: table;
  width: calc(100% - 44px);
  height: 86px;
  min-height: 0;
  table-layout: fixed;
  padding: 10px 18px;
}
.legacy-tv-layout .display-identity,
.legacy-tv-layout .display-title-block,
.legacy-tv-layout .display-time-block {
  display: table-cell;
  width: 33.333%;
  vertical-align: middle;
}
.legacy-tv-layout .display-identity { padding-right: 12px; }
.legacy-tv-layout .display-time-block { padding-left: 64px; }
.legacy-tv-layout .display-header.has-match-description { display: block; }
.legacy-tv-layout .display-header.has-match-description .display-identity,
.legacy-tv-layout .display-header.has-match-description .display-title-block,
.legacy-tv-layout .display-header.has-match-description .display-time-block { position: absolute; top: 50%; transform: translateY(-50%); }
.legacy-tv-layout .display-header.has-match-description .display-identity { left: 18px; }
.legacy-tv-layout .display-header.has-match-description .display-title-block { left: 50%; margin-left: -150px; }
.legacy-tv-layout .display-header.has-match-description .display-time-block { right: 18px; }
.legacy-tv-layout .ranking-main {
  position: absolute;
  top: 116px;
  right: 22px;
  bottom: 48px;
  left: 22px;
  display: block;
  width: auto;
  min-width: 0;
  min-height: 0;
}
.legacy-tv-layout .ranking-champion {
  float: left;
  width: 23%;
  height: 100%;
}
.legacy-tv-layout .ranking-columns {
  float: right;
  display: block;
  width: 74%;
  height: 100%;
}
.legacy-tv-layout .ranking-rail {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.legacy-tv-layout .columns-double .ranking-rail {
  float: left;
  width: 49%;
}
.legacy-tv-layout .columns-double .ranking-rail + .ranking-rail { float: right; }
.legacy-tv-layout .ranking-table-head {
  display: table;
  width: 100%;
  height: 38px;
  table-layout: fixed;
  padding: 0 12px;
}
.legacy-tv-layout .ranking-table-head > span,
.legacy-tv-layout .ranking-row > .rank-badge,
.legacy-tv-layout .ranking-row > .ranking-username,
.legacy-tv-layout .ranking-row > .ranking-points {
  display: table-cell;
  vertical-align: middle;
}
.legacy-tv-layout .ranking-head-rank,
.legacy-tv-layout .ranking-row > .rank-badge { width: 18%; }
.legacy-tv-layout .ranking-head-player,
.legacy-tv-layout .ranking-row > .ranking-username { width: 48%; }
.legacy-tv-layout .ranking-head-points,
.legacy-tv-layout .ranking-row > .ranking-points { width: 34%; }
.legacy-tv-layout .ranking-column {
  display: block;
  width: 100%;
  height: calc(100% - 38px);
  table-layout: fixed;
}
.legacy-tv-layout .ranking-row {
  display: table;
  table-layout: fixed;
  width: 100%;
  min-width: 120px;
  height: 40px;
  padding: 0;
}
.legacy-tv-layout .ranking-row > * { padding: 4px 6px; }
.legacy-tv-layout .display-footer {
  position: absolute;
  right: 22px;
  bottom: 14px;
  left: 22px;
  display: block;
  height: 22px;
  line-height: 22px;
}
.legacy-tv-layout .display-player-count { position: absolute; left: 50%; transform: translateX(-50%); }
.legacy-tv-layout .display-sync-state { float: right; }

/* Ten large rows share the same design geometry at every viewport size. */
.ranking-display.paged-display { min-height: 0; }
.paged-display .ranking-main { grid-template-columns: minmax(220px, 25%) minmax(0, 1fr); gap: 24px; }
.paged-display .ranking-column { grid-template-rows: repeat(10, minmax(0, 1fr)); grid-auto-rows: minmax(0, 1fr); }
.paged-display .ranking-row { min-height: 0; }
.paged-display .ranking-head-rank,
.paged-display .ranking-row > .rank-badge { flex-basis: 64px; }
.paged-display .ranking-head-points,
.paged-display .ranking-row > .ranking-points { flex-basis: 180px; }
.paged-display .ranking-row .ranking-username { font-size: 36px; }
.paged-display .ranking-row .ranking-username.length-long { font-size: 30px; }
.paged-display .ranking-row .ranking-username.length-maximum { font-size: 26px; }
.paged-display .ranking-row .rank-badge { font-size: 34px; }
.paged-display .ranking-row .ranking-points { font-size: 42px; }
.paged-display .ranking-row .ranking-points.digits-7 { font-size: 38px; }
.paged-display .ranking-row .ranking-points.digits-8 { font-size: 34px; }
.paged-display .ranking-row .ranking-points.digits-9 { font-size: 30px; }
.paged-display.legacy-tv-layout .ranking-head-rank,
.paged-display.legacy-tv-layout .ranking-row > .rank-badge { width: 10%; }
.paged-display.legacy-tv-layout .ranking-head-player,
.paged-display.legacy-tv-layout .ranking-row > .ranking-username { width: 64%; }
.paged-display.legacy-tv-layout .ranking-head-points,
.paged-display.legacy-tv-layout .ranking-row > .ranking-points { width: 26%; }
.paged-display.legacy-tv-layout .ranking-row { height: 10%; }

/* Optional board-specific champion photo; keep the full photograph visible. */
.champion-label { max-width: 90%; line-height: 1.5; overflow-wrap: break-word; word-break: break-word; }
.champion-photo-fallback[hidden] { display: none; }
.ranking-champion.has-champion-photo { padding: 18px 14px; }
.champion-photo {
  display: block;
  width: 100%;
  height: 432px;
  min-height: 0;
  max-height: 48%;
  flex: 0 1 auto;
  margin: 0 0 18px;
  object-fit: contain;
}
.has-champion-photo .champion-label { flex: 0 0 auto; font-size: 17px; letter-spacing: 0.1em; }
.ranking-champion.has-champion-photo .rank-badge { flex: 0 0 auto; margin-top: 6px; font-size: 54px; }
.has-champion-photo .ranking-username { flex: 0 0 auto; margin-top: 12px; }
.has-champion-photo .champion-points-wrap { flex: 0 0 auto; }
.has-champion-photo .champion-note { flex: 0 0 auto; margin-top: 18px; padding-top: 12px; }

/* Keep the original champion-left layout; cumulative games occupy the right rail. */
.cumulative-display .cumulative-rail { grid-template-rows: 70px minmax(0, 1fr); }
.cumulative-display .cumulative-table-head { font-size: 16px; letter-spacing: 0; }
.cumulative-display .cumulative-table-head,
.cumulative-display .cumulative-row { display: flex; padding: 0 12px; }
.cumulative-display .ranking-head-rank,
.cumulative-display .cumulative-row > .rank-badge { flex: 0 0 4%; }
.cumulative-display .ranking-head-player,
.cumulative-display .cumulative-row > .ranking-username { flex: 1 0 20%; margin: 0; padding: 0 6px; }
.cumulative-display .ranking-head-points,
.cumulative-display .cumulative-row > .ranking-points { flex: 0 0 12%; margin-left: 0; padding-left: 8px; }
.cumulative-display .cumulative-round-heading,
.cumulative-display .cumulative-round-score { flex: 0 0 auto; min-width: 0; padding: 0 4px; text-align: right; }
.cumulative-round-heading { display: block; overflow: hidden; }
.cumulative-round-title { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.4; }
.cumulative-round-date { display: block; overflow: hidden; padding-top: 3px; color: #89a6b9; font: 500 13px/1.2 var(--display-data); white-space: nowrap; }
.cumulative-display .cumulative-row .ranking-username { font-size: 28px; }
.cumulative-display .cumulative-row .ranking-username.length-long { font-size: 26px; }
.cumulative-display .cumulative-row .ranking-username.length-maximum { font-size: 24px; }
.cumulative-display .cumulative-row .ranking-points { font-size: 32px; }
.cumulative-display .cumulative-row .ranking-points.digits-7 { font-size: 30px; }
.cumulative-display .cumulative-row .ranking-points.digits-8 { font-size: 28px; }
.cumulative-display .cumulative-row .ranking-points.digits-9 { font-size: 26px; }
.cumulative-round-score { color: #cedde6; font: 600 26px/1 var(--display-data); font-variant-numeric: tabular-nums; white-space: nowrap; }
.cumulative-round-score.digits-7 { font-size: 25px; }
.cumulative-round-score.digits-8 { font-size: 23px; }
.cumulative-round-score.digits-9 { font-size: 21px; }
.cumulative-many-rounds .cumulative-round-date { font-size: 12px; }
.cumulative-many-rounds .cumulative-round-score { font-size: 22px; }
.cumulative-many-rounds .cumulative-round-score.digits-7 { font-size: 17px; }
.cumulative-many-rounds .cumulative-round-score.digits-8 { font-size: 15px; }
.cumulative-many-rounds .cumulative-round-score.digits-9 { font-size: 13px; }
.cumulative-round-score.score-missing { color: #718a9d; }
.cumulative-display .display-footer { font-size: 14px; letter-spacing: 0; }
.theme-light .cumulative-round-score { color: #39536c; }
.theme-light .cumulative-round-score.score-missing,
.theme-light .cumulative-round-date { color: #668198; }
.cumulative-display.legacy-tv-layout .cumulative-rail { display: block; float: right; width: 74%; height: 100%; }
.cumulative-display.legacy-tv-layout .cumulative-table-head { display: table; height: 70px; padding: 0; }
.cumulative-display.legacy-tv-layout .cumulative-column { display: block; height: calc(100% - 70px); }
.cumulative-display.legacy-tv-layout .cumulative-row { display: table; }
.cumulative-display.legacy-tv-layout .cumulative-table-head > *,
.cumulative-display.legacy-tv-layout .cumulative-row > * { display: table-cell; padding: 5px 4px; vertical-align: middle; }
.cumulative-display.legacy-tv-layout .ranking-head-rank,
.cumulative-display.legacy-tv-layout .cumulative-row > .rank-badge { width: 4%; }
.cumulative-display.legacy-tv-layout .ranking-head-player,
.cumulative-display.legacy-tv-layout .cumulative-row > .ranking-username { width: auto; }
.cumulative-display.legacy-tv-layout .ranking-head-points,
.cumulative-display.legacy-tv-layout .cumulative-row > .ranking-points { width: 12%; }
.cumulative-display.legacy-tv-layout .cumulative-round-heading,
.cumulative-display.legacy-tv-layout .cumulative-round-score { width: auto; }

/* Up to three complete standings share one 1920 × 1080 canvas. Flex and
   positioned rails also work on the older TV WebViews without CSS Grid. */
.ranking-display.parallel-display { display: block; }
.parallel-display > .display-header { display: flex; height: 100px; min-height: 0; }
.parallel-display .display-identity { flex: 1 1 auto; }
.parallel-display .display-title-block { flex: 0 0 auto; margin-left: 32px; }
.parallel-display .display-board-name { font-size: 44px; }
.parallel-display .display-event-label { text-align: right; }
.parallel-boards {
  position: absolute;
  top: 154px;
  right: 44px;
  bottom: 54px;
  left: 44px;
  z-index: 1;
  display: flex;
}
.parallel-board { position: relative; flex: 1 1 0%; min-width: 0; }
.parallel-board + .parallel-board { margin-left: 24px; }
.parallel-board-header { height: 88px; padding: 0 4px; overflow: hidden; }
.parallel-board-name { margin: 0; color: inherit; font-size: 38px; font-weight: 800; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.parallel-board-name.length-long { font-size: 30px; }
.parallel-board-name.length-maximum { font-size: 26px; }
.parallel-board-time { margin: 7px 0 0; color: #a9bcc5; font-size: 19px; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.parallel-board-header.has-match-description { position: relative; padding-right: 354px; }
.parallel-board-header > .display-match-description { position: absolute; top: 4px; right: 4px; width: 330px; max-height: 80px; font-size: 21px; line-height: 30px; }
.parallel-board-header.has-match-description .parallel-board-name { white-space: normal; word-break: break-all; line-height: 1.15; }
.parallel-board-header.has-match-description .parallel-board-name.description-title-long { font-size: 20px; }
.parallel-board-header.has-match-description .parallel-board-name.length-long,
.parallel-board-header.has-match-description .parallel-board-name.length-maximum { font-size: 15px; }
.parallel-board-header.has-match-description .parallel-board-time { font-size: 16px; white-space: normal; word-break: break-all; }
.parallel-board-header.has-match-description .parallel-board-time.description-time-long { font-size: 11px; }
.parallel-board .ranking-main { position: absolute; top: 88px; bottom: 34px; display: block; width: 100%; }
.parallel-board .ranking-champion { position: absolute; top: 0; left: 0; right: 0; height: 202px; display: block; padding: 0; text-align: left; }
.parallel-board .champion-photo,
.parallel-board .champion-emblem {
  position: absolute; top: 20px; left: 14px; width: 146px; height: 160px; max-height: none; margin: 0; object-fit: contain;
}
.parallel-board .champion-emblem { display: block; height: 146px; top: 27px; line-height: 146px; text-align: center; }
.parallel-board .champion-label { position: absolute; top: 16px; left: 180px; right: 50px; max-width: none; font-size: 17px; letter-spacing: 0.08em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.parallel-board .ranking-champion .rank-badge { position: absolute; top: 15px; right: 16px; margin: 0; font-size: 30px; }
.parallel-board .ranking-champion .ranking-username { position: absolute; top: 60px; left: 180px; right: 14px; width: auto; margin: 0; font-size: 36px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.parallel-board .ranking-champion .ranking-username.length-long { font-size: 29px; }
.parallel-board .ranking-champion .ranking-username.length-maximum { font-size: 25px; }
.parallel-board .champion-points-wrap { position: absolute; left: 180px; right: 14px; bottom: 25px; display: flex; justify-content: flex-start; margin: 0; }
.parallel-board .ranking-champion .ranking-points { font-size: 48px; }
.parallel-board .ranking-champion .ranking-points.digits-7 { font-size: 38px; }
.parallel-board .ranking-champion .ranking-points.digits-8 { font-size: 34px; }
.parallel-board .ranking-champion .ranking-points.digits-9 { font-size: 30px; }
.parallel-board .champion-points-unit { margin-left: 6px; font-size: 15px; white-space: nowrap; }
.parallel-board .champion-note { display: none; }
.parallel-board .ranking-columns { position: absolute; top: 218px; bottom: 0; width: 100%; display: block; }
.parallel-board > .ranking-columns { top: 88px; bottom: 34px; }
.parallel-board .ranking-rail { position: relative; display: block; height: 100%; }
.parallel-board .ranking-table-head { height: 34px; padding: 0 12px; font-size: 14px; letter-spacing: 0.02em; }
.parallel-board .ranking-column { position: absolute; top: 34px; bottom: 0; width: 100%; display: flex; flex-direction: column; }
.parallel-board .ranking-row { flex: 0 0 10%; min-height: 0; padding: 0 12px; }
.parallel-board .ranking-head-rank,
.parallel-board .ranking-row > .rank-badge { flex: 0 0 40px; }
.parallel-board .ranking-head-points,
.parallel-board .ranking-row > .ranking-points { flex: 0 0 150px; }
.parallel-board .ranking-head-player,
.parallel-board .ranking-row > .ranking-username { margin: 0 10px; }
.parallel-board .ranking-row .rank-badge { font-size: 26px; }
.parallel-board .ranking-row .ranking-username { font-size: 30px; }
.parallel-board .ranking-row .ranking-username.length-long { font-size: 27px; }
.parallel-board .ranking-row .ranking-username.length-maximum { font-size: 24px; }
.parallel-board .ranking-row .ranking-points { font-size: 34px; }
.parallel-board .ranking-row .ranking-points.digits-7 { font-size: 29px; }
.parallel-board .ranking-row .ranking-points.digits-8 { font-size: 27px; }
.parallel-board .ranking-row .ranking-points.digits-9 { font-size: 25px; }
.parallel-board .display-footer { position: absolute; right: 0; bottom: 0; left: 0; height: 26px; font-size: 13px; letter-spacing: 0; }
.parallel-board .ranking-empty { margin: 0; padding: 48px 12px; font-size: 28px; }
.parallel-group-state { position: absolute; bottom: 23px; left: 44px; right: 44px; color: #a9bcc5; font-size: 16px; text-align: right; }
.theme-light .parallel-board-time,
.theme-light .parallel-group-state { color: #536f85; }

/* Selected canvas themes: appearance only; existing display geometry stays shared. */

@font-face { font-family: "Ranking Work Sans"; src: url("/ranking?asset=displayFeltFont&v=240d125fc9f85613") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
.ranking-display.theme-felt { background: repeating-linear-gradient(0deg, transparent 0, transparent 3px, rgba(229,192,129,.025) 3px, rgba(229,192,129,.025) 4px), repeating-linear-gradient(90deg, transparent 0, transparent 3px, rgba(229,192,129,.025) 3px, rgba(229,192,129,.025) 4px), #062D29; color: #F5EFE0; --display-data: "Ranking Work Sans", "Arial Narrow", Arial, sans-serif; }
.ranking-display.theme-felt::after { box-shadow: none; }
.theme-felt .display-header { background: #092822; border-color: #33574D; }
.theme-felt .display-header::after { background: linear-gradient(90deg, #E5C081 0, #E5C081 20%, #33574D 20%, #33574D 100%); }
.theme-felt .display-brand-label,
.theme-felt .display-event-label,
.theme-felt .display-time-label,
.theme-felt .parallel-board-time,
.theme-felt .parallel-group-state { color: #C2D2CB; }
.theme-felt .display-store-name,
.theme-felt .display-board-name,
.theme-felt .display-time,
.theme-felt .ranking-username,
.theme-felt .ranking-points,
.theme-felt .display-player-count { color: #F5EFE0; }
.theme-felt .display-time-block::before { background: #E5C081; color: #062D29; }
.theme-felt .ranking-champion { background: #0B342D; border-color: #33574D; }
.theme-felt .ranking-champion::before { background: #E5C081; }
.theme-felt .champion-label,
.theme-felt .ranking-champion .rank-badge,
.theme-felt .ranking-champion .ranking-points { color: #E5C081; }
.theme-felt .champion-emblem { border-color: #33574D; background: #0D352F; color: #E5C081; }
.theme-felt .champion-points-unit,
.theme-felt .champion-note { color: #C2D2CB; border-color: #33574D; }
.theme-felt .ranking-rail { background: #0D352F; border-color: #33574D; }
.theme-felt .ranking-table-head { background: #092822; color: #C2D2CB; }
.theme-felt .ranking-row { background: #0D352F; border-color: #33574D; }
.theme-felt .ranking-row:nth-child(even) { background: #153F37; }
.theme-felt .ranking-row .rank-badge { color: #F5EFE0; }
.theme-felt .ranking-row.rank-first .rank-badge,
.theme-felt .ranking-row.rank-first .ranking-points { color: #E5C081; }
.theme-felt .ranking-row.rank-second .rank-badge,
.theme-felt .ranking-row.rank-second .ranking-points { color: #CFD9D1; }
.theme-felt .ranking-row.rank-third .rank-badge,
.theme-felt .ranking-row.rank-third .ranking-points { color: #D8A789; }
.theme-felt .ranking-empty,
.theme-felt .display-footer { color: #C2D2CB; border-color: #33574D; }
.theme-felt .display-page-state,
.theme-felt .cumulative-round-score { color: #F5EFE0; }
.theme-felt .cumulative-round-score.score-missing,
.theme-felt .cumulative-round-date { color: #C2D2CB; }
.theme-felt .display-sync-state::before { background: #E5C081; }
.theme-felt .ranking-points,
.theme-felt .rank-badge,
.theme-felt .display-time,
.theme-felt .display-brand-label,
.theme-felt .display-event-label,
.theme-felt .display-time-label,
.theme-felt .cumulative-round-score,
.theme-felt .cumulative-round-date { font-family: "Ranking Work Sans", "Arial Narrow", Arial, sans-serif; font-variant-numeric: tabular-nums; }

@font-face { font-family: "Ranking Geist Mono"; src: url("/ranking?asset=displayBroadcastFont&v=75c0828d5c1ee44b") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
.ranking-display.theme-broadcast { background: repeating-linear-gradient(0deg, rgba(143,212,230,.28) 0, rgba(143,212,230,.28) 1px, transparent 1px, transparent 32px) left center / 7px 100% no-repeat, repeating-linear-gradient(0deg, rgba(143,212,230,.28) 0, rgba(143,212,230,.28) 1px, transparent 1px, transparent 32px) right center / 7px 100% no-repeat, #061C35; color: #EFF6FD; --display-data: "Ranking Geist Mono", "Arial Narrow", Arial, sans-serif; }
.ranking-display.theme-broadcast::after { box-shadow: none; }
.theme-broadcast .display-header { background: #081A30; border-color: #2C4867; }
.theme-broadcast .display-header::after { background: linear-gradient(90deg, #8FD4E6 0, #8FD4E6 20%, #2C4867 20%, #2C4867 100%); }
.theme-broadcast .display-brand-label,
.theme-broadcast .display-event-label,
.theme-broadcast .display-time-label,
.theme-broadcast .parallel-board-time,
.theme-broadcast .parallel-group-state { color: #BBCDE0; }
.theme-broadcast .display-store-name,
.theme-broadcast .display-board-name,
.theme-broadcast .display-time,
.theme-broadcast .ranking-username,
.theme-broadcast .ranking-points,
.theme-broadcast .display-player-count { color: #EFF6FD; }
.theme-broadcast .display-time-block::before { background: #8FD4E6; color: #061C35; }
.theme-broadcast .ranking-champion { background: #0B2644; border-color: #2C4867; }
.theme-broadcast .ranking-champion::before { background: #8FD4E6; }
.theme-broadcast .champion-label,
.theme-broadcast .ranking-champion .rank-badge,
.theme-broadcast .ranking-champion .ranking-points { color: #8FD4E6; }
.theme-broadcast .champion-emblem { border-color: #2C4867; background: #0B2542; color: #8FD4E6; }
.theme-broadcast .champion-points-unit,
.theme-broadcast .champion-note { color: #BBCDE0; border-color: #2C4867; }
.theme-broadcast .ranking-rail { background: #0B2542; border-color: #2C4867; }
.theme-broadcast .ranking-table-head { background: #081A30; color: #BBCDE0; }
.theme-broadcast .ranking-row { background: #0B2542; border-color: #2C4867; }
.theme-broadcast .ranking-row:nth-child(even) { background: #122F50; }
.theme-broadcast .ranking-row .rank-badge { color: #EFF6FD; }
.theme-broadcast .ranking-row.rank-first .rank-badge,
.theme-broadcast .ranking-row.rank-first .ranking-points { color: #8FD4E6; }
.theme-broadcast .ranking-row.rank-second .rank-badge,
.theme-broadcast .ranking-row.rank-second .ranking-points { color: #CEDCE8; }
.theme-broadcast .ranking-row.rank-third .rank-badge,
.theme-broadcast .ranking-row.rank-third .ranking-points { color: #D6A68D; }
.theme-broadcast .ranking-empty,
.theme-broadcast .display-footer { color: #BBCDE0; border-color: #2C4867; }
.theme-broadcast .display-page-state,
.theme-broadcast .cumulative-round-score { color: #EFF6FD; }
.theme-broadcast .cumulative-round-score.score-missing,
.theme-broadcast .cumulative-round-date { color: #BBCDE0; }
.theme-broadcast .display-sync-state::before { background: #8FD4E6; }
.theme-broadcast .ranking-points,
.theme-broadcast .rank-badge,
.theme-broadcast .display-time,
.theme-broadcast .display-brand-label,
.theme-broadcast .display-event-label,
.theme-broadcast .display-time-label,
.theme-broadcast .cumulative-round-score,
.theme-broadcast .cumulative-round-date { font-family: "Ranking Geist Mono", "Arial Narrow", Arial, sans-serif; font-variant-numeric: tabular-nums; }

@font-face { font-family: "Ranking Outfit"; src: url("/ranking?asset=displayLacquerFont&v=6654b93d21301ec6") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
.ranking-display.theme-lacquer { background: radial-gradient(ellipse at 100% 0, rgba(236,199,139,.055), transparent 56%), radial-gradient(ellipse at 0 100%, rgba(236,199,139,.035), transparent 52%), #250E16; color: #FFF0E3; --display-data: "Ranking Outfit", "Arial Narrow", Arial, sans-serif; }
.ranking-display.theme-lacquer::after { box-shadow: none; }
.theme-lacquer .display-header { background: #2C111B; border-color: #673D46; }
.theme-lacquer .display-header::after { background: linear-gradient(90deg, #ECC78B 0, #ECC78B 20%, #673D46 20%, #673D46 100%); }
.theme-lacquer .display-brand-label,
.theme-lacquer .display-event-label,
.theme-lacquer .display-time-label,
.theme-lacquer .parallel-board-time,
.theme-lacquer .parallel-group-state { color: #DDC0BC; }
.theme-lacquer .display-store-name,
.theme-lacquer .display-board-name,
.theme-lacquer .display-time,
.theme-lacquer .ranking-username,
.theme-lacquer .ranking-points,
.theme-lacquer .display-player-count { color: #FFF0E3; }
.theme-lacquer .display-time-block::before { background: #ECC78B; color: #250E16; }
.theme-lacquer .ranking-champion { background: #351721; border-color: #673D46; }
.theme-lacquer .ranking-champion::before { background: #ECC78B; }
.theme-lacquer .champion-label,
.theme-lacquer .ranking-champion .rank-badge,
.theme-lacquer .ranking-champion .ranking-points { color: #ECC78B; }
.theme-lacquer .champion-emblem { border-color: #673D46; background: #32151F; color: #ECC78B; }
.theme-lacquer .champion-points-unit,
.theme-lacquer .champion-note { color: #DDC0BC; border-color: #673D46; }
.theme-lacquer .ranking-rail { background: #32151F; border-color: #673D46; }
.theme-lacquer .ranking-table-head { background: #2C111B; color: #DDC0BC; }
.theme-lacquer .ranking-row { background: #32151F; border-color: #673D46; }
.theme-lacquer .ranking-row:nth-child(even) { background: #401C27; }
.theme-lacquer .ranking-row .rank-badge { color: #FFF0E3; }
.theme-lacquer .ranking-row.rank-first .rank-badge,
.theme-lacquer .ranking-row.rank-first .ranking-points { color: #ECC78B; }
.theme-lacquer .ranking-row.rank-second .rank-badge,
.theme-lacquer .ranking-row.rank-second .ranking-points { color: #E2D2CB; }
.theme-lacquer .ranking-row.rank-third .rank-badge,
.theme-lacquer .ranking-row.rank-third .ranking-points { color: #DFA687; }
.theme-lacquer .ranking-empty,
.theme-lacquer .display-footer { color: #DDC0BC; border-color: #673D46; }
.theme-lacquer .display-page-state,
.theme-lacquer .cumulative-round-score { color: #FFF0E3; }
.theme-lacquer .cumulative-round-score.score-missing,
.theme-lacquer .cumulative-round-date { color: #DDC0BC; }
.theme-lacquer .display-sync-state::before { background: #ECC78B; }
.theme-lacquer .ranking-points,
.theme-lacquer .rank-badge,
.theme-lacquer .display-time,
.theme-lacquer .display-brand-label,
.theme-lacquer .display-event-label,
.theme-lacquer .display-time-label,
.theme-lacquer .cumulative-round-score,
.theme-lacquer .cumulative-round-date { font-family: "Ranking Outfit", "Arial Narrow", Arial, sans-serif; font-variant-numeric: tabular-nums; }

.theme-felt.paged-display .ranking-row .ranking-points.digits-7 { font-size: 36px; }
.theme-felt.paged-display .ranking-row .ranking-points.digits-8 { font-size: 31px; }
.theme-felt.paged-display .ranking-row .ranking-points.digits-9 { font-size: 28px; }
.theme-felt .parallel-board .ranking-row .ranking-points.digits-8 { font-size: 26px; }
.theme-broadcast.paged-display .ranking-row .ranking-points.digits-7 { font-size: 32px; }
.theme-broadcast.paged-display .ranking-row .ranking-points.digits-8 { font-size: 29px; }
.theme-broadcast.paged-display .ranking-row .ranking-points.digits-9 { font-size: 26px; }
.theme-broadcast .parallel-board .ranking-row .ranking-points.digits-7 { font-size: 27px; }
.theme-broadcast .parallel-board .ranking-row .ranking-points.digits-8 { font-size: 24px; }
.theme-broadcast .parallel-board .ranking-row .ranking-points.digits-9 { font-size: 22px; }
.theme-felt.cumulative-display .cumulative-row .ranking-points.digits-7 { font-size: 30px; }
.theme-felt.cumulative-display .cumulative-row .ranking-points.digits-8 { font-size: 28px; }
.theme-felt.cumulative-display .cumulative-row .ranking-points.digits-9 { font-size: 24px; }
.theme-broadcast.cumulative-display .cumulative-row .ranking-points.digits-7 { font-size: 27px; }
.theme-broadcast.cumulative-display .cumulative-row .ranking-points.digits-8 { font-size: 24px; }
.theme-broadcast.cumulative-display .cumulative-row .ranking-points.digits-9 { font-size: 22px; }

/* Board-controlled podium counts use the existing rails and theme colors. */
.ranking-head-podium,
.ranking-podium-count { flex: 0 0 100px; min-width: 0; padding: 0 4px; text-align: center; white-space: nowrap; }
.ranking-head-podium { font-size: 14px; letter-spacing: 0; }
.podium-medal { display: inline-block; width: 24px; height: 30px; vertical-align: middle; }
.podium-count-label .podium-medal { width: 32px; height: 40px; }
.ranking-podium-count { font: 600 26px/1 var(--display-data); font-variant-numeric: tabular-nums; }
.ranking-podium-count.podium-count-long { font-size: 18px; }
.champion-podium-counts { display: flex; flex: 0 0 auto; width: 92%; margin-top: 24px; }
.champion-podium-count { flex: 1 1 0%; min-width: 0; padding: 0 4px; text-align: center; }
.podium-count-label { display: block; height: 40px; line-height: 0; }
.podium-count-label.kill-count-label { font-size: 14px; line-height: 40px; }
.podium-count-value { display: block; margin-top: 5px; font: 700 28px/1.2 var(--display-data); font-variant-numeric: tabular-nums; white-space: nowrap; }
.podium-count-value.podium-count-long { font-size: 18px; }
.has-podium-counts .champion-note { margin-top: 18px; padding-top: 12px; }
.has-podium-counts .champion-photo { max-height: 40%; }

.parallel-board .ranking-head-podium,
.parallel-board .ranking-podium-count { flex-basis: 64px; }
.parallel-board .ranking-head-podium { font-size: 12px; }
.parallel-board .ranking-podium-count { font-size: 20px; }
.parallel-board .ranking-podium-count.podium-count-long { font-size: 11px; }
.parallel-board .has-podium-columns .ranking-head-rank,
.parallel-board .has-podium-columns .ranking-row > .rank-badge { flex-basis: 32px; }
.parallel-board .has-podium-columns .ranking-head-player,
.parallel-board .has-podium-columns .ranking-row > .ranking-username { margin: 0 6px; }
.parallel-board .has-podium-columns .ranking-head-points,
.parallel-board .has-podium-columns .ranking-row > .ranking-points { flex-basis: 120px; }
.parallel-board .has-podium-columns .ranking-row .ranking-points { font-size: 28px; }
.parallel-board .has-podium-columns .ranking-row .ranking-points.digits-7 { font-size: 25px; }
.parallel-board .has-podium-columns .ranking-row .ranking-points.digits-8 { font-size: 22px; }
.parallel-board .has-podium-columns .ranking-row .ranking-points.digits-9 { font-size: 20px; }
.theme-broadcast .parallel-board .has-podium-columns .ranking-row .ranking-points.digits-7 { font-size: 22px; }
.theme-broadcast .parallel-board .has-podium-columns .ranking-row .ranking-points.digits-8 { font-size: 20px; }
.theme-broadcast .parallel-board .has-podium-columns .ranking-row .ranking-points.digits-9 { font-size: 18px; }
.parallel-board .has-podium-counts .ranking-username { top: 50px; font-size: 32px; }
.parallel-board .has-podium-counts .champion-points-wrap { bottom: 64px; }
.parallel-board .has-podium-counts .ranking-points { font-size: 38px; }
.parallel-board .champion-podium-counts { position: absolute; right: 14px; bottom: 12px; left: 180px; width: auto; margin: 0; }
.parallel-board .podium-count-label { height: 24px; }
.parallel-board .podium-count-label.kill-count-label { font-size: 12px; line-height: 24px; }
.parallel-board .podium-medal { width: 20px; height: 24px; }
.parallel-board .podium-count-value { margin-top: 2px; font-size: 20px; }
.parallel-board .podium-count-value.podium-count-long { font-size: 14px; }

.cumulative-display .ranking-head-podium,
.cumulative-display .ranking-podium-count { flex: 0 0 6%; padding: 0 3px; }
.cumulative-display .ranking-head-podium { font-size: 12px; }
.cumulative-display .ranking-podium-count { font-size: 22px; }
.cumulative-display .ranking-podium-count.podium-count-long { font-size: 13px; }
.cumulative-display .has-podium-columns .cumulative-round-date { font-size: 10px; }
.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score { font-size: 17px; }
.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-5 { font-size: 16px; }
.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-6 { font-size: 13px; }
.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-7 { font-size: 11px; }
.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-8 { font-size: 10px; }
.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-9 { font-size: 9px; }
.theme-broadcast.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-5 { font-size: 14px; }
.theme-broadcast.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-6 { font-size: 12px; }
.theme-broadcast.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-7 { font-size: 9px; }
.theme-broadcast.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-8 { font-size: 8px; }
.theme-broadcast.cumulative-display .has-podium-columns.cumulative-many-rounds .cumulative-round-score.digits-9 { font-size: 8px; }

.legacy-tv-layout .ranking-podium-count { display: table-cell; width: 100px; vertical-align: middle; }
.legacy-tv-layout .ranking-head-podium { width: 100px; }
.paged-display.legacy-tv-layout .has-podium-columns .ranking-head-rank,
.paged-display.legacy-tv-layout .has-podium-columns .ranking-row > .rank-badge { width: 64px; }
.paged-display.legacy-tv-layout .has-podium-columns .ranking-head-player,
.paged-display.legacy-tv-layout .has-podium-columns .ranking-row > .ranking-username { width: auto; }
.paged-display.legacy-tv-layout .has-podium-columns .ranking-head-points,
.paged-display.legacy-tv-layout .has-podium-columns .ranking-row > .ranking-points { width: 180px; }
.cumulative-display.legacy-tv-layout .has-podium-columns .ranking-head-rank,
.cumulative-display.legacy-tv-layout .has-podium-columns .ranking-row > .rank-badge { width: 4%; }
.cumulative-display.legacy-tv-layout .has-podium-columns .ranking-head-points,
.cumulative-display.legacy-tv-layout .has-podium-columns .ranking-row > .ranking-points { width: 12%; }
.cumulative-display.legacy-tv-layout .ranking-head-podium,
.cumulative-display.legacy-tv-layout .ranking-podium-count { width: 6%; }

/* One brief sweep when the champion changes; static colors remain the fallback. */
.ranking-row-moving { z-index: 2; will-change: transform; }
.champion-photo-outgoing { position: absolute; z-index: 1; margin: 0; max-width: none; max-height: none; object-fit: contain; pointer-events: none; animation: champion-photo-out 450ms ease-in-out both; }
.champion-photo-incoming { animation: champion-photo-in 450ms ease-in-out both; }
@keyframes champion-photo-out { from { opacity: 1; } to { opacity: 0; } }
@keyframes champion-photo-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .champion-photo-incoming { animation: none; }
  .champion-photo-outgoing { display: none; }
}
.champion-motion-border { position: absolute; top: 0; left: 0; z-index: 2; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.champion-motion-border rect { fill: none; stroke: #efd38b; stroke-width: 3; stroke-dasharray: 18 82; animation: champion-border-travel 2.8s linear 1 both; }
.theme-light .champion-motion-border rect { stroke: #a97820; }
@keyframes champion-border-travel {
  0% { stroke-dashoffset: 0; opacity: 0; }
  12% { opacity: 1; }
  85% { opacity: 1; }
  100% { stroke-dashoffset: -100; opacity: 0; }
}
@supports (-webkit-background-clip: text) {
  .champion-motion > .champion-label,
  .champion-motion > .ranking-username {
    background-image: linear-gradient(115deg, currentColor 35%, #fff1c8 50%, currentColor 65%);
    background-size: 250% 100%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: champion-text-sweep 2.4s ease-in-out 1 both;
  }
  .theme-light .champion-motion > .champion-label,
  .theme-light .champion-motion > .ranking-username { background-image: linear-gradient(115deg, currentColor 35%, #8c5316 50%, currentColor 65%); }
}
@keyframes champion-text-sweep {
  0% { background-position: 180% 0; }
  100% { background-position: -80% 0; }
}
@media (prefers-reduced-motion: reduce) {
  .champion-motion > .champion-label,
  .champion-motion > .ranking-username { animation: none; background-image: none; -webkit-text-fill-color: currentColor; }
  .champion-motion-border { display: none; }
}

/* Rank values remain an owner tool; public score columns show the current tier. */
.ranking-display .ranking-tier-score{font-family:var(--display-body);font-size:24px;font-weight:700;line-height:1.35;letter-spacing:0;white-space:normal;overflow-wrap:anywhere}
.ranking-display .ranking-champion .ranking-tier-score{font-size:30px;text-align:center}
.ranking-display .ranking-row>.ranking-tier-score,.ranking-display .ranking-head-tier{flex:0 0 38%;min-width:0}
.ranking-display .ranking-row>.ranking-tier-score{font-size:24px}
.ranking-display .parallel-board .ranking-champion .ranking-tier-score{text-align:left;font-size:26px}
.ranking-display .parallel-board .ranking-row>.ranking-tier-score{font-size:16px;line-height:1.1}
.ranking-display.legacy-tv-layout .ranking-row>.ranking-tier-score,.ranking-display.legacy-tv-layout .ranking-head-tier{width:38%}
.ranking-display .ranking-tier-name,.ranking-display .ranking-tier-stars{display:block}
.ranking-display .ranking-tier-stars{font-size:.78em;font-weight:500}
.parallel-board .rank-preset-board .ranking-row{position:relative;padding-bottom:18px}
.parallel-board .rank-preset-board .ranking-row .ranking-tier-label{position:absolute;left:54px;right:10px;bottom:1px;font-size:14px;line-height:1.15}
.parallel-board .rank-preset-board .ranking-champion .ranking-username{top:42px;font-size:30px}
.parallel-board .rank-preset-board .ranking-champion .ranking-tier-label{top:86px;font-size:14px;line-height:1.15}

/* Optional shared decoration; the original five themes and ranking geometry remain intact. */
.ranking-effects { --ranking-effect-accent: #e7c67d; --ranking-effect-glow: rgba(231, 198, 125, 0.22); }
.ranking-effects.theme-light { --ranking-effect-accent: #b8852a; --ranking-effect-glow: rgba(184, 133, 42, 0.14); }
.ranking-effects.theme-felt { --ranking-effect-accent: #e5c081; --ranking-effect-glow: rgba(229, 192, 129, 0.22); }
.ranking-effects.theme-broadcast { --ranking-effect-accent: #a8e1ed; --ranking-effect-glow: rgba(168, 225, 237, 0.22); }
.ranking-effects.theme-lacquer { --ranking-effect-accent: #ecc78b; --ranking-effect-glow: rgba(236, 199, 139, 0.22); }
.ranking-effects .effect-crown-host {
  position: relative; width: 232px; height: 156px; margin: 14px 0 20px;
  overflow: visible; border: 0; border-radius: 0; background: transparent;
}
.ranking-effects .effect-crown-host > .ranking-avatar {
  position: absolute; right: 2px; bottom: 1px; z-index: 2;
  width: 48px; height: 48px; margin: 0; border: 1px solid #d9b867;
  border-color: var(--ranking-effect-accent); border-radius: 50%;
  background: #142332; overflow: hidden; font-size: 24px; line-height: 48px;
}
.ranking-effects.theme-light .effect-crown-host > .ranking-avatar { background: #fffaf0; }
.ranking-effects .effect-crown {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  pointer-events: none; line-height: 1;
}
.ranking-effects .effect-crown canvas,
.ranking-effects .effect-crown svg { display: block; width: 100%; height: 100%; }
.ranking-effects .ranking-champion > .effect-crown-small {
  top: 12px; right: 16px; left: auto; z-index: 2; width: 74px; height: 58px;
}
.ranking-effects.parallel-display .ranking-champion > .effect-crown-small {
  top: 8px; right: auto; left: 124px; width: 48px; height: 38px;
}
.ranking-effects .effect-champion-edge {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0;
  z-index: 3; overflow: hidden; pointer-events: none;
  border: 1px solid #d9b867; border-color: var(--ranking-effect-accent);
  opacity: 0.38; box-shadow: inset 0 0 20px var(--ranking-effect-glow);
}
.ranking-effects .effect-champion-edge::after {
  content: ""; position: absolute; top: 0; left: -28%; width: 28%; height: 2px;
  background: linear-gradient(90deg, transparent, #fff8dc, transparent); opacity: 0;
}
.ranking-effects.theme-broadcast .effect-champion-edge::after { background: linear-gradient(90deg, transparent, #efffff, transparent); }
.ranking-effects-active .effect-champion-edge::after { animation: ranking-effect-sweep 8s ease-in-out infinite; }
.ranking-effects-active .effect-page-enter { animation: ranking-effect-enter 520ms ease-out both; }
@keyframes ranking-effect-sweep {
  0%, 25% { transform: translateX(0); opacity: 0; }
  32% { opacity: 1; }
  65% { transform: translateX(460%); opacity: 1; }
  72%, 100% { transform: translateX(460%); opacity: 0; }
}
@keyframes ranking-effect-enter { from { opacity: 0; } to { opacity: 1; } }
/* Clipped edge and surface light preserve the layout of names, points and photos. */
.ranking-effects.theme-nocturne { --ranking-effect-accent: #a8baff; --ranking-effect-glow: rgba(126, 117, 255, .3); --ranking-effect-core: #f0f4ff; --ranking-effect-wash: rgba(139, 156, 255, .08); --ranking-effect-wash-core: rgba(221, 230, 255, .16); }
.ranking-effects.theme-neon { --ranking-effect-core: #e9ffb9; --ranking-effect-wash: rgba(91, 231, 180, .08); --ranking-effect-wash-core: rgba(208, 255, 163, .16); }
.ranking-effects.theme-nocturne .effect-champion-edge,
.ranking-effects.theme-neon .effect-champion-edge { border-radius: inherit; opacity: .76; box-shadow: inset 0 0 24px var(--ranking-effect-glow); background-size: 250% 100%; background-position: 150% 50%; background-repeat: no-repeat; }
.ranking-effects-active.theme-nocturne .effect-champion-edge,
.ranking-effects-active.theme-neon .effect-champion-edge {
  background-image: linear-gradient(110deg, transparent 36%, var(--ranking-effect-wash) 43%, var(--ranking-effect-wash-core) 50%, var(--ranking-effect-wash) 57%, transparent 64%);
  animation: ranking-effect-card-wash 6.8s linear -1.4s infinite;
}
.ranking-effects.theme-nocturne .effect-champion-edge::before,
.ranking-effects.theme-neon .effect-champion-edge::before,
.ranking-effects.theme-nocturne .effect-champion-edge::after,
.ranking-effects.theme-neon .effect-champion-edge::after {
  content: ""; position: absolute; left: -42%; width: 42%; height: 3px; opacity: 0;
  background: linear-gradient(90deg, transparent, var(--ranking-effect-accent) 30%, var(--ranking-effect-core) 50%, var(--ranking-effect-accent) 70%, transparent);
  box-shadow: 0 0 12px var(--ranking-effect-accent);
}
.ranking-effects.theme-nocturne .effect-champion-edge::before,
.ranking-effects.theme-neon .effect-champion-edge::before { top: auto; bottom: 0; }
.ranking-effects-active.theme-nocturne .effect-champion-edge::after,
.ranking-effects-active.theme-neon .effect-champion-edge::after { animation: ranking-effect-flow 5.8s linear infinite; }
.ranking-effects-active.theme-nocturne .effect-champion-edge::before,
.ranking-effects-active.theme-neon .effect-champion-edge::before { animation: ranking-effect-flow 5.8s linear -2.9s infinite reverse; }
.ranking-effects .effect-row-flow {
  position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 2;
  overflow: hidden; border-radius: inherit; pointer-events: none;
}
.ranking-effects .effect-row-flow::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: -48%; width: 48%; opacity: 0;
  background: linear-gradient(110deg, transparent, var(--ranking-effect-wash) 28%, var(--ranking-effect-wash-core) 50%, var(--ranking-effect-wash) 72%, transparent);
}
.ranking-effects .effect-row-flow::after {
  content: ""; position: absolute; bottom: 0; left: -42%; width: 42%; height: 2px; opacity: 0;
  background: linear-gradient(90deg, transparent, var(--ranking-effect-accent), var(--ranking-effect-core), transparent);
  box-shadow: 0 0 9px var(--ranking-effect-glow);
}
.ranking-effects-active .effect-row-flow::after { animation: ranking-effect-flow 6.4s linear infinite; }
.ranking-effects-active .effect-row-flow::before { animation: ranking-effect-row-wash 7.2s linear infinite; }
.ranking-effects-active .ranking-row:nth-child(2n) .effect-row-flow::before,
.ranking-effects-active .ranking-row:nth-child(2n) .effect-row-flow::after { animation-delay: -1.3s; }
.ranking-effects-active .ranking-row:nth-child(3n) .effect-row-flow::before,
.ranking-effects-active .ranking-row:nth-child(3n) .effect-row-flow::after { animation-delay: -2.6s; }
.ranking-effects-active .ranking-row:nth-child(5n) .effect-row-flow::before,
.ranking-effects-active .ranking-row:nth-child(5n) .effect-row-flow::after { animation-delay: -3.9s; }
@keyframes ranking-effect-flow {
  0% { transform: translateX(0); opacity: 0; }
  12%, 82% { opacity: 1; }
  100% { transform: translateX(340%); opacity: 0; }
}
@keyframes ranking-effect-card-wash {
  0%, 4% { background-position: 150% 50%; }
  96%, 100% { background-position: -50% 50%; }
}
@keyframes ranking-effect-row-wash {
  0% { transform: translateX(0); opacity: 0; }
  12%, 82% { opacity: 1; }
  100% { transform: translateX(320%); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ranking-effects .effect-champion-edge,
  .ranking-effects .effect-champion-edge::before,
  .ranking-effects .effect-champion-edge::after,
  .ranking-effects .effect-row-flow::before,
  .ranking-effects .effect-row-flow::after,
  .ranking-effects .effect-page-enter { animation: none !important; }
}
.parallel-board .rank-preset-board .has-podium-counts .champion-points-wrap{bottom:60px}
.parallel-board .rank-preset-board .has-podium-counts .ranking-points{font-size:30px}
.portal-ranking-points.portal-ranking-tier-score{max-width:180px;font-family:inherit;font-size:14px;line-height:1.5;letter-spacing:0;white-space:normal}
.portal-ranking-tier-score .ranking-tier-name,.portal-ranking-tier-score .ranking-tier-stars{display:block}
.portal-ranking-tier-score .ranking-tier-stars{font-size:12px;font-weight:500}
.portal-rank-stars{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.portal-rank-star{color:var(--portal-muted);font-family:"Segoe UI Symbol",sans-serif;font-size:30px;line-height:1.2}
.portal-rank-star.is-earned{color:var(--portal-wine)}
.portal-rank-star-group{display:inline-flex;align-items:center;gap:6px;margin-right:10px}
.portal-rank-star-count{color:var(--portal-muted);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:390px){.portal-ranking-points.portal-ranking-tier-score{max-width:126px;font-size:13px}}

/* 青绿霓虹: the selected reference layout, using the existing ranking data. */
@font-face { font-family: "Ranking Neon Title"; src: url("/ranking?asset=loginFont") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
.ranking-display.theme-neon {
  --display-data: "Ranking Outfit", "Arial Narrow", sans-serif;
  --ranking-effect-accent: #c2f57b; --ranking-effect-glow: rgba(177, 255, 114, .14);
  color: #effffa;
  background: radial-gradient(ellipse at 12% 23%, rgba(20, 93, 83, .36) 0, transparent 48%), radial-gradient(ellipse at 92% 68%, rgba(20, 85, 104, .40) 0, transparent 60%), linear-gradient(116deg, #041c27, #062e39 55%, #062235);
}
.theme-neon::after { box-shadow: inset 0 0 150px rgba(0, 16, 21, .33); z-index: 0; }
.theme-neon .display-header { background: transparent; border-bottom-color: rgba(115, 205, 180, .18); }
.theme-neon .display-header::after { left: 0; right: 0; height: 1px; background: linear-gradient(90deg, rgba(131, 220, 150, .13), rgba(168, 250, 173, .5) 22%, rgba(79, 205, 213, .3) 72%, transparent); }
.theme-neon .display-brand-label { color: #81b4b0; font-size: 13px; }
.theme-neon .display-event-label { color: #75cdb8; letter-spacing: .27em; }
.theme-neon .display-board-name { font-family: "Ranking Neon Title", "Microsoft YaHei", sans-serif; color: #e6fff8; letter-spacing: .055em; text-shadow: 0 0 30px rgba(93, 250, 216, .16); }
.theme-neon .display-time { color: #b6d4d0; }
.theme-neon .display-time, .theme-neon .rank-badge, .theme-neon .ranking-points,
.theme-neon .ranking-podium-count, .theme-neon .podium-count-value, .theme-neon .cumulative-round-score { font-weight: 700; }
.theme-neon .display-time-label { color: #86aaa9; }
.theme-neon .display-time-block::before { color: #b6efc6; background: rgba(44, 101, 90, .31); border: 1px solid rgba(116, 205, 170, .22); }
.theme-neon .ranking-champion { border: 1px solid rgba(188, 250, 135, .5); border-radius: 9px; background: radial-gradient(ellipse at 75% 44%, rgba(91, 203, 135, .21), transparent 65%), linear-gradient(140deg, rgba(12, 89, 70, .3), rgba(6, 46, 51, .7) 60%, rgba(18, 78, 65, .65)); box-shadow: inset 0 0 60px rgba(99, 220, 100, .13); }
.theme-neon .ranking-champion::before { top: 0; left: 30px; width: 55%; background: linear-gradient(90deg, transparent, #e7ffc0, transparent); box-shadow: 0 0 15px #b1ff72; }
.theme-neon .champion-label, .theme-neon .ranking-champion .rank-badge { color: #d5ff93; }
.theme-neon .ranking-champion .ranking-points { color: #d1ff69; }
.theme-neon .champion-emblem { border-color: #ccf79c; color: #deffd0; }
.theme-neon .champion-points-unit { color: #c1dcad; }
.theme-neon .champion-note { color: #9ebdad; border-color: rgba(157, 204, 114, .2); }
.theme-neon .ranking-rail { border-color: rgba(92, 186, 168, .2); background: transparent; }
.theme-neon .ranking-table-head { color: #92bbb5; }
.theme-neon .ranking-row { border: 1px solid rgba(92, 186, 168, .17); border-radius: 5px; background: linear-gradient(100deg, rgba(27, 106, 102, .38), rgba(11, 59, 76, .6) 72%, rgba(11, 66, 85, .5)); box-shadow: inset 3px 0 0 rgba(62, 207, 169, .22); }
.theme-neon .ranking-row:nth-child(even) { background: linear-gradient(100deg, rgba(27, 99, 96, .32), rgba(11, 53, 76, .53) 72%, rgba(15, 64, 83, .5)); }
.theme-neon .ranking-row.rank-first, .theme-neon .ranking-row.rank-second, .theme-neon .ranking-row.rank-third { border-color: rgba(168, 234, 108, .27); background: linear-gradient(100deg, rgba(120, 185, 76, .23), rgba(14, 92, 81, .4) 55%, rgba(10, 67, 82, .4)); box-shadow: inset 3px 0 0 rgba(196, 248, 119, .53); }
.theme-neon .ranking-row .rank-badge { color: #91c6c1; }
.theme-neon .ranking-row .ranking-points { color: #d5eee5; }
.theme-neon .ranking-row.rank-first .ranking-points, .theme-neon .ranking-row.rank-second .ranking-points, .theme-neon .ranking-row.rank-third .ranking-points { color: #d6ff94; }
.theme-neon .ranking-username { color: #e7fff7; }
.theme-neon .ranking-avatar { border: 1px solid rgba(127, 207, 181, .17); border-radius: 12px; color: #b4e8d2; background: #0c333d; }
.theme-neon .ranking-row:nth-child(3n+2) .ranking-avatar { background: #16444a; color: #a5dfe3; }
.theme-neon .ranking-row:nth-child(3n) .ranking-avatar { background: #354f3e; color: #d8eab3; }
.theme-neon .display-footer { color: #7fa6a4; border-color: rgba(115, 205, 180, .18); }
.theme-neon .display-page-state { color: #7fa6a4; font-weight: 400; }
.theme-neon .display-player-count { color: #9dc2b7; }
.theme-neon .display-sync-state { color: #87afaa; }
.theme-neon .effect-champion-edge { border-radius: inherit; border-color: #c2f57b; }
.theme-neon .effect-champion-edge::after { background: linear-gradient(90deg, transparent, #e7ffc0, transparent); }
.theme-neon .champion-motion-border rect { stroke: #c2f57b; }
.theme-neon .neon-navigation { position: absolute; display: flex; justify-content: space-between; align-items: center; top: 157px; left: 56px; right: 56px; height: 42px; z-index: 4; }
.theme-neon .neon-tabs { display: flex; align-items: stretch; height: 42px; }
.theme-neon .neon-tab { min-width: 142px; margin-right: 12px; padding: 0 24px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #89b5b2; font-family: inherit; font-size: 19px; letter-spacing: .05em; cursor: pointer; }
.theme-neon .neon-tab:hover { color: #e9ffdb; background: rgba(40, 99, 82, .4); }
.theme-neon .neon-tab[aria-pressed=true] { background: linear-gradient(100deg, rgba(181, 250, 108, .13), rgba(66, 220, 165, .09)); color: #d1ff69; border-color: rgba(169, 239, 106, .22); box-shadow: inset 3px 0 0 #c2ff73; }
.theme-neon .neon-tab:focus { outline: 3px solid #d1ff69; outline-offset: 4px; }
.theme-neon .neon-meta { color: #88aba8; font-size: 15px; text-align: right; }
.theme-neon .neon-meta::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 12px; border-radius: 50%; background: #a6ef83; box-shadow: 0 0 10px rgba(128, 240, 170, .31); }
.theme-neon .neon-view-label { color: #d1ff69; font-size: 19px; letter-spacing: .05em; }
/* Neon playlist navigation shares the existing view-tab row without moving score rows. */
.theme-neon > .display-header { z-index: 5; }
.theme-neon > .display-header > .nocturne-playlist { position: absolute; grid-column: auto; grid-row: auto; top: 130px; left: 330px; right: 270px; height: 42px; display: flex; align-items: stretch; gap: 6px; min-width: 0; overflow-x: auto; overflow-y: hidden; scrollbar-width: thin; scrollbar-color: #5c9f80 transparent; }
.theme-neon .nocturne-board-tab { flex: 0 0 auto; max-width: 360px; padding: 0 18px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: #9bc9b9; font: 600 22px/1.2 var(--display-body); white-space: nowrap; text-overflow: ellipsis; overflow: hidden; cursor: pointer; }
.theme-neon .nocturne-board-tab:hover { color: #e9ffdb; background: rgba(40, 99, 82, .4); }
.theme-neon .nocturne-board-tab[aria-pressed="true"] { color: #d1ff69; background: linear-gradient(100deg, rgba(181, 250, 108, .13), rgba(66, 220, 165, .09)); border-color: rgba(169, 239, 106, .3); }
.theme-neon .nocturne-board-tab[aria-pressed="true"]::after { left: 18px; right: 18px; height: 2px; background: #c2ff73; }
.theme-neon .nocturne-board-tab:focus { outline: 3px solid #d1ff69; outline-offset: -3px; box-shadow: inset 0 0 0 5px #174b3b; }
.theme-neon .neon-meta { flex: 0 0 auto; max-width: 250px; }
.theme-neon.neon-compact > .display-header > .nocturne-playlist { top: 129px; left: 180px; right: 165px; }
.theme-neon .neon-ticker { position: absolute; display: flex; align-items: center; bottom: 0; left: 0; right: 0; height: 54px; border-top: 1px solid rgba(106, 182, 164, .26); background: rgba(9, 44, 56, .91); z-index: 4; }
.theme-neon .neon-ticker-label { display: flex; align-items: center; align-self: stretch; flex: 0 0 210px; padding-left: 56px; background: #164c43; color: #dcffa7; font-size: 17px; letter-spacing: .08em; }
.theme-neon .neon-ticker-label::before { content: ""; width: 7px; height: 7px; margin-right: 12px; border-radius: 50%; background: #a6ef83; }
.theme-neon .neon-ticker-window { flex: 1 1 auto; min-width: 0; overflow: hidden; }
.theme-neon .neon-ticker-track { display: flex; align-items: center; width: max-content; white-space: nowrap; }
.theme-neon .neon-ticker-group { display: flex; flex: 0 0 auto; align-items: center; min-width: 1710px; }
.theme-neon .neon-ticker-item { flex: 0 0 auto; padding: 0 40px; font-size: 17px; color: #a1c6bf; letter-spacing: .03em; }
.theme-neon .neon-ticker-item::before { content: "·"; margin-right: 25px; color: #73d9bd; }
.theme-neon .neon-ticker-item strong { color: #d3edbd; font-weight: 500; margin-right: 12px; }
.theme-neon .neon-ticker-item span { color: #bffa81; }
.theme-neon.ranking-effects-active .neon-ticker-track { animation: neon-ticker-travel 42s linear infinite; }
@keyframes neon-ticker-travel { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.ranking-display.theme-neon.neon-layout { display: block; padding: 0; }
.theme-neon.neon-layout .display-header { position: absolute; left: 54px; right: 54px; top: 27px; height: 112px; min-height: 0; padding: 10px 0 22px; grid-template-columns: 1fr 1.1fr 1fr; }
.theme-neon.neon-layout .display-logo { width: 66px; height: 66px; }
.theme-neon.neon-layout .display-identity { gap: 13px; }
.theme-neon.neon-layout .display-store-name { font-size: 28px; margin-top: 7px; letter-spacing: .04em; }
.theme-neon.neon-layout .display-store-name.length-long { font-size: 23px; }
.theme-neon.neon-layout .display-store-name.length-maximum { font-size: 19px; }
.theme-neon.neon-layout .display-time { font-size: 26px; letter-spacing: .03em; }
.theme-neon.neon-layout .display-time.length-long { font-size: 20px; }
.theme-neon.neon-layout .display-time.length-maximum { font-size: 17px; }
.theme-neon.neon-layout .display-time-label { font-size: 13px; }
/* The same description is in the ticker; keep this theme's title centered. */
.theme-neon.neon-layout .display-header > .display-match-description { display: none; }
.theme-neon.neon-layout .display-header.has-match-description .display-title-block { width: auto; justify-self: stretch; }
.theme-neon.neon-layout .display-header.has-match-description .display-time-block { width: auto; }
.theme-neon.neon-layout .display-header.has-match-description .display-board-name { font-size: 52px; line-height: 1; white-space: normal; }
.theme-neon.neon-layout .display-header.has-match-description .display-board-name.length-long { font-size: 42px; white-space: nowrap; }
.theme-neon.neon-layout .display-header.has-match-description .display-board-name.length-maximum { font-size: 34px; white-space: nowrap; }
.theme-neon.neon-layout .display-header.has-match-description .display-time { font-size: 26px; line-height: 1.25; }
.theme-neon.neon-layout .display-header.has-match-description .display-time.length-long { font-size: 20px; }
.theme-neon.neon-layout .display-header.has-match-description .display-time.length-maximum { font-size: 17px; }
.theme-neon.neon-layout .ranking-main { position: absolute; top: 222px; left: 56px; right: 56px; bottom: auto; width: auto; height: 645px; grid-template-columns: 570px minmax(0, 1fr); gap: 30px; }
.theme-neon.neon-layout .ranking-champion { align-items: flex-start; justify-content: flex-start; text-align: left; }
.theme-neon.neon-layout .champion-label { position: absolute; top: 29px; left: 33px; right: 105px; max-width: none; display: flex; align-items: center; font-size: 18px; letter-spacing: .1em; z-index: 3; }
.theme-neon.neon-layout .champion-label::before { content: ""; flex: 0 0 6px; height: 6px; margin-right: 11px; background: #d1ff69; border-radius: 50%; box-shadow: 0 0 15px #b2ff76; }
.theme-neon.neon-layout .ranking-champion > .rank-badge { position: absolute; top: 22px; right: 33px; margin: 0; font-size: 64px; line-height: 1; color: #d2f5b9; opacity: .8; z-index: 3; }
.theme-neon.neon-layout .champion-emblem { position: absolute; left: 34px; top: 103px; width: 84px; height: 84px; margin: 0; border: 1px solid #ccf79c; border-radius: 20px; background: #154846; box-shadow: 0 0 23px rgba(190, 247, 115, .11); z-index: 3; }
.theme-neon.neon-layout .ranking-champion .champion-emblem .ranking-avatar { font-size: 39px; background: linear-gradient(140deg, #2b7260, #123e47); color: #deffd0; border-radius: 0; }
.theme-neon.neon-layout .ranking-champion > .ranking-username { position: absolute; left: 139px; right: 30px; top: 116px; width: auto; margin: 0; font-size: 46px; line-height: 1.3; color: #f0fff3; z-index: 3; }
.theme-neon.neon-layout .ranking-champion > .ranking-username.length-long { font-size: 34px; }
.theme-neon.neon-layout .ranking-champion > .ranking-username.length-maximum { font-size: 27px; }
.theme-neon.neon-layout .champion-subtitle { position: absolute; left: 141px; top: 174px; margin: 0; font-size: 13px; color: #8abca9; letter-spacing: .16em; z-index: 3; }
.theme-neon.neon-layout .champion-points-wrap { position: absolute; left: 34px; right: 26px; bottom: 88px; margin: 0; display: block; z-index: 3; }
.theme-neon.neon-layout .ranking-champion .ranking-points { display: block; font-size: 92px; line-height: 1; letter-spacing: -.035em; text-align: left; text-shadow: 0 0 35px rgba(152, 237, 95, .17); }
.theme-neon.neon-layout .ranking-champion .ranking-points.digits-7 { font-size: 78px; }
.theme-neon.neon-layout .ranking-champion .ranking-points.digits-8 { font-size: 68px; }
.theme-neon.neon-layout .ranking-champion .ranking-points.digits-9 { font-size: 59px; }
.theme-neon.neon-layout .champion-points-unit { display: block; margin-top: 12px; font-size: 17px; letter-spacing: .15em; }
.theme-neon.neon-layout .champion-note { position: absolute; margin: 0; left: 34px; right: 34px; bottom: 26px; padding-top: 16px; font-size: 14px; }
.theme-neon.neon-layout .effect-crown-neon { position: absolute; top: 178px; right: -22px; left: auto; width: 438px; height: 372px; z-index: 1; }
.theme-neon.neon-layout .effect-crown-neon::before { content: ""; position: absolute; top: 20px; right: 0; width: 100%; height: 85%; border-radius: 50%; background: radial-gradient(ellipse, rgba(179, 236, 117, .13), rgba(90, 220, 126, .05) 48%, transparent 70%); z-index: -1; }
.theme-neon.neon-layout .effect-crown-neon::after { content: ""; position: absolute; left: -110px; right: 0; bottom: 109px; height: 2px; background: linear-gradient(90deg, transparent, rgba(189, 253, 124, .4) 30%, rgba(226, 255, 166, .8) 60%, transparent); box-shadow: 0 0 18px rgba(182, 255, 108, .36); opacity: .6; }
.theme-neon.neon-layout .ranking-rail { border: 0; grid-template-rows: 40px minmax(0, 1fr); gap: 4px; background: transparent; overflow: visible; }
.theme-neon.neon-layout .ranking-table-head { padding: 0 26px; font-size: 14px; letter-spacing: .15em; }
.theme-neon.neon-layout .ranking-column { grid-template-rows: repeat(7, minmax(0, 1fr)); gap: 9px; }
.theme-neon.neon-layout .ranking-row { padding: 0 26px; }
.theme-neon.neon-layout .ranking-head-rank, .theme-neon.neon-layout .ranking-row > .rank-badge { flex-basis: 66px; }
.theme-neon.neon-layout .ranking-row > .rank-badge { font-size: 33px; }
.theme-neon.neon-layout .ranking-row .ranking-username { font-size: 29px; font-weight: 600; letter-spacing: .025em; }
.theme-neon.neon-layout .ranking-row .ranking-username.length-long { font-size: 25px; }
.theme-neon.neon-layout .ranking-row .ranking-username.length-maximum { font-size: 22px; }
.theme-neon.neon-layout .ranking-row .ranking-avatar { width: 47px; height: 47px; flex-basis: 47px; margin-right: 20px; font-size: 23px; line-height: 45px; }
.theme-neon.neon-layout .ranking-row .ranking-points { font-size: 39px; letter-spacing: .015em; }
.theme-neon.neon-layout .ranking-row .ranking-points.digits-7 { font-size: 34px; }
.theme-neon.neon-layout .ranking-row .ranking-points.digits-8 { font-size: 30px; }
.theme-neon.neon-layout .ranking-row .ranking-points.digits-9 { font-size: 26px; }
.theme-neon.neon-layout .neon-following { position: absolute; top: 895px; left: 56px; right: 56px; display: flex; height: 78px; padding: 0; margin: 0; list-style: none; z-index: 2; }
/* Keep the moved rows on one repaint layer when the fitted stage enters or leaves fullscreen. */
.theme-neon.neon-layout .neon-following { -webkit-transform: translateZ(0); transform: translateZ(0); }
.theme-neon.neon-layout .neon-following .ranking-row { display: flex; flex: 1 1 0%; min-width: 0; height: 78px; padding: 12px 20px; background: linear-gradient(110deg, rgba(22, 75, 79, .4), rgba(10, 52, 69, .66)); box-shadow: none; }
.theme-neon.neon-layout .neon-following .ranking-row + .ranking-row { margin-left: 16px; }
.theme-neon.neon-layout .neon-following .ranking-row > .rank-badge { flex: 0 0 30px; color: #70a19f; font-size: 24px; }
.theme-neon.neon-layout .neon-following .ranking-row > .ranking-username { margin: 0 10px; font-size: 21px; }
.theme-neon.neon-layout .neon-following .ranking-row .ranking-avatar { width: 38px; height: 38px; flex-basis: 38px; margin-right: 12px; border-radius: 10px; font-size: 18px; line-height: 36px; }
.theme-neon.neon-layout .neon-following .ranking-row > .ranking-points { flex: 0 0 92px; font-size: 25px; color: #b6e394; }
.theme-neon.neon-layout .neon-following .ranking-points.digits-7 { font-size: 22px; }
.theme-neon.neon-layout .neon-following .ranking-points.digits-8 { font-size: 19px; }
.theme-neon.neon-layout .neon-following .ranking-points.digits-9 { font-size: 17px; }
.theme-neon.neon-layout .neon-following .ranking-podium-count { flex: 0 0 32px; padding: 0 2px; font-size: 17px; }
.theme-neon.neon-layout .neon-following .ranking-podium-count::before { display: block; margin-bottom: 5px; color: #8fb6a7; font-family: var(--display-body); font-size: 14px; font-weight: 500; line-height: 1; }
.theme-neon.neon-layout .neon-following .ranking-podium-count[aria-label^="冠军次数"]::before { content: "冠"; }
.theme-neon.neon-layout .neon-following .ranking-podium-count[aria-label^="亚军次数"]::before { content: "亚"; }
.theme-neon.neon-layout .neon-following .ranking-podium-count[aria-label^="季军次数"]::before { content: "季"; }
.theme-neon.neon-layout .neon-following .ranking-podium-count[aria-label^="击杀次数"]::before { content: "击杀"; }
.theme-neon.neon-layout .neon-following .podium-count-long { font-size: 12px; }
.theme-neon.neon-layout .neon-following .ranking-tier-label { font-size: 12px; }
.theme-neon.neon-layout .display-footer { position: absolute; left: 56px; right: 56px; top: 986px; bottom: auto; height: 19px; padding: 0; border: 0; font-size: 12px; letter-spacing: .04em; }
.theme-neon.neon-layout > .ranking-columns { position: absolute; top: 222px; left: 56px; right: 56px; width: auto; height: 645px; }

/* Full view is manual and uses the same page; all rank and optional fields stay visible. */
.theme-neon.neon-layout.neon-overview .ranking-main { display: block; height: 751px; }
.theme-neon.neon-overview .ranking-main > .ranking-champion { display: none; }
.theme-neon.neon-overview .ranking-main > .ranking-columns { height: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.theme-neon.neon-layout.neon-overview .ranking-column { grid-template-rows: repeat(6, minmax(0, 1fr)); gap: 13px; }
.theme-neon.neon-layout.neon-overview .ranking-head-points, .theme-neon.neon-layout.neon-overview .ranking-row > .ranking-points { flex-basis: 170px; }
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-table-head,
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-row { padding: 0 16px; }
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-podium-count, .theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-head-podium { flex-basis: 54px; }
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-podium-count { font-size: 20px; }
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-head-points, .theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-row > .ranking-points { flex-basis: 140px; }
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-row .ranking-username { font-size: 24px; }
.theme-neon.neon-layout.neon-overview .has-podium-columns .ranking-row .ranking-points { font-size: 30px; }

/* Photos and optional fields occupy their own space, including on a static theme. */
.theme-neon.neon-layout .has-champion-photo .champion-photo { position: absolute; top: 94px; left: 34px; width: calc(100% - 68px); height: 294px; max-height: none; margin: 0; object-fit: contain; }
.theme-neon.neon-layout .has-champion-photo > .ranking-username { left: 34px; top: 399px; font-size: 36px; }
.theme-neon.neon-layout .has-champion-photo > .ranking-username.length-long { font-size: 30px; }
.theme-neon.neon-layout .has-champion-photo > .ranking-username.length-maximum { font-size: 25px; }
.theme-neon.neon-layout .has-champion-photo .champion-subtitle { top: 443px; left: 35px; font-size: 11px; }
.theme-neon.neon-layout .has-champion-photo .champion-points-wrap { bottom: 83px; }
.theme-neon.neon-layout .has-champion-photo .ranking-points { font-size: 62px; }
.theme-neon.neon-layout .has-champion-photo .ranking-points.digits-7 { font-size: 55px; }
.theme-neon.neon-layout .has-champion-photo .ranking-points.digits-8 { font-size: 49px; }
.theme-neon.neon-layout .has-champion-photo .ranking-points.digits-9 { font-size: 43px; }
.theme-neon.neon-layout .has-champion-photo > .effect-crown-small { top: 16px; right: 115px; }
.theme-neon.neon-layout .has-podium-counts .champion-points-wrap { bottom: 166px; }
.theme-neon.neon-layout .champion-podium-counts { position: absolute; left: 28px; right: 28px; bottom: 79px; width: auto; margin: 0; z-index: 3; }
.theme-neon.neon-layout .has-podium-counts .effect-crown-neon { top: 173px; right: -4px; width: 354px; height: 298px; }
.theme-neon.neon-layout .has-champion-photo.has-podium-counts .champion-photo { height: 225px; }
.theme-neon.neon-layout .has-champion-photo.has-podium-counts > .ranking-username { top: 328px; }
.theme-neon.neon-layout .has-champion-photo.has-podium-counts .champion-subtitle { top: 373px; }
.theme-neon.neon-layout .ranking-champion > .ranking-tier-label { position: absolute; left: 139px; top: 199px; right: 24px; margin: 0; font-size: 20px; z-index: 3; }
.theme-neon.neon-layout .has-champion-photo.rank-system-champion .champion-photo { height: 268px; }
.theme-neon.neon-layout .has-champion-photo.rank-system-champion > .ranking-username { top: 374px; }
.theme-neon.neon-layout .has-champion-photo.rank-system-champion > .ranking-tier-label { top: 422px; left: 34px; font-size: 18px; }
.theme-neon.neon-layout .has-champion-photo.rank-system-champion .champion-subtitle { display: none; }
.theme-neon.neon-layout .has-champion-photo.has-podium-counts.rank-system-champion .champion-photo { height: 204px; }
.theme-neon.neon-layout .has-champion-photo.has-podium-counts.rank-system-champion > .ranking-username { top: 306px; }
.theme-neon.neon-layout .has-champion-photo.has-podium-counts.rank-system-champion > .ranking-tier-label { top: 351px; }
.theme-neon.neon-layout .ranking-champion .ranking-tier-score { font-size: 38px; line-height: 1.25; }
.theme-neon.neon-layout .ranking-row > .ranking-tier-score { font-size: 24px; line-height: 1.2; }
.theme-neon.neon-layout .neon-following .ranking-row > .ranking-tier-score { flex: 0 0 125px; font-size: 17px; }

/* Dense and three-board screens keep their existing row capacities. */
.theme-neon.neon-compact { grid-template-rows: 176px minmax(0, 1fr) 26px; padding-bottom: 82px; }
.theme-neon.neon-compact > .display-header { height: 112px; min-height: 0; align-self: start; }
.theme-neon.neon-compact .parallel-boards { top: 222px; bottom: 108px; }
.theme-neon.neon-compact .parallel-group-state { bottom: 76px; color: #87afaa; }
.theme-neon.neon-compact .neon-navigation { left: 44px; right: 44px; }
.theme-neon.cumulative-display .cumulative-round-score { color: #c3e4d7; }
.theme-neon.cumulative-display .cumulative-round-score.score-missing, .theme-neon.cumulative-display .cumulative-round-date { color: #82aca7; }

/* Absolute/table fallbacks for WebViews without CSS Grid. */
.theme-neon.neon-layout.legacy-tv-layout .display-header { display: flex; width: calc(100% - 108px); gap: 0; }
.theme-neon.neon-layout.legacy-tv-layout .display-header.has-match-description { display: flex; }
.theme-neon.neon-layout.legacy-tv-layout .display-header > .display-identity,
.theme-neon.neon-layout.legacy-tv-layout .display-header > .display-title-block,
.theme-neon.neon-layout.legacy-tv-layout .display-header > .display-time-block,
.theme-neon.neon-layout.legacy-tv-layout .display-header.has-match-description .display-identity,
.theme-neon.neon-layout.legacy-tv-layout .display-header.has-match-description .display-title-block,
.theme-neon.neon-layout.legacy-tv-layout .display-header.has-match-description .display-time-block { position: relative; top: auto; right: auto; left: auto; flex: 0 0 33.333%; width: 33.333%; margin-left: 0; transform: none; }
/* Keep the logo beside the store name without relying on flex gap on old TVs. */
.theme-neon.neon-layout.legacy-tv-layout .display-identity { display: flex; gap: 0; }
.theme-neon.neon-layout.legacy-tv-layout .display-logo { margin-right: 13px; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-champion { width: 570px; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-main > .ranking-columns { width: calc(100% - 600px); }
.theme-neon.neon-layout.legacy-tv-layout .ranking-column { height: 601px; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-row { height: 77px; margin-top: 9px; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-row:first-child { margin-top: 0; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-head-rank, .theme-neon.neon-layout.legacy-tv-layout .ranking-row > .rank-badge { width: 66px; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-head-player, .theme-neon.neon-layout.legacy-tv-layout .ranking-row > .ranking-username { width: auto; }
.theme-neon.neon-layout.legacy-tv-layout .ranking-head-points, .theme-neon.neon-layout.legacy-tv-layout .ranking-row > .ranking-points { width: 180px; }
.theme-neon.neon-layout.legacy-tv-layout .neon-following .ranking-row { margin-top: 0; min-width: 0; }
.theme-neon.neon-layout.legacy-tv-layout .neon-following .ranking-row > * { display: block; padding: 0; }
.theme-neon.neon-layout.legacy-tv-layout.neon-overview .ranking-main > .ranking-columns { width: 100%; }
.theme-neon.neon-layout.legacy-tv-layout.neon-overview .ranking-column { height: 707px; }
.theme-neon.neon-layout.legacy-tv-layout.neon-overview .ranking-row { height: 107px; margin-top: 13px; }
.theme-neon.neon-layout.legacy-tv-layout.neon-overview .ranking-row:first-child { margin-top: 0; }
.theme-neon.neon-compact.legacy-tv-layout > .ranking-main { top: 222px; bottom: 108px; }
.theme-neon.neon-compact.legacy-tv-layout > .display-footer { bottom: 76px; }
.theme-neon.neon-compact.legacy-tv-layout .display-logo { display: inline-block; vertical-align: middle; margin-right: 16px; }
.theme-neon.neon-compact.legacy-tv-layout .display-identity-copy { display: inline-block; vertical-align: middle; max-width: calc(100% - 84px); }
.theme-neon.cumulative-display.legacy-tv-layout .cumulative-table-head { padding: 0 12px; }
@media (prefers-reduced-motion: reduce) {
  .theme-neon.ranking-effects-active .neon-ticker-track { animation: none; transform: none; }
}

/* Nocturne uses the canonical renderer and its complete, board-controlled columns. */
.ranking-display.theme-nocturne {
  --display-data: "Ranking Outfit", Bahnschrift, "Arial Narrow", Arial, sans-serif;
  --display-gold: #d7e0ff;
  --display-muted: #a5afcd;
  grid-template-rows: 186px minmax(0, 1fr) 28px 46px;
  gap: 24px;
  padding: 28px 64px 24px;
  background: radial-gradient(ellipse at 12% 36%, rgba(51,35,136,.16), transparent 58%), #090b1b;
  color: #edf1ff;
}
.theme-nocturne.ranking-display::after { box-shadow: none; }
.theme-nocturne .display-header {
  display: grid; grid-template-columns: 370px minmax(0, 1fr) 260px;
  grid-template-rows: 70px 92px; column-gap: 28px; row-gap: 24px;
  padding: 0; min-height: 0; background: #090b1b; border: 0;
}
.theme-nocturne .display-header::after { top: 80px; bottom: auto; height: 1px; background: rgba(168,186,255,.17); }
.theme-nocturne .display-identity { grid-column: 1; grid-row: 1; gap: 12px; position: relative; z-index: 2; isolation: isolate; background: #090b1b; }
.theme-nocturne .display-logo { width: 60px; height: 64px; }
.theme-nocturne .display-brand-label { color: #8e9abe; font-size: 11px; letter-spacing: .14em; }
.theme-nocturne .display-store-name { margin: 7px 0 0; color: #dce4ff; font-size: 25px; line-height: 1.2; letter-spacing: .05em; }
.theme-nocturne .display-store-name.length-long { font-size: 21px; }
.theme-nocturne .display-store-name.length-maximum { font-size: 17px; }
.theme-nocturne .display-title-block { grid-column: 1 / 3; grid-row: 2; justify-self: start; width: auto; }
.theme-nocturne .display-event-label { margin-bottom: 0; text-align: left; color: #a9b8e8; font-size: 12px; letter-spacing: .2em; }
.theme-nocturne .display-board-name { margin: 7px 0 0; font-size: 52px; line-height: 1.1; text-align: left; letter-spacing: .05em; }
.theme-nocturne .display-board-name.length-long { font-size: 36px; }
.theme-nocturne .display-board-name.length-maximum { font-size: 28px; }
.theme-nocturne .display-time-block { grid-column: 3; grid-row: 2; justify-self: end; align-self: end; width: auto; padding-left: 0; }
.theme-nocturne .display-time-block::before { display: none; }
.theme-nocturne .display-time-label { color: #7f8dae; font-size: 13px; }
.theme-nocturne .display-time { margin: 6px 0 0; color: #b9c4e2; font-size: 19px; line-height: 1.3; word-break: normal; text-wrap: balance; }
.theme-nocturne .display-header.has-match-description .display-title-block { width: auto; justify-self: start; }
.theme-nocturne .display-header.has-match-description .display-title-block { grid-column: 1; }
.theme-nocturne .display-header.has-match-description .display-board-name { font-size: 34px; }
.theme-nocturne .display-header.has-match-description .display-board-name.length-long,
.theme-nocturne .display-header.has-match-description .display-board-name.length-maximum { font-size: 24px; }
.theme-nocturne .display-header > .display-match-description { position: static; grid-row: 2; grid-column: 2; align-self: center; width: 100%; margin: 0; max-height: 80px; overflow: hidden; color: #bac5e2; }
.nocturne-playlist { grid-column: 2 / 4; grid-row: 1; display: flex; align-self: stretch; align-items: stretch; gap: 6px; overflow-x: auto; min-width: 0; scrollbar-width: thin; scrollbar-color: #646a97 transparent; }
.nocturne-board-tab { position: relative; flex: 0 0 auto; max-width: 540px; padding: 0 24px; border: 0; border-radius: 3px 3px 0 0; background: transparent; color: #9ba7ca; font: 600 23px/1.25 var(--display-body); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; cursor: pointer; }
.nocturne-board-tab[aria-pressed="true"] { background: linear-gradient(180deg, rgba(88,69,239,.08),rgba(88,69,239,.23)); color: #f1f4ff; }
.nocturne-board-tab[aria-pressed="true"]::after { content: ""; position: absolute; bottom: 1px; left: 22%; right: 22%; height: 2px; background: #c7d2ff; }
.theme-nocturne.paged-display .ranking-main { grid-template-columns: minmax(0, .84fr) minmax(0, 1.65fr); gap: 48px; }
.theme-nocturne .ranking-champion { isolation: isolate; align-items: flex-start; justify-content: flex-start; border: 1px solid rgba(179,190,255,.37); border-radius: 6px; padding: 32px 38px; background: radial-gradient(ellipse at 100% 35%,rgba(89,64,239,.65),transparent 70%),linear-gradient(160deg,#292f79,#171c48 57%,#101529); box-shadow: inset 0 1px rgba(226,233,255,.16); text-align: left; }
.theme-nocturne .ranking-champion::before { left: 0; top: 0; width: 100%; height: 100%; border: 0; border-radius: 0; background: radial-gradient(ellipse at 150% 45%,transparent 0 71%,rgba(201,212,255,.08) 71.1%,transparent 71.3%); z-index: -1; }
.theme-nocturne .champion-label { order: 0; color: #d1d9ff; max-width: calc(100% - 64px); font-size: 25px; letter-spacing: .04em; line-height: 1.3; }
.theme-nocturne .ranking-champion > .rank-badge { position: absolute; top: 30px; right: 34px; margin: 0; font-size: 48px; color: #dce5ff; }
.theme-nocturne .ranking-champion > .ranking-username { order: 1; flex: 0 0 auto; width: 100%; margin-top: 32px; color: #f3f5ff; font-size: 70px; font-weight: 700; letter-spacing: .025em; line-height: 1.15; }
.theme-nocturne .ranking-champion > .ranking-username.length-long { font-size: 40px; }
.theme-nocturne .ranking-champion > .ranking-username.length-maximum { font-size: 30px; }
.theme-nocturne .ranking-champion > .ranking-tier-label { order: 2; width: 100%; margin: 9px 0 0; color: #bbc8f2; text-align: left; }
.theme-nocturne .champion-emblem { order: 3; width: 100%; height: 200px; min-height: 50px; flex: 1 1 200px; margin: 14px 0 18px; border: 0; border-radius: 0; background-position: right center; background-repeat: no-repeat; background-size: contain; place-items: center start; }
.theme-nocturne .champion-emblem .ranking-avatar { width: 72px; height: 72px; font-size: 34px; border-color: rgba(202,213,255,.3); background-color: rgba(15,20,56,.4); }
.theme-nocturne .champion-emblem .ranking-avatar:not(.has-avatar-image) { visibility: hidden; }
.theme-nocturne .champion-points-wrap { order: 4; flex: 0 0 auto; width: 100%; justify-content: flex-start; flex-wrap: wrap; gap: 12px; margin-top: 10px; }
.theme-nocturne .ranking-champion .ranking-points { color: #eef3ff; font-size: 105px; line-height: 1; letter-spacing: -.04em; }
.theme-nocturne .ranking-champion .ranking-points.digits-7 { font-size: 75px; }
.theme-nocturne .ranking-champion .ranking-points.digits-8 { font-size: 64px; }
.theme-nocturne .ranking-champion .ranking-points.digits-9 { font-size: 56px; }
.theme-nocturne .champion-points-unit { color: #b6c3e9; font-size: 21px; }
.theme-nocturne .champion-podium-counts { order: 5; width: 100%; margin-top: 18px; }
.theme-nocturne.paged-display .champion-points-hidden .champion-podium-count:only-child { text-align: left; padding: 0; }
.theme-nocturne.paged-display .champion-points-hidden .champion-podium-count:only-child .podium-count-label { font-size: 21px; color: #b6c3e9; }
.theme-nocturne.paged-display .champion-points-hidden .champion-podium-count:only-child .podium-count-value { font-size: 92px; color: #eef3ff; }
.theme-nocturne .champion-note { order: 6; width: 100%; margin-top: 22px; padding-top: 14px; border-color: rgba(190,202,255,.18); color: #9aa9d4; font-size: 12px; letter-spacing: .08em; }
.theme-nocturne .ranking-champion.has-champion-photo { padding: 28px 34px; }
.theme-nocturne .champion-photo { order: 3; width: 100%; height: 240px; max-height: none; flex: 1 1 240px; min-height: 40px; margin: 18px 0 4px; object-fit: contain; border-radius: 2px; }
.theme-nocturne .has-champion-photo > .ranking-username { margin-top: 20px; font-size: 57px; }
.theme-nocturne .has-champion-photo > .ranking-username.length-long { font-size: 36px; }
.theme-nocturne .has-champion-photo > .ranking-username.length-maximum { font-size: 28px; }
.theme-nocturne .has-champion-photo .ranking-points { font-size: 78px; }
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-photo {
  position: absolute; left: 0; top: 0; z-index: 0; width: 100%; height: 100%;
  max-width: none; max-height: none; margin: 0; object-fit: contain; border-radius: 0;
}
.theme-nocturne.paged-display .ranking-champion.has-champion-photo::before {
  z-index: 1; background: linear-gradient(180deg,rgba(9,12,35,.88),rgba(9,12,35,.3) 35%,rgba(9,12,35,.15) 55%,rgba(9,12,35,.94));
}
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-label,
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .ranking-username,
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .ranking-tier-label,
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-points-wrap,
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-podium-counts,
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-note { position: relative; z-index: 2; text-shadow: 0 2px 12px rgba(0,0,0,.55); }
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .rank-badge { z-index: 2; }
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-points-wrap { margin-top: auto; }
.theme-nocturne.paged-display .ranking-champion.has-champion-photo.champion-points-hidden > .champion-podium-counts { margin-top: auto; }
.theme-nocturne.paged-display .ranking-champion.has-champion-photo > .champion-photo-outgoing { z-index: 0; }
.theme-nocturne.paged-display .ranking-champion.has-champion-photo::after { z-index: 3; }
.theme-nocturne .ranking-rail { border: 0; grid-template-rows: 46px minmax(0,1fr); background: transparent; }
.theme-nocturne .ranking-table-head { padding: 0 26px 12px; color: #99a7cd; font-size: 18px; font-weight: 500; letter-spacing: .03em; }
.theme-nocturne .ranking-column { grid-template-rows: repeat(5,minmax(0,1fr)); gap: 9px; }
.theme-nocturne .ranking-row { min-height: 0; padding: 0 26px; border: 1px solid rgba(176,191,255,.09); border-left: 2px solid rgba(116,126,208,.2); border-radius: 3px; background: #14192e; }
.theme-nocturne .ranking-row:nth-child(even) { background: #14192e; }
.theme-nocturne .ranking-row.rank-first { border-color: rgba(166,179,255,.37); border-left-color: #d6dfff; background: linear-gradient(105deg,#343374,#1c2342 76%); }
.theme-nocturne .ranking-row.rank-second,.theme-nocturne .ranking-row.rank-third { background: #191e38; border-left-color: rgba(143,158,219,.5); }
.theme-nocturne.paged-display .ranking-head-rank,.theme-nocturne.paged-display .ranking-row > .rank-badge { flex-basis: 66px; }
.theme-nocturne.paged-display .ranking-row .rank-badge { font-size: 44px; color: #9eacce; }
.theme-nocturne.paged-display .ranking-row.rank-first .rank-badge { color: #eef3ff; }
.theme-nocturne.paged-display .ranking-row .ranking-username { font-size: 44px; font-weight: 600; letter-spacing: .02em; }
.theme-nocturne.paged-display .ranking-row .ranking-username.length-long { font-size: 32px; }
.theme-nocturne.paged-display .ranking-row .ranking-username.length-maximum { font-size: 27px; }
.theme-nocturne.paged-display .ranking-row .ranking-points { font-size: 58px; color: #edf2ff; }
.theme-nocturne.paged-display .ranking-row .ranking-points.digits-7 { font-size: 44px; }
.theme-nocturne.paged-display .ranking-row .ranking-points.digits-8 { font-size: 38px; }
.theme-nocturne.paged-display .ranking-row .ranking-points.digits-9 { font-size: 33px; }
.theme-nocturne.paged-display .ranking-row > .ranking-tier-score { flex: 0 0 38%; font-size: 32px; line-height: 1.2; }
.theme-nocturne.paged-display .ranking-champion .ranking-tier-score { font-size: 38px; line-height: 1.25; text-align: left; }
.theme-nocturne .champion-motion-border rect { stroke: #c8d4ff; }
.theme-nocturne .ranking-head-podium,.theme-nocturne .ranking-podium-count { flex-basis: 72px; }
.theme-nocturne .ranking-podium-count { color: #c7d2ed; font-size: 29px; }
.theme-nocturne .ranking-podium-count.podium-count-long { font-size: 17px; }
.theme-nocturne .display-footer { color: #8e9abb; font-size: 15px; letter-spacing: .03em; }
.nocturne-controls { display: flex; align-items: center; justify-content: flex-end; gap: 10px; border-top: 1px solid rgba(168,186,255,.17); padding-top: 11px; position: relative; z-index: 2; }
.nocturne-controls::before { content: "NOCTURNE  /  曜夜"; margin-right: auto; color: #8897c1; font: 13px/1 "Ranking Geist Mono",monospace; letter-spacing: .13em; }
.nocturne-control { padding: 7px 19px; border: 1px solid rgba(168,186,255,.2); border-radius: 4px; background: #171c33; color: #cbd4f0; font: 18px/1.2 var(--display-body); cursor: pointer; }
.nocturne-control:hover,.nocturne-board-tab:hover { background-color: #36335e; }
.nocturne-control:focus,.nocturne-board-tab:focus { outline: 3px solid #d0d9ff; outline-offset: -3px; box-shadow: inset 0 0 0 5px #27245e; }
.theme-nocturne.cumulative-display .ranking-main { grid-template-columns: minmax(0,.65fr) minmax(0,1.85fr); gap: 32px; }
.theme-nocturne.cumulative-display .cumulative-rail { grid-template-rows: 64px minmax(0,1fr); }
.theme-nocturne.cumulative-display .ranking-table-head,.theme-nocturne.cumulative-display .ranking-row { padding-right: 12px; padding-left: 12px; }
.theme-nocturne.cumulative-display .ranking-head-rank,.theme-nocturne.cumulative-display .ranking-row > .rank-badge { flex: 0 0 4%; font-size: 26px; }
.theme-nocturne.cumulative-display .ranking-head-player,.theme-nocturne.cumulative-display .ranking-row > .ranking-username { flex: 1 0 20%; margin: 0; font-size: 29px; }
.theme-nocturne.cumulative-display .ranking-head-points,.theme-nocturne.cumulative-display .ranking-row > .ranking-points { flex: 0 0 12%; font-size: 34px; }
.theme-nocturne.cumulative-display .ranking-head-podium,.theme-nocturne.cumulative-display .ranking-podium-count { flex: 0 0 6%; font-size: 20px; }
.theme-nocturne.cumulative-display .ranking-table-head > .ranking-head-player,.theme-nocturne.cumulative-display .ranking-table-head > .ranking-head-points,.theme-nocturne.cumulative-display .ranking-table-head > .ranking-head-rank { font-size: 16px; }
.theme-nocturne.cumulative-display .ranking-champion > .ranking-username { font-size: 54px; }
.theme-nocturne.cumulative-display .ranking-champion > .ranking-username.length-long { font-size: 34px; }
.theme-nocturne.cumulative-display .ranking-champion > .ranking-username.length-maximum { font-size: 27px; }
.theme-nocturne.cumulative-display .ranking-champion .ranking-points { font-size: 75px; }
.theme-nocturne .cumulative-round-score { color: #cbd5ee; }
.theme-nocturne .cumulative-round-date { color: #8f9cbd; }
.theme-nocturne.parallel-display > .display-header { display: grid; grid-template-rows: 70px; height: 70px; }
.theme-nocturne.parallel-display > .display-header .display-title-block { display: none; }
.theme-nocturne.parallel-display .parallel-boards { top: 142px; left: 64px; right: 64px; bottom: 112px; }
.theme-nocturne.parallel-display .parallel-group-state { bottom: 78px; }
.theme-nocturne.parallel-display > .nocturne-controls { position: absolute; bottom: 24px; left: 64px; right: 64px; height: 46px; }
.theme-nocturne .parallel-board .ranking-champion { display: block; height: 202px; padding: 0; }
.theme-nocturne .parallel-board .champion-label { top: 16px; font-size: 17px; }
.theme-nocturne .parallel-board .ranking-champion > .rank-badge { top: 15px; right: 16px; font-size: 30px; }
.theme-nocturne .parallel-board .ranking-champion > .ranking-username { top: 60px; width: auto; margin: 0; font-size: 36px; }
.theme-nocturne .parallel-board .champion-photo,.theme-nocturne .parallel-board .champion-emblem { top: 20px; left: 14px; width: 146px; height: 160px; margin: 0; }
.theme-nocturne .parallel-board .champion-points-wrap { width: auto; margin: 0; gap: 8px; flex-wrap: nowrap; }
.theme-nocturne .parallel-board .ranking-champion .ranking-points { font-size: 44px; }
.theme-nocturne .parallel-board .champion-podium-counts { width: auto; margin: 0; }
.theme-nocturne .parallel-board .ranking-row { height: 18%; margin-top: 2%; padding: 0 12px; }
.theme-nocturne .parallel-board .ranking-column { display: grid; grid-template-rows: repeat(5,minmax(0,1fr)); }
.theme-nocturne .parallel-board .ranking-column > .ranking-row { height: auto; margin: 0; }
.theme-nocturne .parallel-board .ranking-head-podium,.theme-nocturne .parallel-board .ranking-podium-count { flex-basis: 46px; font-size: 18px; }
.theme-nocturne .parallel-board .ranking-table-head { padding: 0 12px; font-size: 13px; }
.theme-nocturne .parallel-board .has-podium-counts .ranking-username { top: 50px; font-size: 30px; }
.theme-nocturne .parallel-board .has-podium-counts .ranking-points { font-size: 38px; }
.theme-nocturne.legacy-tv-layout > .display-header { height: 174px; }
.theme-nocturne.paged-display.legacy-tv-layout > .ranking-main { top: 226px; bottom: 146px; }
.theme-nocturne.paged-display.legacy-tv-layout .ranking-row { height: 18%; margin-top: 1%; }
.theme-nocturne.paged-display.legacy-tv-layout > .display-footer { bottom: 94px; }
.theme-nocturne.paged-display.legacy-tv-layout > .nocturne-controls { position: absolute; bottom: 24px; left: 64px; right: 64px; height: 46px; }

.theme-nocturne .champion-emblem { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20360%20244%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cdefs%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3ClinearGradient%20id%3D%22silver-edge%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%22.3%22%3E%3Cstop%20stop-color%3D%22%236b78b8%22%2F%3E%3Cstop%20offset%3D%22.22%22%20stop-color%3D%22%23d5e0ff%22%2F%3E%3Cstop%20offset%3D%22.44%22%20stop-color%3D%22%23616d9e%22%2F%3E%3Cstop%20offset%3D%22.69%22%20stop-color%3D%22%23b3bfe4%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23434f87%22%2F%3E%3C%2FlinearGradient%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3ClinearGradient%20id%3D%22silver-face%22%20x1%3D%22.15%22%20y1%3D%220%22%20x2%3D%22.8%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23fff%22%2F%3E%3Cstop%20offset%3D%22.32%22%20stop-color%3D%22%23d9e5ff%22%2F%3E%3Cstop%20offset%3D%22.51%22%20stop-color%3D%22%238e9fd4%22%2F%3E%3Cstop%20offset%3D%22.76%22%20stop-color%3D%22%23e7efff%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%238b9bd5%22%2F%3E%3C%2FlinearGradient%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3ClinearGradient%20id%3D%22chip-face%22%20x1%3D%220%22%20y1%3D%220%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%237168ff%22%2F%3E%3Cstop%20offset%3D%22.52%22%20stop-color%3D%22%233631a5%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23161d56%22%2F%3E%3C%2FlinearGradient%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fdefs%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22translate(180%20122)%20rotate(-22)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cellipse%20cy%3D%2223%22%20rx%3D%22128%22%20ry%3D%2279%22%20fill%3D%22%23080b2e%22%20opacity%3D%22.5%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M-128%200a128%2079%200%200%201%20256%200v15a128%2079%200%200%201-256%200z%22%20fill%3D%22url(%23silver-edge)%22%20stroke%3D%22%23bacaff%22%20stroke-opacity%3D%22.38%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M-126%208a126%2078%200%200%200%20252%200M-125%2012a125%2077%200%200%200%20250%200%22%20fill%3D%22none%22%20stroke%3D%22%231b2254%22%20stroke-opacity%3D%22.75%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cellipse%20rx%3D%22128%22%20ry%3D%2279%22%20fill%3D%22url(%23silver-face)%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cellipse%20rx%3D%22123%22%20ry%3D%2275%22%20fill%3D%22url(%23chip-face)%22%20stroke%3D%22%23fff%22%20stroke-opacity%3D%22.7%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cg%20transform%3D%22scale(1%20.61)%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccircle%20r%3D%22115%22%20fill%3D%22none%22%20stroke%3D%22url(%23silver-face)%22%20stroke-width%3D%228%22%20stroke-dasharray%3D%221.5%208.55%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccircle%20r%3D%22102%22%20fill%3D%22none%22%20stroke%3D%22%23c4d2ff%22%20stroke-opacity%3D%22.6%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Ccircle%20r%3D%2297%22%20fill%3D%22none%22%20stroke%3D%22%23a4a9ff%22%20stroke-opacity%3D%22.2%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M0-66c-21%2027-58%2046-58%2076%200%2023%2030%2034%2048%2017-1%2018-8%2028-20%2037h60C18%2055%2011%2045%2010%2027c18%2017%2048%206%2048-17C58-20%2021-39%200-66Z%22%20fill%3D%22%23111b59%22%20transform%3D%22translate(2%204)%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M0-66c-21%2027-58%2046-58%2076%200%2023%2030%2034%2048%2017-1%2018-8%2028-20%2037h60C18%2055%2011%2045%2010%2027c18%2017%2048%206%2048-17C58-20%2021-39%200-66Z%22%20fill%3D%22url(%23silver-face)%22%20stroke%3D%22%23edf3ff%22%20stroke-width%3D%221.3%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cpath%20d%3D%22M-117-30c21-32%2067-51%20117-49%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%2F%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%2Fg%3E%0A%20%20%20%20%20%20%20%20%20%20%3C%2Fsvg%3E"); }
.theme-nocturne .display-official-logo { width: 42px; height: 68px; mix-blend-mode: screen; }
