/* Each roulette chip carries a seat code as well as its color. */
.rq-token{--chip:#665634;--ink:#fff;display:inline-grid;place-items:center;box-sizing:border-box;border:2px dashed #fff5d5;border-radius:100%;background:var(--chip);color:var(--ink);box-shadow:inset 0 0 0 1px #0006,0 1px 2px #000b;font:800 10px/1 Arial,sans-serif;text-shadow:0 1px 1px #0006}
.rq-token[data-slot="0"]{--chip:#f2c453;--ink:#201808;text-shadow:none;border-color:#6e4f18}
.rq-token[data-slot="1"]{--chip:#1675bd}.rq-token[data-slot="2"]{--chip:#a63868}.rq-token[data-slot="3"]{--chip:#197858}
.rq-token[data-slot="4"]{--chip:#7747a5}.rq-token[data-slot="5"]{--chip:#ad5024}
#rouletteRoom [data-bet]:has(.rq-chip-stack){padding-bottom:clamp(10px,2.1cqh,17px)}
.rq-chip-stack{position:absolute;left:2%;right:2%;bottom:1px;display:flex;justify-content:center;align-items:end;pointer-events:none}
.rq-felt-token{width:clamp(13px,2.8cqh,24px);height:clamp(13px,2.8cqh,24px);flex:0 0 auto;font-size:clamp(8px,1.5cqh,12px)}
.rq-felt-token+.rq-felt-token{margin-left:calc(-.74 * clamp(13px,2.8cqh,24px))}
.rq-seat-token{width:17px;height:17px;margin-right:4px;vertical-align:middle;font-size:10px}.rq-list-token{width:26px;height:26px;font-size:13px}
#rouletteRoom .rq-chip-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:3px}
#rouletteRoom .rq-chip-tools button{width:auto;min-height:22px;padding:2px 7px;border:1px solid #937842;border-radius:4px;background:#18281e;color:#f8dea4;font:600 11px/1.1 Arial;cursor:pointer}
.rq-bet-sheet{width:min(450px,94vw);max-height:85dvh;overflow:auto;padding:18px;color:#ffeaca;background:linear-gradient(135deg,#17281d,#201b13);border:1px solid #b89958;border-radius:10px}
.rq-bet-sheet::backdrop{background:#090806bc}.rq-bet-sheet form{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rq-bet-sheet small{font:700 10px Arial;letter-spacing:.1em;color:#e2c593}
.rq-bet-sheet h2{margin:4px 0;color:#ffebbd;font:600 23px/1.1 Georgia}
.rq-bet-sheet button{background:#e0bb70;border:1px solid #deb968;border-radius:4px;color:#221b10;padding:6px 9px}
.rq-bet-sheet p{font:13px/1.4 Arial;color:#dbcaa9}.rq-bet-sheet ul{margin:0;padding:0;list-style:none}
.rq-bet-sheet li{display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:3px 8px;align-items:center;margin:0;padding:7px 0;border-top:1px solid #78653c;font:13px/1.3 Arial}
.rq-bet-sheet li small{grid-column:2/-1;letter-spacing:0}.rq-bet-sheet .rq-paid{color:#b8e1a4}
#rouletteRoom .rq-rail{left:26%;right:5%}
.rq-dealer{position:absolute;left:1%;top:0;width:23%;height:44%;z-index:2;margin:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:end}
.rq-dealer-portraits{position:relative;width:100%;height:calc(100% - 28px)}
.rq-dealer-portraits img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(2px 2px 3px #120c0866);transition:opacity .16s}
.rq-host-spin,.rq-dealer.rq-dealing .rq-host-ready{opacity:0}
.rq-dealer.rq-dealing .rq-host-spin{opacity:1;animation:rq-dealer-reach .8s ease-out both;transform-origin:45% 92%}
@keyframes rq-dealer-reach{0%{transform:translate(-1%,-1%) rotate(-3deg)}65%{transform:translate(2%,2%) rotate(3deg)}100%{transform:translate(1%,1%) rotate(1deg)}}
.rq-dealer figcaption{position:absolute;bottom:0;padding:2px 7px;color:#ffdf9d;border:1px solid #b68e4e;background:#182016f0;border-radius:4px;font:700 clamp(10px,2cqh,17px)/1.1 Georgia;white-space:nowrap}
.rq-dealer figcaption small{font:600 8px/1 Arial;letter-spacing:.08em}
.rq-dealer-call{position:absolute;top:2px;right:2%;max-width:96%;color:#2b2115;background:#fff0ce;border:1px solid #b79a5e;border-radius:9px;padding:4px 8px;text-align:center;font:600 clamp(10px,1.85cqh,16px)/1.08 Georgia}
.rq-dealer-call:after{content:"";position:absolute;bottom:-4px;left:30%;width:6px;height:6px;transform:rotate(45deg);background:#fff0ce;border-right:1px solid #b79a5e;border-bottom:1px solid #b79a5e}
@media(max-width:650px) and (orientation:portrait){
 #rouletteRoom .rq-rail{left:22%;right:1%}
 .rq-dealer{width:24%;height:28%;left:0}.rq-dealer-portraits{height:calc(100% - 15px)}
 .rq-dealer-call{font-size:10px;padding:2px 3px}.rq-dealer figcaption{padding:1px 3px}.rq-dealer figcaption small{font-size:6px}
 .rq-seat-token{width:13px;height:13px;margin-right:1px;font-size:7px;border-width:1px}
 #rouletteRoom .rq-outcome{display:flex;gap:3px;align-items:center;justify-content:space-between}
 #rouletteRoom .rq-chip-tools{flex:none;gap:3px;margin:0}#rouletteRoom .rq-chip-tools button{font-size:9px;padding:2px 3px}
 .rq-felt-token{width:12px;height:12px;font-size:8px;border-width:1px}.rq-felt-token+.rq-felt-token{margin-left:-8px}
 #rouletteRoom [data-bet]:has(.rq-chip-stack){padding:1px 7px 1px 0}.rq-chip-stack{left:auto;right:0}
}
@media(max-height:500px) and (orientation:landscape){
 .rq-dealer{height:39%}.rq-dealer-portraits{height:calc(100% - 14px)}.rq-dealer-call{padding:1px 5px;font-size:9px}.rq-dealer figcaption{padding:0 3px;font-size:9px}
 .rq-chip-stack{left:auto;right:0}.rq-felt-token,.rq-seat-token{width:11px;height:11px;font-size:7px;border-width:1px}.rq-felt-token+.rq-felt-token{margin-left:-8px}
 #rouletteRoom [data-bet]:has(.rq-chip-stack){padding:1px 7px 1px 0}
 #rouletteRoom .rq-chip-tools{margin-top:1px;gap:3px}#rouletteRoom .rq-chip-tools button{font-size:8px;min-height:15px;padding:1px 3px}
}
@media(prefers-reduced-motion:reduce){.rq-dealer-portraits img{animation:none!important;transition:none}}
/* Portraits are cropped headshots. Put the number in its own corner, including
   when six visitors occupy the same cell. The receipt shows each full-size face. */
.rq-token{overflow:hidden;position:relative;background-color:var(--chip);isolation:isolate}
.rq-token .rq-face{position:absolute!important;display:block!important;inset:9%!important;width:82%!important;height:82%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;border:0!important;border-radius:50%;background:#dfcba9}
.rq-token .rq-initials{line-height:1;letter-spacing:-.05em}
.rq-felt-token{width:var(--face-size);height:var(--face-size);border-width:2px;font-size:clamp(8px,1.5cqh,14px)}
.rq-chip-stack{--face-size:clamp(18px,min(2.8cqw,5.5cqh),46px);--overlap:.58;left:auto;right:2%;bottom:1px;width:max-content;max-width:96%;justify-content:flex-end}
.rq-felt-token+.rq-felt-token{margin-left:calc(-1 * var(--overlap) * var(--face-size))}
.rq-chip-stack[data-crowd="3"]{--overlap:.70}.rq-chip-stack[data-crowd="4"]{--overlap:.79}.rq-chip-stack:is([data-crowd="5"],[data-crowd="6"]){--overlap:.86}
#rouletteRoom #gameBoard button[data-bet]:has(.rq-chip-stack){display:flex;align-items:flex-start;justify-content:flex-start;padding:1px 2px;text-align:left}
#rouletteRoom #gameBoard button[data-bet]:has(.rq-chip-stack) .rq-spot-text{position:relative;z-index:1;text-shadow:0 1px 2px #000,1px 0 2px #000}
.rq-list-token{width:42px;height:42px;min-width:42px;font-size:15px}
.rq-bet-sheet{width:min(480px,95vw)}.rq-bet-sheet li{grid-template-columns:42px minmax(0,1fr) auto;font-size:15px}
.rq-bet-sheet li>.rq-list-token{grid-row:span 2}.rq-bet-sheet li>.rq-list-token:last-of-type{grid-row:auto}
.rq-bet-sheet li small{grid-column:2/-1}.rq-bet-sheet li strong{overflow-wrap:anywhere}
.rq-chip-editor{font:600 13px/1.3 Arial;margin-top:10px;border-top:1px solid #716242;padding:7px 0}.rq-chip-editor summary{cursor:pointer;color:#ffdd93}
.rq-chip-fields{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;padding:8px 0}
.rq-chip-editor label{min-width:0;color:#f4e2be;font-weight:500}
.rq-chip-editor :is(input,select){display:block;width:100%;min-width:0;height:34px;color:#ffedc3;border:1px solid #998152;border-radius:4px;background:#171a14;padding:4px}
.rq-chip-upload,.rq-chip-status{grid-column:1/-1}.rq-chip-fields [hidden]{display:none!important}.rq-bet-sheet .rq-chip-status{letter-spacing:0}
@media(max-width:650px) and (orientation:portrait){.rq-chip-stack{--face-size:clamp(14px,min(4.6cqw,3.2cqh),23px)}.rq-felt-token{border-width:1px}.rq-seat-token{width:14px;height:14px}}
@media(max-height:500px) and (orientation:landscape){.rq-chip-stack{--face-size:clamp(10px,6.4cqh,22px)}.rq-felt-token{border-width:1px}}
/* Let every bettor's face remain visible on a shared number. */
.rq-chip-stack:not([data-crowd="1"]){inset:min(30%,18px) 2% 2%;width:auto;max-width:none;container-type:size;--cols:2;--rows:1;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-auto-rows:minmax(0,1fr);place-items:end center}
.rq-chip-stack:is([data-crowd="3"],[data-crowd="4"]){--rows:2}
.rq-chip-stack:is([data-crowd="5"],[data-crowd="6"]){--cols:3;--rows:2}
.rq-chip-stack:not([data-crowd="1"])>.rq-felt-token{width:min(calc(96cqw / var(--cols)),calc(98cqh / var(--rows)),40px);height:auto;aspect-ratio:1;margin:0}
