*{box-sizing:border-box}body{margin:0;background:#0b2445 url('assets/casino-wallpaper.webp') center/cover fixed;color:#f8f3e5;font:14px 'Segoe UI',Arial,sans-serif;display:grid;grid-template-columns:100px minmax(0,1fr) 94px;min-height:100vh}button,select{font:inherit}button{cursor:pointer;background:#142d37;color:#eef4f7;border:1px solid #65787666;border-radius:6px;padding:10px 14px}button:hover{filter:brightness(1.15)}button:disabled{opacity:.5;cursor:default}button:focus-visible,select:focus-visible{outline:2px solid #ffe397;outline-offset:3px}header{height:76px;display:flex;justify-content:space-between;align-items:center;padding:8px 24px;background:#102e4ee8;border-bottom:1px solid #bfa46655}.brand{display:flex;align-items:center;gap:12px;color:#e7c56e;font-size:24px;letter-spacing:3px}.brand img{width:47px;height:57px;object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:2px;color:#b4c4d4;margin-top:5px}.header-actions{display:flex;gap:7px;font-size:12px}main{padding:0 28px}.upper{display:grid;grid-template-columns:1fr 1.15fr 1.2fr;gap:25px;align-items:center;min-height:345px}.section-label,.hand-heading{font-size:11px;letter-spacing:1px;color:#e5c879}.section-label small{float:right;color:#8daac7;font-size:8px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:14px 0 27px}.stat{border:1px solid #71889666;border-top:3px solid var(--accent,#54d7c0);border-radius:5px;background:linear-gradient(140deg,#1c5368,#10263c);text-align:center;padding:12px 2px;min-width:0}.stat small{font-size:8px;display:block;white-space:nowrap}.stat strong{display:block;font-size:clamp(13px,1.4vw,22px);margin-top:10px}.suit-stats{grid-template-columns:repeat(5,1fr);margin-bottom:10px}.suit-stats .stat small{font-size:20px}.suit-stats .stat:last-child small{font-size:10px;padding:7px 0}.statistics p{font-size:9px;color:#99b6ce}.wheel-wrap{width:100%;max-width:380px;margin:auto;position:relative}canvas{display:block;width:100%;filter:drop-shadow(0 10px 12px #0005)}.phase{position:absolute;bottom:2%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px;letter-spacing:1px;color:#c4d7e7;background:#10243acc;padding:5px 9px;border-radius:20px}.hand-heading{display:flex;justify-content:space-between;margin:8px 0 10px}.hand-heading b{font-size:9px;font-weight:400;color:#a2bdd5}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.card-slot{position:relative}.card-slot img{display:block;width:100%;aspect-ratio:.69;border-radius:4px;border:1px solid #8ca1b0}.card-slot>span,.ball-tag{display:none}.pending img{filter:brightness(.8)}.timeline{display:flex;gap:5px;margin:8px 0}.step{flex:1;min-width:0;border-top:2px solid #436078;padding-top:4px;font-size:8px;color:#91a9bf}.step.active{border-color:#e6c66e;color:#f2dfad}.result{background:linear-gradient(110deg,#e8ce80,#a98a45);border:1px solid #ffdd86;border-radius:10px;padding:10px 15px;color:#142d40}.result small{font-size:8px;letter-spacing:1px}.result h3{margin:4px 0;font-size:17px}.result p{margin:0;font-size:10px}.result.won{background:linear-gradient(110deg,#18865d,#125d52);color:#fff0b8}.controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;align-items:end}.controls label{font-size:9px;color:#adc1d5}.controls select{width:100%;display:block;background:#0c2945;color:#fff;border:1px solid #53728c;border-radius:4px;padding:7px;margin-top:4px;font-size:11px}#launch{background:linear-gradient(110deg,#f6dc91,#cb9c38);color:#10243c;font-weight:700;font-size:11px;padding:9px}.table-panel{border:1px solid #54788f;border-radius:14px;background:linear-gradient(110deg,#153b58eb,#10294aeb);padding:18px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.table-toolbar strong{color:#7ce2cd;letter-spacing:2px;font-size:13px}.preview-label{font-size:10px;color:#a6bdd0}.betting-layout{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:58px repeat(4,62px);gap:4px}.spot{border:1px solid #bcaa70;border-radius:2px;padding:0;position:relative;min-width:0;background:linear-gradient(#384149,#05090b 60%);font:bold clamp(18px,2.1vw,35px) Georgia;color:#fffdf0;text-shadow:0 1px 2px #0004}.spot.red{background:linear-gradient(#ff3446,#c80017 60%,#960015)}.spot.wild{background:linear-gradient(#1ec490,#026340 60%)}.spot.outside{font:bold clamp(11px,1.2vw,19px) 'Segoe UI';background:linear-gradient(135deg,#22526e,#102c40);border-top:3px solid var(--accent,#50dbc9)}.spot.outside.red{background:linear-gradient(#ff3043,#ae0016)}.spot.outside.black{background:linear-gradient(#41484b,#020608)}.spot.marker-win{box-shadow:inset 0 0 0 2px #ffe786,0 0 14px #ffe78677}.placed-chip{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28px;height:28px;display:grid;place-items:center;border:3px dashed #fff6cb;border-radius:50%;background:#bda04c;color:#172a40;font:bold 11px Arial;box-shadow:0 2px 5px #0009}.table-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #647a8855;margin-top:16px;padding-top:12px}.summary{padding:8px 12px;border:1px solid #5c85a6;border-radius:7px;min-width:155px;background:#153c5d}.summary small,.summary span{display:block;font-size:9px;color:#b1cadf}.summary strong{display:block;font-size:20px;margin:3px 0}.chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.chip{padding:0;border:2px solid transparent;border-radius:50%;background:transparent;width:43px;height:43px}.chip img{width:100%;height:100%}.chip.selected{border-color:#ffe28d;box-shadow:0 0 0 2px #ffe28d55}.actions{display:flex;gap:7px}.actions button{background:#205375}.actions #clear{background:#6e334d}footer{display:flex;justify-content:space-between;padding:12px 28px;font-size:9px;color:#a8c3d9}footer span:first-child{color:#6ce6c9}.hotcold,.recent{background:#0b1d25e8;padding:7px 5px;border:1px solid #a08c5755;text-align:center}.hotcold section{border:1px solid #ad8849;border-radius:5px;overflow:hidden;min-height:42vh;margin-bottom:7px}.hot{background:#381308 url('assets/hot-fire.svg') center/cover}.cold{background:#0c2e4a url('assets/cold-ice.svg') center/cover}.hotcold h3,.recent h3{font-size:11px;font-weight:500;margin:6px 0 12px;letter-spacing:1px}.hotcold h3{padding:7px 0;background:#071826b0}.hotcold small,.recent>small{font-size:7px;color:#d9c281}.hotcold section>div{font-size:10px;padding:8px;color:#e9dabc}.heat-card{margin:9px auto}.heat-card b{display:grid;place-items:center;border-radius:50%;height:57px;width:57px;margin:auto;background:radial-gradient(at 30% 20%,#a2afb7,#15232a 65%);font: bold 23px Georgia}.heat-card.red b{background:radial-gradient(at 30% 20%,#ffb6bf,#c40022 65%)}.heat-card span{display:block;font-size:9px;margin-top:5px}.recent h3{color:#f2cf77}.recent-card{height:69px;display:grid;place-items:center;border:1px solid #a79b77;border-radius:4px;margin-top:5px;background:linear-gradient(#3c464c,#040b0e 65%);font:bold 29px Georgia}.recent-card.red{background:linear-gradient(#fc3143,#b10016)}.recent-card.wild{background:linear-gradient(#24c386,#036946)}dialog{background:#102e4d;color:#e5edf5;border:1px solid #dab96b;border-radius:14px;max-width:min(600px,94vw);padding:30px}dialog::backdrop{background:#041329aa;backdrop-filter:blur(5px)}
@media(min-width:1700px){.upper{min-height:400px}.wheel-wrap{max-width:420px}.betting-layout{grid-template-rows:70px repeat(4,76px)}}
@media(max-width:1100px){body{grid-template-columns:76px minmax(0,1fr) 70px}main{padding:0 12px}.upper{gap:12px}.brand{font-size:18px}.stat strong{font-size:14px}.table-panel{padding:12px}.preview-label{max-width:140px}.chips{gap:2px}.chip{width:34px;height:34px}.summary{min-width:115px}.table-bottom{gap:8px}.controls{grid-template-columns:1fr}.heat-card b{width:48px;height:48px}}
@media(max-width:760px){body{display:flex;flex-direction:column}.hotcold{display:none}.recent{order:1;border:0;padding:6px 10px}.recent h3,.recent>small{display:none}#recent-list{display:flex;gap:4px;overflow:auto}.recent-card{min-width:48px;height:43px;font-size:22px;margin:0}.app-shell{display:contents}header{order:0;height:auto;min-height:72px;padding:7px 12px;gap:6px}.brand{font-size:17px;letter-spacing:2px}.brand small{font-size:7px;letter-spacing:1px}.brand img{width:36px;height:47px}.header-actions{gap:4px;flex-wrap:wrap;justify-content:flex-end}.header-actions button{padding:6px;font-size:9px}main{order:2;padding:0 10px}.upper{display:flex;flex-wrap:wrap;gap:12px}.statistics{display:none}.wheel-panel{width:100%;order:1}.wheel-wrap{max-width:300px}.hand-panel{width:100%;order:0;padding-top:10px}.cards{max-width:330px;margin:auto}.card-slot img{max-height:100px;object-fit:contain;background:#0c2240}.result{padding:8px 12px}.controls{grid-template-columns:1fr 1fr}.table-toolbar{flex-wrap:wrap;margin-bottom:14px}.table-toolbar strong{font-size:10px;letter-spacing:1px}.preview-label{max-width:none;width:100%}.betting-layout{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:55px repeat(14,37px);gap:3px}.spot{font-size:24px}.spot.outside{font-size:11px}.table-bottom{flex-wrap:wrap}.chips{order:-1;width:100%;gap:7px}.chip{width:35px;height:35px}.summary strong{font-size:18px}footer{order:3;padding:12px;gap:10px;font-size:8px}.table-panel{margin-top:8px}}
#celebration{box-sizing:border-box;width:min(820px,94vw);max-height:90dvh;overflow:auto;padding:55px 34px 32px;border:2px solid #e1bd64;border-radius:22px;background:radial-gradient(ellipse at top,#4c3265 0%,#14395d 48%,#081a31 100%);color:#fff4d2;text-align:center;box-shadow:0 0 75px #cfa84b55}
#celebration::backdrop{background:#020d20b8;backdrop-filter:blur(7px)}
#celebration h2{font-size:clamp(28px,5vw,54px);color:#ffe591;margin:16px 0;text-shadow:0 2px 18px #e8b84b66}
#celebration p{color:#c5d8ec}
#celebration-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:28px 0}#celebration-cards img{width:100%;border-radius:9px;box-shadow:0 5px 20px #0008;animation:celebration-card .65s ease-out both}#celebration-cards img:nth-child(2){animation-delay:.1s}#celebration-cards img:nth-child(3){animation-delay:.2s}#celebration-cards img:nth-child(4){animation-delay:.3s}#celebration-cards img:nth-child(5){animation-delay:.4s}
.sparkles{color:#ffe58e;font-size:26px;letter-spacing:14px;animation:sparkle 1.5s ease-in-out infinite alternate}.celebration-rule{height:1px;background:linear-gradient(90deg,transparent,#e5c36b,transparent);margin:24px}#celebration small{color:#a8bfd7}
@keyframes sparkle{to{opacity:.45;text-shadow:0 0 20px gold}}@keyframes celebration-card{from{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:none}}
@media(max-width:600px){#celebration{padding:48px 14px 24px}#celebration-cards{gap:5px}.sparkles{letter-spacing:5px}}
@media(prefers-reduced-motion:reduce){.sparkles,#celebration-cards img{animation:none}}

.chip{position:relative}.chip span{position:absolute;inset:0;display:grid;place-items:center;font:bold 14px Georgia;color:#fff;text-shadow:0 1px 2px #000}.chip:nth-child(2) span,.chip:last-child span{color:#172638;text-shadow:none}.suit-stats .stat:nth-child(1),.suit-stats .stat:nth-child(3){background:linear-gradient(#a73653,#5e1531)}.suit-stats .stat:nth-child(2),.suit-stats .stat:nth-child(4){background:linear-gradient(#43535f,#040a0f)}.suit-stats .stat:last-child{background:linear-gradient(#178569,#07523f)}

.winning-dolly{position:absolute;z-index:14;width:2.8cqw;height:2.8cqw;min-width:26px;min-height:26px;transform:translate(-50%,-50%);pointer-events:none;filter:drop-shadow(1px 2px 2px #0007)}
.winning-dolly::after{content:"";position:absolute;z-index:1;left:2%;right:2%;top:12%;bottom:8%;border:2px solid #ffe6a4;border-radius:50%;background:radial-gradient(ellipse at 42% 34%,#fffbd330 35%,#e3bb6970 59%,#8e5a1c 74%,#ffdf91 88%,#936225 100%);box-shadow:inset 0 1px 2px #fff9,0 2px 0 #65451e}
.winning-dolly::before{content:"";position:absolute;z-index:2;left:25%;right:25%;top:4%;bottom:28%;border:1px solid #ffe9b5;border-radius:50%;background:radial-gradient(ellipse at 34% 25%,#fffce3 0%,#f9dda0 19%,#c3984d 49%,#795022 76%,#eac578 100%);box-shadow:1px 3px 3px #50361877}
.winning-dolly span{position:absolute;z-index:3;top:13%;left:34%;width:21%;height:17%;background:#fffce9b3;border-radius:50%;transform:rotate(-25deg)}
.spot .winning-dolly{left:50%;top:50%;width:32px;height:32px;min-width:0;min-height:0}

.feature-button{border:1px solid #d2b261;background:linear-gradient(#65552c,#302b1b);font-weight:600;font-size:12px;white-space:nowrap}#racetrack-open{border-radius:28px;border:3px double #e3c77e;background:#12394f;letter-spacing:1px}.bet-dialog{width:min(1250px,96vw);max-width:96vw;max-height:94dvh;overflow:auto;padding:20px;background:linear-gradient(125deg,#173e5b,#0e2544)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-head h2{font-size:22px;font-weight:500;color:#f4d079;margin:0}.dialog-head button{font-size:24px;padding:3px 12px}.race-wrap{position:relative}#race-svg{width:100%;display:block}.race-pocket{cursor:pointer}.race-pocket path{fill:#10191f;stroke:#d2be83;stroke-width:1.4}.race-pocket.red path{fill:#ba152d}.race-pocket.wild path{fill:#087c51}.race-pocket text{fill:#fff7e6;font:bold 24px Georgia;pointer-events:none}.race-pocket.selected path{stroke:#72ffe6;stroke-width:4;filter:brightness(1.4)}.race-controls{position:absolute;left:32%;right:32%;top:24%;bottom:24%;border:1px solid #9d8b5d;border-radius:12px;background:#102c47ed;text-align:center;padding:12px 5px;display:flex;flex-direction:column;justify-content:center;gap:8px}.race-controls>small{font-size:10px;color:#e9cf84}.race-controls>div{display:flex;align-items:center;justify-content:center;gap:24px}.race-controls strong{font-size:32px;color:#ffe091}.race-controls button{border-radius:50%;font-size:22px;padding:2px 12px}.race-controls b{font-size:13px;color:#ffe098}.race-controls p{font-size:10px;margin:0;color:#c1d9e9}.dialog-chips{display:flex;justify-content:center;gap:10px;margin:18px 0}.preview-note{font-size:11px;color:#a2bfd4;text-align:center}.preview-undo{display:block;margin:auto}.complete-scroll{overflow:auto;padding:12px 10px;}.rank-title{color:#ebc97c;font-size:12px;margin-bottom:10px}.rank-title small{float:right;color:#b4c9dc}#complete-ranks,#complete-grid{display:grid;grid-template-columns:repeat(15,minmax(0,1fr));gap:4px;position:relative}#complete-ranks{margin-bottom:14px}#complete-grid{grid-template-rows:repeat(4,60px)}.complete-card{padding:0;border:1px solid #f1d695;border-radius:2px;background:linear-gradient(#414d57,#03090e);font:bold 25px Georgia;min-width:0}.complete-card.red{background:linear-gradient(#ff3048,#ac0018)}.complete-card.wild{background:linear-gradient(#22bd87,#00643f)}.complete-card.rank{height:40px;font-size:20px;background:linear-gradient(#245b78,#15324d)}#complete-selection{text-align:center;color:#ffdf93;font-size:13px}#complete-dialog>small{display:block;text-align:center;color:#acc4d7;font-size:11px}.betting-layout{position:relative}.package-marker{position:absolute;transform:translate(-50%,-50%);z-index:5;pointer-events:none;width:24px;height:24px;border-radius:50%;background:#b59a4c;border:3px dashed #ffefc4;display:grid;place-items:center;color:#132a3a;font:bold 10px Arial;box-shadow:0 2px 4px #0007}
@media(max-width:1100px){.table-bottom{flex-wrap:wrap}.table-bottom .chips{flex:1}.feature-button{padding:9px}.race-controls{gap:4px;padding:5px}.race-controls small{font-size:8px}.race-controls b{font-size:10px}.race-controls strong{font-size:23px}}
@media(max-width:760px){.table-bottom .chips{order:0;width:auto;flex:1;gap:3px}.table-bottom .chip{width:28px;height:28px}.table-bottom .chip span{font-size:10px}.table-bottom .summary{order:-1;width:100%}#racetrack-open{font-size:8px;padding:7px 4px}#complete-open{font-size:9px;padding:8px 5px}.table-bottom{gap:5px}.actions{width:100%;justify-content:flex-end}.bet-dialog{padding:12px}.race-wrap{padding-bottom:160px}.race-controls{top:auto;bottom:0;left:4%;right:4%;height:150px;gap:6px}.race-controls small{font-size:10px}.race-controls b{font-size:13px}#complete-grid,#complete-ranks{min-width:760px}#complete-grid{grid-template-rows:repeat(4,52px)}.complete-card{font-size:22px}.complete-scroll{max-width:100%}.dialog-chips{gap:5px}.dialog-chips .chip{width:36px;height:36px}}

/* Match Cards Wheel: a placed chip spans half a desktop card-column pitch. */
.betting-layout{container-type:inline-size}
.betting-layout .placed-chip,.betting-layout .package-marker{width:calc(100cqw / 30);height:calc(100cqw / 30);font-size:clamp(9px,1cqw,16px);border-width:2px;font-family:'Segoe UI',Arial,sans-serif;font-weight:800;line-height:1;letter-spacing:-.4px}
.table-bottom .chip{width:44px;height:44px;flex:0 0 44px}.table-bottom .chip span{font-size:15px}
.dialog-chips .chip{width:44px;height:44px;flex:0 0 44px}
#complete-grid{container-type:inline-size}#complete-grid .package-marker{width:30px;height:30px;font-size:10px;border-width:2px}
@media(max-width:760px){.betting-layout .placed-chip,.betting-layout .package-marker{width:min(9cqw,29px);height:min(9cqw,29px);font-size:10px;border-width:1px}.table-bottom .chips{flex:1 0 100%;order:1;gap:6px}.table-bottom .chip,.dialog-chips .chip{width:36px;height:36px;flex:0 0 36px}.table-bottom .chip span{font-size:13px}#racetrack-open{margin-right:auto}#complete-open{margin-left:auto}.table-bottom .actions{order:2}}

/* Transparent boundary targets; placing a split/corner adds one selected chip. */
.betting-layout .position-hit{position:absolute;z-index:7;transform:translate(-50%,-50%);width:clamp(16px,1.55cqw,26px);height:clamp(16px,1.55cqw,26px);min-width:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;cursor:default;box-shadow:none}
.betting-layout .position-hit:focus-visible{border:2px solid #ffe088;background:#e6c86b35;outline:none;filter:none}
.betting-layout .position-hit:disabled{pointer-events:none}
@media(max-width:760px){.betting-layout .position-hit{width:16px;height:16px}}

/* Original Cards Wheel clay chips, including value-based artwork on placed bets. */
.betting-layout .placed-chip,.package-marker{border:0!important;background:transparent var(--chip-art) center/100% 100% no-repeat!important;box-shadow:none;color:var(--chip-ink,#fff);font-family:Georgia,'Times New Roman',serif;font-weight:700;text-shadow:0 1px 1px #0004;padding-bottom:2px;letter-spacing:-.5px}
.betting-layout .placed-chip,.betting-layout .package-marker{font-size:clamp(13px,1.55cqw,25px)}
.betting-layout [data-digits="3"]{font-size:clamp(11px,1.2cqw,19px)}.betting-layout [data-digits="4"]{font-size:clamp(9px,1cqw,16px)}.betting-layout [data-digits="5"],.betting-layout [data-digits="6"]{font-size:clamp(8px,.8cqw,13px)}
.chip{border:0;box-shadow:none}.chip.selected{border:0;outline:2px solid #f4d78b;outline-offset:2px;filter:drop-shadow(0 0 4px #efd58055)}.chip span{padding-bottom:3px;font-family:Georgia,'Times New Roman',serif;font-size:19px}.chip:nth-last-child(-n+2) span{font-size:15px}
.hot{background-image:url('assets/fire-ice-realistic.webp');background-size:200% 100%;background-position:left center}.cold{background-image:url('assets/fire-ice-realistic.webp');background-size:200% 100%;background-position:right center}
#racetrack-open{background:transparent url('assets/racetrack-button.svg') center/100% 100% no-repeat;border:0;border-radius:30px;color:#fff0b3}
@media(min-width:761px){
 body{width:calc(1920px * var(--u));height:calc(1080px * var(--u));min-height:0;margin:0 auto;grid-template-columns:calc(144px * var(--u)) minmax(0,1fr) calc(126px * var(--u));font-size:calc(14px * var(--u))}
 .app-shell{min-width:0}header{height:calc(60px * var(--u));margin:0 calc(48px * var(--u));padding:calc(6px * var(--u)) calc(22px * var(--u))}.brand{font-size:calc(22px * var(--u));gap:calc(12px * var(--u));letter-spacing:calc(3px * var(--u))}.brand img{height:calc(48px * var(--u));width:calc(42px * var(--u))}.brand small{font-size:calc(8px * var(--u));letter-spacing:calc(2px * var(--u))}.header-actions button{font-size:calc(12px * var(--u));padding:calc(8px * var(--u)) calc(11px * var(--u))}
 main{padding:0 calc(68px * var(--u))}.upper{height:calc(276px * var(--u));min-height:0;grid-template-columns:1fr calc(370px * var(--u)) 1fr;gap:calc(24px * var(--u));position:relative}.wheel-wrap{width:calc(300px * var(--u));max-width:none}.phase{font-size:calc(7px * var(--u));padding:calc(4px * var(--u)) calc(8px * var(--u));bottom:2%}.statistics{max-width:calc(393px * var(--u));width:100%}.stat-grid{gap:calc(5px * var(--u));margin:calc(14px * var(--u)) 0 calc(31px * var(--u))}.stat{height:calc(74px * var(--u));padding:calc(14px * var(--u)) 0 calc(8px * var(--u))}.stat small{font-size:calc(8px * var(--u))}.stat strong{font-size:calc(18px * var(--u));margin-top:calc(12px * var(--u))}.section-label,.hand-heading{font-size:calc(11px * var(--u))}.statistics p{display:none}.suit-stats{margin-bottom:0}.suit-stats .stat small{font-size:calc(20px * var(--u))}.suit-stats .stat:last-child small{font-size:calc(10px * var(--u));padding:calc(6px * var(--u)) 0}.suit-stats .stat strong{margin-top:calc(4px * var(--u))}
 .hand-panel{width:calc(426px * var(--u));max-width:100%;justify-self:end}.hand-heading{margin:0 0 calc(10px * var(--u))}.hand-heading b{font-size:calc(8px * var(--u))}.cards{gap:calc(8px * var(--u))}.card-slot img{height:calc(110px * var(--u));object-fit:fill;aspect-ratio:auto}.timeline{margin:calc(5px * var(--u)) 0;gap:calc(5px * var(--u))}.step{font-size:calc(7px * var(--u));padding-top:calc(2px * var(--u));border-top-width:1px}.result{padding:calc(7px * var(--u)) calc(13px * var(--u));border-radius:calc(9px * var(--u));min-height:calc(58px * var(--u))}.result small{font-size:calc(8px * var(--u))}.result h3{font-size:calc(15px * var(--u));margin:calc(4px * var(--u)) 0}.result p{font-size:calc(9px * var(--u))}.controls{grid-template-columns:1fr 1fr;gap:calc(7px * var(--u));margin-top:calc(5px * var(--u))}.controls label{font-size:calc(8px * var(--u))}.controls select{padding:calc(5px * var(--u));font-size:calc(10px * var(--u));margin-top:calc(2px * var(--u))}#launch{font-size:calc(10px * var(--u));padding:calc(7px * var(--u))}
 .table-panel{height:calc(714px * var(--u));padding:calc(18px * var(--u));display:grid;grid-template-rows:calc(76px * var(--u)) calc(490px * var(--u)) minmax(0,1fr);border-radius:calc(14px * var(--u))}.table-toolbar{margin:0;align-items:flex-start;padding-top:calc(8px * var(--u))}.table-toolbar strong{font-size:calc(15px * var(--u))}.preview-label{font-size:calc(10px * var(--u));max-width:none}.betting-layout{grid-template-rows:repeat(5,minmax(0,1fr));gap:calc(4px * var(--u))}.spot{font-size:calc(38px * var(--u))}.spot.outside{font-size:calc(24px * var(--u))}.table-bottom{margin-top:calc(16px * var(--u));padding-top:calc(10px * var(--u));gap:calc(12px * var(--u));flex-wrap:nowrap}.table-bottom .chips{flex:0 0 auto;gap:calc(9px * var(--u))}.table-bottom .chip{width:calc(44px * var(--u));height:calc(44px * var(--u));flex:0 0 calc(44px * var(--u))}.table-bottom .chip span{font-size:calc(19px * var(--u))}.table-bottom .chip:nth-last-child(-n+2) span{font-size:calc(15px * var(--u))}.summary{min-width:calc(155px * var(--u));padding:calc(7px * var(--u)) calc(10px * var(--u))}.summary strong{font-size:calc(22px * var(--u))}.summary small,.summary span{font-size:calc(9px * var(--u))}.feature-button,.actions button{font-size:calc(12px * var(--u));padding:calc(10px * var(--u)) calc(14px * var(--u))}#racetrack-open{width:calc(150px * var(--u));height:calc(49px * var(--u));font-size:calc(14px * var(--u))}.actions button{min-width:calc(90px * var(--u));height:calc(48px * var(--u))}footer{height:calc(30px * var(--u));padding:calc(9px * var(--u)) calc(68px * var(--u));font-size:calc(9px * var(--u))}
 .hotcold,.recent{padding:calc(7px * var(--u)) calc(5px * var(--u));height:calc(1080px * var(--u));overflow:hidden}.hotcold section{height:calc(517px * var(--u));min-height:0;margin-bottom:calc(7px * var(--u))}.hotcold h3{font-size:calc(14px * var(--u));padding:calc(10px * var(--u)) 0;margin:0}.hotcold section>div{padding:calc(6px * var(--u));font-size:calc(11px * var(--u))}.heat-card{margin:calc(5px * var(--u)) auto calc(21px * var(--u))}.heat-card b{height:calc(82px * var(--u));width:calc(82px * var(--u));font-size:calc(29px * var(--u))}.heat-card span{font-size:calc(10px * var(--u));margin-top:calc(4px * var(--u))}.hotcold small,.recent>small{font-size:calc(7px * var(--u))}.recent h3{font-size:calc(12px * var(--u));margin:calc(6px * var(--u)) 0 calc(8px * var(--u))}.recent-card{height:calc(80px * var(--u));margin-top:calc(5px * var(--u));font-size:calc(36px * var(--u))}.spot .winning-dolly{width:calc(40px * var(--u));height:calc(40px * var(--u))}
}
@media(max-width:760px){.betting-layout .placed-chip,.betting-layout .package-marker{font-size:11px}}

@media(min-width:761px){.upper{grid-template-rows:minmax(0,1fr)}.wheel-panel,.hand-panel,.statistics{min-height:0}}

#joker-frequency{text-align:right;color:#68e4c6;font-size:9px;margin-top:-23px;margin-bottom:18px}.no-results{font-size:11px;line-height:1.6;color:#b9cbd8;padding:14px 4px}
@media(min-width:761px){#joker-frequency{font-size:calc(8px * var(--u));margin-top:calc(-23px * var(--u));margin-bottom:calc(15px * var(--u))}.no-results{font-size:calc(11px * var(--u))}}

/* Illuminated landed cards: preserve red/black/green identity beneath a gold light. */
.betting-layout .spot.marker-win{isolation:isolate;overflow:visible;border-color:#fff2ad;box-shadow:inset 0 0 0 2px #ffe58a,inset 0 0 24px #ffd34b77,0 0 14px #ffd34b99,0 0 28px #ffca3a44;text-shadow:0 0 8px #fff8bd,0 2px 3px #0008}
.betting-layout .spot.marker-win::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at center,#fff6bd88 0%,#ffe07744 48%,#e6aa1722 100%);animation:winning-card-light 1.6s ease-in-out infinite alternate}
@keyframes winning-card-light{from{opacity:.6}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.betting-layout .spot.marker-win::before{animation:none;opacity:.85}}

.betting-layout .position-hit:hover:not(:focus-visible){border-color:transparent;background:transparent;filter:none;box-shadow:none}

.actions #repeat{background:linear-gradient(#287958,#15553f);border-color:#63a58a;white-space:nowrap}

#result{position:relative;cursor:default}#result[aria-disabled="false"]{cursor:pointer}.bonus-preview-row{display:flex;align-items:center;gap:6px;font-size:10px;min-height:22px;margin-top:4px}.bonus-preview-chip{width:26px;height:26px;flex:0 0 26px;display:inline-grid;place-items:center;background:transparent var(--chip-art) center/100% 100% no-repeat;color:var(--chip-ink);font:bold 10px Georgia;padding-bottom:2px}.bonus-preview-chip[hidden],#bonus-clear[hidden]{display:none}#bonus-clear{margin-left:auto;border:1px solid #9d8749;padding:0 6px;background:#17394b33;color:inherit;font-size:16px;height:22px}#bonus-feedback{display:block;font-size:9px;line-height:1.2;margin-top:2px}#bonus-feedback:empty{display:none}
@media(min-width:761px){.hand-panel .result{padding:calc(5px * var(--u)) calc(13px * var(--u))}.hand-panel .result p{display:none}.bonus-preview-row{min-height:calc(22px * var(--u));margin-top:calc(2px * var(--u));font-size:calc(9px * var(--u))}.bonus-preview-chip{width:calc(26px * var(--u));height:calc(26px * var(--u));flex-basis:calc(26px * var(--u));font-size:calc(10px * var(--u))}#bonus-clear{height:calc(20px * var(--u));font-size:calc(15px * var(--u))}#bonus-feedback{position:absolute;top:100%;right:0;z-index:20;background:#102944;color:#ffe49b;padding:3px 6px;border-radius:4px;font-size:calc(9px * var(--u))}}
@media(min-width:761px){.hand-panel .controls label{font-size:0}.hand-panel .controls select{margin-top:0}}
@media(min-width:761px){.hand-panel .controls{margin-top:calc(2px * var(--u))}}

#result,#result[aria-disabled="false"]{cursor:default;padding-left:82px;min-height:82px}
#bonus-place{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:56px;height:56px;padding:3px;border:2px solid #ffe6a2;border-radius:50%;background:#102d4370;box-shadow:0 0 0 3px #8c6f3833,inset 0 0 10px #081e3655;display:grid;place-items:center;color:#fff4ce;cursor:pointer}
#bonus-place:hover:not(:disabled){background:#183e58;box-shadow:0 0 0 3px #ffe6a244,inset 0 0 12px #ffe09522}
#bonus-place-label{font-size:10px;font-weight:800;line-height:1.2;letter-spacing:.4px}
#bonus-place-label[hidden]{display:none}#bonus-place .bonus-preview-chip{width:46px;height:46px;font-size:15px;flex-basis:auto}
@media(min-width:761px){.hand-panel #result{padding-left:calc(78px * var(--u));min-height:calc(82px * var(--u))}#bonus-place{left:calc(12px * var(--u));width:calc(54px * var(--u));height:calc(54px * var(--u));padding:calc(3px * var(--u))}#bonus-place-label{font-size:calc(10px * var(--u))}#bonus-place .bonus-preview-chip{width:calc(44px * var(--u));height:calc(44px * var(--u));font-size:calc(14px * var(--u))}}

#poker-payout{margin:20px auto 0;padding:14px;border:1px solid #dabc6b88;border-radius:12px;background:#081c3577}#poker-payout>small{letter-spacing:2px;color:#e8cd80;font-size:10px}#poker-payout-amount{display:block;color:#ffe582;font-size:clamp(30px,5vw,58px);line-height:1.15;margin:7px 0;text-shadow:0 2px 15px #e9c15755}#poker-payout-detail{font-size:13px!important;margin:8px 0}#poker-balance-after{font-size:13px;color:#83e2c7}.summary #sim-balance{white-space:nowrap;font-size:clamp(13px,1.15vw,22px)}.summary #preview-total{font-weight:400}
#bonus-feedback{pointer-events:none}@media(min-width:761px){#bonus-feedback{top:auto;bottom:100%;margin-bottom:3px}}

.race-bet-marker{pointer-events:none}.race-bet-marker text{font-family:Georgia,serif}#race-feedback,#race-total{text-align:center;margin:8px 0;color:#ffe098;font-size:13px}#race-total{color:#bed4e5;font-size:12px}

/* Match Cards Wheel: locking betting must not fade the table or its chips. */
.betting-layout .spot:disabled{opacity:1;cursor:default}
.betting-layout .spot:disabled:hover{filter:none}

/* No browser focus rectangle on pointer-selected racetrack pockets. */
.race-pocket:focus:not(:focus-visible){outline:none}
.race-pocket:focus-visible{outline:2px solid #ffe397;outline-offset:3px}

/* Pointer clicks should not leave focus frames; keyboard navigation stays visible. */
.betting-layout button:focus:not(:focus-visible),#complete-dialog button:focus:not(:focus-visible),#complete-open:focus:not(:focus-visible){outline:none}

/* Identical denomination treatment for straight, split and corner chips. */
.betting-layout .placed-chip,.betting-layout .package-marker{font-family:"Segoe UI",Arial,sans-serif;font-weight:800;text-align:center;pointer-events:none}

/* Shared clay-chip denomination styling across layout and betting dialogs. */
#complete-grid .package-marker,.race-bet-marker text,.chip span{
 font-family:"Segoe UI",Arial,sans-serif;font-weight:800;letter-spacing:-.5px;
 text-align:center;text-shadow:0 1px 1px #0004;
}
#complete-grid .package-marker{font-size:14px;line-height:1}
.race-bet-marker text{font-size:21px}
.race-bet-marker[data-digits="3"] text{font-size:18px}
.race-bet-marker[data-digits="4"] text{font-size:15px}

/* Original-game spin focus, without dimming the layout or chip artwork. */
.table-panel{transform-origin:center bottom;transition:transform .65s ease}
.wheel-wrap{transition:transform .65s ease;z-index:2}
body.spin-focus .table-panel{transform:scale(.62);pointer-events:none}
body.spin-focus .wheel-wrap{transform:translateY(calc(105px * var(--u,1))) scale(1.75);z-index:10}
@media(max-width:760px){
 body.spin-focus .wheel-wrap{transform:scale(1.35)}
 body.spin-focus .table-panel{transform:scale(.72);transform-origin:center top}
}
@media(prefers-reduced-motion:reduce){.table-panel,.wheel-wrap{transition:none}}

.race-sector[data-quarter]{cursor:pointer}.race-sector:focus:not(:focus-visible){outline:none}.race-sector:focus-visible{outline:2px solid #ffe397;outline-offset:3px}

.financial-summary{flex:1 1 365px;min-width:250px;max-width:420px}
.financial-heading{display:flex;justify-content:space-between;align-items:center;color:#afc9df;font-size:8px;margin-bottom:5px}
#free-topup{padding:2px 7px;font-size:9px;color:#7ce3cc;background:#143b49;border-color:#408b85}
.financial-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.finance-card{min-width:0;border:1px solid #5e91b6;border-radius:6px;padding:6px;background:linear-gradient(120deg,#214d70,#133552)}
.finance-card.total{border-color:#b69650;background:linear-gradient(120deg,#514630,#302f32)}
.finance-card.win{border-color:#3eab90;background:linear-gradient(120deg,#176252,#173e48)}
.finance-card small{display:block;font-size:8px;color:#c2d8e6}
.finance-card strong{display:inline-block;font-size:clamp(10px,1vw,18px);line-height:1.3;max-width:100%;overflow-wrap:anywhere}
.finance-card>span{font-size:8px;color:#edcf78;margin-left:3px}
#bet-feedback{font-size:10px;color:#ffdb88}
@media(max-width:760px){.financial-summary{flex:1 0 100%;max-width:none}.finance-card strong{font-size:15px}}

#layout-win{width:min(560px,92vw);padding:40px 24px 28px;text-align:center;border:2px solid #e3bf61;border-radius:22px;color:#f8e6ad;background:radial-gradient(ellipse at top,#493261,#12324e 65%,#0c243c);box-shadow:0 18px 65px #0009}
#layout-win::backdrop{background:#06162b88}

#layout-win h2{font-size:34px;margin:14px 0;color:#ffe08a}
#layout-win-amount{display:block;font-size:clamp(28px,6vw,56px);color:#ffe48a;overflow-wrap:anywhere}
#layout-win p{color:#c8daed;font-size:14px;margin:18px 0 10px}
#layout-win small{color:#b4c9dc;font-size:11px}


.dialog-balance{margin-left:auto;margin-right:18px;padding:7px 12px;border:1px solid #5e91b6;border-radius:7px;background:linear-gradient(120deg,#214d70,#133552);text-align:right}
.dialog-balance small{display:block;color:#c2d8e6;font-size:9px;letter-spacing:.4px}
.dialog-balance strong{font-size:20px;color:#fff;white-space:nowrap}
.dialog-balance span{font-size:9px;color:#edcf78}
@media(max-width:760px){.dialog-balance{margin-right:8px;padding:6px 8px}.dialog-balance strong{font-size:15px}.dialog-balance small{font-size:7px}.bet-dialog .dialog-head h2{font-size:18px}}

/* Five-ball inside-bets-only layout: no empty outside-bet row or suit column. */
.betting-layout{grid-template-columns:repeat(14,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr))}
@media(max-width:760px){.betting-layout{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:55px repeat(13,37px)}}

#about-dialog{width:min(760px,94vw);max-width:94vw;max-height:90dvh;padding:0;overflow:auto;color:#d5e3f1;background:linear-gradient(135deg,#173d5b,#0d2544);border:1px solid #d8b766;border-radius:14px}
.rules-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;position:sticky;top:0;z-index:1;background:#12314e;border-bottom:1px solid #bda15d66}
.rules-head h2{margin:0;color:#f1cf7a;font-size:23px}.rules-head button{font-size:22px;padding:3px 10px}
.rules-content{padding:8px 22px 22px;font-size:14px;line-height:1.55;overflow-wrap:break-word}
.rules-content h3{font-size:17px;color:#edcb77;margin:23px 0 8px}.rules-content strong{color:#f5dfaa}.rules-content ul{padding-left:20px}.rules-content li{margin-bottom:8px}
.rules-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:13px}.rules-table th,.rules-table td{padding:9px 8px;border:1px solid #64819c66;text-align:left;overflow-wrap:break-word}.rules-table th{color:#f0d389;background:#254d6b}.rules-table td{background:#18395888}.rules-back{display:block;margin:22px auto 0}
@media(max-width:760px){.rules-head{padding:12px}.rules-content{padding:4px 12px 18px;font-size:13px}.rules-head h2{font-size:20px}.rules-table{font-size:12px}.rules-table th,.rules-table td{padding:7px 5px}.rules-content h3{font-size:16px}}

.auto-bonus-row{display:flex;align-items:center;gap:6px;color:#d4e3ef;font-size:11px;margin:5px 0;cursor:pointer}.auto-bonus-row input{accent-color:#dfbb60;margin:0}

/* Match the original table: Complete bets followed by Racetrack at top right. */
.table-toolbar{position:relative;align-items:center}
.table-bet-tools{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex-shrink:0}
.table-bet-tools #complete-open{background:linear-gradient(135deg,#705b27,#453b25);border:1px solid #d0ad55;color:#fff0be;margin:0}
.table-bet-tools #racetrack-open{margin:0}
@media(min-width:761px){
 .table-toolbar{align-items:flex-start}
 .table-toolbar>strong{position:absolute;left:50%;top:calc(18px * var(--u));transform:translateX(-50%);white-space:nowrap}
 .table-bet-tools{margin-left:auto;gap:calc(20px * var(--u))}
 .table-bet-tools #complete-open{height:calc(36px * var(--u));font-size:calc(11px * var(--u));padding:calc(8px * var(--u)) calc(14px * var(--u))}
 .table-bet-tools #racetrack-open{width:calc(170px * var(--u));height:calc(55px * var(--u))}
}
@media(max-width:760px){
 .table-toolbar{flex-wrap:wrap;gap:10px}
 .table-toolbar>strong{font-size:11px;letter-spacing:1px}
 .table-bet-tools{width:100%;gap:12px}
 .table-bet-tools #racetrack-open{width:130px;height:42px;font-size:12px}
 .table-bet-tools #complete-open{font-size:11px;padding:9px 12px}
}

#repeat-options{min-width:24px;width:28px;padding:6px;margin-left:-10px}
#repeat-stop{min-width:54px;background:#90333e;color:white}
#repeat-stop[hidden]{display:none}
#repeat-dialog{width:min(500px,94vw);color:#f5eed8;background:linear-gradient(130deg,#193e59,#102744);border:1px solid #dcb95d;border-radius:14px;padding:24px}
#repeat-dialog h2{color:#f1ce78;margin-top:0}
#repeat-dialog p{line-height:1.5}
.repeat-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.repeat-choices button{border-color:#c4a14d}

.mobile-swipe-hint{display:none}
@media(max-width:760px){
 .race-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .race-scroll #race-svg{width:1100px;max-width:none;display:block}
 .race-wrap{padding-bottom:0}
 .race-controls{position:relative;inset:auto;width:100%;height:auto;min-height:150px;margin-top:10px}
 .mobile-swipe-hint{display:block;color:#bed3e6;font-size:11px;text-align:center;margin:8px 0}
 .complete-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .bet-dialog{max-height:94dvh;overflow-y:auto}
 .bet-dialog .dialog-head{position:sticky;top:-12px;z-index:10;background:#143650;padding:8px 0}
}

/* Portrait racetrack: upright labels/chips, no sideways scrolling. */
@media(max-width:760px){
 .race-scroll{overflow:hidden;width:100%}
 .race-scroll #race-svg{width:100%;max-width:100%;height:auto;aspect-ratio:520 / 930}
 .race-wrap>.mobile-swipe-hint{display:none}
 .race-wrap{position:relative;padding:0}
 .race-controls{position:absolute;left:21%;right:21%;top:50%;transform:translateY(-50%);width:auto;height:auto;min-height:0;margin:0;padding:8px 4px;gap:5px}
 .race-controls small{font-size:8px}
 .race-controls b{font-size:10px}
 .race-controls p{font-size:8px}
 .race-controls strong{font-size:24px}
 .race-controls button{font-size:20px;padding:2px 10px}
 #race-svg .race-pocket text{font-size:24px}
 #race-svg .race-sector text{font-size:19px}
}

#exit-mobile-betting{display:none}
@media(max-width:760px){
 body.mobile-betting-focus{overflow:hidden}
 body.mobile-betting-focus .table-panel{position:fixed;inset:0;z-index:30;width:100%;height:100dvh;margin:0;border-radius:0;padding:12px;overflow-y:auto;background:linear-gradient(130deg,#173b58,#10294a);transform:none}
 body.mobile-betting-focus .betting-layout{grid-template-rows:60px repeat(13,clamp(44px,calc((100dvh - 240px)/14),68px))}
 body.mobile-betting-focus #exit-mobile-betting{display:inline-block;font-size:11px;padding:8px}
 body.mobile-betting-focus .table-toolbar>.section-label{display:none}
 body.spin-focus .wheel-wrap{width:74vw;max-width:400px;transform:scale(1.3)}
}
