/* Lucky 77 - purple / gold casino panel (bottom part of the screen; the area above stays transparent so the voice room shows through in the app) */
:root{--gold:#f5c04a;--gold2:#b8862b;--p1:#4a1a8c;--p2:#2a0d5a;--p3:#1a0838;--pink:#ff4fa3;--blue:#2d63e0}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}
html,body{margin:0;height:100%;background:transparent;overflow:hidden;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#fff}
body.solid{background:radial-gradient(circle at 50% 0,#3b1670,#12052a 70%)}
button{font:inherit;color:inherit;border:0;cursor:pointer;background:none}

.panel{position:fixed;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;padding:6px 10px calc(8px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(74,26,140,.96),rgba(30,10,64,.98) 40%,rgba(18,5,42,1));
  border-top:2px solid var(--gold);border-radius:22px 22px 0 0;box-shadow:0 -6px 30px rgba(120,40,220,.45)}

.topbar{position:relative;height:34px;display:flex;align-items:center;justify-content:center}
.round{font-size:13px;font-weight:700;letter-spacing:.5px;color:#d8c8ff;text-shadow:0 1px 2px #000}
.rbtn{width:32px;height:32px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#8a4ee6,#4a1a8c);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:800;line-height:1;box-shadow:0 2px 6px rgba(0,0,0,.5)}
#btnBack{position:absolute;left:0;top:1px;font-size:24px;padding-bottom:3px}
.side{position:absolute;right:0;top:44px;display:flex;flex-direction:column;gap:8px;z-index:6}
#btnUser{background:radial-gradient(circle at 35% 30%,#ff7ab8,#a02a78);}
#btnUser::before{content:"👤";font-size:15px}

.wheelwrap{position:relative;display:flex;justify-content:center;margin-top:2px}
.wheelbox{position:relative;width:min(70vw,270px);aspect-ratio:1}
#wheel{position:absolute;inset:7%;width:86%;height:86%;transform:rotate(0deg);will-change:transform}
#wheel.spinning{transition:transform 4.6s cubic-bezier(.12,.62,.08,1)}
.ring{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 60%,#7a4a10 61%,var(--gold) 66%,#fff0b0 68%,var(--gold2) 72%,#5a3608 100%);box-shadow:0 0 22px rgba(245,192,74,.55),inset 0 0 12px rgba(0,0,0,.6)}
.ring i{position:absolute;left:50%;top:50%;width:9px;height:9px;margin:-4.5px;border-radius:50%;background:#fff8c8;box-shadow:0 0 8px 2px #ffd34d;animation:blink 1.2s infinite}
.ring i:nth-child(odd){animation-delay:.6s}
.ring i:nth-child(1){transform:rotate(0deg) translateY(-45.5%)}.ring i:nth-child(2){transform:rotate(30deg) translateY(-45.5%)}
.ring i:nth-child(3){transform:rotate(60deg) translateY(-45.5%)}.ring i:nth-child(4){transform:rotate(90deg) translateY(-45.5%)}
.ring i:nth-child(5){transform:rotate(120deg) translateY(-45.5%)}.ring i:nth-child(6){transform:rotate(150deg) translateY(-45.5%)}
.ring i:nth-child(7){transform:rotate(180deg) translateY(-45.5%)}.ring i:nth-child(8){transform:rotate(210deg) translateY(-45.5%)}
.ring i:nth-child(9){transform:rotate(240deg) translateY(-45.5%)}.ring i:nth-child(10){transform:rotate(270deg) translateY(-45.5%)}
.ring i:nth-child(11){transform:rotate(300deg) translateY(-45.5%)}.ring i:nth-child(12){transform:rotate(330deg) translateY(-45.5%)}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
.pointer{position:absolute;left:50%;top:-3%;width:0;height:0;margin-left:-13px;border-left:13px solid transparent;border-right:13px solid transparent;border-top:30px solid #ff3d6e;filter:drop-shadow(0 2px 3px rgba(0,0,0,.7));z-index:3}
.pointer::after{content:"";position:absolute;left:-6px;top:-27px;width:12px;height:12px;border-radius:50%;background:#ffe08a;box-shadow:0 0 6px #fff}
.hub{position:absolute;left:50%;top:50%;width:26%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;z-index:2;
  background:radial-gradient(circle at 35% 30%,#7a3fe0,#2a0d5a);border:3px solid var(--gold);box-shadow:0 0 14px rgba(0,0,0,.7),inset 0 0 10px rgba(255,255,255,.25);display:flex;flex-direction:column;align-items:center;justify-content:center}
.hub b{font-size:clamp(20px,7vw,30px);line-height:1;color:#ffe9a8;text-shadow:0 2px 4px #000}
.hub small{font-size:9px;color:#d8c8ff;margin-top:1px}
.hub.hot b{color:#ff6b6b;animation:pulse .5s infinite alternate}
@keyframes pulse{to{transform:scale(1.25)}}
.repeat{position:absolute;right:4px;bottom:6px;padding:7px 12px;border-radius:14px;font-size:12px;font-weight:800;background:linear-gradient(180deg,#ff7ab8,#c02a82);border:2px solid #ffd0e6;box-shadow:0 3px 8px rgba(0,0,0,.5)}
.repeat:disabled{filter:grayscale(1);opacity:.5}

.hist{display:flex;align-items:center;gap:6px;margin:6px 0 4px;height:28px;padding:0 6px;border-radius:14px;background:rgba(0,0,0,.35);border:1px solid rgba(245,192,74,.4)}
.newtag{flex:none;font-size:9px;font-weight:900;color:#fff;background:#e0245e;border-radius:6px;padding:1px 4px}
#histrow{display:flex;gap:6px;overflow:hidden;align-items:center;font-size:17px;line-height:1}
#histrow span{display:inline-flex;align-items:center;justify-content:center;min-width:20px}
#histrow .s7{font-size:11px;font-weight:900;color:#ffe08a;background:linear-gradient(180deg,#ff4fa3,#a02a78);border-radius:5px;padding:1px 3px}

.boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0}
.box{position:relative;height:104px;border-radius:14px;border:2px solid var(--gold);background:linear-gradient(180deg,#5a2a9e,#2a0d5a);overflow:hidden;text-align:center;box-shadow:inset 0 0 16px rgba(0,0,0,.45),0 2px 6px rgba(0,0,0,.5)}
.box.b2{background:linear-gradient(180deg,#a02a78,#4a0d48)}
.box .pool{position:absolute;left:6px;top:4px;font-size:12px;font-weight:800;color:#ffe9a8;text-shadow:0 1px 2px #000}
.box .ico{position:absolute;left:0;right:0;top:20px;font-size:40px;line-height:1.1}
.box.b2 .ico{font-size:34px;font-weight:900;color:#ffe08a;font-style:italic;text-shadow:0 0 10px #ff4fa3,0 2px 3px #000;letter-spacing:-1px;top:24px}
.box .mult{position:absolute;right:6px;top:4px;font-size:15px;font-weight:900;color:#fff;text-shadow:0 1px 3px #000}
.box .mine{position:absolute;left:0;right:0;bottom:0;height:24px;line-height:24px;font-size:13px;font-weight:800;background:rgba(0,0,0,.5);color:#fff}
.box.has .mine{color:#ffe08a}
.box.win{animation:winflash .45s infinite alternate;border-color:#fff}
.box.lose{filter:brightness(.55)}
.box.closed{opacity:.8}
@keyframes winflash{from{box-shadow:0 0 6px #ffd34d,inset 0 0 14px rgba(255,220,120,.4)}to{box-shadow:0 0 26px 6px #ffd34d,inset 0 0 30px rgba(255,220,120,.9)}}
.float{position:absolute;left:50%;top:40%;font-size:14px;font-weight:900;color:#ffe08a;text-shadow:0 1px 3px #000;animation:floatup .9s forwards;pointer-events:none}
@keyframes floatup{to{transform:translate(-50%,-46px);opacity:0}}

.chips{display:flex;align-items:center;gap:8px;padding:2px 0}
.me{flex:1;display:flex;align-items:center;gap:7px;min-width:0;background:rgba(0,0,0,.4);border:1px solid rgba(245,192,74,.45);border-radius:20px;padding:3px 10px 3px 3px}
.me img{width:34px;height:34px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;background:#2a0d5a}
.me div{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.me b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me span{display:flex;align-items:center;gap:4px;font-size:12px;color:#ffe08a;font-weight:800}
.coin{display:inline-block;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#e0a020);border:1px solid #8a5a08}
.me em{font-style:normal}
.chip{flex:none;width:46px;height:46px;border-radius:50%;font-size:13px;font-weight:900;color:#fff;text-shadow:0 1px 2px #000;border:3px dashed rgba(255,255,255,.85);box-shadow:0 3px 6px rgba(0,0,0,.6),inset 0 0 0 3px rgba(0,0,0,.18);transition:transform .12s}
.c100{background:radial-gradient(circle,#ffb347,#c46a00)}.c1k{background:radial-gradient(circle,#ff6a8a,#b0153f)}.c10k{background:radial-gradient(circle,#6aa8ff,#1f4fc4)}.c100k{background:radial-gradient(circle,#b36bff,#5a1fc4)}
.chip.on{transform:translateY(-6px) scale(1.12);box-shadow:0 0 0 3px #fff3b0,0 0 14px 4px #ffd34d,0 5px 8px rgba(0,0,0,.6)}

.overlay{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(5,0,20,.55)}
.overlay[hidden]{display:none}
.card{width:min(86vw,360px);max-height:78vh;overflow:auto;border-radius:20px;border:2px solid var(--gold);background:linear-gradient(180deg,#4a1a8c,#220a4a);box-shadow:0 0 30px rgba(120,40,220,.7);padding:14px 14px 16px;text-align:center}
.card h2{margin:0 0 8px;font-size:20px;color:#ffe08a;text-shadow:0 2px 3px #000;letter-spacing:1px}
.card p{margin:4px 0;font-size:12px;color:#e0d4ff;line-height:1.45;text-align:left}
.winners{display:flex;justify-content:center;gap:10px;margin:8px 0}
.wn{width:96px;text-align:center}
.wn .av{position:relative;width:62px;height:62px;margin:0 auto 4px}
.wn .av img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--gold);background:#2a0d5a}
.wn .crown{position:absolute;left:50%;top:-14px;transform:translateX(-50%);font-size:20px}
.wn b{display:block;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wn span{display:block;font-size:11px;color:#ffe08a}
.mineline{display:flex;justify-content:space-between;gap:8px;margin-top:6px;padding:6px 10px;border-radius:12px;background:rgba(0,0,0,.35);font-size:12px;font-weight:800}
.mineline .w{color:#7dffb0}
.btn{margin-top:10px;padding:8px 26px;border-radius:18px;font-weight:800;background:linear-gradient(180deg,#ffd34d,#c88a10);color:#3a1a00}
table{width:100%;border-collapse:collapse;font-size:11px}
th,td{padding:4px 3px;border-bottom:1px solid rgba(255,255,255,.12)}
th{color:#ffe08a}.pos{color:#7dffb0}.neg{color:#ff9a9a}

.toast{position:fixed;left:50%;bottom:36%;transform:translateX(-50%);max-width:80vw;padding:8px 16px;border-radius:18px;background:rgba(0,0,0,.82);border:1px solid var(--gold);font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .2s;z-index:30;text-align:center}
.toast.show{opacity:1}
