:root {
  --ink: #faeed5;
  --muted: #c9bda4;
  --brass: #e7b55d;
  --source-bg: #202822;
}
* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; overflow: hidden; }
html.source-page, html.source-page body { background: var(--source-bg) !important; }
html.source-page[data-transparent="1"], html.source-page[data-transparent="1"] body { background: transparent !important; }
body { margin: 0; display: grid; place-items: center; color: var(--ink); font-family: Inter, "Segoe UI", sans-serif; }
[hidden] { display: none !important; }
.game-wrap { position: relative; width: min(100vw, 56.25vh); height: min(100vh, 177.7778vw); }
.seat-card {
  position: absolute; inset: 0; display: flex; flex-direction: column; gap: clamp(5px, 1.2vh, 12px);
  width: 100%; height: 100%; padding: clamp(10px, 2.15vh, 23px); overflow: hidden;
  border: clamp(3px, .55vh, 6px) solid #806b43; border-radius: 8px; background: #202822;
}
.seat-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; position: relative; z-index: 3; }
.seat-title { font-size: clamp(18px, 4.8vw, 52px); font-weight: 900; letter-spacing: .04em; }
.small { font-size: clamp(10px, 2.45vw, 26px); color: var(--muted); line-height: 1.35; }
.clock { font-size: clamp(28px, 7vw, 76px); font-weight: 900; font-variant-numeric: tabular-nums; }
.rules { display: flex; justify-content: space-between; gap: 8px; position: relative; z-index: 3; border-block: 1px solid #796d4e; padding: clamp(6px, 1.1vh, 12px) 0; font-size: clamp(9px, 2.1vw, 23px); }
.rules > div { flex: 1; }
.rules > div:nth-child(2) { text-align: center; }
.rules > div:last-child { text-align: right; }
.rules strong { display: block; color: #f6d28b; font-size: clamp(15px, 4.2vw, 45px); line-height: 1.1; }
.stage { position: relative; flex: 1; min-height: 0; display: flex; align-items: center; justify-content: center; background: #29382d; }
#seatCanvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.stage-label { position: absolute; z-index: 2; top: 12px; left: 12px; right: 12px; text-align: center; font-size: clamp(10px, 2.25vw, 24px); color: #e2d6b7; }
.holder { position: relative; z-index: 2; width: 76%; margin-top: 14%; text-align: center; pointer-events: none; }
.holder-avatar { display: flex; justify-content: center; margin: 0 auto clamp(5px, .75vh, 8px); }
.holder-avatar .tt-core-avatar { border: 2px solid #e3c586; box-shadow: 0 3px 12px #0008; }
.holder-name { display: block; overflow-wrap: anywhere; font-size: clamp(18px, 5.5vw, 59px); font-weight: 900; line-height: 1.05; text-shadow: 0 2px #111; }
.holder-total { display: block; margin-top: 7px; font-size: clamp(10px, 2.35vw, 25px); }
.result { position: absolute; z-index: 4; inset: auto 8px 10px; padding: 10px; border: 1px solid #a38c57; background: #162219f5; text-align: center; }
.result strong { display: block; overflow-wrap: anywhere; font-size: clamp(17px, 4.5vw, 48px); }
.play-instruction, .feed, .winners { position: relative; z-index: 3; margin: 0; text-align: center; }
.play-instruction { font-size: clamp(12px, 2.8vw, 30px); line-height: 1.35; font-weight: 750; }
.feed { min-height: 2.7em; color: #f4d59b; font-size: clamp(10px, 2.35vw, 25px); line-height: 1.35; overflow-wrap: anywhere; }
.winners { color: var(--muted); font-size: clamp(10px, 2.25vw, 24px); line-height: 1.35; }
.mode-badge { position: absolute; z-index: 8; top: 12px; left: 50%; transform: translateX(-50%); padding: 4px 10px; border-radius: 6px; background: #14161a; color: #ffd43b; font-weight: 800; }
.gift-rails { position: absolute; z-index: 5; inset: 0; pointer-events: none; }
.gift-rail { position: absolute; top: 0; bottom: 0; width: 18%; display: flex; flex-direction: column; justify-content: center; gap: clamp(8px, 1.8vh, 20px); padding-block: 34%; }
.gift-rail-left { left: 0; align-items: flex-start; background: linear-gradient(90deg, #101713d9, transparent); }
.gift-rail-right { right: 0; align-items: flex-end; background: linear-gradient(270deg, #101713d9, transparent); }
.rail-gift { width: 100%; display: grid; justify-items: center; gap: 3px; padding: clamp(5px, .8vh, 9px) 3px; text-align: center; text-shadow: 0 2px 3px #000; }
.rail-gift img { width: clamp(24px, 6.2vw, 67px); height: clamp(24px, 6.2vw, 67px); object-fit: contain; filter: drop-shadow(0 2px 3px #0008); }
.rail-gift strong { max-width: 100%; font-size: clamp(9px, 2.05vw, 22px); line-height: 1.12; overflow-wrap: anywhere; }
.rail-gift span { color: #f6d28b; font-size: clamp(8px, 1.8vw, 19px); line-height: 1.1; }
[data-tt-gift-icons="off"] .rail-gift img { display: none; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; } }
