/* ═══════════════════════════════════════════════════════════════════════════
   THEME CYBERPUNK — MyLastNight
   未来都市 · Blade Runner Night City
   version: 1.0.0
   Activé via : html[data-theme="cyberpunk"]
═══════════════════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Share+Tech+Mono&display=swap');

/* ── Variables système ─────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] {
  --bg:      #07050f;
  --bg2:     #0c0a1a;
  --bg3:     #110e22;
  --surface: #0e0b1e;
  --card-base: rgba(8, 6, 18, 0.98);

  --neon-pink:   #FF2D78;
  --neon-cyan:   #00E5FF;

  --accent:  #FF2D78;
  --accent2: #00E5FF;
  --text:    #c8d8f0;
  --muted:   rgba(200, 216, 240, 0.35);
  --green:   #00E5FF;
  --success: #00E5FF;
  --danger:  #FF2D78;
  --orange:  #FF6B2D;

  --border:        rgba(255, 45, 120, 0.12);
  --border2:       rgba(255, 45, 120, 0.25);
  --border-subtle: rgba(0, 229, 255, 0.10);
  --shadow-deep:   0 0 40px rgba(255, 45, 120, 0.06), 0 20px 60px rgba(0, 0, 0, 0.95);

  --radius: 0px;

  --mono:         'Share Tech Mono', 'MapleMono', monospace;
  --font-display: 'Orbitron', 'MapleMono', sans-serif;
}

/* ── Base body ─────────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] body {
  background: var(--bg) !important;
  color: var(--text) !important;
  font-family: var(--mono) !important;
}

/* ── Grille cyan fantôme (remplace le grain) ───────────────────────────── */
html[data-theme="cyberpunk"] body::before {
  content: '' !important;
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  opacity: 1 !important;
  background-image:
    linear-gradient(rgba(0, 229, 255, 0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 229, 255, 0.022) 1px, transparent 1px);
  background-size: 48px 48px;
}

/* ── Scanlines fines ───────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] body::after {
  content: '';
  position: fixed; inset: 0;
  pointer-events: none; z-index: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent, transparent 3px,
    rgba(0, 0, 0, 0.07) 3px, rgba(0, 0, 0, 0.07) 4px
  );
}

/* ── Page header ───────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] .mln-page-header {
  background: var(--bg) !important;
  border-bottom: 1px solid rgba(255, 45, 120, 0.15) !important;
  max-height: 70px !important;
  padding: 0.5rem 1.25rem !important;
  overflow: hidden !important;
  position: relative !important;
}
/* Chinese watermark in header background */
html[data-theme="cyberpunk"] .mln-page-header::after {
  content: attr(data-zh);
  position: absolute;
  right: 1.5rem;
  top: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  font-size: 4.5rem;
  font-weight: 900;
  line-height: 70px;
  color: rgba(255, 45, 120, 0.18);
  letter-spacing: 0.1em;
  white-space: nowrap;
  pointer-events: none;
  z-index: 0;
}

html[data-theme="cyberpunk"] .mln-page-title {
  font-family: var(--font-display) !important;
  font-size: clamp(1.6rem, 4.5vw, 2.8rem) !important;
  font-weight: 900 !important;
  font-style: normal !important;
  letter-spacing: 0.1em !important;
  line-height: 1.1 !important;
  background: none !important;
  -webkit-text-fill-color: #FF2D78 !important;
  color: #FF2D78 !important;
  text-shadow:
    0 0 8px rgba(255, 45, 120, 0.9),
    0 0 25px rgba(255, 45, 120, 0.45),
    0 0 50px rgba(255, 45, 120, 0.2) !important;
  padding-bottom: 0 !important;
}

html[data-theme="cyberpunk"] .mln-page-sub {
  font-size: 0.6rem !important;
  letter-spacing: 0.18em !important;
  color: rgba(0, 229, 255, 0.5) !important;
  text-transform: uppercase !important;
}

/* ── Navbar ────────────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] .mln-navbar,
html[data-theme="cyberpunk"] .mln-nav {
  background: rgba(7, 5, 15, 0.98) !important;
  border-bottom: 1px solid rgba(255, 45, 120, 0.2) !important;
  box-shadow: 0 1px 30px rgba(255, 45, 120, 0.08) !important;
}

html[data-theme="cyberpunk"] .mln-nav-link,
html[data-theme="cyberpunk"] .mln-nav-item a {
  color: var(--muted) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-family: var(--font-display) !important;
}

html[data-theme="cyberpunk"] .mln-nav-link:hover,
html[data-theme="cyberpunk"] .mln-nav-item a:hover {
  color: #00E5FF !important;
  text-shadow: 0 0 12px rgba(0, 229, 255, 0.7) !important;
}

html[data-theme="cyberpunk"] .mln-nav-link.active {
  color: #FF2D78 !important;
  text-shadow: 0 0 12px rgba(255, 45, 120, 0.7) !important;
}

/* ── Cards ─────────────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] .card {
  border-radius: 0 !important;
  border: 1px solid rgba(255, 45, 120, 0.18) !important;
  background: var(--card-base) !important;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.85) !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

html[data-theme="cyberpunk"] .card:hover {
  border-color: rgba(255, 45, 120, 0.5) !important;
  box-shadow:
    4px 4px 0 rgba(0, 0, 0, 0.85),
    0 0 20px rgba(255, 45, 120, 0.12),
    0 0 60px rgba(255, 45, 120, 0.04) !important;
}

/* Filet dégradé sur le bord gauche au hover */
html[data-theme="cyberpunk"] .card::before {
  display: none !important;
}

html[data-theme="cyberpunk"] .card::after {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 2px;
  background: linear-gradient(to bottom, transparent, #FF2D78 40%, #00E5FF 60%, transparent);
  opacity: 0;
  transition: opacity 0.25s;
  pointer-events: none;
  z-index: 1;
}

html[data-theme="cyberpunk"] .card:hover::after {
  opacity: 0.9;
}

html[data-theme="cyberpunk"] .card * {
  text-shadow: none !important;
}

/* ── Card title ────────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] .card-title {
  color: #00E5FF !important;
  letter-spacing: 0.1em !important;
  font-family: var(--font-display) !important;
  font-size: 11px !important;
}

/* ── Scrollbar ─────────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] ::-webkit-scrollbar { width: 5px; height: 5px; }
html[data-theme="cyberpunk"] ::-webkit-scrollbar-track { background: var(--bg); }
html[data-theme="cyberpunk"] ::-webkit-scrollbar-thumb {
  background: rgba(255, 45, 120, 0.3);
  border-radius: 0;
}
html[data-theme="cyberpunk"] ::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 45, 120, 0.55);
}

/* ── Pills & chips ─────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] .pill,
html[data-theme="cyberpunk"] .chip,
html[data-theme="cyberpunk"] .event-pill {
  border-radius: 0 !important;
  background: rgba(255, 45, 120, 0.08) !important;
  border-color: rgba(255, 45, 120, 0.25) !important;
  color: rgba(200, 216, 240, 0.75) !important;
  font-size: 9px !important;
  letter-spacing: 0.1em !important;
}

html[data-theme="cyberpunk"] .pill-live {
  background: rgba(255, 45, 120, 0.15) !important;
  border-color: rgba(255, 45, 120, 0.45) !important;
  color: #FF2D78 !important;
}

html[data-theme="cyberpunk"] .pill-live::before {
  background: #FF2D78 !important;
  box-shadow: 0 0 8px rgba(255, 45, 120, 0.9) !important;
  border-radius: 0 !important;
}

html[data-theme="cyberpunk"] .chip-primary {
  background: rgba(0, 229, 255, 0.08) !important;
  border: 1px solid rgba(0, 229, 255, 0.3) !important;
  color: #00E5FF !important;
}

/* ── Inputs ────────────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] input,
html[data-theme="cyberpunk"] textarea,
html[data-theme="cyberpunk"] select,
html[data-theme="cyberpunk"] button {
  border-radius: 0 !important;
}

html[data-theme="cyberpunk"] input,
html[data-theme="cyberpunk"] textarea,
html[data-theme="cyberpunk"] select {
  background: var(--bg3) !important;
  border-color: rgba(255, 45, 120, 0.2) !important;
  color: var(--text) !important;
  font-family: var(--mono) !important;
}

html[data-theme="cyberpunk"] input:focus,
html[data-theme="cyberpunk"] textarea:focus,
html[data-theme="cyberpunk"] select:focus {
  border-color: #FF2D78 !important;
  box-shadow: 0 0 12px rgba(255, 45, 120, 0.3) !important;
  outline: none !important;
}

/* ── Logo navbar ───────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] #mln-navbar .mln-logo {
  filter: hue-rotate(200deg) saturate(2) brightness(1.2) !important;
}

/* ── Carte Leaflet ─────────────────────────────────────────────────────── */
html[data-theme="cyberpunk"] .leaflet-tile-pane {
  filter: saturate(0.3) brightness(0.6) hue-rotate(200deg) contrast(1.2) !important;
}
html[data-theme="cyberpunk"] .leaflet-container {
  background: #07050f !important;
}
