/* KTV lounge v2: a rendered room, a smoked-glass table, quiet control surfaces. */
body.depth-theme {
 --bg:#101024;--surface:#211c39;--line:#aaa2ed30;--text:#f3f1ff;--muted:#ada8ca;--gold:#77e8ed;--gold-dark:#3494ad;--green:#b3dafa;
 color:#f3f1ff;background:radial-gradient(ellipse at 0 0,#45244f66,transparent 60%),radial-gradient(ellipse at 100% 90%,#16416555,transparent 65%),#101024;
}
body.depth-theme .topbar{border-color:#a89ce919}
body.depth-theme .brand h1{color:#f6f2ff;text-shadow:none}
body.depth-theme .brand-icon{background:linear-gradient(135deg,#83f2f1,#a7b5ff);color:#222543;box-shadow:0 0 16px #69dfe625,inset 0 1px 0 #fff8}
body.depth-theme .topbar .quiet-button,body.depth-theme .topbar .social-chat-toggle{color:#cbc6ef;border:1px solid #a597de24;background:#24213699;box-shadow:none;text-shadow:none}
body.depth-theme .topbar .social-chat-toggle{color:#78e5e8;border-color:#73e6ea55;background:#1b2d3c}
body.depth-theme .game-meta{color:#b3afca}
body.depth-theme .mode-tag{color:#8ae9ed;background:#5ee2ed13;border-color:#71e6e829}
body.depth-theme .table-label,body.depth-theme .stage-eyebrow{color:#bcb6d9;text-shadow:none}
body.depth-theme .round-label{color:#e3dbff;border:1px solid #a28aec50;background:#2b2345;box-shadow:none}
body.depth-theme .turn-message,body.depth-theme .bid-unit{color:#ddd8f2;text-shadow:none}
body.depth-theme .turn-light{background:#7bf2ed;box-shadow:0 0 8px #69e8ed77}
body.depth-theme .turn-clock{color:#c8f8ff;border-color:#67dfea55;background:#15384a;box-shadow:none}
body.depth-theme .turn-clock.urgent{color:#ffc3ea;border-color:#ec69cb;background:#42213b}
body.first-person-demo.at-table .table{border:1px solid #a398d326;background:#121322;box-shadow:inset 0 1px 0 #cec2ff0d,0 10px 30px #06051466}
/* The rear wall is a separate stage; seats never enter its reserved band. */
body.first-person-demo.at-table .table-arena{perspective:900px;container-type:size;--tv-height:76px;--tv-gap:8px}
body.first-person-demo.at-table .table-arena::before{
 inset:25% 0 5%;z-index:-1;border:5px solid #687888;border-radius:18% 18% 10% 10% / 12% 12% 7% 7%;transform:rotateX(25deg);transform-origin:50% 55%;
 background:radial-gradient(ellipse at 52% 20%,#354456aa,transparent 68%),linear-gradient(118deg,#243244,#111c30 42%,#2d2940 100%);
 box-shadow:inset 0 0 0 2px #101c2c,inset 0 0 0 4px #77dbef24,inset 0 18px 25px #070d234d,0 2px 0 #b9dded,0 5px 0 #203c51,0 7px 0 #69dfee,0 17px 0 #121422,0 21px 20px #060713c9;
}
body.first-person-demo.at-table .table-arena::after{
 inset:28% 3% 8%;z-index:-1;border:1px solid #92b8d13b;border-radius:18% 18% 10% 10% / 12% 12% 7% 7%;transform:rotateX(25deg);pointer-events:none;
 background:linear-gradient(115deg,transparent 22%,#bfd6f20a 22.3%,#c7e7ff09 25%,transparent 25.4%,transparent 62%,#c9dfff07 62.4%,transparent 73%),repeating-linear-gradient(8deg,#d5f5ff02 0 1px,transparent 1px 4px);
 box-shadow:inset 0 -1px 0 #b5e5f11a,inset 0 3px 15px #050c163b;
}
.ktv-room{--room-overhang:30px;position:absolute;inset:-30px -9px -12px;z-index:-2;pointer-events:none;overflow:hidden;border-radius:18px;background:linear-gradient(180deg,#14132cbb,#11142340 28%,#1012227c),url('./ktv-room-v2.webp') center 34% / cover no-repeat,#161528}
.ktv-room::before{content:"";position:absolute;top:0;left:28%;right:28%;height:calc(var(--room-overhang) + 8px);background:linear-gradient(90deg,transparent,#19182b 12% 88%,transparent)}
.ktv-room::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080c2055,transparent 30% 70%,#080c2044);box-shadow:inset 0 -24px 30px #121322}
.ktv-stage{position:absolute;inset:0 5px auto;height:var(--tv-height);display:flex;align-items:center;justify-content:center;gap:clamp(9px,3.2cqw,32px);isolation:isolate;overflow:hidden;background:linear-gradient(90deg,transparent,#191a2ddd 17% 83%,transparent);border-bottom:1px solid #a5cfff15}
.ktv-screen{position:relative;flex:0 1 66%;height:calc(100% - 6px);min-width:0;padding:6px 0 4px;border:3px solid #0a0c17;border-radius:5px;background:radial-gradient(ellipse at 20% 0,#365c94a6,transparent 75%),radial-gradient(ellipse at 90% 70%,#92378466,transparent 75%),#13182f;box-shadow:0 0 0 1px #5c6680,inset 0 0 20px #3d65a02b,0 0 12px #68cdf525;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}
.ktv-screen::before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid #70f3ef65;border-radius:2px;background:linear-gradient(90deg,transparent 12%,#70f3ef 28%,#ad73ff 48%,#fa60cc 64%,transparent 82%) 0 0 / 240% 2px no-repeat,linear-gradient(90deg,transparent 12%,#fa60cc 28%,#ad73ff 48%,#70f3ef 64%,transparent 82%) 100% 100% / 240% 2px no-repeat;box-shadow:inset 0 0 7px #ad73ff25;animation:ktv-edge-chase 4.6s linear infinite}
.ktv-screen::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(118deg,transparent 38%,#b6f6ff13 47%,#fa60cc0d 51%,transparent 59%) -180% 0 / 230% 100% no-repeat;border-top:1px solid #c7deff3d;animation:ktv-glass-sweep 7s ease-in-out infinite}
.ktv-brand-image{display:none}
.ktv-screen.has-merchant-brand{
 display:grid;grid-template-columns:45% minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;
 column-gap:3px;padding:4px 0;background:linear-gradient(110deg,#321c19,#21172f 70%,#302047);
}
.ktv-screen.has-merchant-brand .ktv-brand-image{
 display:block;grid-column:1;grid-row:1 / 4;align-self:center;
 width:100%;height:100%;min-height:0;object-fit:contain;object-position:center;
 border-right:1px solid #ead39233;
}
.ktv-screen .ktv-brand-image[hidden]{display:none}
.ktv-screen.has-merchant-brand>:is(.ktv-screen-top,.ktv-marquee,.screen-spectrum){grid-column:2;min-width:0}
.ktv-screen.has-merchant-brand .screen-live{color:#eddaa4;letter-spacing:.5px;font-size:clamp(8px,1.2cqw,12px)}
.ktv-screen.has-merchant-brand .screen-live::before{display:none}
.ktv-screen.has-merchant-brand .ktv-screen-top{padding-inline:5px;gap:3px}
.ktv-screen.has-merchant-brand #ktv-ad-label{font-size:6px;color:#bfb3c7}
.ktv-screen.has-merchant-brand #ktv-marquee-track [data-ad-copy]{padding:0 14px;font-size:clamp(12px,3.6cqw,20px);color:#fff0bf;text-shadow:0 0 9px #de9f623d}
.ktv-screen.has-merchant-brand .screen-spectrum{gap:2px;overflow:hidden;padding:0 5px}
.ktv-screen.has-merchant-brand .screen-spectrum i{flex:0 1 3px;min-width:1px}
.ktv-screen-top{display:flex;justify-content:space-between;align-items:center;gap:5px;padding:0 7px;font:500 7px/1.3 -apple-system,sans-serif;color:#aeb7d3;white-space:nowrap}
.screen-live{font-size:6px;letter-spacing:1px;color:#85e8f1}.screen-live::before{content:'';display:inline-block;width:3px;height:3px;border-radius:50%;background:#7cf7ef;margin-right:4px}
.ktv-marquee{overflow:hidden;min-height:20px;display:flex;align-items:center}
#ktv-marquee-track{display:flex;width:max-content;animation:ktv-marquee 23s linear infinite;will-change:transform}
#ktv-marquee-track [data-ad-copy]{flex:none;padding:0 24px;font-size:clamp(12px,3.6cqw,20px);font-weight:700;line-height:1.35;letter-spacing:.8px;white-space:nowrap;color:#eafaff;text-shadow:0 0 9px #76caff77}
.screen-spectrum{display:flex;align-items:end;justify-content:center;height:9px;gap:3px;opacity:.92;padding:0 8px}
.screen-spectrum i{display:block;width:3px;height:100%;background:linear-gradient(#b9fffb 0 13%,#70f3ef 15% 43%,#ad73ff 64%,#fa60cc);box-shadow:0 0 3px #ad73ff88;transform-origin:bottom;animation:ktv-equalizer 1.4s ease-in-out infinite alternate;animation-delay:calc(var(--i) * -190ms)}
.ktv-speaker{position:relative;flex:none;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;width:clamp(20px,6cqw,42px);height:calc(100% - 12px);padding:3px;border-radius:4px;border:1px solid #75849b78;background:linear-gradient(100deg,#1c2433,#090d16 44%,#192131);box-shadow:3px 4px 5px #02041380,inset 1px 0 1px #adc5e536;animation:ktv-cabinet-glow 1.3s ease-in-out infinite}
.ktv-speaker::before,.ktv-speaker::after{content:'';position:absolute;top:51%;left:50%;width:104%;aspect-ratio:1;border:2px solid #76f4ff;border-radius:50%;pointer-events:none;opacity:0;box-shadow:0 0 5px #6ae5f178;animation:ktv-sound-wave 1.3s ease-out infinite}
.ktv-speaker::after{border-color:#d991f5;animation-delay:-.65s;box-shadow:0 0 5px #c076ed66}
.speaker-tweeter{width:20%;aspect-ratio:1;border:1px solid #65738e;border-radius:50%;background:#070916}
.speaker-woofer{position:relative;display:block;width:86%;aspect-ratio:1;border:2px solid #394664;border-radius:50%;background:radial-gradient(circle,#1e2941 19%,#647393 22%,#131c31 28%,#303e59 49%,#172138 63%,#617189 67%,#0a101f 73%);box-shadow:0 0 0 1px #84c8e580,inset 0 0 4px #060817,0 0 5px #70dce54d;animation:ktv-woofer 650ms cubic-bezier(.2,.8,.3,1) infinite}
.speaker-woofer::before{content:'';position:absolute;inset:34%;border:1px solid #d6efff80;border-radius:50%;background:radial-gradient(circle at 35% 25%,#aec4dc,#4b6580 40%,#14233c);box-shadow:0 0 4px #9bebff66}
.speaker-meter{display:flex;gap:1px;height:8px;align-items:end;width:91%}.speaker-meter i{flex:1;height:100%;transform-origin:bottom;background:linear-gradient(#defdff 0 15%,#8ef5f4 16% 52%,#bd74ed 53%);box-shadow:0 0 5px #79dff388;animation:ktv-speaker-meter 780ms ease-in-out infinite;animation-delay:calc(var(--i) * -113ms)}
.ktv-beams{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.ktv-beams i{position:absolute;top:-10%;left:10%;width:45%;height:180%;transform-origin:top;clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);background:linear-gradient(#54cbf638,#b277ed04);animation:ktv-beam 10s ease-in-out infinite alternate}.ktv-beams i+ i{left:48%;background:linear-gradient(#c16adc32,#a78af204);animation-delay:-5s;animation-direction:alternate-reverse}
/* Confine the club's light show to the rear wall: the ad stays readable and the table stays still. */
.ktv-stage::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 9% 55%,#70f3ef38,transparent 26%),radial-gradient(ellipse at 91% 55%,#fa60cc38,transparent 26%),linear-gradient(0deg,#ad73ff20,transparent 38%);animation:ktv-wall-wash 4.6s ease-in-out infinite alternate}
.ktv-stage[data-music-playing=true]{--ktv-hit-scale:1.16;--ktv-hit-glow:#70f3ef99;--ktv-ring-scale:1.7}
.ktv-stage[data-music-playing=true][data-beat-accent=true]{--ktv-hit-scale:1.23;--ktv-hit-glow:#fa60ccbb;--ktv-ring-scale:2}
.ktv-stage[data-music-playing=true] .ktv-screen{border-color:#293d55;box-shadow:0 0 0 1px #70f3ef88,inset 0 0 20px #3d65a02b,0 0 14px #ad73ff44}
.ktv-stage[data-music-playing=true] .ktv-beams i{animation-duration:6.9s;background:linear-gradient(#70f3ef60,#ad73ff06)}
.ktv-stage[data-music-playing=true] .ktv-beams i+i{background:linear-gradient(#fa60cc50,#ad73ff06)}
.ktv-stage[data-music-playing=true] :is(.ktv-speaker,.speaker-woofer,.speaker-meter i,.screen-spectrum i),
.ktv-stage[data-music-playing=true] .ktv-speaker::before,.ktv-stage[data-music-playing=true] .ktv-speaker::after{animation:none}
.ktv-stage[data-music-playing=true] .ktv-speaker::before,.ktv-stage[data-music-playing=true] .ktv-speaker::after{border-color:#70f3ef;box-shadow:0 0 7px #70f3ef88}
.ktv-stage[data-music-playing=true] .ktv-speaker::after{border-color:#fa60cc;box-shadow:0 0 7px #fa60cc77}
.ktv-stage[data-music-playing=true] :is(.speaker-meter i,.screen-spectrum i){--ktv-bar-peak:.9;transform:scaleY(.2)}
.ktv-stage[data-music-playing=true] :is(.speaker-meter i,.screen-spectrum i):nth-child(3n){--ktv-bar-peak:.65}
.ktv-stage[data-music-playing=true] :is(.speaker-meter i,.screen-spectrum i):nth-child(4n+1){--ktv-bar-peak:1}
.ktv-stage[data-music-playing=true][data-beat] .speaker-woofer{animation:ktv-cone-hit-a var(--ktv-beat-duration) cubic-bezier(.12,.7,.2,1)}
.ktv-stage[data-music-playing=true][data-beat] .ktv-speaker{animation:ktv-bass-glow-a var(--ktv-beat-duration) ease-out}
.ktv-stage[data-music-playing=true][data-beat] .ktv-speaker::before,.ktv-stage[data-music-playing=true][data-beat] .ktv-speaker::after{animation:ktv-bass-ring-a var(--ktv-beat-duration) ease-out}
.ktv-stage[data-music-playing=true][data-beat] .ktv-speaker::after{animation-delay:70ms;animation-duration:calc(var(--ktv-beat-duration) - 70ms)}
.ktv-stage[data-music-playing=true][data-beat] :is(.speaker-meter i,.screen-spectrum i){animation:ktv-meter-hit-a var(--ktv-beat-duration) ease-out}
.ktv-stage[data-music-playing=true][data-beat=b] .speaker-woofer{animation-name:ktv-cone-hit-b}
.ktv-stage[data-music-playing=true][data-beat=b] .ktv-speaker{animation-name:ktv-bass-glow-b}
.ktv-stage[data-music-playing=true][data-beat=b] .ktv-speaker::before,.ktv-stage[data-music-playing=true][data-beat=b] .ktv-speaker::after{animation-name:ktv-bass-ring-b}
.ktv-stage[data-music-playing=true][data-beat=b] :is(.speaker-meter i,.screen-spectrum i){animation-name:ktv-meter-hit-b}
@keyframes ktv-edge-chase{to{background-position:240% 0,-140% 100%}}
@keyframes ktv-glass-sweep{0%,20%{background-position:-160% 0}75%,100%{background-position:160% 0}}
@keyframes ktv-wall-wash{from{opacity:.45}to{opacity:.95}}
@keyframes ktv-cone-hit-a{0%{transform:scale(.95)}15%{transform:scale(var(--ktv-hit-scale))}43%{transform:scale(.98)}65%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes ktv-cone-hit-b{0%{transform:scale(.95)}15%{transform:scale(var(--ktv-hit-scale))}43%{transform:scale(.98)}65%{transform:scale(1.04)}100%{transform:scale(1)}}
@keyframes ktv-bass-glow-a{0%,100%{border-color:#75849b78;box-shadow:3px 4px 5px #02041380}15%{border-color:#a8fffc;box-shadow:0 0 14px var(--ktv-hit-glow),inset 0 0 6px #70f3ef44}60%{border-color:#ad73ff99;box-shadow:0 0 6px #ad73ff55}}
@keyframes ktv-bass-glow-b{0%,100%{border-color:#75849b78;box-shadow:3px 4px 5px #02041380}15%{border-color:#a8fffc;box-shadow:0 0 14px var(--ktv-hit-glow),inset 0 0 6px #70f3ef44}60%{border-color:#ad73ff99;box-shadow:0 0 6px #ad73ff55}}
@keyframes ktv-bass-ring-a{0%{transform:translate(-50%,-50%) scale(.65);opacity:0}17%{opacity:.82}100%{transform:translate(-50%,-50%) scale(var(--ktv-ring-scale));opacity:0}}
@keyframes ktv-bass-ring-b{0%{transform:translate(-50%,-50%) scale(.65);opacity:0}17%{opacity:.82}100%{transform:translate(-50%,-50%) scale(var(--ktv-ring-scale));opacity:0}}
@keyframes ktv-meter-hit-a{0%{transform:scaleY(.25)}12%{transform:scaleY(var(--ktv-bar-peak))}42%{transform:scaleY(.44)}65%{transform:scaleY(calc(var(--ktv-bar-peak) * .8))}100%{transform:scaleY(.2)}}
@keyframes ktv-meter-hit-b{0%{transform:scaleY(.25)}12%{transform:scaleY(var(--ktv-bar-peak))}42%{transform:scaleY(.44)}65%{transform:scaleY(calc(var(--ktv-bar-peak) * .8))}100%{transform:scaleY(.2)}}
.table-inlay{position:absolute;top:45%;left:50%;transform:translate(-50%,-50%) perspective(500px) rotateX(20deg);text-align:center;color:#8db6cd30;pointer-events:none;z-index:-1;white-space:nowrap}.table-inlay span{display:block;font:500 clamp(12px,3.8cqw,25px)/1.5 -apple-system,sans-serif;letter-spacing:4px}.table-inlay small{font:500 5px/2 sans-serif;letter-spacing:2px}
@keyframes ktv-marquee{to{transform:translateX(-50%)}}
@keyframes ktv-equalizer{0%{transform:scaleY(.25)}45%{transform:scaleY(.8)}100%{transform:scaleY(.45)}}
@keyframes ktv-woofer{0%,100%{transform:scale(.95)}16%{transform:scale(1.12)}32%{transform:scale(.98)}46%{transform:scale(1.06)}70%{transform:scale(.96)}}
@keyframes ktv-sound-wave{0%{transform:translate(-50%,-50%) scale(.73);opacity:0}18%{opacity:.7}100%{transform:translate(-50%,-50%) scale(1.48);opacity:0}}
@keyframes ktv-cabinet-glow{0%,100%{border-color:#75849b78;box-shadow:3px 4px 5px #02041380,inset 1px 0 1px #adc5e536}22%,54%{border-color:#8ce7f3bb;box-shadow:3px 4px 5px #02041380,inset 1px 0 1px #adc5e536,0 0 8px #78d8ef55}}
@keyframes ktv-speaker-meter{0%,100%{transform:scaleY(.28)}18%{transform:scaleY(.96)}38%{transform:scaleY(.42)}61%{transform:scaleY(.83)}80%{transform:scaleY(.34)}}
@keyframes ktv-beam{from{transform:rotate(-20deg);opacity:.2}to{transform:rotate(25deg);opacity:.4}}
/* Full identity columns, measured independently of the amount text. */
body.first-person-demo.at-table .table .seats{inset:calc(var(--tv-height) + var(--tv-gap)) 0 0;height:auto;overflow:clip;--own-height:182px}
body.first-person-demo.at-table .table .seat,
body.first-person-demo.at-table .table .seat:nth-child(3),body.first-person-demo.at-table .table .seat:nth-child(4),body.first-person-demo.at-table .table .seat:nth-child(5){
 --seat-width:112px;--seat-height:88px;--portrait-width:54px;--portrait-size:48px;--cup-width:56px;--model-size:54px;column-gap:2px;
}
body.first-person-demo.at-table .table .seat:nth-child(3){left:max(calc(var(--seat-width)/2),16%);top:calc(var(--seat-height)/2)}
body.first-person-demo.at-table .table .seat:nth-child(4){left:50%;top:calc(var(--seat-height)/2)}
body.first-person-demo.at-table .table .seat:nth-child(5){left:min(calc(100% - var(--seat-width)/2),84%);top:calc(var(--seat-height)/2)}
body.first-person-demo.at-table .table .seat:nth-child(2){left:calc(var(--seat-width)/2);top:calc(100% - var(--own-height) + var(--seat-height)/2 + 12px)}
body.first-person-demo.at-table .table .seat:nth-child(6){left:calc(100% - var(--seat-width)/2);top:calc(100% - var(--own-height) + var(--seat-height)/2 + 12px)}
body.first-person-demo.at-table .table .seat.is-you{--seat-width:124px;--seat-height:var(--own-height);--portrait-width:114px;--portrait-size:38px;--cup-width:118px;--model-size:110px;left:50%;bottom:0;top:auto;display:block}
body.first-person-demo.at-table .table .seat.is-you .cup-space{position:absolute;top:0;left:50%;transform:translateX(-50%)}
body.first-person-demo.at-table .table .seat.is-you .cup-model{width:var(--model-size)}
body.first-person-demo.at-table .table .seat.is-you .seat-card{position:absolute;bottom:0;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:38px 68px;grid-template-rows:17px 20px;column-gap:6px;row-gap:0;width:112px;text-align:left}
body.first-person-demo.at-table .table .seat.is-you .seat-avatar{grid-column:1;grid-row:1 / 3}
body.first-person-demo.at-table .table .seat.is-you .seat-name{grid-column:2;grid-row:1;text-align:left}
body.first-person-demo.at-table .table .seat.is-you .seat-coins{grid-column:2;grid-row:2;justify-self:start}
body.first-person-demo.at-table .table .cup-model::before{content:'';position:absolute;inset:68% -2% 0;border:1px solid #94a7c73b;border-radius:50%;background:radial-gradient(ellipse,#1a213499,#202d4877);box-shadow:0 3px 0 #09101e,0 4px 5px #080b1866;z-index:-1}
body.first-person-demo.at-table .table .seat.is-you .cup-model::before{inset:65% -3% 0;border-color:#6bd7ec44}
body.first-person-demo.at-table .table .seat .seat-avatar{border-color:#9a9fb8;box-shadow:0 0 0 2px #14182c,0 3px 9px #02051466}
body.first-person-demo.at-table .table .seat.is-turn .seat-avatar{border-color:#8df8ef;box-shadow:0 0 0 2px #487783,0 0 0 4px #7ef2ff28,0 0 18px #50e4e744}
body.first-person-demo.at-table .table .seat .seat-name{font-size:12px;height:17px;line-height:17px;color:#f4f1ff;text-shadow:0 1px 3px #050918}
body.first-person-demo.at-table .table .seat .seat-coins{width:max-content;min-width:54px;max-width:none;min-height:18px;padding:1px 7px;font-size:11px;line-height:15px;border:1px solid #98b5e838;border-radius:20px;background:#131c32e8;color:#9ce9fa;box-shadow:inset 0 1px 0 #ffffff08;white-space:nowrap;flex-shrink:0}
body.first-person-demo.at-table .table .seat.is-you .seat-coins{font-size:12px;min-width:60px;line-height:16px}
body.first-person-demo.at-table .table .seat .dice-cup{filter:drop-shadow(-1px 0 1px #9bb9d955) drop-shadow(0 5px 3px #050717a0)}
body.first-person-demo.at-table .table .seat.is-you .dice-cup{opacity:.13}
body.first-person-demo.at-table .table.cups-shaking .seat.is-you .dice-cup{opacity:1}
body.first-person-demo.at-table .table .seat .seat-bid,body.first-person-demo.at-table .table .seat.is-you .seat-bid{width:max-content;min-width:62px;height:25px;gap:3px;padding:2px 6px;border:1px solid #a5b4d44d;background:#202538f5;color:#eee9ff;box-shadow:0 2px 5px #06061355;font-size:10px;border-radius:8px}
body.first-person-demo.at-table .table .seat .seat-bid.no-call{color:#aaa5c4;background:#1b223338;font-size:10px;border-color:#aaa2d417;box-shadow:none}
body.first-person-demo.at-table .table .seat .seat-bid strong{font-size:16px;letter-spacing:0}
body.first-person-demo.at-table .table .seat .seat-bid-unit{display:inline}
body.first-person-demo.at-table .table .seat .seat-bid .die{width:19px;height:20px;min-width:19px;padding:3px;gap:1px;border-radius:4px}
body.first-person-demo.at-table .table .seat.is-you .seat-bid{min-width:82px;height:26px}
body.first-person-demo.at-table .table .seat.is-you .table-hand{inset:auto 7% 10%;padding:10px 5px 8px;gap:7px 3px;background:radial-gradient(ellipse,#273143,#141927);box-shadow:0 4px 0 #090f1c,inset 0 1px 2px #92cfe855}
body.first-person-demo.at-table .table .seat.is-you .table-hand .die{width:27px;height:29px;padding:5px;gap:2px;transform:rotate(-2deg);border-radius:7px}
body.first-person-demo.at-table .table .seat.is-you .table-hand .die:nth-child(2n){transform:rotate(2deg)}
body.first-person-demo.at-table .table.is-revealed .seat:not(.is-you) .table-hand .die{width:clamp(12px,calc(var(--model-size) / 4),20px);height:clamp(13px,calc(var(--model-size) / 4 + 1px),21px);padding:2px;gap:1px;transform:none}
/* Equal rows keep six pips circular even on the little called-face dice. */
body.depth-theme .die{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr))}
body.depth-theme .die .pip{min-width:0;min-height:0;align-self:center;justify-self:center;height:auto;aspect-ratio:1;max-height:100%}
body.first-person-demo.at-table .table .center-stage{display:none}
body.first-person-demo.at-table .turn-last-bid{display:inline;color:#91e9f2;font-size:11px;white-space:nowrap}
body.depth-theme .center-stage h2,body.depth-theme .bid-number{color:#f2eaff;text-shadow:0 0 12px #be9af32b}
body.first-person-demo.at-table .table .stage-eyebrow{font-size:10px}
body.first-person-demo.at-table .table .current-bid .die{width:29px;height:31px;padding:5px}

/* The selector stays a native momentum wheel, framed like a lounge touch panel. */
body.first-person-demo.at-table .table #room-panel.action-panel{background:linear-gradient(155deg,#35394c,#1e2438 20%,#13182a);border:1px solid #9ba9d05c;box-shadow:inset 0 1px 0 #e5efff3b,inset 0 -2px 0 #050b1b,0 2px 6px #050b1844;border-radius:17px;padding:6px 7px 7px}
body.depth-theme.at-table .bid-wheel-labels{color:#bab4d8;font-size:12px;line-height:16px;font-weight:600;text-shadow:none}
body.depth-theme.at-table .bid-wheels{background:#131728;border:1px solid #8e86c044;box-shadow:inset 0 2px 9px #04061477}
body.depth-theme.at-table .bid-wheel{height:68px;padding:12px 0}
body.depth-theme.at-table .wheel-selection{border:1px solid #97e1f477;background:linear-gradient(105deg,#304f64,#343c59);box-shadow:inset 0 1px 0 #d7fbff40,inset 3px 0 0 #8fe4f1,0 2px 9px #04091344;border-radius:10px}
body.depth-theme.at-table .wheel-selection::after{background:#adb8e344}
body.depth-theme.at-table .wheel-number,body.depth-theme.at-table .wheel-unit{color:#acabc4;text-shadow:none}
body.depth-theme.at-table .is-selected .wheel-number,body.depth-theme.at-table .is-selected .wheel-unit{color:#edfaff;text-shadow:none}
body.depth-theme.at-table .bid-wheel:focus-visible{outline-color:#77e8ed;box-shadow:inset 0 0 0 2px #77e8ed66;background:#77e8ed08}
body.depth-theme.at-table #precall-hint{color:#b8b4cf;font-size:10px}
body.depth-theme.at-table #precall-hint.is-locked{color:#80ecee}
body.depth-theme.at-table #precall-hint.invalid{color:#f9a6db}
body.depth-theme.at-table .table #room-panel.action-panel > #primary{color:#112d43;border-color:#9ef7fd;background:linear-gradient(150deg,#a0f9f4,#65dce9 55%,#64b9e9);box-shadow:inset 0 1px 0 #f0ffff,0 3px 0 #285976,0 0 15px #5cd9ec1f;text-shadow:none}
body.depth-theme.at-table .table #room-panel.action-panel > #challenge{color:#fff0ff;border-color:#f596e6;background:linear-gradient(145deg,#bc61c7,#904cbb 60%,#7b47a7);box-shadow:inset 0 1px 0 #ffc7f24d,0 3px 0 #4c2a6d,0 0 12px #ec66d51a;text-shadow:none}
body.depth-theme.at-table .table #room-panel.action-panel > #precall-toggle{color:#c4c6e1;border-color:#8c86c955;background:linear-gradient(#34354e,#252a40);box-shadow:inset 0 1px 0 #fff1,0 2px 0 #101427}
body.depth-theme.at-table .table #room-panel.action-panel > #precall-toggle[aria-pressed=true]{color:#98fffb;border-color:#7eeef4;background:#294958;box-shadow:0 0 12px #76ddeb28}
body.depth-theme.at-table .table #room-panel.action-panel > #precall-toggle::after{background:#6d718e;box-shadow:none}
body.depth-theme.at-table .table #room-panel.action-panel > #precall-toggle[aria-pressed=true]::after{background:#98fffb;box-shadow:0 0 5px #7eeef4}
body.depth-theme.at-table .table #room-panel.action-panel > :is(#primary,#challenge,#precall-toggle):hover:not(:disabled){filter:brightness(1.1)}
body.depth-theme.at-table .table #room-panel.action-panel > #primary:hover:not(:disabled){background:linear-gradient(150deg,#a0f9f4,#65dce9 55%,#64b9e9)}
body.depth-theme.at-table .table #room-panel.action-panel > #challenge:hover:not(:disabled){background:linear-gradient(145deg,#bc61c7,#904cbb 60%,#7b47a7);border-color:#f596e6}
body.depth-theme.at-table .table #room-panel.action-panel > #precall-toggle:hover:not(:disabled){background:#34354e;color:#d6edff;border-color:#8c86c9}
body.depth-theme.at-table .table #room-panel.action-panel > #precall-toggle[aria-pressed=true]:hover:not(:disabled){color:#98fffb;border-color:#7eeef4;background:#294958}
body.depth-theme.at-table .table #room-panel.action-panel > :is(#primary,#challenge,#precall-toggle):active:not(:disabled){box-shadow:inset 0 2px 5px #10142755,0 1px 0 #101427}
body.depth-theme.at-table .bid-wheels.is-locked{border-color:#77e8ed;box-shadow:0 0 0 1px #77e8ed33}
body.depth-theme.at-table .table #room-panel.action-panel > :is(#primary,#challenge,#precall-toggle):disabled{background:#2b2c43;color:#8e91ac;border-color:#777a9c44;box-shadow:inset 0 1px 0 #ffffff08;text-shadow:none}
body.depth-theme.at-table .table #room-panel.action-panel > :is(#primary,#challenge,#precall-toggle):focus-visible{outline-color:#90f3ff}


/* Scale pieces from the room's available height, not the device category. */
@container (max-width:330px) {
 body.first-person-demo.at-table .table .seat,body.first-person-demo.at-table .table .seat:nth-child(3),body.first-person-demo.at-table .table .seat:nth-child(4),body.first-person-demo.at-table .table .seat:nth-child(5){--seat-width:100px;--portrait-width:48px;--portrait-size:40px;--cup-width:50px;--model-size:50px}
 body.first-person-demo.at-table .table .seat.is-you{--seat-width:114px;--portrait-width:108px;--portrait-size:36px;--cup-width:106px;--model-size:102px}
 body.first-person-demo.at-table .table .seat .seat-bid{min-width:54px;padding:2px 4px}
 body.first-person-demo.at-table .table .seat .seat-coins{min-width:48px;padding:1px 4px;font-size:10px}
 body.first-person-demo.at-table .table .seat.is-you .table-hand .die{width:25px;height:27px;padding:4px}
}
@container (max-height:355px) {
 .ktv-stage{height:64px}
 body.first-person-demo.at-table .table .seats{top:72px;--own-height:158px}
 body.first-person-demo.at-table .table .seat,body.first-person-demo.at-table .table .seat:nth-child(3),body.first-person-demo.at-table .table .seat:nth-child(4),body.first-person-demo.at-table .table .seat:nth-child(5){--seat-height:76px;--portrait-size:38px;--model-size:48px}
 body.first-person-demo.at-table .table .seat.is-you{--seat-height:var(--own-height);--portrait-size:32px;--cup-width:106px;--model-size:92px}
 body.first-person-demo.at-table .table .seat.is-you .seat-card{grid-template-columns:32px 64px;grid-template-rows:15px 18px;width:102px}
 body.first-person-demo.at-table .table .seat .seat-name{font-size:11px;line-height:15px;height:15px}
 body.first-person-demo.at-table .table .seat .seat-coins,body.first-person-demo.at-table .table .seat.is-you .seat-coins{font-size:10px;line-height:13px;min-height:16px;min-width:48px;padding:1px 4px}
 body.first-person-demo.at-table .table .seat .seat-bid,body.first-person-demo.at-table .table .seat.is-you .seat-bid{height:22px;min-width:56px;font-size:9px;padding:1px 4px;gap:2px}
 body.first-person-demo.at-table .table .seat .seat-bid strong{font-size:14px}
 body.first-person-demo.at-table .table .seat .seat-bid .die{width:16px;min-width:16px;height:17px;padding:2px;gap:1px}
 body.first-person-demo.at-table .table .seat.is-you .table-hand{padding:6px 3px 5px;gap:4px 2px}
 body.first-person-demo.at-table .table .seat.is-you .table-hand .die{width:23px;height:25px;padding:4px;gap:1px;border-radius:5px}
 .table-inlay{display:none}
}
@container (max-height:310px) {
 .ktv-stage{height:40px;gap:10px}.ktv-screen{padding:2px 0;height:38px;border-width:2px;flex-basis:66%}.ktv-screen-top{font-size:6px;line-height:7px}.screen-live{font-size:5px;letter-spacing:.5px}.screen-spectrum{height:3px}.ktv-marquee{min-height:18px}#ktv-marquee-track [data-ad-copy]{font-size:12px}.ktv-speaker{height:34px;width:20px;padding:2px}.speaker-tweeter{display:none}.speaker-meter{height:3px}
 body.first-person-demo.at-table .table .seats{top:46px;--own-height:138px}
 body.first-person-demo.at-table .table .seat,body.first-person-demo.at-table .table .seat:nth-child(3),body.first-person-demo.at-table .table .seat:nth-child(4),body.first-person-demo.at-table .table .seat:nth-child(5){--seat-width:90px;--seat-height:64px;--portrait-width:42px;--portrait-size:30px;--cup-width:46px;--model-size:40px}
 body.first-person-demo.at-table .table .seat.is-you{--seat-width:102px;--seat-height:var(--own-height);--portrait-width:96px;--portrait-size:28px;--cup-width:92px;--model-size:84px}
 body.first-person-demo.at-table .table .seat.is-you .seat-card{grid-template-columns:28px 62px;grid-template-rows:13px 16px;width:96px}
 body.first-person-demo.at-table .table .seat .seat-name{font-size:10px;line-height:12px;height:12px}
 body.first-person-demo.at-table .table .seat .seat-coins,body.first-person-demo.at-table .table .seat.is-you .seat-coins{font-size:9px;line-height:12px;min-height:14px;min-width:40px;padding:0 3px}
 body.first-person-demo.at-table .table .seat .seat-bid,body.first-person-demo.at-table .table .seat.is-you .seat-bid{height:19px;min-width:46px;padding:1px 3px;gap:1px;font-size:8px;border-radius:6px}
 body.first-person-demo.at-table .table .seat .seat-bid strong{font-size:12px}
 body.first-person-demo.at-table .table .seat .seat-bid .die{width:13px;min-width:13px;height:14px;padding:2px}
 body.first-person-demo.at-table .table .seat.is-you .table-hand{inset:auto 3% 9%;padding:5px 2px 4px;gap:4px 1px}
 body.first-person-demo.at-table .table .seat.is-you .table-hand .die{width:22px;height:23px;padding:4px;gap:1px}
 body.first-person-demo.at-table .table .seat .cup-space{gap:3px}
 body.first-person-demo.at-table .table .seat .seat-social-bubble{display:none}
}
@container (min-width:600px) and (min-height:500px) {
 .ktv-stage{height:104px}.ktv-screen-top{font-size:10px}.screen-live{font-size:9px}.screen-spectrum{height:16px}
 body.first-person-demo.at-table .table .seats{top:114px;--own-height:240px}
 body.first-person-demo.at-table .table .seat,body.first-person-demo.at-table .table .seat:nth-child(3),body.first-person-demo.at-table .table .seat:nth-child(4),body.first-person-demo.at-table .table .seat:nth-child(5){--seat-width:164px;--seat-height:126px;--portrait-width:76px;--portrait-size:66px;--cup-width:86px;--model-size:84px}
 body.first-person-demo.at-table .table .seat.is-you{--seat-width:178px;--seat-height:var(--own-height);--portrait-width:140px;--portrait-size:46px;--cup-width:170px;--model-size:156px}
 body.first-person-demo.at-table .table .seat.is-you .seat-card{grid-template-columns:46px 80px;grid-template-rows:20px 24px;width:132px}
 body.first-person-demo.at-table .table .seat .seat-name{font-size:14px;height:20px;line-height:20px}
 body.first-person-demo.at-table .table .seat .seat-coins{font-size:13px;min-width:64px;line-height:19px}
 body.first-person-demo.at-table .table .seat.is-you .table-hand .die{width:39px;height:41px;padding:7px}
 body.first-person-demo.at-table .table .seat .seat-bid{height:28px;min-width:74px}
 .table-inlay{top:45%}.table-inlay span{font-size:25px;letter-spacing:6px}.table-inlay small{font-size:8px}
}
@media(min-width:900px) and (min-height:520px){
 body.depth-theme.at-table .app{max-width:1360px}
 .ktv-room{--room-overhang:39px;inset:-39px -18px -24px}
 body.depth-theme.at-table .bid-wheel{height:176px;padding:66px 0}
 body.first-person-demo.at-table .table #room-panel.action-panel{padding:14px}
}
/* Recover redundant header space on short screens before shrinking the dice. */
@media(max-height:560px) and (orientation:portrait){
 body.depth-theme.at-table .app{grid-template-rows:32px minmax(0,1fr)}
 body.depth-theme.at-table .game-meta{display:none}
 body.first-person-demo.at-table .table{grid-template-rows:0 minmax(0,1fr) 20px auto;row-gap:2px}
 body.first-person-demo.at-table .table-top{visibility:hidden;height:0}
}
@media(max-height:519px) and (orientation:landscape){
 body.first-person-demo.at-table .table{grid-template-rows:0 minmax(0,1fr) 20px}
 body.first-person-demo.at-table .table-top{visibility:hidden;height:0}
}
/* Beat events follow the music scheduler; the remaining light wash is decorative. */
body:is(.ktv-motion-off,.ktv-page-hidden) .ktv-stage *,body:is(.ktv-motion-off,.ktv-page-hidden) .ktv-stage *::before,body:is(.ktv-motion-off,.ktv-page-hidden) .ktv-stage *::after,body:is(.ktv-motion-off,.ktv-page-hidden) .ktv-stage::before,body:not(.at-table) .ktv-stage *,body:not(.at-table) .ktv-stage *::before,body:not(.at-table) .ktv-stage *::after,body:not(.at-table) .ktv-stage::before{animation-play-state:paused!important}
body.ktv-motion-off .ktv-screen::before,body.ktv-motion-off .ktv-screen::after,body.ktv-motion-off .ktv-stage::before{animation:none;opacity:.35}
body.ktv-motion-off .ktv-speaker,body.ktv-motion-off .speaker-woofer,body.ktv-motion-off .speaker-meter i{animation:none;transform:none}
body.ktv-motion-off .ktv-speaker::before,body.ktv-motion-off .ktv-speaker::after{animation:none;opacity:0}
body.ktv-motion-off #ktv-marquee-track{animation:none;transform:none;display:block;width:100%}
body.ktv-motion-off #ktv-marquee-track [data-ad-copy]{display:block;white-space:normal;font-size:10px;padding:0 8px;overflow-wrap:anywhere;line-height:1.25}
body.ktv-motion-off #ktv-marquee-track [aria-hidden=true]{display:none}
body.ktv-motion-off .ktv-marquee{overflow-y:auto}
@media(prefers-reduced-motion:reduce){
 body.depth-theme *{scroll-behavior:auto}
 .ktv-stage *,.ktv-stage *::before,.ktv-stage *::after,.ktv-stage::before{animation:none!important;transition:none!important}
 .ktv-speaker::before,.ktv-speaker::after{opacity:0}
 #ktv-marquee-track{transform:none;display:block;width:100%}
 #ktv-marquee-track [data-ad-copy]{display:block;white-space:normal;font-size:10px;padding:0 8px;overflow-wrap:anywhere;line-height:1.25}
 #ktv-marquee-track [aria-hidden=true]{display:none}
 .ktv-marquee{overflow-y:auto}
}

body.first-person-demo.at-table .table .seat.is-turn .seat-bid:not(.no-call){border-color:#7ce8ee88;color:#e7fbff;box-shadow:0 0 8px #67dfe518}
