*{box-sizing:border-box}
html,body{margin:0}
body{min-height:100vh;background:radial-gradient(circle at top,#14532d,#020617 72%) fixed;color:#f8fafc;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;line-height:1.45;-webkit-tap-highlight-color:transparent}
a{color:#86efac}
button{font-family:inherit}
.wrap{max-width:980px;margin:0 auto;padding:10px 12px 30px}
header.top{position:sticky;top:0;z-index:20;background:rgba(2,6,23,.92);backdrop-filter:blur(6px);border-bottom:1px solid #166534}
.topin{max-width:980px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;color:#f8fafc;font-size:19px}
.brand b{color:#4ade80}
.topr{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pill{background:#0f172a;color:#bbf7d0;border:1px solid #166534;border-radius:999px;padding:7px 12px;font-size:13px;cursor:pointer}
.pill.glow{border-color:#facc15;box-shadow:0 0 10px rgba(250,204,21,.6)}
.chipsbtn{display:flex;align-items:center;gap:6px;color:#fde68a;border-color:#ca8a04;font-size:15px}
.chipico{display:inline-block;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle,#fff 0 22%,#dc2626 23% 55%,#fff 56% 62%,#dc2626 63%);border:2px dashed #fff}
.play-banner{background:#052e16;color:#bbf7d0;text-align:center;font-size:12px;padding:5px 10px;border-bottom:1px solid #14532d}
.btn{display:inline-block;border:0;cursor:pointer;padding:11px 20px;border-radius:999px;background:#22c55e;color:#022c22;font-weight:800;text-decoration:none;font-size:15px;text-align:center}
.btn:active{transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sm{padding:8px 14px;font-size:13px}
.btn.big{padding:14px 34px;font-size:18px;letter-spacing:.5px}
.btn.sec{background:#0f172a;color:#bbf7d0;border:2px solid #22c55e}
.btn.sec.on{background:#166534;color:#fff}
.btn.tg{background:#229ed9;color:#fff}
.btn.cash{background:linear-gradient(90deg,#facc15,#f59e0b);color:#1c1000}
.card{background:rgba(15,23,42,.88);border:1px solid #166534;border-radius:16px;padding:14px;margin:14px 0}
.card h1,.card h2{margin:0 0 8px;color:#4ade80}
.card h2{font-size:18px}.card h3{margin:12px 0 4px;color:#bbf7d0}
.small{font-size:13px;color:#94a3b8}.center{text-align:center}
h2.sect{font-size:22px;color:#4ade80;margin:18px 0 8px}
.hero{display:flex;gap:14px;align-items:center}
.hero h1{margin:0;font-size:30px;color:#4ade80}.hero .sub{margin:4px 0 8px;color:#d1fae5}
.heroimg{border-radius:50%;flex:none}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{background:#052e16;border:1px solid #22c55e;border-radius:999px;padding:3px 10px;font-size:12px;color:#bbf7d0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.gcard{display:block;background:linear-gradient(160deg,#14532d,#0f172a);border:1px solid #22c55e;border-radius:16px;padding:14px;text-decoration:none;color:#f8fafc;transition:transform .12s,box-shadow .12s;position:relative}
.gcard:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(34,197,94,.3)}
.gico{font-size:44px;line-height:1}.gname{font-weight:800;font-size:17px;margin:6px 0 2px;color:#bbf7d0}.gdesc{font-size:13px;color:#cbd5e1;min-height:54px}
.gtag{position:absolute;top:10px;right:10px;background:#0f172a;border:1px solid #166534;border-radius:999px;font-size:11px;padding:2px 8px;color:#86efac}
.soon{font-weight:800;color:#facc15;margin:2px 0}
.stats{display:flex;gap:10px;flex-wrap:wrap}.stat{background:#052e16;border-radius:12px;padding:8px 14px;display:flex;flex-direction:column}.stat b{font-size:20px;color:#fde68a}.stat span{font-size:12px;color:#94a3b8}
.links{display:flex;gap:8px;flex-wrap:wrap}
.backlink{display:inline-block;margin:4px 0 6px;text-decoration:none;font-weight:700}
.gtitle{font-size:26px;margin:2px 0 8px;color:#4ade80}
.fair{margin:6px 0}
.machine{background:linear-gradient(180deg,#14532d,#052e16);border:2px solid #22c55e;border-radius:20px;padding:14px;box-shadow:0 0 28px rgba(34,197,94,.25) inset}
.result{min-height:28px;text-align:center;font-weight:800;font-size:17px;margin:8px 0;color:#e2e8f0}
.result.win{color:#facc15;text-shadow:0 0 10px rgba(250,204,21,.5)}.result.lose{color:#fca5a5}.result.push{color:#bae6fd}
.betrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:center;margin:8px 0}
.bets{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}
.betb{background:#0f172a;color:#fde68a;border:2px solid #ca8a04;border-radius:999px;padding:6px 12px;font-weight:700;font-size:13px;cursor:pointer;min-width:48px}
.betb.on{background:#ca8a04;color:#1c1000}.betb:disabled{opacity:.5;cursor:not-allowed}
.btnrow{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:10px 0 2px}
.sel{background:#0f172a;color:#f8fafc;border:2px solid #166534;border-radius:10px;padding:6px 10px;font-size:15px}
.selrow{display:flex;gap:14px;justify-content:center;margin-bottom:6px;font-size:14px}
/* slots */
.reels{display:flex;gap:6px;justify-content:center;background:#020617;border:3px solid #facc15;border-radius:16px;padding:10px;position:relative;max-width:560px;margin:0 auto}
.reel{flex:1;display:flex;flex-direction:column;gap:6px;background:#0b1220;border-radius:10px;padding:4px}
.cell{aspect-ratio:1/1;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#cbd5e1);border-radius:8px;position:relative;overflow:hidden}
.reels.r3 .cell{font-size:clamp(34px,11vw,64px)}
.reels.r5 .cell{font-size:clamp(22px,7vw,46px)}
.sym{line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.sym-seven{font-family:Georgia,serif;font-weight:900;color:#dc2626;-webkit-text-stroke:2px #7f1d1d;font-style:italic}
.reel.spin .sym{filter:blur(2px)}
.reel.spin{animation:shake .12s infinite}
@keyframes shake{50%{transform:translateY(2px)}}
.reel.bounce{animation:bounce .25s}
@keyframes bounce{40%{transform:translateY(5px)}}
.cell.hit{background:linear-gradient(180deg,#fef08a,#facc15);box-shadow:0 0 14px #facc15;animation:pulse .7s infinite alternate;z-index:1}
@keyframes pulse{to{transform:scale(1.07)}}
.reel.expand .cell{background:linear-gradient(180deg,#bbf7d0,#22c55e);animation:pulse .3s 2 alternate}
.payline{position:absolute;left:4px;right:4px;top:50%;height:3px;background:rgba(239,68,68,.7);pointer-events:none}
.reels.r5.frog .reel{background:#052e16}
.fsbanner{background:linear-gradient(90deg,#facc15,#f59e0b);color:#1c1000;font-weight:900;text-align:center;border-radius:12px;padding:6px;margin-bottom:8px}
.ctrl{margin-top:6px}
.ptable{width:100%;border-collapse:collapse;margin:8px 0;font-size:14px}
.ptable td,.ptable th{border-bottom:1px solid #1e293b;padding:5px 8px;text-align:left}.ptable th{color:#86efac;font-size:12px}
.ptable td:not(:first-child),.ptable th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.ptable tr.hit td{background:#854d0e;color:#fff;font-weight:800}
.ptable .sym{font-size:20px;margin-right:2px}
.rtp{font-size:13px;color:#bbf7d0;margin:6px 0 0}
.swatch{display:inline-block;width:14px;height:14px;border-radius:4px;vertical-align:middle}
/* roulette */
.rwheel{display:block;margin:0 auto;max-width:100%;height:auto}
.rscroll{overflow-x:auto;margin:10px 0}
.rtable{display:grid;grid-template-columns:34px repeat(12,minmax(30px,1fr)) 40px;grid-auto-rows:40px;gap:2px;min-width:480px;background:#052e16;padding:4px;border-radius:10px}
.rc{position:relative;border:1px solid #facc15;color:#fff;font-weight:800;font-size:13px;cursor:pointer;padding:0;border-radius:4px}
.rc.r{background:#b91c1c}.rc.k{background:#111827}.rc.g{background:#15803d}.rc.o{background:#14532d;font-size:12px}
.rc:hover{filter:brightness(1.3)}
.rb{position:absolute;right:1px;bottom:1px;background:#facc15;color:#1c1000;border-radius:999px;font-size:10px;font-style:normal;font-weight:900;padding:0 4px;min-width:16px;text-align:center;display:none}
.rhist{display:flex;gap:4px;justify-content:center;flex-wrap:wrap;min-height:26px;margin:6px 0}
.hn{border-radius:6px;padding:2px 7px;font-size:12px;font-weight:800;color:#fff}.hn.red{background:#b91c1c}.hn.black{background:#111827}.hn.green{background:#15803d}
/* cards */
.hand{display:flex;gap:6px;flex-wrap:wrap;min-height:84px;align-items:center}
.pcard{width:56px;height:80px;background:#f8fafc;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:20px;box-shadow:0 2px 6px rgba(0,0,0,.5);animation:deal .25s}
.pcard.red{color:#dc2626}.pcard.black{color:#0f172a}.pcard span{font-size:26px;line-height:1}
.pcard.back{background:repeating-linear-gradient(45deg,#166534,#166534 6px,#14532d 6px,#14532d 12px);border:3px solid #f8fafc;font-size:28px}
@keyframes deal{from{transform:translateY(-14px);opacity:0}}
.hands{display:flex;gap:14px;flex-wrap:wrap}.hbox{padding:6px;border-radius:12px;border:2px solid transparent;position:relative}.hbox.active{border-color:#facc15}
.hlbl{font-weight:700;font-size:14px;color:#bbf7d0;margin:4px 0}
.htag{display:inline-block;border-radius:999px;padding:2px 12px;font-weight:900;font-size:13px;margin-top:4px}.htag.win{background:#facc15;color:#1c1000}.htag.lose{background:#7f1d1d;color:#fecaca}.htag.push{background:#0c4a6e;color:#bae6fd}
.pkcards{display:flex;gap:8px;justify-content:center}
.pkc{background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.pkc .pcard{width:clamp(50px,15vw,84px);height:clamp(72px,22vw,118px);font-size:clamp(18px,5vw,28px)}
.pkc.held .pcard{box-shadow:0 0 0 4px #facc15,0 0 16px #facc15}
.hlab{font-size:12px;font-weight:900;color:#facc15;min-height:16px}
/* scratch */
.scwrap{position:relative;width:min(100%,320px);margin:0 auto;aspect-ratio:1/1;border-radius:14px;overflow:hidden;border:3px solid #facc15}
.scgrid{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:100%;height:100%;gap:3px;background:#facc15}
.sccell{display:flex;align-items:center;justify-content:center;font-size:clamp(36px,12vw,54px);background:#f8fafc}.sccell.hit{background:#fde047;animation:pulse .7s infinite alternate}
.sccv{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair;transition:opacity .5s}
/* plinko / crash / dice */
.plcv,.crcv{display:block;width:100%;max-width:420px;margin:0 auto;height:auto;background:rgba(2,6,23,.6);border-radius:12px}
.plt{word-break:break-word;line-height:1.7}
.crmult{font-size:48px;font-weight:900;text-align:center;color:#4ade80;font-variant-numeric:tabular-nums}.crmult.crashed{color:#ef4444}.crmult.won{color:#facc15}
.crauto,.dcslider{max-width:130px}.crauto{background:#020617;color:#fff;border:2px solid #166534;border-radius:10px;padding:8px;font-size:16px;width:90px}
.dcroll{font-size:56px;font-weight:900;text-align:center;font-variant-numeric:tabular-nums;color:#e2e8f0}.dcroll.won{color:#facc15}.dcroll.crashed{color:#ef4444}
.dcslider{width:100%!important;max-width:none;margin:10px 0;accent-color:#22c55e}
.dcbar{position:relative;height:16px;background:#7f1d1d;border-radius:8px;overflow:hidden;margin:6px 0}.dcwin{position:absolute;top:0;bottom:0;background:#22c55e}
.dcinfo{text-align:center;font-weight:700}
/* modal & misc */
.modalback{position:fixed;inset:0;background:rgba(2,6,23,.85);z-index:50;display:flex;align-items:center;justify-content:center;padding:14px}
.modal{background:#0f172a;border:2px solid #22c55e;border-radius:18px;padding:18px;max-width:440px;width:100%;max-height:90vh;overflow:auto}
.modal h2{margin:0 0 8px;color:#4ade80}.frow{background:#052e16;border-radius:12px;padding:10px;margin:8px 0;display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.agebox{text-align:center}.ageico{font-size:54px}.agebox .btnrow{flex-direction:column;align-items:stretch}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(80px);background:#0f172a;border:2px solid #22c55e;border-radius:12px;padding:10px 16px;z-index:60;opacity:0;transition:all .25s;max-width:90vw;text-align:center;font-size:14px}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.foot{max-width:980px;margin:10px auto 30px;padding:0 12px;text-align:center;color:#94a3b8;font-size:12px}.foot .brandline{color:#bbf7d0;font-size:13px;font-weight:700}
@media(max-width:520px){.hero{flex-direction:column;text-align:center}.hero h1{font-size:26px}.tags{justify-content:center}.brand{font-size:17px}.pcard{width:48px;height:70px;font-size:17px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
