:root{--tg-bg:#fff;--tg-text:#000;--tg-hint:#707579;--tg-link:#3390ec;--tg-button:#3390ec;--tg-button-text:#fff;--tg-secondary-bg:#f4f4f5;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--tg-viewport-height:100vh;--tg-viewport-stable-height:100vh;--tg-header-height:0px;--tg-content-height:100vh;--tg-bottom-space:72px;--radius:14px;--pad:14px}html,body{height:100%;margin:0}body{background:var(--tg-bg);color:var(--tg-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.tg-shell{height:var(--tg-viewport-stable-height);background:var(--tg-bg);overflow:hidden}button{-webkit-tap-highlight-color:transparent}button:focus,button:focus-visible{outline:none}button:active{background-color:#0000}.tg-header{z-index:10;padding:calc(12px + var(--safe-top))calc(14px + var(--safe-right))12px calc(14px + var(--safe-left));background:color-mix(in oklab,var(--tg-bg)92%,var(--tg-secondary-bg));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid color-mix(in oklab,var(--tg-hint)14%,transparent);position:sticky;top:0}.tg-title{font-size:18px;font-weight:800;line-height:1.2}.tg-subtitle{color:var(--tg-hint);font-size:12px}.tg-content{height:var(--tg-content-height);-webkit-overflow-scrolling:touch;padding:12px calc(14px + var(--safe-right))calc(14px + var(--safe-bottom) + var(--tg-bottom-space))calc(14px + var(--safe-left));box-sizing:border-box;overflow-y:auto}.tg-content :focus{scroll-margin-top:90px}.tg-card{background:var(--tg-secondary-bg);border-radius:var(--radius);padding:var(--pad)}.tg-section{gap:12px;display:grid}.tg-row{gap:10px;display:grid}.tg-kv{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.tg-divider{background:color-mix(in oklab,var(--tg-hint)18%,transparent);height:1px;margin:12px 0}.tg-muted{color:var(--tg-hint);font-size:12px}.tg-big{font-size:16px;font-weight:900}.tg-error{color:#b00020;word-break:break-word;margin-top:6px;font-size:12px}.tg-input{border:1px solid color-mix(in oklab,var(--tg-hint)30%,transparent);background:color-mix(in oklab,var(--tg-bg)92%,var(--tg-secondary-bg));width:100%;color:var(--tg-text);box-sizing:border-box;border-radius:12px;outline:none;padding:12px}.tg-pillrow{flex-wrap:wrap;gap:8px;display:flex}.tg-pill{border:1px solid color-mix(in oklab,var(--tg-hint)30%,transparent);color:var(--tg-text);cursor:pointer;background:0 0;border-radius:999px;padding:8px 12px;font-weight:800}.tg-pill.active{background:var(--tg-button);border-color:var(--tg-button);color:var(--tg-button-text)}@keyframes tg-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.tg-skeleton{background:linear-gradient(90deg,color-mix(in oklab,var(--tg-secondary-bg)85%,var(--tg-bg))0%,color-mix(in oklab,var(--tg-secondary-bg)60%,var(--tg-bg))50%,color-mix(in oklab,var(--tg-secondary-bg)85%,var(--tg-bg))100%);background-size:800px 100%;border-radius:10px;height:16px;animation:1.2s ease-in-out infinite tg-shimmer;display:inline-block}.tg-skeleton.w-120{width:120px}.tg-skeleton.w-160{width:160px}.tg-skeleton.w-220{width:220px}.tg-skeleton-card{gap:10px;display:grid}.tg-skeleton-line{background:linear-gradient(90deg,color-mix(in oklab,var(--tg-secondary-bg)85%,var(--tg-bg))0%,color-mix(in oklab,var(--tg-secondary-bg)60%,var(--tg-bg))50%,color-mix(in oklab,var(--tg-secondary-bg)85%,var(--tg-bg))100%);background-size:800px 100%;border-radius:8px;height:14px;animation:1.2s ease-in-out infinite tg-shimmer}.tg-skeleton-line.sm{width:120px}.tg-skeleton-line.md{width:180px}.tg-skeleton-line.lg{width:240px}@media (prefers-reduced-motion:reduce){.tg-skeleton,.tg-skeleton-line{animation:none}}.tg-success{gap:12px;display:grid;position:relative;overflow:hidden}.tg-success-badge{background:color-mix(in oklab,var(--tg-button)16%,transparent);color:var(--tg-text);border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:10px 12px;font-weight:900;display:inline-flex}.tg-check{background:var(--tg-button);width:18px;height:18px;color:var(--tg-button-text);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:900;display:inline-flex}.tg-success-title{font-size:20px;font-weight:900;line-height:1.2}.tg-success-sub{color:var(--tg-hint);font-size:12px}@keyframes tg-float-up{0%{opacity:0;transform:translateY(40px)scale(.9)}15%{opacity:1}to{opacity:0;transform:translateY(-220px)scale(1.05)}}.tg-token-pop-layer{pointer-events:none;position:absolute;inset:0}.tg-token{background:color-mix(in oklab,var(--tg-button)18%,var(--tg-secondary-bg));border:1px solid color-mix(in oklab,var(--tg-hint)18%,transparent);width:44px;height:44px;color:var(--tg-text);filter:drop-shadow(0 6px 10px color-mix(in oklab,var(--tg-hint)18%,transparent));border-radius:999px;place-items:center;font-size:12px;font-weight:900;animation:1.35s ease-out forwards tg-float-up;display:grid;position:absolute;bottom:18px}.tg-token-header{align-items:center;gap:12px;display:flex}.tg-token-icon{object-fit:cover;background:color-mix(in oklab,var(--tg-secondary-bg)70%,var(--tg-bg));border:1px solid color-mix(in oklab,var(--tg-hint)18%,transparent);border-radius:50%;width:36px;height:36px}.tg-token-placeholder{background:linear-gradient(135deg,color-mix(in oklab,var(--tg-secondary-bg)70%,var(--tg-bg)),color-mix(in oklab,var(--tg-secondary-bg)90%,var(--tg-bg)));border:1px solid color-mix(in oklab,var(--tg-hint)18%,transparent);border-radius:50%;width:36px;height:36px}@media (prefers-reduced-motion:reduce){.tg-token{opacity:1;animation:none}}
.status-bar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffc;transition:all .3s}.status-bar:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0003}.status-icon{background:linear-gradient(135deg,#4089ff,#65a2ff);animation:2s infinite pulse;box-shadow:0 0 15px #4089ffb3}@keyframes pulse{0%{box-shadow:0 0 #4089ffb3}70%{box-shadow:0 0 0 10px #4089ff00}to{box-shadow:0 0 #4089ff00}}.piggy-icon{filter:drop-shadow(0 0 8px #3b82f699);animation:2s infinite bounce}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.timer-digit{border:2px solid #0000;transition:all .3s;position:relative;overflow:hidden}.timer-digit:nth-child(3){border-color:#2563eb;animation:1s infinite countdown}@keyframes countdown{0%{box-shadow:0 0 #2563ebb3}70%{box-shadow:0 0 0 10px #2563eb00}to{box-shadow:0 0 #2563eb00}}.participant-card{transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 20px #0000004d}.participant-card:hover{transform:translateY(-5px);box-shadow:0 15px 30px #0006}.participant-card:after{content:"";background:linear-gradient(to bottom right,#fff0 0%,#ffffff0d 50%,#fff0 100%);width:200%;height:200%;animation:3s infinite shine;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)}@keyframes shine{0%{top:-100%;left:-100%}to{top:100%;left:100%}}.place-bet-button{transition:all .3s;position:relative;overflow:hidden;box-shadow:0 8px 16px #0003}.place-bet-button:hover{transform:translateY(-3px);box-shadow:0 12px 24px #0000004d}.place-bet-button:before{content:"";background:linear-gradient(90deg,#fff0 0%,#fff3 50%,#fff0 100%);width:100%;height:100%;transition:all .75s;position:absolute;top:0;left:-100%;transform:skew(-25deg)}.place-bet-button:hover:before{left:100%}.bet-input{border:2px solid #0000;transition:all .3s}.bet-input:focus{border-color:#4089ff;outline:none;box-shadow:0 0 0 3px #4089ff4d}.rules-container{border:1px solid #ffffff1a;animation:.5s ease-out fadeIn;box-shadow:0 15px 30px #0000004d}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.jackpot-amount .text-yellow-400{-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#f59e0b,#eab308,#f59e0b) 0 0/200%;-webkit-background-clip:text;background-clip:text;animation:2s linear infinite shine-text}@keyframes shine-text{to{background-position:200%}}.dice-animation{animation:2s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.wheel-container{perspective:1000px;width:300px;height:300px;margin:0 auto;padding-top:30px;position:relative}.wheel{width:100%;height:100%;transform-style:preserve-3d;background:conic-gradient(#f59e0b 0deg 36deg,#10b981 36deg 72deg,#3b82f6 72deg 108deg,#8b5cf6 108deg 144deg,#ec4899 144deg 180deg,#ef4444 180deg 216deg,#f59e0b 216deg 252deg,#10b981 252deg 288deg,#3b82f6 288deg 324deg,#8b5cf6 324deg 360deg);border:8px solid #121026;border-radius:50%;transition:transform 5s cubic-bezier(.2,.8,.2,1);position:relative;box-shadow:0 0 30px #0009}.wheel:before{content:"";z-index:10;background:#121026;border-radius:50%;width:50px;height:50px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 10px #00000080}.wheel-segment{transform-origin:50%;z-index:1;position:absolute}.segment-value{color:#fff;text-shadow:1px 1px 2px #000,0 0 4px #000;white-space:nowrap;background:#0000004d;border-radius:10px;padding:2px 6px;font-size:14px;font-weight:700}.wheel-pointer{z-index:20;filter:drop-shadow(0 0 5px #000c);position:absolute;top:0;left:50%;transform:translate(-50%)}.wheel-pointer:before{content:"";background:#f05;border:3px solid #fff;border-radius:50%;width:30px;height:30px;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 0 8px #00000080}.spin-wheel{animation:5s cubic-bezier(.2,.8,.2,1) spin-wheel}.winner-display{border:1px solid #ffffff1a;animation:.5s cubic-bezier(.2,.8,.2,1) pop-in;box-shadow:0 10px 30px #00000080}@keyframes pop-in{0%{opacity:0;transform:scale(.8)}80%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes spin-wheel{0%{transform:rotate(0)}to{transform:rotateZ(calc(3600deg + var(--final-rotation,0deg)))}}.result-summary{position:relative;overflow:hidden}.result-summary:after{content:"";background:linear-gradient(to bottom right,#fff0 0%,#ffffff0d 50%,#fff0 100%);width:200%;height:200%;animation:3s infinite shine;position:absolute;top:-50%;left:-50%;transform:rotate(45deg)}.user-selector-container{background:linear-gradient(90deg,#1d212c,#333b4c);border:2px solid #4089ff33;border-radius:12px;width:100%;max-width:500px;height:200px;margin:0 auto 2rem;position:relative;overflow:hidden;box-shadow:0 15px 25px #00000080}.selector-line{z-index:30;background:#f05;width:4px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 15px #f05,0 0 30px #f05}.selector-line:before{content:"";filter:drop-shadow(0 0 5px #f05);border-bottom:20px solid #f05;border-left:12px solid #0000;border-right:12px solid #0000;width:0;height:0;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.user-cards-container{height:100%;transition:transform .5s cubic-bezier(.1,.8,.2,1);display:flex;position:relative}.selection-card{box-sizing:border-box;border-right:1px solid #ffffff1a;flex-direction:column;flex:0 0 100px;justify-content:center;align-items:center;height:100%;padding:1rem;transition:all .3s;display:flex}.selection-card:nth-child(odd){background:#3b82f60d}.selection-card:nth-child(2n){background:#ec48990d}.selection-card.active{background:#ffffff1a;transform:scale(1.05);box-shadow:0 0 20px #3f434bcc}.selection-avatar{object-fit:cover;border:2px solid #0000;border-radius:50%;width:60px;height:60px;margin-bottom:.5rem;transition:all .3s}.selection-card:nth-child(odd) .selection-avatar{border-color:#3b82f64d}.selection-card:nth-child(2n) .selection-avatar{border-color:#ec48994d}.selection-card.active .selection-avatar{border-color:#e9910d;box-shadow:0 0 10px #e9910d}.selection-name{color:#fff;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;font-size:12px;font-weight:700;overflow:hidden}.selection-amount{color:#a78bfa;margin-top:.25rem;font-size:10px}.selection-chance{color:#f59e0b;background:#0003;border-radius:10px;margin-top:.125rem;padding:2px 6px;font-size:10px}.lightning-effect{pointer-events:none;opacity:0;z-index:20;background:#ffffff1a;position:absolute;inset:0}.lightning-flash{animation:2s forwards lightning}@keyframes lightning{0%,to{opacity:0}5%,15%,25%,35%,45%{opacity:1}10%,20%,30%,40%,50%{opacity:0}}.winner-pulse{animation:2s infinite winner-pulse}@keyframes winner-pulse{0%,to{transform:scale(1);box-shadow:0 0 10px #ff00554d}50%{transform:scale(1.05);box-shadow:0 0 20px #f059}}
