/* ═══════════════════════════════════════════════════════════════
   Airproxy — Design system « Nuit violette »
   Noir violacé, surfaces planes, un seul accent violet.
   Pas de dégradés décoratifs, pas de flou, pas de glassmorphism.
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  /* Fonds */
  --bg:#0E0A16;            /* fond de page : noir teinté violet */
  --surface:#161020;       /* cartes et panneaux */
  --surface-2:#1A1226;     /* surfaces secondaires (badges, inputs) */
  --glass:#161020;         /* alias héritage — désormais opaque */

  /* Bordures */
  --border:#261C38;
  --border-strong:#322847;

  /* Accent — le violet du logo */
  --accent:#8B5CF6;
  --accent-bright:#A855F7;
  --accent-soft:#C4B5FD;

  /* Texte */
  --text:#F4F0FF;
  --muted:#8D83A3;

  /* Sémantique */
  --danger:#F43F5E;
  --success:#34D399;
  --warning:#FB923C;

  --radius:14px;
}

/* ── Reset ─────────────────────────────────────────────────────── */
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:'Inter',system-ui,-apple-system,sans-serif;min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;-webkit-font-smoothing:antialiased;}
/* Fond dégradé « Nuit violette » sur toutes les pages — visible même si la vidéo
   d'arrière-plan ne se lance pas (autoplay bloqué par Brave/Chrome sur certains PC). */
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 80% 60% at 70% -5%, rgba(109,40,217,.32) 0%, transparent 55%),
    radial-gradient(ellipse 60% 55% at 8% 100%, rgba(139,92,246,.14) 0%, transparent 52%),
    radial-gradient(ellipse 45% 45% at 95% 85%, rgba(76,29,149,.16) 0%, transparent 48%);
}

/* ── Fond : plus d'orbes floutées ──────────────────────────────── */
.bg-orbs{display:none;}

/* ── Header / Logo ─────────────────────────────────────────────── */
header,main{position:relative;z-index:1;}
header{background:rgba(14,10,22,.92);border-bottom:1px solid var(--border);padding:0 48px;height:64px;display:flex;align-items:center;justify-content:space-between;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;}
.logo img{height:28px;width:auto;display:block;}
.logo span{font-size:1.05rem;font-weight:600;letter-spacing:.04em;color:var(--text);}
@media(max-width:768px){header{padding:0 20px;}}

/* ── Boutons génériques ────────────────────────────────────────── */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);border:none;border-radius:10px;color:#fff;font-size:.92rem;font-weight:600;padding:12px 24px;cursor:pointer;text-decoration:none;transition:background .15s;}
.btn-primary:hover{background:#7C4DEF;}
.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;border:1px solid var(--border-strong);border-radius:10px;color:var(--text);font-size:.92rem;font-weight:600;padding:12px 24px;cursor:pointer;text-decoration:none;transition:border-color .15s,background .15s;}
.btn-secondary:hover{border-color:var(--accent);background:var(--surface);}

/* ── Toasts ────────────────────────────────────────────────────── */
#toasts{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:999;}
.toast{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:12px;padding:13px 18px;font-size:.84rem;animation:toastIn .3s ease;max-width:320px;}
.toast.success{border-color:rgba(52,211,153,.4);}
.toast.error{border-color:rgba(244,63,94,.4);}
@keyframes toastIn{from{transform:translateX(16px);opacity:0}to{transform:none;opacity:1}}
@keyframes toastOut{to{transform:translateX(16px);opacity:0}}

/* ── Divers ────────────────────────────────────────────────────── */
@keyframes spin{to{transform:rotate(360deg)}}
::selection{background:rgba(139,92,246,.35);}
