/* GSForever — direction artistique de gs4ever.fr (nuit bleutée, or, Cinzel + Outfit).
   Valeurs reprises de la feuille du site en ligne ; les écarts (contraste) sont notés en commentaire. */
:root{
--bg-dark:#0a0d14;--bg-landing:#0b0e14;--bg-card:rgba(18,24,38,.75);--bg-card-hover:rgba(26,35,56,.85);--bg-panel:#111520;--bg-box:#10141e;
--border-color:rgba(212,175,55,.25);--border-glow:rgba(212,175,55,.6);--border-soft:hsla(0,0%,100%,.08);
--gold:#d4af37;--gold-light:#f7e089;--gold-dark:#8c7322;--alliance-blue:#0078d4;--alliance-glow:rgba(0,120,212,.35);
--success:#2ecc71;--success-bg:rgba(46,204,113,.15);--warning:#f39c12;--warning-bg:rgba(243,156,18,.15);--danger:#e74c3c;--danger-bg:rgba(231,76,60,.15);
--text-main:#e2e8f0;--text-soft:#cbd5e1;--text-muted:#94a3b8;
--text-faint:#7c8aa0;/* live : #64748b (3,8:1 sur les cartes) éclairci à même teinte pour atteindre 5,2:1 */
--font-heading:"Cinzel",serif;--font-body:"Outfit",sans-serif;
--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--shadow-card:0 10px 30px -10px rgba(0,0,0,.7);--transition:all 0.25s cubic-bezier(0.16,1,0.3,1);
--gold-wow:#ffd100;--gold-wow-dark:#c89b1a;--green-wow:#1eff00;--blue-wow:#58a6ff;--red-wow:#ff4d4d;--tree-bg:#121722;--slot-bg:rgba(7,10,16,.9);
--discord:#5865f2;--discord-hover:#4752c4;
/* Alias historiques (admin, vues guilde) */
--bg:var(--bg-dark);--bg2:#0e121a;--surface:var(--bg-panel);--surface2:#141a27;--line:var(--border-color);--line2:var(--border-soft);
--gold2:var(--gold-light);--text:var(--text-main);--text2:var(--text-soft);--muted:var(--text-muted);--faint:var(--text-faint);
--horde:#ef4444;--green:#4ade80;--blue:#60a5fa;--display:var(--font-heading);--body:var(--font-body)}
*{box-sizing:border-box}html{scroll-behavior:smooth}[hidden]{display:none!important}
body{margin:0;background-color:var(--bg-landing);background-image:radial-gradient(circle at 50% 0,rgba(212,175,55,.08) 0,transparent 60%),radial-gradient(circle at 0 50%,rgba(0,120,212,.05) 0,transparent 50%);color:var(--text-main);font-family:var(--font-body);font-size:16px;line-height:1.6;min-height:100vh;overflow-x:hidden}
a{color:var(--gold-light)}a:hover{color:var(--gold)}img{max-width:100%}
h1,h2,h3,.h2,.h3,.h4{font-family:var(--font-heading);font-weight:700;color:#fff;margin:0 0 .5em;line-height:1.25;text-wrap:balance}
h1{font-size:clamp(2rem,4vw,2.8rem);font-weight:800;letter-spacing:1px}h2,.h2{font-size:2.2rem}h3,.h3{font-size:1.25rem}.h4{font-size:1.15rem;display:block}
p{margin:0 0 1em}strong{color:#fff}.lead{font-size:1.05rem;color:var(--text-muted);line-height:1.6}.muted{color:var(--text-muted)}.small{font-size:.85rem}.gold{color:var(--gold-light)}
.kicker{display:block;font-size:.8rem;font-weight:800;letter-spacing:2px;color:var(--gold);text-transform:uppercase;margin-bottom:6px}
.center{text-align:center;align-items:center}
/* ---- Boutons ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:12px 24px;border-radius:var(--radius-sm);font-family:var(--font-body);font-weight:700;font-size:.95rem;line-height:1.3;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:var(--transition);text-align:center}
.btn-primary{background:linear-gradient(135deg,var(--gold),#b89222);color:#0b0e14;font-weight:800;box-shadow:0 6px 20px rgba(212,175,55,.35)}.btn-primary:hover{background:linear-gradient(135deg,#fae498,var(--gold));color:#0b0e14;transform:translateY(-2px);box-shadow:0 8px 25px rgba(212,175,55,.5)}
.btn-ghost{background:rgba(18,24,36,.8);color:var(--text-main);border-color:hsla(0,0%,100%,.15);font-weight:600}.btn-ghost:hover{background:hsla(0,0%,100%,.05);border-color:rgba(212,175,55,.4);color:#fff;transform:translateY(-1px)}
.btn-discord{background:var(--discord);color:#fff;font-weight:600;box-shadow:0 4px 14px rgba(88,101,242,.35)}.btn-discord:hover{background:var(--discord-hover);color:#fff;transform:translateY(-2px)}
.btn.big{padding:16px 36px;font-size:1.1rem}.btn-ghost.big{padding:16px 28px;font-size:1.05rem}
.btn.small{min-height:36px;padding:7px 14px;font-size:.85rem;font-weight:600}.btn-ghost.small{background:hsla(0,0%,100%,.06);border-color:hsla(0,0%,100%,.14);color:var(--text-soft)}.btn-ghost.small:hover{background:hsla(0,0%,100%,.12);border-color:var(--gold);color:#fff;transform:none}
.btn-danger{background:rgba(231,76,60,.2);border:1px solid var(--danger);color:#fca5a5}.btn-danger:hover{background:var(--danger);color:#fff}
.link{background:none;border:0;padding:0;color:var(--gold-light);cursor:pointer;font:inherit;text-decoration:underline;text-underline-offset:3px}.link.danger{color:#fca5a5}
/* ---- Bandeau, navigation ---- */
.banner{background:linear-gradient(90deg,#1e1503,#3a2b05,#1e1503);border-bottom:1px solid rgba(212,175,55,.35);color:var(--gold-light);padding:9px 16px;font-size:.88rem;text-align:center;font-weight:500;letter-spacing:.3px}
.nav{position:sticky;top:0;z-index:1000;background:rgba(11,14,20,.96);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid rgba(212,175,55,.22);padding:14px 28px}
.nav-inner{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;flex-shrink:0;transition:var(--transition)}
.brand img{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 8px rgba(212,175,55,.45));transition:transform .25s ease,filter .25s ease}
.brand:hover img{transform:scale(1.08) rotate(2deg);filter:drop-shadow(0 0 14px rgba(212,175,55,.75))}
.brand-text{display:flex;flex-direction:column;white-space:nowrap}
.brand strong{font-family:var(--font-heading);font-size:1.55rem;font-weight:900;color:#fff;letter-spacing:2.5px;line-height:1;text-shadow:0 0 12px rgba(212,175,55,.35)}
.brand:hover strong{color:var(--gold-light);text-shadow:0 0 16px rgba(212,175,55,.6)}
.brand small{font-size:.7rem;color:var(--gold);font-weight:700;letter-spacing:1.8px;margin-top:3px;text-transform:uppercase}
.nav-links{display:flex;align-items:center;gap:24px;flex-wrap:nowrap;margin-left:auto}
.nav-links a{color:var(--text-soft);text-decoration:none;font-size:.95rem;font-weight:600;white-space:nowrap;transition:var(--transition);padding:4px 0}.nav-links a:hover,.nav-links a.active{color:var(--gold-light)}
.nav-end{display:flex;align-items:center;gap:12px;flex-shrink:0}
.nav-cta{gap:.25em;min-height:40px;padding:9px 18px;font-size:.9rem;white-space:nowrap}
.nav-toggle{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;background:hsla(0,0%,100%,.04);border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-sm);cursor:pointer;padding:8px;transition:var(--transition);-webkit-tap-highlight-color:transparent}
.nav-toggle:hover{background:rgba(212,175,55,.15);border-color:var(--gold)}
.nav-toggle span{width:22px;height:2px;background:var(--gold-light);border-radius:2px;transition:transform .25s ease,opacity .25s ease}
body.menu-open .nav-toggle{border-color:var(--gold)}body.menu-open .nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}body.menu-open .nav-toggle span:nth-child(2){opacity:0}body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
main{display:block}
/* ---- Accessibilité ---- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;left:16px;top:-60px;z-index:2000;background:var(--gold);color:#0b0e14;padding:10px 16px;border-radius:var(--radius-sm);font-weight:700;text-decoration:none}.skip-link:focus{top:12px}
a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}
main:focus{outline:none}
.site section[id]{scroll-margin-top:96px}
/* ---- Gabarits ---- */
.section{max-width:1240px;margin:0 auto;padding:55px 20px}
.section-header{text-align:center;margin-bottom:45px}.section-header h2{margin-bottom:10px}.section-header p{color:var(--text-muted);font-size:1.05rem;margin:0 auto;max-width:72ch}
.grid{display:grid;gap:22px;margin:24px 0}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:24px;display:flex;flex-direction:column;gap:10px;transition:var(--transition)}.card>p:last-child{margin:0}
.card-frame{border-color:rgba(212,175,55,.35);background:linear-gradient(180deg,rgba(18,24,38,.85),rgba(10,13,20,.95));box-shadow:0 12px 35px rgba(0,0,0,.6);padding:40px 30px}
.card-gold{border-color:rgba(212,175,55,.4);background:linear-gradient(145deg,rgba(212,175,55,.08),#10141e 70%)}
.icon{width:36px;height:36px;border-radius:6px;border:1px solid var(--gold-dark)}.icon.big{width:56px;height:56px}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.pills{display:flex;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;background:rgba(18,24,36,.7);border:1px solid hsla(0,0%,100%,.08);padding:6px 12px;border-radius:6px;font-size:.85rem;font-weight:600;color:var(--text-main)}.pill-horde{border-color:rgba(239,68,68,.4);background:rgba(239,68,68,.15);color:#fca5a5}
.tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#60a5fa;background:rgba(37,99,235,.15);border:1px solid rgba(59,130,246,.3);padding:3px 10px;border-radius:4px;line-height:1.5}
a.tag{text-decoration:none}a.tag:hover{border-color:#60a5fa;color:#93c5fd}
.chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:6px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);font-size:.82rem;font-weight:600;color:var(--text-soft);text-decoration:none;transition:all .2s ease}.chip img{border-radius:4px}.chip.active{border-color:var(--gold);color:var(--gold-light)}
.filters{display:flex;gap:10px;flex-wrap:wrap}.filters .chip{cursor:pointer}
.filters a.chip{min-height:44px;padding:8px 18px;border-radius:var(--radius-sm);border-color:hsla(0,0%,100%,.1);background:rgba(18,24,38,.6);color:var(--text-muted);font-weight:500;font-size:.88rem}
.filters a.chip:hover{color:#fff;border-color:rgba(212,175,55,.4)}.filters a.chip[aria-current]{border-color:var(--gold);background:rgba(212,175,55,.18);color:var(--gold-light);font-weight:700}
.site .filters{margin:0 0 32px;justify-content:center}
.empty{border-style:dashed;color:var(--text-muted);text-align:center}
.more{color:var(--gold-light);font-size:.85rem;font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* ---- Accueil : hero ---- */
.hero{position:relative;padding:85px 20px 65px;text-align:center;background:linear-gradient(180deg,rgba(11,14,20,.4),rgba(11,14,20,.95)),radial-gradient(circle at 50% 25%,rgba(212,175,55,.14) 0,rgba(0,0,0,.8) 70%);border-bottom:1px solid hsla(0,0%,100%,.06)}
.hero-content{max-width:920px;margin:0 auto}
.hero-logo-wrapper{margin-bottom:24px;display:flex;justify-content:center;align-items:center}
.hero-guild-logo{width:230px;height:auto;max-width:85vw;object-fit:contain;filter:drop-shadow(0 14px 35px rgba(0,0,0,.85)) drop-shadow(0 0 30px rgba(212,175,55,.45));transition:transform .3s ease,filter .3s ease;animation:heroLogoFloat 4s ease-in-out infinite}
@keyframes heroLogoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}
.hero-tagline{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.5);border:1px solid rgba(212,175,55,.3);padding:6px 16px;border-radius:4px;font-size:.85rem;font-weight:700;color:var(--gold-light);letter-spacing:.5px;margin:0 0 22px}
.server-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;flex-shrink:0}
.hero-title{font-family:var(--font-heading);font-size:3.2rem;line-height:1.25;font-weight:900;color:#fff;margin:0 0 22px;letter-spacing:.5px}.hero-title>span{display:block}
.gold-gradient{color:var(--gold-light);text-shadow:0 2px 20px rgba(212,175,55,.35)}
.hero-subtitle{font-size:1.18rem;color:var(--text-soft);max-width:760px;margin:0 auto 36px;line-height:1.75}
.hero-actions{display:flex;justify-content:center;gap:16px;margin-bottom:40px;flex-wrap:wrap}
.hero-badges-row{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.pill-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(18,24,36,.7);border:1px solid hsla(0,0%,100%,.08);padding:8px 16px;border-radius:6px;font-size:.9rem;font-weight:600;color:var(--text-main)}
.hero-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:760px;margin:36px auto 0;padding:0;list-style:none}
.hero-stats li{display:flex;flex-direction:column;align-items:center;gap:4px;background:rgba(5,7,12,.6);border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-md);padding:16px 10px}
.hero-stats strong{font-family:var(--font-heading);font-size:2rem;font-weight:900;line-height:1;color:var(--gold-light);text-shadow:0 2px 12px rgba(212,175,55,.3)}
.hero-stats span{font-size:.75rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}
/* ---- Accueil : compte à rebours ---- */
.countdown-section{padding-top:50px;padding-bottom:10px}
.countdown-card{background:linear-gradient(180deg,rgba(20,28,42,.95),rgba(10,14,22,.98));border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-lg);padding:45px 35px 40px;text-align:center;position:relative;box-shadow:0 15px 45px rgba(0,0,0,.75),0 0 40px rgba(212,175,55,.12);overflow:hidden}
.countdown-card:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.8),transparent)}
.countdown-badge-wrapper{margin-bottom:12px}
.countdown-badge{display:inline-block;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.35);color:var(--gold-light);font-size:.8rem;font-weight:800;letter-spacing:1.6px;padding:6px 16px;border-radius:999px;text-transform:uppercase}
.countdown-title{font-family:var(--font-heading);font-size:2.2rem;font-weight:900;color:#fff;margin:0 0 12px;letter-spacing:1px;text-shadow:0 2px 12px rgba(0,0,0,.8)}
.countdown-timer-grid{display:flex;justify-content:center;align-items:center;gap:16px;margin:25px auto 35px}
.timer-unit{display:flex;flex-direction:column;align-items:center}
.timer-box{background:rgba(5,7,12,.88);border:1px solid rgba(212,175,55,.4);border-radius:var(--radius-md);padding:16px 22px;min-width:105px;box-shadow:inset 0 2px 10px rgba(0,0,0,.8),0 6px 20px rgba(0,0,0,.5);transition:var(--transition)}
.timer-box:hover{border-color:var(--gold-light);box-shadow:inset 0 2px 10px rgba(0,0,0,.8),0 0 25px rgba(212,175,55,.25);transform:translateY(-2px)}
.timer-digit{font-family:var(--font-heading);font-size:3.2rem;font-weight:900;line-height:1;display:block;background:linear-gradient(180deg,#fff7d6,#f59e0b 60%,#b45309);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 8px rgba(245,158,11,.3));letter-spacing:1px}
.timer-caption{font-size:.75rem;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-top:10px}
.timer-colon{font-family:var(--font-heading);font-size:2.5rem;font-weight:900;color:rgba(212,175,55,.5);align-self:flex-start;margin-top:14px}
.countdown-cta-bar{display:flex;justify-content:center;align-items:center;gap:24px;flex-wrap:wrap;padding-top:25px;border-top:1px solid hsla(0,0%,100%,.08)}
.countdown-live-badge{display:inline-flex;align-items:center;gap:10px;background:rgba(16,185,129,.1);border:1px solid rgba(16,185,129,.3);color:#6ee7b7;font-size:.92rem;font-weight:600;padding:9px 18px;border-radius:var(--radius-sm)}
.btn-countdown-join{display:inline-flex;align-items:center;min-height:44px;background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#0b0e14;font-weight:800;font-size:.95rem;padding:10px 22px;border-radius:var(--radius-sm);text-decoration:none;box-shadow:0 4px 18px rgba(212,175,55,.35);transition:var(--transition)}
.btn-countdown-join:hover{color:#0b0e14;transform:translateY(-2px);box-shadow:0 6px 24px rgba(212,175,55,.5);filter:brightness(1.08)}
.countdown.is-over .countdown-timer-grid{display:none}
/* ---- Accueil : projet ---- */
.story-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:start}
.story-text h2{margin-bottom:18px}
.story-text .lead-p{font-size:1.15rem;color:#f1f5f9}.story-text .lead-p,.story-text p{line-height:1.7;margin-bottom:16px}.story-text p{color:var(--text-muted);font-size:1rem}
.quote-box{margin:26px 0 0;padding:18px 22px;background:rgba(212,175,55,.06);border-left:3px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0}
.quote-box p{color:var(--gold-light)!important;font-style:italic;margin-bottom:6px!important;font-size:1rem!important}
.quote-author{display:block;font-style:normal;font-size:.82rem;color:var(--text-faint);font-weight:600;text-transform:uppercase;letter-spacing:1px}
.story-card{background:var(--bg-panel);border:1px solid rgba(212,175,55,.25);border-radius:var(--radius-md);padding:32px 28px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.story-card h3{font-size:1.3rem;color:var(--gold-light);margin-bottom:20px;border-bottom:1px solid hsla(0,0%,100%,.08);padding-bottom:12px}
.check-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin:0;padding:0}
.check-list li{font-size:.95rem;line-height:1.6;color:var(--text-soft);position:relative;padding-left:24px}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:800}
/* ---- Accueil : règles ---- */
.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}
.rule-box{background:var(--bg-box);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-sm);padding:26px;transition:var(--transition)}
.rule-box:hover{border-color:var(--gold);background:#141a27;transform:translateY(-2px)}
.rule-addon-box{border-color:rgba(212,175,55,.4);background:linear-gradient(145deg,rgba(212,175,55,.08),#10141e 70%)}
.rule-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rule-chip{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;background:hsla(0,0%,100%,.06);color:var(--text-muted);padding:4px 10px;border-radius:4px}
.chip-gold{background:rgba(212,175,55,.18);color:var(--gold-light);border:1px solid rgba(212,175,55,.3)}
.rule-icon{width:28px;height:28px;border-radius:5px;border:1px solid rgba(212,175,55,.4)}
.rule-box h3{font-size:1.15rem;margin-bottom:10px}.rule-box p{color:var(--text-muted);font-size:.95rem;line-height:1.65;margin:0}.rule-box .btn{margin-top:18px}
/* ---- Accueil : recrutement ---- */
.recruitment-beacon-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:16px 24px;background:linear-gradient(135deg,rgba(34,197,94,.12),rgba(18,24,38,.9));border:1px solid rgba(34,197,94,.35);border-radius:var(--radius-md);margin-bottom:28px;box-shadow:0 8px 25px rgba(0,0,0,.35)}
.recruitment-beacon-left{display:flex;align-items:center;gap:14px}
.beacon-pulse-dot{width:12px;height:12px;border-radius:50%;background:#22c55e;box-shadow:0 0 14px #22c55e,0 0 24px rgba(34,197,94,.6);animation:pulseBeacon 2s ease-in-out infinite;flex-shrink:0}
@keyframes pulseBeacon{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.75}}
.beacon-tag{display:block;font-size:.76rem;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:#86efac}
.beacon-title{font-size:1.05rem;font-weight:700;color:#f8fafc;margin:2px 0 0}.beacon-sub{font-size:.85rem;color:var(--text-muted);margin:0}
.manifesto-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:28px}
.manifesto-card{background:linear-gradient(180deg,rgba(20,26,42,.85),rgba(12,16,26,.95));border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1);box-shadow:0 6px 20px rgba(0,0,0,.3)}
.manifesto-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent 0,var(--gold) 50%,transparent 100%);opacity:.4;transition:opacity .3s ease}
.manifesto-card:hover{transform:translateY(-4px);border-color:rgba(212,175,55,.4);box-shadow:0 14px 35px rgba(0,0,0,.5),0 0 20px rgba(212,175,55,.12)}.manifesto-card:hover:before{opacity:1}
.manifesto-badge{display:inline-block;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:3px 10px;border-radius:4px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.12);color:var(--text-soft)}
.manifesto-badge.gold{background:rgba(212,175,55,.15);border-color:rgba(212,175,55,.35);color:var(--gold-light)}.manifesto-badge.green{background:rgba(34,197,94,.15);border-color:rgba(34,197,94,.35);color:#86efac}.manifesto-badge.blue{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.35);color:#93c5fd}.manifesto-badge.purple{background:rgba(168,85,247,.15);border-color:rgba(168,85,247,.35);color:#d8b4fe}
.manifesto-content h3{font-size:1.25rem;font-weight:700;color:#f8fafc;margin:8px 0 10px;line-height:1.35}.manifesto-content p{color:var(--text-muted);font-size:.94rem;line-height:1.65;margin:0}
.manifesto-footer{display:flex;align-items:center;padding-top:14px;border-top:1px solid hsla(0,0%,100%,.06)}
.manifesto-tick-pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:#86efac;background:rgba(34,197,94,.08);padding:3px 10px;border-radius:20px;border:1px solid rgba(34,197,94,.2)}
.classes-spectrum-strip{background:rgba(15,20,32,.7);border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:16px 20px;margin-bottom:24px;display:flex;flex-direction:column;gap:14px}
.classes-spectrum-label{font-size:.88rem;font-weight:700;color:var(--gold-light);padding-left:10px}
.classes-spectrum-pills{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.class-pill-mini{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:6px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);font-size:.82rem;font-weight:600;color:var(--text-soft);transition:all .2s ease}.class-pill-mini:hover{background:hsla(0,0%,100%,.08);transform:translateY(-1px)}
.class-dot-circle{width:9px;height:9px;border-radius:50%;display:inline-block;background:var(--c,#64748b)}
.meta-note-box{margin-top:24px;padding:24px 28px;background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(18,24,38,.9));border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-md);position:relative;box-shadow:0 8px 30px rgba(0,0,0,.4)}
.meta-note-box p{color:var(--text-soft);font-size:.98rem;line-height:1.7;margin:0}.meta-note-box strong{color:var(--gold-light);font-size:1.1rem;display:block;margin-bottom:8px}
/* ---- Accueil : FAQ, appel final ---- */
.faq-list{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:16px}
.faq-item{background:var(--bg-panel);border:1px solid hsla(0,0%,100%,.07);border-radius:var(--radius-sm);padding:0;transition:border-color .2s ease}.faq-item:hover,.faq-item[open]{border-color:rgba(212,175,55,.3)}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:56px;padding:22px 26px;cursor:pointer;list-style:none;font-size:1.08rem;color:var(--gold-light);font-weight:700;line-height:1.4}
.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:"+";flex-shrink:0;font-size:1.3rem;line-height:1;color:var(--gold)}.faq-item[open] summary::after{content:"−"}.faq-item[open] summary{padding-bottom:8px}
.faq-item>p{color:var(--text-muted);font-size:.95rem;line-height:1.65;margin:0;padding:0 26px 22px}
.cta-section{padding-top:35px;padding-bottom:80px}
.cta-box-authentic{text-align:center;background:linear-gradient(180deg,#151a26,#0e121a),radial-gradient(circle at 50% 0,rgba(212,175,55,.15),transparent 70%);border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-md);padding:50px 30px;box-shadow:0 12px 35px rgba(0,0,0,.6)}
.cta-box-authentic h2{margin-bottom:14px}.cta-box-authentic p{max-width:680px;margin:0 auto 30px;color:var(--text-muted);font-size:1.08rem;line-height:1.7}
.cta-buttons-row{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.btn-cta{font-size:1.15rem;padding:16px 40px}
/* ---- Pied de page ---- */
.footer{background:#080a0f;border-top:1px solid rgba(212,175,55,.2);padding:50px 20px 25px}
.footer-grid{max-width:1240px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin:0 auto 35px}
.footer-brand .brand{margin-bottom:12px}.footer-brand .brand img{width:48px;height:48px;filter:drop-shadow(0 0 10px rgba(212,175,55,.45))}
.footer-brand p{color:var(--text-faint);font-size:.9rem;line-height:1.6;margin:0}.footer-brand p strong{color:var(--text-soft)}
.footer nav,.footer-meta{display:flex;flex-direction:column;gap:10px}
.footer-heading{color:var(--gold-light);font-family:var(--font-heading);font-size:1rem;font-weight:700;margin-bottom:4px}
.footer nav a,.footer-meta a{color:var(--text-muted);text-decoration:none;font-size:.9rem;transition:var(--transition)}.footer nav a:hover,.footer-meta a:hover{color:var(--gold)}
.footer-note{font-size:.8rem;color:var(--text-faint)}
.footer .footer-officer{color:var(--gold);font-weight:600}
.footer-credit{max-width:1240px;margin:0 auto;padding-top:20px;border-top:1px solid hsla(0,0%,100%,.05);text-align:center;font-size:.8rem;color:var(--text-faint)}
/* ---- Pages : en-tête, listes, articles ---- */
.page-head{width:calc(100% - 40px);max-width:1100px;margin:40px auto 40px;text-align:center;padding:40px 24px;background:linear-gradient(180deg,rgba(18,24,38,.85) 0%,rgba(10,13,20,.95) 100%);border:1px solid rgba(212,175,55,.35);border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.6)}
.page-head .kicker{display:inline-flex;align-items:center;gap:8px;margin:0 0 14px;letter-spacing:3px;font-size:.78rem;font-weight:700;color:var(--gold-light);padding:5px 14px;border-radius:20px;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.3)}
.page-head h1{color:var(--gold);margin:0 0 14px}
.page-head .lead,.page-head>p{color:var(--text-muted);max-width:680px;margin:0 auto;font-size:1.05rem;line-height:1.6}
.page-head .page-meta{justify-content:center;margin-top:16px}.page-head>.muted.small{display:block;margin-top:14px}
.page-head .crumb-back{display:inline-block;margin-bottom:14px;font-size:.85rem;font-weight:600;text-decoration:none;color:var(--gold-light)}.page-head .crumb-back:hover{color:var(--gold)}
.page-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--text-muted);font-size:.82rem}
.site .page-head~.section{max-width:1140px;padding-top:0;padding-bottom:80px}.site .building-header~.section{max-width:1280px;padding-bottom:40px}
.list{display:flex;flex-direction:column;gap:22px}
.list>.card,.annonce-card{background:rgba(18,24,38,.85);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:28px;box-shadow:0 6px 20px rgba(0,0,0,.35);gap:0}
.list .meta{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:14px}.list .meta .muted{font-size:.82rem}
.list h2{font-size:1.45rem;font-weight:700;margin:0 0 12px;line-height:1.4}.list h2 a{color:#f1f5f9;text-decoration:none}.list h2 a:hover{color:var(--gold-light)}
.list .card>p{color:var(--text-soft);font-size:.98rem;line-height:1.6;margin:0 0 14px}
.list time,.link-card time{white-space:nowrap}
.link-card{background:rgba(18,24,38,.85);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:24px;box-shadow:0 6px 20px rgba(0,0,0,.35);text-decoration:none;color:var(--text-main);justify-content:space-between}
.link-card:hover{border-color:rgba(212,175,55,.4);transform:translateY(-2px);color:var(--text-main)}
.link-card strong{font-family:var(--font-heading);font-size:1.25rem;color:#f8fafc;line-height:1.4}.link-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6;margin:0}
.link-card>.muted.small{padding-top:16px;margin-top:6px;border-top:1px solid hsla(0,0%,100%,.06);font-size:.8rem;color:var(--text-faint)}
.site .section>section+section{margin-top:40px}.site .section>section>h2{font-size:1.6rem}
.prose{font-size:.96rem;line-height:1.75;color:var(--text-soft)}
.site .page-head~article.prose,.site article.prose{max-width:880px;width:calc(100% - 40px);margin:0 auto 80px;padding:36px;background:rgba(18,24,38,.85);border:1px solid hsla(0,0%,100%,.08);border-radius:14px;padding:36px;box-shadow:0 6px 20px rgba(0,0,0,.35);margin-bottom:80px}
.prose h2{font-size:1.35rem;color:var(--gold);margin:26px 0 10px;border-bottom:1px solid rgba(212,175,55,.2);padding-bottom:6px}.prose h3{font-size:1.18rem;color:var(--gold-light);margin:22px 0 8px}.prose>:first-child{margin-top:0}
.prose ul,.prose ol{margin:14px 0;padding-left:22px}.prose li{margin-bottom:6px}.prose strong{color:#f8fafc}
.prose img{max-height:480px;border-radius:8px;border:1px solid rgba(212,175,55,.35);box-shadow:0 8px 25px rgba(0,0,0,.5)}
.prose code{background:rgba(0,0,0,.4);color:#f1f5f9;padding:2px 6px;border-radius:4px;font-size:.85rem}
.prose blockquote{margin:18px 0;padding:14px 20px;background:rgba(212,175,55,.06);border-left:3px solid var(--gold);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--gold-light)}
.prose .more{display:inline-block;margin-top:18px}
.empty-state{max-width:720px;margin:0 auto;align-items:center;text-align:center;gap:14px;background:rgba(18,24,38,.5);border:1px dashed rgba(212,175,55,.25);border-radius:12px;padding:50px 20px;box-shadow:none}.empty-state .actions{margin-top:4px;justify-content:center}.empty-state p{margin:0}
.not-found{max-width:880px;margin:60px auto 80px;width:calc(100% - 40px);text-align:center;padding:50px 30px;background:linear-gradient(180deg,rgba(18,24,38,.85) 0%,rgba(10,13,20,.95) 100%);border:1px solid rgba(212,175,55,.35);border-radius:16px;box-shadow:0 12px 35px rgba(0,0,0,.6)}
.not-found .kicker{display:inline-block;margin-bottom:14px;padding:5px 14px;border-radius:20px;background:rgba(212,175,55,.12);border:1px solid rgba(212,175,55,.3);color:var(--gold-light);letter-spacing:3px;font-size:.78rem}
.not-found h1{color:var(--gold)}.not-found .lead{margin:0 auto 30px;max-width:60ch}.not-found .actions{justify-content:center}
.construction{max-width:820px;margin:0 auto;gap:20px}
/* Tableaux génériques (réutilisables : Fourre-tout, admin) */
.table-wrap{position:relative;overflow:auto;max-height:75vh;border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-sm);background:rgba(10,13,20,.6);-webkit-overflow-scrolling:touch}
.table-wrap::-webkit-scrollbar,.ft-scroll::-webkit-scrollbar{width:8px;height:8px}.table-wrap::-webkit-scrollbar-track,.ft-scroll::-webkit-scrollbar-track{background:rgba(10,13,20,.5)}.table-wrap::-webkit-scrollbar-thumb,.ft-scroll::-webkit-scrollbar-thumb{background:rgba(212,175,55,.3);border-radius:4px}.table-wrap::-webkit-scrollbar-thumb:hover,.ft-scroll::-webkit-scrollbar-thumb:hover{background:var(--gold)}
.data-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem;text-align:left}
.data-table th{position:sticky;top:0;z-index:2;background:rgba(18,24,38,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gold-light);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--border-color);white-space:nowrap}
.data-table td{padding:10px 14px;border-bottom:1px solid hsla(0,0%,100%,.04);vertical-align:top;color:var(--text-soft)}.data-table tbody tr:hover td{background:rgba(212,175,55,.06)}
/* ---- Formulaires ---- */
label{display:flex;flex-direction:column;gap:8px;font-size:.9rem;font-weight:600;color:var(--text-main)}
input,select,textarea{background:rgba(10,13,20,.7);color:#fff;border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius-sm);padding:12px 16px;font:inherit;font-size:.95rem;font-weight:400;letter-spacing:0;text-transform:none;min-height:44px;width:100%;transition:var(--transition)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 12px rgba(212,175,55,.25);background:rgba(15,20,32,.9)}
input::placeholder,textarea::placeholder{color:var(--text-faint)}
textarea{min-height:auto;line-height:1.5}select{background:#0b0e14;cursor:pointer}
label.check{flex-direction:row;align-items:center;font-size:.9rem;color:var(--text-soft);font-weight:400}label.check input{width:18px;height:18px;min-height:0;accent-color:var(--gold)}
.login{width:440px;max-width:100%;margin:20px auto 40px;gap:18px;text-align:center;border-radius:var(--radius-lg)}.login .kicker{margin:0}.login h1,.login .h2{color:var(--gold-light);font-size:1.6rem;margin:0}.login label{text-align:left}
.alert{background:var(--danger-bg);border:1px solid var(--danger);color:#fca5a5;border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem}.flash{color:#86efac;font-size:.85rem;font-weight:600}
/* ---- Calculateur ---- */
.calc{display:flex;flex-direction:column;gap:22px}
.page-head.building-header{background:none;border:0;box-shadow:none;padding:30px 0 0;margin-bottom:30px;max-width:900px}
.building-header h1{color:#fff;font-size:2.4rem;margin-bottom:8px;text-shadow:0 2px 15px rgba(212,175,55,.35)}
.building-header .kicker{letter-spacing:1.6px;font-weight:800;padding:6px 16px;border-radius:999px;border-color:rgba(212,175,55,.35)}
.building-header .lead{max-width:760px}
.calc .card{background:rgba(14,18,27,.95);border-color:rgba(212,175,55,.3);box-shadow:0 8px 30px rgba(0,0,0,.6);-webkit-backdrop-filter:none;backdrop-filter:none}
.calc .step{display:flex;align-items:center;gap:12px;font-size:1.25rem;margin:0}.calc .step label{display:inline;font:inherit;color:inherit}
.step-num{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid rgba(212,175,55,.5);background:rgba(212,175,55,.12);color:var(--gold-light);font-family:var(--font-body);font-size:.95rem;font-weight:800}
.calc-setup{display:flex;flex-direction:column;gap:22px}.calc-setup .card{gap:14px}.calc-setup p{margin:0}
.calc-level-card{flex-direction:row!important;align-items:center;flex-wrap:wrap;gap:12px 20px!important;padding:12px 20px!important;background:rgba(18,24,36,.92)!important;border-color:hsla(0,0%,100%,.12)!important}
.calc-level-card select{width:auto;min-width:220px;color:var(--gold-light);border-color:rgba(212,175,55,.4);font-weight:700;padding:8px 12px}
.class-picker{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:8px}
.class-chip{display:flex;align-items:center;gap:8px;min-height:44px;background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-sm);padding:8px 10px;color:var(--text-soft);font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;transition:var(--transition);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.class-chip img{width:24px;height:24px;border-radius:4px;flex-shrink:0;border:1px solid rgba(0,0,0,.8)}
.class-chip:hover{background:hsla(0,0%,100%,.1);color:#fff;border-color:rgba(212,175,55,.5);transform:translateY(-1px)}
.class-chip.active,.class-chip[aria-pressed="true"]{background:rgba(212,175,55,.2);border-color:var(--gold);color:#fff;box-shadow:inset 0 0 12px rgba(212,175,55,.3),0 0 10px rgba(212,175,55,.2)}
.calc-step{display:flex;flex-direction:column;gap:8px}.calc-help{margin:0;font-size:.95rem}
.calc-step-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calc-step-head .btn.small{min-height:44px}
.calc-bar{position:sticky;top:80px;z-index:15;flex-direction:row!important;align-items:center;justify-content:space-between;gap:16px 24px!important;flex-wrap:wrap;padding:16px 24px!important;background:linear-gradient(90deg,rgba(21,28,42,.97),rgba(12,16,25,.98))!important;border-color:rgba(212,175,55,.35)!important;box-shadow:0 6px 25px rgba(0,0,0,.5)!important}
.calc-bar-spec{display:flex;flex-direction:column;min-width:0;flex:1 1 240px}.calc-bar-spec .kicker{margin:0 0 2px}.calc-bar-spec strong{font-family:var(--font-heading);font-size:1.2rem;letter-spacing:1px;color:var(--gold-light)}
.calc-bar-left{display:flex;align-items:baseline;gap:8px}.calc-bar-left strong{font-family:var(--font-heading);font-size:1.8rem;font-weight:900;line-height:1;color:#4ade80}.calc-bar-left span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.calc-msg{min-height:22px;color:var(--gold-light);font-size:.95rem;font-weight:600}
.trees{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tree{background:var(--tree-bg);border:1px solid rgba(212,175,55,.28);border-radius:var(--radius-md);padding:20px;box-shadow:0 10px 30px rgba(0,0,0,.6);position:relative;overflow:hidden;display:flex;flex-direction:column;gap:14px}
.tree:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.tree-head{display:flex;align-items:center;gap:10px;border-bottom:1px solid hsla(0,0%,100%,.08);padding-bottom:14px;margin-bottom:6px}
.tree-head img{width:28px;height:28px;border-radius:4px;border:1px solid var(--gold)}
.tree-head strong{font-family:var(--font-heading);font-size:1.15rem;color:#fff;letter-spacing:.8px;flex-grow:1}
.tree-head span{background:rgba(0,0,0,.5);border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-sm);padding:4px 10px;font-size:.82rem;font-weight:700;color:var(--gold-light)}
.tier{display:flex;gap:8px;align-items:flex-start}.tier .req{width:18px;flex-shrink:0;font-size:.7rem;color:var(--text-faint);padding-top:16px;text-align:right}.cells{flex-grow:1;display:flex;gap:8px;justify-content:center}
.talent{display:flex;flex-direction:column;align-items:center;gap:8px;width:76px;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.talent .tile{position:relative;width:46px;height:46px;border-radius:6px;border:1px solid hsla(0,0%,100%,.15);background:#000;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.talent .tile img{width:100%;height:100%;border-radius:5px;object-fit:cover;display:block;pointer-events:none}.talent .tile b{font-family:var(--font-heading);color:var(--text-muted)}
.talent.avail .tile{border-color:#22c55e;box-shadow:0 0 8px rgba(34,197,94,.3)}
.talent.active .tile{border-color:#22c55e;box-shadow:0 0 10px rgba(34,197,94,.4)}
.talent.maxed .tile{border-color:var(--gold-wow);box-shadow:0 0 12px rgba(255,209,0,.45),inset 0 0 6px rgba(255,209,0,.25)}
.talent:not(.locked):hover .tile{transform:scale(1.08)}.talent.avail:hover .tile,.talent.active:hover .tile{border-color:#4ade80;box-shadow:0 0 14px rgba(74,222,128,.55)}.talent.maxed:hover .tile{border-color:#ffe566;box-shadow:0 0 18px rgba(255,209,0,.7),inset 0 0 8px rgba(255,209,0,.35)}
.talent.locked{cursor:not-allowed}.talent.locked .tile{filter:grayscale(100%) opacity(35%);border-color:hsla(0,0%,100%,.08);box-shadow:none}
.talent:focus-visible .tile{outline:2px solid var(--gold-light);outline-offset:3px}
.talent .rank{position:absolute;bottom:-6px;right:-6px;background:#021a08;border:1px solid #22c55e;color:#4ade80;font-size:.7rem;font-weight:800;padding:1px 4px;border-radius:3px;line-height:1.1;box-shadow:0 2px 5px rgba(0,0,0,.8),0 0 5px rgba(34,197,94,.3);font-variant-numeric:tabular-nums;font-family:var(--font-body)}
.talent.maxed .rank{background:#1a1405;border-color:var(--gold-wow);color:var(--gold-wow);box-shadow:0 2px 5px rgba(0,0,0,.8),0 0 8px rgba(255,209,0,.4)}
.talent.locked .rank{border-color:hsla(0,0%,100%,.18);color:var(--text-muted);background:rgba(8,11,17,.9);box-shadow:0 1px 3px rgba(0,0,0,.7)}
.talent .name{font-size:.7rem;line-height:1.25;text-align:center;color:var(--text-soft);text-wrap:pretty}.talent.locked .name{color:var(--text-faint)}
.order{display:flex;flex-wrap:wrap;gap:8px}.order-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid hsla(0,0%,100%,.12);background:hsla(0,0%,100%,.05);border-radius:20px;padding:4px 11px 4px 4px;font-size:.78rem;font-weight:600;color:var(--text-soft)}.order-chip b{background:rgba(212,175,55,.2);border:1px solid rgba(212,175,55,.4);color:var(--gold-light);border-radius:999px;padding:1px 8px;font-size:.72rem}
.row{display:flex;gap:8px}
.calc-share [data-action="save"]{background:linear-gradient(135deg,rgba(212,175,55,.18),rgba(212,175,55,.08));border-color:rgba(212,175,55,.4);color:var(--gold-light);font-weight:700}.calc-share [data-action="save"]:hover{background:linear-gradient(135deg,rgba(212,175,55,.35),rgba(212,175,55,.18));border-color:var(--gold);color:#fff;box-shadow:0 0 12px rgba(212,175,55,.3)}
.calc-share{margin:0}.calc-share .card{gap:12px;background:rgba(14,18,27,.9);border-color:hsla(0,0%,100%,.1)}.calc-share h3{margin:0}.calc-share .row input{flex:1}.calc-share p{margin:0}.calc-share input,.calc-share textarea{background:#090c12;border-color:hsla(0,0%,100%,.14);font-size:.9rem;padding:10px 14px}
.saved{display:flex;justify-content:space-between;align-items:center;gap:12px;background:linear-gradient(135deg,rgba(18,24,38,.95),rgba(10,14,22,.98));border:1px solid rgba(212,175,55,.22);border-left:3px solid var(--gold);border-radius:var(--radius-md);padding:10px 14px;margin-bottom:8px;box-shadow:0 4px 14px rgba(0,0,0,.4)}
.saved>div:first-child{display:flex;flex-direction:column;min-width:0}.saved strong{font-family:var(--font-heading);font-size:.92rem}.saved span{word-break:break-all}.saved>div:last-child{display:flex;gap:6px;flex-shrink:0}
.tooltip{position:absolute;z-index:3000;width:340px;background:rgba(12,15,22,.97);border:1px solid rgba(212,175,55,.55);border-radius:var(--radius-sm);padding:14px 18px;box-shadow:0 15px 40px rgba(0,0,0,.9),0 0 25px rgba(212,175,55,.25);font-size:.88rem;line-height:1.45;color:var(--text-main);pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.tip-head{display:flex;align-items:center;gap:10px;border-bottom:1px solid hsla(0,0%,100%,.1);padding-bottom:8px;margin-bottom:8px}.tip-head img{width:36px;height:36px;border-radius:6px;border:1px solid var(--gold)}
.tip-head div{display:flex;flex-direction:column;flex-grow:1}.tip-head strong{font-family:var(--font-heading);font-size:1.1rem}.tip-head span{font-size:.82rem;color:#4ade80;font-weight:700}
.tooltip p{margin:0 0 10px;color:var(--text-main)}.tooltip .muted{color:var(--text-muted)}
.st{font-style:normal;font-size:.72rem;font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;border-radius:4px;border:1px solid;white-space:nowrap}
.st.new{background:rgba(74,222,128,.15);border-color:rgba(74,222,128,.35);color:#86efac}.st.mod{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.35);color:#fde68a}.st.moved{background:rgba(96,165,250,.15);border-color:rgba(96,165,250,.35);color:#bfdbfe}.st.same{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.15);color:var(--text-soft)}
.calc-panel{background:rgba(14,18,27,.9);border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-md);padding:32px 34px;margin:0 auto 40px}
.calc-panel>.kicker{margin-bottom:6px}.calc-panel>h2{font-size:1.45rem;margin-bottom:10px}.calc-panel>.lead{margin-bottom:0}
.faction{font-size:1.18rem;margin:24px 0 14px;padding-bottom:8px;border-bottom:1px solid hsla(0,0%,100%,.08)}.faction.alliance{color:#60a5fa}.faction.horde{color:#f87171}
.race{background:rgba(0,0,0,.4)!important;border-color:hsla(0,0%,100%,.08)!important;box-shadow:none!important;padding:18px 20px!important;gap:12px!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
.race .race-head{display:flex;align-items:center;gap:12px;margin-bottom:3px}.race .race-head img{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--gold)}.race strong{font-family:var(--font-body);font-size:1.12rem;color:#fff}
.trait{display:flex;flex-direction:column;gap:2px}.trait strong{font-size:.9rem!important;font-weight:700;color:var(--gold-light)!important}.trait span{font-size:.86rem;line-height:1.42;color:var(--text-soft)}
.legacy-tree{background:rgba(0,0,0,.4)!important;border-color:rgba(212,175,55,.28)!important;box-shadow:none!important;padding:22px 24px!important;gap:13px!important}
.legacy-tree .tree-head{border:0;padding:0;margin:0 0 3px}.legacy-tree .tree-head strong{color:var(--gold-light)}.legacy-tree .tree-head span{background:none;border:0;padding:0;color:var(--text-muted);font-weight:500}
.perk{display:flex;gap:12px;align-items:flex-start}.perk img{width:26px;height:26px;border-radius:4px;border:1px solid hsla(0,0%,100%,.15);margin-top:2px;flex-shrink:0}.perk div{display:flex;flex-direction:column;gap:2px}.perk strong{font-size:.9rem;color:var(--gold-light)}.perk em{font-style:normal;font-size:.75rem;color:var(--text-muted);margin-left:6px;font-weight:600}.perk span{font-size:.86rem;line-height:1.42;color:var(--text-soft)}
/* ---- Fourre-tout Forever (guides) ---- */
.crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin-bottom:14px;font-size:.85rem;font-weight:600;color:var(--text-muted)}.crumbs a{text-decoration:none}.crumbs [aria-current]{color:var(--text-soft)}
.page-head .ft-tabs{margin:24px 0 0;justify-content:center}
.ft-promo{margin-bottom:40px;gap:14px;padding:32px;border-radius:16px;background:linear-gradient(135deg,rgba(20,26,42,.95) 0%,rgba(12,16,26,.95) 100%);border-color:rgba(212,175,55,.3);box-shadow:0 12px 40px rgba(0,0,0,.65)}
.ft-promo h2{margin:0;font-size:1.75rem}.ft-promo h2 a{color:#f8fafc;text-decoration:none}.ft-promo h2 a:hover{color:var(--gold-light)}.ft-promo .kicker{margin:0}.ft-promo p{margin:0;color:var(--text-soft)}.ft-promo .filters{justify-content:flex-start;margin:6px 0 0}
.ft{display:flex;flex-direction:column;gap:36px}.ft>*,.ft-block>*{min-width:0;max-width:100%}
.ft-toolbar{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:16px;padding:16px 20px;background:linear-gradient(180deg,rgba(20,26,42,.85),rgba(12,16,26,.95));border-color:rgba(212,175,55,.3);box-shadow:0 8px 30px rgba(0,0,0,.5);position:sticky;top:80px;z-index:20}.ft-toolbar[hidden]{display:none}
.ft-toolbar label{flex:0 1 180px;font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:700}.ft-toolbar .ft-search{flex:1 1 260px}.ft-toolbar .ft-search input{width:100%;background:rgba(0,0,0,.55);border-color:rgba(212,175,55,.28);border-radius:10px}
.ft-level{display:flex;gap:10px;border:0;padding:0;margin:0}.ft-level legend{font-size:.76rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-weight:700;padding:0;margin-bottom:8px}.ft-level label{flex:0 0 84px}
.ft-count{flex-basis:100%;margin:0}.ft-count:empty{display:none}
.ft-block{display:flex;flex-direction:column;gap:12px}.ft-block[hidden]{display:none}.ft-block h2{margin:0;color:var(--gold-light)}.ft-subtitle{margin:0}
.ft-scroll{position:relative;overflow:auto;max-height:75vh;border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-sm);background:rgba(10,13,20,.6);-webkit-overflow-scrolling:touch}
.ft-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.86rem;text-align:left}
.ft-table th{position:sticky;top:0;z-index:2;background:rgba(18,24,38,.97);color:var(--gold-light);font-weight:600;padding:12px 14px;border-bottom:1px solid var(--border-color);white-space:nowrap}
.ft-table td{padding:10px 14px;border-bottom:1px solid hsla(0,0%,100%,.04);vertical-align:top;color:var(--text-soft);min-width:90px;max-width:420px}.ft-table tr:last-child td{border-bottom:0}.ft-table tbody tr:hover td{background:rgba(212,175,55,.06)}.ft-table tr[hidden]{display:none}
.ft-table a{overflow-wrap:anywhere}.ft-table a.ft-wh-search{color:var(--text-soft);text-decoration:underline dotted;text-decoration-color:var(--gold-dark);text-underline-offset:3px}.ft-table a.ft-wh-search:hover{color:var(--gold-light);text-decoration-color:var(--gold)}
.ft-text{max-width:820px}.ft-para{margin:0;color:var(--text-soft);font-size:1rem}.ft-para[hidden]{display:none}
.ft-figure{margin:0}.ft-figure img{display:block;height:auto;max-height:520px;width:auto;max-width:100%;border:1px solid rgba(212,175,55,.35);border-radius:8px;box-shadow:0 8px 25px rgba(0,0,0,.5)}
.ft-credit{margin:0;text-align:center}
/* ---- Pagination ---- */
.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0}.pagination .page{display:inline-flex;align-items:center;min-height:40px;padding:8px 16px;border:1px solid hsla(0,0%,100%,.1);border-radius:var(--radius-sm);background:rgba(18,24,38,.6);color:var(--text-muted);text-decoration:none;font-size:.88rem}.pagination a.page:hover{border-color:rgba(212,175,55,.4);color:#fff}.pagination .current{background:rgba(212,175,55,.18);border-color:var(--gold);color:var(--gold-light);font-weight:700}.pagination .disabled{opacity:.45}
/* ---- Admin ---- */
body.admin{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background-color:var(--bg-dark);background-image:radial-gradient(circle at 50% 0,rgba(0,120,212,.15) 0,transparent 60%),radial-gradient(circle at 100% 100%,rgba(212,175,55,.08) 0,transparent 50%)}
.admin-side{background:#080a0f;border-right:1px solid rgba(212,175,55,.2);padding:24px 16px;display:flex;flex-direction:column;gap:8px}
.admin-side .brand img{width:40px;height:40px}.admin-side .brand strong{font-size:1.2rem;letter-spacing:2px}.admin-side .brand small{letter-spacing:1.4px}
.admin-side nav{display:flex;flex-direction:column;gap:6px;margin-top:16px}
.admin-side nav a{padding:10px 16px;border-radius:var(--radius-sm);color:var(--text-muted);text-decoration:none;font-weight:700;font-size:.92rem;border:1px solid transparent;transition:all .2s ease}
.admin-side nav a:hover{background:hsla(0,0%,100%,.06);border-color:rgba(212,175,55,.4);color:#fff}
.admin-side nav a.active{background:linear-gradient(135deg,rgba(35,26,12,.95),rgba(18,22,33,.98));border-color:var(--gold);color:var(--gold-light);box-shadow:0 0 16px rgba(212,175,55,.25),inset 0 0 10px rgba(212,175,55,.1)}
.admin-side-foot{margin-top:auto;border-top:1px solid hsla(0,0%,100%,.08);padding-top:16px;display:flex;flex-direction:column;gap:10px;font-size:.85rem}.admin-side-foot a{color:var(--text-soft)}
.admin-main{display:flex;flex-direction:column;min-width:0}
.admin-top{min-height:72px;margin:24px 32px 0;border:1px solid rgba(212,175,55,.35);border-radius:var(--radius-md);background:radial-gradient(circle at 50% 0,rgba(32,24,12,.85) 0,rgba(10,13,20,.96) 100%);box-shadow:0 10px 30px rgba(0,0,0,.6),inset 0 1px 0 hsla(0,0%,100%,.05);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px}
.admin-top h1{font-size:1.6rem;margin:0;background:linear-gradient(135deg,#fff 0,var(--gold-light) 55%,var(--gold) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.admin-top .actions a{color:var(--gold-light)}
.admin-content{padding:24px 32px 40px;display:flex;flex-direction:column;gap:20px}
.admin .card{background:rgba(14,18,27,.85);-webkit-backdrop-filter:none;backdrop-filter:none;border-color:hsla(0,0%,100%,.08);box-shadow:0 10px 30px rgba(0,0,0,.45);border-radius:var(--radius-md)}
.admin .card-gold{border-color:rgba(212,175,55,.4);background:linear-gradient(145deg,rgba(212,175,55,.08),#10141e 70%)}
.admin .grid{margin:0}.admin .card.stat strong{font-family:var(--font-heading);font-weight:900;font-size:2.2rem;color:var(--gold-light)}
.admin h2{font-size:1.45rem}.admin .kicker{margin-bottom:2px}
.stat{display:flex;flex-direction:column;gap:6px}.stat span{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-weight:700}
.row-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid hsla(0,0%,100%,.06)}
.form{display:flex;flex-direction:column;gap:20px}.form .card{gap:14px}.form .actions{align-items:center}
.toolbar-row{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.toolbar-row label{flex-direction:row;align-items:center;gap:12px}.toolbar-row select{width:auto}
.sortable{list-style:none;padding:6px 0;margin:0}.section-row{display:flex;align-items:center;gap:16px;padding:12px 20px;border-bottom:1px solid hsla(0,0%,100%,.06)}.section-row.disabled{opacity:.55}.section-row.dragging{opacity:.4}.section-row .handle{cursor:grab;color:var(--text-faint);font-size:18px}.section-row .num{font-size:18px;width:36px}.section-row .grow{flex-grow:1;display:flex;flex-direction:column}
.num{font-family:var(--font-heading);font-weight:900;color:var(--gold)}
.switch{width:48px;height:28px;border-radius:999px;border:1px solid hsla(0,0%,100%,.15);padding:3px;cursor:pointer;display:flex;align-items:center;background:hsla(0,0%,100%,.08);min-height:0}.switch[aria-checked="true"]{background:var(--gold);border-color:var(--gold);justify-content:flex-end}.switch span{display:block;width:20px;height:20px;border-radius:999px;background:#0b0e14}
.item{border:1px solid hsla(0,0%,100%,.08);border-radius:var(--radius-sm);padding:12px;display:flex;flex-direction:column;gap:8px;margin:0;background:rgba(0,0,0,.25)}.item legend{font-size:.75rem;letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);font-weight:700;display:flex;gap:12px}
.table{width:100%;border-collapse:collapse;padding:0;display:table}.table th{text-align:left;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;color:var(--gold-light);font-weight:600;padding:12px 20px;border-bottom:1px solid var(--border-color);background:rgba(18,24,38,.6)}.table td{padding:14px 20px;border-bottom:1px solid hsla(0,0%,100%,.05);font-size:.9rem;vertical-align:middle}.table tbody tr:hover td{background:rgba(212,175,55,.04)}
.status{display:inline-flex;align-items:center;gap:8px;color:var(--gold-light);font-weight:700}.status::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--gold)}.status.on{color:#4ade80}.status.on::before{background:#22c55e;box-shadow:0 0 8px #22c55e}.status.off{color:#f87171}.status.off::before{background:#ef4444}.status.warn{color:#fbbf24}.status.warn::before{background:var(--warning)}
.row-actions{display:flex;gap:12px;align-items:center}.row-actions form{display:inline}
.admin-side nav .nav-group{margin:14px 14px 2px;font-size:.7rem;letter-spacing:1.8px;text-transform:uppercase;color:var(--text-faint);font-weight:700}
.copy-field{display:flex;gap:8px;align-items:center}.copy-field input{flex:1;font-family:ui-monospace,monospace;font-size:.82rem}
.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-form label{flex:1;min-width:160px}
.table input,.table select{min-width:0}
.stack{display:flex;flex-direction:column;gap:14px}
.health{border-left:4px solid var(--gold)!important;gap:8px}.health-ok{border-left-color:#22c55e!important}.health-bad{border-left-color:var(--danger)!important}
.health-head{padding-top:0;align-items:center}.health-head h3{margin:0}.health-details{margin:0;padding-left:18px;color:var(--text-soft)}.health-hint{color:var(--text-muted)}
.health-summary>span:first-child{display:flex;gap:16px;flex-wrap:wrap}
.help-guide h2[id],.help-guide h3[id]{scroll-margin-top:16px}.help-guide code{font-size:.9em;background:rgba(0,0,0,.4);padding:2px 6px;border-radius:4px}
.admin-side nav .nav-help{margin-top:12px;border-top:1px solid hsla(0,0%,100%,.08);border-radius:0 0 var(--radius-sm) var(--radius-sm);padding-top:14px;font-weight:500}
.admin-title{display:flex;align-items:baseline;gap:10px;min-width:0;flex-wrap:wrap}.crumb{font-size:.76rem;letter-spacing:.6px;text-transform:uppercase;font-weight:700;color:var(--gold-light);text-decoration:none;white-space:nowrap;background:rgba(212,175,55,.15);border:1px solid rgba(212,175,55,.4);border-radius:4px;padding:3px 10px;align-self:center}.crumb:hover{color:#fff;border-color:var(--gold)}.crumb::after{content:" ›";color:var(--gold)}
.inbox{display:flex;flex-direction:column;gap:12px}.inbox h2{font-family:var(--font-body);font-size:.8rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin:10px 0 0;font-weight:800}
.inbox-item{flex-direction:row!important;align-items:center;justify-content:space-between;gap:18px;border-left:4px solid var(--gold)!important;padding:18px 20px}.inbox-item.is-danger{border-left-color:var(--danger)!important}.inbox-item.is-calm{border-left-color:var(--gold-dark)!important}
.inbox-text{display:flex;flex-direction:column;gap:6px;min-width:0}.inbox-text p{margin:0}.inbox-sentence{font-size:1.05rem;color:var(--text-main)}
.inbox-meta{font-size:.82rem;color:var(--text-faint);display:flex;gap:10px;flex-wrap:wrap;align-items:center}.inbox-hint{font-size:.9rem;color:var(--text-muted)}
.inbox-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:flex-end;flex-shrink:0}.inbox-actions form{display:inline-flex}
.inbox-empty{align-items:center;text-align:center;padding:56px 22px}.inbox-empty strong{font-family:var(--font-heading);font-size:1.6rem;color:var(--gold-light)}
details.fold summary{cursor:pointer;color:var(--text-soft);font-weight:700;list-style:none}details.fold summary::-webkit-details-marker{display:none}details.fold summary::before{content:"▸ ";color:var(--gold)}details[open].fold summary::before{content:"▾ "}details.fold[open] summary{margin-bottom:12px}
.names{display:flex;flex-wrap:wrap;gap:8px}.names .pill{text-decoration:none;padding:6px 12px}
.hub-card{text-decoration:none;color:var(--text-main);min-height:120px}.hub-card:hover{border-color:rgba(212,175,55,.5)!important;color:var(--text-main);transform:translateY(-2px)}.hub-card h3{margin:0;font-size:1.15rem}.hub-card p{margin:0;color:var(--text-soft)}.hub-card .go{margin-top:auto;font-size:.85rem;color:var(--gold-light);font-weight:700}
/* ---- Responsive ---- */
@media (max-width:1100px){
.nav{padding:12px 18px}.nav-links{gap:16px}.nav-cta{padding:8px 14px;font-size:.85rem}
.site .nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:8px;background:rgba(10,14,22,.98);border-bottom:2px solid var(--gold);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 20px 40px rgba(0,0,0,.85);padding:20px 24px}
.site .nav-links a{display:flex;align-items:center;min-height:48px;padding:12px 16px;font-size:1.02rem;border-radius:var(--radius-sm);border:1px solid hsla(0,0%,100%,.04);background:hsla(0,0%,100%,.02)}
.site .nav-links a.active,.site .nav-links a:hover{color:var(--gold-light);border-color:rgba(212,175,55,.4);background:rgba(212,175,55,.1)}
body.menu-open .nav-links{display:flex}.nav-toggle{display:flex}
.grid-4,.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
.class-picker{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media (max-width:900px){
.story-layout,.footer-grid{grid-template-columns:1fr}.hero-title{font-size:2.3rem}.trees{grid-template-columns:1fr}
}
@media (max-width:860px){.manifesto-grid{grid-template-columns:1fr}}
@media (max-width:768px){
.countdown-card{padding:30px 18px 25px}.countdown-title{font-size:1.6rem}.countdown-timer-grid{gap:8px}.timer-box{min-width:68px;padding:10px 8px}.timer-digit{font-size:2rem}.timer-colon{font-size:1.6rem;margin-top:8px}.timer-caption{font-size:.65rem;letter-spacing:1px}.countdown-cta-bar{flex-direction:column;gap:14px}
}
@media (max-width:760px){
h2,.h2{font-size:1.6rem}.section{padding:40px 16px}.hero{padding:56px 16px 48px}
.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}.rules-grid{grid-template-columns:1fr}
.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-subtitle{font-size:1.02rem}.hero-actions .btn{width:100%}
.nav-end{gap:8px}.cta-long{display:none}.brand small{display:none}.brand strong{font-size:1.25rem}.nav-cta{padding:8px 12px}.nav{padding:10px 16px}
.page-head{width:calc(100% - 32px);margin:24px auto 28px;padding:30px 18px}.site .page-head~.section{padding-bottom:56px}
.site .page-head~article.prose,.site article.prose{padding:24px 18px;width:calc(100% - 32px)}.list>.card,.annonce-card{padding:22px 18px}.cta-box-authentic{padding:36px 18px}.calc-panel{padding:22px 16px}
.faq-item summary{font-size:1rem;padding:16px 18px}.faq-item>p{padding:0 18px 18px}
.recruitment-beacon-bar{padding:16px 18px}.recruitment-beacon-bar .btn{width:100%}.manifesto-card{padding:22px 18px}.meta-note-box{padding:20px 18px}
.class-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.class-chip{padding:8px;font-size:.82rem;gap:6px}.class-chip img{width:20px;height:20px}
.calc-level-card select{min-width:0;flex:1 1 100%}
.calc-bar{top:68px;padding:10px 12px!important;gap:8px 12px!important}.calc-bar-spec{flex-basis:100%}.calc-bar-spec .kicker{display:none}.calc-bar-spec strong{font-size:.95rem}.calc-bar-left strong{font-size:1.5rem}.calc-bar-left span{font-size:.68rem}.calc-bar-tools{gap:6px}.calc-bar .btn.small{padding:8px 10px;font-size:.78rem}.calc-bar .sym{display:none}
.tree{padding:14px 8px}.tier{gap:4px}.tier .req{width:14px}.cells{gap:4px}.talent{width:64px}.talent .tile{width:42px;height:42px}.talent .name{font-size:.66rem}.calc .step{font-size:1.1rem}
.ft-toolbar{position:static}.ft-toolbar label{flex:1 1 140px}.ft-table td{max-width:260px}
body.admin{grid-template-columns:1fr}.admin-side{flex-direction:row;flex-wrap:wrap;align-items:center}.admin-side nav{flex-direction:row;flex-wrap:wrap;margin:0}.admin-side-foot{margin:0;border:0;padding:0}
.admin-top{margin:16px 16px 0;padding:12px 16px}.admin-top h1{font-size:1.3rem}.admin-content{padding:16px}.table{display:block;overflow-x:auto}
.inbox-item{flex-direction:column!important;align-items:stretch}.inbox-actions{justify-content:flex-start}.admin-side nav .nav-help{margin-top:0;border-top:0;padding-top:10px}
.footer nav a{padding:4px 0}
}
@media (max-width:640px){.building-header h1{font-size:1.6rem}}
@media (max-width:420px){.class-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-inner{gap:10px}.brand{gap:8px}.brand img{width:36px;height:36px}.brand strong{font-size:1.1rem;letter-spacing:1.5px}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* Fourre-tout : sur ordinateur, les tableaux prennent toute la largeur et s'affichent en entier (pas de défilement interne) ;
   sous 1025 px, la zone défilante reste pour les petits écrans. */
@media (min-width:1025px){
.site .page-head~.section.ft{max-width:min(1680px,calc(100% - 48px))}
.ft-scroll{overflow:visible;max-height:none}
.ft-table th{white-space:normal;top:72px;vertical-align:bottom}
.ft-table td{min-width:0;max-width:none;overflow-wrap:break-word}
}

/* Calculateur : cases vides pour garder les 4 colonnes du jeu ; libellé du rang suivant dans l'infobulle. */
.cells .slot-empty{width:76px;flex-shrink:0}
.tip-next{color:var(--gold-light);font-weight:700}
@media (max-width:760px){.cells .slot-empty{width:64px}}

/* Mes builds : 3 builds visibles, les suivants dans une liste qui défile ; champ de renommage. */
#calc-saved{max-height:370px;overflow-y:auto;padding-right:4px;margin-top:12px}

.saved-name{width:100%;font-family:var(--font-heading);font-size:.92rem;padding:4px 8px}
.saved-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.saved-tools input{flex:1 1 160px;min-width:0}.saved-tools select{flex:0 1 180px}
.saved-tools[hidden]{display:none}
#calc-saved .saved{flex-wrap:wrap}#calc-saved .saved>div:first-child{flex:1 1 100%}#calc-saved .saved>div:last-child{flex-wrap:wrap;gap:6px}
