/* NX DICE: shared premium frame, practical touch stage, compact controls. */
:root{--gold:#e0bb78;--paper:#f2eadb;--muted:#9bafbf;--line:#64705c55}
body{background:radial-gradient(ellipse at 50% 10%,#173449,#080f1a 55%,#04080e)}
.cabinet{width:min(100%,560px);padding:0 16px 22px;min-height:0;background:linear-gradient(150deg,#0d2030,#060e18 65%);border:1px solid #53647077!important;box-shadow:0 24px 80px #0008!important}
.nx-common{margin:0;border:0;background:none;box-shadow:none}.nx-header #sound{min-width:44px;min-height:44px}.nx-status .bet-history-button{height:35px;border:1px solid #d1a75c;border-radius:6px;background:#101d2b;color:#f0dcaf;font-size:11px;padding:0 8px}.nx-status .nx-timer>strong{gap:3px;font-size:11px;white-space:nowrap}.nx-status .nx-timer>strong b{font-size:11px;line-height:1.2}.nx-status .nx-timer>strong span{line-height:1.2}.nx-status .nx-timer{height:29px;box-shadow:none}
.result-tape{margin-top:9px;padding:6px;border:1px solid #344b5b;border-radius:8px;background:#09131e;gap:6px;min-height:45px}.result-tape li:not(.empty-history){flex-basis:48px;height:35px;background:linear-gradient(#213346,#0d1b2b);border:1px solid #677566;border-radius:7px;color:#efdab5;padding:3px 5px}.result-tape li>span{color:#b5c5d4;font-size:10px}.result-tape li.big>b,.result-tape li.big>small{color:#efc889}.result-tape li.small>b,.result-tape li.small>small{color:#8be9f2}
.theatre{margin:9px -8px 0;background:radial-gradient(ellipse at 55% 67%,#ab854526,transparent 55%),radial-gradient(ellipse at 12% 50%,#12546a44,transparent 52%),#07121c;border-radius:12px;overflow:hidden;border-bottom:1px solid #a6874b55}
.theatre canvas{margin:0;aspect-ratio:1.2;border-radius:12px}.stage-hint{margin:-10px 0 0;padding:0 10px 10px;min-height:41px}.stage-hint p{font-size:14px;color:#c4d1da}.hint-icon{color:#d9bc80}.round-result{top:12px;width:100%;padding:0}.round-result>span{color:#e7c581;font-size:12px}.round-result strong{display:inline-block;margin:0 9px;font-size:33px;color:#fff1c9;text-shadow:0 2px 15px #c0923840}.round-result small{display:inline-block;margin:0;font-size:13px;color:#c7d5dc}
.action-row{margin:10px 0;justify-content:space-between;align-items:center;padding:7px 9px;border:1px solid #3d5161;border-radius:8px;background:#0a1725}.auto-toggle{border:0;box-shadow:none!important;background:none;padding:0;min-width:140px;font-size:13px;border-radius:0;color:#aebfcb}.auto-toggle b{background:#2a3e53;color:#c6d0dc;font-size:12px;min-width:48px}.auto-toggle[aria-pressed=true]{background:none;color:#d4e9ec}.auto-toggle[aria-pressed=true] b{background:#32ccdf;color:#08212c}
#reveal-now{min-height:39px;padding:0 14px;background:#0c1a27;border:1px solid #d0ac64;border-radius:6px;color:#f2d793;font-size:13px;font-weight:700}#reveal-now span{padding-left:12px;font-size:20px}#reveal-now:disabled{opacity:.4}
.choice-grid{gap:10px}.choice,.choice.small{min-height:92px;padding:10px 14px;border:1px solid #bc9b61;background:linear-gradient(140deg,#243748,#0d1b29);border-radius:9px}.choice-top{flex-direction:row-reverse;justify-content:flex-end;gap:8px}.choice i{font-size:24px;color:#f3dfb1}.choice-top small{font-size:12px;letter-spacing:0}.choice>strong{font-size:21px;margin:4px 0 0;color:#e8e7df}.choice-footer{display:none}.choice.small[aria-pressed=true]{border-color:#37dfef;background:linear-gradient(140deg,#155072,#0c263b)}.choice.big[aria-pressed=true]{border-color:#e5c382;background:linear-gradient(140deg,#685536,#2b271e)}.choice[aria-pressed=true]:after{color:#fae5b1}.choice.is-winner,.choice.big.is-winner{border-color:#f3d79a;background:linear-gradient(140deg,#594627,#12232d)}
.round-message{color:#95adbf;font-size:12px;line-height:1.5;min-height:39px}.round-message.is-match{color:#ebd193}.settings{margin-top:8px;border:1px solid #344754;border-radius:8px;padding:12px;color:#a8bac8}.settings summary{min-height:26px;font-size:13px;color:#c0cfda}.settings p{color:#94a9bc;font-size:13px}.setting-row input{accent-color:#d5b372}.cabinet footer{font-size:10px;color:#859bae;margin-top:16px}.cabinet footer span{color:#859bae}
.bet-history-panel{top:56px;left:0;right:0;border:1px solid #a68b54;border-radius:9px;overflow:hidden;background:#0b1725}.bet-history-panel .empty-bet{font-size:13px}.bet-history-head strong{color:#f0d99e}
@media(max-width:599px){body{padding:0}.cabinet{border:0!important;padding:0 12px 18px;border-radius:0}.nx-header{min-height:68px}.nx-common{margin:0}.theatre{margin-inline:0}}
@media(min-width:1000px){.cabinet{width:940px;display:grid;grid-template-columns:minmax(0,560px) 280px;gap:0 26px;padding:0 24px 24px}.nx-header,.nx-common{grid-column:1/-1}.theatre{grid-column:1;grid-row:3/8;margin-top:14px}.action-row{grid-column:2;grid-row:3;align-self:start;margin-top:14px;flex-wrap:wrap;gap:10px}.choice-grid{grid-column:2;grid-row:4;align-self:start}.round-message{grid-column:2;grid-row:5}.settings{grid-column:2;grid-row:6;align-self:start}.cabinet footer{grid-column:1/-1}.bet-history-panel{left:auto;width:420px}.nx-status{grid-template-columns:auto auto minmax(0,1fr) auto}}
/* Reference betting colors remain visible before selection. */
.choice.small{background:linear-gradient(135deg,#1b4e88,#12365f 75%);border:2px solid #28c8f1;box-shadow:inset 0 1px 3px #93dcff30;color:#d5f0ff}
.choice.big{background:linear-gradient(135deg,#625333,#3e3524 75%);border:2px solid #e7b957;box-shadow:inset 0 1px 3px #ffe9ac30;color:#f7dda0}
.choice-top{justify-content:center}.choice-top small{display:none}.choice i{color:inherit}.choice>strong{text-align:center;color:inherit;font:500 20px/1.25 system-ui,sans-serif;letter-spacing:1px;margin:2px 0 0}.choice{min-height:78px;padding:9px 14px}
.choice.small[aria-pressed=true]{background:linear-gradient(135deg,#2264a2,#17446f);border-color:#77e7ff;box-shadow:inset 0 0 0 1px #a1f0ff55,0 0 14px #1cc8f32a}
.choice.big[aria-pressed=true]{background:linear-gradient(135deg,#80693e,#534326);border-color:#ffe1a0;box-shadow:inset 0 0 0 1px #ffe4a755,0 0 14px #eab85b2a}
.choice.small.is-winner{background:linear-gradient(135deg,#2264a2,#17446f);border-color:#77e7ff}.choice.big.is-winner{background:linear-gradient(135deg,#80693e,#534326);border-color:#ffe1a0}
.choice:disabled{opacity:.8}.choice.is-winner:disabled{opacity:1}
/* Shared betting controls from the approved NX mobile reference. */
.dice-betting{margin-top:10px;min-width:0}.dice-balance{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:8px;border:1px solid #3b5061;border-radius:7px;background:#071422}.dice-balance>div,.dice-balance label{display:flex;gap:7px;align-items:center;min-width:0;font-size:12px;color:#c2d0db;white-space:nowrap}.dice-balance>div{padding-right:9px;border-right:1px solid #2a3c4e}.dice-balance output{margin-left:auto;font-size:14px;color:#f0d9a4;font-variant-numeric:tabular-nums}.dice-balance input{width:100%;min-width:0;height:34px;text-align:right;border:1px solid #384f64;border-radius:5px;padding:5px 7px;background:#06111f;color:#e4edf2;font:600 14px system-ui;touch-action:manipulation}.amount-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:8px 0}.amount-presets button{min-height:36px;border:1px solid #354b5e;border-radius:5px;color:#b7cbdc;background:linear-gradient(#193043,#0a1b29);font:600 12px system-ui;touch-action:manipulation}.amount-presets button[aria-pressed=true]{border-color:#ebc366;color:#f2deb0;box-shadow:inset 0 0 0 1px #a38541;background:linear-gradient(#3b3a2e,#1c2929)}#place-bet{width:100%;min-height:47px;border:1px solid #e6c46f;border-radius:7px;background:linear-gradient(#59eafa,#00b9dc 22%,#008aaf);box-shadow:inset 0 1px 2px #d2ffff;color:#002530;font:800 19px system-ui;touch-action:manipulation}#place-bet:disabled{opacity:.5;cursor:default}.amount-presets button:disabled{opacity:.55;cursor:default}#bet-help{margin:6px 0 0;text-align:center;color:#7e99ac;font-size:11px}.dice-betting :focus-visible{outline:2px solid #71ebff;outline-offset:2px}.dice-records{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px;margin:0 0 10px;min-width:0}.dice-records>div{border:1px solid #304556;border-radius:7px;padding:9px;background:#06121e;min-width:0}.dice-records h2{font-size:13px;color:#dce7ef;margin:0 0 8px}.dice-records ol{list-style:none;padding:0;margin:0}.dice-records li{display:grid;grid-template-columns:1fr auto auto;gap:7px;border-top:1px solid #1c3040;padding:7px 0;color:#9eb5c9;font:11px/1.5 system-ui;white-space:nowrap}.dice-records #my-bets li{grid-template-columns:1fr auto auto auto;gap:5px;font-size:10px}.dice-records .empty-bet{display:block;white-space:normal}.dice-records em{font-style:normal}.dice-records .paid,.bet-history-panel .paid{color:#51df9e}.dice-records b{color:#eccea0}.round-message{min-height:32px;padding-top:6px}
@media(min-width:1000px){.theatre{grid-row:3/9}.dice-betting{grid-column:2;grid-row:5}.round-message{grid-row:6}.dice-records{grid-column:2;grid-row:7;grid-template-columns:1fr}.settings{grid-row:8}.dice-records #my-bets li{font-size:12px}.dice-records #recent-rows{display:flex;flex-wrap:wrap;gap:8px}.dice-records #recent-rows li{flex:1;min-width:90px}}
/* Approved option 01: navy-and-brass VIP lounge, behind the live 3D scene. */
.theatre{background:#07121c url('./assets/vip-lounge.webp') center top / 100% auto no-repeat;border:1px solid #92724566;box-shadow:inset 0 0 24px #02091244}
.theatre canvas{background:transparent}
.theatre .stage-hint{position:relative;background:linear-gradient(transparent,#07121cd9 40%,#07121c);padding:8px 10px 12px;margin-top:-10px}
.theatre .stage-hint p{color:#e1e7eb;text-shadow:0 1px 4px #000}
.theatre .round-result{width:auto;left:50%;transform:translateX(-50%);white-space:nowrap;max-width:95%;padding:6px 12px;background:#07121cda;border:1px solid #b8955055;border-radius:9px;backdrop-filter:blur(5px)}
.choice-footer.nx-odds{display:block;position:absolute;right:12px;top:12px;font-size:11px;font-weight:800;color:#f0d99f;letter-spacing:.02em}
