:root{--bg:#0b0910;--panel:#15121b;--panel2:#1b1722;--line:rgba(255,255,255,.075);--muted:#9b94a5;--text:#f6f2fa;--gold:#e7b85d;--gold2:#f5d58b;--purple:#a77aff;--green:#74d9a2;--red:#ff7d86;--shadow:0 24px 80px rgba(0,0,0,.36)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;min-height:100vh;overflow-x:hidden}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.ambient{position:fixed;pointer-events:none;filter:blur(100px);opacity:.18;z-index:-1;border-radius:50%}.ambient-a{width:380px;height:380px;background:#7f43aa;top:120px;left:-170px}.ambient-b{width:420px;height:420px;background:#9b682a;right:-180px;top:700px}.topbar{height:76px;max-width:1440px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,9,16,.88);backdrop-filter:blur(18px);z-index:30}.brand{display:flex;align-items:center;gap:11px;min-width:210px}.brand-mark{width:38px;height:38px}.brand-name{font-family:Unbounded,sans-serif;font-size:14px;letter-spacing:.08em;font-weight:800}.brand-dot,.footer-brand span{color:var(--gold)}.brand-name small{display:block;font-family:Manrope,sans-serif;font-size:8px;letter-spacing:.3em;color:var(--muted);font-weight:700;margin-top:3px}.main-nav{display:flex;gap:30px;height:100%;align-items:center}.nav-link{color:#a8a1b0;font-size:12px;font-weight:800;letter-spacing:.04em;height:100%;display:flex;align-items:center;position:relative}.nav-link:hover,.nav-link.active{color:var(--gold2)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);box-shadow:0 0 12px var(--gold)}.top-actions{display:flex;align-items:center;gap:12px}.icon-btn{width:38px;height:38px;border:1px solid var(--line);border-radius:12px;background:#17131d;color:var(--gold2);font-size:19px}.btn{border:0;border-radius:12px;padding:13px 18px;font-weight:800;font-size:12px;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;gap:12px;transition:.2s transform,.2s filter}.btn:hover{transform:translateY(-2px);filter:brightness(1.08)}.btn-gold{background:linear-gradient(120deg,#c58b35,#f3d38b);color:#22180a;box-shadow:0 8px 30px rgba(224,170,77,.2)}.btn-outline{color:var(--gold2);border:1px solid rgba(231,184,93,.35);background:rgba(231,184,93,.06)}.btn-ghost{background:rgba(255,255,255,.055);color:#eee8f4;border:1px solid var(--line)}.btn-small{padding:10px 13px;font-size:11px}.btn-wide{width:100%;margin-top:16px}.user-chip{display:flex;align-items:center;gap:9px;border:1px solid var(--line);background:#17131e;padding:6px 8px 6px 7px;border-radius:14px;font-size:11px;font-weight:800}.user-chip b{color:var(--gold2);margin-left:4px}.avatar-mini{width:28px;height:28px;border-radius:9px;background:#2b2433;display:grid;place-items:center}.chip-more{border:0;color:#ada4b7;background:transparent;font-size:17px}.hidden{display:none!important}.page-shell{max-width:1440px;margin:auto;padding:30px 34px 24px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(290px,.82fr);gap:18px}.hero-card{min-height:380px;border:1px solid rgba(224,181,100,.19);border-radius:24px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 77% 47%,rgba(152,96,54,.27),transparent 37%),linear-gradient(118deg,#211824 0%,#18131f 52%,#261b28 100%);box-shadow:var(--shadow)}.hero-content{position:relative;z-index:2;padding:42px 42px 28px;max-width:600px}.eyebrow{font-size:9px;letter-spacing:.2em;font-weight:800;color:#b9a9bf}.live-dot{display:inline-block;width:6px;height:6px;background:#68d49a;border-radius:50%;margin-right:7px;box-shadow:0 0 12px #68d49a}.hero-card h1{font-family:Unbounded,sans-serif;font-size:clamp(33px,4vw,58px);line-height:1.18;letter-spacing:-.055em;margin:23px 0 15px}.hero-card h1 em{font-style:normal;color:var(--gold2);text-shadow:0 0 35px rgba(238,190,104,.18)}.hero-content>p{color:#b2a9b8;font-size:13px;line-height:1.8;max-width:430px;margin:0}.hero-actions{display:flex;gap:10px;margin-top:25px}.hero-stats{display:flex;align-items:center;gap:20px;margin-top:32px}.hero-stats div{display:flex;flex-direction:column;gap:3px}.hero-stats strong{font-family:Unbounded,sans-serif;font-size:15px;color:#f3d18c}.hero-stats span{font-size:9px;color:#9d94a4}.hero-stats i{height:25px;width:1px;background:var(--line)}.hero-art{position:absolute;right:3%;top:0;width:42%;height:100%;display:grid;place-items:center}.hero-can{font-size:clamp(110px,17vw,210px);filter:drop-shadow(0 25px 40px rgba(0,0,0,.6));z-index:2;transform:rotate(-12deg);animation:float 5s ease-in-out infinite}.orbit{position:absolute;border:1px solid rgba(232,190,117,.3);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:310px;height:130px}.orbit-two{width:360px;height:190px;transform:rotate(58deg);border-color:rgba(166,120,255,.18)}.hero-glow{position:absolute;width:210px;height:210px;background:rgba(208,148,63,.17);filter:blur(70px);border-radius:50%}.floating-chip{position:absolute;border:1px solid rgba(245,213,139,.38);background:rgba(20,15,23,.8);border-radius:11px;padding:9px 13px;color:var(--gold2);font-family:Unbounded;font-size:11px;box-shadow:0 10px 25px #0005;z-index:3}.chip-one{right:7%;top:21%;transform:rotate(9deg)}.chip-two{left:6%;top:61%;transform:rotate(-11deg)}.chip-three{right:18%;bottom:16%;font-size:9px;color:#c3a4ff}.hero-watermark{position:absolute;right:15px;bottom:-38px;font-family:Unbounded;font-size:150px;color:rgba(255,255,255,.025);font-weight:800}.season-card{border-radius:24px;padding:27px;background:linear-gradient(145deg,#201927,#15121a);border:1px solid var(--line);box-shadow:var(--shadow);display:flex;flex-direction:column}.season-top{display:flex;justify-content:space-between;align-items:center}.season-live{font-size:9px;color:#78dba5;letter-spacing:.1em;font-weight:900}.season-card h2{font-family:Unbounded;font-size:21px;margin:25px 0 7px}.season-card>p{color:var(--muted);font-size:11px;margin:0}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:21px}.countdown div{background:#0e0c12;border:1px solid var(--line);border-radius:10px;text-align:center;padding:10px 3px}.countdown b{font-family:Unbounded;font-size:17px;color:var(--gold2);display:block}.countdown small{display:block;color:#8e8797;font-size:8px;margin-top:5px}.season-divider{height:1px;background:var(--line);margin:24px 0 20px}.season-winner{display:flex;align-items:center;gap:13px}.winner-cup{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#f2d38c,#aa772f);display:grid;place-items:center;font-size:22px;color:#281b0b}.season-winner>div:last-child{display:flex;flex-direction:column;gap:3px}.season-winner small{font-size:8px;color:#9b91a2;letter-spacing:.13em}.season-winner strong{font-size:13px}.season-winner span{font-size:10px;color:var(--gold2)}.text-link{font-size:10px;color:var(--gold2);font-weight:800;margin-top:auto;padding-top:18px}.text-link span{margin-left:7px}.quick-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:17px 0 50px;border:1px solid var(--line);border-radius:16px;background:rgba(22,18,27,.8);overflow:hidden}.quick-item{display:flex;align-items:center;gap:12px;padding:17px 20px;border-right:1px solid var(--line)}.quick-item:last-child{border:0}.quick-icon{font-size:23px}.quick-item div{display:flex;flex-direction:column;gap:3px}.quick-item strong{font-size:11px}.quick-item small{font-size:9px;color:var(--muted)}.section-block{margin:0 0 50px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:21px}.section-heading h2,.panel-heading h2,.bankrupt-banner h2{font-family:Unbounded;font-size:22px;margin:9px 0 7px;letter-spacing:-.04em}.section-heading p,.bankrupt-banner p{margin:0;color:var(--muted);font-size:11px}.game-filters{display:flex;gap:6px;background:#15111b;border:1px solid var(--line);padding:5px;border-radius:12px}.filter{border:0;background:transparent;color:#92899c;font-size:9px;font-weight:800;padding:9px 12px;border-radius:8px}.filter.active{background:#302338;color:var(--gold2)}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.game-card{background:linear-gradient(150deg,#1a1621,#131018);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:.22s;cursor:pointer;position:relative}.game-card:hover{transform:translateY(-4px);border-color:rgba(230,183,93,.42);box-shadow:0 16px 42px rgba(0,0,0,.3)}.game-visual{height:156px;position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 100%,rgba(198,143,65,.23),transparent 65%),linear-gradient(130deg,#292032,#17131d)}.game-visual img{width:100%;height:100%;object-fit:cover;opacity:.9;transition:transform .4s}.game-card:hover .game-visual img{transform:scale(1.06)}.game-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,11,17,.55),transparent 65%)}.game-symbol{position:absolute;z-index:1;font-size:64px;filter:drop-shadow(0 14px 20px #0008)}.game-badge{position:absolute;left:13px;top:13px;z-index:2;background:#100d16b8;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:6px 8px;font-size:8px;font-weight:900;letter-spacing:.08em;color:#e6c987}.game-min{position:absolute;right:13px;top:13px;z-index:2;background:#100d16c9;border:1px solid rgba(255,255,255,.12);border-radius:7px;padding:6px 8px;font-size:8px;color:#eee}.game-info{padding:15px 16px 16px}.game-info h3{font-size:14px;margin:0 0 7px}.game-info p{font-size:10px;color:#9f96a8;line-height:1.6;min-height:32px;margin:0}.game-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:15px}.game-tag{font-size:8px;color:#a99eb2}.game-play{color:var(--gold2);font-size:10px;font-weight:900}.skeleton-card{height:270px;border-radius:18px;background:linear-gradient(100deg,#15121a,#211b28,#15121a);background-size:200% 100%;animation:shimmer 1.5s infinite}.lower-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:30px}.panel{background:linear-gradient(145deg,#191520,#131018);border:1px solid var(--line);border-radius:20px;padding:23px;min-width:0}.panel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel-heading h2{font-size:17px}.panel-icon{font-size:28px;color:var(--gold2)}.leader-list,.activity-list{display:flex;flex-direction:column;gap:7px}.leader-row{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:10px;padding:10px;border:1px solid transparent;border-radius:11px;background:rgba(255,255,255,.025)}.leader-row:nth-child(1){background:rgba(226,181,91,.09);border-color:rgba(226,181,91,.16)}.rank-no{font-family:Unbounded;font-size:11px;color:#9d93a5;text-align:center}.leader-row:nth-child(1) .rank-no{color:var(--gold2)}.leader-name{font-size:11px;font-weight:800;display:flex;align-items:center;gap:8px}.leader-medal{font-size:15px}.leader-balance{font-size:10px;font-weight:900;color:var(--gold2);white-space:nowrap}.my-rank{margin-top:12px;padding:11px 12px;background:#211b28;border-radius:10px;font-size:10px;color:#bcb2c4}.activity-live{font-size:8px;color:#77d9a0;letter-spacing:.12em}.activity-live i{width:6px;height:6px;background:#77d9a0;border-radius:50%;display:inline-block;margin-right:5px}.activity-row{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;padding:9px 1px;border-bottom:1px solid var(--line)}.activity-row:last-child{border:0}.activity-emoji{height:31px;width:31px;border-radius:9px;background:#251e2d;display:grid;place-items:center}.activity-copy{font-size:10px;line-height:1.5;color:#cfc7d4}.activity-copy strong{color:#f4ebfa}.activity-copy small{display:block;font-size:8px;color:#887f91}.activity-net{font-size:10px;font-weight:900;white-space:nowrap}.positive{color:var(--green)}.negative{color:var(--red)}.empty-state{text-align:center;padding:25px;color:#847b8e;font-size:11px}.bankrupt-banner{display:flex;align-items:center;gap:19px;background:linear-gradient(110deg,#211a28,#16121b);border:1px solid rgba(179,112,126,.19);border-radius:18px;padding:20px 24px;margin-bottom:30px}.bankrupt-icon{font-size:35px}.bankrupt-banner>div:nth-child(2){flex:1}.bankrupt-banner h2{font-size:15px;margin:6px 0}.bankrupt-banner .eyebrow{color:#c58c9e}.bankrupt-banner p{font-size:10px}.footer{display:flex;align-items:center;gap:15px;padding:22px 3px;color:#746d7c;border-top:1px solid var(--line);font-size:9px}.footer-brand{font-family:Unbounded;font-size:11px;color:#c6b8cf}.footer p{margin:0}.footer-right{margin-left:auto}.modal-root:empty{display:none}.modal-root{position:fixed;inset:0;background:rgba(5,4,8,.78);backdrop-filter:blur(9px);z-index:60;display:grid;place-items:center;padding:18px;overflow-y:auto}.modal{width:min(640px,100%);max-height:min(90vh,900px);overflow:auto;background:linear-gradient(145deg,#211a28,#131018);border:1px solid rgba(233,190,112,.24);border-radius:22px;box-shadow:0 30px 100px #000a;position:relative}.modal-head{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.modal-head h2{font-family:Unbounded;font-size:17px;margin:0}.modal-close{width:32px;height:32px;border-radius:10px;background:#2b2332;border:1px solid var(--line);color:#ddd}.modal-body{padding:23px}.login-modal{text-align:center;padding:35px 28px}.login-logo{width:74px;height:74px;margin:0 auto 20px}.login-modal h2{font-family:Unbounded;font-size:22px;margin:0 0 12px}.login-modal p{color:#a99eaf;font-size:12px;line-height:1.7}.field{display:flex;flex-direction:column;gap:7px;margin:14px 0;text-align:left}.field label{font-size:10px;font-weight:800;color:#b9aebe}.field input,.field select{background:#0f0c14;border:1px solid #393041;border-radius:10px;color:#f4edf7;padding:12px 13px;outline:none;width:100%}.field input:focus,.field select:focus{border-color:#c99a51}.muted{color:var(--muted);font-size:10px;line-height:1.6}.game-modal-visual{height:155px;border-radius:15px;background:radial-gradient(circle at 50% 100%,rgba(217,165,80,.28),transparent 66%),#17121d;border:1px solid var(--line);display:grid;place-items:center;font-size:67px;position:relative;overflow:hidden;margin-bottom:18px}.game-modal-visual img{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.45}.game-modal-visual span{position:relative;z-index:1;filter:drop-shadow(0 10px 20px #000)}.game-description{font-size:11px;color:#a69cad;line-height:1.7;margin:0 0 13px}.bet-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}.bet-shortcuts{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.bet-shortcuts button,.option-btn{border:1px solid var(--line);background:#1c1722;color:#c9bfce;border-radius:8px;padding:8px 10px;font-size:9px;font-weight:800}.option-btn.selected{border-color:var(--gold);background:rgba(231,184,93,.13);color:var(--gold2)}.option-group{display:flex;flex-wrap:wrap;gap:7px;margin:11px 0}.game-help{font-size:9px;color:#93899b;background:#17121d;padding:11px 12px;border-radius:10px;line-height:1.6;margin:12px 0}.play-result{margin-top:14px;border:1px solid rgba(230,185,98,.2);border-radius:13px;background:rgba(225,174,85,.06);padding:15px;text-align:center;display:none}.play-result.show{display:block;animation:pop .3s ease}.result-title{font-family:Unbounded;font-size:17px;margin:3px 0 8px}.result-symbols{font-size:34px;letter-spacing:8px;margin:10px}.result-balance{font-size:11px;color:#c3b8cc}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:15px 0}.admin-stat{background:#17121d;padding:12px;border-radius:10px}.admin-stat b{font-family:Unbounded;font-size:16px;color:var(--gold2);display:block}.admin-stat small{font-size:8px;color:var(--muted)}.admin-table{width:100%;border-collapse:collapse;font-size:10px}.admin-table th,.admin-table td{text-align:left;padding:9px 6px;border-bottom:1px solid var(--line)}.admin-table th{color:#9e93a7;font-size:8px;text-transform:uppercase}.admin-row-actions{display:flex;gap:4px;flex-wrap:wrap}.mini-btn{border:1px solid var(--line);background:#211a29;color:#d7c8df;border-radius:7px;padding:6px 7px;font-size:8px}.toggle-line{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;background:#17121d;border-radius:11px;margin:8px 0;font-size:10px}.toggle-line input{accent-color:#d7aa5b}.toast-root{position:fixed;bottom:22px;right:22px;z-index:100;display:flex;flex-direction:column;gap:8px}.toast{background:#211a29;border:1px solid rgba(230,185,98,.3);color:#f2ebf5;padding:12px 16px;border-radius:12px;box-shadow:var(--shadow);font-size:11px;max-width:min(360px,calc(100vw - 40px));animation:pop .2s ease}.toast.error{border-color:rgba(255,125,134,.45)}.test-ribbon{background:#6c4620;color:#ffe1a3;border-radius:9px;padding:9px 11px;font-size:9px;font-weight:900;letter-spacing:.08em;margin-bottom:13px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tile{aspect-ratio:1;border:1px solid var(--line);border-radius:12px;background:linear-gradient(145deg,#282033,#17121c);color:#f4dca7;font-size:26px}.tile:disabled{opacity:.6}.tile.selected{border-color:var(--gold);box-shadow:0 0 0 2px rgba(231,184,93,.12)}.race-track{display:flex;flex-direction:column;gap:8px;margin:15px 0}.race-lane{display:flex;align-items:center;gap:8px;background:#17121d;border-radius:9px;padding:8px;font-size:10px;overflow:hidden}.race-runner{font-size:22px;min-width:28px;transition:transform 1.4s cubic-bezier(.18,.8,.2,1)}.horse-chip{font-size:9px;color:#d7c8df}.profile-avatar{width:58px;height:58px;border-radius:18px;background:#2a2232;display:grid;place-items:center;font-size:28px;margin-bottom:12px}.profile-balance{font-family:Unbounded;font-size:28px;color:var(--gold2)}.profile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.history-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);font-size:10px}.history-item small{display:block;color:#94899d;font-size:8px;margin-top:4px}.history-item strong{font-size:10px}.bankrupt-item{display:flex;justify-content:space-between;padding:11px 2px;border-bottom:1px solid var(--line);font-size:10px}.rules-list{padding-left:18px;color:#c3b8ca;font-size:11px;line-height:1.9}.rules-list li{margin:5px 0}
@keyframes float{0%,100%{transform:translateY(0) rotate(-12deg)}50%{transform:translateY(-13px) rotate(-8deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes pop{from{opacity:0;transform:scale(.97) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}
@media(max-width:1050px){.main-nav{gap:16px}.hero-card{min-height:360px}.hero-art{right:-3%;width:43%}.hero-content{padding:34px 30px}.quick-item{padding:15px 12px}.game-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:64px;padding:0 15px}.brand{min-width:0}.brand-mark{width:32px;height:32px}.brand-name{font-size:11px}.main-nav{display:none}.top-actions{gap:7px}.icon-btn{width:34px;height:34px}.top-actions>.btn{font-size:9px;padding:9px}.user-chip{font-size:9px;gap:5px}.user-chip b{display:none}.page-shell{padding:18px 14px}.hero-grid{grid-template-columns:1fr}.hero-card{min-height:395px}.hero-content{padding:30px 23px;max-width:100%}.hero-card h1{font-size:37px}.hero-content>p{max-width:330px;font-size:11px}.hero-art{width:52%;height:55%;right:-4%;top:37%;opacity:.9}.hero-can{font-size:120px}.orbit-one{width:210px;height:90px}.orbit-two{width:250px;height:130px}.hero-stats{gap:13px;margin-top:25px}.hero-stats strong{font-size:12px}.hero-stats span{font-size:8px}.season-card{min-height:260px}.quick-strip{grid-template-columns:1fr 1fr;margin:14px 0 38px}.quick-item:nth-child(2){border-right:0}.quick-item:nth-child(-n+2){border-bottom:1px solid var(--line)}.section-heading{align-items:flex-start;gap:14px;flex-direction:column}.section-heading h2{font-size:20px}.game-filters{width:100%}.filter{flex:1;padding:9px 5px}.game-grid{grid-template-columns:1fr 1fr;gap:9px}.game-visual{height:115px}.game-symbol{font-size:48px}.game-info{padding:11px}.game-info h3{font-size:11px}.game-info p{font-size:9px;min-height:45px}.game-bottom{margin-top:10px}.game-tag{font-size:7px}.game-play{font-size:9px}.lower-grid{grid-template-columns:1fr}.panel{padding:17px}.bankrupt-banner{padding:17px;gap:12px;flex-wrap:wrap}.bankrupt-banner>div:nth-child(2){min-width:calc(100% - 70px)}.bankrupt-banner .btn{margin-left:47px}.footer{flex-wrap:wrap;gap:8px}.footer-right{margin-left:0;width:100%}}
@media(max-width:390px){.game-grid{grid-template-columns:1fr}.game-visual{height:145px}.hero-card h1{font-size:32px}.hero-art{opacity:.65}.hero-stats{gap:8px}.hero-stats i{height:20px}}
@keyframes spinIcon{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.12)}100%{transform:rotate(360deg) scale(1)}}
.spinning{animation:spinIcon .38s linear infinite!important}
.win-flash{position:absolute;inset:0;pointer-events:none;overflow:hidden}.win-flash i{position:absolute;left:50%;top:50%;width:6px;height:12px;background:var(--gold2);border-radius:2px;animation:confetti .9s ease-out forwards;animation-delay:calc(var(--i)*.012s);transform:rotate(calc(var(--i)*31deg)) translateY(-6px)}
@keyframes confetti{to{transform:rotate(calc(var(--i)*31deg)) translateY(calc(-60px - var(--i)*2px)) translateX(calc((var(--i) - 9)*8px));opacity:0}}
.achievement-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.achievement{display:flex;align-items:center;gap:9px;padding:9px;border:1px solid var(--line);border-radius:10px;background:#17121d;min-width:0}.achievement>span{font-size:20px;filter:grayscale(1);opacity:.5}.achievement.unlocked{border-color:rgba(231,184,93,.22);background:rgba(231,184,93,.055)}.achievement.unlocked>span{filter:none;opacity:1}.achievement div{display:flex;flex-direction:column;gap:3px;min-width:0}.achievement b{font-size:9px}.achievement small{font-size:8px;line-height:1.3;color:#94899d}.achievement.locked{opacity:.56}@media(max-width:430px){.achievement-grid{grid-template-columns:1fr}}

/* 1.1.0 — readable type, distinct casino halls and purpose-built game tables */
.game-grid{display:block}
.hall-section{margin:0 0 34px}
.hall-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:22px 0 14px;padding:16px 18px;border:1px solid rgba(231,184,93,.16);border-radius:15px;background:linear-gradient(100deg,rgba(231,184,93,.085),rgba(167,122,255,.025) 48%,transparent)}
.hall-kicker{font-size:10px;letter-spacing:.2em;font-weight:900;color:var(--gold2)}
.hall-heading h3{font-family:Unbounded,sans-serif;font-size:clamp(17px,2vw,23px);margin:7px 0 4px;letter-spacing:-.03em}
.hall-heading p{font-size:13px;color:#b4aabb;margin:0;line-height:1.5}
.hall-count{font-size:11px;letter-spacing:.1em;color:#b7a9c2;border:1px solid var(--line);border-radius:9px;padding:8px 10px;white-space:nowrap}
.hall-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.game-card{border-radius:19px;background:linear-gradient(155deg,#201a29,#14111a 70%);border-color:rgba(255,255,255,.09)}
.game-card:hover{border-color:rgba(241,199,116,.55);box-shadow:0 18px 50px #0008}
.game-visual{height:205px;background:radial-gradient(ellipse at 50% 80%,rgba(180,131,65,.2),transparent 60%),linear-gradient(135deg,#211b2b,#111019);}
.game-visual:after{background:linear-gradient(0deg,rgba(10,8,13,.72),transparent 55%)}
.game-badge{position:absolute;z-index:3;left:14px;top:13px;font-size:10px;letter-spacing:.1em;font-weight:900;color:#f5d58b;background:#15101cbf;border:1px solid #d6ad633d;padding:7px 9px;border-radius:8px}
.game-min{position:absolute;z-index:3;right:13px;bottom:12px;font-size:11px;padding:7px 9px;border-radius:8px;background:#0f0c14df;color:#f3d68e;border:1px solid #e6b85d47;font-weight:900}
.game-info{padding:17px 18px 18px}
.game-info-top{display:flex;justify-content:space-between;gap:8px;color:#8f8498;font-size:9px;letter-spacing:.1em;font-weight:900;margin-bottom:9px}
.game-info h3{font-size:17px;line-height:1.3;margin:0 0 8px}
.game-info p{font-size:12px;line-height:1.65;min-height:58px;color:#b5acbd}
.game-bottom{margin-top:15px;padding-top:12px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px}
.game-tag{font-size:10px;color:#a89dae;line-height:1.4}
.game-play{font-size:12px;white-space:nowrap}.game-play b{font-size:17px;margin-left:4px}
/* Custom miniature artwork for cards */
.art-slot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:radial-gradient(ellipse at 50% 35%,#9b582e55,transparent 55%)}
.art-slot-top{font-family:Unbounded;font-size:11px;font-weight:900;letter-spacing:.18em;color:#ffdf9d;text-shadow:0 2px 12px #000}
.art-reels{display:flex;gap:6px;padding:9px 11px;background:linear-gradient(150deg,#c29b54,#4f2d18);border:3px solid #e7c879;border-radius:13px;box-shadow:0 12px 35px #000a,inset 0 0 0 2px #70451f}
.art-reels i{font-style:normal;font-size:38px;width:57px;height:59px;display:grid;place-items:center;background:linear-gradient(#fff9e4,#cbbda0);border-radius:6px;color:#4a2d18;box-shadow:inset 0 0 12px #805d30}
.art-slot-bottom{display:flex;gap:22px;color:#e9c77a;font-size:9px;letter-spacing:.18em;font-weight:900}
.art-slot-bottom span{color:#fff0c9}
.art-slot.vip .art-reels{border-color:#ffe8a0;background:linear-gradient(140deg,#f1d78a,#8d5e21)}
.art-slot.vip .art-reels i{background:linear-gradient(#fff3c4,#dbb75c)}
.art-slot.classic .art-reels{background:linear-gradient(140deg,#9f4546,#3e1a2e);border-color:#e19a91}
.art-roulette{position:absolute;inset:18px;display:grid;place-items:center}
.art-wheel{width:174px;height:174px;border-radius:50%;border:9px solid #b38a4b;background:repeating-conic-gradient(#b88a48 0deg 4.86deg,#19231f 4.86deg 9.72deg,#8e2731 9.72deg 14.58deg);box-shadow:0 14px 35px #000b,inset 0 0 0 5px #211916;display:grid;place-items:center;animation:wheel-idle 20s linear infinite}
.art-wheel-core{width:55px;height:55px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#e3c174,#795021 60%,#21160d);font:900 10px Unbounded;color:#24180d;border:3px solid #f2d48c}
.art-ball{position:absolute;width:11px;height:11px;border-radius:50%;background:#fff8df;box-shadow:0 0 12px #fff;top:12px;left:50%}
.art-coin-wrap{position:absolute;inset:0;display:grid;place-items:center;perspective:700px}
.art-coin{width:112px;height:112px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:44px;color:#51320c;background:radial-gradient(circle at 35% 25%,#fff0a5,#d7a33e 50%,#704313 100%);border:8px ridge #f4d47d;box-shadow:0 16px 35px #000a,inset 0 0 0 3px #9b6c28;transform:rotate(-13deg);text-shadow:0 2px 0 #ffecac}
.art-coin small{font:900 9px Unbounded;letter-spacing:.2em}
.art-coin-shadow{position:absolute;width:126px;height:16px;border-radius:50%;background:#0009;filter:blur(9px);bottom:23px}
.art-dice{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:13px;flex-wrap:wrap}
.art-dice b{display:grid;place-items:center;width:83px;height:83px;border-radius:16px;background:linear-gradient(145deg,#fff,#bcb5be);color:#651d2a;font-size:62px;box-shadow:0 14px 30px #000b,inset 0 -5px 8px #777}
.art-dice span{width:100%;text-align:center;color:#e9d59f;font:900 9px Unbounded;letter-spacing:.2em}
.art-plinko{position:absolute;inset:14px 30px 10px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}
.art-plinko-pegs{width:100%;height:122px;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(4,1fr);justify-items:center;align-items:center}
.art-plinko-pegs i{width:6px;height:6px;border-radius:50%;background:#e9cc86;box-shadow:0 0 7px #e9cc8666}
.art-plinko-ball{position:absolute;top:6px;left:49%;font-size:21px;color:#f4df9c;text-shadow:0 0 10px #fff;animation:plinko-idle 2s ease-in-out infinite alternate}
.art-plinko-bins{display:flex;width:100%;justify-content:space-around}
.art-plinko-bins i{font:900 9px Unbounded;color:#ead18e;padding:6px 4px;background:#33263b;border:1px solid #a68a493d;border-radius:5px}
.art-mines{position:absolute;inset:20px 23px;display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);gap:6px;transform:perspective(400px) rotateX(13deg)}
.art-mines i{display:grid;place-items:center;border-radius:7px;background:linear-gradient(145deg,#334a41,#172a28);border:1px solid #75b99855;color:#80e4ba;font-style:normal;font-size:17px;box-shadow:inset 0 1px 3px #ffffff18,0 4px 7px #0006}
.art-mines i.mine{background:linear-gradient(145deg,#74363d,#311a23);color:#ff9b9d}
.art-crash{position:absolute;inset:15px 12px 14px;color:#6af0c9}
.art-crash svg{width:100%;height:100%}.art-crash strong{position:absolute;right:9px;top:6px;font:900 28px Unbounded;text-shadow:0 0 15px #56efc277}.art-crash span{position:absolute;left:16px;bottom:6px;font-size:9px;letter-spacing:.25em;color:#9d8fa8}
.art-race{position:absolute;inset:25px 18px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.art-race>div{position:relative;display:flex;align-items:center;gap:12px;font-size:27px;border-bottom:2px dashed #c4a86c66;padding:0 0 5px}
.art-race>div span{font-size:10px;color:#e5cb8a}.art-race>div i{margin-left:auto;border-right:2px solid #fff6;height:28px}.art-race>b{text-align:right;font-size:9px;color:#e9d08e;letter-spacing:.2em}
.art-vault{position:absolute;inset:15px;display:flex;align-items:center;justify-content:center;gap:19px;flex-direction:column;color:#e8d08c}
.vault-door{width:110px;height:110px;border-radius:50%;border:9px ridge #d2ae63;background:radial-gradient(circle,#735126,#261c16 65%);box-shadow:0 12px 30px #000b,inset 0 0 0 5px #382614;display:grid;place-items:center;position:relative}
.vault-wheel{width:57px;height:57px;border:4px solid #e1c37b;border-radius:50%;display:grid;place-items:center;font-size:34px;color:#f2d88e}
.vault-door>i{position:absolute;width:5px;height:5px;background:#efd18a;border-radius:50%;top:5px;left:50%}.vault-door>b{position:absolute;font:900 7px Unbounded;bottom:11px;color:#f3dc9a}
.art-vault>span{font:900 9px Unbounded;letter-spacing:.25em}
/* Large, readable casino interface */
.modal{width:min(850px,100%);max-height:94vh}
.modal-head{padding:20px 25px}.modal-head h2{font-size:19px}
.modal-body{padding:24px 26px}
.game-modal-body .game-description{font-size:14px;line-height:1.65;margin:16px 0}
.game-modal-body .field label{font-size:12px;letter-spacing:.06em}
.game-modal-body .field input,.game-modal-body .field select{font-size:16px;padding:14px 15px}
.bet-shortcuts button,.option-btn{font-size:12px;padding:10px 13px}
.game-help{font-size:12px;line-height:1.65;padding:13px 15px}
.game-play-main{font-size:14px;padding:16px 18px;min-height:54px}
.game-balance-line{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#100d15;color:#aaa0b2;font-size:11px;letter-spacing:.08em}
.game-balance-line b{font:800 17px Unbounded;color:var(--gold2);letter-spacing:0}
.cooldown-hint{text-align:center;padding:10px;color:#e2c47d;font-size:12px}
.bet-half{min-height:47px;font-size:12px}
/* Real game tables */
.game-stage{position:relative;overflow:hidden;min-height:260px;border-radius:17px;border:1px solid #c39d5638;margin-bottom:14px;background:radial-gradient(ellipse at 50% 0%,#49332b55,transparent 60%),linear-gradient(145deg,#211a26,#100e15);box-shadow:inset 0 1px 0 #ffffff13,0 12px 30px #0005}
.slot-stage{background:radial-gradient(ellipse at 50% 50%,#a1582b55,transparent 65%),linear-gradient(145deg,#281820,#0f0c13)}
.slot-stage.slots_classic{background:radial-gradient(ellipse at 50% 50%,#9d424c66,transparent 65%),linear-gradient(145deg,#291821,#0f0c13)}
.slot-stage.slots_vip{background:radial-gradient(ellipse at 50% 50%,#d5a23d66,transparent 65%),linear-gradient(145deg,#2a2418,#100e13)}
.slot-marquee{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:linear-gradient(90deg,#6c321f,#bd8c3e,#6c321f);color:#fff1c6;font:900 10px Unbounded;letter-spacing:.12em;border-bottom:3px solid #e8c879}
.slot-marquee span{font-size:14px;text-shadow:0 2px 6px #0009}.slot-marquee b{font-size:9px}
.slot-cabinet{position:relative;margin:20px auto 0;width:min(590px,90%);padding:18px 16px 22px;background:linear-gradient(145deg,#e5c47d,#90602c 15%,#3f251b 18%,#180f12 80%,#b17d38);border:3px solid #d8b56a;border-radius:17px;box-shadow:0 14px 30px #0009,inset 0 0 0 3px #f1d99a33}
.slot-reel-window{display:flex;justify-content:center;gap:7px;background:#09080c;padding:9px;border:3px solid #d4b36b;border-radius:9px;overflow:hidden}
.slot-reel{flex:1;min-width:0;height:105px;display:grid;place-items:center;background:linear-gradient(#f8efd9,#d4c3a4 48%,#fff5dc);color:#44231a;border-radius:5px;box-shadow:inset 0 0 15px #7a542e77;font-size:clamp(22px,4vw,42px);text-shadow:0 2px 1px #fff}
.slot-reel b{font-size:clamp(20px,4vw,39px);overflow-wrap:anywhere;text-align:center}.slot-reel.landed{animation:reel-land .35s var(--delay) both}
.slot-payline{position:absolute;left:0;right:0;top:50%;height:3px;background:#ffdf6d;box-shadow:0 0 13px #fff8}
.slot-machine-footer{display:flex;align-items:center;justify-content:center;gap:20px;padding:13px 8px 15px;color:#f1d58b;font:800 9px Unbounded;letter-spacing:.17em}.slot-machine-footer strong{font-size:18px;color:#fff0bb}
.slot-stage.is-running .slot-reel{animation:reel-spin .22s linear infinite}
.roulette-stage{padding:15px 19px 12px;background:radial-gradient(ellipse at 30% 30%,#1d674e55,transparent 60%),linear-gradient(145deg,#17231f,#0b110f)}
.roulette-header,.plinko-topline,.mines-topline,.crash-topline,.race-banner,.vault-stage-header{display:flex;justify-content:space-between;align-items:center;color:#c9b77f;font:900 10px Unbounded;letter-spacing:.14em}
.roulette-header b,.plinko-topline b,.mines-topline b,.crash-topline b,.race-banner b,.vault-stage-header b{color:#fff0c8;font-size:10px}
.roulette-table-layout{display:grid;grid-template-columns:1fr .8fr;gap:19px;align-items:center;max-width:650px;margin:15px auto 8px}
.roulette-wheel-shell{width:min(245px,100%);aspect-ratio:1;position:relative;margin:auto;padding:9px;border-radius:50%;background:linear-gradient(145deg,#e3c477,#61401b 50%,#d9b469);box-shadow:0 12px 30px #000a}
.roulette-wheel{width:100%;height:100%;border-radius:50%;position:relative;border:7px ridge #caa454;background:repeating-conic-gradient(from -4.86deg,#a22735 0deg 4.86deg,#1e2722 4.86deg 9.72deg,#b58b46 9.72deg 14.58deg);transition:transform 3.1s cubic-bezier(.08,.78,.14,1);box-shadow:inset 0 0 0 7px #261b11}
.roulette-wheel-label{position:absolute;inset:8px;border-radius:50%;display:flex;justify-content:center;align-items:flex-start}
.roulette-wheel-label i{font-style:normal;position:absolute;top:7px;left:calc(50% - 7px);height:42%;transform-origin:50% 100%;font-size:7px;font-weight:900;color:#fff1c1;text-shadow:0 1px 2px #000}
.roulette-wheel-label i:nth-child(1){transform:rotate(0deg)}
.roulette-wheel-label i:nth-child(n+2){transform:rotate(calc((var(--n,1))*9.73deg))}
.roulette-hub{position:absolute;inset:36%;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#e4c57c,#68451b);border:5px ridge #e7cb82;color:#24190f;font:900 10px Unbounded;box-shadow:0 0 15px #0009}
.roulette-pointer{position:absolute;z-index:4;top:-2px;left:50%;transform:translateX(-50%);border-left:10px solid transparent;border-right:10px solid transparent;border-top:21px solid #fff0bb;filter:drop-shadow(0 2px 3px #000)}
.roulette-ball{position:absolute;z-index:5;left:50%;top:12px;width:9px;height:9px;border-radius:50%;background:#fff9e9;box-shadow:0 0 9px #fff;transform-origin:0 105px}
.roulette-bet-table{display:grid;gap:7px;grid-template-columns:1fr;max-width:210px}
.roulette-table-zero{padding:12px;text-align:center;background:#176648;border:1px solid #64bb91;border-radius:7px;color:#e6ffd7;font:900 20px Unbounded}
.roulette-table-redblack{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.roulette-table-redblack b{background:#802f38;color:#ffe5df;border-radius:6px;padding:9px 5px;text-align:center;font-size:9px}.roulette-table-redblack b:nth-child(2n){background:#202b28;color:#e4eadf}
.roulette-ledger{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-top:1px solid #ffffff18;color:#9eae9f;font-size:9px;letter-spacing:.15em}.roulette-ledger b{font:900 18px Unbounded;color:#f4d38e}
.roulette-result-chip{display:inline-block;margin:9px auto;padding:10px 18px;border-radius:9px;background:#742d36;color:white;font:900 19px Unbounded}.roulette-result-chip.black{background:#202a27}.roulette-result-chip.green{background:#176648}
.coin-stage{display:flex;flex-direction:column;align-items:center;justify-content:space-around;background:radial-gradient(circle at 50% 42%,#a17734aa,transparent 38%),linear-gradient(145deg,#251c26,#100c13);padding:16px}
.coin-lamp,.coin-stage>p{color:#dec47f;font:900 10px Unbounded;letter-spacing:.2em}.coin-perspective{height:180px;width:100%;display:grid;place-items:center;perspective:850px}
.coin-3d{width:138px;height:138px;position:relative;transform-style:preserve-3d;transition:transform 1.6s cubic-bezier(.17,.67,.18,1)}
.coin-side{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;backface-visibility:hidden;background:radial-gradient(circle at 32% 24%,#fff3b2,#d7a33e 53%,#80501b);border:10px ridge #f4d989;box-shadow:inset 0 0 0 5px #a7792f,0 14px 30px #0008;color:#5b3c14;font-size:53px;text-shadow:0 2px 0 #fff0b4}
.coin-side small{font:900 10px Unbounded;letter-spacing:.18em}.coin-tail{transform:rotateY(180deg);font-size:65px}.coin-floor{height:8px;width:210px;border-radius:50%;background:#0009;filter:blur(7px)}
.dice-stage{background:radial-gradient(ellipse at 50% 50%,#1d6545,#0b2a21 70%);display:flex;align-items:center;justify-content:center;flex-direction:column;padding:15px}
.dice-table-lights{position:absolute;inset:12px;border:1px solid #d2b36c44;border-radius:12px;box-shadow:inset 0 0 0 5px #ffffff08;pointer-events:none}
.dice-cup{color:#e4cf8f;font:900 10px Unbounded;letter-spacing:.25em}.dice-result-pair{display:flex;gap:22px;align-items:center;justify-content:center;margin:20px 0;perspective:600px}
.die-face{width:93px;height:93px;padding:12px;border-radius:15px;background:linear-gradient(145deg,#fff,#c4c4c4);box-shadow:0 12px 25px #0009,inset 0 -5px 7px #777;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;transform:rotate(5deg)}
.die-face:nth-child(2){transform:rotate(-7deg)}.die-face i{width:12px;height:12px;border-radius:50%;background:#722b39;justify-self:center;align-self:center;opacity:0}.die-face i.on{opacity:1}
.dice-table-total{color:#ffedb8;font:900 16px Unbounded}.dice-felt-caption{font-size:9px;color:#93bda7;letter-spacing:.2em;margin-top:17px}
.plinko-stage{padding:15px 22px 13px;background:radial-gradient(circle at 50% 40%,#55346d66,transparent 65%),linear-gradient(145deg,#1d1730,#100d19)}
.plinko-board{position:relative;width:min(420px,100%);height:196px;margin:7px auto 3px;padding-top:5px}
.plinko-row{height:18px;display:flex;align-items:center;justify-content:center;gap:clamp(15px,4vw,31px)}
.plinko-row i{width:7px;height:7px;border-radius:50%;background:linear-gradient(#fff0b6,#b78a48);box-shadow:0 0 7px #e4c77c77}
.plinko-drop-ball{position:absolute;z-index:3;width:15px;height:15px;left:50%;top:3px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#d9a3ff 35%,#7d43bc 75%);box-shadow:0 0 16px #d9a3ff;transition:top 1.5s ease-in,left .5s ease-out}
.plinko-drop-ball.drop{top:177px;left:calc(50% + var(--drift));}
.plinko-payouts{display:flex;justify-content:center;gap:5px}.plinko-payouts i{flex:1;text-align:center;font:900 9px Unbounded;font-style:normal;padding:7px 2px;background:#432850;color:#e9d0ff;border:1px solid #bd85e044;border-radius:5px}
.mines-stage{padding:15px 19px;background:radial-gradient(circle at 50% 100%,#285c4655,transparent 60%),linear-gradient(145deg,#14241e,#0c1411)}
.mines-board-preview{width:min(245px,80%);margin:19px auto 12px;display:grid;grid-template-columns:repeat(5,1fr);gap:6px;transform:perspective(450px) rotateX(13deg)}
.mines-board-preview i{aspect-ratio:1;display:grid;place-items:center;background:linear-gradient(145deg,#365747,#182920);border:1px solid #6ebd8955;border-radius:7px;color:#8ce2aa;font-style:normal;font-size:17px;box-shadow:0 4px 8px #0008}
.mines-stage>p{text-align:center;color:#a2c1a9;font:900 9px Unbounded;letter-spacing:.15em}
.tiles.tiles-5{grid-template-columns:repeat(5,1fr);gap:7px}
.tiles.tiles-5 .tile{aspect-ratio:1;min-width:0;font-size:23px}
.mine-reveal{aspect-ratio:1;border-radius:9px;display:grid;place-items:center;background:linear-gradient(145deg,#284d3a,#13271e);border:1px solid #6bb58b55;color:#9af0bd;font-size:23px}.mine-reveal.is-mine{background:linear-gradient(145deg,#682e3a,#26151c);border-color:#d26f78;color:#ffb4b8}.mine-reveal.is-selected{outline:3px solid #f1d183;outline-offset:1px}
.crash-stage{padding:15px 20px;background:radial-gradient(ellipse at 25% 100%,#17654d66,transparent 60%),linear-gradient(145deg,#101f22,#0c1017)}
.crash-topline b{font-size:24px;color:#66edc6}.crash-chart{width:100%;height:184px;margin:10px 0 1px;overflow:visible}.crash-chart text{font:900 11px Unbounded;fill:#77928d}.crash-area{fill:url(#crashFill)}.crash-line{fill:none;stroke:#65ecc5;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:900;stroke-dashoffset:0;filter:drop-shadow(0 0 8px #58eac088)}.crash-line.finished{transition:stroke .4s}.crash-chart circle{fill:#fff2b2;filter:drop-shadow(0 0 10px #fff)}
.crash-stage.is-running .crash-line{stroke-dashoffset:700;animation:crash-flight 2.3s ease-out forwards}.crash-bottom{display:flex;justify-content:space-between;color:#7eaaa0;font-size:9px;letter-spacing:.14em}.crash-bottom b{color:#f2d38d}.crash-target-row{display:flex;align-items:center;gap:10px}.crash-target-row input{flex:1}.crash-target-row span{font:900 20px Unbounded;color:var(--gold2)}
.crash-result-number{font:900 37px Unbounded;color:#6af0c9;padding:12px}.crash-result-number.crashed{color:#ff8393}
.race-stage{padding:15px 18px;background:repeating-linear-gradient(0deg,#282119,#282119 22px,#33281c 23px,#33281c 44px)}
.race-track-visual{margin:15px 0 5px;border:1px solid #d3b87c44;border-radius:11px;overflow:hidden;background:#171512aa}
.race-track-lane{height:38px;display:flex;align-items:center;gap:9px;padding:0 9px;border-bottom:1px dashed #cdb78055;position:relative;overflow:hidden}.race-track-lane:last-child{border:0}
.race-lane-number{width:17px;height:17px;border-radius:5px;background:#b38c4d;color:#21180e;display:grid;place-items:center;font-size:9px;font-weight:900;flex:none}.race-horse-name{font-size:10px;color:#e3d3ad;width:125px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.race-horse-runner{font-size:24px;position:absolute;left:150px;transition:transform 2.9s cubic-bezier(.1,.8,.1,1);z-index:2}.race-horse-runner.race-winner{filter:drop-shadow(0 0 7px #ffe28b)}.race-finish{position:absolute;right:9px;height:100%;font-size:25px;color:#fff}
.race-footer{display:flex;justify-content:space-between;color:#d8bf89;font:900 9px Unbounded;padding:4px 6px}.race-footer b{font-size:12px}
.race-stage.is-running .race-horse-runner{animation:horse-bob .26s ease-in-out infinite alternate}
.horse-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.horse-pick{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;text-align:left;padding:10px;border:1px solid var(--line);border-radius:11px;background:#17131d;color:#eee}.horse-pick>span{font-size:27px;grid-row:span 2}.horse-pick b{font-size:11px}.horse-pick small{font-size:10px;color:#d8bd7c}.horse-pick.selected{border-color:var(--gold);background:#c69a4218}
.vault-stage{padding:15px 20px;background:radial-gradient(ellipse at 50% 70%,#87602d55,transparent 55%),linear-gradient(145deg,#241e18,#0e0d0e)}
.vault-stage-header{color:#c5ad78}.vault-chamber{height:190px;display:grid;place-items:center;position:relative;perspective:800px}
.vault-door-big{width:166px;height:166px;border-radius:50%;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#4b3921,#20170f 68%);border:12px ridge #c69a4c;box-shadow:0 0 0 8px #17120b,0 15px 30px #000b,inset 0 0 0 5px #d8b76644;transform-origin:left center;transition:transform 1.1s ease,color .5s}
.vault-door-big span{font:900 19px Unbounded;color:#e8ce8c;text-shadow:0 2px 4px #000}.vault-ring{position:absolute;inset:28px;border:5px solid #d9b765;border-radius:50%}.vault-handle{position:absolute;width:13px;height:60px;border-radius:9px;background:linear-gradient(90deg,#77511e,#ffe29c,#926123);right:16px;top:48px;transform:rotate(0deg)}.vault-rivets{position:absolute;inset:7px;border-radius:50%;border:2px dashed #ecd08a}
.vault-glow{position:absolute;bottom:1px;width:220px;height:30px;background:#f4c76b55;filter:blur(22px)}.vault-countdown{text-align:center;color:#d4bc80;font:900 9px Unbounded;letter-spacing:.2em}
.vault-door-big.vault-open{transform:rotateY(-68deg)}.vault-door-big.vault-open-gold{transform:rotateY(-88deg);box-shadow:0 0 70px #ffe08b,0 0 140px #e4ac4266}
.vault-pick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.vault-pick{background:#17131c;border:1px solid #b78d4b55;border-radius:10px;padding:12px 6px;color:#e8d09a;display:flex;flex-direction:column;align-items:center;gap:5px}.vault-pick span{font-size:25px}.vault-pick b{font-size:9px}.vault-pick.selected{border-color:#e5c477;box-shadow:0 0 0 2px #e5c47722}
.result-title{font-size:19px}.result-symbols{font-size:38px;letter-spacing:2px}.result-payout{font-size:13px;margin:10px 0}.result-payout b{font:900 18px Unbounded}.result-balance{font-size:12px;line-height:1.6}.play-result{position:relative;overflow:hidden;padding:20px 16px}
.result-win,.result-mega,.result-jackpot{border-color:#dcb75e;background:radial-gradient(ellipse at 50% 0%,#dcb75e2b,transparent 65%),#211a25;box-shadow:0 0 30px #d7ac4a22,inset 0 0 0 1px #f2d58b22}
.win-tier{font:900 15px Unbounded;letter-spacing:.16em;color:#f7da91;text-shadow:0 0 20px #f6d27d88;margin-bottom:11px;animation:win-title .65s ease-in-out infinite alternate}
.result-mega .win-tier{font-size:18px;color:#fff0ac}.result-jackpot .win-tier{font-size:22px;color:#fff6c8;text-shadow:0 0 25px #ffbd44}
.jackpot-overlay{position:fixed;z-index:150;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:radial-gradient(circle,#d7a83b66,#120d18ed 62%);backdrop-filter:blur(8px);animation:jackpot-in .25s ease-out;pointer-events:none;text-align:center}
.jackpot-overlay div{font-size:85px;filter:drop-shadow(0 0 24px #ffdf84);animation:jackpot-can .55s ease-in-out infinite alternate}.jackpot-overlay strong{font:900 clamp(37px,8vw,75px) Unbounded;color:#ffe49a;text-shadow:0 6px 0 #714519,0 0 32px #ffda67;letter-spacing:.1em}.jackpot-overlay span{font:900 12px Unbounded;color:white;letter-spacing:.2em}
.result-pulse{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0%,#f7d88e22,transparent 60%)}
.admin-stat small{font-size:10px}.admin-stat b{font-size:19px}.admin-table{font-size:12px}.admin-table th{font-size:10px}.admin-table th,.admin-table td{padding:11px 8px}.mini-btn{font-size:10px;padding:8px 9px}.toggle-line{font-size:12px}.toggle-line .muted{font-size:11px}.field label{font-size:12px}.muted{font-size:11px}.rules-list{font-size:13px}
@keyframes wheel-idle{to{transform:rotate(360deg)}}
@keyframes plinko-idle{to{transform:translate(8px,10px)}}
@keyframes reel-spin{to{transform:translateY(8px);filter:blur(1.5px)}}
@keyframes reel-land{from{transform:translateY(-80px);opacity:.3}to{transform:translateY(0);opacity:1}}
@keyframes crash-flight{to{stroke-dashoffset:0}}
@keyframes horse-bob{to{transform:translateY(-3px)}}
@keyframes win-title{to{transform:scale(1.045);filter:brightness(1.3)}}
@keyframes jackpot-in{from{opacity:0}to{opacity:1}}
@keyframes jackpot-can{to{transform:translateY(-12px) rotate(6deg) scale(1.08)}}
@media(max-width:1000px){.hall-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.game-visual{height:185px}}
@media(max-width:760px){.hall-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hall-heading{padding:13px}.hall-heading p{font-size:11px}.hall-heading h3{font-size:17px}.game-visual{height:145px}.game-info{padding:12px}.game-info h3{font-size:13px}.game-info p{font-size:10px;min-height:62px}.game-info-top{font-size:8px}.game-tag{font-size:8px}.game-play{font-size:10px}.game-badge{font-size:8px;padding:5px 6px}.game-min{font-size:9px;padding:5px 6px}.art-reels{gap:3px;padding:6px}.art-reels i{width:39px;height:43px;font-size:26px}.art-wheel{width:134px;height:134px}.art-dice b{width:65px;height:65px;font-size:48px}.art-plinko{inset:13px 17px}.art-plinko-pegs{height:95px}.art-race{inset:17px 12px}.art-race>div{font-size:22px}.art-vault{gap:10px}.vault-door{width:85px;height:85px}.vault-wheel{width:44px;height:44px}.modal{width:100%;max-height:95vh}.modal-body{padding:17px}.modal-head{padding:16px 18px}.modal-head h2{font-size:16px}.game-stage{min-height:225px}.slot-reel{height:78px}.roulette-wheel-shell{width:190px}.roulette-table-layout{grid-template-columns:1fr .7fr;gap:9px}.roulette-table-redblack b{font-size:7px;padding:7px 3px}.die-face{width:76px;height:76px;padding:10px}.die-face i{width:9px;height:9px}.plinko-board{height:175px}.plinko-row{height:16px}.crash-chart{height:160px}.race-track-lane{height:34px}.race-horse-name{width:100px;font-size:8px}.race-horse-runner{left:120px}.vault-door-big{width:138px;height:138px}.vault-chamber{height:165px}.game-modal-body .game-description{font-size:12px}.game-help{font-size:11px}.horse-pick{grid-template-columns:33px 1fr auto;padding:8px}.horse-pick>span{font-size:22px}.horse-pick b{font-size:9px}.horse-pick small{font-size:8px}.game-balance-line b{font-size:14px}}
@media(max-width:430px){.hall-cards{grid-template-columns:1fr}.game-visual{height:170px}.game-info p{min-height:0}.game-info h3{font-size:15px}.game-info p{font-size:11px}.roulette-table-layout{grid-template-columns:1fr}.roulette-wheel-shell{width:180px}.roulette-bet-table{display:none}.horse-select-grid{grid-template-columns:1fr 1fr}.vault-pick-grid{grid-template-columns:repeat(2,1fr)}.game-stage{min-height:215px}.slot-reel{height:69px}.slot-machine-footer{gap:9px;font-size:7px}.slot-marquee{gap:6px;font-size:8px;padding:11px}.slot-marquee span{font-size:11px}.coin-3d{width:120px;height:120px}.coin-side{font-size:45px}.coin-side small{font-size:8px}.dice-result-pair{gap:12px}.die-face{width:66px;height:66px;padding:8px}.plinko-stage{padding:14px 12px}.plinko-payouts i{font-size:7px}.result-title{font-size:16px}.win-tier{font-size:12px}.result-jackpot .win-tier{font-size:17px}}

/* Readability pass for the surrounding club UI */
.hero-content>p,.section-heading p,.season-card>p{font-size:13px;line-height:1.7}
.hero-stats span,.quick-item small,.season-winner small{font-size:10px}
.quick-item strong{font-size:13px}
.countdown small{font-size:10px}.countdown b{font-size:20px}
.nav-link{font-size:13px}.user-chip{font-size:12px}
.leader-row{font-size:13px}.leader-balance{font-size:12px}.my-rank{font-size:12px}
.activity-copy{font-size:12px}.activity-copy small{font-size:10px}.activity-net{font-size:12px}
.footer{font-size:11px}.bankrupt-banner p{font-size:12px}
.roulette-wheel-label i{position:absolute;top:8px;left:calc(50% - 6px);height:42%;transform-origin:50% 100%;transform:rotate(var(--angle));font-size:8px;font-weight:900;color:#fff1c1;text-shadow:0 1px 2px #000}
.roulette-stage.is-running .roulette-wheel{animation:roulette-live .62s linear infinite}
.coin-stage.is-running .coin-3d{animation:coin-live .55s linear infinite}
.dice-stage.is-running .die-face{animation:dice-shake .28s ease-in-out infinite alternate}
.vault-stage.is-running .vault-handle{animation:vault-handle .45s linear infinite}
@keyframes roulette-live{to{transform:rotate(360deg)}}
@keyframes coin-live{to{transform:rotateY(720deg) rotateX(12deg)}}
@keyframes dice-shake{to{transform:translateY(-9px) rotate(18deg)}}
@keyframes vault-handle{to{transform:rotate(360deg)}}

/* 1.1.0 card layout collision fix */
.game-min{top:auto;min-height:0;display:inline-flex;align-items:center;line-height:1.2}
.game-visual{height:205px;min-height:205px;position:relative;overflow:hidden}
.game-visual>.game-badge,.game-visual>.game-min{z-index:5}
/* Readability pass: labels and supporting copy stay comfortably legible */
.hall-heading p{font-size:12px;line-height:1.5}
.hall-kicker{font-size:10px}
.hall-count{font-size:11px}
.game-info-top{font-size:10px}
.game-info h3{font-size:18px}
.game-info p{font-size:13px;line-height:1.6;min-height:66px}
.game-tag{font-size:11px}
.game-play{font-size:13px}
.game-badge{font-size:11px}
.game-min{font-size:12px}
.section-heading p{font-size:13px}
.quick-item strong{font-size:12px}
.quick-item small{font-size:10px}
/* Place all 37 European roulette numbers around the wheel, not on one spoke. */
.roulette-wheel-label i:nth-child(n){transform:rotate(var(--angle))}

/* 1.2.0 — desktop-first game rooms: no nested scrolling on normal PC screens */
@media (min-width: 901px) {
  .modal-root:has(.modal.game-modal){padding:18px;overflow:hidden}
  .modal.game-modal{width:min(1460px,calc(100vw - 36px));height:min(940px,calc(100dvh - 36px));max-height:none;overflow:hidden;display:flex;flex-direction:column;border-radius:24px}
  .modal.game-modal .modal-head{flex:0 0 66px;min-height:66px;padding:15px 25px}
  .modal.game-modal .modal-head h2{font-size:20px}
  .modal.game-modal .modal-body.game-modal-body{flex:1;min-height:0;overflow:hidden;padding:20px 24px 22px}
  .game-modal-body .game-main-layout{height:100%;min-height:0;display:grid;grid-template-columns:minmax(0,1.52fr) minmax(330px,.82fr);gap:24px}
  .game-visual-column{min-width:0;min-height:0;display:flex;flex-direction:column}
  .game-stage-wrap{flex:1;min-height:0;display:flex;align-items:stretch}
  .game-stage{width:100%;height:100%;min-height:380px;max-height:calc(100dvh - 160px);margin:0;display:flex;flex-direction:column;justify-content:center}
  .game-modal-body .game-description{flex:0 0 auto;margin:11px 3px 0;font-size:13px;line-height:1.5}
  .game-controls-column{min-width:0;min-height:0;display:flex;flex-direction:column}
  .bet-panel{display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}
  .bet-panel .field{margin:9px 0}
  .bet-panel .game-help{margin:10px 0;font-size:11px;line-height:1.5;padding:10px 12px}
  .bet-panel .game-balance-line{margin-top:auto}
  .bet-panel .game-play-main{margin-top:12px}
  .bet-panel .bet-presets{margin-top:7px}
  .bet-panel .option-group{margin:8px 0}
  .bet-panel .muted{font-size:11px}
  .game-modal-body .field label{font-size:11px}
  .game-modal-body .field input,.game-modal-body .field select{padding:12px 13px}
  .game-modal .play-result{margin-top:12px;padding:13px}
  .game-modal:has(.play-result.show) .game-stage{min-height:320px}
  .game-modal:has(.play-result.show) .game-description{font-size:11px}
}
@media (max-height:800px) and (min-width:901px){
  .modal.game-modal .modal-body.game-modal-body{padding:12px 18px}
  .game-modal-body .game-main-layout{gap:16px}
  .game-modal-body .game-stage{min-height:300px}
  .bet-panel .game-help{font-size:10px;padding:8px 10px;margin:7px 0}
  .bet-panel .field{margin:6px 0}
  .bet-panel .game-balance-line{padding:9px 11px}
  .bet-panel .game-play-main{min-height:46px;padding:12px}
}

/* Tall portrait and tablet layouts retain a single, natural scroll column. */
@media (max-width:900px){
  .modal-root:has(.modal.game-modal){padding:8px;overflow-y:auto;align-items:start}
  .modal.game-modal{width:min(760px,100%);height:auto;max-height:calc(100dvh - 16px);overflow:auto}
  .modal.game-modal .modal-body.game-modal-body{padding:15px}
  .game-main-layout{display:flex;flex-direction:column;gap:12px}
  .game-stage{min-height:300px}
  .game-controls-column{min-width:0}
  .bet-panel{display:flex;flex-direction:column}
  .game-description{margin:10px 2px}
}

/* More theatrical, physically scrolling slot reels. */
.slot-machine-body{display:flex;align-items:center;justify-content:center;gap:15px;width:min(760px,96%);margin:14px auto 0}
.slot-cabinet{width:calc(100% - 92px);max-width:650px;margin:0;padding:16px 15px 19px;background:linear-gradient(145deg,#f0d28d,#8f602d 13%,#392319 18%,#170d10 83%,#c09143);border:4px solid #dfbd70;border-radius:20px;box-shadow:0 18px 38px #000b,inset 0 0 0 3px #fff1bf35,inset 0 0 18px #000b}
.slot-reel-window{height:184px;padding:5px;gap:6px;align-items:stretch;background:#09070b;border:4px ridge #d7b56b;box-shadow:inset 0 0 22px #000}
.slot-reel{height:174px;min-width:0;flex:1;display:block;overflow:hidden;border:1px solid #a88b59;border-radius:5px;background:linear-gradient(90deg,#ad9872,#fff3d7 15%,#eadbb9 82%,#a48e69);box-shadow:inset 0 0 13px #5235188a}
.slot-strip{display:flex;flex-direction:column;will-change:transform}
.slot-strip span{height:58px;flex:0 0 58px;display:grid;place-items:center;border-bottom:1px solid #9b845c55;color:#38271d;font-size:clamp(26px,4.6vw,43px);font-weight:900;text-shadow:0 2px 2px #fff9;line-height:1}
.slot-reel.stopped{box-shadow:inset 0 0 18px #fff5b977,0 0 14px #ffdb6b66}
.slot-reel.win-flare{background:#fff5d6;filter:brightness(1.22)}
.slot-payline{z-index:3;top:50%;height:3px;background:#ffda59;box-shadow:0 0 8px #ffe88d,0 0 20px #ffe88d;pointer-events:none}
.slot-glass-reflection{position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,#fff2 0 7%,transparent 13% 78%,#fff1 91%,transparent 100%)}
.slot-lever{width:76px;height:188px;flex:0 0 76px;position:relative;border:0;background:transparent;display:flex;align-items:center;justify-content:flex-start;flex-direction:column;padding:0}
.slot-lever:before{content:"";position:absolute;left:32px;top:13px;width:13px;height:115px;border-radius:9px;background:linear-gradient(90deg,#57391a,#f8d78a 35%,#8b5b21 65%,#3b2413);box-shadow:0 0 9px #0009}
.slot-lever:after{content:"";position:absolute;left:19px;top:115px;width:40px;height:15px;border-radius:50%;background:radial-gradient(ellipse,#f0c66d,#68431d 70%);box-shadow:0 5px 8px #0009}
.lever-ball{position:absolute;left:13px;top:0;width:50px;height:50px;border-radius:50%;z-index:2;background:radial-gradient(circle at 32% 28%,#fff8d8,#d9a34a 34%,#7d471b 75%);border:3px solid #f3d58a;box-shadow:0 6px 12px #0009,0 0 17px #e6b65e44;transition:transform .32s cubic-bezier(.2,.75,.2,1)}
.slot-lever small{position:absolute;bottom:1px;color:#d6bb81;font:900 9px Unbounded;letter-spacing:.15em}
.slot-lever.pulled .lever-ball{transform:translateY(108px)}
.slot-machine-footer{padding:13px 8px 5px;gap:26px;font-size:10px}
.slot-machine-footer strong{font-size:24px;text-shadow:0 0 16px #ffe9a1}
.slot-machine-message{text-align:center;font:900 10px Unbounded;letter-spacing:.2em;color:#ffe7a2;padding:4px 10px 8px;text-shadow:0 0 12px #ffcc6e55}
.slot-stage.slot-spinning .slot-marquee{animation:slot-marquee-glow .6s ease-in-out infinite alternate}
.slot-stage.slot-landed .slot-machine-message{color:#a9f2c6}
@keyframes slot-marquee-glow{to{filter:brightness(1.4);box-shadow:0 0 25px #ffdc7a66}}

/* European roulette: actual 3-row number layout, one winning pocket and a decelerating wheel. */
.roulette-stage{padding:18px 22px 14px}
.roulette-table-layout{grid-template-columns:minmax(250px,.9fr) minmax(390px,1.25fr);gap:26px;max-width:900px;margin:17px auto 12px}
.roulette-wheel-shell{width:min(340px,100%);padding:12px}
.roulette-wheel{border-width:9px}
.roulette-wheel-label i{top:7px;left:calc(50% - 6px);height:44%;font-size:clamp(7px,.8vw,10px)}
.roulette-ball{top:8px;width:11px;height:11px;transform-origin:5px 150px}
.roulette-wheel-caption{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:#f5d98a;font:900 8px Unbounded;letter-spacing:.13em;z-index:5;pointer-events:none}
.roulette-table{padding:12px;border:1px solid #bda45b55;border-radius:12px;background:linear-gradient(145deg,#12523d,#0b2c22);box-shadow:inset 0 0 24px #0008}
.roulette-table-zero{font-size:18px;padding:8px;margin-bottom:7px}
.roulette-number-grid{display:grid;grid-auto-flow:column;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3,1fr);gap:4px}
.roulette-number{display:grid;place-items:center;min-height:38px;border-radius:4px;color:#fff;font:800 11px Unbounded;font-style:normal;border:1px solid #ffffff2c;box-shadow:inset 0 1px 0 #ffffff2a}
.roulette-number.red{background:linear-gradient(#9b303c,#621d29)}.roulette-number.black{background:linear-gradient(#36413d,#151b19)}
.roulette-number.landed-number{outline:3px solid #ffe18b;outline-offset:1px;z-index:2;box-shadow:0 0 20px #ffe18b}
.roulette-table-footer{display:flex;justify-content:space-between;gap:8px;color:#d6d0a9;font-size:8px;letter-spacing:.1em;padding-top:9px}
.roulette-ledger{font-size:11px}.roulette-ledger b{font-size:22px}

/* Plinko: the nine visible pockets are tied one-to-one to the server's path and multiplier. */
.plinko-stage{padding:18px 25px 15px}
.plinko-board{height:224px;width:min(580px,96%);margin:10px auto 5px;padding-top:6px}
.plinko-row{height:25px;gap:calc(11.111111% - 8px)}
.plinko-row i{width:8px;height:8px}
.plinko-drop-ball{width:17px;height:17px;top:3px;left:50%;transform:translateX(-50%);transition:none}
.plinko-payouts{width:min(580px,96%);margin:4px auto 0;gap:4px}
.plinko-payouts i{font-size:clamp(8px,.8vw,11px);padding:9px 2px;transition:transform .2s,background .2s,box-shadow .2s}
.plinko-payouts i.hot{color:#fff0bd;border-color:#e8bd6d88}
.plinko-payouts i.landed{background:linear-gradient(145deg,#ffe29b,#b87528);color:#2a1909;transform:translateY(-7px) scale(1.06);box-shadow:0 0 24px #ffd36d}
.plinko-drop-label{text-align:center;color:#d8c2f0;font:900 9px Unbounded;letter-spacing:.14em;padding:10px 5px 2px}

/* Interactive 3-D mine tiles. */
.mines-stage{padding:17px 24px}
.mines-board-preview{width:min(420px,88%);margin:15px auto 12px;gap:9px;transform:perspective(650px) rotateX(12deg)}
.mine-tile{aspect-ratio:1;position:relative;display:grid;place-items:center;border:1px solid #8bc8a466;border-radius:10px;color:#c9f2d9;background:linear-gradient(145deg,#426b56,#1a382b 72%);box-shadow:inset 0 2px 2px #ffffff24,inset 0 -6px 9px #07150f88,0 7px 8px #0008;transform:translateZ(0);transition:transform .16s,filter .16s,box-shadow .16s;cursor:pointer}
.mine-tile:before{content:"";position:absolute;inset:4px;border:1px solid #ffffff17;border-radius:6px;pointer-events:none}
.mine-tile span{font-size:clamp(15px,2vw,24px);font-weight:900;text-shadow:0 2px 5px #0008}
.mine-tile:not(.revealed):hover{transform:translateY(-4px) scale(1.035);filter:brightness(1.2);box-shadow:inset 0 2px 2px #ffffff24,0 12px 12px #0009,0 0 14px #83e0ad55}
.mine-tile.selected{outline:3px solid #ffe29a;outline-offset:1px;background:linear-gradient(145deg,#68875a,#2f4a2c);box-shadow:0 0 20px #ffe18b55,0 8px 10px #0008}
.mine-tile.revealed{cursor:default;animation:mine-reveal .35s ease-out both}
.mine-tile.is-mine{background:linear-gradient(145deg,#9d3c49,#3b1722);border-color:#ef7d89}
.mine-tile.is-gem{background:linear-gradient(145deg,#36745d,#153a2b);border-color:#71dda9}
.mine-tile.is-selected{outline:3px solid #ffe29a;outline-offset:2px}
.mines-stage-bottom{display:flex;justify-content:space-between;gap:10px;color:#9fc9af;font:900 9px Unbounded;letter-spacing:.12em}
.mines-stage-bottom b{color:#ffe29a}
.mine-selection-note{padding:10px 12px;border:1px solid #7cc99a33;border-radius:9px;background:#173024;color:#a7d8b8;font-size:11px;line-height:1.5;margin:10px 0}
@keyframes mine-reveal{from{transform:rotateX(-22deg) translateY(-8px);opacity:.45}to{transform:none;opacity:1}}

/* Crash game — live multiplier, moving rocket and a curve that grows frame by frame. */
.crash-chart-wrap{position:relative;flex:1;min-height:190px;margin:10px 0 4px}
.crash-chart{width:100%;height:100%;min-height:190px;display:block;overflow:visible}
.crash-line{stroke-dasharray:none;stroke-dashoffset:0;stroke-width:5}
.crash-rocket{position:absolute;left:1.5%;top:92%;transform:translate(-50%,-50%) rotate(-20deg);font-size:30px;filter:drop-shadow(0 0 10px #65edc6);transition:filter .2s;z-index:4}
.crash-stage.is-running .crash-rocket{animation:rocket-thrust .2s ease-in-out infinite alternate}
.crash-bottom{font-size:10px;padding-top:6px}
@keyframes rocket-thrust{to{filter:drop-shadow(0 0 17px #65edc6) brightness(1.3);transform:translate(-50%,-50%) rotate(-24deg) scale(1.06)}}

/* A proper six-lane race track: all runners travel continuously from gate to finish. */
.race-stage{padding:19px 22px 15px;background:repeating-linear-gradient(0deg,#30251a 0 24px,#3b2d1d 25px 48px)}
.race-track-visual{margin:15px 0 7px;background:#17130f;border:2px solid #c9a96b;box-shadow:0 10px 20px #0008}
.race-track-lane{height:53px;display:grid;grid-template-columns:24px 132px minmax(0,1fr);gap:8px;padding:0 8px;border-bottom:1px dashed #d0b27666;overflow:hidden}
.race-lane-number{width:21px;height:21px;font-size:10px}
.race-horse-name{width:auto;max-width:132px;font-size:11px}
.race-lane-runway{position:relative;height:100%;min-width:0;border-left:2px solid #e6d19a33;background:repeating-linear-gradient(90deg,transparent 0 39px,#ffffff13 40px 42px);}
.race-horse-runner{left:0;top:50%;font-size:30px;line-height:1;transform:translateY(-50%);transition:none;filter:drop-shadow(0 3px 4px #0009)}
.race-horse-runner.race-winner{filter:drop-shadow(0 0 12px #ffe28b) drop-shadow(0 3px 4px #000)}
.race-finish{position:absolute;right:0;top:0;height:100%;display:grid;place-items:center;padding:0 2px;background:repeating-conic-gradient(#fff 0 25%,#24201a 0 50%) 0/12px 12px;color:transparent;font-size:0}
.race-footer{padding:6px 8px;font-size:10px}
.race-commentary{text-align:center;padding:9px;color:#f0d38d;font:900 10px Unbounded;letter-spacing:.13em;border-top:1px solid #ffffff20}
.race-stage.is-running .race-horse-runner{animation:horse-bob .16s ease-in-out infinite alternate}

/* Event tease on the home screen + exact requested signature in the footer. */
.latest-event-teaser{display:flex;align-items:center;gap:15px;margin:-30px 0 34px;padding:15px 19px;border:1px solid #d4ab5e55;border-radius:15px;background:linear-gradient(100deg,#2a1e22,#1d1824 65%,#292018);box-shadow:0 10px 30px #0004;transition:transform .2s,border-color .2s}
.latest-event-teaser:hover{transform:translateY(-2px);border-color:#e8c477}
.teaser-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:#d5a64a22;font-size:23px}
.latest-event-teaser>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.latest-event-teaser small{font-size:9px;letter-spacing:.08em;color:#b4a4b8}
.latest-event-teaser b{font-size:13px;color:#fff0cf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.latest-event-teaser .teaser-cta{font:900 10px Unbounded;color:#f0d18b;white-space:nowrap}
.footer-right{font-weight:800;color:#d2bd8e}

/* Close/reload lock while a server-accepted round is being animated. */
.modal.game-modal.round-locked .modal-close{opacity:.25;cursor:not-allowed;pointer-events:none}
.round-reload-warning{position:fixed;inset:0;z-index:180;display:grid;place-items:center;padding:18px;background:#060409dc;backdrop-filter:blur(12px)}
.round-reload-card{width:min(510px,100%);padding:30px;border:1px solid #e7bd6d88;border-radius:22px;text-align:center;background:radial-gradient(ellipse at 50% 0%,#9b632e55,transparent 65%),linear-gradient(145deg,#28202c,#110e15);box-shadow:0 30px 90px #000c}
.warning-siren{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border-radius:18px;background:#e7ad4226;color:#ffe09b;font-size:30px;animation:warning-pulse .7s ease-in-out infinite alternate}
.round-reload-card h2{font:900 23px Unbounded;color:#ffe1a0;margin:10px 0 13px}
.round-reload-card p{font-size:13px;line-height:1.7;color:#c7bdcb}
.round-reload-card>div:last-child{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;margin-top:20px}
.round-reload-card .btn{min-width:170px}
@keyframes warning-pulse{to{box-shadow:0 0 25px #ffc85d66;transform:scale(1.05)}}

@media(max-width:900px){.latest-event-teaser{margin:-29px 0 30px}.roulette-table-layout{grid-template-columns:1fr}.roulette-wheel-shell{width:min(250px,100%)}.roulette-table{max-width:570px;margin:0 auto;width:100%}.roulette-number{min-height:30px;font-size:9px}.slot-machine-body{gap:4px}.slot-cabinet{width:calc(100% - 58px);padding:10px}.slot-lever{width:54px;flex-basis:54px;transform:scale(.82);transform-origin:center}.slot-reel-window{height:156px}.slot-reel{height:146px}.slot-strip span{height:48px;flex-basis:48px}.race-track-lane{grid-template-columns:21px 96px minmax(0,1fr);height:46px}.race-horse-name{font-size:9px}.race-horse-runner{font-size:25px}.plinko-board{height:220px}.mines-board-preview{width:min(380px,92%)} }
@media(max-width:520px){.latest-event-teaser{gap:9px;padding:12px}.latest-event-teaser .teaser-cta{font-size:8px}.latest-event-teaser b{font-size:11px}.latest-event-teaser small{font-size:8px}.teaser-icon{width:34px;height:34px;flex-basis:34px;font-size:19px}.roulette-table-layout{gap:10px}.roulette-table{padding:8px}.roulette-number-grid{gap:2px}.roulette-number{min-height:25px;font-size:7px}.slot-marquee{gap:6px}.slot-marquee span{font-size:11px}.slot-marquee b{font-size:8px}.slot-machine-footer{gap:7px;font-size:7px}.slot-machine-footer strong{font-size:18px}.mine-tile{border-radius:7px}.mines-board-preview{gap:5px}.race-track-lane{grid-template-columns:18px 75px minmax(0,1fr);gap:5px;height:42px;padding:0 5px}.race-horse-name{font-size:8px}.race-horse-runner{font-size:22px}.race-commentary{font-size:8px}.round-reload-card{padding:23px 17px}.round-reload-card h2{font-size:18px}}

@keyframes horse-bob{from{transform:translateY(-50%)}to{transform:translateY(calc(-50% - 3px))}}
@media(min-width:901px){.game-modal-body:has(.test-ribbon) .game-main-layout{height:calc(100% - 34px)}}
/* Disable legacy shake/spin keyframes: the new JS timelines own these transforms. */
.slot-stage.is-running .slot-reel{animation:none!important}
.roulette-stage.is-running .roulette-wheel{animation:none!important}
.crash-stage.is-running .crash-line{animation:none!important}


/* Medium desktop: keep the side-by-side room, but scale each table to the available width. */
@media (min-width:901px) and (max-width:1199px){
  .modal.game-modal .modal-body.game-modal-body{padding:13px 15px 16px}
  .game-modal-body .game-main-layout{grid-template-columns:minmax(0,1.18fr) minmax(292px,.9fr);gap:14px}
  .game-modal-body .game-stage{min-height:300px;padding:14px}
  .game-modal-body .game-description{font-size:11px;line-height:1.4;margin-top:8px}
  .bet-panel .field{margin:6px 0}
  .bet-panel .game-help{font-size:10px;line-height:1.35;padding:8px 9px;margin:7px 0}
  .bet-panel .game-play-main{min-height:44px;padding:11px}
  .roulette-stage{padding:12px 10px}
  .roulette-table-layout{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:9px;max-width:100%;margin:10px auto 6px}
  .roulette-wheel-shell{width:min(220px,100%);padding:8px}
  .roulette-wheel{border-width:6px}
  .roulette-wheel-label i{font-size:6px;top:5px;height:43%}
  .roulette-ball{width:8px;height:8px;transform-origin:4px 100px}
  .roulette-table{padding:7px}
  .roulette-table-zero{font-size:14px;padding:6px;margin-bottom:4px}
  .roulette-number-grid{gap:2px}
  .roulette-number{min-height:25px;font-size:8px;border-radius:3px}
  .roulette-table-footer{font-size:6px;letter-spacing:0;padding-top:6px}
  .slot-machine-body{gap:6px}
  .slot-cabinet{width:calc(100% - 66px);padding:12px 10px 14px}
  .slot-lever{width:60px;flex-basis:60px;transform:scale(.88);transform-origin:center}
  .slot-reel-window{height:158px}
  .slot-reel{height:148px}
  .slot-strip span{height:49.33px;flex-basis:49.33px}
  .plinko-board{height:224px}
  .plinko-row{height:25px}
  .plinko-payouts i{font-size:8px;padding:7px 1px}
  .race-track-lane{grid-template-columns:20px 98px minmax(0,1fr);height:43px}
  .race-horse-name{font-size:8px}
  .race-horse-runner{font-size:24px}
  .mines-board-preview{width:min(340px,90%);gap:7px}
  .mine-tile{border-radius:8px}
}
@media (max-height:680px) and (min-width:901px){
  .modal.game-modal{height:calc(100dvh - 18px)}
  .modal.game-modal .modal-head{flex-basis:54px;min-height:54px;padding:10px 20px}
  .modal.game-modal .modal-body.game-modal-body{padding:9px 14px}
  .game-modal-body .game-stage{min-height:250px}
  .game-modal:has(.play-result.show) .game-stage{min-height:250px}
  .game-modal .play-result{padding:9px;margin-top:6px}
  .game-modal .result-symbols{font-size:28px;margin:5px}
}

.plinko-row.active i{background:linear-gradient(#fff6cf,#f3b84e);box-shadow:0 0 13px #ffd36d,0 0 22px #ffb73c88;transform:scale(1.18)}
.plinko-row i{transition:background .15s,box-shadow .15s,transform .15s}
