/* Casino uses the same surfaces, borders and spacing as the markets. */
#casinoView { min-width:0; }
.casino-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:8px 0 22px; }
.casino-heading .eyebrow { color:var(--green); font-size:10px; letter-spacing:.15em; margin:0 0 9px; }
.casino-heading h2 { font-size:32px; line-height:1.1; letter-spacing:-.04em; margin:0 0 10px; }
.casino-heading p { color:var(--muted); font-size:13px; margin:0; }
.casino-live { display:flex; align-items:center; gap:8px; font-size:11px; color:var(--muted); white-space:nowrap; }
.casino-live i { width:6px; height:6px; border-radius:50%; background:var(--green); box-shadow:0 0 12px #9cff3b66; }
.casino-game-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.casino-game-tabs button { display:flex; align-items:center; gap:12px; padding:19px; background:#0d1610; color:var(--text); border:1px solid var(--line); border-radius:18px; font-size:17px; font-weight:750; text-align:left; }
.casino-game-tabs button > span { color:var(--muted); font-size:11px; font-weight:500; }
.casino-game-tabs small { margin-left:auto; font-size:11px; color:var(--muted); font-weight:400; }
.casino-game-tabs button.active { border-color:#9cff3b80; background:linear-gradient(120deg,#1b3017,#0e1811); }
.casino-game-tabs button.active > span { color:var(--green); }
.casino-layout { display:grid; grid-template-columns:300px minmax(0,1fr); gap:14px; }
.casino-controls,.casino-stage,.casino-history,.casino-rules { min-width:0; border:1px solid var(--line); border-radius:20px; background:linear-gradient(140deg,#101b13,#09110c); }
.casino-controls { display:flex; flex-direction:column; gap:12px; padding:22px; margin:0; }
.casino-panel-label { font-size:10px; color:var(--green); letter-spacing:.14em; font-weight:750; margin-bottom:8px; }
.casino-controls label,.casino-controls legend { font-size:12px; color:var(--muted); }
#casinoAmount { width:100%; height:48px; font-size:18px; font-weight:700; }
.casino-amount-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:-5px; }
.casino-amount-actions button { min-height:34px; padding:5px; font-size:12px; border:1px solid var(--line); background:#0b140e; border-radius:9px; color:var(--muted); }
#casinoSides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; border:0; margin:6px 0 0; padding:0; min-width:0; }
#casinoSides legend { margin-bottom:9px; }
#casinoSides button { display:flex; flex-direction:column; align-items:center; padding:12px 6px; border:1px solid var(--line); border-radius:11px; background:#09100c; color:var(--text); font-size:15px; font-weight:750; }
#casinoSides small { display:block; color:var(--muted); font-size:10px; font-weight:400; margin-top:5px; }
#casinoSides button.active { border-color:#9cff3b80; color:var(--green); background:#9cff3b0a; }
.casino-terms { display:grid; gap:11px; padding:14px 0; margin-top:auto; }
.casino-terms div { display:flex; justify-content:space-between; gap:10px; font-size:12px; }
.casino-terms span { color:var(--muted); }
.casino-terms strong { font-size:12px; }
#casinoPlay { width:100%; min-height:48px; font-size:14px; font-weight:750; }
#casinoRefresh { align-self:center; font-size:11px; }
#casinoStatus { min-height:34px; margin:0; color:var(--muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.casino-stage { display:flex; flex-direction:column; overflow:hidden; position:relative; padding:22px; min-height:475px; background:radial-gradient(ellipse at 50% 40%,#9cff3b09,transparent 65%),#0b140e; }
.casino-stage-top { display:flex; justify-content:space-between; color:var(--muted); font-size:10px; letter-spacing:.12em; }
#casinoStageName { color:var(--green); }
#nwutiStage { display:flex; flex:1; flex-direction:column; align-items:center; justify-content:center; width:100%; padding:32px 5%; }
.nwuti-range { display:flex; width:100%; max-width:440px; align-items:center; gap:12px; font-size:10px; color:var(--muted); }
.nwuti-range > div { height:5px; position:relative; background:#26332a; border-radius:9px; flex:1; }
#nwutiWinRange { position:absolute; top:0; bottom:0; left:0; width:47%; border-radius:9px; background:linear-gradient(90deg,#54e68d,#9cff3b); transition:left .2s; }
#nwutiNumber { font-size:clamp(80px,11vw,136px); font-weight:850; font-variant-numeric:tabular-nums; letter-spacing:-.06em; line-height:1.15; margin:22px 0 0; }
#nwutiHint { color:var(--muted); font-size:12px; text-align:center; }
.nwuti-badges { display:flex; gap:20px; align-items:center; margin-top:16px; font-size:11px; color:var(--muted); }
.nwuti-badges strong { color:var(--green); font-size:18px; }
#plinkoStage { width:100%; max-width:650px; margin:auto; }
#plinkoBoard { display:block; width:100%; height:auto; overflow:visible; }
#plinkoBoard text { font-family:inherit; }
.casino-result { min-height:47px; display:grid; place-items:center; padding:12px; border:1px solid var(--line); background:#070e09; border-radius:12px; text-align:center; font-size:13px; color:var(--muted); }
.casino-result.win { color:var(--green); border-color:#9cff3b60; background:#9cff3b08; }
.casino-result.loss { color:#e6ad93; border-color:#f1a17930; }
#casinoView [hidden] { display:none !important; }
.casino-history { padding:20px; margin-top:14px; }
.casino-section-head { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-bottom:16px; }
.casino-section-head h3 { margin:0; font-size:14px; }
#casinoTotals { color:var(--muted); font-size:11px; }
.casino-history-row { display:grid; grid-template-columns:75px minmax(70px,1fr) 1fr 1fr; gap:10px; align-items:center; padding:12px 0; border-top:1px solid var(--line); font-size:12px; }
.casino-history-row time { font-size:10px; color:var(--muted); }
.casino-history-row span { color:var(--muted); text-align:right; }
.casino-history-row strong { font-size:12px; text-align:right; }
.casino-history-row strong.win { color:var(--green); }
.casino-history-row strong.loss { color:#e6ad93; }
.casino-rules { margin-top:14px; padding:20px; font-size:12px; color:var(--muted); line-height:1.8; }
.casino-rules summary { cursor:pointer; font-size:13px; color:var(--text); }
.plinko-probabilities { display:grid; grid-template-columns:repeat(9,minmax(0,1fr)); gap:6px; margin:16px 0; }
.plinko-probabilities > div { border:1px solid var(--line); border-radius:10px; text-align:center; padding:8px 2px; font-size:10px; }
.plinko-probabilities strong { display:block; font-size:12px; color:var(--green); }
@media(min-width:1121px) { .hero.site-header { gap:16px; } .site-header .tab { padding-left:9px; padding-right:9px; font-size:12px; } }
@media(max-width:760px) { .casino-layout { grid-template-columns:minmax(0,1fr); } .casino-stage { grid-row:1; min-height:325px; padding:18px; } #nwutiStage { padding:20px 3%; } #nwutiNumber { font-size:90px; margin-top:10px; } .casino-controls { padding:18px; } .casino-heading h2 { font-size:27px; } .casino-live { display:none; } .casino-game-tabs small { display:none; } .casino-game-tabs button { padding:16px; font-size:15px; } .casino-section-head { align-items:flex-start; flex-direction:column; } .plinko-probabilities { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) { .site-header > .tabs { display:flex; gap:4px; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; justify-content:flex-start; } .site-header > .tabs::-webkit-scrollbar { display:none; } .site-header .tab { flex:0 0 auto; width:auto; min-width:62px; padding:0 9px; font-size:10px; white-space:nowrap; } .casino-history { padding:16px; } .casino-history-row { grid-template-columns:50px minmax(50px,1fr) 1fr 1fr; gap:6px; font-size:11px; } .casino-history-row strong { font-size:11px; } }
/* Nwuti chance controls and independent Plinko balls. */
#nwutiChanceControls { display:grid; gap:10px; margin-top:4px; }
.nwuti-chance-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.nwuti-chance-heading > div { display:flex; align-items:center; gap:7px; color:var(--green); font-size:14px; }
#nwutiChance { width:74px; min-height:38px; padding:7px 9px; font-size:15px; font-weight:700; text-align:center; }
#nwutiChanceRange { width:100%; height:22px; min-height:22px; padding:0; accent-color:var(--green); border:0; background:transparent; }
.nwuti-chance-limits { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:9px; }
#casinoSides b { font-size:15px; font-weight:750; }
#plinkoActivity { color:var(--muted); font-size:11px; text-align:center; margin:8px 0 0; min-height:17px; font-variant-numeric:tabular-nums; }
.plinko-pin { fill:#5a7863; }
.plinko-ball { pointer-events:none; }
#casinoCancelQueue { visibility:hidden; font-size:11px; align-self:center; color:#dfb6a3; }
#nwutiPotential { color:var(--green); }
@media(max-width:760px) { .casino-stage { min-height:340px; } }
/* Interactive modes follow the market card surfaces and spacing. */
.casino-game-tabs { grid-template-columns:repeat(4,minmax(0,1fr)); }
#minesControls,#crashControls { display:grid; gap:10px; }
.casino-mode-note { font-size:11px; line-height:1.6; color:var(--muted); margin:0; }
#minesCount,#crashAuto { width:100%; min-height:44px; }
#minesStage { width:100%; max-width:500px; margin:auto; padding:24px 0; }
.mines-board-meta { display:flex; justify-content:space-between; gap:10px; font-size:11px; color:var(--muted); margin-bottom:16px; }
.mines-board { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.mine-cell { display:grid; place-items:center; width:100%; aspect-ratio:1; min-height:0; padding:0; border:1px solid #38523e; border-radius:13px; background:linear-gradient(140deg,#1b3022,#112017); color:var(--green); font-size:30px; box-shadow:inset 0 -4px #0002; }
.mine-cell:not(:disabled):hover { background:#254a2c; border-color:#9cff3b; transform:translateY(-2px); }
.mine-cell:disabled { opacity:1; filter:none; cursor:default; }
.mine-cell.safe { background:#9cff3b0c; border-color:#9cff3b60; }
.mine-cell.mine { background:#e4847220; border-color:#e4847280; color:#ef9a84; }
#crashStage { width:100%; margin:auto; padding:22px 0; }
.crash-round-meta { display:flex; justify-content:space-between; gap:12px; font-size:12px; color:var(--muted); }
.crash-flight { position:relative; margin:20px 0 10px; }
.crash-flight svg { display:block; width:100%; }
.crash-axis { fill:none; stroke:#42634e50; stroke-width:1; }
#crashCurve { stroke:#9cff3b; stroke-width:4; fill:none; }
#crashRocket { fill:#ddffaf; stroke:#9cff3b; stroke-width:3; }
#crashMultiplier { position:absolute; inset:0; display:grid; place-items:center; color:var(--green); font-size:clamp(30px,6vw,65px); font-weight:850; letter-spacing:-.04em; pointer-events:none; }
#crashStage.crashed #crashMultiplier { color:#ef9a84; }
#crashStage.crashed #crashCurve { stroke:#ef9a84; }
.crash-recent { display:flex; flex-wrap:wrap; gap:7px; min-height:30px; }
.crash-recent span { color:var(--muted); font-size:10px; border:1px solid var(--line); border-radius:8px; padding:6px 9px; }
.crash-recent .positive { color:var(--green); }
@media(max-width:620px) { .casino-game-tabs { gap:7px; } .casino-game-tabs button { font-size:12px; padding:12px 6px; justify-content:center; gap:5px; } .casino-game-tabs button>span { font-size:8px; } .mines-board { gap:7px; } .mine-cell { border-radius:9px; font-size:23px; } .mines-board-meta { flex-direction:column; gap:5px; } #crashPlayers { font-size:10px; } }

/* Reserve no space for the result until a game has produced one. */
.casino-result:empty { display:none; }

/* Mines: keep controls together and use the remaining sidebar for recent games. */
#casinoView[data-game="mines"] .casino-controls { gap:10px; }
#casinoView[data-game="mines"] .casino-terms { margin-top:0; padding:10px 0; }
#casinoView[data-game="mines"] #casinoCancelQueue { display:none; }
#casinoView[data-game="mines"] #casinoStatus { min-height:0; }
#casinoControlsHistory { min-width:0; }
#casinoControlsHistory .casino-history { margin-top:6px; padding:16px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; background:none; }
#casinoControlsHistory .casino-section-head { margin-bottom:8px; }
#casinoControlsHistory .casino-section-head h3 { font-size:12px; }
#casinoControlsHistory #casinoTotals { display:none; }
#casinoControlsHistory .casino-history-row { grid-template-columns:30px minmax(38px,1fr) auto auto; gap:6px; padding:10px 0; font-size:10px; }
#casinoControlsHistory .casino-history-row time { align-self:center; font-size:9px; }
#casinoControlsHistory .casino-history-row b { font-size:10px; }
#casinoControlsHistory .casino-history-row span { text-align:left; font-size:9px; }
#casinoControlsHistory .casino-history-row strong { font-size:11px; }
#casinoControlsHistory .empty { margin:8px 0 0; font-size:11px; }
