:root {
--primary: #0a0a0a;
--secondary: #1a1a2e;
--tertiary: #16213e;
--accent: #4caf50;
--accent-light: #81c784;
--accent-dark: #388e3c;
--success: #4caf50;
--warning: #ff9800;
--danger: #f44336;
--info: #2196f3;
--text-primary: #ffffff;
--text-secondary: rgba(255, 255, 255, 0.8);
--text-muted: rgba(255, 255, 255, 0.6);
--bg-primary: rgba(10, 10, 10, 0.95);
--bg-secondary: rgba(26, 26, 46, 0.9);
--bg-tertiary: rgba(22, 33, 62, 0.85);
--bg-glass: rgba(255, 255, 255, 0.1);
--bg-glass-light: rgba(255, 255, 255, 0.05);
--border-primary: rgba(76, 175, 80, 0.4);
--border-secondary: rgba(255, 255, 255, 0.1);
--gradient-primary: linear-gradient(135deg, #4caf50 0%, #2196f3 50%, #00bcd4 100%);
--gradient-secondary: linear-gradient(135deg, #ff9800 0%, #f44336 100%);
--gradient-accent: linear-gradient(135deg, #4caf50 0%, #388e3c 100%);
--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
--shadow: 0 4px 16px rgba(0, 0, 0, 0.4);
--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.5);
--shadow-glow: 0 0 20px rgba(76, 175, 80, 0.6);
--radius-sm: 8px;
--radius: 12px;
--radius-lg: 16px;
--radius-xl: 24px;
--space-xs: 4px;
--space-sm: 8px;
--space: 12px;
--space-lg: 16px;
--space-xl: 24px;
--space-2xl: 32px;
--font-primary: "Inter", sans-serif;
--font-display: "Orbitron", monospace;
--font-accent: "Poppins", sans-serif;
--transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
--z-modal: 1050;
}
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: transparent;
overflow-x: hidden;
}
body {
font-family: var(--font-primary);
font-size: 16px;
line-height: 1.6;
color: var(--text-primary);
background: #000;
min-height: 100vh;
overflow-x: hidden;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
position: relative;
}
.cosmic-background {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(ellipse at center, #1a1a2e 0%, #16213e 50%, #0a0a0a 100%);
z-index: -1;
overflow: hidden;
}
.stars-layer-1,
.stars-layer-2,
.stars-layer-3 {
position: absolute;
width: 100%;
height: 100%;
background: transparent;
}
.stars-layer-1 {
background-image: radial-gradient(2px 2px at 20px 30px, #fff, transparent),
radial-gradient(2px 2px at 40px 70px, #fff, transparent), radial-gradient(1px 1px at 90px 40px, #fff, transparent),
radial-gradient(1px 1px at 130px 80px, #fff, transparent), radial-gradient(2px 2px at 160px 30px, #fff, transparent);
background-repeat: repeat;
background-size: 200px 100px;
animation: sparkle 50s linear infinite;
}
.stars-layer-2 {
background-image: radial-gradient(1px 1px at 40px 60px, #fff, transparent),
radial-gradient(1px 1px at 120px 10px, #fff, transparent), radial-gradient(1px 1px at 80px 80px, #fff, transparent);
background-repeat: repeat;
background-size: 300px 200px;
animation: sparkle 100s linear infinite reverse;
}
.stars-layer-3 {
background-image: radial-gradient(1px 1px at 10px 10px, #4caf50, transparent),
radial-gradient(1px 1px at 150px 150px, #2196f3, transparent),
radial-gradient(1px 1px at 60px 90px, #00bcd4, transparent);
background-repeat: repeat;
background-size: 400px 300px;
animation: sparkle 150s linear infinite;
}
.nebula-layer {
position: absolute;
width: 100%;
height: 100%;
background: radial-gradient(ellipse at 20% 50%, rgba(76, 175, 80, 0.1) 0%, transparent 50%),
radial-gradient(ellipse at 80% 20%, rgba(33, 150, 243, 0.1) 0%, transparent 50%),
radial-gradient(ellipse at 40% 80%, rgba(0, 188, 212, 0.1) 0%, transparent 50%);
animation: nebula-drift 20s ease-in-out infinite;
}
.cosmic-dust {
position: absolute;
width: 100%;
height: 100%;
background: url('data:image/svg+xml,')
repeat;
animation: dust-float 30s linear infinite;
}
.shooting-stars {
position: absolute;
width: 100%;
height: 100%;
}
.shooting-stars::before,
.shooting-stars::after {
content: "";
position: absolute;
width: 2px;
height: 2px;
background: linear-gradient(45deg, #fff, transparent);
border-radius: 50%;
animation: shooting-star 3s linear infinite;
}
.shooting-stars::before {
top: 20%;
left: 10%;
animation-delay: 0s;
}
.shooting-stars::after {
top: 60%;
right: 20%;
animation-delay: 1.5s;
}
.aurora-effect {
position: absolute;
width: 100%;
height: 100%;
background: linear-gradient(
45deg,
rgba(76, 175, 80, 0.05) 0%,
transparent 30%,
rgba(33, 150, 243, 0.05) 70%,
transparent 100%
);
animation: aurora-wave 15s ease-in-out infinite;
}
@keyframes sparkle {
0% {
transform: translateY(0);
}
100% {
transform: translateY(-100vh);
}
}
@keyframes nebula-drift {
0%,
100% {
transform: translateX(0) translateY(0);
}
33% {
transform: translateX(30px) translateY(-20px);
}
66% {
transform: translateX(-20px) translateY(30px);
}
}
@keyframes dust-float {
0% {
transform: translateY(0) rotate(0deg);
}
100% {
transform: translateY(-100vh) rotate(360deg);
}
}
@keyframes shooting-star {
0% {
transform: translateX(0) translateY(0) rotate(45deg);
opacity: 1;
}
100% {
transform: translateX(300px) translateY(300px) rotate(45deg);
opacity: 0;
}
}
@keyframes aurora-wave {
0%,
100% {
opacity: 0.3;
transform: translateX(0);
}
50% {
opacity: 0.6;
transform: translateX(50px);
}
}
.loading-screen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(ellipse at center, rgba(26, 26, 46, 0.95) 0%, rgba(10, 10, 10, 0.98) 100%);
backdrop-filter: blur(20px);
display: flex;
justify-content: center;
align-items: center;
z-index: var(--z-modal);
transition: opacity 0.8s ease, visibility 0.8s ease;
}
.loading-screen.hidden {
opacity: 0;
visibility: hidden;
}
.loading-container {
text-align: center;
z-index: 2;
}
.loading-logo {
position: relative;
width: 120px;
height: 120px;
margin: 0 auto var(--space-2xl);
display: flex;
align-items: center;
justify-content: center;
}
.logo-inner {
width: 80px;
height: 80px;
background: var(--gradient-primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
color: white;
z-index: 3;
animation: logo-pulse 2s ease-in-out infinite;
}
.logo-rings {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.ring {
position: absolute;
border: 2px solid;
border-radius: 50%;
animation: ring-rotate 3s linear infinite;
}
.ring-1 {
top: 0;
left: 0;
width: 100%;
height: 100%;
border-color: rgba(76, 175, 80, 0.6);
animation-duration: 3s;
}
.ring-2 {
top: 10px;
left: 10px;
width: calc(100% - 20px);
height: calc(100% - 20px);
border-color: rgba(33, 150, 243, 0.6);
animation-duration: 4s;
animation-direction: reverse;
}
.ring-3 {
top: 20px;
left: 20px;
width: calc(100% - 40px);
height: calc(100% - 40px);
border-color: rgba(0, 188, 212, 0.6);
animation-duration: 5s;
}
.loading-text {
font-family: var(--font-display);
font-size: 2rem;
font-weight: 800;
background: var(--gradient-primary);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin-bottom: var(--space);
animation: text-glow 2s ease-in-out infinite alternate;
}
.loading-subtitle {
font-size: 1.1rem;
color: var(--text-secondary);
margin-bottom: var(--space-2xl);
font-weight: 500;
}
.loading-progress {
width: 250px;
height: 6px;
background: rgba(255, 255, 255, 0.1);
border-radius: var(--radius);
overflow: hidden;
margin: 0 auto var(--space);
position: relative;
}
.progress-bar {
height: 100%;
background: var(--gradient-primary);
border-radius: var(--radius);
animation: loading-progress 3s ease-in-out infinite;
}
.progress-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
animation: progress-shine 2s ease-in-out infinite;
}
.loading-status {
font-size: 0.9rem;
color: var(--text-muted);
animation: status-fade 2s ease-in-out infinite;
}
.loading-particles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
.particle {
position: absolute;
width: 4px;
height: 4px;
background: var(--accent);
border-radius: 50%;
animation: particle-float 4s ease-in-out infinite;
}
.particle:nth-child(1) {
top: 20%;
left: 10%;
animation-delay: 0s;
}
.particle:nth-child(2) {
top: 60%;
right: 15%;
animation-delay: 1s;
}
.particle:nth-child(3) {
bottom: 30%;
left: 20%;
animation-delay: 2s;
}
.particle:nth-child(4) {
top: 40%;
right: 30%;
animation-delay: 3s;
}
.particle:nth-child(5) {
bottom: 20%;
right: 10%;
animation-delay: 4s;
}
@keyframes logo-pulse {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
}
@keyframes ring-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes text-glow {
0% {
text-shadow: 0 0 20px rgba(76, 175, 80, 0.5);
}
100% {
text-shadow: 0 0 30px rgba(76, 175, 80, 0.8);
}
}
@keyframes loading-progress {
0% {
width: 0%;
}
50% {
width: 70%;
}
100% {
width: 100%;
}
}
@keyframes progress-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
@keyframes status-fade {
0%,
100% {
opacity: 0.6;
}
50% {
opacity: 1;
}
}
@keyframes particle-float {
0%,
100% {
transform: translateY(0) rotate(0deg);
opacity: 0.5;
}
50% {
transform: translateY(-20px) rotate(180deg);
opacity: 1;
}
}
.app-container {
position: relative;
max-width: 430px;
margin: 0 auto;
min-height: 100vh;
background: transparent;
overflow: hidden;
z-index: 2;
}
.app-header {
padding: var(--space-xl) var(--space-lg) var(--space-2xl);
position: relative;
overflow: hidden;
}
.header-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(26, 26, 46, 0.3);
backdrop-filter: blur(20px);
border-bottom: 2px solid var(--border-primary);
z-index: 1;
}
.header-background::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.1), transparent);
animation: header-shine 4s ease-in-out infinite;
}
.header-content {
position: relative;
z-index: 2;
}
.user-profile {
display: flex;
align-items: center;
gap: var(--space-lg);
margin-bottom: var(--space-xl);
padding: var(--space-lg);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(30px);
position: relative;
overflow: hidden;
}
.user-profile::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(45deg, rgba(76, 175, 80, 0.05), transparent);
opacity: 0;
transition: var(--transition);
}
.user-profile:hover::before {
opacity: 1;
}
.avatar-container {
position: relative;
}
.user-avatar {
width: 60px;
height: 60px;
border-radius: 50%;
object-fit: cover;
z-index: 2;
position: relative;
}
.avatar-ring {
position: absolute;
top: -3px;
left: -3px;
width: 66px;
height: 66px;
border: 2px solid;
border-image: var(--gradient-primary) 1;
border-radius: 50%;
animation: avatar-rotate 3s linear infinite;
z-index: 1;
}
.status-indicator {
position: absolute;
bottom: 2px;
right: 2px;
width: 16px;
height: 16px;
background: var(--success);
border: 2px solid white;
border-radius: 50%;
animation: status-pulse 2s ease-in-out infinite;
z-index: 3;
}
.user-info {
flex: 1;
}
.user-name {
font-size: 1.1rem;
font-weight: 700;
background: var(--gradient-primary);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin-bottom: var(--space-xs);
}
.user-level {
font-size: 0.8rem;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 0.5px;
font-weight: 600;
margin-bottom: var(--space-xs);
}
.user-stats {
display: flex;
gap: var(--space-lg);
}
.stat {
display: flex;
align-items: center;
gap: var(--space-xs);
font-size: 0.8rem;
color: var(--text-muted);
}
.stat i {
color: var(--accent);
}
.settings-btn {
width: 50px;
height: 50px;
background: var(--bg-glass);
border: 2px solid var(--border-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
color: var(--accent);
cursor: pointer;
transition: var(--transition);
backdrop-filter: blur(20px);
position: relative;
overflow: hidden;
}
.settings-btn:hover {
background: var(--accent);
color: white;
transform: scale(1.05) rotate(90deg);
box-shadow: var(--shadow-glow);
}
.btn-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(76, 175, 80, 0.3), transparent);
opacity: 0;
transition: var(--transition);
}
.settings-btn:hover .btn-glow {
opacity: 1;
animation: btn-glow-pulse 1s ease-in-out infinite;
}
.balance-section {
margin-top: var(--space-2xl);
}
.main-balance {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-lg);
margin-bottom: var(--space-xl);
padding: var(--space-xl);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
backdrop-filter: blur(30px);
position: relative;
overflow: hidden;
border: 1px solid var(--border-secondary);
}
.main-balance::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.1), transparent);
animation: balance-shine 3s ease-in-out infinite;
}
.balance-icon {
width: 60px;
height: 60px;
background: var(--gradient-primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
animation: coin-float 4s ease-in-out infinite;
box-shadow: var(--shadow-glow);
position: relative;
}
.icon-pulse {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: inherit;
border-radius: inherit;
animation: icon-pulse 2s ease-in-out infinite;
}
.balance-display {
display: flex;
align-items: baseline;
gap: var(--space-sm);
}
.balance-amount {
font-family: var(--font-display);
font-size: 2.5rem;
font-weight: 900;
color: var(--text-primary);
text-shadow: 0 0 30px rgba(76, 175, 80, 0.8);
}
.balance-currency {
font-size: 1.2rem;
color: var(--text-secondary);
font-weight: 700;
font-family: var(--font-display);
}
.balance-trend {
display: flex;
align-items: center;
gap: var(--space-xs);
color: var(--success);
font-size: 0.9rem;
font-weight: 600;
}
.level-system {
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
border: 2px solid var(--border-primary);
padding: var(--space-lg);
backdrop-filter: blur(30px);
position: relative;
}
.level-header {
margin-bottom: var(--space-lg);
}
.level-badges {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-lg);
margin-bottom: var(--space-lg);
}
.level-badge {
padding: var(--space-sm) var(--space-lg);
background: var(--bg-glass);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
backdrop-filter: blur(20px);
transition: var(--transition);
text-align: center;
position: relative;
}
.level-badge.current {
background: var(--gradient-primary);
color: white;
border: none;
box-shadow: var(--shadow-glow);
transform: scale(1.05);
}
.badge-glow {
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: var(--gradient-primary);
border-radius: inherit;
z-index: -1;
opacity: 0.5;
animation: badge-glow 2s ease-in-out infinite;
}
.level-badge.next {
color: var(--text-muted);
}
.level-arrow {
color: var(--accent);
font-weight: bold;
font-size: 1.2rem;
}
.xp-container {
position: relative;
}
.xp-progress {
width: 100%;
height: 12px;
background: rgba(255, 255, 255, 0.1);
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border-secondary);
position: relative;
}
.xp-bar {
height: 100%;
background: var(--gradient-primary);
border-radius: var(--radius);
transition: width 1s cubic-bezier(0.4, 0, 0.2, 1);
width: 0%;
position: relative;
}
.xp-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
animation: xp-glow 2s ease-in-out infinite;
}
.xp-particles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: url('data:image/svg+xml,')
repeat-x;
animation: xp-particles 3s linear infinite;
}
.xp-text {
text-align: center;
font-size: 0.8rem;
color: var(--text-muted);
margin-top: var(--space-sm);
font-weight: 600;
}
@keyframes header-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
@keyframes avatar-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes status-pulse {
0%,
100% {
opacity: 1;
transform: scale(1);
}
50% {
opacity: 0.5;
transform: scale(0.8);
}
}
@keyframes btn-glow-pulse {
0%,
100% {
opacity: 0.5;
}
50% {
opacity: 1;
}
}
@keyframes balance-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
@keyframes coin-float {
0%,
100% {
transform: translateY(0) rotate(0deg);
}
50% {
transform: translateY(-5px) rotate(180deg);
}
}
@keyframes icon-pulse {
0%,
100% {
opacity: 0.3;
transform: scale(1);
}
50% {
opacity: 0.6;
transform: scale(1.1);
}
}
@keyframes badge-glow {
0%,
100% {
opacity: 0.3;
}
50% {
opacity: 0.7;
}
}
@keyframes xp-glow {
0%,
100% {
left: -100%;
}
50% {
left: 100%;
}
}
@keyframes xp-particles {
0% {
transform: translateX(0);
}
100% {
transform: translateX(100px);
}
}
.main-content {
padding: var(--space-2xl) var(--space-lg) 140px;
}
.section {
display: none;
animation: section-slide 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.section.active {
display: block;
}
.section-header {
display: flex;
align-items: center;
gap: var(--space-lg);
margin-bottom: var(--space-2xl);
padding: var(--space-lg);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(30px);
position: relative;
overflow: hidden;
}
.section-header::before {
content: "";
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.05), transparent);
animation: section-shine 4s ease-in-out infinite;
}
.section-icon {
width: 60px;
height: 60px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
box-shadow: var(--shadow-glow);
position: relative;
}
.icon-glow {
position: absolute;
top: -5px;
left: -5px;
right: -5px;
bottom: -5px;
background: var(--gradient-primary);
border-radius: inherit;
opacity: 0.3;
animation: icon-glow 3s ease-in-out infinite;
z-index: -1;
}
.section-info {
flex: 1;
}
.section-title {
font-family: var(--font-display);
font-size: 1.8rem;
font-weight: 900;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.section-subtitle {
font-size: 1rem;
color: var(--text-secondary);
font-weight: 500;
}
.game-area {
text-align: center;
}
.combo-system {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--space-2xl);
gap: var(--space-lg);
}
.combo-display {
background: var(--bg-glass);
border: 2px solid var(--border-primary);
border-radius: var(--radius-lg);
padding: var(--space-lg);
backdrop-filter: blur(30px);
display: flex;
align-items: center;
gap: var(--space-lg);
opacity: 0;
transform: scale(0.8);
transition: var(--transition);
box-shadow: var(--shadow-lg);
position: relative;
}
.combo-display.active {
opacity: 1;
transform: scale(1);
animation: combo-glow 1s ease-in-out infinite alternate;
}
.combo-icon {
width: 50px;
height: 50px;
background: var(--gradient-secondary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
position: relative;
}
.fire-particles {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(255, 152, 0, 0.3), transparent);
border-radius: inherit;
animation: fire-dance 1s ease-in-out infinite;
}
.combo-info {
text-align: left;
}
.combo-label {
font-family: var(--font-display);
font-weight: 800;
color: var(--warning);
font-size: 0.9rem;
margin-bottom: var(--space-xs);
}
.combo-multiplier {
font-family: var(--font-display);
font-weight: 800;
color: var(--warning);
font-size: 1.5rem;
}
.streak-display {
background: var(--bg-glass);
border: 2px solid var(--border-primary);
border-radius: var(--radius-lg);
padding: var(--space-lg);
backdrop-filter: blur(30px);
display: flex;
align-items: center;
gap: var(--space);
min-width: 120px;
}
.streak-icon {
width: 40px;
height: 40px;
background: var(--gradient-primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
}
.streak-info {
text-align: left;
}
.streak-number {
font-family: var(--font-display);
font-size: 1.5rem;
font-weight: 800;
color: var(--accent);
margin-bottom: var(--space-xs);
}
.streak-label {
font-size: 0.8rem;
color: var(--text-secondary);
text-transform: uppercase;
letter-spacing: 0.5px;
font-weight: 600;
}
.character-section {
position: relative;
margin-bottom: var(--space-2xl);
}
.character-container {
position: relative;
width: 320px;
height: 320px;
margin: 0 auto;
cursor: pointer;
transition: var(--transition);
filter: drop-shadow(0 30px 60px rgba(76, 175, 80, 0.5));
}
.character-container:hover {
transform: scale(1.05);
filter: drop-shadow(0 40px 80px rgba(76, 175, 80, 0.7));
}
.character-container:active {
transform: scale(0.95);
}
.character-aura {
position: absolute;
top: -30px;
left: -30px;
right: -30px;
bottom: -30px;
z-index: 1;
}
.aura-ring {
position: absolute;
border: 2px solid;
border-radius: 50%;
animation: aura-rotate 10s linear infinite;
}
.aura-ring.ring-1 {
top: 0;
left: 0;
width: 100%;
height: 100%;
border-color: rgba(76, 175, 80, 0.3);
animation-duration: 10s;
}
.aura-ring.ring-2 {
top: 15px;
left: 15px;
width: calc(100% - 30px);
height: calc(100% - 30px);
border-color: rgba(33, 150, 243, 0.3);
animation-duration: 15s;
animation-direction: reverse;
}
.aura-ring.ring-3 {
top: 30px;
left: 30px;
width: calc(100% - 60px);
height: calc(100% - 60px);
border-color: rgba(0, 188, 212, 0.3);
animation-duration: 20s;
}
.character-glow {
position: absolute;
top: -20px;
left: -20px;
right: -20px;
bottom: -20px;
background: var(--gradient-primary);
border-radius: 50%;
opacity: 0.2;
animation: character-glow 3s ease-in-out infinite;
z-index: 2;
}
.character-image {
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 50%;
transition: var(--transition);
position: relative;
z-index: 3;
}
.character-image.tap-animation {
animation: tap-bounce 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.tap-effects {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
z-index: 4;
}
.ripple-effect {
width: 100px;
height: 100px;
border: 2px solid var(--accent);
border-radius: 50%;
opacity: 0;
animation: ripple 0.6s ease-out;
}
.floating-rewards {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
z-index: 5;
}
.floating-reward {
position: absolute;
font-family: var(--font-display);
font-size: 28px;
font-weight: 900;
color: var(--warning);
opacity: 0;
pointer-events: none;
text-shadow: 0 0 30px rgba(255, 152, 0, 1);
animation: float-up 2.5s ease-out forwards;
z-index: 1000;
}
.floating-reward.critical {
color: var(--danger);
font-size: 36px;
text-shadow: 0 0 40px rgba(244, 67, 54, 1);
}
.floating-reward.jackpot {
color: var(--success);
font-size: 40px;
text-shadow: 0 0 50px rgba(76, 175, 80, 1);
}
.particle-system {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: 6;
}
.tap-indicator {
font-size: 1.1rem;
color: var(--text-secondary);
margin-top: var(--space-xl);
font-weight: 600;
animation: indicator-pulse 2s ease-in-out infinite;
text-align: center;
background: rgba(255, 255, 255, 0.05);
padding: var(--space) var(--space-lg);
border-radius: var(--radius-xl);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(20px);
display: flex;
align-items: center;
justify-content: center;
gap: var(--space);
position: relative;
}
.indicator-pulse {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: inherit;
border-radius: inherit;
animation: pulse-ring 2s ease-in-out infinite;
z-index: -1;
}
.energy-system {
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
border: 2px solid var(--border-primary);
padding: var(--space-lg);
backdrop-filter: blur(30px);
position: relative;
}
.energy-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: var(--space-lg);
}
.energy-icon {
width: 50px;
height: 50px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
animation: energy-pulse 2s ease-in-out infinite;
box-shadow: var(--shadow-glow);
position: relative;
}
.energy-spark {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(circle, rgba(255, 255, 255, 0.3), transparent);
border-radius: inherit;
animation: spark-flash 1.5s ease-in-out infinite;
}
.energy-info {
flex: 1;
margin-left: var(--space-lg);
}
.energy-label {
font-size: 0.9rem;
color: var(--text-secondary);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: var(--space-xs);
}
.energy-text {
font-family: var(--font-display);
font-size: 1.3rem;
font-weight: 800;
color: var(--text-primary);
}
.energy-status {
display: flex;
align-items: center;
gap: var(--space-xs);
font-size: 0.8rem;
font-weight: 600;
}
.energy-status i {
animation: status-blink 2s ease-in-out infinite;
}
.energy-progress {
width: 100%;
height: 16px;
background: rgba(255, 255, 255, 0.1);
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border-secondary);
position: relative;
}
.energy-bar {
height: 100%;
background: var(--gradient-primary);
border-radius: var(--radius);
transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1);
width: 100%;
position: relative;
}
.energy-flow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
animation: energy-flow 2s ease-in-out infinite;
}
.energy-glow {
position: absolute;
top: -2px;
left: -2px;
right: -2px;
bottom: -2px;
background: var(--gradient-primary);
border-radius: inherit;
opacity: 0.3;
animation: energy-glow 3s ease-in-out infinite;
z-index: -1;
}
@keyframes section-slide {
0% {
opacity: 0;
transform: translateY(20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes section-shine {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
@keyframes icon-glow {
0%,
100% {
opacity: 0.3;
transform: scale(1);
}
50% {
opacity: 0.6;
transform: scale(1.05);
}
}
@keyframes combo-glow {
0% {
box-shadow: var(--shadow-lg);
}
100% {
box-shadow: var(--shadow-glow);
}
}
@keyframes fire-dance {
0%,
100% {
opacity: 0.3;
transform: scale(1);
}
50% {
opacity: 0.6;
transform: scale(1.1);
}
}
@keyframes aura-rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes character-glow {
0%,
100% {
opacity: 0.2;
transform: scale(1);
}
50% {
opacity: 0.4;
transform: scale(1.05);
}
}
@keyframes tap-bounce {
0% {
transform: scale(1);
}
50% {
transform: scale(1.1);
}
100% {
transform: scale(1);
}
}
@keyframes ripple {
0% {
opacity: 1;
transform: scale(0);
}
100% {
opacity: 0;
transform: scale(2);
}
}
@keyframes float-up {
0% {
opacity: 1;
transform: translate(-50%, -50%) translateY(0) scale(1);
}
100% {
opacity: 0;
transform: translate(-50%, -50%) translateY(-100px) scale(1.2);
}
}
@keyframes indicator-pulse {
0%,
100% {
opacity: 0.7;
transform: scale(1);
}
50% {
opacity: 1;
transform: scale(1.02);
}
}
@keyframes pulse-ring {
0% {
opacity: 0.3;
transform: scale(1);
}
50% {
opacity: 0.1;
transform: scale(1.05);
}
100% {
opacity: 0.3;
transform: scale(1);
}
}
@keyframes energy-pulse {
0%,
100% {
transform: scale(1);
box-shadow: var(--shadow-glow);
}
50% {
transform: scale(1.05);
box-shadow: var(--shadow-glow), 0 0 30px rgba(76, 175, 80, 0.8);
}
}
@keyframes spark-flash {
0%,
100% {
opacity: 0;
}
50% {
opacity: 0.6;
}
}
@keyframes status-blink {
0%,
100% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}
@keyframes energy-flow {
0% {
left: -100%;
}
100% {
left: 100%;
}
}
@keyframes energy-glow {
0%,
100% {
opacity: 0.3;
}
50% {
opacity: 0.6;
}
}
.boost-grid {
display: grid;
grid-template-columns: 1fr;
gap: var(--space-xl);
}
.boost-card {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
backdrop-filter: blur(30px);
transition: var(--transition);
position: relative;
overflow: hidden;
}
.boost-card:hover {
border-color: var(--border-primary);
transform: translateY(-5px);
box-shadow: var(--shadow-glow);
}
.card-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(45deg, rgba(76, 175, 80, 0.05), transparent);
opacity: 0;
transition: var(--transition);
}
.boost-card:hover .card-glow {
opacity: 1;
}
.boost-header {
display: flex;
align-items: center;
gap: var(--space-lg);
margin-bottom: var(--space-xl);
}
.boost-icon {
width: 60px;
height: 60px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
box-shadow: var(--shadow-glow);
position: relative;
}
.boost-info {
flex: 1;
}
.boost-title {
font-size: 1.3rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.boost-description {
font-size: 0.9rem;
color: var(--text-secondary);
font-weight: 500;
}
.boost-level {
background: var(--bg-glass);
border: 1px solid var(--border-secondary);
border-radius: var(--radius);
padding: var(--space-xs) var(--space);
font-size: 0.8rem;
font-weight: 700;
color: var(--accent);
text-transform: uppercase;
letter-spacing: 0.5px;
}
.boost-stats {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: var(--space-xl);
padding: var(--space-lg);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius);
border: 1px solid var(--border-secondary);
}
.stat-item {
text-align: center;
}
.stat-label {
font-size: 0.8rem;
color: var(--text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
font-weight: 600;
margin-bottom: var(--space-xs);
}
.stat-value {
font-family: var(--font-display);
font-size: 1.3rem;
font-weight: 800;
color: var(--text-primary);
}
.stat-value.next {
color: var(--success);
}
.stat-arrow {
color: var(--accent);
font-size: 1.2rem;
}
.boost-cost {
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-xs);
margin-bottom: var(--space-lg);
font-family: var(--font-display);
font-size: 1.1rem;
font-weight: 800;
color: var(--warning);
}
.boost-status {
padding: var(--space-xs) var(--space);
border-radius: var(--radius);
font-size: 0.8rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
text-align: center;
}
.boost-status.active {
background: var(--success);
color: white;
}
.boost-status:not(.active) {
background: var(--bg-glass);
color: var(--text-muted);
border: 1px solid var(--border-secondary);
}
.btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: var(--space-sm);
padding: var(--space-lg) var(--space-xl);
border: none;
border-radius: var(--radius);
font-size: 0.9rem;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
transition: var(--transition);
position: relative;
overflow: hidden;
text-decoration: none;
min-height: 50px;
backdrop-filter: blur(20px);
}
.btn:disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none !important;
}
.btn-primary {
background: var(--gradient-primary);
color: white;
box-shadow: var(--shadow-glow);
}
.btn-primary:hover:not(:disabled) {
transform: translateY(-2px);
box-shadow: var(--shadow-glow), var(--shadow-lg);
}
.btn-secondary {
background: var(--bg-glass);
color: var(--text-secondary);
border: 2px solid var(--border-secondary);
}
.btn-secondary:hover:not(:disabled) {
border-color: var(--border-primary);
color: var(--text-primary);
transform: translateY(-2px);
}
.btn-danger {
background: var(--gradient-secondary);
color: white;
box-shadow: 0 0 20px rgba(244, 67, 54, 0.6);
}
.btn-danger:hover:not(:disabled) {
transform: translateY(-2px);
box-shadow: 0 0 20px rgba(244, 67, 54, 0.6), var(--shadow-lg);
}
.btn-boost {
width: 100%;
}
.btn-lg {
padding: var(--space-xl) var(--space-2xl);
font-size: 1rem;
min-height: 60px;
}
.btn-shine {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
transition: var(--transition);
}
.btn:hover .btn-shine {
left: 100%;
}
.mission-filters {
display: flex;
gap: var(--space-sm);
margin-bottom: var(--space-2xl);
overflow-x: auto;
padding: var(--space);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(30px);
}
.filter-btn {
display: flex;
align-items: center;
gap: var(--space-xs);
padding: var(--space) var(--space-lg);
background: var(--bg-glass);
border: 2px solid var(--border-secondary);
border-radius: var(--radius);
color: var(--text-secondary);
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
transition: var(--transition);
white-space: nowrap;
backdrop-filter: blur(20px);
}
.filter-btn:hover {
border-color: var(--border-primary);
color: var(--text-primary);
}
.filter-btn.active {
background: var(--gradient-primary);
border: none;
color: white;
box-shadow: var(--shadow-glow);
transform: scale(1.05);
}
.missions-list {
display: flex;
flex-direction: column;
gap: var(--space-xl);
}
.mission-card {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
backdrop-filter: blur(30px);
transition: var(--transition);
position: relative;
overflow: hidden;
}
.mission-card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: var(--gradient-primary);
opacity: 0;
transition: var(--transition);
}
.mission-card.started::before {
opacity: 0.5;
}
.mission-card.completed::before {
background: var(--gradient-accent);
opacity: 1;
}
.mission-card.claimed::before {
background: var(--gradient-secondary);
opacity: 1;
}
.mission-card:hover {
border-color: var(--border-primary);
transform: translateY(-5px);
box-shadow: var(--shadow-glow);
}
.wallet-stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-lg);
margin-bottom: var(--space-2xl);
}
.stat-card {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
text-align: center;
backdrop-filter: blur(30px);
transition: var(--transition);
position: relative;
overflow: hidden;
}
.stat-card:hover {
border-color: var(--border-primary);
transform: translateY(-5px);
box-shadow: var(--shadow-glow);
}
.stat-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(45deg, rgba(76, 175, 80, 0.05), transparent);
opacity: 0;
transition: var(--transition);
}
.stat-card:hover .stat-glow {
opacity: 1;
}
.stat-icon {
width: 50px;
height: 50px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
margin: 0 auto var(--space-lg);
box-shadow: var(--shadow-glow);
}
.pubg-section {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
margin-bottom: var(--space-2xl);
backdrop-filter: blur(30px);
}
.pubg-header {
display: flex;
align-items: center;
gap: var(--space-lg);
margin-bottom: var(--space-xl);
}
.pubg-icon {
width: 60px;
height: 60px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
box-shadow: var(--shadow-glow);
}
.pubg-title {
font-size: 1.3rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.pubg-description {
font-size: 0.9rem;
color: var(--text-secondary);
font-weight: 500;
}
.pubg-form {
display: flex;
gap: var(--space-lg);
}
.input-group {
position: relative;
flex: 1;
}
.pubg-input {
width: 100%;
padding: var(--space-lg);
background: var(--bg-glass);
border: 2px solid var(--border-secondary);
border-radius: var(--radius);
color: var(--text-primary);
font-size: 1rem;
font-weight: 500;
backdrop-filter: blur(20px);
transition: var(--transition);
}
.pubg-input:focus {
outline: none;
border-color: var(--border-primary);
box-shadow: var(--shadow-glow);
}
.pubg-input::placeholder {
color: var(--text-muted);
}
.input-glow {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: var(--gradient-primary);
border-radius: inherit;
opacity: 0;
transition: var(--transition);
z-index: -1;
}
.pubg-input:focus + .input-glow {
opacity: 0.1;
}
.withdrawal-section {
margin-bottom: var(--space-2xl);
}
.withdrawal-title {
font-size: 1.3rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xl);
text-align: center;
}
.withdrawal-packages {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-lg);
}
.withdrawal-package {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
text-align: center;
backdrop-filter: blur(30px);
transition: var(--transition);
cursor: pointer;
position: relative;
overflow: hidden;
}
.withdrawal-package:hover {
border-color: var(--border-primary);
transform: translateY(-5px);
box-shadow: var(--shadow-glow);
}
.withdrawal-package.premium {
border-color: rgba(255, 152, 0, 0.4);
}
.withdrawal-package.premium:hover {
border-color: rgba(255, 152, 0, 0.8);
box-shadow: 0 0 20px rgba(255, 152, 0, 0.6);
}
.withdrawal-package.legendary {
border-color: rgba(156, 39, 176, 0.4);
}
.withdrawal-package.legendary:hover {
border-color: rgba(156, 39, 176, 0.8);
box-shadow: 0 0 20px rgba(156, 39, 176, 0.6);
}
.package-glow {
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(76, 175, 80, 0.1), transparent);
transition: var(--transition);
}
.withdrawal-package:hover .package-glow {
left: 100%;
}
.package-icon {
width: 60px;
height: 60px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
margin: 0 auto var(--space-lg);
box-shadow: var(--shadow-glow);
}
.withdrawal-package.premium .package-icon {
background: linear-gradient(135deg, #ff9800 0%, #f57c00 100%);
}
.withdrawal-package.legendary .package-icon {
background: linear-gradient(135deg, #9c27b0 0%, #7b1fa2 100%);
}
.package-amount {
font-family: var(--font-display);
font-size: 1.8rem;
font-weight: 900;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.package-currency {
font-size: 0.9rem;
color: var(--text-secondary);
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.5px;
margin-bottom: var(--space-lg);
}
.package-cost {
font-family: var(--font-display);
font-size: 1.1rem;
font-weight: 800;
color: var(--warning);
margin-bottom: var(--space);
}
.package-status {
font-size: 0.8rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
padding: var(--space-xs) var(--space);
border-radius: var(--radius);
display: inline-block;
}
.package-status.available {
background: var(--success);
color: white;
}
.package-status.premium {
background: linear-gradient(135deg, #ff9800, #f57c00);
color: white;
}
.package-status.legendary {
background: linear-gradient(135deg, #9c27b0, #7b1fa2);
color: white;
}
.history-section {
margin-bottom: var(--space-2xl);
}
.history-title {
font-size: 1.3rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xl);
text-align: center;
}
.withdrawal-history {
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(30px);
max-height: 300px;
overflow-y: auto;
}
.friends-tabs {
display: flex;
gap: var(--space-sm);
margin-bottom: var(--space-2xl);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius-lg);
padding: var(--space-sm);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(20px);
}
.tab-btn {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: var(--space-xs);
padding: var(--space-lg);
background: transparent;
border: none;
border-radius: var(--radius);
color: var(--text-secondary);
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
cursor: pointer;
transition: var(--transition);
}
.tab-btn.active {
background: var(--gradient-primary);
color: white;
box-shadow: var(--shadow-glow);
}
.friends-tab {
display: none;
}
.friends-tab.active {
display: block;
animation: tab-slide 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.referral-section {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
backdrop-filter: blur(30px);
}
.referral-header {
display: flex;
align-items: center;
gap: var(--space-lg);
margin-bottom: var(--space-xl);
}
.referral-icon {
width: 60px;
height: 60px;
background: var(--gradient-primary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
box-shadow: var(--shadow-glow);
position: relative;
}
.referral-title {
font-size: 1.3rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.referral-description {
font-size: 0.9rem;
color: var(--text-secondary);
font-weight: 500;
}
.referral-stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: var(--space-lg);
margin-bottom: var(--space-xl);
}
.referral-stat {
display: flex;
align-items: center;
gap: var(--space-lg);
padding: var(--space-lg);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius);
border: 1px solid var(--border-secondary);
}
.stat-number {
font-family: var(--font-display);
font-size: 1.5rem;
font-weight: 800;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.referral-link-section {
margin-bottom: var(--space-xl);
}
.link-header {
text-align: center;
margin-bottom: var(--space-lg);
}
.link-header h4 {
font-size: 1.1rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.link-header p {
font-size: 0.9rem;
color: var(--text-secondary);
}
.link-container {
display: flex;
gap: var(--space-lg);
}
.referral-input {
flex: 1;
padding: var(--space-lg);
background: var(--bg-glass);
border: 2px solid var(--border-secondary);
border-radius: var(--radius);
color: var(--text-primary);
font-size: 0.9rem;
font-weight: 500;
backdrop-filter: blur(20px);
font-family: monospace;
}
.referral-input:focus {
outline: none;
border-color: var(--border-primary);
box-shadow: var(--shadow-glow);
}
.friends-list,
.leaderboard {
display: flex;
flex-direction: column;
gap: var(--space-lg);
}
.friend-item,
.leaderboard-item {
display: flex;
align-items: center;
padding: var(--space-lg);
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius);
border: 1px solid var(--border-secondary);
backdrop-filter: blur(20px);
transition: var(--transition);
}
.friend-item:hover,
.leaderboard-item:hover {
border-color: var(--border-primary);
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.friend-avatar {
width: 50px;
height: 50px;
border-radius: 50%;
border: 2px solid var(--accent);
object-fit: cover;
margin-right: var(--space-lg);
}
.friend-info {
flex: 1;
}
.friend-name {
font-weight: 600;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.friend-date {
font-size: 0.8rem;
color: var(--text-muted);
}
.friend-earnings {
text-align: right;
font-weight: 700;
color: var(--success);
}
.bottom-nav {
position: fixed;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
max-width: 430px;
z-index: 1000;
padding: var(--space-lg);
}
.nav-background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(26, 26, 46, 0.95);
backdrop-filter: blur(30px);
border-top: 2px solid var(--border-primary);
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.5);
}
.nav-container {
position: relative;
display: flex;
justify-content: space-around;
align-items: center;
gap: var(--space-sm);
z-index: 2;
}
.nav-item {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--space-xs);
padding: var(--space);
border-radius: var(--radius);
color: var(--text-muted);
text-decoration: none;
transition: var(--transition);
cursor: pointer;
min-width: 60px;
position: relative;
}
.nav-item:hover {
color: var(--accent);
transform: translateY(-2px);
}
.nav-item.active {
color: var(--accent);
background: rgba(255, 255, 255, 0.05);
border: 1px solid var(--border-primary);
box-shadow: var(--shadow-glow);
}
.nav-item.active::before {
content: "";
position: absolute;
top: -2px;
left: 50%;
transform: translateX(-50%);
width: 20px;
height: 3px;
background: var(--gradient-primary);
border-radius: var(--radius-xl);
}
.nav-icon {
font-size: 20px;
transition: var(--transition);
position: relative;
}
.nav-item.active .nav-icon {
transform: scale(1.1);
}
.nav-label {
font-size: 0.7rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.modal-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
backdrop-filter: blur(10px);
display: flex;
align-items: center;
justify-content: center;
z-index: var(--z-modal);
opacity: 0;
visibility: hidden;
transition: var(--transition);
padding: var(--space-lg);
}
.modal-overlay.show {
opacity: 1;
visibility: visible;
}
.modal-content {
background: var(--bg-secondary);
border: 2px solid var(--border-primary);
border-radius: var(--radius-lg);
padding: var(--space-2xl);
max-width: 400px;
width: 100%;
max-height: 90vh;
overflow-y: auto;
backdrop-filter: blur(30px);
box-shadow: var(--shadow-lg);
transform: scale(0.9) translateY(20px);
transition: var(--transition);
position: relative;
}
.modal-overlay.show .modal-content {
transform: scale(1) translateY(0);
}
.modal-header {
display: flex;
align-items: center;
justify-content: space-between;
margin-bottom: var(--space-2xl);
padding-bottom: var(--space-lg);
border-bottom: 2px solid var(--border-secondary);
}
.modal-title {
font-family: var(--font-display);
font-size: 1.5rem;
font-weight: 900;
color: var(--text-primary);
}
.modal-close {
width: 40px;
height: 40px;
background: var(--bg-glass);
border: 2px solid var(--border-secondary);
border-radius: var(--radius);
display: flex;
align-items: center;
justify-content: center;
color: var(--text-muted);
cursor: pointer;
transition: var(--transition);
}
.modal-close:hover {
background: var(--danger);
color: white;
border-color: var(--danger);
transform: scale(1.1);
}
.modal-body {
margin-bottom: var(--space-2xl);
}
.modal-actions {
display: flex;
gap: var(--space-lg);
}
.welcome-modal {
text-align: center;
max-width: 500px;
}
.welcome-header {
margin-bottom: var(--space-2xl);
}
.welcome-logo {
width: 100px;
height: 100px;
background: var(--gradient-primary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 50px;
margin: 0 auto var(--space-2xl);
animation: logo-float 3s ease-in-out infinite;
box-shadow: var(--shadow-glow);
position: relative;
}
.logo-glow {
position: absolute;
top: -10px;
left: -10px;
right: -10px;
bottom: -10px;
background: var(--gradient-primary);
border-radius: inherit;
opacity: 0.3;
animation: logo-glow 2s ease-in-out infinite alternate;
z-index: -1;
}
.welcome-title {
font-family: var(--font-display);
font-size: 2rem;
font-weight: 900;
background: var(--gradient-primary);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
margin-bottom: var(--space-lg);
}
.welcome-subtitle {
font-size: 1.1rem;
color: var(--text-secondary);
margin-bottom: var(--space-2xl);
}
.welcome-bonus {
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-primary);
border-radius: var(--radius-lg);
padding: var(--space-xl);
margin-bottom: var(--space-2xl);
backdrop-filter: blur(20px);
position: relative;
}
.bonus-icon {
width: 60px;
height: 60px;
background: var(--gradient-secondary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 28px;
margin: 0 auto var(--space-lg);
animation: bonus-float 2s ease-in-out infinite;
}
.bonus-amount {
font-family: var(--font-display);
font-size: 3rem;
font-weight: 900;
color: var(--warning);
text-shadow: 0 0 30px rgba(255, 152, 0, 0.8);
margin-bottom: var(--space-sm);
}
.bonus-currency {
font-size: 1.2rem;
color: var(--text-secondary);
font-weight: 700;
margin-bottom: var(--space-lg);
}
.bonus-label {
font-size: 0.9rem;
color: var(--text-muted);
font-weight: 500;
}
.welcome-actions {
display: flex;
flex-direction: column;
gap: var(--space-lg);
}
.settings-list {
display: flex;
flex-direction: column;
gap: var(--space-lg);
}
.setting-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: var(--space-lg);
background: rgba(255, 255, 255, 0.05);
border: 2px solid var(--border-secondary);
border-radius: var(--radius);
backdrop-filter: blur(20px);
transition: var(--transition);
}
.setting-item:hover {
border-color: var(--border-primary);
transform: translateY(-2px);
box-shadow: var(--shadow-lg);
}
.setting-info {
flex: 1;
}
.setting-title {
font-size: 1rem;
font-weight: 700;
color: var(--text-primary);
margin-bottom: var(--space-xs);
}
.setting-description {
font-size: 0.9rem;
color: var(--text-secondary);
font-weight: 500;
}
.toggle-switch {
width: 60px;
height: 32px;
background: var(--bg-glass);
border: 2px solid var(--border-secondary);
border-radius: var(--radius-xl);
position: relative;
cursor: pointer;
transition: var(--transition);
}
.toggle-switch.active {
background: var(--gradient-primary);
border-color: var(--accent);
box-shadow: var(--shadow-glow);
}
.toggle-slider {
position: absolute;
top: 2px;
left: 2px;
width: 24px;
height: 24px;
background: white;
border-radius: 50%;
transition: var(--transition);
box-shadow: var(--shadow-sm);
}
.toggle-switch.active .toggle-slider {
transform: translateX(28px);
}
.confirmation-icon {
width: 80px;
height: 80px;
background: var(--gradient-secondary);
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
margin: 0 auto var(--space-xl);
animation: warning-pulse 2s ease-in-out infinite;
}
.confirmation-text {
font-size: 1rem;
color: var(--text-secondary);
line-height: 1.6;
margin-bottom: var(--space-xl);
text-align: center;
}
.notification-container {
position: fixed;
top: var(--space-lg);
right: var(--space-lg);
z-index: calc(var(--z-modal) + 10);
max-width: 400px;
width: 100%;
}
.notification {
background: var(--bg-secondary);
border: 2px solid var(--border-primary);
border-radius: var(--radius-lg);
padding: var(--space-lg);
margin-bottom: var(--space);
backdrop-filter: blur(30px);
box-shadow: var(--shadow-lg);
transform: translateX(100%);
opacity: 0;
transition: var(--transition);
cursor: pointer;
position: relative;
overflow: hidden;
}
.notification::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: var(--gradient-primary);
}
.notification.success::before {
background: var(--gradient-accent);
}
.notification.error::before {
background: var(--gradient-secondary);
}
.notification.warning::before {
background: linear-gradient(135deg, #ff9800, #f57c00);
}
.notification.show {
transform: translateX(0);
opacity: 1;
}
.notification:hover {
transform: translateX(-5px);
box-shadow: var(--shadow-glow);
}
.empty-state {
text-align: center;
padding: var(--space-2xl);
color: var(--text-muted);
}
.empty-icon {
font-size: 60px;
margin-bottom: var(--space-lg);
opacity: 0.5;
}
.empty-title {
font-size: 1.1rem;
font-weight: 700;
color: var(--text-secondary);
margin-bottom: var(--space);
}
.empty-description {
font-size: 1rem;
color: var(--text-muted);
font-weight: 500;
}
@keyframes tab-slide {
0% {
opacity: 0;
transform: translateX(20px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
@keyframes logo-float {
0%,
100% {
transform: translateY(0) rotate(0deg);
}
50% {
transform: translateY(-10px) rotate(5deg);
}
}
@keyframes logo-glow {
0% {
opacity: 0.3;
transform: scale(1);
}
100% {
opacity: 0.6;
transform: scale(1.05);
}
}
@keyframes bonus-float {
0%,
100% {
transform: translateY(0);
}
50% {
transform: translateY(-5px);
}
}
@keyframes warning-pulse {
0%,
100% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
}
@media (max-width: 480px) {
.app-header {
padding: var(--space-lg) var(--space) var(--space-2xl);
}
.main-content {
padding: var(--space-lg) var(--space) 120px;
}
.character-container {
width: 280px;
height: 280px;
}
.wallet-stats {
grid-template-columns: 1fr;
}
.withdrawal-packages {
grid-template-columns: 1fr;
}
.referral-stats {
grid-template-columns: 1fr;
}
.modal-content {
padding: var(--space-lg);
margin: var(--space);
}
.notification-container {
left: var(--space);
right: var(--space);
top: var(--space);
}
}
@media (max-width: 360px) {
.character-container {
width: 240px;
height: 240px;
}
.combo-system {
flex-direction: column;
gap: var(--space);
}
}
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: rgba(255, 255, 255, 0.05);
border-radius: var(--radius);
}
::-webkit-scrollbar-thumb {
background: var(--gradient-primary);
border-radius: var(--radius);
}
::-webkit-scrollbar-thumb:hover {
background: var(--gradient-accent);
}
::selection {
background: var(--accent);
color: white;
}
::-moz-selection {
background: var(--accent);
color: white;
}
*:focus {
outline: 2px solid var(--accent);
outline-offset: 2px;
}
button:focus,
.btn:focus {
outline: 2px solid var(--accent);
outline-offset: 2px;
}