/* Drop Zone Dash 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 #dz-stage { position:absolute; width:1080px; height:1920px; transform-origin:top left; color:#fffaf0; font-family:inherit; }
.source-page #dz-stage * { box-sizing:border-box; }
html.source-page[data-transparent="0"] body { background:#16181b; }
.dz-top, .dz-stats, .dz-gifts, .dz-recent, .dz-callout, .dz-result, .dz-mode { -webkit-text-stroke:7px #0d0e10; paint-order:stroke fill; text-shadow:0 4px 0 #0d0e10, 0 0 16px #000c; }
.dz-top { position:absolute; left:40px; right:40px; top:34px; display:flex; justify-content:space-between; align-items:flex-end; }
.dz-brand { margin:0 0 6px; font-size:26px; letter-spacing:4px; font-weight:800; color:#ffd43b; }
.dz-title h1 { margin:0; font-size:84px; line-height:1; font-weight:900; letter-spacing:-2px; color:#fffaf0; }
.dz-title h1 span { color:#ffd43b; }
.dz-wave { text-align:right; }
.dz-wave strong { display:block; font-size:52px; font-weight:900; color:#ffd43b; font-variant-numeric:tabular-nums; }
.dz-wave span { display:block; font-size:32px; font-weight:800; margin-top:4px; }
.dz-stats { position:absolute; left:40px; right:40px; top:200px; display:flex; justify-content:space-between; align-items:flex-end; }
.dz-stats p { margin:0; display:flex; flex-direction:column; }
.dz-stats small { font-size:26px; font-weight:800; letter-spacing:3px; color:#ffe9a8; }
.dz-stats strong { font-size:64px; line-height:1.05; font-weight:900; font-variant-numeric:tabular-nums; }
.dz-score strong { color:#ffd43b; }
.dz-lives { align-items:center; }
.dz-lives span { font-size:58px; line-height:1.1; letter-spacing:6px; color:#ff6b5a; }
.dz-lives span i { font-style:normal; }
.dz-lives span i.lost { color:#6b6f75; }
.dz-shield { align-items:flex-end; }
.dz-shield strong { color:#7ff0d0; }
.dz-field { position:absolute; left:24px; top:330px; width:1032px; height:1150px; }
.dz-field canvas { display:block; width:100%; height:100%; }
.dz-callout { position:absolute; left:0; right:0; top:28px; margin:0; text-align:center; font-size:52px; font-weight:900; color:#ffd43b; }
.dz-callout:empty { display:none; }
.dz-result { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; }
.dz-result[hidden] { display:none; }
.dz-result small { font-size:32px; font-weight:800; letter-spacing:5px; color:#ffe9a8; }
.dz-result strong { font-size:130px; line-height:1.05; font-weight:900; color:#ffd43b; margin:14px 0 18px; }
.dz-result.lost strong { color:#ff7a66; }
.dz-result p { margin:6px 0; font-size:40px; font-weight:800; }
.dz-gifts { position:absolute; left:24px; right:24px; top:1500px; display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; }
.dz-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; }
.dz-gift[data-action=shield] { border-color:#7ff0d0; }
.dz-gift[data-action=parcel] { border-color:#ff9fd0; }
.dz-gift img { width:96px; height:96px; object-fit:contain; filter:drop-shadow(0 4px 6px #000c); }
.dz-gift strong { font-size:34px; font-weight:900; line-height:1.1; overflow-wrap:anywhere; }
.dz-gift span { font-size:28px; font-weight:800; color:#ffd43b; line-height:1.15; }
.dz-gift[data-action=shield] span { color:#7ff0d0; }
.dz-gift[data-action=parcel] span { color:#ffb3db; }
.dz-gift.empty { opacity:.7; }
.dz-gift.pop { animation:dz-pop .45s ease-out; }
@keyframes dz-pop { 0% { transform:scale(1.12); } 100% { transform:scale(1); } }
.dz-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; }
.dz-recent:empty { display:none; }
.dz-recent .tt-core-avatar { -webkit-text-stroke:0; text-shadow:none; flex:none; }
.dz-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; }
.dz-mode:empty { display:none; }
html[data-tt-gift-icons=off] .dz-gift img { display:none; }
.source-page #dz-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 #dz-stage .tt-core-notice { font-size:30px; padding:20px; }
.source-page #dz-stage .tt-core-notice strong { font-size:32px; }
