/* Audience skin. Geometry and font fitting stay in the existing format layouts. */
.overlay{background:#26252b;color:#f4f1f8}
.overlay #stage{background:linear-gradient(#00000057,#00000057),var(--arena-image,url("assets/arena-bunker-still.png")) center/cover no-repeat,#29282d;border:0}
.overlay #bracket{position:absolute;inset:0}
.overlay .stage-title{z-index:1;top:90px}
.overlay .swiss-stage .stage-title{top:80px}
.overlay .double-stage .stage-title{top:65px}
.overlay .stage-title .eyebrow{display:none}
.overlay .stage-title h1{color:#f6f2fc;text-shadow:0 3px 5px #16131c50;letter-spacing:2px;background:none;filter:none;-webkit-text-stroke:0}
.overlay .stage-title p{color:#bda9e6;text-shadow:none;letter-spacing:4px}
.overlay .stage-title p:not(:empty):before,.overlay .stage-title p:not(:empty):after{background:linear-gradient(90deg,transparent,#b7a1ee60)}
.overlay #stage .match-card{border:1px solid #57515f;outline:0;border-radius:9px;background:linear-gradient(145deg,#36333c,#2d2b32);box-shadow:4px 5px 12px #16141b60,-2px -2px 6px #ffffff04}
.overlay #stage .match-card:before,.overlay #stage .match-card:after{content:none}
.overlay #stage .match-card[data-status=ready]{border-color:#eee3ff;background:linear-gradient(145deg,#4c425d,#3c3448);box-shadow:0 0 0 1px #ddcaff,0 0 6px #eee2ffaa,0 0 17px #c9afff85,0 0 30px #ae8bf545,inset 0 1px #f4eaff20,0 4px 10px #17131e55}
.overlay #stage .match-card[data-status=done]{border-color:#514b5b;background:#2b2930;box-shadow:0 3px 8px #16141b40}
.overlay .slot{padding:0 0 0 7px;gap:6px;font-weight:700;border-bottom:1px solid #ffffff0d;color:#f4f1f8}
.overlay .slot .name{text-shadow:none;text-align:center}
.overlay .slot .race{width:26px;flex:0 0 26px;text-align:center;font-size:17px}
.overlay .slot .race-emblem{width:27px;flex-basis:27px;height:29px;color:var(--race-light);filter:none}
.overlay .slot .race-emblem.P{height:32px;width:23px;flex-basis:23px;margin:0 2px}
.overlay .slot .score-value{align-self:stretch;display:flex;align-items:center;justify-content:center;width:29px;flex:0 0 29px;background:#242129;border:0;border-left:1px solid #ffffff0b;border-radius:4px;color:#f6f0ff!important;font-size:23px!important;box-shadow:inset 1px 1px 3px #17131d50}
.overlay .slot.win{background:#b7a1ee0c;color:#fff}
.overlay .slot.lose{opacity:1;background:none}
.overlay .slot.lose .name,.overlay .slot.lose .race{color:#aaa2b3;opacity:.55;filter:none}
.overlay .slot.lose .score-value{opacity:.55}
.overlay .slot.empty{color:#a7a0b3;font-weight:400}
.overlay .round-label,.overlay .de-round{color:#d7cce8;text-shadow:none;letter-spacing:1px}
.overlay .round-label{font-size:18px;line-height:24px}
.overlay .round-label.active-round,.overlay .de-round.active-round,.overlay .sg-active>h3,.overlay .sg-active>h3>span{color:#f3eaff;text-shadow:0 0 7px #d8baff80,0 0 16px #ba91ff50}
.overlay .round-label.active-round:after{background:#e2ceff;box-shadow:0 0 9px #c9a4ff88}
.overlay .wire{stroke:#82788e;stroke-width:2;opacity:.65}.overlay .wire.won{stroke:#baa7dc;opacity:.9}
.overlay .de-heading{color:#f2edf8}.overlay .de-heading small{color:#b4a4c9}
.overlay #stage .sg-group{background:linear-gradient(145deg,#36333c,#2d2b32);border:1px solid #57515f;border-radius:10px;box-shadow:4px 5px 12px #16141b55}
.overlay #stage .sg-group.sg-active{border-color:#eee3ff;background:linear-gradient(145deg,#453c54,#362f42);box-shadow:0 0 0 1px #ddcaff,0 0 6px #eee2ffaa,0 0 17px #c9afff85,0 0 30px #ae8bf545,inset 0 1px #f4eaff20,0 4px 10px #17131e55}
.overlay #stage.swiss-stage .sg-match{border:0;border-bottom:1px solid #ffffff0d;border-radius:0;box-shadow:none;background:transparent}
.overlay #stage.swiss-stage .sg-match:last-child{border-bottom:0}
.overlay .sg-group>h3,.overlay .sg-group>h3>span{color:#d7cce8;text-shadow:none}
.overlay .sg-group>h3 small{color:#c1b6d0;text-shadow:none}
.overlay #stage .sg-result-panel{background:#2b2930;border:1px solid #514b5b;border-radius:10px;box-shadow:none}
.overlay #stage .sg-result-panel>h3{color:#a9a0b5;text-shadow:none}
.overlay #stage .sg-result-panel.qualified:has(.sg-result-player){background:#342d40;border-color:#b7a1ee;box-shadow:inset 0 2px #b7a1ee}
.overlay #stage .sg-result-panel.qualified:has(.sg-result-player)>h3{color:#d8c2ff;text-shadow:none}
.overlay .sg-result-player{color:#f4f1f8}.overlay .sg-result-empty{color:#aaa1b7}
.overlay #stage .champion{left:755px;top:748px;width:410px;height:130px;min-height:130px;padding:0;border:1px solid #57515f;border-radius:14px;background:linear-gradient(145deg,#35313d,#2c2932);box-shadow:5px 6px 16px #16131c60;filter:none;text-align:center;display:grid;place-items:center;isolation:isolate}
.overlay #stage .champion:before,.overlay #stage .champion:after{content:none}
.overlay .champion small{display:none}
.overlay #stage .champion>strong{position:relative;inset:auto;margin:0;padding:0 24px;width:100%;max-width:100%;font-size:23px;line-height:1.2;letter-spacing:1px;color:#c1b7cf;background:none;filter:none;text-shadow:none;overflow-wrap:anywhere;z-index:1}
.overlay #stage .champion.awarded{border-color:#e6d6ff;background:radial-gradient(ellipse at center,#514261 0%,#352e40 75%);box-shadow:inset 0 0 24px #cfb0ff24,0 0 8px #e5cfffaa,0 0 24px #bc8aff77,0 0 44px #9561e538,0 6px 16px #16131c60}
.overlay #stage .champion.awarded:before,.overlay #stage .champion.awarded:after{content:'';position:absolute;inset:-3px;padding:3px;border:0;border-radius:16px;pointer-events:none;background:conic-gradient(from var(--champion-angle),#9970db30 0deg,#be8cff 45deg,#fff 75deg,#fff 88deg,#9970db30 100deg,#9970db30 180deg,#be8cff 225deg,#fff 255deg,#fff 268deg,#9970db30 280deg);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude;animation:champion-orbit 3s linear infinite}
.overlay #stage .champion.awarded:before{inset:-7px;padding:7px;border-radius:20px;filter:blur(6px);opacity:.9}
.overlay #stage .champion.awarded>strong{font-size:34px;font-weight:800;color:#fff7ff;text-shadow:0 0 14px #d2adff35}
.overlay .champion-label{color:#cdb7f5;bottom:10px;line-height:14px}
@property --champion-angle{syntax:'<angle>';initial-value:0deg;inherits:false}
@keyframes champion-orbit{to{--champion-angle:360deg}}
@media(prefers-reduced-motion:reduce){.overlay #stage .champion.awarded:before,.overlay #stage .champion.awarded:after{animation:none}}
.overlay #offline{color:#d3bded}

/* Paint the frame above score cells so rounded corners remain continuous. */
.overlay #stage:not(.swiss-stage) .match-card:after{content:'';position:absolute;inset:-1px;border:1px solid;border-color:inherit;border-radius:inherit;pointer-events:none;z-index:3}
.overlay #stage:not(.swiss-stage) .match-card{overflow:visible}

/* Share the active frame treatment without clipping the winning row glow. */
.overlay #stage .slot.survivor-win{border-radius:6px;box-shadow:none;z-index:4;isolation:isolate}
.overlay #stage .slot.survivor-win:before{content:'';position:absolute;inset:0;border:1px solid #eee3ff;border-radius:6px;background:linear-gradient(145deg,#4c425d,#3c3448);box-shadow:0 0 0 1px #ddcaff,0 0 6px #eee2ffaa,0 0 17px #c9afff85,0 0 30px #ae8bf545,inset 0 1px #f4eaff20;pointer-events:none;z-index:-1}
/* Score fills stay inside the row silhouette instead of painting over its frame. */
.overlay #stage .slot.survivor-win .score-value{background:transparent;box-shadow:none;border-left-color:#ffffff0b}
.overlay #stage .slot.eliminated-player .name,.overlay #stage .slot.eliminated-player .race{color:#aaa2b3;opacity:.45;filter:none}
.overlay #stage .slot.eliminated-player .score-value{opacity:.5}

/* Video remains below bracket and title; image is the loading fallback. */
.overlay .arena-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;filter:brightness(.66)}
.overlay .arena-video[hidden]{display:none}
