/* ═══════════════════════════════════════════════════════════════════
   APEX GAME MODE — Candy-Colored Mobile Game UI Theme
   All styles scoped under .game-mode on <html>
   ═══════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fredoka+One&family=Nunito:wght@600;700;800;900&display=swap');

/* ═══ CSS CUSTOM PROPERTIES ═══ */
.game-mode {
    --gm-bg1: #1565C0;
    --gm-bg2: #0D47A1;
    --gm-card1: #42A5F5;
    --gm-card2: #1E88E5;
    --gm-card-border: #1565C0;
    --gm-card-shadow: #0D47A1;
    --gm-gold: #FFD700;
    --gm-gold-dim: #FFA000;
    --gm-green: #4CAF50;
    --gm-red: #F44336;
    --gm-cyan: #00E5FF;
    --gm-orange: #FF9800;
    --gm-text: #FFFFFF;
    --gm-text2: rgba(255,255,255,0.8);
    --gm-text3: rgba(255,255,255,0.6);
    --gm-font-display: 'Fredoka One', 'Nunito', 'Arial Rounded MT Bold', cursive;
    --gm-font-body: 'Nunito', sans-serif;
}

/* ═══ PAGE BACKGROUND ═══ */
.game-mode body,
.game-mode {
    background: var(--gm-bg2) !important;
}

.game-mode body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -2;
    background: linear-gradient(180deg, var(--gm-bg1) 0%, var(--gm-bg2) 100%);
}

/* Subtle diagonal texture overlay */
.game-mode body::after {
    content: '';
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.04;
    background-image: repeating-linear-gradient(
        45deg,
        transparent,
        transparent 10px,
        rgba(255,255,255,0.5) 10px,
        rgba(255,255,255,0.5) 11px
    );
    mix-blend-mode: overlay;
}

/* Kill the dark cosmic/aurora backgrounds */
.game-mode .cosmic-bg,
.game-mode .aurora-bg,
.game-mode #apex-bg-wrap,
.game-mode .mesh-bg::before,
.game-mode .mesh-bg::after {
    display: none !important;
}

/* ═══ SMOOTH TRANSITIONS ═══ */
.game-mode,
.game-mode body {
    transition: background-color 0.4s ease-out, color 0.4s ease-out;
}

.game-mode a,
.game-mode p,
.game-mode span,
.game-mode div,
.game-mode h1, .game-mode h2, .game-mode h3, .game-mode h4, .game-mode h5, .game-mode h6,
.game-mode label,
.game-mode td, .game-mode th {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

/* ═══ TYPOGRAPHY ═══ */
.game-mode body {
    font-family: var(--gm-font-body) !important;
    font-weight: 700;
    color: var(--gm-text);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.3);
}

.game-mode h1, .game-mode h2, .game-mode h3, .game-mode h4, .game-mode h5,
.game-mode .hero-title,
.game-mode .hero-number,
.game-mode .section-title,
.game-mode .stat-value,
.game-mode .metric-value,
.game-mode .big-val,
.game-mode [class*="title"],
.game-mode [class*="heading"] {
    font-family: var(--gm-font-display) !important;
    color: var(--gm-text) !important;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    -webkit-text-stroke: 0.5px rgba(0,0,0,0.15);
}

/* Section titles — ALL CAPS gold underline */
.game-mode .section-title,
.game-mode [class*="section-title"],
.game-mode [class*="sectionTitle"] {
    text-transform: uppercase !important;
    letter-spacing: 3px !important;
    padding-bottom: 8px !important;
    border-bottom: 3px solid var(--gm-gold) !important;
    display: inline-block;
}

/* Numbers are bigger + bolder */
.game-mode .hero-number,
.game-mode .stat-value,
.game-mode .metric-value,
.game-mode .wc-val,
.game-mode .big-val {
    transform: scale(1.1);
    transform-origin: center;
}

/* Labels */
.game-mode .metric-label,
.game-mode .stat-label,
.game-mode .wc-label,
.game-mode [class*="label"],
.game-mode [class*="Label"] {
    color: var(--gm-text3) !important;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-family: var(--gm-font-body) !important;
    font-weight: 800;
    font-size: 0.75em;
}

/* ═══ CARD STYLING ═══ */
.game-mode .card,
.game-mode .card-organic,
.game-mode .glass-card,
.game-mode .stat-card,
.game-mode .claim-card,
.game-mode .section-card,
.game-mode .wealth-card,
.game-mode .activity-item,
.game-mode .metric,
.game-mode .pool-card,
.game-mode .token-card,
.game-mode .nft-card,
.game-mode .swap-card,
.game-mode .panel {
    background: linear-gradient(180deg, var(--gm-card1) 0%, var(--gm-card2) 100%) !important;
    border: 2px solid var(--gm-card-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 0 var(--gm-card-shadow), 0 6px 12px rgba(0,0,0,0.15) !important;
    color: var(--gm-text) !important;
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
}

/* Card top highlight */
.game-mode .card::before,
.game-mode .card-organic::before,
.game-mode .glass-card::before,
.game-mode .stat-card::before,
.game-mode .claim-card::before,
.game-mode .section-card::before,
.game-mode .wealth-card::before,
.game-mode .metric::before,
.game-mode .pool-card::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important;
    height: 1px !important;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent) !important;
    opacity: 1 !important;
    z-index: 1;
}

/* Card press effect */
.game-mode .card:active,
.game-mode .card-organic:active,
.game-mode .stat-card:active,
.game-mode .section-card:active,
.game-mode .wealth-card:active,
.game-mode .metric:active {
    transform: translateY(2px) !important;
    box-shadow: 0 2px 0 var(--gm-card-shadow), 0 3px 6px rgba(0,0,0,0.15) !important;
    transition: transform 0.1s ease, box-shadow 0.1s ease !important;
}

/* ═══ BUTTONS ═══ */
.game-mode button:not(.gm-toggle-btn):not(.apex-mobile-toggle):not(.apex-mobile-theme-btn):not(.apex-nav-wallet):not(.apex-nav-wallet-mobile),
.game-mode .btn,
.game-mode .btn-primary,
.game-mode .btn-secondary,
.game-mode .btn-sensual,
.game-mode input[type="submit"],
.game-mode .claim-submit {
    background: linear-gradient(180deg, var(--gm-cyan) 0%, #00B8D4 100%) !important;
    border: 2px solid #0097A7 !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 0 #00838F, 0 5px 10px rgba(0,0,0,0.2) !important;
    color: var(--gm-text) !important;
    font-family: var(--gm-font-display) !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 20px !important;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.1s ease, box-shadow 0.1s ease !important;
}

.game-mode button:not(.gm-toggle-btn):active,
.game-mode .btn:active,
.game-mode .claim-submit:active {
    transform: translateY(3px) scale(0.98) !important;
    box-shadow: 0 1px 0 #00838F !important;
}

/* Primary/important buttons — GOLD */
.game-mode .btn-primary,
.game-mode .claim-submit,
.game-mode .apex-nav-cta {
    background: linear-gradient(180deg, #FFD700 0%, #FFA000 100%) !important;
    border: 2px solid #F57F17 !important;
    box-shadow: 0 4px 0 #E65100, 0 5px 10px rgba(0,0,0,0.2) !important;
    color: #3E2723 !important;
}

/* Danger buttons — RED */
.game-mode .btn-danger,
.game-mode .apex-ui-btn-no {
    background: linear-gradient(180deg, #F44336 0%, #D32F2F 100%) !important;
    border: 2px solid #B71C1C !important;
    box-shadow: 0 4px 0 #B71C1C, 0 5px 10px rgba(0,0,0,0.2) !important;
    color: var(--gm-text) !important;
}

/* ═══ NAVIGATION ═══ */
.game-mode .apex-modern-nav {
    background: linear-gradient(180deg, #1976D2 0%, #1565C0 100%) !important;
    border-bottom: 3px solid #0D47A1 !important;
    box-shadow: 0 3px 0 #0D47A1, 0 4px 8px rgba(0,0,0,0.3) !important;
}

.game-mode .apex-modern-nav a,
.game-mode .apex-modern-nav span {
    color: var(--gm-text) !important;
}

.game-mode .apex-nav-brand span {
    font-family: var(--gm-font-display) !important;
    color: var(--gm-gold) !important;
    text-shadow: 0 0 10px rgba(255,215,0,0.4);
}

.game-mode .apex-mobile-menu {
    background: linear-gradient(180deg, #1976D2 0%, #0D47A1 100%) !important;
    border-left: 3px solid #0D47A1 !important;
}

.game-mode .apex-mobile-menu a {
    color: var(--gm-text) !important;
    border-color: rgba(255,255,255,0.1) !important;
}

.game-mode .apex-mobile-menu a:hover,
.game-mode .apex-mobile-menu a:active {
    background: rgba(255,255,255,0.1) !important;
}

.game-mode .apex-nav-theme-toggle {
    background: rgba(0,0,0,0.2) !important;
    border-color: rgba(255,255,255,0.2) !important;
}

.game-mode .apex-nav-theme-opt {
    color: rgba(255,255,255,0.6) !important;
}

.game-mode .apex-nav-theme-opt.active {
    background: var(--gm-gold) !important;
    color: #3E2723 !important;
}

/* ═══ ACCENT COLORS ═══ */
.game-mode .wc-val,
.game-mode .stat-value,
.game-mode .metric-value,
.game-mode .hero-number,
.game-mode .big-val,
.game-mode [id*="total-wealth"] {
    color: var(--gm-gold) !important;
    text-shadow: 0 0 10px rgba(255,215,0,0.5) !important;
}

.game-mode .hero-eur-line,
.game-mode .wc-eur {
    color: var(--gm-gold) !important;
    opacity: 0.8;
}

.game-mode .hero-xnt-line,
.game-mode .wc-xnt,
.game-mode .hero-xnt-unit {
    color: var(--gm-text) !important;
    opacity: 0.9;
}

/* ═══ INPUT FIELDS ═══ */
.game-mode input,
.game-mode select,
.game-mode textarea,
.game-mode .claim-input {
    background: rgba(0,0,0,0.15) !important;
    border: 2px solid rgba(255,255,255,0.2) !important;
    border-radius: 12px !important;
    color: var(--gm-text) !important;
    font-family: var(--gm-font-body) !important;
    font-weight: 700;
}

.game-mode input:focus,
.game-mode select:focus,
.game-mode textarea:focus {
    border-color: var(--gm-gold) !important;
    box-shadow: 0 0 0 3px rgba(255,215,0,0.2) !important;
    outline: none !important;
}

.game-mode input::placeholder {
    color: rgba(255,255,255,0.4) !important;
}

/* ═══ TABLES ═══ */
.game-mode table {
    border-collapse: separate;
    border-spacing: 0;
}

.game-mode th {
    background: rgba(0,0,0,0.2) !important;
    color: var(--gm-gold) !important;
    font-family: var(--gm-font-display) !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85em;
    padding: 10px 12px !important;
    border-bottom: 2px solid rgba(255,255,255,0.15) !important;
}

.game-mode td {
    color: var(--gm-text) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    padding: 8px 12px !important;
}

.game-mode tr:hover td {
    background: rgba(255,255,255,0.05) !important;
}

/* ═══ SCROLLBARS ═══ */
.game-mode ::-webkit-scrollbar { width: 6px; height: 6px; }
.game-mode ::-webkit-scrollbar-track { background: rgba(0,0,0,0.2); border-radius: 3px; }
.game-mode ::-webkit-scrollbar-thumb { background: var(--gm-gold); border-radius: 3px; }

/* ═══ MODAL / DIALOG / TOAST ═══ */
.game-mode .apex-ui-confirm-card,
.game-mode [class*="modal"],
.game-mode [class*="Modal"],
.game-mode [class*="dialog"],
.game-mode [class*="Dialog"] {
    background: linear-gradient(180deg, var(--gm-card1) 0%, var(--gm-card2) 100%) !important;
    border: 2px solid var(--gm-card-border) !important;
    border-radius: 20px !important;
    box-shadow: 0 6px 0 var(--gm-card-shadow), 0 10px 40px rgba(0,0,0,0.4) !important;
    color: var(--gm-text) !important;
}

.game-mode .apex-ui-toast {
    background: linear-gradient(180deg, #1976D2 0%, #1565C0 100%) !important;
    border: 2px solid #0D47A1 !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 0 #0D47A1, 0 5px 10px rgba(0,0,0,0.3) !important;
    color: var(--gm-text) !important;
    font-family: var(--gm-font-body) !important;
    font-weight: 700;
}

/* ═══ FOOTER ═══ */
.game-mode .footer,
.game-mode [class*="footer"],
.game-mode [class*="Footer"] {
    background: transparent !important;
    color: var(--gm-text2) !important;
    border-top: 2px solid rgba(255,255,255,0.1);
}

.game-mode [class*="footer"] a {
    color: var(--gm-text3) !important;
}

.game-mode [class*="footer"] a:hover {
    color: var(--gm-gold) !important;
}

/* ═══════════════════════════════════════════════════════════════════
   VAULT PAGE SPECIFICS
   ═══════════════════════════════════════════════════════════════════ */

.game-mode .hero {
    background: linear-gradient(180deg, rgba(25,118,210,0.3) 0%, rgba(13,71,161,0.3) 100%) !important;
    border: 2px solid rgba(255,215,0,0.2) !important;
}

.game-mode .hero::before {
    background: linear-gradient(90deg, transparent, rgba(255,215,0,0.4), transparent) !important;
}

/* Golden coin sphere */
.game-mode .sphere-wrap canvas { opacity: 0.15 !important; }

.game-mode .sphere-wrap::before {
    content: '';
    position: absolute;
    top: 50%; left: 50%;
    width: clamp(160px, 22vw, 220px);
    height: clamp(160px, 22vw, 220px);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,0.4) 0%, transparent 40%),
        radial-gradient(circle at 35% 30%, #FFE082 0%, #FFD700 30%, #FFA000 60%, #E65100 100%);
    box-shadow:
        0 0 30px rgba(255,215,0,0.5),
        0 0 60px rgba(255,160,0,0.3),
        inset 0 -8px 20px rgba(0,0,0,0.3),
        inset 0 8px 20px rgba(255,255,255,0.2);
    z-index: 1;
    animation: coinBob 3s ease-in-out infinite;
    overflow: hidden;
}

/* Kill the normal corona */
.game-mode .sphere-wrap::after {
    display: none !important;
}

@keyframes coinBob {
    0%, 100% { transform: translate(-50%, -50%) translateY(0); }
    50% { transform: translate(-50%, -50%) translateY(-5px); }
}

/* Text on golden coin */
.game-mode .sphere-overlay::before {
    background: radial-gradient(ellipse, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.15) 50%, transparent 75%) !important;
}

.game-mode .hero-number {
    color: var(--gm-text) !important;
    text-shadow: 0 0 15px rgba(255,255,255,0.4), 2px 2px 4px rgba(0,0,0,0.4) !important;
    animation: none !important;
}

.game-mode .hero-badge { color: var(--gm-text3) !important; }
.game-mode .hero-unit-usd { color: var(--gm-text3) !important; }
.game-mode .hero-eur-line { color: var(--gm-gold) !important; text-shadow: 0 0 10px rgba(255,215,0,0.4) !important; }
.game-mode .hero-xnt-line { color: var(--gm-text) !important; opacity: 0.85; }
.game-mode .hero-live { color: var(--gm-text3) !important; }

.game-mode .pulse-dot {
    background: var(--gm-gold) !important;
    box-shadow: 0 0 10px var(--gm-gold), 0 0 20px rgba(255,215,0,0.3) !important;
}

/* Wealth cards */
.game-mode .wealth-card .wc-icon { opacity: 0.9 !important; font-size: 20px !important; }
.game-mode .wealth-card .wc-val { color: var(--gm-gold) !important; text-shadow: 0 0 10px rgba(255,215,0,0.3) !important; font-family: var(--gm-font-display) !important; }
.game-mode .wealth-card .wc-eur { color: var(--gm-gold) !important; opacity: 0.7; }
.game-mode .wealth-card .wc-xnt { color: var(--gm-text2) !important; }
.game-mode .wealth-card .wc-label { color: var(--gm-text3) !important; font-family: var(--gm-font-body) !important; font-weight: 800; }

.game-mode .wealth-card::after {
    background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.06) 40%, rgba(255,215,0,0.08) 50%, rgba(255,255,255,0.06) 60%, transparent 100%) !important;
}

/* Activity feed */
.game-mode .activity-item {
    border: 1px solid rgba(255,255,255,0.1) !important;
    border-radius: 12px !important;
    box-shadow: 0 2px 0 var(--gm-card-shadow), 0 3px 6px rgba(0,0,0,0.1) !important;
    margin-bottom: 6px !important;
}

.game-mode .activity-icon.win { color: var(--gm-green) !important; text-shadow: 0 0 8px rgba(76,175,80,0.4); }
.game-mode .activity-icon.loss { color: var(--gm-red) !important; text-shadow: 0 0 8px rgba(244,67,54,0.4); }
.game-mode .activity-icon.deposit { color: var(--gm-gold) !important; text-shadow: 0 0 8px rgba(255,215,0,0.4); }
.game-mode .activity-icon.buy { color: var(--gm-cyan) !important; }
.game-mode .activity-time { color: var(--gm-text3) !important; }

/* Vault metrics */
.game-mode .metric-value { font-family: var(--gm-font-display) !important; color: var(--gm-gold) !important; font-size: 1.1em; }
.game-mode .metric-label { color: var(--gm-text3) !important; font-family: var(--gm-font-body) !important; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; }

.game-mode .regime-badge {
    background: rgba(0,0,0,0.2) !important;
    border-radius: 20px !important;
    font-family: var(--gm-font-body) !important;
    font-weight: 800;
}

/* ═══════════════════════════════════════════════════════════════════
   FAUCET / STATS
   ═══════════════════════════════════════════════════════════════════ */

.game-mode .stats-grid .stat-card { background: linear-gradient(180deg, var(--gm-card1) 0%, var(--gm-card2) 100%) !important; }
.game-mode .stat-card .stat-value { color: var(--gm-gold) !important; font-family: var(--gm-font-display) !important; }
.game-mode .stat-card .stat-label { color: var(--gm-text3) !important; text-transform: uppercase; }

/* ═══════════════════════════════════════════════════════════════════
   ANIMATIONS & JUICE
   ═══════════════════════════════════════════════════════════════════ */

.game-mode .card,
.game-mode .stat-card,
.game-mode .section-card,
.game-mode .wealth-card,
.game-mode .metric,
.game-mode .claim-card {
    animation: gmBounceIn 0.4s ease-out both;
}

.game-mode .wealth-card:nth-child(1) { animation-delay: 0.05s; }
.game-mode .wealth-card:nth-child(2) { animation-delay: 0.10s; }
.game-mode .wealth-card:nth-child(3) { animation-delay: 0.15s; }
.game-mode .wealth-card:nth-child(4) { animation-delay: 0.20s; }
.game-mode .wealth-card:nth-child(5) { animation-delay: 0.25s; }
.game-mode .section-card:nth-of-type(1) { animation-delay: 0.15s; }
.game-mode .section-card:nth-of-type(2) { animation-delay: 0.25s; }
.game-mode .section-card:nth-of-type(3) { animation-delay: 0.35s; }

@keyframes gmBounceIn {
    0% { opacity: 0; transform: translateY(20px) scale(0.95); }
    60% { transform: translateY(-5px) scale(1.02); }
    100% { opacity: 1; transform: translateY(0) scale(1); }
}

/* Sparkle stars */
.game-mode .gm-sparkle {
    position: absolute;
    color: var(--gm-gold);
    font-size: 12px;
    pointer-events: none;
    opacity: 0;
    z-index: 10;
}

.gm-sparkle-1 { top: 15%; left: 30%; animation: gmSparkle 2.5s 0.3s ease-in-out infinite; }
.gm-sparkle-2 { top: 25%; right: 28%; animation: gmSparkle 3s 0.8s ease-in-out infinite; }
.gm-sparkle-3 { top: 45%; left: 22%; animation: gmSparkle 2.8s 1.5s ease-in-out infinite; }
.gm-sparkle-4 { top: 55%; right: 25%; animation: gmSparkle 2.2s 0.1s ease-in-out infinite; }
.gm-sparkle-5 { top: 35%; left: 45%; animation: gmSparkle 3.2s 2s ease-in-out infinite; }

@keyframes gmSparkle {
    0%, 100% { opacity: 0; transform: scale(0.5) rotate(0deg); }
    50% { opacity: 1; transform: scale(1.2) rotate(180deg); }
}

/* Coin stamp easter egg */
.game-mode .gm-coin-stamp {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    font-family: var(--gm-font-display);
    font-size: clamp(20px, 3vw, 32px);
    color: rgba(230,81,0,0.35);
    text-shadow: 0 1px 0 rgba(255,255,255,0.15);
    letter-spacing: 4px;
    z-index: 2;
    pointer-events: none;
    text-transform: uppercase;
}

/* ═══ GENERIC OVERRIDES ═══ */
.game-mode,
.game-mode body,
.game-mode .vault-page,
.game-mode .page-wrap,
.game-mode .container,
.game-mode .container-sm,
.game-mode .container-lg,
.game-mode main {
    color: var(--gm-text) !important;
}

.game-mode hr { border-color: rgba(255,255,255,0.15) !important; }
.game-mode a { color: var(--gm-cyan) !important; }
.game-mode a:hover { color: var(--gm-gold) !important; }

.game-mode [class*="badge"],
.game-mode [class*="tag"],
.game-mode [class*="chip"] {
    background: rgba(0,0,0,0.2) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    color: var(--gm-gold) !important;
    border-radius: 20px !important;
    font-family: var(--gm-font-body) !important;
    font-weight: 800;
}

/* ═══ MOBILE OPTIMIZATION ═══ */
.game-mode .wealth-card,
.game-mode .section-card,
.game-mode .sphere-wrap::before {
    will-change: transform, opacity;
}

.game-mode button,
.game-mode a,
.game-mode .activity-item {
    -webkit-tap-highlight-color: transparent;
}

@media (max-width: 480px) {
    .game-mode .sphere-wrap::before { width: 140px !important; height: 140px !important; }
    .game-mode .section-card { animation: none !important; }
}

@media (prefers-reduced-motion: reduce) {
    .game-mode * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ═══ TOGGLE BUTTON STYLES ═══ */
.gm-toggle-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 44px;
    min-height: 44px;
    border-radius: 50%;
    border: 2px solid rgba(168,85,247,0.3);
    background: rgba(30,30,50,0.6);
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    transition: all 0.3s ease;
    -webkit-tap-highlight-color: transparent;
    position: relative;
    padding: 0;
    margin: 0 4px;
}

.gm-toggle-btn:hover { border-color: rgba(255,215,0,0.5); background: rgba(255,215,0,0.1); }

.gm-toggle-btn.gm-active {
    border-color: #FFD700 !important;
    background: rgba(255,215,0,0.2) !important;
    box-shadow: 0 0 12px rgba(255,215,0,0.4), 0 0 24px rgba(255,215,0,0.15) !important;
    animation: gmToggleGlow 2s ease-in-out infinite;
}

@keyframes gmToggleGlow {
    0%, 100% { box-shadow: 0 0 12px rgba(255,215,0,0.4), 0 0 24px rgba(255,215,0,0.15); }
    50% { box-shadow: 0 0 18px rgba(255,215,0,0.6), 0 0 36px rgba(255,215,0,0.25); }
}

.gm-toggle-btn.gm-bouncing { animation: gmToggleBounce 0.4s ease-out; }

@keyframes gmToggleBounce {
    0% { transform: rotate(0deg) scale(1); }
    30% { transform: rotate(15deg) scale(1.15); }
    60% { transform: rotate(-10deg) scale(0.95); }
    100% { transform: rotate(0deg) scale(1); }
}

.gm-mobile-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 16px;
    font-family: 'Nunito', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: rgba(255,255,255,0.7);
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.gm-mobile-row .gm-mobile-label {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* ═══════════════════════════════════════════════════════════════════
   GAME MODE ENHANCEMENTS — Level 2 Polish
   ═══════════════════════════════════════════════════════════════════ */

/* ─── GOLDEN COIN SHIMMER SWEEP ─── */
.game-mode .sphere-wrap::before {
    overflow: hidden;
}

.game-mode .sphere-overlay::after {
    content: '';
    position: absolute;
    top: -10%; left: -60%;
    width: 30%;
    height: 120%;
    background: linear-gradient(
        105deg,
        transparent 30%,
        rgba(255,255,255,0.35) 45%,
        rgba(255,255,255,0.5) 50%,
        rgba(255,255,255,0.35) 55%,
        transparent 70%
    );
    animation: gmCoinShimmer 4s ease-in-out infinite;
    pointer-events: none;
    z-index: 5;
    border-radius: 50%;
}

@keyframes gmCoinShimmer {
    0%, 100% { left: -60%; opacity: 0; }
    10% { opacity: 1; }
    50% { left: 120%; opacity: 1; }
    60%, 100% { left: 120%; opacity: 0; }
}

/* ─── IMPROVED SPARKLES — Multi-color, CSS stars ─── */
.game-mode .gm-sparkle {
    font-size: 14px;
    filter: drop-shadow(0 0 3px currentColor);
}

.gm-sparkle-1 { color: #FFD700 !important; }
.gm-sparkle-2 { color: #00E5FF !important; }
.gm-sparkle-3 { color: #FFD700 !important; }
.gm-sparkle-4 { color: #FF9800 !important; }
.gm-sparkle-5 { color: #FFFFFF !important; }

/* ─── BUY ACTIVITY ICON — add glow for consistency ─── */
.game-mode .activity-icon.buy {
    text-shadow: 0 0 8px rgba(0,229,255,0.4);
}

/* ─── CARD HOVER GLOW ─── */
.game-mode .wealth-card:hover,
.game-mode .section-card:hover,
.game-mode .stat-card:hover,
.game-mode .pool-card:hover,
.game-mode .token-card:hover,
.game-mode .nft-card:hover {
    box-shadow: 0 4px 0 var(--gm-card-shadow), 0 6px 20px rgba(0,229,255,0.15), 0 0 30px rgba(0,229,255,0.08) !important;
    border-color: rgba(0,229,255,0.35) !important;
    transition: box-shadow 0.3s ease, border-color 0.3s ease !important;
}

/* ─── ACTIVITY ITEMS — slide in from left ─── */
.game-mode .activity-item {
    animation: gmSlideIn 0.35s ease-out both;
}

.game-mode .activity-item:nth-child(1) { animation-delay: 0.05s; }
.game-mode .activity-item:nth-child(2) { animation-delay: 0.08s; }
.game-mode .activity-item:nth-child(3) { animation-delay: 0.11s; }
.game-mode .activity-item:nth-child(4) { animation-delay: 0.14s; }
.game-mode .activity-item:nth-child(5) { animation-delay: 0.17s; }
.game-mode .activity-item:nth-child(6) { animation-delay: 0.20s; }
.game-mode .activity-item:nth-child(7) { animation-delay: 0.23s; }
.game-mode .activity-item:nth-child(8) { animation-delay: 0.26s; }

@keyframes gmSlideIn {
    0% { opacity: 0; transform: translateX(-12px); }
    100% { opacity: 1; transform: translateX(0); }
}

/* ─── IMPROVED BUTTON HOVER — subtle scale up ─── */
.game-mode button:not(.gm-toggle-btn):hover,
.game-mode .btn:hover,
.game-mode .claim-submit:hover {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 0 #00838F, 0 6px 14px rgba(0,0,0,0.25) !important;
}

.game-mode .btn-primary:hover,
.game-mode .claim-submit:hover {
    box-shadow: 0 5px 0 #E65100, 0 6px 14px rgba(0,0,0,0.25), 0 0 20px rgba(255,215,0,0.2) !important;
}

/* ─── FIREFOX SCROLLBAR ─── */
.game-mode {
    scrollbar-width: thin;
    scrollbar-color: #FFD700 rgba(0,0,0,0.2);
}

.game-mode * {
    scrollbar-width: thin;
    scrollbar-color: #FFD700 rgba(0,0,0,0.2);
}

/* ─── IMPROVED LINK CONTRAST ─── */
.game-mode a { color: #40E0FF !important; }
.game-mode a:hover { color: var(--gm-gold) !important; text-shadow: 0 0 6px rgba(255,215,0,0.3); }

/* ─── BADGE VARIANTS ─── */
.game-mode [class*="badge"].win,
.game-mode [class*="badge"].success,
.game-mode [class*="badge"].positive,
.game-mode .badge-success {
    background: rgba(76,175,80,0.2) !important;
    border-color: rgba(76,175,80,0.4) !important;
    color: var(--gm-green) !important;
}

.game-mode [class*="badge"].loss,
.game-mode [class*="badge"].danger,
.game-mode [class*="badge"].negative,
.game-mode .badge-danger {
    background: rgba(244,67,54,0.2) !important;
    border-color: rgba(244,67,54,0.4) !important;
    color: var(--gm-red) !important;
}

.game-mode [class*="badge"].info,
.game-mode .badge-info {
    background: rgba(0,229,255,0.15) !important;
    border-color: rgba(0,229,255,0.3) !important;
    color: var(--gm-cyan) !important;
}

/* ─── TOOLTIP / POPOVER ─── */
.game-mode [class*="tooltip"],
.game-mode [class*="Tooltip"],
.game-mode [class*="popover"],
.game-mode [class*="Popover"] {
    background: linear-gradient(180deg, #1976D2 0%, #1565C0 100%) !important;
    border: 2px solid #0D47A1 !important;
    border-radius: 12px !important;
    color: var(--gm-text) !important;
    box-shadow: 0 3px 0 #0D47A1, 0 4px 12px rgba(0,0,0,0.3) !important;
    font-family: var(--gm-font-body) !important;
}

/* ─── GOLDEN PULSING BORDER ON HERO ─── */
.game-mode .hero {
    border: 2px solid rgba(255,215,0,0.25) !important;
    animation: gmHeroPulse 4s ease-in-out infinite;
}

@keyframes gmHeroPulse {
    0%, 100% { border-color: rgba(255,215,0,0.2); }
    50% { border-color: rgba(255,215,0,0.45); }
}

/* ─── METRIC CARDS: COLORED VALUES ─── */
.game-mode .metric-value.positive,
.game-mode .metric-value[style*="color: #4CAF50"],
.game-mode .metric-value[style*="color: green"],
.game-mode .metric-value[style*="color: rgb(76, 175, 80)"] {
    color: var(--gm-green) !important;
    text-shadow: 0 0 10px rgba(76,175,80,0.4) !important;
}

.game-mode .metric-value.negative,
.game-mode .metric-value[style*="color: #F44336"],
.game-mode .metric-value[style*="color: red"],
.game-mode .metric-value[style*="color: rgb(244, 67, 54)"] {
    color: var(--gm-red) !important;
    text-shadow: 0 0 10px rgba(244,67,54,0.4) !important;
}

/* ─── GAME-STYLE PROGRESS BARS ─── */
.game-mode [class*="progress"],
.game-mode [class*="Progress"] {
    background: rgba(0,0,0,0.2) !important;
    border-radius: 10px !important;
    border: 1px solid rgba(255,255,255,0.1) !important;
    overflow: hidden;
    height: 12px !important;
}

.game-mode [class*="progress"] > *:first-child,
.game-mode [class*="Progress"] > *:first-child,
.game-mode [class*="progress-bar"],
.game-mode [class*="progressBar"] {
    background: linear-gradient(90deg, var(--gm-cyan) 0%, #00B8D4 100%) !important;
    border-radius: 10px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.3);
    position: relative;
}

/* ─── COUNTDOWN / TIMER styling ─── */
.game-mode [class*="countdown"],
.game-mode [class*="timer"],
.game-mode [class*="Timer"],
.game-mode [class*="Countdown"] {
    font-family: var(--gm-font-display) !important;
    color: var(--gm-orange) !important;
    text-shadow: 0 0 10px rgba(255,152,0,0.4);
}

/* ─── STREAK / LEVEL / XP styling ─── */
.game-mode [class*="streak"],
.game-mode [class*="Streak"],
.game-mode [class*="level"],
.game-mode [class*="Level"] {
    font-family: var(--gm-font-display) !important;
    color: var(--gm-gold) !important;
}

/* ─── TOAST SLIDE-IN ENHANCEMENT ─── */
.game-mode .apex-ui-toast {
    animation: gmToastSlide 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) both !important;
}

@keyframes gmToastSlide {
    0% { transform: translateY(-20px) scale(0.9); opacity: 0; }
    100% { transform: translateY(0) scale(1); opacity: 1; }
}

/* ─── SWAP / AMM PAGE ─── */
.game-mode .swap-card,
.game-mode [class*="swap-box"],
.game-mode [class*="SwapBox"],
.game-mode .liquidity-card {
    background: linear-gradient(180deg, var(--gm-card1) 0%, var(--gm-card2) 100%) !important;
    border: 2px solid var(--gm-card-border) !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 0 var(--gm-card-shadow), 0 6px 12px rgba(0,0,0,0.15) !important;
}

/* ─── LOADING SKELETON / PLACEHOLDER ─── */
.game-mode [class*="skeleton"],
.game-mode [class*="Skeleton"],
.game-mode [class*="placeholder"],
.game-mode [class*="loading"] {
    background: linear-gradient(90deg,
        rgba(255,255,255,0.05) 25%,
        rgba(255,255,255,0.12) 50%,
        rgba(255,255,255,0.05) 75%
    ) !important;
    background-size: 200% 100% !important;
    animation: gmSkeletonShimmer 1.5s ease-in-out infinite !important;
    border-radius: 8px !important;
}

@keyframes gmSkeletonShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

/* ─── IMPROVED COIN REFLECTION ─── */
.game-mode .sphere-wrap::before {
    background:
        radial-gradient(circle at 30% 25%, rgba(255,255,255,0.5) 0%, transparent 35%),
        radial-gradient(circle at 70% 70%, rgba(255,200,0,0.15) 0%, transparent 30%),
        radial-gradient(circle at 35% 30%, #FFE082 0%, #FFD700 30%, #FFA000 60%, #E65100 100%) !important;
    box-shadow:
        0 0 30px rgba(255,215,0,0.5),
        0 0 60px rgba(255,160,0,0.3),
        0 0 100px rgba(255,215,0,0.1),
        inset 0 -10px 25px rgba(0,0,0,0.35),
        inset 0 10px 25px rgba(255,255,255,0.25),
        inset 5px 0 15px rgba(255,255,255,0.1) !important;
}

/* ─── SUBTLE FLOATING BACKGROUND PARTICLES ─── */
.game-mode body::before {
    background:
        radial-gradient(2px 2px at 10% 20%, rgba(255,215,0,0.15) 50%, transparent 50%),
        radial-gradient(2px 2px at 30% 60%, rgba(0,229,255,0.1) 50%, transparent 50%),
        radial-gradient(2px 2px at 50% 35%, rgba(255,215,0,0.1) 50%, transparent 50%),
        radial-gradient(2px 2px at 70% 80%, rgba(0,229,255,0.08) 50%, transparent 50%),
        radial-gradient(2px 2px at 85% 15%, rgba(255,215,0,0.12) 50%, transparent 50%),
        radial-gradient(2px 2px at 95% 50%, rgba(0,229,255,0.1) 50%, transparent 50%),
        linear-gradient(180deg, var(--gm-bg1) 0%, var(--gm-bg2) 100%) !important;
}

/* ─── WIN RATE: % sign styling ─── */
.game-mode .metric-value .pct,
.game-mode .metric-value .percent {
    font-size: 0.7em;
    opacity: 0.7;
    vertical-align: super;
}

/* ─── AGENT CHATTERBOX in game mode ─── */
.game-mode #agent-chatterbox,
.game-mode .agent-chatterbox {
    background: linear-gradient(180deg, #1976D2 0%, #0D47A1 100%) !important;
    border: 2px solid var(--gm-card-border) !important;
    border-radius: 16px 16px 0 0 !important;
    box-shadow: 0 -2px 0 #0D47A1, -2px 0 0 #0D47A1, 2px 0 0 #0D47A1, 0 -6px 20px rgba(0,0,0,0.3) !important;
}

.game-mode #agent-chatterbox .chat-header,
.game-mode .agent-chatterbox .chat-header {
    font-family: var(--gm-font-display) !important;
    color: var(--gm-gold) !important;
    border-bottom: 2px solid rgba(255,215,0,0.2) !important;
}

.game-mode #agent-chatterbox .chat-msg,
.game-mode .agent-chatterbox .chat-msg {
    font-family: var(--gm-font-body) !important;
    color: var(--gm-text2) !important;
}

/* ─── IMPROVED MOBILE GAME FEEL ─── */
@media (max-width: 600px) {
    .game-mode .wealth-card,
    .game-mode .section-card,
    .game-mode .stat-card,
    .game-mode .metric {
        border-radius: 14px !important;
        margin-bottom: 8px !important;
    }

    /* Bigger touch targets on mobile */
    .game-mode button:not(.gm-toggle-btn),
    .game-mode .btn {
        min-height: 48px !important;
        font-size: 14px !important;
    }

    /* Activity items less animation on mobile for perf */
    .game-mode .activity-item {
        animation: none !important;
    }

    /* Coin shimmer off on mobile for perf */
    .game-mode .sphere-overlay::after {
        animation-duration: 6s;
    }
}


/* ─── DEPOSIT/WITHDRAW — game mode overrides (all sizes) ─── */
/* Override generic game-mode button/panel selectors for dw-preset buttons */
.game-mode .dw-preset {
    padding: 6px 2px !important;
    font-size: 10px !important;
    border-radius: 6px !important;
    background: rgba(0,0,0,0.2) !important;
    border: 1px solid rgba(255,255,255,0.15) !important;
    box-shadow: 0 2px 0 #00838F !important;
    color: var(--gm-text2) !important;
    font-family: var(--gm-font-body) !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    min-height: auto !important;
}
.game-mode .dw-wd-amounts .dw-preset {
    border-color: rgba(244,67,54,0.25) !important;
    color: #ff8a80 !important;
    box-shadow: 0 2px 0 #B71C1C !important;
}
.game-mode .dw-panel {
    box-shadow: 0 3px 0 var(--gm-card-shadow), 0 4px 8px rgba(0,0,0,0.1) !important;
}
.game-mode .btn-deposit {
    box-shadow: 0 3px 0 #4527A0, 0 4px 8px rgba(0,0,0,0.2) !important;
}
.game-mode .btn-withdraw {
    box-shadow: 0 3px 0 #B71C1C, 0 4px 8px rgba(0,0,0,0.2) !important;
}

/* ─── DEPOSIT/WITHDRAW — game mode MOBILE compact (fits 375px) ─── */
@media (max-width: 480px) {
    .game-mode .dw-section.section-card {
        padding: 5px 5px 6px !important;
        border-radius: 8px !important;
        margin-bottom: 6px !important;
    }
    .game-mode .dw-section > .section-title {
        margin-bottom: 3px !important;
        font-size: 7px !important;
        padding-bottom: 2px !important;
        border-bottom-width: 1px !important;
    }
    .game-mode .dw-token-toggle { padding: 1px !important; }
    .game-mode .dw-tab { padding: 2px 8px !important; font-size: 9px !important; }
    .game-mode .dw-grid { grid-template-columns: 1fr 1fr !important; gap: 4px !important; }
    .game-mode .dw-panel {
        padding: 5px 5px 4px !important;
        border-radius: 6px !important;
        box-shadow: 0 1px 0 var(--gm-card-shadow) !important;
    }
    .game-mode .dw-header {
        font-size: 7px !important;
        margin-bottom: 2px !important;
        letter-spacing: 0.5px !important;
    }
    .game-mode .dw-panel input {
        padding: 4px 6px !important;
        font-size: 11px !important;
        border-radius: 4px !important;
        margin-bottom: 1px !important;
    }
    .game-mode .dw-unit { font-size: 8px !important; right: 5px !important; }
    .game-mode .dw-bal {
        margin: 0 0 1px !important;
        font-size: 7px !important;
    }
    .game-mode .dw-amounts {
        gap: 2px !important;
        margin-bottom: 1px !important;
    }
    .game-mode .dw-preset {
        padding: 2px 1px !important;
        font-size: 7px !important;
        border-radius: 3px !important;
        box-shadow: 0 1px 0 #00838F !important;
    }
    .game-mode .dw-wd-amounts .dw-preset {
        box-shadow: 0 1px 0 #B71C1C !important;
    }
    .game-mode .dw-preview {
        font-size: 7px !important;
        margin-bottom: 2px !important;
    }
    .game-mode .btn-deposit,
    .game-mode .btn-withdraw {
        padding: 4px !important;
        font-size: 8px !important;
        border-radius: 4px !important;
        letter-spacing: 0.5px !important;
        box-shadow: 0 1px 0 #4527A0 !important;
    }
    .game-mode .btn-withdraw {
        box-shadow: 0 1px 0 #B71C1C !important;
    }
}
