/**
 * BILIA  — space.css (Dashboard complet)
 */

.dashboard{padding-top:9rem;max-width:1200px;margin:0 auto;padding-bottom:6rem;position:relative;z-index:1}
.section-title{font-family:var(--font-head);font-size:2.2rem;font-weight:700;color:var(--main-color);text-transform:uppercase;letter-spacing:.1em;margin-bottom:2rem;display:flex;align-items:center;gap:1rem}

/* PROFILE HERO */
.profile-section{padding:3rem 2rem 1rem}
.profile-card{display:flex;gap:3rem;align-items:center;background:var(--surface);border:.1rem solid var(--border-color);border-radius:1.5rem;padding:3rem;flex-wrap:wrap;position:relative;overflow:hidden}
.profile-card::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 15% 30%,rgba(var(--main-color-rgb),.06),transparent 55%);pointer-events:none}
.profile-avatar{width:12rem;height:12rem;border-radius:50%;background:var(--surface-2);border:.3rem solid var(--main-color);box-shadow:var(--glow-shadow);display:flex;align-items:center;justify-content:center;font-size:4rem;color:var(--main-color);flex-shrink:0;overflow:hidden;animation:biliaGlowPulse 4s ease-in-out infinite}
.profile-avatar img{width:100%;height:100%;object-fit:cover}
.profile-info{flex:1;min-width:20rem}
.profile-name{font-family:var(--font-head);font-size:3rem;font-weight:700;color:var(--white);margin-bottom:.5rem}
.profile-username{font-size:1.4rem;color:var(--muted);margin-bottom:1.5rem}
.profile-rank{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}
.rank-badge{background:linear-gradient(135deg,rgba(var(--main-color-rgb),.2),rgba(var(--accent-rgb),.15));border:.1rem solid var(--main-color);color:var(--main-color);padding:.6rem 1.6rem;border-radius:2rem;font-family:var(--font-head);font-size:1.5rem;font-weight:600;letter-spacing:.07em;animation:neonPulse 3s ease-in-out infinite}
.rank-xp{font-size:1.4rem;color:var(--muted)}
.profile-stats{display:flex;gap:2rem;flex-wrap:wrap}
.stat-chip{display:flex;flex-direction:column;align-items:center;background:var(--bg-color);border:.1rem solid var(--border-color);border-radius:1rem;padding:1.2rem 2.5rem;min-width:9rem;transition:var(--transition)}
.stat-chip:hover{border-color:var(--main-color);box-shadow:var(--glow-shadow)}
.stat-chip__value{font-family:var(--font-head);font-size:2.4rem;font-weight:700;color:var(--main-color)}
.stat-chip__label{font-size:1.1rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.3rem}

/* XP BAR */
.xp-section{padding:0 2rem 2rem}
.xp-bar-wrapper{background:var(--surface);border:.1rem solid var(--border-color);border-radius:1rem;padding:2rem 2.5rem}
.xp-bar-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}
.xp-level{font-family:var(--font-head);font-size:2rem;font-weight:700;color:var(--white)}
.xp-rank{font-family:var(--font-head);font-size:1.6rem;font-weight:600}
.xp-points{font-size:1.4rem;color:var(--muted)}
.xp-bar-track{height:1.2rem;background:var(--surface-2);border-radius:2rem;overflow:hidden;border:.05rem solid var(--border-color)}
.xp-bar-fill{height:100%;background:linear-gradient(90deg,var(--main-color),var(--accent));border-radius:2rem;box-shadow:0 0 10px rgba(var(--main-color-rgb),.5);transition:width 1s cubic-bezier(.16,1,.3,1)}
.xp-bar-sub{display:flex;justify-content:space-between;margin-top:.8rem;font-size:1.2rem;color:var(--muted)}

/* STATS GRID */
.stats-section{padding:1rem 2rem 2rem}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem}
.stats-card{background:var(--surface);border:.1rem solid var(--border-color);border-radius:1rem;padding:2.5rem 2rem;text-align:center;transition:var(--transition)}
.stats-card:hover{border-color:var(--main-color);box-shadow:var(--glow-shadow);transform:translateY(-4px)}
.stats-card__icon{font-size:2.5rem;margin-bottom:1rem;display:block}
.stats-card__value{font-family:var(--font-head);font-size:3rem;font-weight:700;color:var(--main-color);display:block}
.stats-card__label{font-size:1.2rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.4rem;display:block}

/* GAMES GRID */
.games-section{padding:1rem 2rem 2rem}
.games-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));gap:1.5rem}
.game-card{background:var(--surface);border:.1rem solid var(--border-color);border-radius:1rem;overflow:hidden;transition:var(--transition);display:block}
.game-card:hover{transform:translateY(-5px);border-color:var(--main-color);box-shadow:var(--glow-shadow)}
.game-card__thumb{height:10rem;display:flex;align-items:center;justify-content:center;font-size:3rem;color:rgba(255,255,255,.3);position:relative;overflow:hidden}
.game-card__thumb::after{content:'Jouer';position:absolute;inset:0;background:rgba(var(--main-color-rgb),.85);display:flex;align-items:center;justify-content:center;color:var(--black);font-family:var(--font-head);font-size:1.8rem;font-weight:700;letter-spacing:.1em;opacity:0;transition:var(--transition)}
.game-card:hover .game-card__thumb::after{opacity:1}
.game-card__info{padding:1.2rem 1.5rem}
.game-card__name{display:block;font-family:var(--font-head);font-size:1.6rem;font-weight:600;color:var(--white)}
.game-card__cat{display:block;font-size:1.2rem;color:var(--main-color);margin-top:.3rem;text-transform:uppercase;letter-spacing:.07em}
.game-card__meta{display:flex;justify-content:space-between;margin-top:.6rem;font-size:1.2rem;color:var(--muted)}
.game-card__resume-badge{background:rgba(var(--main-color-rgb),.15);border:.05rem solid var(--main-color);color:var(--main-color);font-size:1rem;padding:.2rem .8rem;border-radius:1rem;text-transform:uppercase;letter-spacing:.05em}

/* BADGES */
.badges-section{padding:1rem 2rem 2rem}
.badges-grid{display:flex;flex-wrap:wrap;gap:1.5rem}
.badge-card{display:flex;flex-direction:column;align-items:center;gap:.6rem;width:12rem;padding:2rem 1rem;border-radius:1rem;border:.1rem solid var(--border-color);background:var(--surface);cursor:pointer;transition:var(--transition);text-align:center;position:relative}
.badge-card--earned{border-color:var(--main-color);background:rgba(var(--main-color-rgb),.07);box-shadow:0 0 1.5rem rgba(var(--main-color-rgb),.2);animation:badgePop .4s ease both}
.badge-card--locked{opacity:.35;filter:grayscale(.9)}
.badge-card:hover{transform:scale(1.06)}
.badge-card--earned:hover{box-shadow:var(--glow-shadow)}
.badge-card__icon{font-size:3.5rem}
.badge-card__label{font-size:1.2rem;color:var(--light-white);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.badge-card__lock{position:absolute;top:.6rem;right:.6rem}

/* THEMES SECTION */
.skins-section{padding:1rem 2rem 2rem}
.themes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(22rem,1fr));gap:1.5rem}
.theme-card{display:flex;flex-direction:column;gap:1rem;padding:0;border-radius:1.2rem;border:.15rem solid var(--border-color);background:var(--surface);cursor:pointer;transition:var(--transition);overflow:hidden}
.theme-card:hover{border-color:var(--main-color);transform:translateY(-4px);box-shadow:var(--glow-shadow)}
.theme-card--active{border-color:var(--main-color);background:rgba(var(--main-color-rgb),.06)}
.theme-card__preview{height:9rem;display:flex;align-items:center;justify-content:center;position:relative}
.theme-card__icon{font-size:3.5rem;position:relative;z-index:1}
.theme-card__dots{position:absolute;bottom:.8rem;left:50%;transform:translateX(-50%);display:flex;gap:.5rem}
.theme-card__dots span{width:1rem;height:1rem;border-radius:50%;display:block}
.theme-card__meta{padding:1rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.3rem}
.theme-card__label{font-family:var(--font-head);font-size:1.8rem;font-weight:700;color:var(--white);text-transform:uppercase}
.theme-card__tagline{font-size:1.2rem;color:var(--muted)}
.theme-card__active-badge{margin:0 1rem 1rem;background:rgba(var(--main-color-rgb),.15);border:.05rem solid var(--main-color);color:var(--main-color);font-size:1.2rem;font-weight:600;padding:.4rem 1rem;border-radius:.5rem;text-align:center;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em}

/* HISTORY */
.history-section{padding:1rem 2rem 2rem}
.history-table{width:100%;border-collapse:collapse}
.history-table th{font-family:var(--font-head);font-size:1.3rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:1rem 1.5rem;text-align:left;border-bottom:.1rem solid var(--border-color)}
.history-table td{padding:1.2rem 1.5rem;font-size:1.4rem;color:var(--light-white);border-bottom:.05rem solid rgba(var(--main-color-rgb),.05);vertical-align:middle}
.history-table tr:hover td{background:rgba(var(--main-color-rgb),.04)}
.history-score{font-family:var(--font-head);font-weight:700;color:var(--main-color)}
.history-xp{color:#ffd700;font-weight:600}
.history-empty{text-align:center;padding:3rem;color:var(--muted);font-size:1.5rem}

/* CERT */
.cert-section{padding:1rem 2rem 2rem}
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(24rem,1fr));gap:1.5rem}
.cert-card{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:3rem 2rem;border-radius:1rem;border:.1rem solid var(--border-color);background:var(--surface);cursor:pointer;transition:var(--transition);text-align:center;font-size:1.5rem;color:var(--light-white)}
.cert-card:hover{border-color:var(--main-color);box-shadow:var(--glow-shadow);transform:translateY(-4px)}
.cert-card__icon{font-size:3rem;color:var(--main-color)}
.cert-card__dl{font-size:1.2rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}

/* Responsive */
@media(max-width:768px){
    .profile-card{flex-direction:column;text-align:center}
    .profile-stats{justify-content:center}
    .profile-rank{justify-content:center}
    .stat-chip{padding:1rem 1.5rem;min-width:7rem}
}
