/* ═════════════════════════════════════════════════════════════════════
   Aegis Chameleon — passive decoy rendering for low-trust viewers.

   Doctrine:
     * The aegis-sentinel.js trust-tier classifier sets
       `body.aegis-low-trust` (and a `data-aegis-trust` numeric score
       between 0 and 1) when the classifier believes the visitor is
       automation / headless / scraper-like.
     * This stylesheet renders specific UI regions differently for
       low-trust viewers WITHOUT depending on any server-side header.
     * For a real authenticated user (high trust), nothing changes.
     * For automation, sensitive surfaces blur, copy-protected text
       gets scrambled, drag/select is disabled, clipboard reads return
       a decoy via :before, and inline timers round to coarse buckets.

   Composes with:
     - aegis-sentinel.css (the existing scramble + violation banner)
     - aegis-lighting.css (the layout-cosmetic v2 contrast layer)
     - the `X-Trust-Verdict` header path: when the bot is online, the
       header sets the same classes from the server side; both paths
       reach the same effect, so the classifier is a soft fallback.
   ═════════════════════════════════════════════════════════════════════ */

/* ── 1. Sensitive content — blur for low-trust viewers ───────────── */
body.aegis-low-trust .nx-protected,
body.aegis-low-trust [data-aegis="protected"],
body.aegis-low-trust [data-aegis="seal"] {
  filter: blur(7px) saturate(0.8);
  user-select: none;
  pointer-events: none;
  text-shadow: 0 0 14px rgba(196, 106, 90, 0.35);
}

/* ── 2. Copy-protected blocks — strip selection + show decoy ────── */
body.aegis-low-trust .copy-protected,
body.aegis-low-trust [data-aegis="copy-protected"] {
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  cursor: not-allowed;
}
body.aegis-low-trust .copy-protected::selection,
body.aegis-low-trust [data-aegis="copy-protected"]::selection {
  background: transparent;
  color: inherit;
}

/* ── 3. Clipboard decoy hint — server-side intercept handles bytes ─ */
body.aegis-low-trust [data-aegis="clipboard-decoy"]::before {
  content: '[ aegis://decoy ]';
  color: var(--bad, #c46a5a);
  font-family: 'JetBrains Mono', Consolas, monospace;
  font-size: 11px;
  letter-spacing: 0.18em;
  display: inline-block;
  margin-right: 6px;
  opacity: 0.55;
}

/* ── 4. Hide "live" badges and stat counts behind muted placeholders ─
       Real visitors see `200 PLAYER SLOTS`; automation sees `─── ───`.
       The numbers are still in the DOM (so accessibility doesn't break
       for legit assistive tech), they just visually masque. */
body.aegis-low-trust .live-status__count,
body.aegis-low-trust .live-status__weather,
body.aegis-low-trust [data-aegis="muted-when-low-trust"] {
  color: transparent !important;
  text-shadow: 0 0 0 var(--dim, #8a948a);
  letter-spacing: 0.5em;
}
body.aegis-low-trust .live-status__count::after {
  content: '─';
  color: var(--dim, #8a948a);
  letter-spacing: normal;
  margin-left: -1.5em;
}

/* ── 5. Drag protection on hero photos / theme images ─────────────── */
body.aegis-low-trust .hero img,
body.aegis-low-trust .aegis-hero img,
body.aegis-low-trust [data-aegis="copy-protected"] img,
body.aegis-low-trust img[data-aegis="protected"] {
  -webkit-user-drag: none;
  -moz-user-select: none;
  pointer-events: none;
}

/* ── 6. Trust-score readout (debug-only, hidden by default) ───────── */
body[data-aegis-trust]::after {
  display: none; /* opt-in: site can override to .show with a class */
}

/* ── 7. Print: drop chameleon effects so the page prints clean ───── */
@media print {
  body.aegis-low-trust .nx-protected,
  body.aegis-low-trust [data-aegis="protected"],
  body.aegis-low-trust [data-aegis="seal"] {
    filter: none !important;
  }
  body.aegis-low-trust [data-aegis="clipboard-decoy"]::before {
    display: none !important;
  }
}
