/* Swarm Summit overlay. Outlined text on a transparent stage, no plates behind text. Shared shell bytes stay unchanged. */
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:#fffaf0; font-family:inherit; }
.source-page #ss-stage * { box-sizing:border-box; }
html.source-page[data-transparent="0"] body { background:#16181b; }
.ss-top, .ss-stats, .ss-gifts, .ss-recent, .ss-callout, .ss-result, .ss-mode { -webkit-text-stroke:7px #0d0e10; paint-order:stroke fill; text-shadow:0 4px 0 #0d0e10, 0 0 16px #000c; }
.ss-top { position:absolute; left:40px; right:40px; top:34px; display:flex; justify-content:space-between; align-items:flex-end; }
.ss-brand { margin:0 0 6px; font-size:26px; letter-spacing:4px; font-weight:800; color:#ffd43b; }
.ss-title h1 { margin:0; font-size:84px; line-height:1; font-weight:900; letter-spacing:-2px; color:#fffaf0; }
.ss-title h1 span { color:#ffd43b; }
.ss-row { text-align:right; }
.ss-row strong { display:block; font-size:52px; font-weight:900; color:#ffd43b; font-variant-numeric:tabular-nums; }
.ss-row span { display:block; font-size:32px; font-weight:800; margin-top:4px; }
.ss-stats { position:absolute; left:40px; right:40px; top:196px; display:flex; justify-content:space-between; align-items:flex-start; }
.ss-stats p { margin:0; }
.ss-side { display:flex; flex-direction:column; min-width:300px; }
.ss-right { align-items:flex-end; }
.ss-side small { font-size:32px; font-weight:900; letter-spacing:2px; }
.ss-side strong { font-size:76px; line-height:1.05; font-weight:900; font-variant-numeric:tabular-nums; }
.ss-side span { font-size:28px; font-weight:800; color:#7ff0d0; min-height:34px; }
.ss-join { align-self:center; text-align:center; font-size:30px; font-weight:800; color:#ffd43b; max-width:360px; }
.ss-field { position:absolute; left:24px; top:340px; width:1032px; height:1150px; }
.ss-field canvas { display:block; width:100%; height:100%; }
.ss-callout { position:absolute; left:0; right:0; top:290px; margin:0; text-align:center; font-size:56px; font-weight:900; color:#ffd43b; }
.ss-callout:empty { display:none; }
.ss-result { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.ss-result[hidden] { display:none; }
.ss-result small { font-size:32px; font-weight:800; letter-spacing:5px; color:#ffe9a8; }
.ss-result strong { font-size:104px; line-height:1.05; font-weight:900; color:#ffd43b; margin:14px 20px 18px; }
.ss-result p { margin:6px 0; font-size:40px; font-weight:800; }
.ss-gifts { position:absolute; left:24px; right:24px; top:1500px; display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
.ss-gift { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:14px 6px 12px; border:3px solid #ffd43b; border-radius:22px; }
.ss-gift[data-action=shield] { border-color:#7ff0d0; }
.ss-gift[data-action=swerve] { border-color:#ff9fd0; }
.ss-gift img { width:96px; height:96px; object-fit:contain; filter:drop-shadow(0 4px 6px #000c); }
.ss-gift strong { font-size:34px; font-weight:900; line-height:1.1; overflow-wrap:anywhere; }
.ss-gift span { font-size:28px; font-weight:800; color:#ffd43b; line-height:1.15; }
.ss-gift[data-action=shield] span { color:#7ff0d0; }
.ss-gift[data-action=swerve] span { color:#ffb3db; }
.ss-gift.empty { opacity:.7; }
.ss-gift.pop { animation:ss-pop .45s ease-out; }
@keyframes ss-pop { 0% { transform:scale(1.12); } 100% { transform:scale(1); } }
.ss-recent { position:absolute; left:40px; right:40px; top:1790px; margin:0; display:flex; align-items:center; justify-content:center; gap:16px; font-size:36px; font-weight:800; text-align:center; }
.ss-recent:empty { display:none; }
.ss-recent .tt-core-avatar { -webkit-text-stroke:0; text-shadow:none; flex:none; }
.ss-mode { position:absolute; top:300px; left:40px; right:40px; z-index:3; font-size:28px; font-weight:800; letter-spacing:3px; text-align:center; color:#ffd43b; }
.ss-mode:empty { display:none; }
html[data-tt-gift-icons=off] .ss-gift img { display:none; }
.source-page #ss-stage .tt-core-overlay-status { position:absolute; left:40px; top:340px; width:1000px; max-width:none; transform:none; margin:0; z-index:4; }
.source-page #ss-stage .tt-core-notice { font-size:30px; padding:20px; }
.source-page #ss-stage .tt-core-notice strong { font-size:32px; }
