/* Crown Circuit overlay. White 900 text with a #25263e outline on a transparent stage, no plates or text shadows. Shared shell bytes stay unchanged. */
html.tt-shell .gift-copy small { display:block; color:var(--muted); font-size:14px; margin-top:5px; }
.source-page #cc-stage { position:absolute; width:1080px; height:1920px; transform-origin:top left; color:#ffffff; font-family:system-ui, sans-serif; }
.source-page #cc-stage * { box-sizing:border-box; }
html.source-page[data-transparent="0"] body { background:#16181b; }
.cc-top, .cc-mode, .cc-ring, .cc-legend, .cc-result, .cc-board, .cc-callout, .cc-recent { -webkit-text-stroke:10px #25263e; paint-order:stroke fill; stroke-linejoin:round; text-shadow:none; font-weight:900; }
.cc-top { position:absolute; left:40px; right:40px; top:34px; display:flex; justify-content:space-between; align-items:flex-start; }
.cc-brand { margin:0 0 6px; font-size:26px; letter-spacing:4px; color:#ffd43b; }
.cc-title h1 { margin:0; font-size:80px; line-height:1; letter-spacing:-2px; color:#ffffff; }
.cc-title h1 span { color:#ffd43b; }
.cc-count { text-align:right; }
.cc-count strong { display:block; font-size:52px; color:#ffd43b; font-variant-numeric:tabular-nums; }
.cc-count span { display:block; font-size:34px; margin-top:4px; }
.cc-mode { position:absolute; top:1730px; left:40px; right:40px; z-index:3; font-size:28px; letter-spacing:3px; text-align:center; color:#ffd43b; }
.cc-mode:empty, .cc-callout:empty, .cc-recent:empty { display:none; }
.cc-ring { position:absolute; left:0; right:0; top:230px; height:720px; }
.cc-ring[hidden], .cc-legend[hidden], .cc-result[hidden] { display:none; }
#pads { position:absolute; inset:0; }
.cc-pad { position:absolute; width:180px; height:180px; margin:-90px 0 0 -90px; border-radius:50%; border:8px solid rgba(255,255,255,.8); display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; font-size:60px; line-height:1; transition:transform .3s ease, border-color .3s ease; }
.cc-pad.owned { border-color:var(--team); background:var(--team-soft); }
.cc-pad.live { transform:scale(1.18); border-color:var(--team, #ffd43b); box-shadow:0 0 0 10px #ffd43b, 0 0 60px 16px var(--team, #ffd43b); }
.cc-pad.live.flash { animation:cc-flash .5s ease-out; }
@keyframes cc-flash { from { transform:scale(1.4); } to { transform:scale(1.18); } }
.cc-pad i { display:block; font-style:normal; font-size:30px; margin-top:6px; color:#ffd43b; }
.cc-pad em { display:block; font-style:normal; font-size:28px; margin-top:4px; }
.cc-crown { position:absolute; width:120px; height:84px; margin:-190px 0 0 -60px; transition:left .6s ease, top .6s ease; }
.cc-crown path { fill:#ffd43b; stroke:#25263e; stroke-width:8; stroke-linejoin:round; }
html[data-reduced-motion="1"] .cc-pad, html[data-reduced-motion="1"] .cc-crown { transition:none; animation:none; }
.cc-hub { position:absolute; left:340px; width:400px; top:280px; text-align:center; }
.cc-secs { margin:0; font-size:130px; line-height:1; color:#ffd43b; font-variant-numeric:tabular-nums; }
.cc-hub-line { margin:10px 0 0; font-size:44px; line-height:1.1; color:var(--team, #ffffff); }
.cc-legend { position:absolute; left:70px; right:70px; top:230px; display:flex; flex-direction:column; align-items:center; text-align:center; }
.cc-legend h2 { margin:0; font-size:46px; letter-spacing:2px; color:#ffd43b; }
.cc-chips { display:flex; gap:18px; margin-top:16px; }
.cc-chip { width:220px; border:6px solid var(--team); border-radius:26px; padding:10px 8px; font-size:40px; line-height:1.05; color:#ffffff; }
.cc-chip small { display:block; font-size:28px; margin-top:4px; color:#e9e9f2; }
.cc-rows { width:100%; display:flex; flex-direction:column; gap:10px; margin-top:20px; }
.cc-row { display:grid; grid-template-columns:76px 1fr; align-items:center; gap:20px; text-align:left; border:6px solid #ffd43b; border-radius:24px; padding:6px 20px; }
.cc-row .icon { width:72px; height:72px; display:flex; align-items:center; justify-content:center; font-size:50px; color:#ffd43b; }
.cc-row .icon img { width:70px; height:70px; object-fit:contain; }
.cc-row b { display:block; font-size:38px; line-height:1.05; color:#ffffff; }
.cc-row i { display:block; font-style:normal; font-size:27px; margin-top:4px; color:#ffd43b; }
.cc-prompt { margin:16px 0 0; font-size:46px; color:#ffd43b; }
.cc-result { position:absolute; left:100px; right:100px; top:260px; display:flex; flex-direction:column; align-items:center; text-align:center; border:8px solid var(--team, #ffd43b); border-radius:36px; padding:30px; }
.cc-kicker { margin:0; font-size:34px; letter-spacing:5px; color:#ffd43b; }
.cc-champ { margin:10px 0 0; font-size:92px; line-height:1.02; color:var(--team, #ffffff); }
.cc-result p.line { margin:16px 0 0; font-size:46px; }
.cc-result p.line b { color:#ffd43b; }
.cc-result p.next { margin:24px 0 0; font-size:36px; color:#e9e9f2; }
.cc-board { position:absolute; left:50px; right:50px; top:1090px; display:flex; flex-direction:column; gap:12px; }
.cc-team { display:grid; grid-template-columns:300px 1fr 180px 120px; align-items:center; gap:18px; border:6px solid var(--team); border-radius:26px; padding:8px 20px; }
.cc-team.lead { border-width:10px; padding:4px 16px; }
.cc-team b { display:block; font-size:46px; line-height:1; color:var(--team); }
.cc-team small { display:block; white-space:nowrap; font-size:26px; margin-top:6px; color:#e9e9f2; }
.cc-bar { height:34px; border:5px solid #ffffff; border-radius:20px; overflow:hidden; }
.cc-fill { height:100%; width:0; background:var(--team); transition:width .25s ease; }
.cc-num { font-size:54px; text-align:right; font-variant-numeric:tabular-nums; color:#ffffff; }
.cc-pts { font-size:48px; text-align:right; color:#ffd43b; font-variant-numeric:tabular-nums; }
.cc-num.pop, .cc-pts.pop { animation:cc-pop .35s ease-out; }
@keyframes cc-pop { from { transform:scale(1.25); } to { transform:scale(1); } }
.cc-callout { position:absolute; left:80px; right:80px; top:1600px; margin:0; text-align:center; font-size:58px; line-height:1.1; color:var(--team, #ffd43b); }
.cc-recent { position:absolute; left:100px; right:100px; top:1790px; margin:0; display:flex; align-items:center; justify-content:center; gap:16px; font-size:34px; text-align:center; }
.cc-recent .tt-core-avatar { background:transparent; border:2px solid #ffd43b; -webkit-text-stroke:4px #25263e; paint-order:stroke fill; flex:none; }
.source-page #cc-stage .tt-core-overlay-status { position:absolute; left:200px; top:300px; width:680px; max-width:none; transform:none; margin:0; z-index:4; }
.source-page #cc-stage .tt-core-notice { font-size:30px; padding:20px; }
.source-page #cc-stage .tt-core-notice strong { font-size:32px; }
