/* Thème Navalia — orange, sombre, sobre (chargé après le CSS propre à chaque page) */
:root{
  --bg:#0C0C0C; --surface:#161616; --surface2:#1E1E1E; --surface3:#242424; --line-c:#2A2A2A;
  --primary:#F97316; --primary-d:#EA6B07; --secondary:#F59E0B;
  --text:#F3F4F6; --muted:#9CA3AF; --white:#fff;
  --display:'Rajdhani','Rajdhani Fallback',sans-serif; --title:'Inter','Inter Fallback',system-ui,sans-serif; --body:'Inter','Inter Fallback',system-ui,sans-serif;
  --h:'Rajdhani','Rajdhani Fallback',sans-serif; --b:'Inter','Inter Fallback',system-ui,sans-serif;
  /* variables héritées des pages */
  --sea-deep:#0C0C0C; --gold:#F97316; --gold-bright:#FB923C; --gold-dim:#C2570C;
  --panel:#161616; --line:#2A2A2A; --or:#F97316; --or2:#FDBA74;
  --shadow-orange:inset 0 1px 0 rgba(255,255,255,.16),0 1px 2px rgba(0,0,0,.5),0 8px 22px -10px rgba(249,115,22,.55);
  --shadow-orange-lg:inset 0 1px 0 rgba(255,255,255,.2),0 2px 4px rgba(0,0,0,.5),0 14px 34px -12px rgba(249,115,22,.6);
}
html{scroll-behavior:smooth}
body{background:#0C0C0C!important;color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased}
/* Fond commun : noir + halo orange + fine grille (remplace les images floues) */
.bg{display:none!important}
body::before{content:""!important;position:fixed!important;inset:0!important;z-index:0!important;pointer-events:none!important;filter:none!important;opacity:1!important;
  background:
    radial-gradient(ellipse 70% 45% at 50% -8%,rgba(249,115,22,.24),transparent 70%),
    radial-gradient(ellipse 45% 35% at 100% 100%,rgba(245,158,11,.08),transparent 70%),
    radial-gradient(ellipse 40% 30% at 0% 70%,rgba(249,115,22,.06),transparent 70%),
    linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0/56px 56px,
    linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0/56px 56px,
    #0C0C0C!important;
  -webkit-mask-image:linear-gradient(#000 65%,rgba(0,0,0,.35));mask-image:linear-gradient(#000 65%,rgba(0,0,0,.35))}

/* Base commune (la boutique n'a pas le CSS des autres pages) */
header{position:sticky;top:0;z-index:100}
header nav{display:flex;align-items:center;gap:1rem;margin:0 auto}
.brand{display:flex;align-items:center;white-space:nowrap;color:var(--primary)}
.nav-links{margin-left:auto;display:flex;overflow-x:auto;scrollbar-width:none}
.nav-links a{white-space:nowrap}

/* Particules orange (js/fx.js) */
.fx-particles{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.fx-particles i{position:absolute;bottom:-12px;border-radius:50%;background:var(--c);box-shadow:0 0 8px var(--c),0 0 14px var(--c);opacity:0;animation:fx-rise linear infinite}
@keyframes fx-rise{0%{transform:translate(0,0) scale(.6);opacity:0}10%{opacity:.8}80%{opacity:.5}100%{transform:translate(var(--x),-105vh) scale(1);opacity:0}}
header,main,footer,.wrap{position:relative;z-index:2}
header{position:sticky}

::selection{background:rgba(249,115,22,.35)}
:focus-visible{outline:2px solid var(--primary)!important;outline-offset:3px!important;border-radius:8px}

/* ---------- Navbar ---------- */
header{background:rgba(17,17,17,.9)!important;border-bottom:1px solid var(--line-c)!important;backdrop-filter:blur(16px)}
header nav,nav{height:72px!important;width:min(1280px,100% - 2rem)!important}
header .brand,.brand{gap:.75rem!important;font-family:var(--display)!important;font-weight:700!important;font-size:1.5rem!important;letter-spacing:.02em!important}
.brand span{background:linear-gradient(135deg,#F97316,#F59E0B);-webkit-background-clip:text;background-clip:text;color:transparent}
header .brand img,.brand img{width:40px!important;height:40px!important;border:0!important;border-radius:10px!important;box-shadow:none!important}
.nav-links{gap:.15rem!important;align-items:center}
.nav-links a{font-family:var(--body)!important;font-size:.875rem!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important;padding:.4rem .8rem!important;border-radius:8px!important;transition:color .15s,background .15s!important}
.nav-links a:hover{color:#fff!important;background:var(--surface3)!important}
.nav-links a.on{color:var(--primary)!important;background:rgba(249,115,22,.07)!important}
.nav-links a.discord-btn{position:relative;overflow:hidden;margin-left:.5rem;font-weight:600!important;color:#fff!important;border:0!important;
  background:linear-gradient(90deg,#F97316,#F59E0B)!important;box-shadow:var(--shadow-orange);transition:transform .2s,box-shadow .2s!important}
.nav-links a.discord-btn:hover{box-shadow:var(--shadow-orange-lg);transform:scale(1.04);color:#fff!important}
.nav-links a.discord-btn:active{transform:scale(.95)}
.nav-links a.discord-btn::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);transition:transform .7s}
.nav-links a.discord-btn:hover::after{transform:translateX(100%)}

footer{border-top:1px solid var(--line-c)!important;color:#6B7280!important;letter-spacing:0!important;background:#111}

/* ---------- Boutons ---------- */
.btn{display:inline-flex!important;align-items:center;gap:.5rem;font-family:var(--body)!important;font-weight:600!important;font-size:.95rem!important;letter-spacing:0!important;text-transform:none!important;
  padding:.8rem 1.6rem!important;border-radius:12px!important;border:1px solid transparent;transition:all .2s!important;cursor:pointer;user-select:none}
.btn:active{transform:scale(.95)!important}
.btn-primary{background:linear-gradient(90deg,#F97316,#F59E0B)!important;color:#fff!important;box-shadow:var(--shadow-orange)!important}
.btn-primary:hover{background:linear-gradient(90deg,#EA6B07,#D98A0B)!important;box-shadow:var(--shadow-orange-lg)!important;transform:translateY(-1px)!important}
.btn-outline{background:var(--surface3)!important;color:#fff!important;border:1px solid var(--line-c)!important}
.btn-outline:hover{background:var(--line-c)!important;border-color:rgba(249,115,22,.5)!important;transform:translateY(-1px)!important}

/* ---------- Accueil ---------- */
.hero{position:relative;min-height:calc(100vh - 72px)!important;padding:4rem 1rem 5rem!important;overflow:hidden;
  background:radial-gradient(60% 50% at 50% 0%,rgba(249,115,22,.16),transparent 70%),radial-gradient(40% 40% at 90% 90%,rgba(245,158,11,.06),transparent 70%)}
.hero-logo{width:104px!important;height:104px!important;border:1px solid var(--line-c)!important;border-radius:24px!important;box-shadow:0 10px 40px -10px rgba(249,115,22,.4)!important}
.hero h1{font-family:var(--display)!important;font-weight:700!important;font-size:clamp(3.4rem,10vw,6.5rem)!important;letter-spacing:.01em!important;
  background:linear-gradient(135deg,#F97316,#F59E0B);-webkit-background-clip:text;background-clip:text;color:transparent!important;text-shadow:none!important;margin-bottom:1rem!important}
.tagline{font-family:var(--body)!important;font-size:1.1rem!important;letter-spacing:0!important;text-transform:none!important;color:var(--muted)!important;opacity:1!important;max-width:640px;line-height:1.7;margin-bottom:2rem!important}
.ip-box{background:var(--surface)!important;border:1px solid var(--line-c)!important;border-radius:12px!important;padding:.55rem .6rem .55rem 1rem!important;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace!important;font-size:1rem!important;color:#fff!important}
.ip-label{font-family:var(--body)!important;font-size:.7rem!important;font-weight:700;letter-spacing:.08em!important;color:var(--primary)!important;background:rgba(249,115,22,.1);padding:.15rem .5rem;border-radius:6px}
.ip-copy-btn{font-family:var(--body)!important;font-size:.8rem!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;background:var(--surface3)!important;border:1px solid var(--line-c)!important;color:#fff!important;border-radius:8px!important;padding:.4rem .85rem!important}
.ip-copy-btn:hover{border-color:rgba(249,115,22,.5)!important;background:var(--line-c)!important}
.ip-copy-btn.copied{color:#4ADE80!important;border-color:rgba(74,222,128,.5)!important;background:rgba(74,222,128,.08)!important}

.discover{width:min(1100px,92%)!important}
.discover h2{font-family:var(--display)!important;font-size:1.7rem!important;font-weight:700!important;letter-spacing:.01em!important;text-transform:none!important;color:#fff!important;margin-bottom:1.2rem!important}
.discover h2::after{display:none!important}
.cards{gap:1rem!important}
.card{background:var(--surface)!important;border:1px solid var(--line-c)!important;border-radius:16px!important;padding:1.4rem!important;backdrop-filter:none!important;transition:all .2s!important}
.card:hover{transform:none!important;border-color:rgba(249,115,22,.4)!important;background:var(--surface2)!important}
.card h3{font-family:var(--display)!important;font-size:1.3rem!important;font-weight:700!important;letter-spacing:.01em!important;text-transform:none!important;color:#fff!important}
.card:hover h3{color:var(--primary)!important}
.card p{color:var(--muted)!important}

/* ---------- Pages internes ---------- */
.page{width:min(1000px,92%)!important}
.page-header{border-bottom:1px solid var(--line-c)!important}
.page-header h1,h1{font-family:var(--display)!important;font-weight:700!important;letter-spacing:.01em!important}
.page-header h1{font-size:clamp(2.2rem,5vw,3.2rem)!important;color:#fff!important}
.page-header h1::after{content:"";display:block;width:56px;height:4px;border-radius:2px;margin-top:.7rem;background:linear-gradient(90deg,#F97316,#F59E0B)}
.page-header p,.lead{color:var(--muted)!important}
.note{background:var(--surface)!important;border:1px solid var(--line-c)!important;border-left:3px solid var(--primary)!important;border-radius:12px!important}
.note strong{font-family:var(--body)!important;letter-spacing:0!important;color:#fff!important}

/* Starter pack */
.box{background:var(--surface)!important;border:1px solid var(--line-c)!important;border-radius:16px!important;padding:1.4rem!important;transition:border-color .2s,background .2s}
.box:hover{border-color:rgba(249,115,22,.4)!important;background:var(--surface2)!important}
.box h2{font-family:var(--display)!important;font-size:1.3rem!important;font-weight:700!important;letter-spacing:.01em!important;text-transform:none!important;border-bottom:1px solid var(--line-c)!important}
.box li{border-bottom:1px solid var(--line-c)!important}
.box li::before{content:""!important;left:0;top:1rem;width:6px;height:6px;border-radius:50%;background:var(--primary)!important}
.box .cond{border-top:1px solid var(--line-c)!important}
.box .cond b{font-family:var(--body)!important;color:#fff!important;letter-spacing:0!important}
.box.low h2{color:#4ADE80!important}.box.medium h2{color:#FBBF24!important}.box.high h2{color:#F97316!important}

/* Tableaux (grades + sanctions) */
.scroll,.tw{background:var(--surface)!important;border:1px solid var(--line-c)!important;border-radius:16px!important;box-shadow:none!important}
thead tr{background:var(--surface3)!important}
th{font-family:var(--body)!important;font-size:.75rem!important;letter-spacing:.06em!important;color:var(--muted)!important;border-bottom:1px solid var(--line-c)!important}
td{border-bottom:1px solid var(--line-c)!important}
tbody tr:hover td{background:var(--surface2)!important}
.st th,.st td{border-right:0!important}
.st thead th{color:var(--muted)!important;background:var(--surface3)!important;border-bottom:1px solid var(--line-c)!important;font-weight:600!important}
.st tbody tr:nth-child(even){background:transparent!important}
.st tbody tr:hover{background:var(--surface2)!important}
.st td:first-child{color:#fff!important}
.st td:nth-child(3){color:#D1D5DB!important}
.s{border-radius:8px!important}
.s.w{background:rgba(245,158,11,.14)!important;color:#FBBF24!important}
.s.m{background:rgba(249,115,22,.15)!important;color:#FB923C!important}
.s.b{background:rgba(239,68,68,.14)!important;color:#F87171!important}
.s.pm{background:rgba(239,68,68,.2)!important;color:#F87171!important}
.s.wp{background:transparent!important;border:1px dashed rgba(249,115,22,.55)!important;color:#FB923C!important}
.y{color:#4ADE80!important}.price{color:#4ADE80!important}

/* Règlement */
aside{background:#111!important;border-right:1px solid var(--line-c)!important;backdrop-filter:none!important}
aside h6{font-family:var(--body)!important;font-weight:600;letter-spacing:.08em!important;color:#6B7280!important}
.tab{border-radius:8px!important;border-left:0!important;font-family:var(--body)!important}
.tab:hover{background:var(--surface3)!important;color:#fff!important}
.tab.on{color:var(--primary)!important;background:rgba(249,115,22,.07)!important}
.crumb{border-left:0!important;padding-left:0!important}
.crumb b{color:var(--primary)!important}
.wrap h1{background:none!important;-webkit-text-fill-color:#fff!important;color:#fff!important;text-shadow:none!important}
.lead{border-bottom:1px solid var(--line-c)!important}
ul.rules li::before{border-radius:50%!important;transform:none!important}
ul.rules b{text-decoration:none!important;color:#fff!important;background:rgba(249,115,22,.12);padding:.05rem .35rem;border-radius:6px}
.tag{border-radius:8px!important}
.tag.ok{background:rgba(74,222,128,.12)!important;color:#4ADE80!important}
.tag.no{background:rgba(248,113,113,.12)!important;color:#F87171!important}
.empty{border-color:var(--line-c)!important;border-radius:16px!important}

@media(max-width:640px){header nav,nav{height:64px!important}.brand span{display:none}}

/* Base commune des blocs de page */
.page-header{margin-bottom:2.2rem;padding-bottom:1.5rem}
.note{padding:1rem 1.2rem;margin:1.8rem 0;font-size:.95rem}
.note strong{display:block;margin-bottom:.2rem}

/* Barre du haut identique sur toutes les pages : la gouttière du scroll est toujours réservée */
html{scrollbar-gutter:stable;overflow-y:scroll}
header{width:100%}
header nav{box-sizing:border-box;width:min(1280px,100% - 2rem)!important;margin-left:auto!important;margin-right:auto!important}