.lore-hero {
            background: radial-gradient(circle at center, rgba(0, 255, 136, 0.12) 0%, transparent 70%),
                        linear-gradient(135deg, rgba(0, 0, 0, 0.85), rgba(0, 255, 136, 0.08));
            padding: 3.5rem 0;
            border-bottom: 2px solid rgba(0, 255, 136, 0.5);
            text-align: center;
        }
        .lore-hero p { max-width: 900px; margin: 0.75rem auto 0; color: #ccc; }
        .lore-grid {
            display: grid;
            grid-template-columns: 340px 1fr;
            gap: 2rem;
            padding: 2.5rem 0;
        }
        .lore-nav {
            position: sticky;
            top: 100px;
            align-self: start;
            background: rgba(20, 20, 20, 0.85);
            border: 1px solid rgba(0, 255, 136, 0.2);
            border-radius: 12px;
            padding: 1.2rem;
        }
        .lore-nav a {
            display: flex;
            gap: 0.7rem;
            align-items: center;
            padding: 0.7rem 0.8rem;
            border-radius: 10px;
            color: #ddd;
            text-decoration: none;
            transition: all 0.2s;
        }
        .lore-nav a:hover { background: rgba(0, 255, 136, 0.08); color: #00ff88; }
        .lore-section {
            background: rgba(20, 20, 20, 0.8);
            border: 1px solid rgba(0, 255, 136, 0.2);
            border-radius: 12px;
            padding: 2rem;
            margin-bottom: 1.5rem;
        }
        .badge {
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            padding: 0.35rem 0.75rem;
            border-radius: 999px;
            border: 1px solid rgba(0, 255, 136, 0.25);
            background: rgba(0, 255, 136, 0.08);
            color: #00ff88;
            font-size: 0.85rem;
            margin-right: 0.5rem;
            margin-top: 0.5rem;
        }
        .timeline {
            display: grid;
            gap: 1rem;
            margin-top: 1rem;
        }
        .tl-item {
            display: grid;
            grid-template-columns: 120px 1fr;
            gap: 1rem;
            padding: 1rem;
            background: rgba(255,255,255,0.04);
            border-radius: 10px;
            border: 1px solid rgba(255,255,255,0.08);
        }
        .tl-time { color: #00ff88; font-family: 'Orbitron', sans-serif; }
        .callout {
            background: rgba(0, 100, 255, 0.1);
            border: 1px solid rgba(100, 150, 255, 0.25);
            border-radius: 12px;
            padding: 1.25rem;
            margin-top: 1.25rem;
            color: #cfe2ff;
        }
        .char-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 1rem;
            margin-top: 1rem;
        }
        .char-card{
            background: rgba(255,255,255,0.04);
            border: 1px solid rgba(0,255,136,0.15);
            border-radius: 12px;
            padding: 1.25rem;
        }
        .char-card h3 { margin-bottom: 0.25rem; }
        .char-meta { color: #aaa; font-size: 0.9rem; margin-bottom: 0.75rem; }
        .mono {
            font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
            background: rgba(0,0,0,0.4);
            padding: 0.15rem 0.4rem;
            border-radius: 6px;
            border: 1px solid rgba(255,255,255,0.08);
        }
        @media (max-width: 900px) {
            .lore-grid { grid-template-columns: 1fr; }
            .lore-nav { position: static; }
        }


/* =========================================================
   Operation: Exile — One Giant Classified Document (Dossier)
   Option A unlocks (localStorage)
   ========================================================= */

.intel-shell { margin: 1.5rem 0; }

.intel-console {
  border: 1px solid rgba(0,255,140,.25);
  border-radius: 14px;
  padding: 1rem;
  background: rgba(0,0,0,.35);
  box-shadow: 0 0 22px rgba(0,255,140,.10);
}

.console-row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.console-line { opacity: .9; margin-bottom: .5rem; }

#intelKeyInput {
  flex: 1;
  min-width: 240px;
  padding: .75rem .85rem;
  border-radius: 10px;
  border: 1px solid rgba(0,255,140,.25);
  background: rgba(0,0,0,.6);
  color: inherit;
}

.console-msg { margin-top: .6rem; opacity: .9; }
.console-msg.ok { color: #20ff9a; }
.console-msg.err { color: #ff3b3b; }
.console-msg.warn { color: #ffd24a; }

.intel-progress { margin-top: .6rem; font-size: .95rem; opacity: .85; display:flex; gap: 1rem; flex-wrap: wrap; }
.intel-progress .intel-status { opacity: .9; }

.intel-dossier {
  border: 1px solid rgba(0,255,140,.18);
  border-radius: 16px;
  padding: 1.25rem;
  background: rgba(0,0,0,.35);
  position: relative;
  overflow: hidden;
}

.intel-dossier.crt::before {
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
    to bottom,
    rgba(255,255,255,.03),
    rgba(255,255,255,.03) 1px,
    transparent 1px,
    transparent 3px
  );
  mix-blend-mode: overlay;
  opacity:.20;
  pointer-events:none;
}

.dossier-top { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.dossier-title { font-size: 1.05rem; letter-spacing: .14em; font-weight: 700; }
.dossier-sub { opacity: .85; margin-top: .35rem; }
.dossier-sub .ok { color: #20ff9a; }
.dossier-sub .warn { color: #ffd24a; }

.intel-entry {
  position: relative;
  padding: 1rem;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(15,15,20,.55);
  margin-bottom: 1rem;
}

.entry-head {
  display:flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: baseline;
  margin-bottom: .6rem;
}

.entry-tag { font-weight: 700; opacity: .9; }
.entry-stamp { opacity: .85; }
.entry-stamp.redacted { opacity: .6; }

.lock-overlay {
  position:absolute;
  inset:0;
  border-radius: 14px;
  background: rgba(0,0,0,.72);
  display:flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap:.35rem;
  text-align:center;
  border: 1px dashed rgba(0,255,140,.25);
  backdrop-filter: blur(2px);
}

.lock-title { font-weight: 800; letter-spacing: .12em; }
.lock-sub { opacity: .75; }
.lock-noise { opacity: .55; max-width: 90%; }

.intel-entry.unlocked .lock-overlay { display:none; }

.redacted-block { position: relative; }
.intel-entry.locked .redacted-block { filter: blur(7px); opacity: .25; }

.intel-photo {
  margin-top: .9rem;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.3);
}

.intel-photo img { width: 100%; display:block; }

.locked-media img { filter: blur(16px) grayscale(1); opacity: .35; }
.unlocked-media img { filter: none; opacity: 1; transition: filter .35s ease, opacity .35s ease; }

.dossier-foot { opacity: .75; padding-top: .75rem; border-top: 1px solid rgba(255,255,255,.08); }
.dossier-foot .key { padding: .15rem .4rem; border: 1px solid rgba(0,255,140,.25); border-radius: 8px; }


/* Terminal buttons (force override WP/button defaults) */
.lore-terminal .btn,
.lore-terminal button,
.lore-terminal #intelKeyBtn,
.lore-terminal #intelResetBtn {
  background: #050b08 !important;
  color: #20ff9a !important;
  border: 1px solid rgba(32,255,154,0.85) !important;
  font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 10px 18px;
  border-radius: 10px;
  cursor: pointer;
  box-shadow: 0 0 10px rgba(32,255,154,0.15);
}

.lore-terminal .btn:hover,
.lore-terminal button:hover {
  background: #0b1a12 !important;
  box-shadow: 0 0 16px rgba(32,255,154,0.35);
}

.lore-terminal .btn.reset,
.lore-terminal #intelResetBtn {
  border-color: rgba(255,85,85,0.9) !important;
  color: #ff5555 !important;
}

.lore-terminal .btn.reset:hover,
.lore-terminal #intelResetBtn:hover {
  background: #1a0b0b !important;
  box-shadow: 0 0 16px rgba(255,85,85,0.35);
}
