/* DMG Voice V4.0.1 - Chess grid stability + Wheel Pro + Tombala turn/card select */

/* CHESS: every square is mathematically fixed; no glyph can resize a grid row/column */
.chessWoodFrame{box-sizing:border-box!important;aspect-ratio:1/1!important}
.chessProBoard{display:grid!important;grid-template-columns:repeat(8,minmax(0,1fr))!important;grid-template-rows:repeat(8,minmax(0,1fr))!important;aspect-ratio:1/1!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;overflow:hidden!important}
.chessProSq{-webkit-appearance:none!important;appearance:none!important;box-sizing:border-box!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;outline:0!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Arial Unicode MS",serif!important;line-height:1!important;overflow:hidden!important;transform:none!important}
.chessProSq:hover,.chessProSq:focus,.chessProSq:active{transform:none!important}
.chessProSq i,.chessProSq em{pointer-events:none!important;line-height:1!important}

/* TOMBALA: premium players, card chooser, strict turn draw */
.tbPlayersRibbon{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:7px;margin:10px 0}
.tbPlayerCard{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:7px;padding:7px 9px;border-radius:13px;background:linear-gradient(180deg,#101d2c,#0a1420);border:1px solid #ffffff14;box-shadow:0 7px 18px #0004}
.tbPlayerCard.active{border-color:#55e7a0;box-shadow:0 0 0 2px #55e7a020,0 0 20px #55e7a020}.tbPlayerCard .avatar{width:36px;height:36px}.tbPlayerCard b,.tbPlayerCard small{display:block}.tbPlayerCard b{font-size:8px}.tbPlayerCard small{font-size:6px;color:#91a5ba;margin-top:2px}.tbPlayerCard>span{padding:4px 6px;border-radius:999px;background:#11834e;color:#dcffeb;font-size:5px;font-weight:1000}
.tbCardSelect{padding:18px;border-radius:18px;background:#0a141f;border:1px solid #ffffff12}.tbCardSelect h3{text-align:center;margin:0;color:#f4cb55}.tbCardSelect>p{text-align:center;font-size:8px;color:#9dafc1}.tbCardChoices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.tbCardChoice{display:block;padding:9px;border:2px solid #8d6932;border-radius:15px;background:linear-gradient(#f1d18c,#c9872d);cursor:pointer;box-shadow:0 9px 20px #0005;transition:.15s}.tbCardChoice:hover{transform:translateY(-3px);border-color:#ffe184;box-shadow:0 14px 28px #0006}.tbCardChoice>span,.tbCardChoice>b{display:block;color:#57330e;font-size:7px;font-weight:1000;margin:3px}.tbGrid.compact{grid-template-rows:repeat(3,34px)!important;gap:2px!important}.tbGrid.compact .tbProCell{border-width:1px;border-radius:4px}.tbGrid.compact .tbProCell b{font-size:11px!important}.tbWaitingCard{min-height:270px;display:grid;place-items:center;align-content:center;gap:6px;border-radius:18px;background:#0a141f;border:1px solid #ffffff12}.tbWaitingCard b{font-size:18px;color:#62e5a4}.tbWaitingCard span{font-size:8px;color:#91a5ba}
.tbTurnBanner{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;padding:8px 12px;margin:8px 0;border-radius:12px;background:#111d29;border:1px solid #ffffff12}.tbTurnBanner.mine{border-color:#54e49c;background:linear-gradient(90deg,#0d3d2b,#102132)}.tbTurnBanner b{font-size:9px}.tbTurnBanner span{min-width:38px;text-align:center;padding:4px 7px;border-radius:999px;background:#6e4ae2;color:#fff;font-size:7px;font-weight:1000}.tbTurnBanner small{font-size:6px;color:#91a5ba;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tbDrawBtn{min-width:150px;font-weight:1000!important}.tbDrawBtn:not(:disabled){animation:tbDrawPulse 1s ease-in-out infinite alternate}@keyframes tbDrawPulse{to{box-shadow:0 0 18px #3c8ef055}}

/* WHEEL: casino/game-show grade visual with correct 13 physical segments */
.wheelPro{background:radial-gradient(circle at 22% 25%,#39225b,#15172d 50%,#090d18 100%)!important;border:1px solid #f2c75a24!important;box-shadow:inset 0 0 80px #0006!important}
.wheelMain{grid-template-columns:430px minmax(0,1fr)!important;gap:28px!important}.wheelArea{padding-top:22px}.wheelMachine{position:relative;width:370px;height:370px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#6f4719 0 54%,#d1a448 55% 61%,#4b2c0c 62% 67%,#f0c664 68% 71%,#2b1708 72%);box-shadow:0 28px 55px #0009,inset 0 0 0 3px #ffe89b66}
.wheelDisc{position:relative!important;width:318px!important;height:318px!important;border-radius:50%!important;background:var(--wheel-gradient)!important;border:7px solid #f3cf6b!important;box-shadow:inset 0 0 0 4px #6e4316,inset 0 0 36px #0005,0 10px 24px #0008!important;transform:rotate(var(--stop))}
.wheelDisc:after{display:none!important}.wheelBulbs{position:absolute;inset:5px;border-radius:50%;background:repeating-conic-gradient(from 0deg,#ffe69a 0 2deg,transparent 2deg 13.846deg);filter:drop-shadow(0 0 5px #ffd76d);pointer-events:none}.wheelBulbs:after{content:'';position:absolute;inset:13px;border-radius:50%;background:#3b220d}
.wheelSegLabel{position:absolute;left:50%;top:50%;width:42px;height:22px;margin:-11px -21px;transform:rotate(var(--rot)) translateY(-124px) rotate(calc(-1 * var(--rot)));display:grid;place-items:center;z-index:3}.wheelSegLabel b{font-size:8px;color:#fff;text-shadow:0 2px 3px #000;font-weight:1000}.wheelHub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:92px;height:92px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 35% 25%,#fff0aa,#dfad42 48%,#7b4c16 72%);border:6px solid #fff0a1;box-shadow:0 7px 18px #0008,inset 0 -8px 15px #6f400d55;color:#4a2a09}.wheelHub span{font-size:9px;font-weight:1000;letter-spacing:.12em}.wheelHub b{font-size:13px}.wheelPointer{top:2px!important;width:0;height:0;border-left:18px solid transparent;border-right:18px solid transparent;border-top:34px solid #f5d25e;color:transparent!important;filter:drop-shadow(0 6px 4px #0008);z-index:8!important}.wheelPointer i{position:absolute;left:-6px;top:-31px;width:12px;height:12px;border-radius:50%;background:#fff0aa}
.wheelDisc.spinFx{animation:wheelSpinPro 1.75s cubic-bezier(.08,.72,.16,1) forwards!important}@keyframes wheelSpinPro{0%{transform:rotate(calc(var(--stop) - 1440deg))}100%{transform:rotate(var(--stop))}}
.wheelArea>button{min-width:190px;padding:14px 28px!important;border:2px solid #b895ff55!important;background:linear-gradient(180deg,#8c61ff,#5d31cb)!important;box-shadow:0 10px 24px #0006,inset 0 1px 0 #fff4!important;font-size:11px}.wheelLast{padding:6px 10px;border-radius:999px;background:#0c1521;border:1px solid #ffffff12}
.wheelPuzzle{background:linear-gradient(180deg,#101a28,#09111c)!important;box-shadow:0 15px 30px #0005}.wheelCategory{width:max-content;margin:0 auto 8px;padding:4px 10px;border-radius:999px;background:#6d47d8;color:#fff;font-size:7px;font-weight:1000;letter-spacing:.08em}.wheelPattern{border:5px solid #b8944f!important;background:linear-gradient(#fff8e5,#e9ddc1)!important;box-shadow:inset 0 0 0 2px #fff,0 8px 20px #0004!important}.wheelKeyboard{grid-template-columns:repeat(9,1fr)!important;gap:5px!important}.wheelKeyboard button{height:39px!important;border-bottom:3px solid #0b111b!important;font-size:10px!important}.wheelDecision{display:flex;justify-content:center;margin-top:11px}.wheelDecision .btn{min-width:220px}.wheelGuess{display:none!important;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;margin-top:10px;padding:9px;border-radius:13px;background:#0a111a;border:1px solid #ffffff15}.wheelGuess.show{display:grid!important}.wheelGuess input{font-size:16px!important;min-height:42px!important}

@media(max-width:980px){.wheelMain{grid-template-columns:1fr!important}.wheelMachine{width:300px;height:300px}.wheelDisc{width:258px!important;height:258px!important}.wheelSegLabel{transform:rotate(var(--rot)) translateY(-100px) rotate(calc(-1 * var(--rot)))}.wheelHub{width:74px;height:74px}.tbCardChoices{grid-template-columns:1fr}.tbPlayersRibbon{grid-template-columns:repeat(2,minmax(0,1fr))}.tbTurnBanner{grid-template-columns:auto auto}.tbTurnBanner small{grid-column:1/-1}.wheelGuess.show{grid-template-columns:1fr}.wheelGuess input{font-size:16px!important}}
