/* ============================================================
   GREEN HAVEN RP — Main Stylesheet
   ============================================================ */
:root {
  --green-primary: #2ECC71;
  --green-neon:    #39FF14;
  --green-dark:    #1A5C35;
  --green-mid:     #27AE60;
  --green-glow:    rgba(46, 204, 113, 0.25);
  --bg-black:      #050F0A;
  --bg-dark:       #0A1A10;
  --bg-card:       #0E2117;
  --bg-glass:      rgba(14, 33, 23, 0.75);
  --white-ivory:   #F0F7F0;
  --white-dim:     #B0C8B5;
  --grey-mid:      #556B5C;
  --border-green:  rgba(46, 204, 113, 0.2);
  --shadow-green:  0 0 24px rgba(57, 255, 20, 0.15);
  --font-main:     'Helvetica Neue', Helvetica, Arial, sans-serif;
  --radius:        12px;
  --transition:    0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: var(--font-main); background: var(--bg-black); color: var(--white-ivory); line-height: 1.65; overflow-x: hidden; }
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--bg-dark); }
::-webkit-scrollbar-thumb { background: var(--green-dark); border-radius: 3px; }
h1,h2,h3,h4 { font-weight: 700; letter-spacing: -0.02em; }
h1 { font-size: clamp(2.4rem,6vw,4.5rem); line-height: 1.05; }
h2 { font-size: clamp(1.8rem,4vw,2.8rem); line-height: 1.15; }
h3 { font-size: clamp(1.2rem,2.5vw,1.6rem); }
p  { font-size: 1.0625rem; color: var(--white-dim); }
.section-label { font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--green-primary);margin-bottom:.75rem; }
.container { max-width:1200px;margin:0 auto;padding:0 1.5rem; }
section { padding:6rem 0; }
.btn { display:inline-flex;align-items:center;gap:.5rem;padding:.875rem 1.75rem;border-radius:999px;font-weight:700;font-size:.9375rem;cursor:pointer;transition:var(--transition);border:none; }
.btn-primary { background:var(--green-primary);color:var(--bg-black);box-shadow:0 0 20px rgba(46,204,113,.4); }
.btn-primary:hover { background:var(--green-neon);box-shadow:0 0 35px rgba(57,255,20,.55);transform:translateY(-2px); }
.btn-outline { background:transparent;color:var(--white-ivory);border:2px solid var(--border-green);backdrop-filter:blur(8px); }
.btn-outline:hover { border-color:var(--green-primary);color:var(--green-primary);box-shadow:var(--shadow-green);transform:translateY(-2px); }
/* NAV */
#navbar { position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.25rem 0;transition:var(--transition); }
#navbar.scrolled { background:rgba(5,15,10,.92);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-green);padding:.75rem 0; }
.nav-inner { display:flex;align-items:center;justify-content:space-between; }
.nav-logo { display:flex;align-items:center;gap:.75rem; }
.nav-logo img { width:44px;height:44px;object-fit:contain; }
.nav-logo span { font-weight:800;font-size:1.1rem;color:var(--white-ivory); }
.nav-logo span em { color:var(--green-primary);font-style:normal; }
.nav-links { display:flex;align-items:center;gap:2rem; }
.nav-links a { font-size:.9rem;font-weight:600;color:var(--white-dim);transition:color var(--transition);position:relative; }
.nav-links a::after { content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--green-primary);transition:width var(--transition);border-radius:2px; }
.nav-links a:hover,.nav-links a.active { color:var(--green-primary); }
.nav-links a:hover::after,.nav-links a.active::after { width:100%; }
.nav-cta { margin-left:1rem; }
.hamburger { display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px; }
.hamburger span { width:24px;height:2px;background:var(--white-ivory);border-radius:2px;transition:var(--transition); }
/* HERO */
#hero { position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden; }
.hero-bg { position:absolute;inset:0;background:url('../assets/img/hero-bg.png') center/cover no-repeat; }
.hero-bg::after { content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(5,15,10,.88) 0%,rgba(10,26,16,.72) 50%,rgba(5,15,10,.90) 100%); }
.hero-particles { position:absolute;inset:0;pointer-events:none; }
.hero-content { position:relative;z-index:2;max-width:760px; }
.hero-badge { display:inline-flex;align-items:center;gap:.5rem;background:rgba(46,204,113,.12);border:1px solid rgba(46,204,113,.3);border-radius:999px;padding:.4rem 1rem;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-primary);margin-bottom:1.5rem; }
.hero-badge .dot,.status-badge .dot { width:7px;height:7px;background:var(--green-neon);border-radius:50%;box-shadow:0 0 8px var(--green-neon);animation:pulse-dot 2s infinite; }
@keyframes pulse-dot { 0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)} }
.hero-title { color:var(--white-ivory);margin-bottom:1.25rem; }
.hero-title .highlight { color:var(--green-primary); }
.hero-subtitle { font-size:clamp(1rem,2vw,1.2rem);color:var(--white-dim);margin-bottom:2.5rem;max-width:560px; }
.hero-actions { display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem; }
.hero-stats { display:flex;gap:2.5rem;flex-wrap:wrap; }
.hero-stat { display:flex;flex-direction:column; }
.hero-stat .value { font-size:1.75rem;font-weight:800;color:var(--white-ivory);line-height:1; }
.hero-stat .label { font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-mid);margin-top:.25rem; }
.status-badge { display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;color:var(--green-primary); }
/* SECTION HEADERS */
.section-header { text-align:center;margin-bottom:3.5rem; }
.section-header h2 { color:var(--white-ivory);margin-bottom:.75rem; }
.section-header p { max-width:560px;margin:0 auto; }
.divider { width:60px;height:3px;background:linear-gradient(90deg,var(--green-primary),var(--green-neon));border-radius:2px;margin:1rem auto 0; }
/* CARDS */
.card { background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);padding:2rem;transition:var(--transition); }
.card:hover { border-color:rgba(46,204,113,.45);box-shadow:var(--shadow-green);transform:translateY(-4px); }
/* ABOUT */
#about { background:var(--bg-dark); }
.about-grid { display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center; }
.about-features { display:flex;flex-direction:column;gap:1rem;margin-top:2rem; }
.about-feature { display:flex;gap:1rem;align-items:flex-start;padding:1.25rem;background:rgba(46,204,113,.05);border:1px solid var(--border-green);border-radius:var(--radius); }
.about-feature .icon { font-size:1.5rem;flex-shrink:0; }
.about-feature h4 { color:var(--white-ivory);font-size:1rem;margin-bottom:.25rem; }
.about-feature p { font-size:.9rem;margin:0; }
.about-visual { position:relative; }
.about-img-wrap { border-radius:var(--radius);overflow:hidden;border:2px solid var(--border-green);box-shadow:var(--shadow-green); }
.about-img-wrap img { width:100%;height:380px;object-fit:cover; }
.about-badge { position:absolute;bottom:-1.5rem;left:-1.5rem;background:var(--bg-card);border:1px solid var(--green-primary);border-radius:var(--radius);padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;box-shadow:var(--shadow-green); }
.about-badge .big-num { font-size:2rem;font-weight:800;color:var(--green-primary);line-height:1; }
.about-badge .ab-label { font-size:.8rem;color:var(--white-dim); }
/* JOBS */
#jobs { background:var(--bg-black); }
.jobs-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem; }
.job-card { background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);padding:1.75rem;transition:var(--transition); }
.job-card:hover { border-color:var(--green-primary);box-shadow:var(--shadow-green);transform:translateY(-4px); }
.job-card .emoji { font-size:2rem;margin-bottom:1rem; }
.job-card h3 { font-size:1.1rem;color:var(--white-ivory);margin-bottom:.5rem; }
.job-card p { font-size:.875rem; }
.job-tag { display:inline-block;margin-top:.875rem;padding:.25rem .75rem;border-radius:999px;font-size:.75rem;font-weight:700; }
.tag-legal   { background:rgba(46,204,113,.15);color:var(--green-primary); }
.tag-illegal { background:rgba(231,76,60,.15);color:#E74C3C; }
/* GALLERY */
#gallery { background:var(--bg-dark); }
.gallery-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem; }
.gallery-item { position:relative;border-radius:var(--radius);overflow:hidden;cursor:pointer;aspect-ratio:16/10;border:1px solid var(--border-green); }
.gallery-item img { width:100%;height:100%;object-fit:cover;transition:transform .5s ease; }
.gallery-overlay { position:absolute;inset:0;background:rgba(5,15,10,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity var(--transition);font-size:2rem; }
.gallery-item:hover img { transform:scale(1.07); }
.gallery-item:hover .gallery-overlay { opacity:1; }
/* LIGHTBOX */
#lightbox { position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;display:none;align-items:center;justify-content:center;backdrop-filter:blur(8px); }
#lightbox.open { display:flex; }
#lightbox img { max-width:90vw;max-height:85vh;border-radius:var(--radius);border:1px solid var(--border-green);box-shadow:var(--shadow-green); }
.lb-close,.lb-nav { background:var(--bg-card);border:1px solid var(--border-green);color:var(--white-ivory);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition); }
.lb-close { position:absolute;top:1.5rem;right:1.5rem;width:44px;height:44px;font-size:1.25rem; }
.lb-nav { position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;font-size:1.25rem; }
.lb-close:hover,.lb-nav:hover { border-color:var(--green-primary);color:var(--green-primary); }
#lb-prev { left:1.5rem; }
#lb-next { right:1.5rem; }
/* STATS */
#stats { background:var(--bg-black); }
.stats-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem; }
.stat-card { background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);padding:2rem;text-align:center;transition:var(--transition); }
.stat-card:hover { border-color:var(--green-primary);box-shadow:var(--shadow-green); }
.stat-card .emoji { font-size:2rem;margin-bottom:.75rem; }
.stat-card .big { font-size:2.5rem;font-weight:800;color:var(--green-primary);line-height:1; }
.stat-card .lbl { font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--white-dim);margin-top:.5rem; }
/* RANKING */
#ranking { background:var(--bg-dark); }
.ranking-cards { display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem; }
.rank-card { background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);padding:2rem;display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap; }
.rank-logo img { width:60px;height:60px;object-fit:contain; }
.rank-info { flex:1; }
.rank-info h4 { color:var(--white-ivory);font-size:1.1rem;margin-bottom:.25rem; }
.rank-info p { font-size:.85rem;margin:0; }
.rank-votes { font-size:1.1rem;font-weight:700;color:var(--green-primary);margin-top:.5rem; }
.rank-btn { white-space:nowrap; }
/* VIP */
#vip { background:var(--bg-black);position:relative;overflow:hidden; }
#vip::before { content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(46,204,113,.06) 0%,transparent 70%);pointer-events:none; }
.vip-header { text-align:center;margin-bottom:3rem; }
.vip-price { font-size:clamp(3rem,8vw,5rem);font-weight:900;color:var(--green-primary);line-height:1;text-shadow:0 0 40px rgba(46,204,113,.5); }
.vip-price small { font-size:1.5rem;color:var(--white-dim);font-weight:400; }
.vip-layout { display:grid;grid-template-columns:1fr 1.5fr;gap:3rem;align-items:start; }
.vip-card { background:var(--bg-card);border:1px solid var(--green-primary);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow-green);position:relative; }
.vip-card::before { content:'★ VIP';position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--green-primary);color:var(--bg-black);font-size:.75rem;font-weight:800;padding:.25rem 1rem;border-radius:999px;letter-spacing:.1em; }
.vip-benefits { display:flex;flex-direction:column;gap:.875rem;margin-bottom:2rem; }
.vip-benefit { display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:rgba(46,204,113,.07);border-radius:8px;border-left:3px solid var(--green-primary);font-size:.9375rem;color:var(--white-ivory); }
.vip-benefit .emoji { flex-shrink:0; }
.vip-cta-wrap { text-align:center; }
.vip-cta-wrap p { margin-top:.75rem;font-size:.85rem; }
.vip-conditions { background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);padding:2rem; }
.vip-conditions h3 { color:var(--white-ivory);margin-bottom:1.25rem; }
.vip-cond-item { display:flex;gap:.75rem;margin-bottom:1rem;font-size:.9375rem;color:var(--white-dim); }
.vip-cond-item::before { content:'→';color:var(--green-primary);flex-shrink:0; }
/* LORE */
#lore { background:var(--bg-dark); }
.lore-layout { display:grid;grid-template-columns:1fr 2fr;gap:4rem;align-items:start; }
.lore-nav { position:sticky;top:7rem; }
.lore-nav-item { display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;cursor:pointer;transition:var(--transition);color:var(--white-dim);font-size:.9rem;font-weight:600; }
.lore-nav-item:hover,.lore-nav-item.active { background:rgba(46,204,113,.08);color:var(--green-primary); }
.lore-nav-item .dot { width:8px;height:8px;background:var(--border-green);border-radius:50%;transition:background var(--transition);flex-shrink:0; }
.lore-nav-item.active .dot { background:var(--green-primary);box-shadow:0 0 6px var(--green-primary); }
.lore-chapter { margin-bottom:3rem; }
.lore-chapter h3 { color:var(--green-primary);margin-bottom:1rem;font-size:1.3rem; }
.lore-chapter p { margin-bottom:1rem;color:var(--white-dim); }
.lore-quote { margin:1.5rem 0;padding:1.25rem 1.5rem;border-left:3px solid var(--green-primary);background:rgba(46,204,113,.05);border-radius:0 8px 8px 0;font-style:italic;color:var(--white-dim); }
/* REGLEMENT */
#reglement { background:var(--bg-black); }
.reglement-layout { display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:start; }
.reg-sidebar { position:sticky;top:7rem; }
.reg-search { display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);padding:.625rem 1rem;margin-bottom:1.5rem;transition:var(--transition); }
.reg-search:focus-within { border-color:var(--green-primary);box-shadow:var(--shadow-green); }
.reg-search input { background:none;border:none;outline:none;color:var(--white-ivory);font-size:.9rem;width:100%;font-family:var(--font-main); }
.reg-search input::placeholder { color:var(--grey-mid); }
.reg-toc h4 { font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-mid);margin-bottom:.75rem; }
.reg-toc-item { display:block;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:600;color:var(--white-dim);transition:var(--transition);cursor:pointer; }
.reg-toc-item:hover,.reg-toc-item.active { background:rgba(46,204,113,.08);color:var(--green-primary); }
.reg-content { min-width:0; }
.reg-section { margin-bottom:2.5rem;scroll-margin-top:7rem; }
.reg-section h3 { color:var(--white-ivory);font-size:1.2rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-green);margin-bottom:1.25rem; }
.reg-rule { display:flex;gap:1rem;padding:.875rem 0;border-bottom:1px solid rgba(46,204,113,.07);font-size:.9375rem;color:var(--white-dim);transition:background var(--transition); }
.reg-rule:hover { background:rgba(46,204,113,.03);padding-left:.5rem;border-radius:6px; }
.reg-rule .rule-num { font-weight:700;color:var(--green-primary);min-width:26px;flex-shrink:0; }
.reg-rule.highlight { background:rgba(255,200,0,.05);border-left:3px solid #F1C40F;padding-left:.75rem;border-radius:0 6px 6px 0; }
.reg-download { display:inline-flex;align-items:center;gap:.5rem;margin-top:2rem;padding:.75rem 1.5rem;background:rgba(46,204,113,.1);border:1px solid var(--green-primary);border-radius:var(--radius);color:var(--green-primary);font-weight:700;transition:var(--transition); }
.reg-download:hover { background:var(--green-primary);color:var(--bg-black); }
/* SOCIALS */
#socials { background:var(--bg-dark); }
.socials-grid { display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem; }
.social-card { display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.5rem 2rem;background:var(--bg-card);border:1px solid var(--border-green);border-radius:var(--radius);transition:var(--transition);gap:1rem; }
.social-card:hover { transform:translateY(-6px);border-color:var(--green-primary);box-shadow:var(--shadow-green); }
.social-icon { width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.75rem; }
.social-card h4 { color:var(--white-ivory);font-size:1rem; }
.social-card p { font-size:.85rem;margin:0; }
.social-link { font-size:.85rem;font-weight:700;color:var(--green-primary);transition:color var(--transition); }
.social-card:hover .social-link { color:var(--green-neon); }
.si-tiktok    { background:rgba(0,0,0,.4);border:1px solid rgba(255,255,255,.1); }
.si-instagram { background:linear-gradient(135deg,rgba(193,53,132,.3),rgba(255,220,128,.2)); }
.si-facebook  { background:rgba(24,119,242,.2); }
.si-discord   { background:rgba(88,101,242,.2); }
/* FOOTER */
footer { background:var(--bg-dark);border-top:1px solid var(--border-green);padding:3rem 0 2rem; }
.footer-inner { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem; }
.footer-col h5 { font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--grey-mid);margin-bottom:1rem; }
.footer-col a { display:block;font-size:.9rem;color:var(--white-dim);margin-bottom:.5rem;transition:color var(--transition); }
.footer-col a:hover { color:var(--green-primary); }
.footer-bottom { border-top:1px solid var(--border-green);padding-top:1.5rem;display:flex;align-items:center;justify-content:space-between;font-size:.8rem;color:var(--grey-mid); }
.footer-bottom a { color:var(--green-primary); }
/* REVEAL */
.reveal { opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1;transform:translateY(0); }
/* BACK TO TOP */
#btt { position:fixed;bottom:2rem;right:2rem;width:44px;height:44px;background:var(--green-primary);color:var(--bg-black);border-radius:50%;display:none;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;z-index:999;box-shadow:0 0 20px rgba(46,204,113,.5);transition:var(--transition);border:none; }
#btt.show { display:flex; }
#btt:hover { background:var(--green-neon);transform:scale(1.1); }
/* RESPONSIVE */
@media(max-width:768px){
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:rgba(5,15,10,.98);backdrop-filter:blur(20px);padding:1.5rem;gap:1.25rem;border-bottom:1px solid var(--border-green);}
  .nav-links.open{display:flex;}
  .hamburger{display:flex;}
  .about-grid,.lore-layout,.reglement-layout,.vip-layout{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr;gap:2rem;}
  .hero-stats{gap:1.5rem;}
  .about-badge{position:static;margin-top:1rem;}
  .lore-nav,.reg-sidebar{position:static;}
  section{padding:4rem 0;}
}

/* ===== TOP-SERVEURS CARD ===== */
.ts-card {
  background: var(--bg-card);
  border: 1px solid var(--border-green);
  border-radius: var(--radius);
  overflow: hidden;
  max-width: 860px;
  margin: 0 auto;
  box-shadow: var(--shadow-green);
}

/* Header */
.ts-card-header {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2rem;
  border-bottom: 1px solid var(--border-green);
  flex-wrap: wrap;
}
.ts-server-logo {
  width: 80px;
  height: 80px;
  object-fit: contain;
  border-radius: 50%;
  border: 2px solid var(--border-green);
  flex-shrink: 0;
}
.ts-header-info {
  flex: 1;
  min-width: 0;
}
.ts-name {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--white-ivory);
  margin-bottom: 0.5rem;
}
.ts-tags {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}
.ts-tag {
  background: rgba(46, 204, 113, 0.1);
  border: 1px solid var(--border-green);
  color: var(--green-primary);
  font-size: 0.75rem;
  font-weight: 700;
  padding: 0.2rem 0.65rem;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.ts-rank-badge {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.ts-rank-label {
  font-size: 0.8rem;
  color: var(--grey-mid);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ts-rank-num {
  font-size: 1.75rem;
  font-weight: 900;
  color: var(--green-primary);
  line-height: 1;
  text-shadow: 0 0 20px rgba(46, 204, 113, 0.4);
}
.ts-vote-btn {
  white-space: nowrap;
  flex-shrink: 0;
}

/* Stats grid */
.ts-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
}
.ts-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.75rem 1rem;
  border-right: 1px solid var(--border-green);
  transition: background var(--transition);
}
.ts-stat:last-child { border-right: none; }
.ts-stat:hover { background: rgba(46, 204, 113, 0.04); }
.ts-stat-highlight {
  background: rgba(46, 204, 113, 0.06);
}
.ts-stat-highlight .ts-stat-val {
  color: var(--green-primary);
  text-shadow: 0 0 20px rgba(46, 204, 113, 0.4);
}
.ts-stat-icon { font-size: 1.5rem; margin-bottom: 0.5rem; }
.ts-stat-val {
  font-size: 2rem;
  font-weight: 900;
  color: var(--white-ivory);
  line-height: 1;
  margin-bottom: 0.35rem;
}
.ts-stat-lbl {
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--grey-mid);
}

/* Footer */
.ts-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 2rem;
  background: rgba(46, 204, 113, 0.03);
  border-top: 1px solid var(--border-green);
  font-size: 0.8rem;
  color: var(--grey-mid);
}
.ts-powered a {
  color: var(--green-primary);
  font-weight: 600;
  transition: color var(--transition);
}
.ts-powered a:hover { color: var(--green-neon); }
.ts-refresh { font-style: italic; }

/* Loading pulse */
@keyframes ts-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.4; }
}
.ts-loading { animation: ts-pulse 1.5s infinite; color: var(--grey-mid) !important; }

/* Responsive */
@media (max-width: 600px) {
  .ts-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .ts-stat:nth-child(2) { border-right: none; }
  .ts-stat:nth-child(3) { border-right: 1px solid var(--border-green); border-top: 1px solid var(--border-green); }
  .ts-stat:nth-child(4) { border-top: 1px solid var(--border-green); }
  .ts-card-header { flex-direction: column; text-align: center; align-items: center; }
  .ts-rank-badge { justify-content: center; }
  .ts-tags { justify-content: center; }
}

/* ===== LISTES VOTEURS ===== */
.ts-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  border-top: 1px solid var(--border-green);
}
.ts-list-block {
  padding: 1.5rem 2rem;
}
.ts-list-block:first-child {
  border-right: 1px solid var(--border-green);
}
.ts-list-title {
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--grey-mid);
  margin-bottom: 1rem;
}
.ts-voter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0;
  border-bottom: 1px solid rgba(46,204,113,0.07);
  font-size: 0.9rem;
}
.ts-voter-row:last-child { border-bottom: none; }
.ts-voter-name { color: var(--white-ivory); font-weight: 600; }
.ts-voter-time, .ts-voter-votes {
  color: var(--green-primary);
  font-size: 0.8rem;
  font-weight: 700;
}

/* Stats grid 2 colonnes */
.ts-stats-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

@media (max-width: 600px) {
  .ts-lists { grid-template-columns: 1fr; }
  .ts-list-block:first-child { border-right: none; border-bottom: 1px solid var(--border-green); }
}

/* ===== STATUS ONLINE ===== */
.ts-status-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.5rem;
}
.ts-status-dot {
  width: 9px; height: 9px;
  border-radius: 50%;
  background: #556B5C;
  flex-shrink: 0;
  transition: background 0.3s;
}
.ts-status-txt {
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--grey-mid);
  transition: color 0.3s;
}

/* Grille 6 stats */
#ranking .ts-stats-grid {
  grid-template-columns: repeat(6, 1fr) !important;
}
@media (max-width: 768px) {
  #ranking .ts-stats-grid { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 480px) {
  #ranking .ts-stats-grid { grid-template-columns: repeat(2, 1fr) !important; }
}
