/* Game Day hub: live on the Realm map while games are on. */
.gameday{display:grid;gap:10px;margin:0 0 16px;padding:14px 16px;border:1px solid #3fbf5a88;border-radius:16px;
 background:radial-gradient(60% 80% at 0 0,#1f6b3133,transparent 70%),linear-gradient(180deg,#10182a,#0b1020);box-shadow:0 0 28px #3fbf5a22}
.gameday[hidden]{display:none}
.gd-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px}
.gd-live{padding:2px 8px;border-radius:999px;background:#ff4d4d22;color:#ff8080;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.gd-live::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#ff4d4d;box-shadow:0 0 8px #ff4d4d;animation:gd-blink 1s steps(2) infinite}
@keyframes gd-blink{50%{opacity:.25}}
.gd-title{margin:0;font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase}
.gd-count{color:var(--muted,#9aa6bd);font-size:.8rem}
.gd-standing{display:flex;align-items:baseline;gap:10px}
.gd-rank{color:#ffd76b;font:900 1.6rem/1 ui-monospace,Menlo,monospace;text-shadow:0 0 12px #ffb80066}
.gd-score{color:var(--text,#f3efe6);font-size:.9rem}
.gd-games{display:flex;gap:8px;margin:0;padding:0 0 4px;overflow-x:auto;list-style:none}
.gd-game{display:flex;flex:none;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--line,#ffffff22);border-radius:10px;background:#05070d;font-variant-numeric:tabular-nums}
.gd-team{font-weight:800}.gd-pts{color:#ffd76b;font-family:ui-monospace,Menlo,monospace}.gd-at{color:var(--muted,#9aa6bd)}
.gd-state{margin-left:4px;color:#8ff07a;font-size:.68rem;font-weight:800;text-transform:uppercase}
.gd-feed-title{margin:2px 0 0;color:#8ff07a;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}
.gd-feed{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.gd-td{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:.85rem}.gd-td small{color:var(--muted,#9aa6bd)}
.gd-td.is-empty{color:var(--muted,#9aa6bd);font-size:.8rem}
.gd-actions{display:flex;flex-wrap:wrap;gap:8px}
@media(prefers-reduced-motion:reduce){.gd-live::before{animation:none}}
.gd-tag{padding:2px 8px;border-radius:999px;background:#ffd76b22;color:#ffd76b;font-size:.68rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.gd-state.is-final{color:var(--muted,#9aa6bd)}
.gd-podium{display:grid;gap:3px;margin:0;padding-left:22px;font-size:.88rem}.gd-podium .is-you{color:#ffd76b;font-weight:800}
.gd-delayed{margin-left:4px;color:#ffb36b;font-size:.68rem;font-weight:800}
.gd-night{margin-left:4px;padding:0 6px;border-radius:999px;background:#2b2350;color:#cbb8ff;font-size:.62rem;font-weight:900;letter-spacing:.08em}
/* Game Day room: who's watching + quick reactions. */
.gd-room{position:relative;display:grid;gap:6px}
.gd-watching{margin:0;color:var(--muted,#9aa6bd);font-size:.82rem}
.gd-watching.is-guest{cursor:pointer;text-decoration:underline dotted}
.gd-reactions{display:flex;flex-wrap:wrap;gap:6px}
.gd-reactions[hidden]{display:none}
.gd-react{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:4px 10px;border:1px solid var(--line,#ffffff22);border-radius:999px;
 background:#05070d;color:var(--text,#f3efe6);font:inherit;cursor:pointer;transition:transform .12s ease,border-color .12s ease}
.gd-react:hover,.gd-react:focus-visible{border-color:#3fbf5a}
.gd-react-emoji{font-size:1.05rem;line-height:1}
.gd-react-count{min-width:1ch;color:#ffd76b;font:800 .72rem/1 ui-monospace,Menlo,monospace}
.gd-react.is-popped{animation:gd-pop .25s ease}
@keyframes gd-pop{50%{transform:scale(1.18)}}
.gd-bursts{position:absolute;inset:auto 0 100% 0;height:0;pointer-events:none}
.gd-burst{position:absolute;bottom:0;font-size:1.5rem;animation:gd-float 2s ease-out forwards}
@keyframes gd-float{from{opacity:1;transform:translateY(0) scale(.9)}to{opacity:0;transform:translateY(-90px) scale(1.25)}}
.gd-room-note{color:#ffb36b;font-size:.72rem}.gd-room-note:empty{display:none}
@media(prefers-reduced-motion:reduce){.gd-react,.gd-react.is-popped,.gd-burst{animation:none;transition:none}}
