/* Ball Pit Sweep: funfair colours, a vacuum hose 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 #bp-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 #bp-stage * { box-sizing:border-box; paint-order:stroke fill; stroke-linejoin:round; }
html.source-page[data-transparent="0"] body { background:#16181b; }
#bp-stage [hidden] { display:none; }
.bp-top { position:absolute; left:48px; right:48px; top:38px; display:flex; justify-content:space-between; align-items:flex-start; }
.bp-brand { color:#ffd43b; font-size:26px; letter-spacing:5px; margin:0 0 8px; }
.bp-top h1 { font-size:96px; line-height:1; margin:0; letter-spacing:-4px; }
.bp-top h1 span { color:#ffd43b; }
.bp-clock { text-align:right; font-variant-numeric:tabular-nums; }
.bp-clock strong { display:block; font-size:78px; line-height:1.05; color:#ffd43b; }
.bp-clock span { font-size:28px; display:block; margin-top:10px; letter-spacing:2px; }
.bp-hud { position:absolute; top:205px; left:48px; right:48px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.bp-hud p { margin:0; font-size:30px; }
.bp-hud > p { display:flex; align-items:baseline; gap:18px; }
.bp-hud > p b { font-size:78px; line-height:1; }
.bp-hud span { font-size:26px; color:#ffd43b; }
.bp-hud > div { display:flex; gap:28px; }
.bp-hud > div b { color:#ffd43b; }
.bp-legend { position:absolute; top:385px; left:60px; right:60px; text-align:center; background:transparent; }
.bp-legend h2 { font-size:42px; color:#ffd43b; margin:0; line-height:1.1; }
.bp-sub { font-size:30px; margin:14px 0 24px; }
#legend-rows { display:flex; flex-direction:column; gap:14px; }
.bp-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; }
.bp-row .icon { width:72px; height:72px; display:flex; align-items:center; justify-content:center; font-size:44px; }
.bp-row .icon img { width:70px; height:70px; object-fit:contain; }
.bp-row b { display:block; font-size:34px; line-height:1.05; }
.bp-row i { display:block; font-style:normal; font-size:26px; line-height:1.2; margin-top:5px; }
.bp-prompt { color:#ffd43b; font-size:32px; margin:18px 0 0; }
.bp-quick { position:absolute; left:48px; right:48px; top:1420px; display:flex; justify-content:space-between; gap:16px; }
.bp-quick span { font-size:23px; color:#ffd43b; }
.bp-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; }
.bp-crown { font-size:220px; color:#ffd43b; margin:0; line-height:1; }
@keyframes bp-glint { from { opacity:0; scale:.5; } to { opacity:1; scale:1; } }
.bp-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; }
.bp-result.lost { top:400px; min-height:590px; }
.bp-queue { position:absolute; left:48px; right:48px; top:1480px; margin:0; text-align:center; color:#ffd43b; font-size:32px; }
.bp-leaders { position:absolute; left:60px; right:60px; top:1550px; text-align:center; }
.bp-leaders h2 { font-size:26px; letter-spacing:3px; color:#ffd43b; margin:0 0 12px; }
.bp-leaders ol { display:flex; justify-content:center; gap:26px; list-style:none; margin:0; padding:0; }
.bp-leaders li { font-size:28px; max-width:290px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bp-leaders li:only-child { max-width:100%; }
.bp-callout { position:absolute; left:60px; right:60px; top:1670px; margin:0; text-align:center; color:#ffd43b; font-size:40px; line-height:1.15; overflow-wrap:anywhere; }
.bp-mode { position:absolute; top:1770px; left:40px; right:40px; font-size:24px; letter-spacing:3px; text-align:center; color:#ffd43b; }
.bp-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; }
.bp-recent .tt-core-avatar { background:transparent; border:2px solid #ffd43b; flex:none; }
.bp-footer { position:absolute; left:20px; right:20px; top:1880px; font-size:21px; text-align:center; margin:0; -webkit-text-stroke:5px #25263e; }
.bp-callout:empty, .bp-recent:empty, .bp-queue:empty, .bp-mode:empty { display:none; }
.source-page #bp-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 #bp-stage .tt-core-notice { font-size:28px; font-weight:900; padding:12px; background:transparent; border:0; box-shadow:none; }
.source-page #bp-stage .tt-core-notice strong { font-size:30px; }
#bp-stage:has(.tt-core-status[data-mode="live"][data-connected="false"]) :is(.bp-callout, .bp-mode, .bp-recent) { display:none; }

.bp-hose-state { position:absolute; top:305px; left:48px; right:48px; margin:0; font-size:30px; letter-spacing:2px; text-align:center; color:#ffd43b; }
.bp-hose-state:empty { display:none; }
.bp-pit { position:absolute; top:365px; left:48px; width:984px; height:1032px; }
.bp-pit canvas { display:block; height:100%; width:auto; max-width:100%; margin:0 auto; }
.bp-pit.with-legend { top:1130px; height:282px; }
.bp-more { position:absolute; left:0; right:0; top:18px; margin:0; text-align:center; font-size:34px; color:#ffd43b; }
.bp-more:empty { display:none; }
#winner { font-size:126px; line-height:1.05; margin:0; width:100%; overflow-wrap:anywhere; }
.bp-result.lost .bp-crown { color:#ff6b8b; }
