.gfx-layer{will-change:transform,opacity;transform:translateZ(0);backface-visibility:hidden}@keyframes gfx-brilliant-pulse{0%{transform:scale(.3);opacity:0}30%{transform:scale(1.1);opacity:1}60%{transform:scale(.95);opacity:.9}to{transform:scale(1.5);opacity:0}}@keyframes gfx-brilliant-sparkle{0%{transform:rotate(0) scale(0);opacity:0}20%{transform:rotate(72deg) scale(1);opacity:1}80%{transform:rotate(288deg) scale(1);opacity:1}to{transform:rotate(360deg) scale(0);opacity:0}}.gfx-brilliant-overlay{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:100}.gfx-brilliant-diamond{position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;background:radial-gradient(circle,#00d4ff 0%,#0099cc 40%,transparent 70%);border-radius:50%;animation:gfx-brilliant-pulse 1.2s ease-out forwards;box-shadow:0 0 20px #00d4ffcc,0 0 40px #00d4ff66}.gfx-brilliant-sparkle{position:absolute;top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;background:#fff;border-radius:50%;animation:gfx-brilliant-sparkle 1s ease-out forwards;box-shadow:0 0 6px #00d4ff}@keyframes gfx-puzzle-success{0%{box-shadow:inset 0 0 #22c55e00}30%{box-shadow:inset 0 0 0 4px #22c55e99}to{box-shadow:inset 0 0 #22c55e00}}@keyframes gfx-puzzle-fail{0%{transform:translate(0)}10%{transform:translate(-4px)}20%{transform:translate(4px)}30%{transform:translate(-4px)}40%{transform:translate(4px)}50%{transform:translate(-2px)}60%{transform:translate(2px)}70%{transform:translate(0)}to{transform:translate(0)}}.gfx-puzzle-success{animation:gfx-puzzle-success 1s ease-out forwards}.gfx-puzzle-fail{animation:gfx-puzzle-fail .6s ease-out forwards;box-shadow:inset 0 0 0 3px #ef444480}@keyframes gfx-rating-bounce{0%{transform:scale(1)}30%{transform:scale(1.2)}50%{transform:scale(.95)}70%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes gfx-rating-up{0%{color:inherit}30%{color:#22c55e}to{color:inherit}}@keyframes gfx-rating-down{0%{color:inherit}30%{color:#ef4444}to{color:inherit}}.gfx-rating-bounce{animation:gfx-rating-bounce .6s ease-out}.gfx-rating-up{animation:gfx-rating-up 1.5s ease-out}.gfx-rating-down{animation:gfx-rating-down 1.5s ease-out}.gfx-rating-change{display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:.875rem;padding:2px 8px;border-radius:6px;transition:all .3s ease}.gfx-rating-change.positive{color:#22c55e;background:#22c55e1a}.gfx-rating-change.negative{color:#ef4444;background:#ef44441a}.gfx-rating-change.neutral{color:#94a3b8;background:#94a3b81a}@keyframes gfx-peak-burst{0%{transform:scale(0);opacity:0}40%{transform:scale(1.3);opacity:1}to{transform:scale(1);opacity:1}}@keyframes gfx-peak-glow{0%,to{box-shadow:0 0 10px #fbbf244d}50%{box-shadow:0 0 30px #fbbf24cc,0 0 60px #fbbf244d}}.gfx-peak-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#1e293b;font-weight:700;font-size:.75rem;border-radius:20px;animation:gfx-peak-burst .8s ease-out,gfx-peak-glow 2s ease-in-out infinite}@keyframes gfx-streak-fire{0%,to{transform:scaleY(1) translateY(0)}50%{transform:scaleY(1.1) translateY(-2px)}}@keyframes gfx-streak-ice{0%,to{opacity:.7}50%{opacity:1}}@keyframes gfx-streak-slide-in{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.gfx-streak-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-weight:700;font-size:.8rem;animation:gfx-streak-slide-in .4s ease-out}.gfx-streak-badge.fire{background:linear-gradient(135deg,#f97316,#ef4444);color:#fff;box-shadow:0 0 15px #f9731680}.gfx-streak-badge.fire .gfx-streak-icon{animation:gfx-streak-fire .5s ease-in-out infinite}.gfx-streak-badge.ice{background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;box-shadow:0 0 15px #3b82f680}.gfx-streak-badge.ice .gfx-streak-icon{animation:gfx-streak-ice 1s ease-in-out infinite}.gfx-streak-count{font-size:1rem;font-weight:800}@keyframes gfx-game-reveal{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.gfx-game-reveal{animation:gfx-game-reveal .5s ease-out}@keyframes gfx-toast-slide-in{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes gfx-toast-slide-out{0%{transform:translate(0);opacity:1}to{transform:translate(120%);opacity:0}}@keyframes gfx-toast-shine{0%{left:-100%}to{left:100%}}.gfx-achievement-toast{position:fixed;top:80px;right:20px;z-index:10000;width:340px;padding:16px;border-radius:14px;animation:gfx-toast-slide-in .5s ease-out;pointer-events:auto;overflow:hidden;cursor:pointer;transition:transform .2s ease}.gfx-achievement-toast:hover{transform:scale(1.02)}.gfx-achievement-toast:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:gfx-toast-shine 2s ease-in-out .5s}.gfx-achievement-toast.closing{animation:gfx-toast-slide-out .4s ease-in forwards}.gfx-achievement-toast.common{background:linear-gradient(135deg,#1e293bf2,#334155f2);border:1px solid rgba(148,163,184,.3);box-shadow:0 10px 30px #0006}.gfx-achievement-toast.rare{background:linear-gradient(135deg,#1e3a8af2,#2563ebe6);border:1px solid rgba(96,165,250,.4);box-shadow:0 10px 30px #2563eb4d}.gfx-achievement-toast.epic{background:linear-gradient(135deg,#581c87f2,#9333eae6);border:1px solid rgba(192,132,252,.4);box-shadow:0 10px 30px #9333ea4d}.gfx-achievement-toast.legendary{background:linear-gradient(135deg,#78350ff2,#f59e0be6);border:1px solid rgba(251,191,36,.5);box-shadow:0 10px 30px #f59e0b66,0 0 60px #f59e0b26}.gfx-toast-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.gfx-toast-icon{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:12px;font-size:22px;background:#ffffff1a;flex-shrink:0}.gfx-toast-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#ffffff80}.gfx-toast-title{font-size:15px;font-weight:700;color:#fff;margin-top:2px}.gfx-toast-desc{font-size:12px;color:#fff9;line-height:1.4;padding-left:54px}.gfx-toast-rewards{display:flex;gap:12px;margin-top:10px;padding-left:54px;font-size:12px;color:#ffffffb3}.gfx-toast-reward{display:flex;align-items:center;gap:4px}.gfx-level-badge{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;padding:0 8px;border-radius:14px;font-size:12px;font-weight:800;color:#fff}.gfx-level-badge.level-bronze{background:linear-gradient(135deg,#92400e,#b45309);border:1px solid #d97706}.gfx-level-badge.level-silver{background:linear-gradient(135deg,#6b7280,#9ca3af);border:1px solid #d1d5db}.gfx-level-badge.level-gold{background:linear-gradient(135deg,#b45309,#f59e0b);border:1px solid #fbbf24}.gfx-level-badge.level-platinum{background:linear-gradient(135deg,#0ea5e9,#38bdf8);border:1px solid #7dd3fc}.gfx-level-badge.level-diamond{background:linear-gradient(135deg,#8b5cf6,#a78bfa);border:1px solid #c4b5fd}.gfx-level-badge.level-master{background:linear-gradient(135deg,#ef4444,#f97316);border:1px solid #fb923c;box-shadow:0 0 10px #ef444466}.gfx-xp-bar{width:100%;height:6px;background:var(--color-input-bg, rgba(255, 255, 255, .1));border-radius:3px;overflow:hidden}.gfx-xp-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#8b5cf6,#a855f7);transition:width .5s ease}.gfx-result-strip{display:flex;gap:3px}.gfx-result-dot{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;transition:transform .15s ease}.gfx-result-dot:hover{transform:scale(1.2)}.gfx-result-dot.win{background:#22c55e33;color:#22c55e;border:1px solid rgba(34,197,94,.3)}.gfx-result-dot.loss{background:#ef444433;color:#ef4444;border:1px solid rgba(239,68,68,.3)}.gfx-result-dot.draw{background:#94a3b833;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.gfx-achievement-badge{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--color-input-bg, rgba(255, 255, 255, .03));border:1px solid var(--color-border, rgba(255, 255, 255, .06));transition:all .2s ease}.gfx-achievement-badge:hover{background:var(--nav-link-hover-bg, rgba(255, 255, 255, .06));border-color:var(--color-input-border, rgba(255, 255, 255, .1))}.gfx-achievement-badge .badge-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:10px;font-size:18px;flex-shrink:0}.gfx-achievement-badge.rarity-common .badge-icon{background:#94a3b826}.gfx-achievement-badge.rarity-rare .badge-icon{background:#3b82f626}.gfx-achievement-badge.rarity-epic .badge-icon{background:#9333ea26}.gfx-achievement-badge.rarity-legendary .badge-icon{background:#f59e0b26;box-shadow:0 0 10px #f59e0b33}.gfx-achievement-badge .badge-info{flex:1;min-width:0}.gfx-achievement-badge .badge-name{font-size:13px;font-weight:600;color:var(--color-text-primary, rgba(255, 255, 255, .9))}.gfx-achievement-badge .badge-desc{font-size:11px;color:var(--color-text-muted, rgba(255, 255, 255, .4));margin-top:2px}.gfx-play-style-tag{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;background:var(--color-input-bg, rgba(255, 255, 255, .06));border:1px solid var(--color-input-border, rgba(255, 255, 255, .1));color:var(--color-text-secondary, rgba(255, 255, 255, .7))}.gfx-coin-display{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;background:linear-gradient(135deg,#fbbf2426,#f59e0b1a);border:1px solid rgba(251,191,36,.2);border-radius:20px;font-size:13px;font-weight:700;color:#fbbf24}.gfx-coin-icon{font-size:14px}#header-coin-count.coin-updated{animation:coin-pulse .6s ease-out}@keyframes coin-pulse{0%{transform:scale(1);color:inherit}30%{transform:scale(1.3);color:#22c55e}to{transform:scale(1);color:inherit}}.gfx-shop-tabs{display:flex;gap:4px;padding:4px;background:var(--color-input-bg, rgba(255, 255, 255, .03));border-radius:12px;border:1px solid var(--color-border, rgba(255, 255, 255, .06))}.gfx-shop-tab{padding:8px 16px;border-radius:8px;font-size:13px;font-weight:500;color:var(--color-text-muted, rgba(255, 255, 255, .5));cursor:pointer;transition:all .2s ease;border:none;background:none}.gfx-shop-tab:hover{color:var(--color-text-secondary, rgba(255, 255, 255, .8));background:var(--nav-link-hover-bg, rgba(255, 255, 255, .05))}.gfx-shop-tab.active{color:#fff;background:linear-gradient(135deg,#9333ea4d,#db277733)}.gfx-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gfx-shop-card{background:var(--color-input-bg, rgba(255, 255, 255, .03));border:1px solid var(--color-border, rgba(255, 255, 255, .06));border-radius:12px;overflow:hidden;transition:all .2s ease}.gfx-shop-card:hover{border-color:var(--color-input-border, rgba(255, 255, 255, .12));transform:translateY(-2px);box-shadow:0 8px 24px var(--card-shadow, rgba(0, 0, 0, .3))}.gfx-shop-card.rarity-common{border-color:#94a3b833}.gfx-shop-card.rarity-rare{border-color:#3b82f64d}.gfx-shop-card.rarity-epic{border-color:#9333ea4d}.gfx-shop-card.rarity-legendary{border-color:#f59e0b4d;box-shadow:0 0 15px #f59e0b1a}.gfx-shop-card-preview{width:100%;aspect-ratio:16/10;background:#0003;display:flex;align-items:center;justify-content:center;font-size:32px}.gfx-shop-card-body{padding:12px}.gfx-shop-card-name{font-size:14px;font-weight:600;color:var(--color-text-primary, rgba(255, 255, 255, .9))}.gfx-shop-card-price{display:flex;align-items:center;gap:4px;margin-top:8px;font-size:14px;font-weight:700;color:#92400e}html.dark .gfx-shop-card-price{color:#fbbf24}.gfx-shop-card-actions{padding:0 12px 12px}.gfx-shop-buy-btn{width:100%;padding:8px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.gfx-shop-buy-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d)}.gfx-shop-buy-btn.owned{background:var(--color-input-bg, rgba(255, 255, 255, .05));color:var(--color-text-muted, rgba(255, 255, 255, .4));cursor:default}.gfx-shop-buy-btn.equipped{background:linear-gradient(135deg,#9333ea4d,#db277733);color:#c084fc}@keyframes gfx-coin-pop{0%{transform:scale(0) translateY(0);opacity:0}50%{transform:scale(1.2) translateY(-10px);opacity:1}to{transform:scale(1) translateY(-20px);opacity:0}}.gfx-coin-popup{position:absolute;font-size:14px;font-weight:700;color:#fbbf24;pointer-events:none;animation:gfx-coin-pop 1s ease-out forwards}.gfx-theme-preview{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);border-radius:8px;overflow:hidden}.gfx-theme-preview .square-light,.gfx-theme-preview .square-dark{transition:background .3s ease}.gfx-frame-wrapper{position:relative;display:inline-block;border-radius:50%}.gfx-frame-wrapper img{display:block;border-radius:50%}.gfx-frame-gold_frame{padding:4px;background:linear-gradient(135deg,#fbbf24,#f59e0b,#d97706,#fbbf24);box-shadow:0 0 12px #fbbf2466}@keyframes gfx-diamond-sparkle{0%,to{box-shadow:0 0 12px #93c5fd66,0 0 24px #93c5fd1a}50%{box-shadow:0 0 18px #93c5fdb3,0 0 36px #93c5fd33}}.gfx-frame-diamond_frame{padding:4px;background:linear-gradient(135deg,#bfdbfe,#93c5fd,#60a5fa,#e0f2fe);animation:gfx-diamond-sparkle 2s ease-in-out infinite}@keyframes gfx-fire-pulse{0%,to{box-shadow:0 0 12px #f9731666,0 0 24px #ef44441a}50%{box-shadow:0 0 20px #f97316b3,0 0 40px #ef44444d}}.gfx-frame-fire_frame{padding:4px;background:linear-gradient(135deg,#f97316,#ef4444,#dc2626,#f97316);animation:gfx-fire-pulse 1.5s ease-in-out infinite}@keyframes gfx-crown-glow{0%,to{box-shadow:0 0 14px #a855f766,0 0 28px #fbbf241a}50%{box-shadow:0 0 22px #a855f7b3,0 0 44px #fbbf244d}}.gfx-frame-crown_frame{padding:4px;background:linear-gradient(135deg,#a855f7,#fbbf24,#9333ea,#f59e0b);animation:gfx-crown-glow 2.5s ease-in-out infinite}.gfx-frame-preview{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.gfx-frame-preview .gfx-frame-wrapper{width:64px;height:64px}.gfx-frame-preview .gfx-frame-wrapper img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.gfx-banner-preview{width:100%;height:100%;display:flex;align-items:center;justify-content:center;border-radius:8px 8px 0 0}.gfx-banner-preview-label{font-size:11px;font-weight:600;color:#ffffffb3;text-shadow:0 1px 3px rgba(0,0,0,.5)}.gfx-soundpack-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:100%;height:100%}.gfx-soundpack-preview .gfx-sound-icon{font-size:32px}.gfx-soundpack-preview .gfx-sound-listen{padding:4px 12px;font-size:11px;font-weight:600;color:var(--color-text-secondary, rgba(255, 255, 255, .7));background:var(--color-bg-tertiary, rgba(255, 255, 255, .1));border:1px solid var(--color-border, rgba(255, 255, 255, .15));border-radius:12px;cursor:pointer;transition:all .2s ease}.gfx-soundpack-preview .gfx-sound-listen:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .2));color:var(--color-text-primary, #fff)}.profile-header-card.has-banner{position:relative;overflow:hidden}.profile-header-card.has-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:120px;opacity:.6;z-index:0}.profile-header-card.has-banner>*{position:relative;z-index:1}.rewards-strip{display:flex;gap:10px;pointer-events:none}.reward-badge{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;font-weight:700;font-size:14px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 16px #0000004d;animation:reward-badge-pop .5s cubic-bezier(.34,1.56,.64,1) forwards}.reward-xp{background:linear-gradient(135deg,#8b5cf6d9,#6d28d9d9);color:#fff;border:1px solid rgba(167,139,250,.4)}.reward-coin-positive{background:linear-gradient(135deg,#22c55ed9,#16a34ad9);color:#fff;border:1px solid rgba(74,222,128,.4)}.reward-coin-negative{background:linear-gradient(135deg,#ef4444d9,#b91c1cd9);color:#fff;border:1px solid rgba(252,165,165,.4)}.reward-balance{background:linear-gradient(135deg,#64748bd9,#475569d9);color:#e2e8f0;border:1px solid rgba(148,163,184,.3);font-size:12px}.reward-icon{font-size:16px}.reward-value{font-variant-numeric:tabular-nums;letter-spacing:.02em}@keyframes reward-badge-pop{0%{opacity:0;transform:translateY(-12px) scale(.7)}60%{opacity:1;transform:translateY(2px) scale(1.05)}to{opacity:1;transform:translateY(0) scale(1)}}
