/* Theme EVA : habillage inspire des ecrans NERV / MAGI de Neon Genesis
   Evangelion et du concept EWS de bagusindrayana (ews-concept.vercel.app).
   Purement visuel : chaque regle est bornee a :root[data-theme="eva"], le
   balisage et le comportement des pages sont identiques aux autres themes.
   Palette : orange ambre #fa0 (texte et traits), rouge alerte #f23, halo
   rgb(255,102,0) ; fond noir, lignes de balayage CRT, bandes de danger. */

:root[data-theme="eva"]{
  color-scheme:dark;
  --eva-orange:#ffaa00; --eva-red:#ff2233; --eva-green:#39ff7a; --eva-purple:#9d6bff;
  --eva-glow:255,102,0; --eva-red-glow:255,0,0;
  --eva-font:"Roboto Condensed","Arial Narrow","Segoe UI",sans-serif;
  --eva-serif:"Shippori Mincho B1","Times New Roman",serif;
  --eva-mono:"Share Tech Mono",Consolas,monospace;
  --eva-stripes:repeating-linear-gradient(-45deg,
    var(--eva-orange) 0 10px, transparent 10px 20px);
  --eva-stripes-red:repeating-linear-gradient(-45deg,
    var(--eva-red) 0 10px, transparent 10px 20px);

  --bg:#000; --bg-soft:#050302;
  --surface:#070403; --surface-2:#140a03; --surface-hover:#211004;
  --border:rgba(255,170,0,.6); --border-soft:rgba(255,170,0,.32);
  --text:#ffb31a; --text-dim:#e08f14; --text-faint:#a0660a;
  --accent:#ffaa00; --accent-hover:#ffc24d; --accent-dim:#b36b00;
  --accent-soft:rgba(255,170,0,.12);
  --danger:#ff2233; --danger-hover:#ff4d5a; --danger-soft:rgba(255,34,51,.14);
  --success:#39ff7a; --success-soft:rgba(57,255,122,.12);
  --warning:#ffd000; --warning-soft:rgba(255,208,0,.12);
  --purple:#9d6bff; --purple-soft:rgba(157,107,255,.14);
  --radius-sm:2px; --radius:4px; --radius-lg:6px;
  --shadow:0 0 14px rgba(255,102,0,.35);
  --shadow-sm:0 0 6px rgba(255,102,0,.22);
  --nav-bg:rgba(0,0,0,.9);
}

/* ---------- Fond : noir, vignette rouge, lignes de balayage ---------- */
:root[data-theme="eva"] body{
  font-family:var(--eva-font);letter-spacing:.01em;
  background:
    radial-gradient(ellipse at 50% -10%,rgba(255,34,51,.14),transparent 60%),
    linear-gradient(rgba(255,170,0,.035) 1px,transparent 1px) 0 0/48px 48px,
    linear-gradient(90deg,rgba(255,170,0,.035) 1px,transparent 1px) 0 0/48px 48px,
    #000;
  background-attachment:fixed;
}
:root[data-theme="eva"] body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:100;
  background:repeating-linear-gradient(0deg,rgba(0,0,0,.28) 0 1px,transparent 1px 3px);
  mix-blend-mode:multiply;
}
:root[data-theme="eva"] ::selection{background:var(--eva-orange);color:#000}
:root[data-theme="eva"] *{scrollbar-color:var(--eva-red) #1a0a02}

/* ---------- Titres : carte-titre EVA (serif) + bande de danger ---------- */
:root[data-theme="eva"] h1{
  font-family:var(--eva-serif);font-weight:800;color:#fff4e0;
  letter-spacing:-.01em;text-transform:uppercase;
  text-shadow:0 0 12px rgba(255,102,0,.45);
  padding-bottom:.85rem;
  background:var(--eva-stripes) left bottom/100% 7px no-repeat;
}
:root[data-theme="eva"] h2,
:root[data-theme="eva"] h3{
  font-family:var(--eva-font);text-transform:uppercase;letter-spacing:.06em;
  color:var(--eva-orange);
}
:root[data-theme="eva"] h2::before{content:"▶ ";color:var(--eva-red);font-size:.8em}
:root[data-theme="eva"] a{color:var(--eva-orange);text-decoration-style:dotted;text-underline-offset:3px}

/* ---------- Barre de navigation ---------- */
:root[data-theme="eva"] nav{
  border-bottom:1px solid var(--border);
  box-shadow:0 0 0 1px rgba(255,102,0,.25),0 4px 18px rgba(255,102,0,.18);
}
:root[data-theme="eva"] nav::after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:6px;
  background:var(--eva-stripes-red);opacity:.85;pointer-events:none;
}
:root[data-theme="eva"] nav .brand{
  font-family:var(--eva-serif);font-weight:800;text-transform:uppercase;
  color:#fff4e0;letter-spacing:.02em;text-shadow:0 0 8px rgba(255,102,0,.6);
}
:root[data-theme="eva"] nav .brand::after{
  content:"MAGI";font-family:var(--eva-mono);font-size:.62rem;font-weight:400;
  color:#000;background:var(--eva-red);padding:.08rem .35rem;margin-left:.2rem;
  letter-spacing:.12em;text-shadow:none;
}
:root[data-theme="eva"] nav a.nav-link{
  text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-radius:0;
  border:1px solid transparent;
}
:root[data-theme="eva"] nav a.nav-link:hover{background:var(--accent-soft);border-color:var(--border-soft)}
:root[data-theme="eva"] nav a.nav-link.active{
  color:#000;background:var(--eva-orange);border-color:var(--eva-orange);
  box-shadow:0 0 8px rgba(255,102,0,.7);
}

:root[data-theme="eva"] nav #theme-toggle{
  font-size:1.1rem;line-height:1;color:var(--eva-red);border-color:var(--eva-red);
  text-shadow:0 0 6px rgba(var(--eva-red-glow),.8);
}

/* ---------- Panneaux : bordure lumineuse (style .bordered d'EWS) ---------- */
:root[data-theme="eva"] .card,
:root[data-theme="eva"] details.section,
:root[data-theme="eva"] .table-wrap,
:root[data-theme="eva"] table{
  border:1px solid var(--border);
  box-shadow:inset 0 0 0 1px rgba(var(--eva-glow),.25),0 0 0 1px rgba(var(--eva-glow),.25),0 0 10px rgba(var(--eva-glow),.15);
}
:root[data-theme="eva"] .table-wrap table{box-shadow:none;border:none}
:root[data-theme="eva"] details.section > summary{
  text-transform:uppercase;letter-spacing:.08em;color:var(--eva-orange);
  border-left:6px solid var(--eva-orange);border-radius:0;
}
:root[data-theme="eva"] details.section[open] > summary{
  border-radius:0;
  background:linear-gradient(90deg,rgba(255,170,0,.14),transparent 70%);
}
:root[data-theme="eva"] details.section > summary .count{
  font-family:var(--eva-mono);border-radius:0;color:#000;background:var(--eva-orange);border-color:var(--eva-orange);
}

/* Affiches : cadre ambre, halo au survol */
:root[data-theme="eva"] .grid a.card:hover,
:root[data-theme="eva"] .poster-card:hover{
  border-color:var(--eva-orange);
  box-shadow:0 0 0 1px var(--eva-orange),0 0 18px rgba(var(--eva-glow),.55);
}
:root[data-theme="eva"] .poster-card .card-title,
:root[data-theme="eva"] .grid a.card .title{color:#ffe2b0}
:root[data-theme="eva"] .poster-card .card-meta{font-family:var(--eva-mono)}
:root[data-theme="eva"] .poster-card .overlay .badge{
  background:rgba(0,0,0,.85);border-color:var(--eva-orange);color:var(--eva-orange);
}
:root[data-theme="eva"] .poster-card .overlay .badge.s-warn{color:var(--eva-red);border-color:var(--eva-red)}

/* ---------- Champs ---------- */
:root[data-theme="eva"] label{text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}
:root[data-theme="eva"] input,
:root[data-theme="eva"] select,
:root[data-theme="eva"] textarea{
  background:#000;border:1px solid var(--border);border-radius:0;color:#ffe2b0;
  caret-color:var(--eva-orange);font-family:var(--eva-mono);
}
:root[data-theme="eva"] input:focus,
:root[data-theme="eva"] select:focus,
:root[data-theme="eva"] textarea:focus{
  border-color:var(--eva-orange);box-shadow:0 0 0 1px var(--eva-orange),0 0 12px rgba(var(--eva-glow),.5);
}

/* ---------- Boutons : cadre ambre, rempli au survol ---------- */
:root[data-theme="eva"] button,
:root[data-theme="eva"] a.btn{
  font-family:var(--eva-font);text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  background:rgba(255,170,0,.08);color:var(--eva-orange);border:1px solid var(--eva-orange);
  border-radius:0;box-shadow:inset 0 0 0 1px rgba(var(--eva-glow),.3),0 0 6px rgba(var(--eva-glow),.25);
}
:root[data-theme="eva"] button:hover,
:root[data-theme="eva"] a.btn:hover{
  background:var(--eva-orange);color:#000;box-shadow:0 0 14px rgba(var(--eva-glow),.8);
}
:root[data-theme="eva"] button.btn-ghost{background:transparent;color:var(--text-dim);border-color:var(--border-soft);box-shadow:none}
:root[data-theme="eva"] button.btn-ghost:hover{background:var(--accent-soft);color:var(--eva-orange);border-color:var(--eva-orange)}
:root[data-theme="eva"] button.btn-danger,
:root[data-theme="eva"] button.btn-remove{
  background:rgba(255,34,51,.08);color:var(--eva-red);border-color:var(--eva-red);
  box-shadow:inset 0 0 0 1px rgba(var(--eva-red-glow),.3),0 0 6px rgba(var(--eva-red-glow),.3);
}
:root[data-theme="eva"] button.btn-danger:hover,
:root[data-theme="eva"] button.btn-remove:hover{background:var(--eva-red);color:#000;box-shadow:0 0 14px rgba(var(--eva-red-glow),.8)}
:root[data-theme="eva"] .poster-card button.btn-remove{background:rgba(0,0,0,.85);border-radius:0}
:root[data-theme="eva"] button.btn-mini{background:transparent;border:none;box-shadow:none;color:var(--text-faint)}
:root[data-theme="eva"] button.btn-mini:hover{background:transparent;color:var(--eva-red)}
:root[data-theme="eva"] button:disabled,
:root[data-theme="eva"] button:disabled:hover{
  background:repeating-linear-gradient(-45deg,rgba(255,170,0,.08) 0 6px,transparent 6px 12px);
  color:var(--text-faint);border-color:var(--border-soft);box-shadow:none;
}
:root[data-theme="eva"] button.switch-toggle,
:root[data-theme="eva"] button.switch-toggle:hover{background:transparent;border:none;box-shadow:none;color:var(--text-dim)}
:root[data-theme="eva"] .switch-track{border-radius:0;background:#000;border-color:var(--border)}
:root[data-theme="eva"] .switch-thumb{border-radius:0;background:var(--text-faint)}
:root[data-theme="eva"] button.switch-toggle[aria-checked="true"] .switch-track{background:rgba(57,255,122,.15);border-color:var(--eva-green)}
:root[data-theme="eva"] button.switch-toggle[aria-checked="true"] .switch-thumb{background:var(--eva-green);box-shadow:0 0 8px var(--eva-green)}

/* ---------- Badges : parallelogrammes (jajar-genjang d'EWS) ---------- */
:root[data-theme="eva"] .badge{
  border-radius:0;font-family:var(--eva-font);letter-spacing:.08em;
  padding-left:.85rem;padding-right:.85rem;
  clip-path:polygon(.4rem 0,100% 0,calc(100% - .4rem) 100%,0 100%);
}
:root[data-theme="eva"] .badge::before{border-radius:0}
:root[data-theme="eva"] .s-searching::before,
:root[data-theme="eva"] .s-downloading::before,
:root[data-theme="eva"] .s-validating::before{animation:eva-blink 1s ease infinite}
:root[data-theme="eva"] .s-needs_review,
:root[data-theme="eva"] .s-waiting_space,
:root[data-theme="eva"] .s-waiting_approval{background:var(--danger-soft);color:var(--eva-red)}
:root[data-theme="eva"] .chips .badge{border-radius:0}

/* ---------- Tableaux ---------- */
:root[data-theme="eva"] th{
  font-family:var(--eva-font);letter-spacing:.1em;color:#000;background:var(--eva-orange);
  border-bottom:none;
}
:root[data-theme="eva"] td{border-bottom-color:rgba(255,170,0,.18)}
:root[data-theme="eva"] tbody tr:hover{background:rgba(255,170,0,.07)}
:root[data-theme="eva"] tr.row-link:hover{background:rgba(255,170,0,.14);box-shadow:inset 3px 0 0 var(--eva-orange)}
:root[data-theme="eva"] td small,
:root[data-theme="eva"] table code,
:root[data-theme="eva"] .id-num,
:root[data-theme="eva"] time{font-family:var(--eva-mono)}

/* ---------- Alertes et journal ---------- */
:root[data-theme="eva"] .warn{
  border:1px solid var(--eva-red);border-radius:0;padding-left:2rem;color:#ffd0d4;
  background:var(--eva-stripes-red) left top/14px 100% no-repeat,rgba(255,34,51,.1);
  box-shadow:0 0 12px rgba(var(--eva-red-glow),.35);
}
:root[data-theme="eva"] .warn strong{text-transform:uppercase;letter-spacing:.08em}
:root[data-theme="eva"] .journal li{border-radius:0;font-family:var(--eva-mono)}
:root[data-theme="eva"] .empty-state{
  font-family:var(--eva-mono);text-transform:uppercase;letter-spacing:.12em;
  border:1px dashed var(--border-soft);
}
:root[data-theme="eva"] .empty-state::before{content:"— NO SIGNAL —";display:block;color:var(--eva-red);margin-bottom:.4rem}

@keyframes eva-blink{0%,100%{opacity:.35}50%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  :root[data-theme="eva"] .badge::before{animation:none!important}
}
