@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Rajdhani:wght@500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{
  --bg:#0A0E18; --panel:#111726; --panel-2:#171F33; --panel-3:#0C111C;
  --line: rgba(255,255,255,0.09); --gold:#2F8CFF; --gold-dim: rgba(47,140,255,0.35);
  --chalk:#F5F7FA; --chalk-dim:#8B93A7; --win:#22D06B; --loss:#FF3B5C; --draw:#FFC93C;
  --card-yellow:#FFD23C; --card-red:#FF3B5C; --accent2:#00E5FF;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:
    linear-gradient(rgba(47,140,255,0.035) 1px, transparent 1px) 0 0/100% 42px,
    linear-gradient(90deg, rgba(47,140,255,0.035) 1px, transparent 1px) 0 0/42px 100%,
    radial-gradient(ellipse 900px 500px at 50% -10%, rgba(47,140,255,0.06), transparent 60%),
    var(--bg);
  color:var(--chalk); font-family:'Rajdhani',sans-serif; min-height:100vh;
}


@keyframes fadeSlideUp{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:translateY(0);} }
@keyframes fadeIn{ from{opacity:0;} to{opacity:1;} }
@keyframes popIn{ 0%{opacity:0; transform:scale(.85);} 70%{transform:scale(1.03);} 100%{opacity:1; transform:scale(1);} }
@keyframes pulseGold{ 0%{box-shadow:0 0 0 0 rgba(47,140,255,0.55);} 100%{box-shadow:0 0 0 8px rgba(47,140,255,0);} }
@keyframes spin{ from{transform:rotate(0deg);} to{transform:rotate(360deg);} }
@keyframes shake{ 10%,90%{transform:translateX(-1px);} 20%,80%{transform:translateX(2px);} 30%,50%,70%{transform:translateX(-4px);} 40%,60%{transform:translateX(4px);} }
@keyframes confettiFall{ 0%{transform:translateY(-10px) rotate(0deg); opacity:1;} 100%{transform:translateY(160px) rotate(540deg); opacity:0;} }
@keyframes trophyBounce{ 0%,100%{transform:translateY(0) scale(1);} 30%{transform:translateY(-10px) scale(1.06);} 50%{transform:translateY(0) scale(1);} 70%{transform:translateY(-4px);} }

.app-shell{display:flex;min-height:100vh;}
.sidebar{
  width:250px;flex-shrink:0;background:var(--panel-3);border-right:1px solid var(--line);
  display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;padding-top:18px;
}
.sidebar-top{display:flex;justify-content:flex-start;gap:8px;padding:0 16px 14px;}
.sidebar-icon-btn{background:none;border:1px solid var(--line);color:var(--chalk-dim);font-size:15px;cursor:pointer;padding:7px 9px;border-radius:6px;transition:all .15s;}
.sidebar-icon-btn:hover{color:var(--gold);border-color:var(--gold-dim);}
.admin-panel{display:flex;flex-direction:column;gap:6px;padding:0 16px 14px;animation:fadeSlideUp .25s ease;}
.admin-panel input{padding:7px 9px;font-size:13px;width:100%;}
.admin-panel input.shake{animation:shake .4s ease;}

.sidebar-logo{display:flex;align-items:center;gap:10px;padding:0 16px 20px;text-decoration:none;border-bottom:1px solid var(--line);margin-bottom:8px;}
.sidebar-logo-img{max-height:32px;}
.sidebar-logo-text{font-family:'Bebas Neue',sans-serif;font-style:italic;font-size:21px;letter-spacing:1px;color:var(--chalk);line-height:1;}
.sidebar-logo-text span{color:var(--gold);}

.sidebar-nav{display:flex;flex-direction:column;flex:1;padding:6px 0;}
.sidebar-nav a{
  display:flex;align-items:center;gap:11px;padding:12px 16px;color:var(--chalk-dim);text-decoration:none;
  font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13.5px;letter-spacing:1px;text-transform:uppercase;
  border-left:3px solid transparent;transition:all .15s;
}
.sidebar-nav a .sn-icon{font-size:15px;width:18px;text-align:center;flex-shrink:0;}
.sidebar-nav a .count{margin-left:auto;font-family:'Space Mono',monospace;font-size:10px;background:rgba(255,255,255,0.08);border-radius:8px;padding:1px 6px;text-transform:none;letter-spacing:0;}
.sidebar-nav a:hover{color:var(--chalk);background:rgba(255,255,255,0.03);}
.sidebar-nav a.active{color:var(--chalk);background:linear-gradient(90deg, rgba(47,140,255,0.16), transparent);border-left-color:var(--gold);}

.sidebar-foot{display:flex;align-items:center;gap:8px;padding:14px 16px;border-top:1px solid var(--line);font-family:'Space Mono',monospace;font-size:11px;color:var(--chalk-dim);}
.admin-status-dot{width:7px;height:7px;border-radius:50%;background:var(--chalk-dim);display:inline-block;flex-shrink:0;}
.admin-status-dot.is-admin{background:var(--win);box-shadow:0 0 6px var(--win);}

.main-content{flex:1;min-width:0;position:relative;overflow:hidden;}
.main-inner{max-width:980px;margin:0 auto;padding:24px 24px 80px;position:relative;}

.season-label{
  position:absolute;top:80px;right:14px;writing-mode:vertical-rl;transform:rotate(180deg);
  font-family:'Bebas Neue',sans-serif;letter-spacing:4px;font-size:13px;color:rgba(255,255,255,0.14);
  z-index:0;pointer-events:none;user-select:none;
}
@media (max-width:900px){ .season-label{ display:none; } }

.player-topbar{
  display:flex;align-items:center;gap:10px;justify-content:flex-end;margin-bottom:18px;
  font-family:'Space Mono',monospace;font-size:12.5px;color:var(--chalk-dim);flex-wrap:wrap;
}
.pt-club-badge{width:22px;height:22px;border-radius:50%;background:var(--panel-2);box-shadow:0 0 0 2px rgba(47,140,255,0.25);display:inline-block;}
.pt-name{color:var(--chalk);font-weight:700;font-family:'Rajdhani',sans-serif;}
.pt-sep{opacity:.4;}
.pt-credits{color:var(--gold);font-weight:700;text-shadow:0 0 10px rgba(47,140,255,0.4);}

@media (max-width:900px){
  .app-shell{flex-direction:column;}
  .sidebar{width:100%;height:auto;position:relative;border-right:none;border-bottom:1px solid var(--line);padding-top:12px;}
  .sidebar-nav{flex-direction:row;flex-wrap:nowrap;overflow-x:auto;padding:0;}
  .sidebar-nav a{border-left:none;border-bottom:3px solid transparent;white-space:nowrap;padding:10px 14px;}
  .sidebar-nav a.active{border-left:none;background:none;}
  .sidebar-foot{display:none;}
  .main-inner{padding:20px 16px 60px;}
}

.hero{position:relative;overflow:hidden;border-radius:8px;border:1px solid var(--line);min-height:300px;display:flex;align-items:center;justify-content:center;margin-bottom:10px;animation:fadeSlideUp .5s ease;background:radial-gradient(ellipse at center, var(--panel-2), var(--bg));}
.hero::before, .hero::after{
  content:"";position:absolute;z-index:0;pointer-events:none;
  background:linear-gradient(135deg, rgba(47,140,255,0.16), rgba(0,229,255,0.05));
  clip-path:polygon(30% 0, 100% 0, 70% 100%, 0% 100%);
}
.hero::before{width:45%;height:140%;top:-20%;right:-8%;}
.hero::after{width:22%;height:140%;top:-20%;right:34%;opacity:.5;}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg, rgba(10,14,24,0.55) 0%, rgba(10,14,24,0.88) 100%);}
.hero-content{position:relative;z-index:2;text-align:center;padding:46px 20px;}
.hero-content .eyebrow{font-family:'Space Mono',monospace;font-size:12px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;}
.hero-content h1{font-family:'Bebas Neue',sans-serif;font-style:italic;font-size:58px;letter-spacing:2px;margin:6px 0 2px;line-height:1;color:var(--chalk);text-shadow:0 2px 18px rgba(0,0,0,0.6);}
.hero-content h1 span{color:var(--gold);text-shadow:0 0 22px rgba(47,140,255,0.55), 0 2px 18px rgba(0,0,0,0.6);}
.hero-content .sub{color:var(--chalk-dim);font-size:15px;font-weight:600;text-shadow:0 1px 6px rgba(0,0,0,0.6);}
.hero-content .underline{width:120px;height:3px;background:var(--gold);margin:14px auto 0;box-shadow:0 0 12px rgba(47,140,255,0.7);}
.countdown{margin-top:20px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;}
.countdown .unit{display:flex;flex-direction:column;align-items:center;min-width:44px;}
.countdown .num{font-family:'Bebas Neue',sans-serif;font-size:30px;color:var(--gold);line-height:1;text-shadow:0 0 16px rgba(47,140,255,0.5), 0 2px 10px rgba(0,0,0,0.6);}
.countdown .lbl{font-size:10px;letter-spacing:1.5px;color:var(--chalk-dim);text-transform:uppercase;margin-top:2px;}
.countdown-done{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:1px;color:var(--win);text-shadow:0 2px 10px rgba(0,0,0,0.6);}
@media (max-width:700px){
  .hero-video{display:none;}
  .hero{min-height:220px;}
  .hero-content h1{font-size:40px;}
}
@media (prefers-reduced-motion: reduce){
  .hero-video{display:none;}
}

.souvenirs-empty{color:var(--chalk-dim);font-size:14px;text-align:center;padding:40px 10px;border:1px dashed var(--line);border-radius:5px;}
.marquee-wrap{overflow:hidden;position:relative;border:1px solid var(--line);border-radius:6px;background:var(--panel-2);}
.marquee-wrap::before, .marquee-wrap::after{content:"";position:absolute;top:0;bottom:0;width:40px;z-index:2;pointer-events:none;}
.marquee-wrap::before{left:0;background:linear-gradient(90deg, var(--panel-2), transparent);}
.marquee-wrap::after{right:0;background:linear-gradient(270deg, var(--panel-2), transparent);}
.marquee-track{display:flex;gap:14px;padding:16px;width:max-content;animation:marqueeScroll 45s linear infinite;}
.marquee-track.paused{animation-play-state:paused;}
.marquee-track img{height:180px;width:auto;border-radius:5px;cursor:pointer;flex-shrink:0;transition:transform .2s;display:block;}
.marquee-track img:hover{transform:scale(1.035);}
@keyframes marqueeScroll{ from{transform:translateX(0);} to{transform:translateX(-50%);} }

.lightbox-overlay{position:fixed;inset:0;background:rgba(5,10,8,0.92);z-index:80;display:flex;align-items:center;justify-content:center;padding:26px;animation:fadeIn .2s ease;}
.lightbox-overlay img{max-width:92vw;max-height:88vh;border-radius:6px;box-shadow:0 12px 50px rgba(0,0,0,0.6);}
.lightbox-close{position:absolute;top:18px;right:22px;background:rgba(242,240,230,0.1);border:1px solid var(--line);color:var(--chalk);font-size:22px;line-height:1;width:38px;height:38px;border-radius:50%;cursor:pointer;}
.lightbox-close:hover{background:rgba(242,240,230,0.2);}

.camera-overlay{position:fixed;inset:0;background:rgba(5,10,8,0.96);z-index:90;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;gap:18px;animation:fadeIn .2s ease;}
.camera-overlay video, .camera-overlay #cam-preview{max-width:92vw;max-height:70vh;border-radius:6px;box-shadow:0 12px 50px rgba(0,0,0,0.6);background:#000;}
.camera-controls{display:flex;gap:12px;}

/* ---- Widget de chat flottant (Mur) ---- */
.chat-widget{position:fixed;bottom:20px;right:20px;z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:12px;}
.chat-toggle-btn{
  width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg, var(--gold), var(--accent2));color:#04101F;border:none;
  font-size:24px;cursor:pointer;box-shadow:0 4px 20px rgba(47,140,255,0.4);position:relative;flex-shrink:0;
}
.chat-toggle-btn:hover{filter:brightness(1.12);}
.chat-badge{
  position:absolute;top:-4px;right:-4px;background:var(--loss);color:#fff;font-size:10px;
  border-radius:50%;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;padding:0 3px;
}
.chat-panel{
  width:340px;max-width:88vw;height:460px;max-height:68vh;background:var(--panel);border:1px solid var(--line);
  border-radius:10px;display:flex;flex-direction:column;box-shadow:0 10px 40px rgba(0,0,0,0.55);overflow:hidden;
  animation:fadeSlideUp .25s ease;
}
.chat-panel-header{
  display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background:var(--panel-2);
  border-bottom:1px solid var(--line);font-family:'Bebas Neue',sans-serif;letter-spacing:1px;color:var(--gold);font-size:16px;
}
.chat-close-btn{background:none;border:none;color:var(--chalk-dim);font-size:15px;cursor:pointer;}
.chat-close-btn:hover{color:var(--chalk);}
.chat-messages{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px;}
.chat-bubble{max-width:82%;padding:8px 12px;border-radius:12px;font-size:13.5px;line-height:1.35;background:var(--panel-2);align-self:flex-start;position:relative;}
.chat-bubble.mine{background:rgba(47,140,255,0.16);align-self:flex-end;}
.chat-bubble .cb-author{font-weight:700;color:var(--gold);font-size:11px;display:block;margin-bottom:2px;}
.chat-bubble.mine .cb-author{color:var(--win);}
.chat-bubble .cb-text{white-space:pre-wrap;word-break:break-word;color:var(--chalk);}
.chat-bubble .cb-time{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:3px;font-family:'Space Mono',monospace;font-size:9px;color:var(--chalk-dim);}
.chat-del-btn{background:none;border:none;color:var(--chalk-dim);cursor:pointer;font-size:10px;padding:0;}
.chat-del-btn:hover{color:var(--loss);}
.chat-compose{border-top:1px solid var(--line);padding:10px;display:flex;gap:6px;align-items:flex-end;}
.chat-compose textarea{flex:1;resize:none;height:38px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;color:var(--chalk);font-family:'Rajdhani',sans-serif;font-weight:600;padding:8px;font-size:13px;}
.chat-compose button{background:linear-gradient(90deg, var(--gold), var(--accent2));color:#04101F;border:none;border-radius:999px;padding:0 18px;height:38px;cursor:pointer;font-family:'Bebas Neue',sans-serif;font-size:16px;flex-shrink:0;}
.chat-compose button:hover{filter:brightness(1.12);}
@media (max-width:600px){
  .chat-widget{right:14px;bottom:14px;}
  .chat-panel{width:90vw;max-height:60vh;}
}
body.tv-mode .chat-widget{ display:none !important; }

/* ---- Punisher ---- */
.punish-card{background:var(--panel-2);border:1px solid var(--loss);border-radius:6px;padding:14px;margin-bottom:12px;animation:popIn .3s ease;}
.punish-card.done{border-color:var(--line);opacity:.7;}
.punish-card .pc-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap;}
.punish-card .pc-player{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:.5px;}
.punish-card .pc-reason{font-family:'Space Mono',monospace;font-size:10px;color:var(--loss);text-transform:uppercase;letter-spacing:1px;background:rgba(232,85,95,0.12);padding:2px 7px;border-radius:3px;}
.punish-card.done .pc-reason{color:var(--chalk-dim);background:rgba(255,255,255,0.05);}
.punish-card .pc-gage{font-size:15px;font-style:italic;margin:6px 0;color:var(--chalk);}
.punish-card .pc-meta{font-family:'Space Mono',monospace;font-size:10.5px;color:var(--chalk-dim);}
.punish-card .pc-actions{margin-top:8px;display:flex;gap:8px;}

/* ---- Page d'accueil (vitrine) ---- */
.howto-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:18px;}
.howto-step{background:var(--panel-2);border:1px solid var(--line);border-top:2px solid var(--gold-dim);border-radius:4px;padding:20px 16px;text-align:center;animation:fadeSlideUp .4s ease backwards;}
.howto-step .howto-num{font-family:'Bebas Neue',sans-serif;font-size:34px;color:var(--gold);line-height:1;text-shadow:0 0 14px rgba(47,140,255,0.4);}
.howto-step .howto-title{font-family:'Bebas Neue',sans-serif;font-size:18px;letter-spacing:.5px;margin:6px 0 4px;}
.howto-step .howto-desc{color:var(--chalk-dim);font-size:13.5px;line-height:1.4;}

.section-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:10px;}
.section-card{
  background:var(--panel-2);border:1px solid var(--line);border-top:2px solid transparent;border-radius:4px;padding:22px 18px;
  text-decoration:none;color:var(--chalk);transition:border-color .15s,transform .15s,box-shadow .15s;display:block;animation:fadeSlideUp .4s ease backwards;
}
.section-card:hover{border-color:var(--gold-dim);border-top-color:var(--gold);transform:translateY(-3px);box-shadow:0 10px 30px rgba(47,140,255,0.12);}
.section-card .sc-icon{font-size:30px;margin-bottom:8px;}
.section-card .sc-title{font-family:'Bebas Neue',sans-serif;font-size:20px;letter-spacing:.5px;color:var(--gold);}
.section-card .sc-desc{color:var(--chalk-dim);font-size:13px;margin-top:4px;line-height:1.4;}

.stats-strip{display:flex;justify-content:center;gap:36px;flex-wrap:wrap;margin:22px 0 6px;text-align:center;}
.stats-strip .stat-num{font-family:'Bebas Neue',sans-serif;font-size:36px;color:var(--gold);line-height:1;text-shadow:0 0 16px rgba(47,140,255,0.4);}
.stats-strip .stat-lbl{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--chalk-dim);margin-top:2px;}

.tab-content{animation:fadeIn .3s ease;}

.panel{background:var(--panel);border:1px solid var(--line);border-top:2px solid var(--gold-dim);border-radius:4px;padding:22px;margin-bottom:20px;animation:fadeSlideUp .4s ease;position:relative;box-shadow:0 8px 30px rgba(0,0,0,0.35);}
.panel h2{font-family:'Bebas Neue',sans-serif;font-size:26px;letter-spacing:1.5px;margin:0 0 4px;color:var(--gold);text-shadow:0 0 14px rgba(47,140,255,0.25);}
.panel .desc{color:var(--chalk-dim);font-size:14px;margin:0 0 18px;}

.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
.field{display:flex;flex-direction:column;gap:6px;flex:1;min-width:150px;}
.field label{font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--chalk-dim);}
input[type=text], input[type=number], input[type=password], select{
  background:var(--panel-2);border:1px solid var(--line);color:var(--chalk);
  font-family:'Rajdhani',sans-serif;font-weight:600;font-size:15px;padding:9px 10px;border-radius:4px;outline:none;
  transition:border-color .15s;
}
input:focus, select:focus{border-color:var(--gold);}
select:disabled{opacity:.4;cursor:not-allowed;}
option:disabled{color:#665;}
input[type=number]{width:56px;text-align:center;font-family:'Space Mono',monospace;}
button.btn{background:linear-gradient(90deg, var(--gold), var(--accent2));color:#04101F;border:none;font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:1.5px;padding:11px 26px;cursor:pointer;border-radius:999px;transition:transform .1s, filter .15s, box-shadow .15s;box-shadow:0 4px 20px rgba(47,140,255,0.35);}
button.btn:hover{filter:brightness(1.12);box-shadow:0 4px 26px rgba(47,140,255,0.55);}
button.btn:active{transform:scale(.96);}
button.btn.ghost{background:transparent;color:var(--gold);border:1px solid var(--gold-dim);box-shadow:none;}
button.btn.ghost:hover{background:rgba(47,140,255,0.1);box-shadow:0 0 12px rgba(47,140,255,0.25);}
button.btn.danger{background:var(--loss);color:#2b0a0a;}
button.btn.danger:hover{background:#ff6b85;box-shadow:0 0 18px rgba(255,59,92,0.45);}
button.btn:disabled{opacity:.35;cursor:not-allowed;background:linear-gradient(90deg, var(--gold), var(--accent2));transform:none;box-shadow:none;}
button.btn.small{font-size:13px;padding:6px 16px;letter-spacing:1px;}

.auth-tabs{display:flex;gap:0;margin-bottom:16px;border-bottom:1px solid var(--line);}
.auth-tab-btn{background:none;border:none;color:var(--chalk-dim);font-family:'Bebas Neue',sans-serif;font-size:17px;letter-spacing:1px;padding:8px 16px;cursor:pointer;position:relative;}
.auth-tab-btn.active{color:var(--gold);}
.auth-tab-btn.active::after{content:"";position:absolute;left:6px;right:6px;bottom:-1px;height:2px;background:var(--gold);}
.account-current{display:flex;align-items:center;gap:12px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:10px 14px;}
.player-count{font-family:'Space Mono',monospace;font-size:13px;color:var(--chalk-dim);margin:16px 0 10px;}
.player-count b{color:var(--gold);}
.player-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;}
.player-card{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:9px 10px;animation:popIn .35s ease backwards;}
.badge{position:relative;overflow:hidden;width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',sans-serif;font-size:14px;color:#04140C;box-shadow:0 0 0 2px rgba(47,140,255,0.25);}
.badge .crest-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.player-info{flex:1;min-width:0;}
.player-info .name{font-weight:700;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.player-info .club{font-size:12px;color:var(--chalk-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rm-btn{background:none;border:none;color:var(--chalk-dim);font-size:18px;cursor:pointer;line-height:1;padding:2px 6px;transition:color .15s, transform .15s;}
.rm-btn:hover{color:var(--loss); transform:scale(1.15);}

.groups-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:18px;}
.group-box{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;overflow:hidden;animation:fadeSlideUp .4s ease backwards;}
.group-box h3{font-family:'Bebas Neue',sans-serif;font-size:19px;letter-spacing:1.5px;margin:0;padding:10px 14px;background:rgba(47,140,255,0.1);color:var(--gold);border-bottom:1px solid var(--line);}
table.standings{width:100%;border-collapse:collapse;font-size:13px;}
table.standings th{font-family:'Space Mono',monospace;font-weight:400;font-size:10px;text-transform:uppercase;color:var(--chalk-dim);text-align:center;padding:6px 4px;border-bottom:1px solid var(--line);}
table.standings th:first-child{text-align:left;padding-left:12px;}
table.standings td{padding:6px 4px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.04);font-family:'Space Mono',monospace;font-size:13px;transition:background .3s;}
table.standings td.name{text-align:left;padding-left:12px;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:14px;}
table.standings tr.qualified td.name{color:var(--win);}
table.standings tr.qualified{background:rgba(76,217,123,0.06);}
table.standings td.pts{color:var(--gold);font-weight:700;}

.matches{padding:6px 14px 14px;}
.match-block{border-bottom:1px solid rgba(255,255,255,0.05);padding:8px 0;}
.match-block:last-child{border-bottom:none;}
.match-row{display:flex;align-items:center;gap:8px;font-size:13px;}
.match-row .mp{flex:1;min-width:0;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600;display:flex;align-items:center;justify-content:flex-end;gap:4px;}
.match-row .mp.right{text-align:left;justify-content:flex-start;}
.match-row .vs{display:flex;align-items:center;gap:4px;font-family:'Space Mono',monospace;}
.score-input{width:34px;padding:5px 2px;text-align:center;background:var(--panel);border:1px solid var(--line);color:var(--gold);font-family:'Space Mono',monospace;font-weight:700;border-radius:3px;transition:border-color .15s;}
.score-input.pulse{animation:pulseGold .5s ease;}
.score-dash{color:var(--chalk-dim);}
.card-badge{font-size:10px;font-family:'Space Mono',monospace;border-radius:2px;padding:1px 4px;font-weight:700;animation:popIn .3s ease;}
.card-badge.cj{background:var(--card-yellow);color:#3a2c00;}
.card-badge.cr{background:var(--card-red);color:#3a0505;}
.detail-toggle-row{text-align:center;margin-top:6px;}
.detail-toggle{background:none;border:none;color:var(--chalk-dim);font-family:'Space Mono',monospace;font-size:11px;cursor:pointer;letter-spacing:.5px;padding:3px 8px;}
.detail-toggle:hover{color:var(--gold);}

.match-detail{background:var(--panel-3);border:1px solid var(--line);border-radius:4px;padding:12px 14px;margin-top:8px;animation:fadeSlideUp .3s ease;overflow:hidden;}
.detail-section-label{font-family:'Bebas Neue',sans-serif;font-size:13px;letter-spacing:1.5px;color:var(--gold);margin:0 0 8px;text-transform:uppercase;}
table.stat-table{width:100%;border-collapse:collapse;font-size:12px;margin-bottom:14px;}
table.stat-table th{font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12px;padding:4px 6px;text-align:center;color:var(--chalk-dim);border-bottom:1px solid var(--line);}
table.stat-table th:first-child{text-align:left;}
table.stat-table td{padding:4px 6px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.03);}
table.stat-table td.stat-label{text-align:left;color:var(--chalk-dim);font-size:12px;}
.stat-input{width:56px;padding:4px;text-align:center;background:var(--panel-2);border:1px solid var(--line);color:var(--chalk);font-family:'Space Mono',monospace;font-size:12px;border-radius:3px;}
.card-count-row td{padding-top:8px;}
.card-mini{display:inline-flex;align-items:center;gap:4px;font-family:'Space Mono',monospace;font-size:12px;}
.card-mini .sw{width:10px;height:14px;border-radius:1px;display:inline-block;}
.card-mini .sw.cj{background:var(--card-yellow);}
.card-mini .sw.cr{background:var(--card-red);}

.event-add-row{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:10px;}
.event-add-row .ev-minute{width:52px;}
.event-add-row .ev-type{min-width:150px;flex:0;}
.event-add-row .ev-side{min-width:110px;flex:0;}
.event-add-row .ev-text{flex:1;min-width:120px;}
.event-add-row input, .event-add-row select{padding:6px 8px;font-size:13px;}
.event-list{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow-y:auto;}
.event-item{display:flex;align-items:center;gap:8px;font-size:12.5px;background:var(--panel-2);border-radius:3px;padding:5px 8px;animation:popIn .25s ease;}
.event-item .ev-min{font-family:'Space Mono',monospace;color:var(--gold);min-width:28px;}
.event-item .ev-icon{min-width:18px;text-align:center;}
.event-item .ev-side-name{font-weight:700;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px;}
.event-item .ev-text{flex:1;color:var(--chalk-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.event-item .ev-rm{background:none;border:none;color:var(--chalk-dim);cursor:pointer;font-size:13px;padding:0 2px;}
.event-item .ev-rm:hover{color:var(--loss);}
.event-empty{color:var(--chalk-dim);font-size:12px;font-style:italic;padding:6px 0;}
.save-detail-row{text-align:right;margin-top:12px;padding-top:10px;border-top:1px solid var(--line);}

.empty-hint{color:var(--chalk-dim);font-size:14px;text-align:center;padding:30px 10px;border:1px dashed var(--line);border-radius:5px;}

.draw-overlay{display:flex;flex-direction:column;align-items:center;gap:14px;padding:50px 10px;animation:fadeIn .2s ease;}
.draw-ball{font-size:44px;animation:spin 1s linear infinite;}
.draw-overlay .draw-text{font-family:'Bebas Neue',sans-serif;letter-spacing:2px;color:var(--gold);font-size:18px;}

.bracket{display:flex;gap:26px;overflow-x:auto;padding:10px 2px 20px;}
.round{display:flex;flex-direction:column;justify-content:space-around;gap:18px;min-width:240px;}
.round .round-label{font-family:'Bebas Neue',sans-serif;color:var(--gold);font-size:15px;letter-spacing:2px;text-align:center;margin-bottom:4px;}
.tie{background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:8px 10px;animation:fadeSlideUp .4s ease backwards;}
.tie.final{border-color:var(--gold-dim);}
.tie-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:6px;}
.tie-row .pname{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;display:flex;align-items:center;gap:4px;}
.tie-row.winner .pname{color:var(--win);font-weight:700;}
.tie-row .tbd{color:var(--chalk-dim);font-style:italic;font-weight:400;}
.pen-row{display:flex;justify-content:flex-end;gap:6px;margin-top:4px;font-size:10px;color:var(--chalk-dim);align-items:center;font-family:'Space Mono',monospace;}
.pen-row input{width:28px;padding:2px;font-size:11px;}

.champion-banner{text-align:center;padding:30px 20px;margin-top:10px;background:linear-gradient(180deg, rgba(47,140,255,0.14), transparent);border:1px solid var(--gold-dim);border-radius:6px;position:relative;overflow:hidden;animation:fadeSlideUp .5s ease;}
.champion-banner .trophy{font-size:38px;margin-bottom:6px;display:inline-block;animation:trophyBounce 1.6s ease infinite;}
.champion-banner .cname{font-family:'Bebas Neue',sans-serif;font-size:42px;color:var(--gold);letter-spacing:2px;}
.champion-banner .cclub{color:var(--chalk-dim);font-size:15px;margin-top:2px;}
.confetti-piece{position:absolute;top:0;width:6px;height:10px;animation:confettiFall 2.4s ease-in forwards;}

.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px;align-items:center;}
.sync-note{font-family:'Space Mono',monospace;font-size:11px;color:var(--chalk-dim);}
footer.reset-zone{text-align:center;margin-top:30px;}
footer.reset-zone .rz-note{color:var(--chalk-dim);font-size:12px;margin-top:8px;}

/* ---- TV / grand écran mode ---- */
.tv-exit-btn{
  display:none;position:fixed;top:14px;right:14px;z-index:100;
  background:rgba(0,0,0,0.6);color:var(--chalk);border:1px solid var(--line);
  padding:10px 16px;border-radius:5px;font-family:'Bebas Neue',sans-serif;font-size:15px;letter-spacing:1px;cursor:pointer;
}
body.tv-mode .sidebar,
body.tv-mode footer.reset-zone,
body.tv-mode .countdown{ display:none !important; }
body.tv-mode .hero{ min-height:160px; }
body.tv-mode .hero-content{ padding:20px; }
body.tv-mode .hero-content h1{ font-size:40px; }
body.tv-mode .main-inner{ max-width:1500px; }
body.tv-mode .panel{ font-size:1.15em; }
body.tv-mode table.standings{ font-size:1.15em; }
body.tv-mode .tv-exit-btn{ display:block; }

/* ---- Palmarès / Badges ---- */
.award-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;}
.award-card{background:var(--panel-2);border:1px solid var(--gold-dim);border-radius:6px;padding:16px;text-align:center;animation:popIn .3s ease;}
.award-card .award-icon{font-size:30px;}
.award-card .award-title{font-family:'Bebas Neue',sans-serif;color:var(--gold);font-size:17px;letter-spacing:1px;margin:6px 0 2px;}
.award-card .award-player{font-weight:700;font-size:15px;}
.award-card .award-note{color:var(--chalk-dim);font-size:12px;margin-top:4px;}
.award-card .award-rm{margin-top:8px;}
.badges-list{display:flex;flex-direction:column;gap:8px;}
.badges-row{display:flex;align-items:center;gap:10px;background:var(--panel-2);border:1px solid var(--line);border-radius:5px;padding:8px 12px;}
.badges-row .bname{font-weight:700;min-width:120px;}
.badges-row .bicons{display:flex;gap:6px;flex-wrap:wrap;font-size:18px;}
.badges-row .bicons span{cursor:help;}
.badges-row .bnone{color:var(--chalk-dim);font-size:12px;font-style:italic;}

/* ---- Pronostics ---- */
.credits-banner{display:flex;align-items:center;justify-content:space-between;background:var(--panel-2);border:1px solid var(--gold-dim);border-radius:6px;padding:14px 18px;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.credits-banner .cval{font-family:'Bebas Neue',sans-serif;font-size:28px;color:var(--gold);}
.bet-card{background:var(--panel-2);border:1px solid var(--line);border-radius:6px;padding:14px;margin-bottom:12px;}
.bet-card .bet-teams{font-weight:700;font-size:15px;margin-bottom:10px;text-align:center;}
.bet-options{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:10px;}
.bet-opt-btn{flex:1;min-width:90px;background:var(--panel);border:1px solid var(--line);color:var(--chalk);border-radius:5px;padding:8px 6px;text-align:center;cursor:pointer;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:13px;transition:border-color .15s,background .15s;}
.bet-opt-btn:hover{border-color:var(--gold-dim);}
.bet-opt-btn.selected{border-color:var(--gold);background:rgba(47,140,255,0.12);}
.bet-opt-btn .odd{display:block;font-family:'Space Mono',monospace;color:var(--gold);font-size:12px;margin-top:2px;}
.bet-placed{text-align:center;padding:8px;font-size:13px;color:var(--chalk-dim);}
.bet-placed b{color:var(--win);}
.bet-placed.lost b{color:var(--loss);}
.bet-history-item{display:flex;justify-content:space-between;align-items:center;background:var(--panel-2);border-radius:4px;padding:8px 12px;margin-bottom:6px;font-size:13px;}
.bet-history-item .res-win{color:var(--win);font-weight:700;}
.bet-history-item .res-lose{color:var(--loss);font-weight:700;}
.bet-history-item .res-pending{color:var(--chalk-dim);font-style:italic;}

.market-block{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;}
.market-block:first-of-type{border-top:none;margin-top:0;padding-top:0;}
.market-label{font-family:'Bebas Neue',sans-serif;letter-spacing:.5px;font-size:14px;color:var(--gold);margin-bottom:6px;}
.market-label .odd{font-family:'Space Mono',monospace;color:var(--chalk-dim);font-size:11px;margin-left:6px;}
.market-options{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.market-opt-btn{flex:1;min-width:90px;background:var(--panel);border:1px solid var(--line);color:var(--chalk);border-radius:5px;padding:7px 6px;text-align:center;cursor:pointer;font-family:'Rajdhani',sans-serif;font-weight:700;font-size:12.5px;transition:border-color .15s,background .15s;}
.market-opt-btn:hover{border-color:var(--gold-dim);}
.market-opt-btn.selected{border-color:var(--gold);background:rgba(47,140,255,0.12);}
.market-opt-btn .odd{display:block;font-family:'Space Mono',monospace;color:var(--gold);font-size:11px;margin-top:2px;}
.market-stake-row{display:flex;gap:8px;}
.market-stake-row .market-amount{flex:1;}
.exact-score-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.exact-score-row input.es-a, .exact-score-row input.es-b{width:60px;text-align:center;}
.exact-score-row input.market-amount{width:80px;}
.market-placed{font-size:12.5px;color:var(--chalk-dim);}
.market-placed b{color:var(--win);}
.lock-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.05);flex-wrap:wrap;}
.lock-row:last-child{border-bottom:none;}

@media (max-width:600px){
  .hero-content h1{font-size:38px;}
  .panel{padding:16px;}
  .match-row .mp{max-width:80px;}
}
