/* av-roulette.css — Roulette (solo, European). Loaded after av-bj.css, which supplies the shared game layout
   (#main, #game-area, #stage, #bottom-zone, #sidebar, the chip row, the Bet button, the log). Shell tokens and Inter only. */
#rl-table{width:min(100%,720px);margin:auto 0;display:flex;flex-direction:column;gap:12px}
.rl-hist{display:flex;gap:5px;min-height:24px;overflow:hidden}
.rl-pill{font-size:12px;font-weight:700;min-width:26px;text-align:center;padding:3px 7px;border-radius:999px;color:var(--av-white);background:var(--av-raised)}
.rl-pill.r{background:#8E2F3C}.rl-pill.z{background:#1E5C4A}

/* wheel and result: the result area is empty until the ball has landed */
.rl-stage{display:flex;align-items:center;justify-content:center;gap:24px;min-height:200px}
.rl-wheel{width:200px;height:200px;flex:none;position:relative}
/* the real VirtuAce spade (the shell's own artwork), centred on the hub (the artwork's own glyph sits about 3% left of its box, so it is nudged back) */
.rl-wheel::after{content:"";position:absolute;left:50%;top:50%;width:25%;height:25%;transform:translate(-47.3%,-48.5%);background:var(--av-spade-url) center/contain no-repeat;pointer-events:none}
.rl-wheel svg{width:100%;height:100%;display:block}
.rl-res{min-width:150px;text-align:center}
.rl-num{font-size:60px;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--av-white);width:98px;height:98px;margin:0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--av-raised)}
.rl-num.r{background:#8E2F3C}.rl-num.z{background:#1E5C4A}.rl-num.idle{visibility:hidden}
.rl-verdict{margin-top:10px;font-size:18px;font-weight:700;min-height:26px;color:var(--av-muted)}
.rl-verdict.w{color:var(--av-win)}.rl-verdict.l{color:var(--av-loss)}

/* the wheel eases up over the table while the ball runs; the drawn number pops out of the hub and flies to its place */
.rl-wheel{transition:transform .55s cubic-bezier(.45,0,.2,1);z-index:6;pointer-events:none}
.rl-tbl,.rl-hist,.rl-res{transition:opacity .45s ease}
#rl-table.zoomed .rl-tbl,#rl-table.zoomed .rl-hist,#rl-table.zoomed .rl-res{opacity:.1;pointer-events:none}
.rl-num.hold,.rl-verdict.hold{visibility:hidden}
.rl-pop{position:fixed;z-index:60;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;line-height:1;letter-spacing:-1px;color:var(--av-white);background:var(--av-raised);pointer-events:none;box-shadow:0 6px 24px rgba(0,0,0,.5)}
.rl-pop.r{background:#8E2F3C}.rl-pop.z{background:#1E5C4A}
.rl-pop.out{transition:transform .38s cubic-bezier(.2,1.5,.4,1)}
.rl-pop.fly{transition:transform .55s cubic-bezier(.45,0,.2,1);box-shadow:none}

/* betting table */
.rl-tbl{position:relative;display:grid;gap:3px;user-select:none;-webkit-user-select:none}
.rl-tbl.h{grid-template-columns:42px repeat(12,1fr) 44px;grid-template-rows:repeat(3,40px) 34px 34px}
.rl-tbl.v{grid-template-columns:34px repeat(3,1fr) 34px;grid-template-rows:42px repeat(12,32px) 34px}
.rc{display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--av-white);background:var(--av-raised);border-radius:5px;position:relative;cursor:pointer;transition:filter .1s}
.rc:hover{filter:brightness(1.25)}
.rc.r{background:#8E2F3C}.rc.z{background:#1E5C4A}
.rc.o{background:var(--av-panel);border:1px solid var(--av-line);color:var(--av-text);font-size:12px}
.rc.o.r{background:#6E2631;color:var(--av-white)}.rc.o.k{background:#0C141C;color:var(--av-white)}
.rc.hit{box-shadow:0 0 0 2px var(--av-white);z-index:2}.rc.hit.win{box-shadow:0 0 0 2px var(--av-win)}
.rc.cover{filter:brightness(1.45)}
.rl-tbl.v .rc.vt{writing-mode:vertical-rl;transform:rotate(180deg)}
.rl-chip{position:absolute;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--av-accent);color:#fff;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--av-bg);pointer-events:none;z-index:4;transform:translate(-50%,-50%)}
.rl-chip.win{background:var(--av-win);color:#052e1f}
.rl-spot{position:absolute;z-index:3;border-radius:50%;cursor:pointer;transform:translate(-50%,-50%)}
.rl-spot:hover{background:rgba(255,255,255,.28)}

/* bet bar (the shared chip row and Bet button come from av-bj.css) */
.rl-tools{display:flex;gap:6px}
.rl-bet-row{display:flex;align-items:center;justify-content:space-between;gap:8px}
.rl-bet-row .amt{font-size:24px;font-weight:700;color:var(--av-white)}.rl-bet-row .amt small{font-size:12px;font-weight:500;color:var(--av-muted);margin-left:4px}

/* Numbers tab */
#numbers-sec{padding:12px 14px;display:flex;flex-direction:column;gap:14px}
.nb-title{font-size:12px;font-weight:600;color:var(--av-accent-soft);margin-bottom:6px}
.nb-empty{font-size:12.5px;color:var(--av-muted)}
.nb-pills{display:flex;flex-wrap:wrap;gap:5px}
.nb-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--av-white);background:var(--av-raised);border-radius:999px;padding:3px 8px}
.nb-pill.r{background:#8E2F3C}.nb-pill.z{background:#1E5C4A}
.nb-pill i{font-style:normal;font-weight:500;color:rgba(255,255,255,.7)}
.nb-bar{display:grid;grid-template-columns:62px 1fr 34px;align-items:center;gap:8px;font-size:12px;color:var(--av-text);margin-bottom:5px}
.nb-track{height:6px;border-radius:3px;background:var(--av-raised);overflow:hidden}
.nb-fill{height:100%;background:var(--av-accent);border-radius:3px}
.nb-fill.r{background:#B8404F}.nb-fill.z{background:#2F8F6F}
.nb-bar b{text-align:right;color:var(--av-white);font-weight:600}

@media(max-width:720px){
  .rl-stage{min-height:150px;gap:14px}
  .rl-wheel{width:140px;height:140px}
  .rl-res{min-width:110px}
  .rl-num{font-size:42px;width:70px;height:70px}
  .rl-verdict{font-size:16px}
  #rl-controls .rule{display:none}
}

/* big screens: a larger wheel and table */
@media(min-width:1280px) and (min-height:860px){#rl-table{width:min(100%,960px)}.rl-wheel{width:260px;height:260px}}
@media(min-width:1700px) and (min-height:1000px){#rl-table{width:min(100%,1120px)}.rl-wheel{width:300px;height:300px}}
