/* Snake Showdown: two neon snakes and outlined text on a transparent stage. */
html.tt-shell .gift-copy small { display:block; color:var(--muted); font-size:14px; margin-top:5px; }
.source-page #ss-stage { position:absolute; width:1080px; height:1920px; transform-origin:top left; color:#fff; font-family:system-ui, sans-serif; font-weight:900; -webkit-text-stroke:8px #25263e; paint-order:stroke fill; stroke-linejoin:round; text-shadow:none; }
.source-page #ss-stage * { box-sizing:border-box; paint-order:stroke fill; stroke-linejoin:round; }
html.source-page[data-transparent="0"] body { background:#16181b; }
#ss-stage [hidden] { display:none; }
.ss-top { position:absolute; left:48px; right:48px; top:38px; display:flex; justify-content:space-between; align-items:flex-start; }
.ss-brand { color:#ffd43b; font-size:26px; letter-spacing:5px; margin:0 0 8px; }
.ss-top h1 { font-size:96px; line-height:1; margin:0; letter-spacing:-4px; }
.ss-top h1 span { color:#ffd43b; }
.ss-clock { text-align:right; font-variant-numeric:tabular-nums; }
.ss-clock strong { display:block; font-size:78px; line-height:1.05; color:#ffd43b; }
.ss-clock span { font-size:28px; display:block; margin-top:10px; letter-spacing:2px; }
.ss-legend { position:absolute; top:425px; left:60px; right:60px; text-align:center; background:transparent; }
.ss-legend h2 { font-size:42px; color:#ffd43b; margin:0; line-height:1.1; }
.ss-sub { font-size:30px; margin:14px 0 24px; }
#legend-rows { display:flex; flex-direction:column; gap:14px; }
.ss-row { display:grid; grid-template-columns:76px 1fr; align-items:center; gap:16px; border:4px solid #ffd43b; border-radius:24px; padding:12px 18px; text-align:left; }
.ss-row .icon { width:72px; height:72px; display:flex; align-items:center; justify-content:center; font-size:44px; }
.ss-row .icon img { width:70px; height:70px; object-fit:contain; }
.ss-row b { display:block; font-size:34px; line-height:1.05; }
.ss-row i { display:block; font-style:normal; font-size:26px; line-height:1.2; margin-top:5px; }
.ss-prompt { color:#ffd43b; font-size:32px; margin:18px 0 0; }
.ss-quick { position:absolute; left:48px; right:48px; top:1592px; display:flex; justify-content:space-between; gap:16px; }
.ss-quick span { font-size:23px; color:#ffd43b; }
.ss-result { position:absolute; left:60px; right:60px; top:400px; min-height:850px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; background:transparent; }
.ss-crown { font-size:220px; color:#ffd43b; margin:0; line-height:1; }
@keyframes ss-glint { from { opacity:0; scale:.5; } to { opacity:1; scale:1; } }
.ss-kicker { font-size:42px; letter-spacing:7px; color:#ffd43b; margin:28px 0; }
#result-detail { font-size:46px; margin:30px 0 0; }
#result-next { font-size:34px; margin:20px 0 0; }
.ss-result.lost { top:400px; min-height:590px; }
.ss-queue { position:absolute; left:48px; right:48px; top:1632px; margin:0; text-align:center; color:#ffd43b; font-size:32px; }
.ss-callout { position:absolute; left:60px; right:60px; top:1684px; margin:0; text-align:center; color:#ffd43b; font-size:40px; line-height:1.15; overflow-wrap:anywhere; }
.ss-mode { position:absolute; top:1770px; left:40px; right:40px; font-size:24px; letter-spacing:3px; text-align:center; color:#ffd43b; }
.ss-recent { position:absolute; top:1810px; left:65px; right:65px; display:flex; align-items:center; justify-content:center; gap:14px; font-size:24px; text-align:center; margin:0; }
.ss-recent .tt-core-avatar { background:transparent; border:2px solid #ffd43b; flex:none; }
.ss-footer { position:absolute; left:20px; right:20px; top:1880px; font-size:21px; text-align:center; margin:0; -webkit-text-stroke:5px #25263e; }
.ss-callout:empty, .ss-recent:empty, .ss-queue:empty, .ss-mode:empty { display:none; }
.source-page #ss-stage .tt-core-overlay-status { position:absolute; left:48px; top:1690px; width:984px; max-width:none; transform:none; margin:0; z-index:4; background:transparent; border:0; }
.source-page #ss-stage .tt-core-notice { font-size:28px; font-weight:900; padding:12px; background:transparent; border:0; box-shadow:none; }
.source-page #ss-stage .tt-core-notice strong { font-size:30px; }
#ss-stage:has(.tt-core-status[data-mode="live"][data-connected="false"]) :is(.ss-callout, .ss-mode, .ss-recent) { display:none; }

#winner { font-size:126px; line-height:1.05; margin:0; width:100%; overflow-wrap:anywhere; }
.ss-result.lost .ss-crown { color:#ff6b8b; }

.ss-score { position:absolute; top:200px; left:48px; right:48px; display:grid; grid-template-columns:1fr 90px 1fr; align-items:center; }
.ss-score p { margin:0; }
.ss-score .team { display:flex; flex-direction:column; }
.ss-score .team.b { align-items:flex-end; text-align:right; }
.ss-score .team b { font-size:40px; line-height:1; }
.ss-score .team.a b { color:#ff4f79; }
.ss-score .team.b b { color:#4cc9f0; }
.ss-score .team strong { font-size:72px; line-height:1.05; }
.ss-score .team span { font-size:24px; color:#ffd43b; }
.ss-score .vs { text-align:center; font-size:40px; color:#ffd43b; }
.ss-join { position:absolute; top:375px; left:48px; right:48px; margin:0; text-align:center; font-size:32px; color:#ffd43b; }
.ss-arena { position:absolute; top:420px; left:98px; width:884px; height:1156px; }
.ss-arena canvas { display:block; height:100%; width:auto; max-width:100%; margin:0 auto; }
.ss-arena.with-legend { top:1300px; height:300px; }
#winner { font-size:126px; line-height:1.05; margin:0; width:100%; overflow-wrap:anywhere; }
#result-mvp { font-size:40px; margin:24px 0 0; color:#ffd43b; }
#result-mvp:empty { display:none; }
