*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#11151b;color:#eef2f7}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px 28px;background:#171d25;border-bottom:1px solid #2b3542}
.topbar h1{margin:0;font-size:28px}.topbar p{margin:4px 0 0;color:#9fb0c3}
.balance-box{background:#0d1117;border:1px solid #334155;padding:12px 18px;border-radius:12px;text-align:right}
.balance-box span{display:block;font-size:12px;color:#9fb0c3}.balance-box strong{font-size:26px}
.wrap{max-width:1150px;margin:auto;padding:24px}
.notice{padding:14px 16px;border:1px solid #705b13;background:#2a2411;border-radius:10px;margin-bottom:18px}
.controls{display:flex;gap:10px;margin-bottom:18px}
button{background:#2563eb;color:white;border:0;border-radius:9px;padding:10px 14px;font-weight:700;cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}.danger{background:#8b1e2d}
.secondary{background:#374151}.link-button{padding:0;background:transparent;color:#b9c8da;font-weight:400}.link-button:hover{text-decoration:underline}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#171d25;border:1px solid #2b3542;border-radius:14px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.card h2{margin-top:0}
label{display:block;margin:12px 0 8px;color:#c7d2df}
input,select{width:100%;padding:10px;border-radius:8px;border:1px solid #3a4656;background:#0d1117;color:white;margin-top:6px}
.reels{font-size:44px;letter-spacing:8px;text-align:center;padding:18px 0}
.row{display:flex;gap:8px;flex-wrap:wrap}
.hands{min-height:90px;padding:10px 0}
.wheel-result{font-size:44px;text-align:center;padding:18px 0}
.ledger-card{grid-column:1/-1}
.ledger-summary{display:flex;gap:25px;margin-bottom:10px;color:#c7d2df}
.table-wrap{overflow:auto;max-height:330px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:9px;border-bottom:1px solid #2b3542}
th{position:sticky;top:0;background:#171d25}
@media(max-width:850px){.grid{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:16px}.balance-box{min-width:150px}}
.ad-slot{min-height:132px;border:1px dashed #526173;border-radius:14px;background:#141a22;padding:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#c7d2df}
.ad-slot strong{color:#eef2f7;margin:6px 0}.ad-slot small,.muted{color:#91a1b4}.ad-label{font-size:10px;letter-spacing:.15em;color:#7f90a4}.ad-banner{margin-bottom:18px;min-height:105px}.reward-card{grid-column:span 2}.site-footer{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:22px 2px;color:#91a1b4;font-size:13px}.site-footer nav{display:flex;gap:14px}.site-footer a{color:#b9c8da;text-decoration:none}.site-footer a:hover{text-decoration:underline}
@media(max-width:850px){.reward-card{grid-column:auto}.site-footer{align-items:flex-start;flex-direction:column}}

/* Animated casino upgrade */
.card{position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.card:hover{transform:translateY(-2px);border-color:#46566a}
button{transition:transform .12s ease,filter .2s ease}button:active:not(:disabled){transform:scale(.96)}
.slot-machine{position:relative;background:linear-gradient(#090c11,#121923);border:2px solid #39485a;border-radius:16px;padding:12px;margin:12px 0;box-shadow:inset 0 0 22px rgba(0,0,0,.65)}
.reels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0}.reels span{display:grid;place-items:center;min-height:82px;background:linear-gradient(#f8fafc,#cbd5e1);border-radius:10px;color:#111;font-size:45px;box-shadow:inset 0 0 12px rgba(0,0,0,.25)}
.payline{position:absolute;left:10px;right:10px;top:50%;height:2px;background:rgba(239,68,68,.65);pointer-events:none}.reels.spinning span{animation:reelBounce .16s linear infinite}.reels.win span{animation:jackpot .55s ease-in-out 3}
@keyframes reelBounce{50%{transform:translateY(7px);filter:blur(1px)}}@keyframes jackpot{50%{transform:scale(1.14);filter:brightness(1.5)}}
.blackjack-table{background:radial-gradient(circle at center,#174a37,#0b2f24);border:5px solid #4a3323;border-radius:70px 70px 22px 22px;padding:18px 14px;margin:12px 0;min-height:190px;box-shadow:inset 0 0 28px rgba(0,0,0,.45)}.hand-row{margin:8px 0}.hand-row>span{font-size:12px;color:#d9e8df}.card-hand{display:flex;gap:6px;min-height:55px;align-items:center;flex-wrap:wrap}.playing-card{width:38px;height:54px;border-radius:6px;background:#fff;color:#111;display:grid;place-items:center;font-weight:800;font-size:18px;box-shadow:0 5px 10px rgba(0,0,0,.35);animation:dealCard .32s cubic-bezier(.2,.8,.2,1) both}.playing-card.hidden{background:repeating-linear-gradient(45deg,#172554 0 5px,#2563eb 5px 10px);color:transparent;border:2px solid white}@keyframes dealCard{from{opacity:0;transform:translate(70px,-45px) rotate(18deg)}to{opacity:1;transform:none}}
.roulette-stage{display:grid;place-items:center;padding:14px 0}.roulette-wheel{position:relative;width:150px;height:150px;border-radius:50%;border:8px solid #a8792d;background:conic-gradient(#166534 0deg 10deg,#991b1b 10deg 20deg,#111827 20deg 30deg,#991b1b 30deg 40deg,#111827 40deg 50deg,#991b1b 50deg 60deg,#111827 60deg 70deg,#991b1b 70deg 80deg,#111827 80deg 90deg,#991b1b 90deg 100deg,#111827 100deg 110deg,#991b1b 110deg 120deg,#111827 120deg 130deg,#991b1b 130deg 140deg,#111827 140deg 150deg,#991b1b 150deg 160deg,#111827 160deg 170deg,#991b1b 170deg 180deg,#111827 180deg 190deg,#991b1b 190deg 200deg,#111827 200deg 210deg,#991b1b 210deg 220deg,#111827 220deg 230deg,#991b1b 230deg 240deg,#111827 240deg 250deg,#991b1b 250deg 260deg,#111827 260deg 270deg,#991b1b 270deg 280deg,#111827 280deg 290deg,#991b1b 290deg 300deg,#111827 300deg 310deg,#991b1b 310deg 320deg,#111827 320deg 330deg,#991b1b 330deg 340deg,#111827 340deg 350deg,#991b1b 350deg 360deg);box-shadow:0 10px 25px rgba(0,0,0,.45),inset 0 0 0 12px #1f2937}.roulette-wheel.spinning{animation:wheelSpin 1.7s cubic-bezier(.12,.7,.18,1)}.roulette-hub{position:absolute;inset:38%;display:grid;place-items:center;border-radius:50%;background:#c89b45;color:#1c1917}.roulette-ball{position:absolute;width:12px;height:12px;border-radius:50%;background:white;top:5px;left:calc(50% - 6px);box-shadow:0 1px 5px #000}.roulette-wheel.spinning .roulette-ball{animation:ballOrbit .45s linear infinite}@keyframes wheelSpin{to{transform:rotate(1440deg)}}@keyframes ballOrbit{to{transform:rotate(-360deg);transform-origin:6px 65px}}
.balance-box strong.balance-pop{animation:balancePop .35s ease}@keyframes balancePop{50%{transform:scale(1.16);color:#86efac}}
.result-flash{animation:resultFlash .5s ease}@keyframes resultFlash{50%{transform:scale(1.04);filter:brightness(1.5)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}
.modal-card{max-width:520px;border:1px solid #46566a;border-radius:16px;background:#171d25;color:#eef2f7;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.65)}.modal-card::backdrop{background:rgba(0,0,0,.78)}.modal-card h2{margin-top:0}.toggle-row{display:flex;align-items:center;gap:10px;margin:18px 0}.toggle-row input{width:auto;margin:0}.exit-message{max-width:560px;margin:80px auto;text-align:center}.legal-page{max-width:820px;margin:auto;line-height:1.6}.legal-page a{color:#bfdbfe}:focus-visible{outline:3px solid #93c5fd;outline-offset:3px}
.admin-home-link{color:#dbeafe;text-decoration:none;font-weight:700}.admin-login{max-width:520px;margin:40px auto}.admin-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:18px}.stat-card{min-height:116px;display:flex;flex-direction:column;justify-content:center}.stat-card span{color:#9fb0c3;font-size:13px}.stat-card strong{font-size:30px;margin-top:7px}@media(max-width:850px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.admin-actions{align-items:flex-start;flex-direction:column}}
