/* Atlas applies the approved prediction-taste type and surface system.
   The full-screen Earth, edge rails and upper cup reserve retain their layout. */
@media (min-width:721px) {
  :root { --bg:#070b10; --text:#eeeae2; --muted:#95989e; --muted-strong:#c3c4c5; --accent:#c69b5a; --accent-soft:rgba(198,155,90,.10); --line:rgba(229,230,234,.10); }
  body { font-family:'Segoe UI','Microsoft YaHei UI','Microsoft YaHei',sans-serif; }
  .topbar { padding:0 32px; }
  .brand { margin-top:25px; font-size:20px; font-weight:650; letter-spacing:-.7px; }
  .brand-mark { display:none; }
  .brand-name span { color:#d8d3c7; }
  .topbar-tools { margin-top:25px; align-items:center; gap:20px; }
  .render-profile { font-size:10px; letter-spacing:.03em; opacity:1; }
  .motion-button { font-size:11px; letter-spacing:0; padding:7px 11px; border:1px solid rgba(229,230,234,.18); border-radius:7px; }
  .motion-button:hover { border-color:var(--accent); }
  .rail { border:0; box-shadow:none; background:linear-gradient(90deg,rgba(17,18,20,.62),rgba(17,18,20,.30)); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
  .rail-right { background:linear-gradient(270deg,rgba(17,18,20,.62),rgba(17,18,20,.30)); }
  .rail-right .rail-portal-slot { border-bottom:0; background:none; }
  .rail-header { padding-left:32px; padding-right:24px; }
  .rail-right .rail-header { padding-left:24px; padding-right:32px; }
  .rail-header h2 { font-size:24px; font-weight:500; letter-spacing:-.6px; }
  .rail-count,.rail-timezone { color:var(--muted); font-size:11px; letter-spacing:0; opacity:1; font-variant-numeric:tabular-nums; }
  .rail-guide { font-size:9px; letter-spacing:0; opacity:1; }
  .rail-header-meta { margin-top:8px; }
  .rail-entry { opacity:1; padding-left:32px; padding-right:24px; border-bottom-color:rgba(229,230,234,.08); transition:background 180ms ease,color 180ms ease; }
  .rail-entry:hover,.rail-entry.is-active { opacity:1; background:transparent; transform:none; padding-left:32px; }
  .rail-entry.is-active::before { display:none; }
  .rail-entry.is-locked::before { content:''; display:block; position:absolute; left:16px; top:24px; bottom:24px; width:2px; background:var(--accent); box-shadow:none; }
  .rail-entry.match-entry,.rail-entry.match-entry.is-active { padding-left:45px; padding-right:24px; }
  .rail-entry.match-entry.is-locked::before { left:29px; }
  .rail-entry.group-entry { min-height:58px; padding-top:16px; padding-bottom:16px; border-bottom:0; }
  .rail-entry.group-entry.is-locked::before { top:18px; bottom:18px; }
  .rail-entry.match-entry { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; min-height:78px; border-bottom:0; }
  .match-entry .entry-title { display:grid; gap:4px; white-space:normal; }
  .match-entry .entry-title>span { min-width:0; overflow-wrap:anywhere; }
  .match-entry .entry-meta { justify-content:flex-end; margin:0; }
  .entry-kickoff { display:grid; justify-items:end; gap:3px; white-space:nowrap; }
  .match-entry .entry-kickoff strong { color:var(--text); font-size:17px; font-weight:500; letter-spacing:.015em; line-height:1.25; }
  .entry-kickoff .kickoff-day { color:var(--muted); font-size:12px; }
  .entry-title { font-size:14px; font-weight:500; letter-spacing:0; }
  .entry-count { font-size:10px; letter-spacing:0; }
  .entry-meta { font-size:11px; }
  .entry-subtle { font-size:9px; letter-spacing:.02em; }
  .match-entry .entry-title { color:var(--text); font-size:13px; line-height:1.55; }
  .match-entry .entry-meta { color:var(--muted); }
  .entry-meta strong,.match-entry .entry-meta strong { color:var(--muted-strong); font-variant-numeric:tabular-nums; }
  .entry-action { font-size:9px; letter-spacing:0; opacity:1; }
.rail-scroll { scrollbar-width:thin; scrollbar-color:rgba(188,190,193,.45) transparent; will-change:scroll-position; }
  .rail-scroll::-webkit-scrollbar { width:4px; }
  .rail-scroll::-webkit-scrollbar-thumb { background:rgba(188,190,193,.45); border-radius:4px; }
  .stage-foot-meta .meta-divider,.rail-guide { display:none; }
  .rail-empty { align-content:start; padding-top:42px; text-align:left; }
  .rail-empty span { font-size:13px; letter-spacing:0; }
  .rail-empty small { font-size:11px; max-width:210px; }
  .stage-header { z-index:5; top:98px; left:clamp(250px,22vw,390px); right:clamp(250px,22vw,390px); padding:0 28px; }
  .stage-footer { z-index:5; }
  .lock-readout { margin-left:0; }
  .status-dot { box-shadow:0 0 0 4px var(--accent-soft); }
  .lock-readout strong { font-size:16px; letter-spacing:0; }
  .readout-label { display:none; }
  .stage-scope { display:none; }
  .globe-stage.has-selection .stage-footer { left:calc(clamp(250px,22vw,390px) + 28px); right:calc(clamp(250px,22vw,390px) + 28px); bottom:30px; }
  .globe-stage.has-selection .stage-footer strong { font-size:13px; letter-spacing:0; }
  .globe-stage.has-selection .stage-foot-meta { font-size:10px; letter-spacing:0; font-variant-numeric:tabular-nums; }
  .globe-coordinates { display:none; }
  .earth-model-switch { border:1px solid rgba(229,230,234,.21); border-radius:8px; background:rgba(27,29,32,.7); color:#d8d3c7; font-family:inherit; font-size:11px; letter-spacing:0; padding:10px 14px; }
  .earth-model-switch:hover { color:var(--text); border-color:var(--accent); }
  .topbar button:focus-visible,.rail-scroll:focus-visible,.rail-entry:focus-visible,.earth-model-switch:focus-visible { outline:2px solid #d8d3c7; outline-offset:4px; }
}

/* Selection hierarchy: competition headers read as quiet section markers; match
   rows remain a lighter, compact register beneath them. */
.competition-group + .competition-group { border-top:1px solid rgba(229,230,234,.08); }
.group-matches { overflow:clip; }
.group-matches[hidden] { display:none; }
.group-entry { cursor:pointer; }
.group-entry .entry-title { font-size:16px; font-weight:650; letter-spacing:.015em; }
.group-entry .entry-count { font-size:11px; }
.group-matches .match-entry { grid-template-columns:16px minmax(0,1fr) auto; gap:10px; min-height:64px; padding-top:12px; padding-bottom:12px; border-bottom:1px solid rgba(229,230,234,.055); }
.group-matches .match-entry + .match-entry { border-top:1px solid rgba(229,230,234,.035); }
.group-matches .match-entry .entry-title { display:flex; align-items:baseline; gap:.66em; min-width:0; white-space:nowrap; }
.group-matches .match-entry .entry-title > span { min-width:0; overflow:hidden; text-overflow:ellipsis; }
.match-vs { color:var(--muted); font-size:.78em; font-weight:450; flex:0 0 auto; }
.match-status { position:relative; display:block; width:14px; height:14px; border:1px solid currentColor; border-radius:50%; color:var(--text); opacity:.72; }
.match-status::after { content:""; position:absolute; inset:2px; border-radius:50%; background:transparent; }
.match-status.is-available { opacity:1; }
.match-status.is-available { color:#63d18f; border-color:currentColor; }
.match-status.is-available::after { background:currentColor; box-shadow:0 0 6px currentColor; animation:prediction-status-pulse 2.8s ease-out infinite; }
.match-status.is-started { color:#ffe18a; border-color:currentColor; animation:none; }
.match-status.is-started::after { background:currentColor; box-shadow:0 0 7px currentColor; }
@keyframes prediction-status-pulse { 0% { opacity:.68; box-shadow:0 0 3px 0 #63d18f88; } 62% { opacity:1; box-shadow:0 0 8px 3px #63d18f2e; } 100% { opacity:.68; box-shadow:0 0 3px 0 #63d18f00; } }
@media (prefers-reduced-motion: reduce) { .match-status.is-available::after { animation:none; } }
.match-entry .entry-title { font-size:14px; font-weight:550; line-height:1.25; }
.match-entry .entry-kickoff strong { font-size:17px; }
.group-empty { padding:10px 45px 16px; color:var(--muted); font-size:11px; opacity:.8; }
.match-notice { position:absolute; right:74px; bottom:5px; color:var(--muted-strong); font-size:10px; opacity:0; animation:match-notice-in 2.4s ease both; pointer-events:none; }
@keyframes match-notice-in { 0% { opacity:0; transform:translateY(3px); } 12%,78% { opacity:.8; transform:translateY(0); } 100% { opacity:0; transform:translateY(-2px); } }
.city-focus-label { position:absolute; z-index:8; padding:0; border:0; background:transparent; color:var(--text); font-family:'Microsoft YaHei UI','Microsoft YaHei','Segoe UI',sans-serif; font-size:17px; font-weight:600; line-height:1; letter-spacing:.01em; white-space:nowrap; pointer-events:none; transform-origin:center bottom; text-shadow:0 2px 8px rgba(0,0,0,.7); }
.city-focus-label.is-physical { font-size:24px; font-weight:620; letter-spacing:.025em; text-shadow:0 3px 18px rgba(0,0,0,.78),0 0 8px rgba(255,244,212,.2); }
@media (prefers-reduced-motion: reduce) { .match-notice { animation:none; opacity:.75; } }

/* A single archive entry leaves the upper cup reserve available. */
.rail-right .rail-portal-slot#cup-history{display:block;flex:0 0 33.333vh;padding:26px 24px;pointer-events:none;background:none;border:0}
.history-link{display:flex;align-items:center;justify-content:space-between;gap:30px;width:max-content;max-width:100%;padding:9px 13px;color:var(--text);font-size:16px;font-weight:550;text-decoration:none;pointer-events:auto;border:1px solid rgba(229,230,234,.22);border-radius:7px;background:rgba(10,14,18,.18);letter-spacing:.02em}
.history-link span{color:var(--accent);font-size:19px}.history-link:hover{color:var(--accent)}.history-link:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
@media(max-width:720px){.rail-right .rail-portal-slot#cup-history{flex:0 0 65px;padding:10px 16px}.history-link{font-size:13px;gap:16px}}
@media (max-width:720px) {
  .group-entry .entry-title { font-size:14px; }
  .group-matches .match-entry { grid-template-columns:14px minmax(0,1fr) auto; gap:7px; }
  .group-matches .match-entry .entry-title { gap:.5em; font-size:12px; }
  .group-empty { padding-left:34px; }
  .city-focus-label { font-size:10px; }
  .city-focus-label.is-physical { font-size:16px; }
}
