/* ═══════════════════════════════════════════════════════════════
   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 : 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);}
