:root{--tg-bg: #1a1a2e;--tg-text: #ffffff;--tg-button: #5865f2;--tg-button-text: #ffffff;--tg-secondary-bg: #16213e;--tg-hint: #888888}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html,body{width:100%;height:100%;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--tg-bg);color:var(--tg-text);touch-action:pan-y}#connection-banner{position:fixed;top:0;left:0;right:0;z-index:99999;background:#e53935;color:#fff;text-align:center;padding:8px 16px;font-size:.8rem;font-weight:600;animation:bannerPulse 1.5s ease-in-out infinite}@keyframes bannerPulse{0%,to{opacity:1}50%{opacity:.7}}#app{width:100%;height:100%;position:relative}.screen{position:absolute;top:0;left:0;width:100%;height:100%}.hidden{display:none!important}.lobby-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;gap:20px}.game-title{font-size:2.2rem;font-weight:900;letter-spacing:5px;background:linear-gradient(135deg,#fff,#a8b3ff,#5865f2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;filter:drop-shadow(0 2px 8px rgba(88,101,242,.3))}#lobby-menu,#lobby-room{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}.join-row{display:flex;gap:8px}.join-row input{flex:1;padding:12px 16px;border-radius:12px;border:2px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-size:1rem;text-transform:uppercase;letter-spacing:2px;text-align:center;outline:none;-webkit-user-select:text;user-select:text}.join-row input:focus{border-color:var(--tg-button)}.btn{padding:14px 24px;border:none;border-radius:12px;font-size:1rem;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.btn:active{transform:scale(.96)}.btn-primary{background:var(--tg-button);color:var(--tg-button-text)}.btn-secondary{background:var(--tg-secondary-bg);color:var(--tg-text);border:2px solid var(--tg-hint)}.btn-danger{background:#e74c3c;color:#fff}.btn-small{padding:8px 16px;font-size:.85rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ready-active{background:#2ecc71!important;color:#fff!important;border-color:#2ecc71!important}.room-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--tg-secondary-bg);border-radius:12px;font-size:1.1rem}#room-code{letter-spacing:3px;font-size:1.3rem}#player-list{display:flex;flex-direction:column;gap:8px}.player-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--tg-secondary-bg);border-radius:10px}.player-color{width:16px;height:16px;border-radius:50%;border:2px solid rgba(255,255,255,.3)}.player-name{flex:1;font-weight:600}.player-host{font-size:.75rem;opacity:.6}.player-ready-badge{font-size:.8rem;padding:2px 8px;border-radius:6px;background:#e74c3c;color:#fff}.player-ready-badge.ready{background:#2ecc71}.room-actions{display:flex;gap:10px}.room-actions .btn{flex:1}.bomber-bet-selector{background:var(--tg-secondary-bg);border-radius:12px;padding:12px}.bomber-bet-label{display:block;font-size:.85rem;color:var(--tg-hint);margin-bottom:8px;text-align:center}.bomber-bet-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.bomber-chip{padding:6px 12px;border-radius:20px;border:2px solid var(--tg-hint);background:transparent;color:var(--tg-text);font-size:.8rem;font-weight:700;cursor:pointer;transition:all .15s}.bomber-chip:active{transform:scale(.95)}.bomber-chip-active{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button)}.bomber-separator{text-align:center;position:relative;color:var(--tg-hint);font-size:.85rem}.bomber-separator:before,.bomber-separator:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:var(--tg-hint);opacity:.3}.bomber-separator:before{left:0}.bomber-separator:after{right:0}.bomber-rooms-section{margin-top:4px}.bomber-rooms-title{font-size:.9rem;color:var(--tg-hint);margin-bottom:8px;text-align:center}.bomber-rooms-list{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto}.bomber-room-card{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--tg-secondary-bg);border-radius:10px;cursor:pointer;transition:opacity .15s;border:1px solid rgba(255,255,255,.06)}.bomber-room-card:active{opacity:.7}.bomber-room-info{display:flex;flex-direction:column;gap:2px}.bomber-room-host{font-weight:700;font-size:.95rem}.bomber-room-details{font-size:.8rem;color:var(--tg-hint)}.bomber-room-bet{padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:700;background:#ffffff14;color:var(--tg-hint)}.bomber-room-bet-paid{background:#f1c40f26;color:#f1c40f}.room-bet-info{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;background:#f1c40f1a;border:1px solid rgba(241,196,15,.25);border-radius:10px;font-size:.9rem;color:#f1c40f}.room-bet-icon{font-size:1.1rem}.result-pot-info{text-align:center;margin-bottom:4px}.result-pot-win{font-size:1.4rem;font-weight:900;color:#2ecc71;animation:potPulse .6s ease-out}.result-pot-other{font-size:1rem;color:var(--tg-hint)}.result-pot-tie{font-size:1rem;color:#f1c40f}@keyframes potPulse{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.error-msg{color:#e74c3c;text-align:center;font-size:.9rem;padding:8px}#countdown-screen{display:flex;align-items:center;justify-content:center;background:#000c;z-index:100}.countdown-number{font-size:8rem;font-weight:900;color:var(--tg-button);animation:countPulse 1s ease-in-out infinite}@keyframes countPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}#game-canvas{z-index:1;touch-action:none}#hud{position:absolute;top:0;left:0;right:0;padding:8px 12px;z-index:10;pointer-events:none}#hud-info{display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;text-shadow:1px 1px 2px rgba(0,0,0,.8)}#touch-controls{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:space-between;align-items:flex-end;padding:0 20px;z-index:20;pointer-events:none}.dpad{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:60px 60px 60px;gap:4px;pointer-events:auto;touch-action:none}.dpad-btn{border:none;border-radius:10px;background:#ffffff26;cursor:pointer;position:relative;touch-action:none}.dpad-btn:active{background:#ffffff59}.dpad-center{background:#ffffff0d;pointer-events:none}.dpad-up{grid-column:2;grid-row:1}.dpad-left{grid-column:1;grid-row:2}.dpad-center{grid-column:2;grid-row:2}.dpad-right{grid-column:3;grid-row:2}.dpad-down{grid-column:2;grid-row:3}.dpad-up:after,.dpad-down:after,.dpad-left:after,.dpad-right:after{content:"";position:absolute;width:0;height:0}.dpad-up:after{top:15px;left:50%;transform:translate(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-bottom:16px solid rgba(255,255,255,.6)}.dpad-down:after{bottom:15px;left:50%;transform:translate(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-top:16px solid rgba(255,255,255,.6)}.dpad-left:after{top:50%;left:15px;transform:translateY(-50%);border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:16px solid rgba(255,255,255,.6)}.dpad-right:after{top:50%;right:15px;transform:translateY(-50%);border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:16px solid rgba(255,255,255,.6)}.bomb-btn{width:90px;height:90px;border-radius:50%;border:3px solid rgba(231,76,60,.6);background:#e74c3c40;color:#fff;font-size:.9rem;font-weight:900;letter-spacing:1px;cursor:pointer;pointer-events:auto;touch-action:none}.bomb-btn:active{background:#e74c3c80;transform:scale(.92)}#result-screen{display:flex;align-items:center;justify-content:center;background:#000000d9;z-index:50}.result-container{text-align:center;display:flex;flex-direction:column;gap:16px;padding:30px}#result-title{font-size:2rem;font-weight:900}#result-standings{display:flex;flex-direction:column;gap:8px}.standing-item{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--tg-secondary-bg);border-radius:8px;justify-content:center}#main-menu-screen{background:linear-gradient(135deg,#0d0221,#1a0a2e,#16213e 60%,#0d0221);position:relative;overflow-y:scroll;overflow-x:hidden;touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}#main-menu-screen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(255,0,80,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(0,200,255,.07) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,200,0,.06) 0%,transparent 60%);z-index:0;pointer-events:none}#main-menu-screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,215,0,.02) 20px,rgba(255,215,0,.02) 21px),repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(255,215,0,.02) 20px,rgba(255,215,0,.02) 21px);z-index:0;pointer-events:none}#main-menu-screen.vip{background:linear-gradient(135deg,#1a0a00,#2a1500,#1a1000,#2a1a05,#1a0a00)}#main-menu-screen.vip:before{background:radial-gradient(circle at 20% 30%,rgba(255,200,50,.12) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(255,180,0,.08) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(255,215,0,.06) 0%,transparent 60%)}#main-menu-screen.vip:after{background-image:repeating-linear-gradient(45deg,transparent,transparent 20px,rgba(255,215,0,.04) 20px,rgba(255,215,0,.04) 21px),repeating-linear-gradient(-45deg,transparent,transparent 20px,rgba(255,215,0,.04) 20px,rgba(255,215,0,.04) 21px)}.vip-badge{display:none;position:absolute;top:calc(8px + var(--tg-content-safe-area-inset-top, 0px) + var(--tg-safe-area-inset-top, 0px));right:14px;z-index:10;text-align:center;animation:vip-float 3s ease-in-out infinite}#main-menu-screen.vip .vip-badge{display:block}.vip-badge-icon{font-size:32px;display:block;filter:drop-shadow(0 0 8px rgba(255,215,0,.6))}.vip-badge-label{display:inline-block;margin-top:2px;padding:2px 10px;background:linear-gradient(135deg,gold,#fa0);color:#1a0a00;font-size:.6rem;font-weight:900;letter-spacing:2px;border-radius:8px;box-shadow:0 0 12px #ffd70066,inset 0 1px #ffffff4d}@keyframes vip-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}#main-menu-screen.vip .game-title{background:linear-gradient(180deg,gold,#fa0,#c80);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 10px rgba(255,215,0,.3))}#main-menu-screen.vip .menu-star{color:gold;text-shadow:0 0 8px rgba(255,215,0,.6)}.menu-container{display:flex;flex-direction:column;align-items:center;padding:calc(16px + var(--tg-content-safe-area-inset-top, 0px) + var(--tg-safe-area-inset-top, 0px)) 16px 30px;gap:10px;position:relative;z-index:2}.menu-particles{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.menu-particle{position:absolute;border-radius:50%;animation:menuParticleFloat linear infinite;opacity:0}@keyframes menuParticleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.7}90%{opacity:.5}to{transform:translateY(-20px) rotate(720deg);opacity:0}}.menu-star{position:absolute;color:gold;font-size:12px;animation:menuStarTwinkle 2s ease-in-out infinite;z-index:1;pointer-events:none}@keyframes menuStarTwinkle{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}.game-title{font-family:Russo One,sans-serif;font-size:1.8rem;font-weight:900;letter-spacing:3px;background:linear-gradient(180deg,gold,#ff8c00,#ff4500 80%,#ff0040);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 15px rgba(255,150,0,.5)) drop-shadow(0 2px 6px rgba(0,0,0,.8));animation:titleGlow 2s ease-in-out infinite alternate}@keyframes titleGlow{0%{filter:drop-shadow(0 0 12px rgba(255,150,0,.3)) drop-shadow(0 2px 6px rgba(0,0,0,.8))}to{filter:drop-shadow(0 0 25px rgba(255,150,0,.7)) drop-shadow(0 2px 6px rgba(0,0,0,.8))}}.game-subtitle{font-size:.6rem;color:#00e5ff;letter-spacing:6px;text-shadow:0 0 8px rgba(0,229,255,.7);animation:subtitlePulse 3s ease-in-out infinite;text-transform:uppercase;font-weight:700}@keyframes subtitlePulse{0%,to{opacity:1}50%{opacity:.5}}.credits-bar{display:flex;align-items:center;gap:8px;padding:8px 24px;background:linear-gradient(135deg,#16213ecc,#f1c40f14);border:1px solid rgba(241,196,15,.3);border-radius:20px;font-size:1.1rem;font-weight:700;box-shadow:0 0 12px #f1c40f1a}.credits-icon{font-size:1.2rem}.credits-amount{color:#f1c40f;flex:1}.lb-entry-clickable{cursor:pointer}.lb-tip-btn{background:#f1c40f1f;border:1px solid rgba(241,196,15,.3);border-radius:6px;font-size:.6rem;font-weight:800;color:#f1c40f;cursor:pointer;padding:3px 8px;font-family:inherit;letter-spacing:.5px;transition:background .15s,transform .1s;flex-shrink:0}.lb-tip-btn:active{background:#f1c40f4d;transform:scale(.95)}.tip-panel{padding:10px 0}.tip-header{font-size:.85rem;color:var(--tg-text);margin-bottom:8px;text-align:center}.tip-chips{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:8px}.tip-chip{padding:6px 14px;border:1px solid rgba(241,196,15,.3);border-radius:20px;background:#f1c40f14;color:#f1c40f;font-weight:700;font-size:.8rem;cursor:pointer;font-family:inherit;transition:background .15s,transform .1s}.tip-chip:active{background:#f1c40f40;transform:scale(.95)}.tip-custom-row{display:flex;gap:6px;justify-content:center;margin-bottom:6px}.tip-custom-input{width:100px;padding:6px 10px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:var(--tg-secondary-bg);color:var(--tg-text);font-size:.8rem;font-family:inherit;outline:none;text-align:center;-webkit-user-select:text;user-select:text}.tip-custom-input:focus{border-color:#f1c40f66}.tip-send-custom{padding:6px 12px;border:none;border-radius:8px;background:#5865f2;color:#fff;font-weight:700;font-size:.75rem;cursor:pointer;font-family:inherit}.tip-msg{text-align:center;font-size:.8rem;padding:4px}.tip-msg-ok{color:#2ecc71}.tip-msg-err{color:#e74c3c}.richlist-btn{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0 2px;line-height:1;filter:drop-shadow(0 0 4px rgba(241,196,15,.4));transition:transform .15s}.richlist-btn:active{transform:scale(1.2)}.game-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:340px}.game-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:linear-gradient(145deg,#1a0a2ee6,#16213ecc);border:2px solid rgba(255,215,0,.12);border-radius:14px;cursor:pointer;transition:transform .15s,border-color .2s,box-shadow .2s;color:var(--tg-text);font-family:inherit;position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 30%,rgba(255,200,0,.04) 0%,transparent 60%);pointer-events:none}.game-card:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,215,0,.4),transparent);opacity:0;transition:opacity .3s}.game-card:active{transform:scale(.95)}.game-card:hover{border-color:#ffc80059;box-shadow:0 4px 20px #ff96001f}.game-card:hover:after{opacity:1}.game-card-icon{font-size:2rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.game-card-name{font-size:.85rem;font-weight:800;letter-spacing:.5px}.game-card-desc{font-size:.65rem;color:var(--tg-hint);text-transform:uppercase;letter-spacing:1px}.menu-tagline{font-size:.55rem;color:#ffd70066;letter-spacing:3px;text-transform:uppercase;margin-top:4px}.game-card-maintenance{opacity:.45;pointer-events:auto;cursor:not-allowed;position:relative}.game-card-maintenance:active{transform:none}.game-card-maintenance .game-card-icon{filter:grayscale(1) drop-shadow(0 2px 4px rgba(0,0,0,.3))}.game-card-maintenance-badge{position:absolute;top:8px;right:8px;background:#e74c3ce6;color:#fff;font-size:.55rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:3px 8px;border-radius:6px;z-index:3}.daily-wheel-btn{width:100%;max-width:320px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:none;border-radius:12px;background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a2e;font-family:inherit;font-size:.95rem;font-weight:700;cursor:pointer;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 20px #ffd70066}.daily-wheel-btn.wheel-btn-available{animation:wheelBtnPulse 2s ease-in-out infinite}.daily-wheel-btn:active{transform:scale(.97)}.daily-wheel-icon{font-size:1.4rem}.daily-wheel-text{font-weight:700}.daily-wheel-btn.wheel-btn-used{background:linear-gradient(135deg,#444,#555);color:#aaa;box-shadow:none;cursor:default;animation:none}@keyframes wheelBtnPulse{0%,to{box-shadow:0 4px 20px #ffd70066}50%{box-shadow:0 4px 30px #ffd700b3,0 0 40px #ff8c004d}}.wheel-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000}.wheel-modal-content{display:flex;flex-direction:column;align-items:center;gap:16px;padding:24px;max-width:340px;width:90%}.wheel-title{font-size:1.3rem;font-weight:800;color:gold;text-transform:uppercase;letter-spacing:2px}.wheel-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.wheel-pointer{position:absolute;top:-8px;left:50%;transform:translate(-50%);font-size:24px;color:gold;z-index:2;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}#wheel-canvas{border-radius:50%;box-shadow:0 0 30px #ffd7004d,inset 0 0 20px #0000004d;border:3px solid #ffd700}.wheel-spin-btn{padding:12px 40px;border:none;border-radius:10px;background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a2e;font-family:inherit;font-size:1.1rem;font-weight:800;letter-spacing:2px;cursor:pointer;transition:transform .15s}.wheel-spin-btn:active{transform:scale(.95)}.wheel-result{font-size:1.2rem;font-weight:700;color:#fff;text-align:center}.wheel-win-amount{font-size:1.8rem;font-weight:900;color:gold;display:block;animation:wheelWinPop .5s ease-out}@keyframes wheelWinPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.wheel-close-btn{padding:8px 30px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#aaa;font-family:inherit;font-size:.9rem;cursor:pointer}.wheel-close-btn:active{opacity:.7}.screen-header{display:flex;align-items:center;gap:12px;width:100%;max-width:360px;padding:0 0 8px;padding-top:calc(var(--tg-content-safe-area-inset-top, 0px) + var(--tg-safe-area-inset-top, 0px))}.btn-back{background:none;border:2px solid var(--tg-hint);color:var(--tg-text);font-size:1.2rem;width:40px;height:40px;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .2s}.btn-back:active{border-color:var(--tg-button)}.game-title-small{font-size:1.4rem;font-weight:900;letter-spacing:2px;flex:1}.header-credits{font-size:.85rem;font-weight:700;color:#f1c40f;flex-shrink:0;background:#f1c40f1a;padding:4px 10px;border-radius:12px;border:1px solid rgba(241,196,15,.2)}.cf-container{width:100%;height:100%;display:flex;flex-direction:column}#cf-menu{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:20px;gap:16px}.cf-menu-content{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.cf-emoji-big{font-size:5rem}.cf-desc{font-size:1rem;color:var(--tg-hint);max-width:260px}#cartfrenzy-canvas{width:100%;height:100%;display:block}#cf-gameover{display:flex;align-items:center;justify-content:center;height:100%;background:#000000d9}.cf-gameover-content{display:flex;flex-direction:column;align-items:center;gap:12px;padding:30px;text-align:center}.cf-score-big{font-size:2rem;font-weight:900;color:#f1c40f}.cf-score-sub{font-size:1rem;color:var(--tg-hint)}#cf-gameover-title{font-size:1.6rem;font-weight:900}.roulette-container{display:flex;flex-direction:column;height:100%;padding:12px;gap:8px;overflow-y:auto;background:radial-gradient(ellipse at 50% 60%,rgba(39,174,96,.08) 0%,transparent 70%)}.roulette-actions{display:flex;gap:10px;padding:10px 0}.roulette-actions .btn{flex:1}#roulette-wheel{display:block;margin:0 auto}#roulette-result-display{text-align:center;padding:12px}.rt-result-number{display:inline-block;width:50px;height:50px;line-height:50px;border-radius:50%;font-size:1.5rem;font-weight:900;text-align:center;margin-bottom:8px}.rt-result-red{background:#c0392b;color:#fff}.rt-result-black{background:#2c3e50;color:#fff}.rt-result-green{background:#27ae60;color:#fff}.rt-result-gain{font-size:1.2rem;font-weight:700;margin-bottom:8px}.rt-gain{color:#2ecc71}.rt-loss{color:#e74c3c}.rt-even{color:var(--tg-hint)}.rt-new-round-btn{margin-top:8px}.rt-chip-row{display:flex;justify-content:center;gap:10px;margin-bottom:8px}.rt-chip{width:44px;height:44px;border-radius:50%;border:3px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-weight:900;font-size:.85rem;cursor:pointer;font-family:inherit;transition:border-color .15s,background .15s,transform .15s}.rt-chip:active{transform:scale(.9)}.rt-chip-active{border-color:#f1c40f;background:#f1c40f26;color:#f1c40f;box-shadow:0 0 8px #f1c40f4d}.rt-table{display:flex;gap:2px;margin-bottom:6px}.rt-cell{display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);background:var(--tg-secondary-bg);color:var(--tg-text);font-size:.7rem;font-weight:700;cursor:pointer;padding:0;font-family:inherit;min-height:28px;transition:opacity .1s,transform .1s;border-radius:2px}.rt-cell:active{opacity:.7;transform:scale(.95)}.rt-cell-zero{background:#27ae60;border-radius:4px 0 0 4px;writing-mode:vertical-lr;padding:4px 3px;font-size:.8rem}.rt-cell-red{background:#c0392b}.rt-cell-black{background:#2c3e50}.rt-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(3,1fr);gap:1px;flex:1}.rt-grid .rt-cell{min-height:28px}.rt-col-row,.rt-dozen-row{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-bottom:4px}.rt-even-row{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;margin-bottom:6px}.rt-cell-outside{background:var(--tg-secondary-bg);font-size:.65rem;padding:4px 2px}.rt-cell-red-btn{background:#c0392b}.rt-cell-black-btn{background:#2c3e50}.rt-bets-summary{text-align:center;font-size:.9rem;padding:6px;color:var(--tg-hint)}.rt-error{text-align:center;font-size:.9rem;padding:6px;color:#e74c3c}.rt-players{display:flex;gap:6px;flex-wrap:wrap;padding:0 4px}.rt-player-badge{display:inline-block;padding:3px 10px;border-radius:12px;background:#5865f240;border:1px solid rgba(88,101,242,.5);color:#a8b3ff;font-size:.75rem;font-weight:600}.rt-no-winners{color:#888;font-size:.8rem;font-style:italic}.rt-winner-entry{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;margin:2px 4px;border-radius:12px;background:#2ecc7126;border:1px solid rgba(46,204,113,.4);font-size:.8rem;animation:rtWinnerPop .3s ease-out both}.rt-winner-name{color:#fff;font-weight:600}.rt-winner-gain{color:#2ecc71;font-weight:700}@keyframes rtWinnerPop{0%{opacity:0;transform:scale(.8) translateY(5px)}to{opacity:1;transform:scale(1) translateY(0)}}.rt-timer{text-align:center;font-size:1.6rem;font-weight:900;color:#f1c40f;padding:4px 0;letter-spacing:1px}.rt-timer-urgent{color:#e74c3c;animation:rt-pulse .5s ease-in-out infinite alternate}@keyframes rt-pulse{0%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(1.1)}}.rt-cell{position:relative}.rt-cell-label{position:relative;z-index:1}.rt-cell-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;line-height:16px;border-radius:8px;background:#f1c40f;color:#000;font-size:.55rem;font-weight:900;text-align:center;padding:0 3px;z-index:2}.blackjack-container{display:flex;flex-direction:column;height:100%;padding:24px 12px 12px;gap:8px;overflow-y:auto;background:linear-gradient(180deg,#0a0a0a,#141414 40%,#0a0a0a)}.bj-error{display:flex;flex-direction:column;align-items:center;gap:12px;padding:20px;color:#e74c3c;font-size:1rem;text-align:center}.bj-error button{padding:8px 20px;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#fff;font-family:inherit;cursor:pointer}#bj-content{flex:1;display:flex;flex-direction:column;gap:10px;align-items:center}.bj-timer{text-align:center;font-size:1.6rem;font-weight:900;color:#f1c40f;padding:4px 0}.bj-timer-urgent{color:#e74c3c;animation:bj-pulse .5s ease-in-out infinite alternate}@keyframes bj-pulse{0%{opacity:1;transform:scale(1)}to{opacity:.6;transform:scale(1.1)}}.bj-dealer-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:4px}.bj-dealer-avatar{font-size:2rem;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.bj-hand-label{font-size:.8rem;font-weight:700;color:var(--tg-hint);margin-bottom:0;text-transform:uppercase;letter-spacing:1px}.bj-cards{display:flex;gap:8px;min-height:70px;flex-wrap:wrap;justify-content:center}#bj-dealer-area{padding:6px 0;min-height:80px;text-align:center;width:100%;background:#ffffff08;border-radius:12px;border:1px solid rgba(255,255,255,.06)}.bj-seats{display:flex;gap:6px;padding:8px 0;justify-content:center;width:100%;flex-wrap:nowrap}.bj-seat{flex:1 1 0;min-width:0;max-width:72px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 4px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:3px;transition:border-color .3s,box-shadow .3s}.bj-seat-empty{opacity:.15;border-style:dashed;max-width:48px;min-height:40px}.bj-seat-mine{border-color:#5865f2;background:#5865f21a}.bj-seat-active{border-color:#f1c40f;box-shadow:0 0 12px #f1c40f66;animation:bj-turn-glow 1s ease-in-out infinite alternate}@keyframes bj-turn-glow{0%{box-shadow:0 0 8px #f1c40f4d}to{box-shadow:0 0 18px #f1c40f99}}.bj-seat-won{border-color:#2ecc71;background:#2ecc711a}.bj-seat-lost{border-color:#e74c3c;background:#e74c3c1a}.bj-seat-push{border-color:#f1c40f;background:#f1c40f1a}.bj-seat-name{font-size:.55rem;font-weight:700;color:var(--tg-hint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;display:block;text-align:center}.bj-seat-bet{display:inline-block;background:#f1c40f33;border:1px solid rgba(241,196,15,.5);border-radius:10px;padding:1px 6px;font-size:.6rem;font-weight:900;color:#f1c40f}.bj-seat-cards{display:flex;gap:2px;flex-wrap:wrap;justify-content:center}.bj-card-mini{width:22px;height:30px;background:#fff;border-radius:3px;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:900;box-shadow:0 1px 3px #0000004d}.bj-card-hidden-mini{background:linear-gradient(135deg,#2c3e50 25%,#34495e,#2c3e50 75%);color:var(--tg-hint)}.bj-seat-score{font-size:.65rem;font-weight:900;color:#fff}.bj-seat-state{font-size:.55rem;font-weight:900;padding:1px 4px;border-radius:4px}.bj-state-bust{background:#e74c3c4d;color:#e74c3c}.bj-state-bj{background:#f1c40f4d;color:#f1c40f}.bj-seat-result{font-size:.55rem;font-weight:900;padding:1px 4px;border-radius:4px}.bj-result-gold{background:#f1c40f4d;color:#f1c40f}.bj-result-win{background:#2ecc714d;color:#2ecc71}.bj-result-lose{background:#e74c3c4d;color:#e74c3c}.bj-result-push{background:#f1c40f4d;color:#f1c40f}.bj-seat-label{font-size:.6rem;color:var(--tg-hint)}#bj-bet-controls{width:100%;text-align:center}.bj-bet-row{display:flex;gap:10px;justify-content:center}.bj-chip{width:48px;height:48px;border-radius:50%;border:3px solid #F1C40F;background:var(--tg-secondary-bg);color:#f1c40f;font-weight:900;font-size:.95rem;cursor:pointer;font-family:inherit;transition:transform .15s,background .15s}.bj-chip:active{background:#f1c40f40;transform:scale(.92)}.bj-bet-display{text-align:center;font-size:1rem;font-weight:700;padding:6px;color:var(--tg-hint)}#bj-bet-controls .btn-small{margin-top:4px}#bj-actions{display:flex;gap:10px;width:100%}#bj-actions .btn{flex:1}.bj-result-text{text-align:center;font-size:1.4rem;font-weight:900;padding:12px}#bj-result{text-align:center;padding:8px 0;width:100%}.bj-insurance{width:100%;text-align:center;background:#f1c40f1a;border:2px solid rgba(241,196,15,.4);border-radius:12px;padding:12px;animation:bj-insurance-pulse 1.5s ease-in-out infinite alternate}@keyframes bj-insurance-pulse{0%{border-color:#f1c40f4d;box-shadow:0 0 6px #f1c40f1a}to{border-color:#f1c40f99;box-shadow:0 0 16px #f1c40f4d}}.bj-insurance-text{font-size:.95rem;font-weight:700;color:#f1c40f;margin-bottom:8px}.bj-insurance-detail{font-size:.75rem;font-weight:500;color:var(--tg-hint)}.bj-insurance-btns{display:flex;gap:10px;justify-content:center}.bj-insurance-btns .btn{min-width:80px}.bj-card{width:52px;height:74px;background:#fff;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-weight:900;box-shadow:0 2px 6px #0000004d}.bj-card-rank{font-size:1.1rem}.bj-card-suit{font-size:1.2rem}.bj-card-hidden{background:linear-gradient(135deg,#2c3e50 25%,#34495e,#2c3e50 75%);color:var(--tg-hint)}.bj-card-back{font-size:1.8rem;font-weight:900}.coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;height:60vh;gap:12px;text-align:center}.coming-soon-icon{font-size:5rem}.coming-soon h2{font-size:1.6rem}.coming-soon p{color:var(--tg-hint);font-size:1rem}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}.modal-content{background:var(--tg-bg);border:1px solid rgba(255,255,255,.1);border-radius:16px;width:100%;max-width:360px;max-height:80vh;overflow-y:auto;padding:20px}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h3{font-size:1.3rem;font-weight:900}.modal-close{background:none;border:none;color:var(--tg-hint);font-size:1.2rem;cursor:pointer;padding:4px 8px}.lb-entry{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--tg-secondary-bg);border-radius:10px;margin-bottom:6px}.lb-rank{font-weight:900;font-size:1.1rem;min-width:30px;text-align:center}.lb-name{flex:1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lb-score{font-weight:900;color:#f1c40f}.lb-loading,.lb-empty{text-align:center;color:var(--tg-hint);padding:20px}.lb-user-rank{text-align:center;padding:12px;margin-top:8px;background:#5865f226;border-radius:10px;font-weight:700;font-size:.9rem}.bjl-container{display:flex;flex-direction:column;align-items:center;height:100%;padding:12px;gap:12px;background:linear-gradient(180deg,#0a0a0a,#141414 40%,#0a0a0a)}.bjl-subtitle{color:var(--tg-hint);font-size:.9rem;text-align:center}.bjl-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;max-width:340px;padding:8px 0}.bjl-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;background:linear-gradient(145deg,var(--tg-secondary-bg),rgba(22,33,62,.8));border:2px solid rgba(255,255,255,.08);border-radius:16px;cursor:pointer;transition:transform .15s,border-color .2s,box-shadow .2s;color:var(--tg-text);font-family:inherit}.bjl-card:active:not(:disabled){transform:scale(.95)}.bjl-card:hover:not(:disabled){border-color:#27ae6080;box-shadow:0 4px 20px #27ae6026}.bjl-card:disabled{opacity:.5;cursor:not-allowed}.bjl-card-full{border-color:#e74c3c4d}.bjl-card-emoji{font-size:3rem;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}.bjl-card-name{font-size:1rem;font-weight:800;letter-spacing:.5px}.bjl-card-players{font-size:.85rem;font-weight:700;color:var(--tg-hint)}.bjl-card-state{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;padding:2px 10px;border-radius:8px}.bjl-state-waiting{background:#f1c40f26;color:#f1c40f}.bjl-state-playing{background:#2ecc7126;color:#2ecc71}.bj-split-hands{display:flex;gap:6px;width:100%}.bj-seat-hand{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:3px;border-radius:6px;background:#ffffff08;border:1px solid rgba(255,255,255,.06)}.bj-hand-active{border-color:#f1c40f99;background:#f1c40f14;box-shadow:0 0 8px #f1c40f26}.bj-hand-won{border-color:#2ecc7180}.bj-hand-lost{border-color:#e74c3c66}.bj-hand-push{border-color:#f1c40f66}.bj-hand-label-mini{font-size:.5rem;font-weight:700;color:var(--tg-hint);letter-spacing:.5px}.bj-card-anim{animation:cardSlideIn .3s ease-out both}@keyframes cardSlideIn{0%{transform:translateY(-20px) rotateY(90deg);opacity:0}to{transform:translateY(0) rotateY(0);opacity:1}}.bj-card-reveal{animation:cardFlip .5s ease-in-out}@keyframes cardFlip{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.bj-chat{width:100%;max-height:120px;display:flex;flex-direction:column;background:#0000004d;border-radius:10px;overflow:hidden;margin-top:6px}.bj-chat-messages{flex:1;overflow-y:auto;padding:6px 8px;display:flex;flex-direction:column;gap:2px;max-height:80px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.15) transparent}.bj-chat-messages::-webkit-scrollbar{width:3px}.bj-chat-messages::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.bj-chat-msg{font-size:.7rem;line-height:1.3;animation:chatFadeIn .2s ease-out}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bj-chat-name{font-weight:700;color:#f1c40f;margin-right:4px}.bj-chat-name:after{content:":"}.bj-chat-text{color:#ffffffd9}.bj-chat-input-row{display:flex;gap:4px;padding:4px 6px;border-top:1px solid rgba(255,255,255,.08)}.bj-chat-input-row input{flex:1;background:#ffffff14;border:1px solid rgba(255,255,255,.1);border-radius:6px;color:var(--tg-text);padding:4px 8px;font-size:.75rem;outline:none;font-family:inherit;-webkit-user-select:text;user-select:text}.bj-chat-input-row input:focus{border-color:#5865f280}.bj-chat-input-row .btn-small{padding:4px 10px;font-size:.75rem}.poly-container{display:flex;flex-direction:column;height:100%;max-width:500px;margin:0 auto;padding:0 10px}.poly-tabs{display:flex;gap:4px;margin:8px 0;overflow-x:auto}.poly-tab{flex:1;padding:8px 6px;border:none;background:var(--tg-secondary-bg);color:var(--tg-hint);font-size:.75rem;font-weight:700;border-radius:8px;cursor:pointer;font-family:inherit;white-space:nowrap;transition:background .2s,color .2s}.poly-tab-active{background:#5865f2;color:#fff}.poly-tab-admin{background:var(--tg-secondary-bg);border:1px solid #e74c3c;color:#e74c3c}.poly-tab-admin.poly-tab-active{background:#e74c3c;color:#fff}.poly-tab-content{flex:1;overflow-y:auto;padding-bottom:10px}.poly-markets-list{display:flex;flex-direction:column;gap:8px}.poly-empty{text-align:center;color:var(--tg-hint);padding:40px 20px;font-size:.85rem}.poly-market-card{background:var(--tg-secondary-bg);border-radius:10px;padding:12px;cursor:pointer;transition:transform .1s;border:1px solid rgba(255,255,255,.05)}.poly-market-card:active{transform:scale(.98)}.poly-market-question{font-size:.85rem;font-weight:700;color:var(--tg-text);margin-bottom:6px;line-height:1.3}.poly-market-meta{display:flex;align-items:center;gap:8px;font-size:.7rem;color:var(--tg-hint);margin-bottom:8px}.poly-market-category{background:#5865f226;color:#5865f2;padding:2px 6px;border-radius:4px;font-weight:600}.poly-market-stats{display:flex;gap:6px;margin-bottom:8px}.poly-market-stat{flex:1;text-align:center;padding:6px 4px;border-radius:6px;font-size:.7rem;font-weight:700}.poly-stat-yes{background:#2ecc7126;color:#2ecc71}.poly-stat-no{background:#e74c3c26;color:#e74c3c}.poly-market-bar{height:6px;border-radius:3px;background:#e74c3c4d;overflow:hidden}.poly-market-bar-yes{height:100%;background:#2ecc71;border-radius:3px;transition:width .3s}.poly-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;z-index:100;display:flex;align-items:flex-end;justify-content:center}.poly-detail-card{background:var(--tg-bg);border-radius:16px 16px 0 0;width:100%;max-width:500px;max-height:85vh;overflow-y:auto;padding:16px;position:relative;animation:polySlideUp .25s ease-out}@keyframes polySlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.poly-detail-close{position:absolute;top:10px;right:14px;background:none;border:none;color:var(--tg-hint);font-size:1.5rem;cursor:pointer}.poly-detail-question{font-size:1rem;font-weight:700;color:var(--tg-text);margin-bottom:12px;padding-right:30px;line-height:1.3}.poly-detail-odds{display:flex;gap:8px;margin-bottom:12px}.poly-detail-odd{flex:1;text-align:center;padding:10px;border-radius:8px;font-weight:700}.poly-detail-odd-yes{background:#2ecc7126;color:#2ecc71}.poly-detail-odd-no{background:#e74c3c26;color:#e74c3c}.poly-detail-odd .poly-odd-label{font-size:.7rem;opacity:.7;display:block;margin-bottom:2px}.poly-detail-odd .poly-odd-value{font-size:1.2rem}.poly-bet-section{margin:12px 0}.poly-bet-side-row{display:flex;gap:8px;margin-bottom:8px}.poly-bet-side-btn{flex:1;padding:10px;border:2px solid transparent;border-radius:8px;font-weight:700;font-size:.85rem;cursor:pointer;font-family:inherit;transition:border-color .2s,background .2s}.poly-bet-yes{background:#2ecc711a;color:#2ecc71;border-color:#2ecc7133}.poly-bet-no{background:#e74c3c1a;color:#e74c3c;border-color:#e74c3c33}.poly-bet-side-btn.poly-bet-selected{border-color:currentColor}.poly-bet-amount-row{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}.poly-bet-chip{padding:6px 12px;border:1px solid rgba(255,255,255,.1);border-radius:20px;background:var(--tg-secondary-bg);color:var(--tg-text);font-weight:700;font-size:.75rem;cursor:pointer;font-family:inherit;transition:border-color .2s}.poly-bet-chip.poly-chip-active{border-color:#5865f2;background:#5865f233;color:#5865f2}.poly-bet-payout{text-align:center;font-size:.8rem;color:var(--tg-hint);margin-bottom:8px}.poly-bet-payout strong{color:#f1c40f}.poly-place-bet-btn{width:100%;padding:12px;border:none;border-radius:8px;font-weight:700;font-size:.9rem;cursor:pointer;font-family:inherit;background:#5865f2;color:#fff;transition:opacity .2s}.poly-place-bet-btn:disabled{opacity:.4;cursor:default}.poly-detail-bets{margin-top:12px;border-top:1px solid rgba(255,255,255,.06);padding-top:10px}.poly-detail-bets-title{font-size:.75rem;font-weight:700;color:var(--tg-hint);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.poly-bet-item{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:.75rem;border-bottom:1px solid rgba(255,255,255,.03)}.poly-bet-item-name{color:var(--tg-text);font-weight:600}.poly-bet-item-side{padding:2px 6px;border-radius:4px;font-weight:700;font-size:.65rem}.poly-bet-item-yes{background:#2ecc7126;color:#2ecc71}.poly-bet-item-no{background:#e74c3c26;color:#e74c3c}.poly-mybets-list{display:flex;flex-direction:column;gap:8px}.poly-mybet-card{background:var(--tg-secondary-bg);border-radius:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.05)}.poly-mybet-question{font-size:.8rem;font-weight:600;color:var(--tg-text);margin-bottom:4px}.poly-mybet-info{display:flex;gap:8px;font-size:.7rem;color:var(--tg-hint);align-items:center}.poly-mybet-side{padding:2px 6px;border-radius:4px;font-weight:700;font-size:.65rem}.poly-mybet-result{font-weight:700}.poly-mybet-win{color:#2ecc71}.poly-mybet-loss{color:#e74c3c}.poly-mybet-pending{color:#f1c40f}.poly-mybet-refund{color:var(--tg-hint)}.poly-create-form{display:flex;flex-direction:column;gap:8px;padding:4px 0}.poly-label{font-size:.75rem;font-weight:700;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.5px}.poly-input{background:var(--tg-secondary-bg);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--tg-text);padding:10px;font-size:.85rem;font-family:inherit;outline:none;transition:border-color .2s;width:100%;box-sizing:border-box;-webkit-user-select:text;user-select:text}.poly-input:focus{border-color:#5865f280}.poly-odds-row{display:flex;gap:10px}.poly-odds-field{flex:1;display:flex;flex-direction:column;gap:4px}.poly-create-btn{margin-top:6px}.poly-create-msg{text-align:center;font-size:.8rem;padding:6px}.poly-create-msg-ok{color:#2ecc71}.poly-create-msg-err{color:#e74c3c}.poly-pending-header{font-size:.7rem;font-weight:700;color:#f1c40f;text-transform:uppercase;letter-spacing:.5px;padding:4px 0}.poly-pending-card{border:1px solid rgba(241,196,15,.3)}.poly-admin-actions{display:flex;gap:6px;margin-top:8px}.poly-admin-btn{flex:1;padding:8px;border:none;border-radius:6px;font-weight:700;font-size:.75rem;cursor:pointer;font-family:inherit}.poly-admin-approve{background:#2ecc71;color:#fff}.poly-admin-reject{background:#e74c3c;color:#fff}.poly-admin-resolve-row{display:flex;gap:6px;margin-top:8px}.poly-admin-resolve-btn{flex:1;padding:8px;border:none;border-radius:6px;font-weight:700;font-size:.75rem;cursor:pointer;font-family:inherit}.poly-resolve-yes{background:#2ecc71;color:#fff}.poly-resolve-no{background:#e74c3c;color:#fff}.poly-resolve-cancel{background:var(--tg-secondary-bg);color:var(--tg-hint);border:1px solid rgba(255,255,255,.1)}@keyframes screenSlideIn{0%{transform:translate(60px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes screenSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(-40px);opacity:0}}.screen-enter{animation:screenSlideIn .22s ease-out both}.screen-exit{animation:screenSlideOut .18s ease-in both}@keyframes bjResultBounce{0%{transform:scale(0);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1);opacity:1}}.bj-seat-result{animation:bjResultBounce .35s ease-out both}.bj-seat-state{animation:bjResultBounce .3s ease-out both}@keyframes bjChipPop{0%{transform:scale(.92)}50%{transform:scale(1.08)}to{transform:scale(1)}}.bj-chip-feedback{animation:bjChipPop .25s ease-out}@keyframes bjResultGlow{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.05);text-shadow:0 0 12px currentColor}to{opacity:1;transform:scale(1);text-shadow:none}}.bj-result-animate{animation:bjResultGlow .5s ease-out both}@keyframes rtBadgePop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.rt-cell-badge:not(.hidden){animation:rtBadgePop .2s ease-out both}@keyframes rtResultFadeIn{0%{opacity:0;transform:translateY(-10px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}#roulette-result-display:not(.hidden){animation:rtResultFadeIn .4s ease-out both}@keyframes rtWinFlash{0%,to{box-shadow:none}25%,75%{box-shadow:inset 0 0 0 2px #f1c40f,0 0 12px #f1c40f99}}.rt-cell-winner{animation:rtWinFlash 1s ease-in-out 2;z-index:5;position:relative}@keyframes rtPlayerSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.rt-player-badge{animation:rtPlayerSlideIn .2s ease-out both}@keyframes polyCardSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.poly-market-card{animation:polyCardSlideUp .25s ease-out both}@keyframes polyTabFade{0%{opacity:0}to{opacity:1}}.poly-tab-content:not(.hidden){animation:polyTabFade .2s ease-out}@keyframes polyBetSuccess{0%{background:#2ecc71}to{background:var(--tg-button)}}.poly-bet-success{animation:polyBetSuccess .4s ease-out}@keyframes lobbyPlayerSlideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.player-item{animation:lobbyPlayerSlideIn .25s ease-out both}@keyframes lobbyReadyPulse{0%,to{box-shadow:0 0 #2ecc7166}50%{box-shadow:0 0 0 4px #2ecc7100}}.player-ready-badge.ready{animation:lobbyReadyPulse 1.5s ease-in-out infinite}@keyframes lobbyErrorSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes lobbyErrorSlideOut{0%{opacity:1}to{opacity:0;transform:translateY(-8px)}}.error-msg:not(.hidden){animation:lobbyErrorSlideIn .2s ease-out}.error-msg-exit{animation:lobbyErrorSlideOut .2s ease-out forwards}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalContentScale{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.modal:not(.hidden){animation:modalFadeIn .2s ease-out}.modal:not(.hidden) .modal-content{animation:modalContentScale .25s ease-out}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes toastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}.toast{position:fixed;bottom:80px;left:50%;transform:translate(-50%);padding:10px 20px;border-radius:10px;font-size:.85rem;font-weight:600;color:#fff;z-index:500;pointer-events:none;max-width:85%;text-align:center;animation:toastIn .25s ease-out,toastOut .25s ease-in 2s forwards}.toast-success{background:#2ecc71e6;box-shadow:0 4px 15px #2ecc714d}.toast-error{background:#e74c3ce6;box-shadow:0 4px 15px #e74c3c4d}.toast-info{background:#5865f2e6;box-shadow:0 4px 15px #5865f24d}.game-card:hover{transform:translateY(-2px)}.game-card:active{transform:scale(.95) translateY(0)}.bjl-card:not(:disabled):hover{transform:translateY(-2px)}.mn-container{display:flex;flex-direction:column;height:100%;padding:12px;gap:8px;overflow-y:auto}.mn-setup{display:flex;flex-direction:column;gap:10px}.mn-label{font-size:.75rem;font-weight:700;color:var(--tg-hint);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;display:block}.mn-mine-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.mn-mine-chip{width:40px;height:32px;border-radius:8px;border:2px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-weight:700;font-size:.8rem;cursor:pointer;transition:border-color .2s,background .2s}.mn-mine-chip-active{border-color:#e74c3c;background:#e74c3c33;color:#e74c3c}.mn-chip-row{display:flex;justify-content:center;gap:8px;margin-bottom:6px}.mn-chip{width:44px;height:44px;border-radius:50%;border:3px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-weight:900;font-size:.85rem;cursor:pointer;transition:border-color .2s,background .2s,transform .1s}.mn-chip:active{transform:scale(.9)}.mn-chip-active{border-color:#f1c40f;background:#f1c40f26;color:#f1c40f}.mn-bet-input{width:100%;max-width:200px;margin:0 auto;display:block;padding:8px 12px;border-radius:10px;border:2px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-size:1rem;text-align:center;outline:none;-webkit-user-select:text;user-select:text}.mn-bet-input:focus{border-color:var(--tg-button)}.mn-info-bar{display:flex;justify-content:space-around;padding:8px;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.mn-info-item{text-align:center}.mn-info-label{display:block;font-size:.7rem;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.5px}.mn-info-value{font-size:1.2rem;font-weight:900;color:#f1c40f}.mn-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;max-width:320px;margin:0 auto;width:100%}.mn-tile{aspect-ratio:1;border-radius:12px;border:2px solid rgba(255,255,255,.1);background:var(--tg-secondary-bg);color:var(--tg-text);font-size:1.4rem;cursor:pointer;transition:transform .1s,border-color .2s,background .2s;display:flex;align-items:center;justify-content:center}.mn-tile:hover:not(:disabled):not(.mn-tile-gem):not(.mn-tile-mine):not(.mn-tile-mine-hit){border-color:#f1c40f66;transform:scale(1.06)}.mn-tile:active:not(:disabled){transform:scale(.92)}.mn-tile:disabled{cursor:default}.mn-tile-gem{background:#2ecc7133;border-color:#2ecc71;animation:mnGemReveal .35s cubic-bezier(.34,1.56,.64,1)}.mn-tile-mine{background:#e74c3c1f;border-color:#e74c3c40;opacity:.5;animation:mnMineFade .4s ease-out both}.mn-tile-mine-hit{background:#e74c3c73;border-color:#e74c3c;animation:mnMineExplode .5s ease-out}.mn-status{text-align:center;padding:8px;min-height:36px}.mn-win{color:#2ecc71;font-weight:900;font-size:1.2rem;animation:mnResultPop .4s ease-out}.mn-loss{color:#e74c3c;font-weight:900;font-size:1.2rem;animation:mnResultPop .4s ease-out}.mn-actions{display:flex;gap:10px;padding:8px 0}.mn-start-btn,.mn-cashout-btn{flex:1;font-size:1rem;font-weight:700;padding:12px;border-radius:12px}.mn-cashout-btn{background:#2ecc71;color:#fff;animation:mnCashoutPulse 1.5s ease-in-out infinite}.mn-cashout-btn:active{animation:none;transform:scale(.95)}@keyframes mnGemReveal{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}@keyframes mnMineExplode{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.4);opacity:1}50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes mnMineFade{0%{opacity:0;transform:scale(.8)}to{opacity:.5;transform:scale(1)}}@keyframes mnResultPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes mnCashoutPulse{0%,to{box-shadow:0 0 #2ecc7166}50%{box-shadow:0 0 0 6px #2ecc7100}}.tw-container{display:flex;flex-direction:column;height:100%;padding:12px;gap:8px;overflow-y:auto}.tw-setup{display:flex;flex-direction:column;gap:10px}.tw-label{font-size:.75rem;font-weight:700;color:var(--tg-hint);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;display:block}.tw-diff-row{display:flex;gap:8px;justify-content:center;margin-bottom:4px}.tw-diff-btn{padding:8px 16px;border-radius:10px;border:2px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s}.tw-diff-btn:active{transform:scale(.92)}.tw-diff-active{border-color:#9b59b6;background:#9b59b633;color:#9b59b6}.tw-chip-row{display:flex;justify-content:center;gap:8px;margin-bottom:6px}.tw-chip{width:44px;height:44px;border-radius:50%;border:3px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-weight:900;font-size:.85rem;cursor:pointer;transition:border-color .2s,background .2s,transform .1s}.tw-chip:active{transform:scale(.9)}.tw-chip-active{border-color:#f1c40f;background:#f1c40f26;color:#f1c40f}.tw-bet-input{width:100%;max-width:200px;margin:0 auto;display:block;padding:8px 12px;border-radius:10px;border:2px solid var(--tg-hint);background:var(--tg-secondary-bg);color:var(--tg-text);font-size:1rem;text-align:center;outline:none;-webkit-user-select:text;user-select:text}.tw-bet-input:focus{border-color:var(--tg-button)}.tw-info-bar{display:flex;justify-content:space-around;padding:8px;background:#ffffff08;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.tw-info-item{text-align:center}.tw-info-label{display:block;font-size:.7rem;color:var(--tg-hint);text-transform:uppercase;letter-spacing:.5px}.tw-info-value{font-size:1.2rem;font-weight:900;color:#f1c40f}.tw-tower{display:flex;flex-direction:column;gap:4px;max-width:340px;margin:0 auto;width:100%;padding:8px 0}.tw-floor{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.04);background:#ffffff05;transition:all .3s}.tw-floor-current{border-color:#9b59b680;background:#9b59b61a;box-shadow:0 0 14px #9b59b626;animation:twFloorGlow 1.5s ease-in-out infinite}.tw-floor-cleared{border-color:#2ecc714d;background:#2ecc710d}.tw-floor-label{font-size:.7rem;font-weight:700;color:var(--tg-hint);min-width:50px;text-align:right}.tw-tiles{display:flex;gap:6px;flex:1;justify-content:center}.tw-tile{flex:1;max-width:60px;height:42px;border-radius:10px;border:2px solid rgba(255,255,255,.08);background:var(--tg-secondary-bg);color:var(--tg-text);font-size:1.1rem;cursor:pointer;transition:transform .1s,border-color .2s,background .2s;display:flex;align-items:center;justify-content:center}.tw-tile:hover:not(:disabled){border-color:#9b59b680;transform:scale(1.08)}.tw-tile:active:not(:disabled){transform:scale(.9)}.tw-tile:disabled{cursor:default;opacity:.3}.tw-floor-current .tw-tile:not(:disabled){opacity:1;border-color:#9b59b64d}.tw-tile-safe{background:#2ecc7140;border-color:#2ecc71;opacity:1!important;animation:twSafeReveal .35s cubic-bezier(.34,1.56,.64,1)}.tw-tile-trap{background:#e74c3c1f;border-color:#e74c3c40;opacity:.4!important;animation:twTrapFade .4s ease-out both}.tw-tile-trap-hit{background:#e74c3c73;border-color:#e74c3c;opacity:1!important;animation:twTrapReveal .5s ease-out}.tw-status{text-align:center;padding:8px;min-height:36px}.tw-win{color:#2ecc71;font-weight:900;font-size:1.2rem;animation:twResultPop .4s ease-out}.tw-loss{color:#e74c3c;font-weight:900;font-size:1.2rem;animation:twResultPop .4s ease-out}.tw-actions{display:flex;gap:10px;padding:8px 0}.tw-start-btn,.tw-cashout-btn{flex:1;font-size:1rem;font-weight:700;padding:12px;border-radius:12px}.tw-cashout-btn{background:#2ecc71;color:#fff;animation:twCashoutPulse 1.5s ease-in-out infinite}.tw-cashout-btn:active{animation:none;transform:scale(.95)}@keyframes twSafeReveal{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2);opacity:1}to{transform:scale(1)}}@keyframes twTrapReveal{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.4);opacity:1}50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes twTrapFade{0%{opacity:0;transform:scale(.8)}to{opacity:.4;transform:scale(1)}}@keyframes twFloorGlow{0%,to{box-shadow:0 0 8px #9b59b61a}50%{box-shadow:0 0 16px #9b59b640}}@keyframes twResultPop{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.15);opacity:1}to{transform:scale(1)}}@keyframes twCashoutPulse{0%,to{box-shadow:0 0 #2ecc7166}50%{box-shadow:0 0 0 6px #2ecc7100}}.profile-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .2s}.profile-btn:active{background:#ffffff1a}.mute-btn{background:none;border:none;font-size:1rem;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background .2s}.mute-btn:active{background:#ffffff1a}.pf-container{max-width:400px;margin:0 auto;padding:0 16px 24px;overflow-y:auto;height:100vh;-webkit-overflow-scrolling:touch}.pf-header{display:flex;flex-direction:column;align-items:center;padding:16px 0 12px}.pf-avatar{width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#5865f2,#3498db);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:8px}.pf-name{font-size:1.1rem;font-weight:700;color:#fff}.pf-level{font-size:.75rem;color:gold;margin-top:2px}.pf-xp-bar{width:80%;max-width:200px;height:6px;background:#ffffff1a;border-radius:3px;margin-top:6px;overflow:hidden}.pf-xp-fill{height:100%;background:linear-gradient(90deg,gold,#ff8c00);border-radius:3px;transition:width .5s ease;width:0%}.pf-xp-text{font-size:.65rem;color:#888;margin-top:3px}.pf-tabs{display:flex;gap:4px;margin:12px 0 8px;background:#ffffff0d;border-radius:8px;padding:3px}.pf-tab{flex:1;padding:7px 0;border:none;background:none;color:#888;font-size:.75rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .2s}.pf-tab-active{background:#5865f24d;color:#fff}.pf-tab-content{min-height:200px}.pf-stats-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:16px}.pf-stat{background:#ffffff0d;border-radius:8px;padding:10px 6px;text-align:center}.pf-stat-value{font-size:.9rem;font-weight:700;color:#fff}.pf-stat-label{font-size:.6rem;color:#888;margin-top:2px}.pf-section-title{font-size:.75rem;font-weight:600;color:#888;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.pf-game-stats{margin-bottom:16px}.pf-game-row{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#ffffff08;border-radius:6px;margin-bottom:4px;font-size:.75rem}.pf-game-name{flex:1;color:#fff;font-weight:600}.pf-game-played{color:#888}.pf-game-wr{color:#aaa;min-width:30px;text-align:right}.pf-profit-pos{color:#2ecc71;font-weight:600;min-width:60px;text-align:right}.pf-profit-neg{color:#e74c3c;font-weight:600;min-width:60px;text-align:right}.pf-history-filters{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}.pf-filter-btn{padding:4px 10px;border:1px solid rgba(255,255,255,.1);border-radius:12px;background:none;color:#888;font-size:.65rem;cursor:pointer;transition:all .2s}.pf-filter-active{background:#5865f24d;color:#fff;border-color:#5865f280}.pf-history-list{margin-bottom:20px}.pf-tx-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.05)}.pf-tx-info{display:flex;flex-direction:column}.pf-tx-label{font-size:.75rem;color:#fff}.pf-tx-date{font-size:.6rem;color:#666}.pf-tx-amount{font-size:.8rem;font-weight:700}.pf-tx-pos{color:#2ecc71}.pf-tx-neg{color:#e74c3c}.pf-load-more{display:block;width:100%;padding:8px;margin-top:8px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:none;color:#888;font-size:.75rem;cursor:pointer}.pf-empty{text-align:center;color:#666;font-size:.8rem;padding:24px}.pf-loading{text-align:center;color:#888;font-size:.8rem;padding:24px}.pf-achievements-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pf-achievement{background:#ffffff0d;border-radius:8px;padding:10px;text-align:center;transition:all .2s}.pf-ach-unlocked{border:1px solid rgba(255,215,0,.3)}.pf-ach-locked{opacity:.4;border:1px solid rgba(255,255,255,.05)}.pf-ach-icon{font-size:1.5rem;margin-bottom:4px}.pf-ach-name{font-size:.7rem;font-weight:600;color:#fff}.pf-ach-desc{font-size:.6rem;color:#888;margin-top:2px}.level-up-toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,gold,#ff8c00);color:#1a1a2e;padding:12px 24px;border-radius:12px;font-weight:700;font-size:1rem;z-index:10000;display:flex;align-items:center;gap:8px;box-shadow:0 4px 20px #ffd70080;animation:levelUpSlide 3s ease forwards}.level-up-icon{font-size:1.3rem}@keyframes levelUpSlide{0%{opacity:0;transform:translate(-50%) translateY(-20px)}10%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-20px)}}.result-elo-change{margin-top:6px;font-size:.85rem;color:#aaa}.elo-pos{color:#2ecc71;font-weight:700}.elo-neg{color:#e74c3c;font-weight:700}.achievement-popup{position:fixed;bottom:30px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#1e1e3cf2,#323250f2);border:1px solid #ffd700;border-radius:14px;padding:12px 20px;display:flex;align-items:center;gap:12px;z-index:10000;box-shadow:0 4px 24px #ffd7004d;animation:achieveSlideIn 4s ease forwards;max-width:90vw}.achievement-popup-icon{font-size:2rem}.achievement-popup-info{flex:1;min-width:0}.achievement-popup-title{font-size:.6rem;text-transform:uppercase;letter-spacing:1px;color:gold;font-weight:700}.achievement-popup-name{font-size:.85rem;font-weight:700;color:#fff;margin-top:2px}.achievement-popup-desc{font-size:.65rem;color:#aaa;margin-top:2px}@keyframes achieveSlideIn{0%{opacity:0;transform:translate(-50%) translateY(40px)}8%{opacity:1;transform:translate(-50%) translateY(0)}80%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(40px)}}.level-badge{background:linear-gradient(135deg,#5865f2,#7c4dff);color:#fff;padding:2px 8px;border-radius:8px;font-size:.65rem;font-weight:700;letter-spacing:.5px;margin-right:4px;white-space:nowrap}.sh-container{padding:10px 16px 24px;max-width:500px;margin:0 auto}.sh-preview-area{display:flex;flex-direction:column;align-items:center;margin:12px 0 16px}.sh-preview{width:70px;height:70px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:50%;border:2px solid rgba(255,255,255,.15)}.sh-preview-circle{width:46px;height:46px;border-radius:50%;border:2px solid rgba(0,0,0,.4)}.sh-preview-emoji{font-size:36px;line-height:1}.sh-preview-label{font-size:.7rem;color:#fff6;margin-top:4px}.sh-tabs{display:flex;gap:0;margin-bottom:12px;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.sh-tab{flex:1;padding:8px;background:transparent;border:none;color:#ffffff80;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.sh-tab-active{background:#5865f24d;color:#fff}.sh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-height:55vh;overflow-y:auto;padding-bottom:12px}.sh-item{background:#ffffff0d;border-radius:10px;padding:10px 6px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;border:2px solid transparent;transition:border-color .2s}.sh-item.sh-selected{border-color:#5865f2;background:#5865f21f}.sh-color-swatch{width:36px;height:36px;border-radius:50%;border:2px solid rgba(0,0,0,.4);box-shadow:0 2px 8px #0000004d}.sh-emoji-icon{font-size:28px;line-height:1;height:36px;display:flex;align-items:center;justify-content:center}.sh-item-name{font-size:.65rem;color:#fff9;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.sh-item-btn{width:100%;padding:4px 2px;border:none;border-radius:6px;font-size:.65rem;font-weight:700;cursor:pointer;transition:all .2s;margin-top:2px}.sh-btn-equipped{background:#5865f24d;color:#5865f2;cursor:default}.sh-btn-equip{background:#5865f2;color:#fff}.sh-btn-equip:active{transform:scale(.95)}.sh-btn-buy{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.sh-btn-buy:active{transform:scale(.95)}.sh-remove-item{opacity:.7}.sh-loading{grid-column:1 / -1;text-align:center;color:#fff6;padding:20px;font-size:.85rem}.sh-skins-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:8px 0}.sh-skin-card{background:#ffffff0f;border:2px solid rgba(255,255,255,.15);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;gap:4px;transition:border-color .2s,box-shadow .2s}.sh-skin-card.sh-selected{box-shadow:0 0 12px #ffd70066;border-color:gold!important}.sh-skin-svg{height:96px;display:flex;align-items:center;justify-content:center}.sh-skin-rarity{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.sh-skin-name{font-size:.75rem;color:#ffffffe6;text-align:center;font-weight:600}.sh-skin-card .sh-item-btn{width:100%;margin-top:4px}.map-selector{margin:8px 0}.map-selector-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.map-label{font-size:.7rem;color:#ffffff80;min-width:40px}.map-btns{display:flex;gap:4px;flex-wrap:wrap}.map-btn{padding:4px 10px;border:1px solid rgba(255,255,255,.15);border-radius:6px;background:transparent;color:#fff9;font-size:.7rem;cursor:pointer;transition:all .2s}.map-btn-active{background:#5865f24d;border-color:#5865f2;color:#fff}.map-info{font-size:.7rem;color:#fff6;text-align:center;padding:4px 0}.spectator-badge{position:fixed;top:50px;left:50%;transform:translate(-50%);background:#e74c3cd9;color:#fff;font-family:Russo One,sans-serif;font-size:.75rem;letter-spacing:2px;padding:4px 16px;border-radius:12px;z-index:100;pointer-events:none;animation:specBadgePulse 2s infinite}@keyframes specBadgePulse{0%,to{opacity:.85}50%{opacity:.5}}.cr-container{display:flex;flex-direction:column;height:100%;background:var(--tg-bg);overflow-y:auto}.cr-history{display:flex;gap:4px;padding:6px 12px;overflow-x:auto;flex-shrink:0}.cr-history-item{font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:8px;white-space:nowrap}.cr-history-green{background:#2ecc7133;color:#2ecc71}.cr-history-red{background:#e74c3c33;color:#e74c3c}.cr-graph-area{position:relative;flex:1;min-height:180px;max-height:280px;margin:0 12px;border-radius:12px;overflow:hidden;background:#0003;border:1px solid rgba(255,255,255,.06)}.cr-graph-area canvas{width:100%;height:100%;display:block}.cr-multiplier{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:Russo One,sans-serif;font-size:2.5rem;color:#ffffffe6;text-shadow:0 2px 10px rgba(0,0,0,.5);pointer-events:none}.cr-multiplier.cr-running{color:#2ecc71}.cr-multiplier.cr-crashed{color:#e74c3c;animation:crCrashShake .3s ease}@keyframes crCrashShake{0%,to{transform:translate(-50%,-50%)}25%{transform:translate(-48%,-52%)}50%{transform:translate(-52%,-48%)}75%{transform:translate(-50%,-52%)}}.cr-timer{text-align:center;font-size:.85rem;color:#f39c12;padding:4px 0;font-weight:700}.cr-status{text-align:center;font-size:.75rem;color:#e74c3c;padding:4px 0}.cr-controls{padding:8px 12px;flex-shrink:0}.cr-chips{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.cr-chip{padding:4px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#fff;font-size:.75rem;cursor:pointer}.cr-chip:active{background:#5865f24d;border-color:#5865f2}.cr-bet-row{display:flex;gap:6px;align-items:center}.cr-bet-input{flex:1;padding:8px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font-size:.9rem;outline:none}.cr-bet-btn{padding:8px 16px;font-size:.85rem;white-space:nowrap}.cr-cashout-btn{padding:8px 16px;font-size:.85rem;background:#2ecc71;white-space:nowrap;animation:crPulse 1s infinite}@keyframes crPulse{0%,to{box-shadow:0 0 #2ecc7166}50%{box-shadow:0 0 0 6px #2ecc7100}}.cr-players{padding:6px 12px 12px;max-height:150px;overflow-y:auto;flex-shrink:0}.cr-player{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;border-radius:6px;font-size:.75rem;margin-bottom:2px;background:#ffffff08}.cr-player-out{background:#2ecc7114}.cr-player-name{color:#ffffffb3}.cr-player-info{color:#ffffff80}.cr-player-win{color:#2ecc71;font-weight:700}.cfl-container{display:flex;flex-direction:column;height:100%;background:var(--tg-bg);overflow-y:auto}.cfl-create-section{padding:10px 14px;flex-shrink:0}.cfl-side-selector{display:flex;gap:6px;margin-bottom:8px}.cfl-side-btn{flex:1;padding:10px;border:2px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a;color:#fff9;font-size:.9rem;cursor:pointer;transition:all .2s}.cfl-side-active{border-color:#f39c12;background:#f39c1226;color:#f39c12;font-weight:700}.cfl-chips{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.cfl-chip{padding:4px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#fff;font-size:.75rem;cursor:pointer}.cfl-chip:active{background:#5865f24d}.cfl-create-row{display:flex;gap:6px;align-items:center}.cfl-bet-input{flex:1;padding:8px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font-size:.9rem;outline:none}.cfl-create-btn,.cfl-cancel-btn{padding:8px 14px;font-size:.8rem;white-space:nowrap}.cfl-status{text-align:center;font-size:.75rem;color:#e74c3c;padding:4px}.cfl-separator{text-align:center;color:#ffffff4d;font-size:.7rem;padding:6px 14px;position:relative}.cfl-separator:before,.cfl-separator:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:#ffffff1a}.cfl-separator:before{left:5%}.cfl-separator:after{right:5%}.cfl-flips-list{padding:0 14px;flex:1;overflow-y:auto}.cfl-flip-card{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin-bottom:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px}.cfl-flip-name{font-size:.85rem;font-weight:700}.cfl-flip-details{font-size:.7rem;color:#ffffff80;margin-top:2px}.cfl-join-btn{padding:6px 14px;font-size:.8rem}.cfl-empty{text-align:center;padding:20px;color:#ffffff4d;font-size:.8rem}.cfl-result-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.cfl-result-card{background:var(--tg-secondary-bg);border-radius:16px;padding:24px;text-align:center;min-width:260px;animation:cflSlideIn .3s ease}@keyframes cflSlideIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.cfl-coin-scene{perspective:500px;width:110px;height:110px;margin:16px auto}.cfl-coin-3d{width:100%;height:100%;position:relative;transform-style:preserve-3d}.cfl-coin-face{position:absolute;width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.8rem;font-family:Russo One,sans-serif;backface-visibility:hidden;border:4px solid rgba(255,255,255,.25);box-shadow:0 4px 20px #0006,inset 0 0 20px #ffffff1a}.cfl-face-heads{background:linear-gradient(145deg,gold,#b8860b);color:#5c3a00}.cfl-face-tails{background:linear-gradient(145deg,silver,#666);color:#222;transform:rotateY(180deg)}@keyframes coinSpinHeads{0%{transform:rotateY(0) scale(.7)}10%{transform:rotateY(360deg) scale(1.15)}to{transform:rotateY(1800deg) scale(1)}}@keyframes coinSpinTails{0%{transform:rotateY(0) scale(.7)}10%{transform:rotateY(360deg) scale(1.15)}to{transform:rotateY(1980deg) scale(1)}}.cfl-spin-to-heads{animation:coinSpinHeads 2.6s cubic-bezier(.11,.75,.25,1) forwards}.cfl-spin-to-tails{animation:coinSpinTails 2.6s cubic-bezier(.11,.75,.25,1) forwards}.cfl-suspense-text{text-align:center;font-size:1.1rem;color:#ffffff8c;margin-top:14px;transition:all .35s ease}.cfl-suspense-reveal{font-size:1.8rem;color:gold;font-family:Russo One,sans-serif;text-shadow:0 0 12px rgba(255,215,0,.5)}.cfl-result-outcome{font-size:1rem;font-weight:700;margin-top:6px;text-align:center}.cfl-outcome-appear{animation:cflOutcomeIn .4s ease-out forwards}@keyframes cflOutcomeIn{0%{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.cfl-win{color:#2ecc71}.cfl-loss{color:#e74c3c}.dd-container{display:flex;flex-direction:column;height:100%;background:var(--tg-bg);overflow-y:auto}.dd-create-section{padding:10px 14px;flex-shrink:0}.dd-mode-selector{display:flex;gap:6px;margin-bottom:8px}.dd-mode-btn{flex:1;padding:10px;border:2px solid rgba(255,255,255,.12);border-radius:10px;background:#ffffff0a;color:#fff9;font-size:.9rem;cursor:pointer;transition:all .2s}.dd-mode-active{border-color:#9b59b6;background:#9b59b626;color:#9b59b6;font-weight:700}.dd-chips{display:flex;gap:4px;margin-bottom:6px;flex-wrap:wrap}.dd-chip{padding:4px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0d;color:#fff;font-size:.75rem;cursor:pointer}.dd-chip:active{background:#5865f24d}.dd-create-row{display:flex;gap:6px;align-items:center}.dd-bet-input{flex:1;padding:8px 10px;border:1px solid rgba(255,255,255,.15);border-radius:8px;background:#ffffff0f;color:#fff;font-size:.9rem;outline:none}.dd-create-btn,.dd-cancel-btn{padding:8px 14px;font-size:.8rem;white-space:nowrap}.dd-status{text-align:center;font-size:.75rem;color:#e74c3c;padding:4px}.dd-separator{text-align:center;color:#ffffff4d;font-size:.7rem;padding:6px 14px;position:relative}.dd-separator:before,.dd-separator:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:#ffffff1a}.dd-separator:before{left:5%}.dd-separator:after{right:5%}.dd-duels-list{padding:0 14px;flex:1;overflow-y:auto}.dd-duel-card{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin-bottom:6px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:10px}.dd-duel-name{font-size:.85rem;font-weight:700}.dd-duel-details{font-size:.7rem;color:#ffffff80;margin-top:2px}.dd-join-btn{padding:6px 14px;font-size:.8rem}.dd-empty{text-align:center;padding:20px;color:#ffffff4d;font-size:.8rem}.dd-result-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200}.dd-result-card{background:var(--tg-secondary-bg);border-radius:16px;padding:24px;text-align:center;min-width:280px;animation:ddSlideIn .3s ease}@keyframes ddSlideIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.dd-result-dice-row{display:flex;justify-content:center;align-items:center;gap:16px;margin-bottom:12px}.dd-result-player{text-align:center}.dd-result-name{font-size:.8rem;color:#fff9;margin-bottom:4px}.dd-roll-scene{display:flex;align-items:center;justify-content:center;gap:16px;padding:16px 0}.dd-roll-player{text-align:center}.dd-roll-name{font-size:.85rem;color:#fff9;margin-bottom:8px}.dd-roll-dice{font-size:3rem;min-height:56px;display:flex;align-items:center;justify-content:center;gap:6px}.dd-roll-vs{font-family:Russo One,sans-serif;font-size:.9rem;color:#ffffff59}@keyframes diceShake{0%,to{transform:rotate(0)}20%{transform:rotate(-14deg) scale(1.08)}40%{transform:rotate(10deg)}60%{transform:rotate(-8deg) scale(1.04)}80%{transform:rotate(12deg)}}.dd-dice-shaking{animation:diceShake .18s ease-in-out infinite}.dd-dice-landed{animation:diceBounce .35s ease-out forwards}@keyframes diceBounce{0%{transform:scale(1.25) rotate(8deg)}50%{transform:scale(.92) rotate(-3deg)}to{transform:scale(1) rotate(0)}}.dd-suspense-text{text-align:center;font-size:1rem;color:#ffffff8c;margin-top:10px;font-family:Russo One,sans-serif}.dd-result-dice{font-size:2.5rem;line-height:1}.dd-result-total{font-family:Russo One,sans-serif;font-size:1.2rem;margin-top:4px}.dd-result-vs{font-family:Russo One,sans-serif;font-size:.8rem;color:#ffffff4d}.dd-result-outcome{font-size:1rem;font-weight:700;margin-top:8px;text-align:center}.dd-outcome-appear{animation:ddOutcomeIn .4s ease-out forwards}@keyframes ddOutcomeIn{0%{opacity:0;transform:translateY(16px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.dd-win{color:#2ecc71}.dd-loss{color:#e74c3c}.dd-tie{color:#f39c12}#bp-lobby-menu,#bp-lobby-room{width:100%;max-width:360px;display:flex;flex-direction:column;gap:12px}#bp-game-canvas{background:#0a0a1a;display:block}.bp-touch-controls{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:100}.bp-joystick-area{position:absolute;top:0;left:0;width:65%;height:100%;pointer-events:auto;touch-action:none}.bp-joystick-ring{position:fixed;width:120px;height:120px;border-radius:50%;border:2px solid rgba(100,100,200,.4);background:#14143259;pointer-events:none;z-index:101}.bp-joystick-knob{position:fixed;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#7878cc,#4a4a8a);box-shadow:0 2px 8px #00000080,inset 0 1px 2px #ffffff26;pointer-events:none;z-index:102}.bp-dash-btn{position:absolute;right:20px;bottom:14%;pointer-events:auto;touch-action:none;width:80px;height:80px;border-radius:50%;border:2px solid rgba(255,215,0,.5);background:radial-gradient(circle at 40% 40%,gold,#c80);color:#1a1a2e;font-size:.85rem;font-weight:900;letter-spacing:1px;cursor:pointer;box-shadow:0 4px 16px #ffd7004d;transition:transform .08s;z-index:103}.bp-dash-btn:active{transform:scale(.9);box-shadow:0 2px 8px #ffd70080}
