/* =========================================================
   OGRESTIA — L'Ère du Chaos — thème "Chaos" (aperçu)
   ========================================================= */
:root{
  --bg:#08060f;
  --bg-2:#0f0a1d;
  --surface:rgba(22,15,40,.78);
  --surface-solid:#160f28;
  --surface-2:#1d1436;
  --border:rgba(127,246,255,.12);
  --border-strong:rgba(127,246,255,.32);
  --teal:#2fe6d6;
  --cyan:#8ff7ff;
  --violet:#8a5cf0;
  --violet-deep:#3a1e6e;
  --storm:#5b4a8a;
  --text:#ece9f6;
  --muted:#a39cc0;
  --dim:#6f6890;
  --gold:#f2c46d;
  --silver:#cfd6e6;
  --bronze:#d9925b;
  --danger:#ff5c7a;
  --ok:#3df0a0;
  --radius:14px;
  --radius-sm:9px;
  --glow:0 0 24px rgba(47,230,214,.35);
  --font-title:"Cinzel",Georgia,serif;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;min-height:100vh;
  font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--text);
  background:
    radial-gradient(1200px 600px at 80% -10%,rgba(138,92,240,.18),transparent 60%),
    radial-gradient(900px 500px at -10% 30%,rgba(47,230,214,.08),transparent 60%),
    var(--bg);
  background-attachment:fixed;
}
a{color:var(--cyan);text-decoration:none}
a:hover{color:#fff}
img{max-width:100%}
h1,h2,h3,h4{font-family:var(--font-title);letter-spacing:.02em;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.5vw,3.2rem)}
h2{font-size:clamp(1.5rem,3vw,2.1rem)}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.container{width:100%;max-width:var(--max);margin:0 auto;padding:0 16px}
.muted{color:var(--muted)}
.glow-text{color:var(--cyan);text-shadow:0 0 18px rgba(47,230,214,.55)}


/* ---------- navigation ---------- */
.site-nav{
  position:sticky;top:0;z-index:50;
  background:rgba(8,6,15,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav-inner{display:flex;align-items:center;gap:24px;height:68px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-weight:700;font-size:1.45rem;color:#fff;letter-spacing:.06em}
.brand-mark{
  width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--teal),var(--violet));
  box-shadow:var(--glow);color:#06040c;font-size:1.05rem;font-weight:900;
}
.brand span{background:linear-gradient(180deg,#fff 30%,var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.nav-links{display:flex;gap:4px;list-style:none;margin:0;padding:0;flex:1}
.nav-links a,.nav-drop>button{
  display:block;padding:9px 14px;border-radius:var(--radius-sm);
  color:var(--muted);font-weight:500;font-size:.95rem;background:none;border:0;cursor:pointer;font-family:inherit;
}
.nav-links a:hover,.nav-drop>button:hover,.nav-links a.active{color:#fff;background:rgba(127,246,255,.07)}
.nav-links a.active{color:var(--cyan)}
.nav-drop{position:relative}
.nav-drop-menu{
  position:absolute;top:calc(100% + 8px);left:0;min-width:200px;padding:6px;
  background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);
  box-shadow:0 18px 40px rgba(0,0,0,.5);display:none;
}
.nav-drop:hover .nav-drop-menu,.nav-drop:focus-within .nav-drop-menu{display:block}
.nav-drop-menu a{padding:8px 12px}
.nav-actions{display:flex;gap:10px;align-items:center}


/* ---------- boutons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:10px 20px;border-radius:999px;font-weight:600;font-size:.95rem;
  border:1px solid transparent;cursor:pointer;transition:.2s ease;font-family:inherit;white-space:nowrap;
}
.btn-primary{
  color:#05121a;background:linear-gradient(135deg,var(--cyan),var(--teal));
  box-shadow:0 0 0 0 rgba(47,230,214,.5),0 8px 24px rgba(47,230,214,.25);
}
.btn-primary:hover{color:#05121a;transform:translateY(-1px);box-shadow:0 0 28px rgba(47,230,214,.55)}
.btn-ghost{color:var(--text);border-color:var(--border-strong);background:rgba(127,246,255,.04)}
.btn-ghost:hover{color:#fff;border-color:var(--cyan);background:rgba(127,246,255,.1)}
.btn-violet{color:#fff;background:linear-gradient(135deg,#9a6bff,#5b2fb8);box-shadow:0 8px 24px rgba(138,92,240,.3)}
.btn-violet:hover{color:#fff;transform:translateY(-1px)}
.btn-discord{color:#fff;background:#5865f2}
.btn-discord:hover{color:#fff;background:#6b77ff}
.btn-lg{padding:14px 28px;font-size:1.05rem}
.btn-block{width:100%}

/* ---------- héros ---------- */
.hero{position:relative;min-height:calc(100vh - 68px);display:flex;align-items:flex-end;overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-3}
.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center 18%;transform:scale(1.04);animation:drift 30s ease-in-out infinite alternate}
.hero::before{ /* voile orageux */
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    linear-gradient(180deg,rgba(8,6,15,.15) 0%,rgba(8,6,15,.0) 35%,rgba(8,6,15,.85) 80%,var(--bg) 100%),
    linear-gradient(90deg,rgba(8,6,15,.75) 0%,rgba(8,6,15,.1) 55%);
}
.hero::after{ /* éclair */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:radial-gradient(600px 400px at 28% 22%,rgba(200,240,255,.55),transparent 70%);
  opacity:0;animation:lightning 9s infinite;
}
.hero-content{width:100%;padding:0 0 64px}
.hero-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cyan);margin-bottom:14px}
.hero-kicker::before{content:"";width:28px;height:1px;background:var(--cyan)}
.hero h1{max-width:640px;font-size:clamp(2.3rem,5.5vw,4rem);text-shadow:0 4px 30px rgba(0,0,0,.6)}
.hero p.lead{max-width:540px;font-size:1.12rem;color:#d7d2ea}
.hero-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.hero-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}

.status-card{
  display:flex;align-items:center;gap:14px;padding:12px 18px;
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.status-dot{width:10px;height:10px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(61,240,160,.6);animation:pulse 2s infinite}
.status-card b{display:block;font-size:.95rem}
.status-card small{color:var(--muted)}

/* ---------- sections ---------- */
.section{padding:84px 0}
.section-sm{padding:56px 0}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px;flex-wrap:wrap}
.section-head h2{margin:0}
.eyebrow{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--teal);margin-bottom:8px;display:block}
.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-strong),transparent);border:0;margin:0}

.page-hero{padding:64px 0 36px;position:relative;overflow:hidden}
.page-hero::before{
  content:"";position:absolute;inset:0;z-index:-1;
  background:var(--hero-img) center 30%/cover no-repeat;
  opacity:.16;filter:blur(2px) saturate(1.2);
  mask-image:linear-gradient(180deg,#000 0%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,transparent 100%);
}
.page-hero p{max-width:620px}
.breadcrumb{font-size:.85rem;color:var(--dim);margin-bottom:14px}
.breadcrumb a{color:var(--muted)}

/* ---------- cartes ---------- */
.grid{display:grid;gap:20px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.o-card{
  position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px;transition:.25s ease;overflow:hidden;
}
.o-card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 18px 40px rgba(0,0,0,.35),0 0 0 1px rgba(127,246,255,.06)}
.o-card h3{margin-bottom:.4em}
.o-card p{color:var(--muted);font-size:.95rem;margin:0}
.card-icon{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;margin-bottom:14px;
  background:linear-gradient(135deg,rgba(47,230,214,.18),rgba(138,92,240,.22));border:1px solid var(--border);
}
.card-link{position:absolute;inset:0;z-index:1}
.card-count{position:absolute;top:18px;right:18px;font-size:.78rem;color:var(--dim)}

.news-card{padding:0}
.news-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,var(--violet-deep),#0e2a3a);position:relative;overflow:hidden}
.news-thumb img{width:100%;height:100%;object-fit:cover;opacity:.85}
.news-body{padding:18px 20px 22px}
.tag{display:inline-block;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--border-strong);color:var(--cyan);margin-bottom:10px}
.tag-violet{border-color:rgba(138,92,240,.5);color:#c4a8ff}
.tag-gold{border-color:rgba(242,196,109,.5);color:var(--gold)}
.date{font-size:.8rem;color:var(--dim)}

/* ---------- fonctionnalités / chiffres ---------- */
.feature{display:flex;gap:16px;align-items:flex-start}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stat{text-align:center;padding:22px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.stat b{display:block;font-family:var(--font-title);font-size:1.9rem;color:var(--cyan)}
.stat span{font-size:.85rem;color:var(--muted)}

/* ---------- classements ---------- */
.tabs{display:flex;gap:6px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:999px;width:max-content;max-width:100%;overflow-x:auto;margin-bottom:26px}
.tab{padding:9px 20px;border-radius:999px;border:0;background:none;color:var(--muted);font-weight:600;cursor:pointer;font-family:inherit;font-size:.95rem;white-space:nowrap}
.tab:hover{color:#fff}
.tab.active{background:linear-gradient(135deg,var(--cyan),var(--teal));color:#05121a}
.tab-panel{display:none}
.tab-panel.active{display:block}

.podium{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:18px;align-items:end;margin-bottom:26px}
.podium-item{text-align:center;padding:24px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);position:relative}
.podium-item.first{padding:34px 16px;border-color:rgba(242,196,109,.45);box-shadow:0 0 40px rgba(242,196,109,.12)}
.podium-rank{font-family:var(--font-title);font-size:2rem;font-weight:700}
.first .podium-rank{color:var(--gold)} .second .podium-rank{color:var(--silver)} .third .podium-rank{color:var(--bronze)}
.avatar{width:58px;height:58px;border-radius:50%;margin:10px auto;display:grid;place-items:center;font-weight:700;font-size:1.2rem;
  background:linear-gradient(135deg,var(--violet-deep),#0e3340);border:2px solid var(--border-strong)}
.first .avatar{width:72px;height:72px;border-color:var(--gold)}
.podium-item b{display:block;font-size:1.05rem}
.podium-item small{color:var(--muted)}

.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}
.table-wrap table,.mini-table{width:100%;border-collapse:collapse}
.table-wrap table{min-width:560px}
.table-wrap th,.table-wrap td,.mini-table td{padding:13px 18px;text-align:left;font-size:.94rem}
.table-wrap th{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);font-weight:600;border-bottom:1px solid var(--border)}
.table-wrap tbody tr,.mini-table tr{border-bottom:1px solid rgba(127,246,255,.05)}
.table-wrap tbody tr:last-child,.mini-table tr:last-child{border-bottom:0}
.table-wrap tbody tr:hover{background:rgba(127,246,255,.04)}
td.rank{font-family:var(--font-title);font-weight:700;color:var(--muted);width:60px}
.player{display:flex;align-items:center;gap:10px;font-weight:600}
.player .mini{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:.8rem;background:var(--surface-2);border:1px solid var(--border)}
.class-badge{font-size:.78rem;padding:3px 9px;border-radius:999px;background:rgba(138,92,240,.15);color:#c4a8ff}
.bar{height:6px;border-radius:99px;background:rgba(127,246,255,.08);overflow:hidden;min-width:90px}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--teal),var(--violet))}
.search{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap}

/* ---------- formulaires ---------- */
.auth-wrap{min-height:calc(100vh - 68px);display:grid;grid-template-columns:1.05fr 1fr}
.auth-art{position:relative;overflow:hidden}
.auth-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:70% 30%}
.auth-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,6,15,.2),var(--bg) 98%)}
.auth-art .quote{position:absolute;left:40px;bottom:40px;right:40px;z-index:1;max-width:420px}
.auth-art .quote p{font-family:var(--font-title);font-size:1.35rem;color:#fff;text-shadow:0 2px 20px #000}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:48px 16px}
.auth-box{width:100%;max-width:420px}
.form-group{margin-bottom:16px}
.auth-box label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:6px;font-weight:500}
.auth-box .check,.auth-box .form-check label{display:flex;margin:0}
.input{
  width:100%;padding:12px 14px;border-radius:var(--radius-sm);font-size:.98rem;font-family:inherit;
  background:rgba(8,6,15,.6);color:var(--text);border:1px solid var(--border);transition:.2s;
}
.input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px rgba(47,230,214,.15)}
.input::placeholder{color:var(--dim)}
.form-row{display:flex;justify-content:space-between;align-items:center;font-size:.88rem;margin:4px 0 20px;gap:10px;flex-wrap:wrap}
.check{display:flex;align-items:center;gap:8px;color:var(--muted);margin:0}
.or{display:flex;align-items:center;gap:12px;color:var(--dim);font-size:.8rem;margin:22px 0}
.or::before,.or::after{content:"";flex:1;height:1px;background:var(--border)}
.hint{font-size:.8rem;color:var(--dim);margin-top:6px}

/* ---------- wiki ---------- */
.wiki-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start}
.wiki-side{position:sticky;top:90px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}
.wiki-side h4{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);margin:6px 8px 10px;font-family:var(--font-body)}
.wiki-side a{display:flex;justify-content:space-between;padding:7px 10px;border-radius:8px;color:var(--muted);font-size:.92rem}
.wiki-side a:hover,.wiki-side a.active{background:rgba(127,246,255,.07);color:#fff}
.wiki-side a.active{color:var(--cyan)}
.article{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:36px clamp(20px,4vw,48px)}
.article h2{font-size:1.45rem;margin-top:1.8em;padding-top:.2em;color:#fff}
.article h2:first-of-type{margin-top:.4em}
.article h3{color:var(--cyan);font-family:var(--font-body);font-weight:700;font-size:1.05rem;margin-top:1.4em}
.article p,.article li{color:#d4cfe6}
.article ul{padding-left:1.2em}
.article li{margin-bottom:.4em}
.article strong{color:#fff}
.callout{border-left:3px solid var(--danger);background:rgba(255,92,122,.07);padding:14px 18px;border-radius:0 var(--radius-sm) var(--radius-sm) 0;margin:18px 0}
.callout.info{border-color:var(--cyan);background:rgba(47,230,214,.06)}
.article table{min-width:0}
.article .table-wrap table{min-width:480px}
.article .table-wrap{margin:16px 0;background:rgba(8,6,15,.4)}
.toc{font-size:.9rem}
.search-big{position:relative;max-width:560px}
.search-big .input{padding:15px 18px 15px 46px;border-radius:999px;font-size:1rem}
.search-big::before{content:"⌕";position:absolute;left:18px;top:50%;transform:translateY(-52%);color:var(--muted);font-size:1.3rem}

/* ---------- vote ---------- */
.vote-card{display:flex;align-items:center;gap:18px}
.vote-card .card-icon{margin:0;flex:none}
.vote-card .grow{flex:1}
.reward{display:flex;align-items:center;gap:12px;padding:14px;border-radius:var(--radius-sm);background:rgba(8,6,15,.45);border:1px solid var(--border)}
.reward b{color:var(--cyan)}
.steps{counter-reset:s;display:grid;gap:14px}
.step{display:flex;gap:14px;align-items:flex-start}
.step::before{counter-increment:s;content:counter(s);flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.9rem;color:#05121a;background:var(--cyan)}

/* ---------- pied de page ---------- */
.footer{border-top:1px solid var(--border);padding:48px 0 28px;margin-top:40px;background:linear-gradient(180deg,transparent,rgba(58,30,110,.12))}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.footer h4{font-family:var(--font-body);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin-bottom:8px}
.footer a{color:var(--muted);font-size:.93rem}
.footer a:hover{color:var(--cyan)}
.footer-bottom{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:36px;padding-top:20px;border-top:1px solid var(--border);font-size:.82rem;color:var(--dim)}

.cta-band{
  position:relative;overflow:hidden;border-radius:20px;padding:48px clamp(20px,5vw,56px);
  background:linear-gradient(120deg,rgba(58,30,110,.9),rgba(14,42,58,.9));
  border:1px solid var(--border-strong);
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
}
.cta-band::before{content:"";position:absolute;inset:0;background:var(--hero-img) right 30%/cover;opacity:.18;z-index:0}
.cta-band>*{position:relative;z-index:1}
.cta-band h2{margin:0 0 6px}

/* ---------- animations ---------- */
@keyframes drift{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.1) translateX(-1.5%)}}
@keyframes lightning{0%,90%,100%{opacity:0}91%{opacity:.9}92%{opacity:.1}93.5%{opacity:.7}95%{opacity:0}}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,240,160,.6)}70%{box-shadow:0 0 0 10px rgba(61,240,160,0)}100%{box-shadow:0 0 0 0 rgba(61,240,160,0)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .grid-4{grid-template-columns:repeat(2,1fr)}
  .grid-3{grid-template-columns:repeat(2,1fr)}
  .stats{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  .wiki-layout{grid-template-columns:1fr}
  .wiki-side{position:static}
  .auth-wrap{grid-template-columns:1fr}
  .auth-art{display:none}
}
@media (max-width:640px){
  .grid-2,.grid-3,.grid-4{grid-template-columns:1fr}
  .podium{grid-template-columns:1fr}
  .podium .first{order:-1}
  .footer-grid{grid-template-columns:1fr}
  .section{padding:60px 0}
  .hero-content{padding-bottom:40px}
  .hero-ctas .btn{flex:1}
  .vote-card{flex-wrap:wrap}
}

/* =========================================================
   Intégration Azuriom / Bootstrap 5
   ========================================================= */
:root,[data-bs-theme=dark]{
  --bs-body-bg:var(--bg);
  --bs-body-color:var(--text);
  --bs-body-font-family:var(--font-body);
  --bs-secondary-bg:var(--surface-solid);
  --bs-tertiary-bg:var(--surface-2);
  --bs-secondary-color:var(--muted);
  --bs-emphasis-color:#fff;
  --bs-border-color:var(--border);
  --bs-border-color-translucent:var(--border);
  --bs-link-color:var(--cyan);
  --bs-link-color-rgb:143,247,255;
  --bs-link-hover-color:#fff;
  --bs-link-hover-color-rgb:255,255,255;
  --bs-primary:#2fe6d6;
  --bs-primary-rgb:47,230,214;
  --bs-heading-color:#fff;
  --bs-card-bg:var(--surface);
}
body{background-color:var(--bg)!important}
#app{flex:1 0 auto}
main.content{min-height:50vh}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:var(--font-title);color:#fff}

/* barre de navigation (markup Bootstrap) */
.site-nav .navbar{padding:0}
.site-nav .navbar-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-title);font-weight:700;font-size:1.45rem;color:#fff;letter-spacing:.06em;margin-right:20px}
.site-nav .navbar-brand img{height:38px;width:auto}
.site-nav .nav-link{color:var(--muted);font-weight:500;padding:9px 14px!important;border-radius:var(--radius-sm)}
.site-nav .nav-link:hover,.site-nav .nav-link:focus{color:#fff;background:rgba(127,246,255,.07)}
.site-nav .nav-link.active{color:var(--cyan)!important}
.site-nav .dropdown-menu{background:var(--surface-solid);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 18px 40px rgba(0,0,0,.5);padding:6px;margin-top:8px}
.site-nav .dropdown-item{color:var(--muted);border-radius:8px;padding:8px 12px}
.site-nav .dropdown-item:hover,.site-nav .dropdown-item:focus,.site-nav .dropdown-item.active{background:rgba(127,246,255,.08);color:#fff}
.site-nav .dropdown-divider{border-color:var(--border)}
.site-nav .navbar-toggler{border:1px solid var(--border);color:#fff;padding:6px 10px}
.site-nav .navbar-toggler:focus{box-shadow:0 0 0 3px rgba(47,230,214,.2)}
.site-nav .navbar-toggler-icon{filter:invert(1)}
.site-nav .nav-inner{min-height:68px;height:auto}
.site-nav .navbar-collapse{align-items:center}
.site-nav .user-chip{display:flex;align-items:center;gap:8px}
.site-nav .user-chip img{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-strong)}
@media (max-width:991.98px){
  .site-nav .navbar-collapse{padding:10px 0 16px}
  .site-nav .nav-actions{display:flex!important;flex-wrap:wrap;margin-top:10px}
  .site-nav .nav-actions .btn{flex:1}
  .site-nav .dropdown-menu{box-shadow:none;border:0;background:rgba(127,246,255,.03)}
}

/* composants Bootstrap */
.card:not(.o-card){--bs-card-bg:var(--surface);--bs-card-border-color:var(--border);--bs-card-color:var(--text);--bs-card-cap-bg:rgba(127,246,255,.04)}
.card-header,.card-footer{border-color:var(--border)}
.btn-primary:not(.btn-lg):not(.btn-block),.btn.btn-primary{
  --bs-btn-color:#05121a;--bs-btn-bg:var(--teal);--bs-btn-border-color:transparent;
  --bs-btn-hover-color:#05121a;--bs-btn-hover-bg:var(--cyan);--bs-btn-hover-border-color:transparent;
  --bs-btn-active-color:#05121a;--bs-btn-active-bg:var(--cyan);--bs-btn-disabled-bg:var(--teal);--bs-btn-disabled-color:#05121a;
}
.btn-secondary{--bs-btn-bg:var(--surface-2);--bs-btn-border-color:var(--border-strong);--bs-btn-color:var(--text);--bs-btn-hover-bg:#2a1f4a;--bs-btn-hover-border-color:var(--cyan);--bs-btn-hover-color:#fff}
.btn-outline-primary{--bs-btn-color:var(--cyan);--bs-btn-border-color:var(--border-strong);--bs-btn-hover-bg:rgba(127,246,255,.1);--bs-btn-hover-border-color:var(--cyan);--bs-btn-hover-color:#fff;--bs-btn-active-bg:rgba(127,246,255,.15)}
.form-control,.form-select{background-color:rgba(8,6,15,.6);color:var(--text);border-color:var(--border);border-radius:var(--radius-sm);padding:.65rem .9rem}
.form-control:focus,.form-select:focus{background-color:rgba(8,6,15,.75);color:var(--text);border-color:var(--cyan);box-shadow:0 0 0 3px rgba(47,230,214,.15)}
.form-control::placeholder{color:var(--dim)}
.form-label{color:var(--muted);font-size:.9rem;font-weight:500}
.form-check-input{background-color:rgba(8,6,15,.6);border-color:var(--border-strong)}
.form-check-input:checked{background-color:var(--teal);border-color:var(--teal)}
.invalid-feedback{color:var(--danger)}
.form-control.is-invalid{border-color:var(--danger)}
.alert{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text)}
.alert-success{border-color:rgba(61,240,160,.45);background:rgba(61,240,160,.08)}
.alert-danger{border-color:rgba(255,92,122,.45);background:rgba(255,92,122,.08)}
.alert-warning{border-color:rgba(242,196,109,.45);background:rgba(242,196,109,.08)}
.alert-info{border-color:var(--border-strong);background:rgba(47,230,214,.07)}
.modal-content{background:var(--surface-solid)!important;border:1px solid var(--border-strong)!important;color:var(--text)!important;border-radius:var(--radius)}
.modal-header,.modal-footer{border-color:var(--border)!important}
.table{--bs-table-bg:transparent;--bs-table-color:var(--text);--bs-table-border-color:var(--border);--bs-table-hover-bg:rgba(127,246,255,.04);--bs-table-striped-bg:rgba(127,246,255,.03)}
.pagination{--bs-pagination-bg:var(--surface);--bs-pagination-border-color:var(--border);--bs-pagination-color:var(--muted);--bs-pagination-hover-bg:var(--surface-2);--bs-pagination-hover-color:#fff;--bs-pagination-hover-border-color:var(--border-strong);--bs-pagination-active-bg:var(--teal);--bs-pagination-active-border-color:var(--teal);--bs-pagination-active-color:#05121a;--bs-pagination-disabled-bg:transparent;--bs-pagination-disabled-color:var(--dim);--bs-pagination-disabled-border-color:var(--border)}
.badge.bg-primary{background:var(--teal)!important;color:#05121a}
.list-group{--bs-list-group-bg:var(--surface);--bs-list-group-border-color:var(--border);--bs-list-group-color:var(--text);--bs-list-group-action-hover-bg:rgba(127,246,255,.05);--bs-list-group-active-bg:var(--teal);--bs-list-group-active-border-color:var(--teal);--bs-list-group-active-color:#05121a}
.nav-tabs,.nav-pills{--bs-nav-link-color:var(--muted);--bs-nav-link-hover-color:#fff;--bs-nav-pills-link-active-bg:var(--teal);--bs-nav-pills-link-active-color:#05121a;--bs-nav-tabs-border-color:var(--border);--bs-nav-tabs-link-active-bg:var(--surface);--bs-nav-tabs-link-active-color:#fff;--bs-nav-tabs-link-active-border-color:var(--border) var(--border) var(--surface)}
.text-muted,.text-body-secondary{color:var(--muted)!important}
.bg-body-secondary,.bg-light{background-color:transparent!important}
.content-body img{max-width:100%;height:auto;border-radius:var(--radius-sm)}
.content-body{color:#d4cfe6}

/* contenu dans le layout "app" */
.app-page{padding:40px 0 20px}
.auth-panel .alert{margin-bottom:18px}
.auth-panel .captcha-container,.auth-panel .h-captcha,.auth-panel .g-recaptcha,.auth-panel .cf-turnstile{margin:6px 0 16px;display:flex;justify-content:center}
.discord-connected{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:rgba(88,101,242,.12);border:1px solid rgba(88,101,242,.45);margin-bottom:18px;font-size:.95rem}
.discord-required{color:var(--muted);text-align:center;font-size:.92rem;margin-top:14px}
.email-mismatch{display:none;color:var(--danger);font-size:.85rem;margin-top:6px}

/* liens d'onglets (classements) */
a.tab{display:inline-block;text-decoration:none}
a.tab.active{color:#05121a}
/* contenu riche du wiki et des actualités */
.article.content-body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:.93rem;display:block;overflow-x:auto}
.article.content-body th,.article.content-body td{border:1px solid var(--border);padding:10px 12px;text-align:left}
.article.content-body th,.article.content-body thead td{background:rgba(127,246,255,.06);color:#fff}
.article.content-body h1{font-size:1.7rem;margin-top:.2em}
.article.content-body h1:first-child{display:none}
.article.content-body blockquote{border-left:3px solid var(--cyan);margin:16px 0;padding:10px 16px;background:rgba(47,230,214,.06);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.article.content-body hr{border-color:var(--border)}
.article.content-body *{max-width:100%}
.article.content-body [style*="color: rgb(0, 0, 0)"],.article.content-body [style*="color:#000"],.article.content-body [style*="color: #000"]{color:inherit!important}
.article.content-body [style*="background-color"]{background-color:transparent!important}
.wiki-side .input{padding:9px 12px;font-size:.9rem}
