/* Site public de Z-ARK — statique, sans script, sans ressource externe.
   ⛔ Aucun script ni police tiers : le site est servi avec des en-têtes stricts
   (script-src 'none'). Tout ce qui s'affiche vit dans ce dossier.
   ⭐ Décision de Zarkk (28/09/2026) : le site porte la DA DU TABLEAU DE BORD —
   mêmes couleurs, mêmes cartes, mêmes boutons — pour que le visiteur retrouve
   l'interface qu'il aura sous les yeux. Les valeurs ci-dessous sont celles de
   web/index.html ; en changer une ici sans l'autre, c'est trahir l'aperçu.
   Sombre uniquement, comme le tableau de bord : c'est un choix, pas un oubli. */

:root{
  --bg:#0a0d14; --bg2:#12161f; --bg3:#1a1f2b;
  --line:#242b38; --line2:#333c4d;
  --txt:#e8edf5; --txt2:#c4cdda; --mut:#8895a8;
  --accent:#6366f1; --accent2:#818cf8;
  --on:#22c55e; --off:#ef4444; --warn:#f59e0b; --upd:#a855f7; --info:#38bdf8;
  --r:14px; --r-sm:9px;
  --sh1:0 1px 2px rgba(0,0,0,.3);
  --sh2:0 4px 14px rgba(0,0,0,.35);
  --sh3:0 12px 32px rgba(0,0,0,.5);
  --t:160ms cubic-bezier(.4,0,.2,1);
  color-scheme:dark;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--txt);
  font-family:'Segoe UI',system-ui,-apple-system,Roboto,sans-serif;
  font-size:15.5px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:rgba(99,102,241,.35)}
a{color:var(--accent2);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--accent2);outline-offset:2px;border-radius:4px}
h1,h2,h3{line-height:1.15;text-wrap:balance;margin:0}
p{margin:0}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
.num{font-variant-numeric:tabular-nums}

/* ── En-tête : celui du tableau de bord ── */
.top{position:sticky;top:0;z-index:20;background:rgba(18,22,31,.85);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;gap:14px;min-height:56px;flex-wrap:wrap;padding-top:8px;padding-bottom:8px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand svg{width:34px;height:34px;flex:none}
.brand b{font-weight:800;letter-spacing:1px;font-size:17px;background:linear-gradient(90deg,var(--accent2),var(--upd));-webkit-background-clip:text;background-clip:text;color:transparent}
.top nav{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}
.top nav a{font-size:13px;font-weight:600;color:var(--txt2);text-decoration:none;padding:7px 12px;border-radius:var(--r-sm);background:#2a313d;transition:filter var(--t)}
.top nav a:hover{filter:brightness(1.18)}
.top nav a.lang{background:transparent;border:1px solid var(--line2)}

/* ── Les boutons : ceux du tableau de bord, un cran plus grands ── */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:var(--r-sm);padding:11px 18px;font-size:14.5px;font-weight:600;color:#fff;text-decoration:none;white-space:nowrap;transition:filter var(--t),transform var(--t)}
.btn:hover{filter:brightness(1.12)}
.btn:active{transform:translateY(1px) scale(.985)}
.b-accent{background:var(--accent);box-shadow:0 2px 10px rgba(99,102,241,.35)}
.b-neutral{background:#2a313d;color:var(--txt2)}
.b-on{background:var(--on)}

/* ── Pastilles d'état : celles de la barre du haut et des serveurs ── */
.hchip{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:600;padding:3px 11px;border-radius:999px;white-space:nowrap;
  color:var(--on);border:1px solid rgba(34,197,94,.45);background:rgba(34,197,94,.08)}
.hchip.accent{color:var(--accent2);border-color:rgba(129,140,248,.45);background:rgba(99,102,241,.1)}
.hchip.info{color:var(--info);border-color:rgba(56,189,248,.45);background:rgba(56,189,248,.08)}
.hchip.upd{color:#c084fc;border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.1)}
.dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;flex:none}

/* ── Ouverture ── */
.hero{padding-block:64px 56px;display:flex;flex-direction:column;gap:44px}
.hero-texte{max-width:780px}
.hero h1{font-size:clamp(34px,4.6vw,54px);font-weight:750;letter-spacing:-.025em}
.hero h1 span{display:block;color:var(--accent2)}
.lede{color:var(--txt2);font-size:17px;margin-top:20px;max-width:34em}
.cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}

.seclbl{font-size:11px;color:var(--mut);letter-spacing:.5px;text-transform:uppercase;font-weight:600}

/* ── Sections ── */
section{padding:72px 0;border-top:1px solid var(--line)}
.entete{max-width:760px;margin-bottom:32px}
.entete .seclbl{display:block;margin-bottom:10px;color:var(--accent2)}
.sec-title{font-size:clamp(26px,3.2vw,36px);font-weight:750;letter-spacing:-.02em}
.sec-lede{color:var(--txt2);margin-top:12px;font-size:16px}

/* Les cartes : celles du tableau de bord */
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0}
.card{background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--sh1);transition:border-color var(--t),box-shadow var(--t),transform var(--t)}
.card:hover{border-color:var(--line2);box-shadow:var(--sh2)}
.card h3{font-size:15.5px;font-weight:650;display:flex;align-items:center;gap:10px}
.card p,.card dd{color:var(--mut);font-size:14px;line-height:1.7;margin:8px 0 0}
.card dt{font-weight:650;font-size:15px}
.ico{width:34px;height:34px;flex:none;padding:7px;border-radius:var(--r-sm);background:rgba(99,102,241,.14);fill:none;stroke:var(--accent2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ── L'interface, en vraies captures ── */
.captures{display:grid;gap:28px}
.capture{margin:0;background:var(--bg2);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh2)}
.capture{scroll-margin-top:80px}
.capture a{display:block;position:relative;border-bottom:1px solid var(--line);cursor:zoom-in}
.loupe{position:absolute;right:14px;top:14px;width:36px;height:36px;display:grid;place-items:center;border-radius:var(--r-sm);background:rgba(18,22,31,.85);border:1px solid var(--line2);color:var(--txt);font-size:18px;opacity:.85;transition:opacity var(--t)}
.capture a:hover .loupe{opacity:1}
.capture a:hover img{filter:brightness(1.08)}
.capture img{width:100%;transition:filter var(--t)}
.capture figcaption{padding:14px 18px}
.capture figcaption b{display:block;font-size:15px;font-weight:650}
.capture figcaption span{display:block;color:var(--mut);font-size:13.5px;margin-top:3px}
.lightbox{display:none;position:fixed;inset:0;z-index:60;align-items:center;justify-content:center;padding:24px}
.lightbox:target{display:flex}
.lb-fond{position:absolute;inset:0;background:rgba(5,7,12,.88);cursor:zoom-out}
.lb-boite{position:relative;max-width:min(1920px,100%);max-height:100%;display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;box-shadow:var(--sh3)}
.lb-image{min-height:0;display:flex}
.lb-boite img{width:auto;max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;margin:0 auto}
.lb-barre{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-top:1px solid var(--line)}
.lb-barre .btn{padding:8px 14px;font-size:13.5px}
.note-captures{color:var(--mut);font-size:13px;margin-top:14px}

/* ── Plugins ── */
.plug-head{display:flex;align-items:center;gap:10px;justify-content:space-between}
.plug-head h3{font-family:ui-monospace,'Cascadia Mono',Consolas,monospace;font-size:15px;letter-spacing:.2px}
.card.payant{border-color:rgba(168,85,247,.45);background:linear-gradient(180deg,rgba(168,85,247,.07),var(--bg2) 60%)}
.plug-note{margin-top:18px;color:var(--mut);font-size:14px}

/* ── Prérequis ── */
.aparte{display:flex;gap:12px;align-items:flex-start;margin-top:16px;padding:14px 18px;border:1px solid var(--on);border-radius:var(--r-sm);background:rgba(34,197,94,.05);color:var(--txt2);font-size:14.5px}
.aparte b{color:var(--on)}
.aparte .ico{background:rgba(34,197,94,.14);stroke:var(--on)}

/* ── Licence ── */
.licence{display:flex;align-items:center;gap:24px;justify-content:space-between;flex-wrap:wrap;padding:28px;border-color:rgba(99,102,241,.5);background:linear-gradient(135deg,rgba(99,102,241,.12),var(--bg2) 70%)}
.licence p{color:var(--txt2);margin-top:8px;max-width:36em}

footer{padding:26px 0 40px;color:var(--mut);font-size:13.5px;border-top:1px solid var(--line)}
footer .wrap{display:flex;gap:18px;flex-wrap:wrap;align-items:center}
footer nav{margin-left:auto;display:flex;gap:16px;flex-wrap:wrap}
footer a{color:var(--mut);text-decoration:none}
footer a:hover{color:var(--txt)}

/* ── Page de texte (mentions légales) ── */
.page{max-width:780px;padding-top:40px;padding-bottom:64px}
.page h1{font-size:32px;margin-bottom:24px;letter-spacing:-.02em}
.page h2{font-size:14px;margin:30px 0 8px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent2)}
.page p{color:var(--txt2);margin:8px 0}

@media (max-width:980px){
  .hero{padding-block:44px 40px;gap:32px}
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:15px}
  .wrap{padding-inline:16px}
  .top{position:static}
  .hero{padding-block:32px 28px}
  .top nav{margin-left:0;width:100%}
  .top nav a{padding:6px 10px}
  .grid,.captures{grid-template-columns:1fr}
  .lightbox{padding:8px}
  /* Sur téléphone, l’image agrandie garde une taille lisible et se déplace au doigt. */
  .lb-image{overflow:auto;-webkit-overflow-scrolling:touch}
  .lb-boite img{max-width:none;width:1000px;max-height:none;flex:none;margin:0}
  section{padding:52px 0}
  .licence{padding:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
