:root{--bg-primary: #0a0a1a;--bg-secondary: #12122a;--bg-card: rgba(255, 255, 255, .05);--bg-card-hover: rgba(255, 255, 255, .08);--glass-bg: rgba(255, 255, 255, .07);--glass-border: rgba(255, 255, 255, .12);--purple: #8b5cf6;--purple-light: #a78bfa;--purple-dark: #7c3aed;--purple-glow: rgba(139, 92, 246, .3);--cyan: #06b6d4;--cyan-glow: rgba(6, 182, 212, .3);--gold: #f59e0b;--gold-glow: rgba(245, 158, 11, .3);--green: #10b981;--green-light: #34d399;--green-glow: rgba(16, 185, 129, .3);--red: #ef4444;--red-light: #f87171;--red-glow: rgba(239, 68, 68, .3);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--shadow-glow-purple: 0 0 20px var(--purple-glow), 0 0 40px rgba(139, 92, 246, .15);--shadow-glow-cyan: 0 0 20px var(--cyan-glow);--shadow-glow-gold: 0 0 20px var(--gold-glow)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;font-size:16px}body:before{content:"";position:fixed;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 20%,rgba(139,92,246,.06) 0%,transparent 50%),radial-gradient(circle at 70% 80%,rgba(6,182,212,.04) 0%,transparent 50%);pointer-events:none;z-index:0}#app{max-width:480px;margin:0 auto;min-height:100dvh;position:relative;z-index:1}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--glass-border);border-radius:var(--radius-full)}::selection{background:var(--purple);color:#fff}input,button,textarea,select{font-family:inherit;font-size:inherit;outline:none;border:none;background:none;color:inherit}a{color:var(--purple-light);text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-purple{color:var(--purple)}.text-cyan{color:var(--cyan)}.text-gold{color:var(--gold)}.text-green{color:var(--green)}.text-red{color:var(--red)}.text-gradient{background:linear-gradient(135deg,#c4b5fd,#f1f5f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.justify-around{justify-content:space-around}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.m-auto{margin:auto}.mx-auto{margin-left:auto;margin-right:auto}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100dvh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.hidden{display:none!important}.opacity-0{opacity:0}.opacity-50{opacity:.5}.cursor-pointer{cursor:pointer}.pointer-events-none{pointer-events:none}.page{padding:var(--space-md);padding-bottom:100px;min-height:100dvh}.page-with-header{padding-top:72px}.page-with-bottom-nav{padding-bottom:120px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:12px 24px;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:1px solid transparent;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;white-space:nowrap;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%);opacity:0;transition:opacity .2s}.btn:hover:after{opacity:1}.btn:active{transform:scale(.96);transition-duration:.1s}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn-primary{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;box-shadow:0 4px 16px var(--purple-glow),inset 0 1px #ffffff26}.btn-primary:hover{box-shadow:0 6px 24px var(--purple-glow),0 0 40px #8b5cf633,inset 0 1px #ffffff26;transform:translateY(-1px)}.btn-primary:active{transform:scale(.96) translateY(0)}.btn-secondary{background:var(--glass-bg);color:var(--text-primary);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:#fff3;transform:translateY(-1px)}.btn-yes{background:linear-gradient(135deg,var(--green) 0%,#059669 100%);color:#fff;box-shadow:0 4px 16px var(--green-glow),inset 0 1px #ffffff26}.btn-yes:hover{box-shadow:0 6px 24px var(--green-glow),0 0 40px #10b98133;transform:translateY(-1px)}.btn-no{background:linear-gradient(135deg,var(--red) 0%,#dc2626 100%);color:#fff;box-shadow:0 4px 16px var(--red-glow),inset 0 1px #ffffff26}.btn-no:hover{box-shadow:0 6px 24px var(--red-glow),0 0 40px #ef444433;transform:translateY(-1px)}.btn-danger{background:#ef444426;color:var(--red-light);border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background:#ef444440;border-color:#ef444480}.btn-sm{padding:8px 16px;font-size:.8125rem;border-radius:var(--radius-sm)}.btn-lg{padding:16px 32px;font-size:1.0625rem;border-radius:var(--radius-lg)}.btn-block{width:100%}.btn-icon{width:40px;height:40px;padding:0;border-radius:var(--radius-full)}.card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:var(--space-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{background:var(--bg-card-hover)}.card-clickable{cursor:pointer}.card-clickable:hover{transform:translateY(-2px) scale(1.01);box-shadow:var(--shadow-md)}.card-clickable:active{transform:scale(.98);transition-duration:.1s}.card-glow{position:relative}.card-glow:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:linear-gradient(135deg,var(--purple-glow),var(--cyan-glow));z-index:-1;opacity:0;transition:opacity .3s}.card-glow:hover:before{opacity:1}.input{width:100%;padding:14px 16px;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:all .2s ease}.input::placeholder{color:var(--text-muted)}.input:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-glow),0 0 20px #8b5cf61a;background:#ffffff0f}.input:hover:not(:focus){border-color:#fff3}.input-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-sm)}.textarea{width:100%;padding:14px 16px;background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;resize:vertical;min-height:100px;line-height:1.6;transition:all .2s ease}.textarea::placeholder{color:var(--text-muted)}.textarea:focus{border-color:var(--purple);box-shadow:0 0 0 3px var(--purple-glow),0 0 20px #8b5cf61a;background:#ffffff0f}.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;letter-spacing:.02em;white-space:nowrap}.badge-open{background:#10b98126;color:var(--green-light);border:1px solid rgba(16,185,129,.3)}.badge-closed{background:#f59e0b26;color:var(--gold);border:1px solid rgba(245,158,11,.3)}.badge-resolved{background:#8b5cf626;color:var(--purple-light);border:1px solid rgba(139,92,246,.3)}.badge-admin{background:#f59e0b26;color:var(--gold);border:1px solid rgba(245,158,11,.3)}.badge-bet{background:#06b6d426;color:var(--cyan);border:1px solid rgba(6,182,212,.3)}.avatar{width:40px;height:40px;border-radius:var(--radius-full);background:var(--glass-bg);border:2px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:1rem}.avatar-lg{width:56px;height:56px;font-size:1.75rem}.avatar-xl{width:72px;height:72px;font-size:2.25rem;border-width:3px}.header{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:50;padding:var(--space-md);background:#0a0a1ad9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);display:flex;align-items:center;gap:var(--space-md);min-height:56px}.header-title{font-size:1.125rem;font-weight:700;flex:1;min-width:0}.header-back{width:36px;height:36px;border-radius:var(--radius-full);background:var(--glass-bg);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0;font-size:1.1rem}.header-back:hover{background:var(--bg-card-hover)}.header-back:active{transform:scale(.92)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;z-index:50;padding:var(--space-sm) var(--space-md);padding-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,8px));background:#0a0a1ae6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);display:flex;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.75rem;color:var(--text-muted);-webkit-tap-highlight-color:transparent}.bottom-nav-item:hover{color:var(--text-secondary)}.bottom-nav-item.active{color:var(--purple-light);background:#8b5cf61a}.bottom-nav-item .nav-icon{font-size:1.25rem}.nav-icon-inline{width:16px;height:16px;display:inline-block;vertical-align:middle}.fab{position:fixed;bottom:80px;right:calc(50% - 220px);width:56px;height:56px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);color:#fff;font-size:2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:40;border:none;-webkit-tap-highlight-color:transparent}.fab:hover{transform:scale(1.1) translateY(-2px);box-shadow:0 6px 30px var(--purple-glow),0 0 60px #8b5cf64d}.fab:active{transform:scale(.95);transition-duration:.1s}@media(max-width:520px){.fab{right:var(--space-lg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:100;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);animation:fadeIn .2s ease-out}.modal{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:400px;animation:scaleIn .3s ease-out;box-shadow:var(--shadow-lg)}.modal-title{font-size:1.25rem;font-weight:700;margin-bottom:var(--space-md);text-align:center}.modal-body{color:var(--text-secondary);margin-bottom:var(--space-lg);text-align:center;line-height:1.6}.modal-actions{display:flex;gap:var(--space-md)}.modal-actions .btn{flex:1}.slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:6px;border-radius:var(--radius-full);background:#ffffff1a;outline:none;transition:background .2s}.slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);cursor:pointer;box-shadow:0 2px 8px var(--purple-glow);transition:all .2s;border:2px solid rgba(255,255,255,.2)}.slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 2px 16px var(--purple-glow)}.slider::-webkit-slider-thumb:active{transform:scale(1.05)}.slider::-moz-range-thumb{width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--purple) 0%,var(--purple-dark) 100%);cursor:pointer;box-shadow:0 2px 8px var(--purple-glow);border:2px solid rgba(255,255,255,.2)}.odds-bar{width:100%;height:10px;border-radius:var(--radius-full);overflow:hidden;display:flex;background:#ffffff0f}.odds-bar-yes{height:100%;background:linear-gradient(90deg,var(--green),var(--green-light));transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-full) 0 0 var(--radius-full);min-width:4px}.odds-bar-no{height:100%;background:linear-gradient(90deg,var(--red-light),var(--red));transition:width .6s cubic-bezier(.4,0,.2,1);border-radius:0 var(--radius-full) var(--radius-full) 0;min-width:4px}.odds-bar-lg{height:16px;border-radius:var(--radius-sm)}.odds-bar-lg .odds-bar-yes{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.odds-bar-lg .odds-bar-no{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.odds-labels{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:600;margin-top:var(--space-xs)}.odds-label-yes{color:var(--green-light)}.odds-label-no{color:var(--red-light)}.toast-container{position:fixed;top:var(--space-lg);left:50%;transform:translate(-50%);z-index:200;width:100%;max-width:440px;padding:0 var(--space-md);pointer-events:none}.toast{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-sm);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-lg);animation:fadeInDown .3s ease-out;pointer-events:all;display:flex;align-items:center;gap:var(--space-sm);font-weight:500}.toast-success{border-left:3px solid var(--green)}.toast-error{border-left:3px solid var(--red)}.toast-info{border-left:3px solid var(--cyan)}.toast-exit{animation:fadeOut .3s ease-in forwards}@keyframes fadeOut{to{opacity:0;transform:translateY(-10px)}}.skeleton{background:linear-gradient(90deg,#ffffff0a 25%,#ffffff14,#ffffff0a 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}.skeleton-text{height:14px;margin-bottom:var(--space-sm);border-radius:var(--radius-sm)}.skeleton-text-lg{height:20px;width:70%}.skeleton-card{height:120px;border-radius:var(--radius-lg);margin-bottom:var(--space-md)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-md);animation:float 3s ease-in-out infinite}.empty-state-title{font-size:1.125rem;font-weight:600;margin-bottom:var(--space-sm)}.empty-state-text{color:var(--text-secondary);font-size:.9375rem;max-width:280px;line-height:1.5}.divider{height:1px;background:var(--glass-border);margin:var(--space-lg) 0}.divider-text{display:flex;align-items:center;gap:var(--space-md);color:var(--text-muted);font-size:.8125rem;font-weight:500;margin:var(--space-lg) 0}.divider-text:before,.divider-text:after{content:"";flex:1;height:1px;background:var(--glass-border)}.chip{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--glass-bg);border:2px solid var(--glass-border);font-size:1.5rem;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}.chip:hover{background:var(--bg-card-hover);border-color:#fff3;transform:scale(1.05)}.chip:active{transform:scale(.95)}.chip.selected{border-color:var(--purple);background:#8b5cf626;box-shadow:0 0 16px var(--purple-glow)}.share-box{background:#8b5cf614;border:1px dashed rgba(139,92,246,.3);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.share-box-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:var(--space-md)}.share-box-url{display:flex;align-items:center;gap:var(--space-sm);background:#ffffff0a;border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.share-box-url-text{flex:1;font-size:.875rem;font-weight:500;color:var(--purple-light);word-break:break-all;text-align:left}.share-box-actions{display:flex;gap:var(--space-sm);justify-content:center}.tab-bar{display:flex;background:var(--glass-bg);border-radius:var(--radius-md);padding:4px;border:1px solid var(--glass-border);gap:4px}.tab-item{flex:1;padding:10px 12px;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all .2s;text-align:center;-webkit-tap-highlight-color:transparent}.tab-item:hover{color:var(--text-secondary)}.tab-item.active{background:var(--purple);color:#fff;box-shadow:0 2px 8px var(--purple-glow)}.credits-display{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--gold)}.credits-display-lg{font-size:2rem}.player-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);transition:all .2s}.player-item:hover{background:var(--bg-card-hover)}.player-info{flex:1;min-width:0}.player-name{font-weight:600;font-size:.9375rem}.podium{display:flex;align-items:flex-end;justify-content:center;gap:var(--space-sm);padding:var(--space-xl) 0}.podium-place{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.podium-bar{width:80px;border-radius:var(--radius-md) var(--radius-md) 0 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:var(--space-md)}.podium-1st .podium-bar{height:120px;background:linear-gradient(180deg,#f59e0b4d,#f59e0b1a);border:1px solid rgba(245,158,11,.4);border-bottom:none}.podium-2nd .podium-bar{height:90px;background:linear-gradient(180deg,#94a3b833,#94a3b80d);border:1px solid rgba(148,163,184,.3);border-bottom:none}.podium-3rd .podium-bar{height:65px;background:linear-gradient(180deg,#b4530933,#b453090d);border:1px solid rgba(180,83,9,.3);border-bottom:none}.podium-medal{font-size:1.5rem}.ranking-row{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-bottom:1px solid rgba(255,255,255,.04)}.ranking-row:last-child{border-bottom:none}.ranking-position{width:28px;height:28px;border-radius:var(--radius-full);background:var(--glass-bg);display:flex;align-items:center;justify-content:center;font-size:.8125rem;font-weight:700;flex-shrink:0}.ranking-gain{font-size:.8125rem;font-weight:600}.ranking-gain.positive{color:var(--green)}.ranking-gain.negative{color:var(--red)}.spinner{width:24px;height:24px;border:3px solid var(--glass-border);border-top-color:var(--purple);border-radius:50%;animation:spin .7s linear infinite}.spinner-lg{width:40px;height:40px;border-width:4px}.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes glow{0%,to{box-shadow:0 0 20px var(--purple-glow)}50%{box-shadow:0 0 40px var(--purple-glow),0 0 60px var(--purple-glow)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes confetti-fall{0%{transform:translateY(-100vh) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes confetti-sway{0%,to{transform:translate(0)}25%{transform:translate(30px)}75%{transform:translate(-30px)}}@keyframes particle-float{0%,to{transform:translate(0) scale(1);opacity:.3}25%{transform:translate(10px,-20px) scale(1.2);opacity:.6}50%{transform:translate(-5px,-40px) scale(.8);opacity:.4}75%{transform:translate(15px,-20px) scale(1.1);opacity:.5}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-fade-in-up{animation:fadeInUp .4s ease-out}.animate-fade-in-down{animation:fadeInDown .4s ease-out}.animate-slide-in-right{animation:slideInRight .4s ease-out}.animate-slide-in-left{animation:slideInLeft .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-bounce-in{animation:bounceIn .6s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-float{animation:float 3s ease-in-out infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-spin{animation:spin .7s linear infinite}.animate-wiggle{animation:wiggle 1s ease-in-out}.animate-breathe{animation:breathe 2s ease-in-out infinite}.stagger-children>*:nth-child(1){animation-delay:.05s}.stagger-children>*:nth-child(2){animation-delay:.1s}.stagger-children>*:nth-child(3){animation-delay:.15s}.stagger-children>*:nth-child(4){animation-delay:.2s}.stagger-children>*:nth-child(5){animation-delay:.25s}.stagger-children>*:nth-child(6){animation-delay:.3s}.stagger-children>*:nth-child(7){animation-delay:.35s}.stagger-children>*:nth-child(8){animation-delay:.4s}.stagger-children>*:nth-child(9){animation-delay:.45s}.stagger-children>*:nth-child(10){animation-delay:.5s}.stagger-children>*{opacity:0;animation-fill-mode:both}.page-enter{animation:fadeInUp .35s ease-out}.number-pop{animation:bounceIn .4s ease-out;display:inline-block}
