/* Per-essay overlay for "Czy maszyna może kłamać?" (ARG Explains 06).
   Base layout, palette, callouts, and shared keyframes come from
   ../ailectricity/style.css. This file adds:
   - Hero SVG classes for truth/lie masks + Policy bar + data stream
   - Custom keyframes: maskPulseTruth, maskPulseLie, dataRise
   - Content blocks: opening-note, quoted-lies blockquote variant,
     sources-block, series-note
*/

/* ---------- Opening note (editorial intro) ---------- */
.lie-content .opening-note {
  margin: 0 0 2.4rem;
  padding: 0.9rem 1.2rem;
  border-left: 2px solid rgba(99, 214, 198, 0.46);
  background: rgba(99, 214, 198, 0.04);
  color: rgba(236, 232, 220, 0.78);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.94rem;
  font-style: italic;
  line-height: 1.6;
}

/* ---------- Quoted-lies variant of blockquote ---------- */
.lie-content .quoted-lies {
  border-left: 3px solid rgba(210, 99, 92, 0.55);
  background:
    linear-gradient(90deg, rgba(210, 99, 92, 0.05), transparent 70%),
    rgba(13, 16, 22, 0.6);
  font-size: 1.18rem;
  text-align: left;
  line-height: 1.85;
  color: rgba(236, 232, 220, 0.78);
  font-style: italic;
}

/* ---------- Series note ---------- */
.lie-content .series-note {
  color: rgba(170, 164, 146, 0.78);
  font-size: 0.92rem;
  text-align: center;
  margin: 2.4rem 0 1.4rem;
}

/* ---------- Sources block (Zenodo + org link) ---------- */
.lie-content .sources-block {
  margin: 1.8rem 0 0;
  padding: 1.4rem 1.5rem;
  border-top: 1px solid rgba(214, 199, 150, 0.18);
  color: var(--muted, #aaa492);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 0.9rem;
  line-height: 1.6;
}

.lie-content .sources-block > p:first-child {
  margin: 0 0 0.85rem;
  color: var(--gold, #d4b66f);
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.lie-content .sources-block ul {
  margin: 0 0 1rem;
  padding-left: 1.2rem;
}

.lie-content .sources-block li {
  margin-bottom: 0.5rem;
}

.lie-content .sources-block a {
  color: rgba(99, 214, 198, 0.92);
  text-decoration: none;
  border-bottom: 1px dotted rgba(99, 214, 198, 0.45);
}

.lie-content .sources-block a:hover,
.lie-content .sources-block a:focus-visible {
  color: #63d6c6;
  border-bottom-color: rgba(99, 214, 198, 0.85);
  outline: none;
}

.lie-content .sources-block__org {
  margin: 1.1rem 0 0;
  font-size: 0.82rem;
  color: var(--soft, #777264);
}

/* ====================================================
   LIE-GRAPHIC — hero SVG: masks, Policy bar, data stream
   ==================================================== */

.lie-graphic .grid-line {
  stroke: rgba(214, 199, 150, 0.05);
}

/* ---------- POLICY bar (top, stable, NO animation) ---------- */
.lie-graphic .policy-bar rect {
  fill: rgba(212, 182, 111, 0.10);
  stroke: rgba(212, 182, 111, 0.85);
  stroke-width: 1.6;
}

.lie-graphic .policy-label {
  fill: rgba(212, 182, 111, 0.96);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-anchor: middle;
}

.lie-graphic .policy-sub {
  fill: rgba(170, 164, 146, 0.72);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 9.5px;
  font-style: italic;
  letter-spacing: 0.10em;
  text-anchor: middle;
}

/* ---------- Masks (PRAWDA / KŁAMSTWO alternating pulse) ---------- */
.lie-graphic .mask-shape {
  fill: rgba(13, 16, 22, 0.62);
  stroke-width: 1.6;
}

.lie-graphic .mask--truth .mask-shape {
  stroke: rgba(212, 182, 111, 0.85);
}

.lie-graphic .mask--lie .mask-shape {
  stroke: rgba(210, 99, 92, 0.85);
}

.lie-graphic .mask-glow {
  opacity: 0.5;
}

.lie-graphic .mask-glow--truth {
  fill: url(#truthGlow);
  animation: maskPulseTruth 4.6s ease-in-out infinite;
}

.lie-graphic .mask-glow--lie {
  fill: url(#lieGlow);
  animation: maskPulseLie 4.6s ease-in-out infinite;
}

@keyframes maskPulseTruth {
  0%, 100% { opacity: 0.82; }
  50% { opacity: 0.28; }
}

@keyframes maskPulseLie {
  0%, 100% { opacity: 0.28; }
  50% { opacity: 0.82; }
}

.lie-graphic .mask-label {
  fill: rgba(236, 232, 220, 0.92);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-anchor: middle;
}

.lie-graphic .mask--truth .mask-label {
  fill: rgba(212, 182, 111, 0.96);
}

.lie-graphic .mask--lie .mask-label {
  fill: rgba(210, 99, 92, 0.96);
}

.lie-graphic .mask-sub {
  fill: rgba(170, 164, 146, 0.7);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 9.5px;
  font-style: italic;
  letter-spacing: 0.10em;
  text-anchor: middle;
}

/* ---------- AI marker (overlap zone) ---------- */
.lie-graphic .ai-marker circle {
  fill: rgba(99, 214, 198, 0.12);
  stroke: rgba(99, 214, 198, 0.85);
  stroke-width: 1.6;
  animation: nodeBreathe 3.4s ease-in-out infinite;
}

.lie-graphic .ai-marker text {
  fill: rgba(99, 214, 198, 0.95);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-anchor: middle;
}

/* ---------- Mask axis line (gold→red gradient flow) ---------- */
.lie-graphic .masks-axis {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
}

.lie-graphic .masks-flow {
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-dasharray: 6 5;
  opacity: 0.6;
  animation: lineFlow 6s linear infinite;
}

/* ---------- Three condition bands (Wiedza / Intencja / Cel) ---------- */
.lie-graphic .cond-band {
  stroke-width: 1.2;
}

.lie-graphic .cond-band--1 {
  fill: rgba(106, 143, 220, 0.07);
  stroke: rgba(106, 143, 220, 0.42);
}

.lie-graphic .cond-band--2 {
  fill: rgba(212, 182, 111, 0.10);
  stroke: rgba(212, 182, 111, 0.55);
}

.lie-graphic .cond-band--3 {
  fill: rgba(210, 99, 92, 0.07);
  stroke: rgba(210, 99, 92, 0.46);
}

.lie-graphic .cond-num {
  fill: rgba(170, 164, 146, 0.78);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-anchor: start;
}

.lie-graphic .cond-num--1 { fill: rgba(170, 184, 220, 0.84); }
.lie-graphic .cond-num--2 { fill: rgba(212, 182, 111, 0.92); }
.lie-graphic .cond-num--3 { fill: rgba(210, 99, 92, 0.86); }

.lie-graphic .cond-text {
  fill: rgba(236, 232, 220, 0.84);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-anchor: middle;
}

.lie-graphic .cond-text--strong {
  fill: rgba(212, 182, 111, 0.96);
  font-weight: 600;
}

/* ---------- Data stream (particles rising from bottom) ---------- */
.lie-graphic .data-bit {
  fill: rgba(99, 214, 198, 0.6);
}

.lie-graphic .data-bit--1 { animation: dataRise 5.0s linear infinite; }
.lie-graphic .data-bit--2 { animation: dataRise 6.4s linear infinite; animation-delay: -0.8s; }
.lie-graphic .data-bit--3 { animation: dataRise 5.7s linear infinite; animation-delay: -1.6s; }
.lie-graphic .data-bit--4 { animation: dataRise 6.0s linear infinite; animation-delay: -2.4s; }
.lie-graphic .data-bit--5 { animation: dataRise 5.4s linear infinite; animation-delay: -3.2s; }

@keyframes dataRise {
  0% { transform: translateY(0); opacity: 0; }
  10% { opacity: 0.7; }
  85% { opacity: 0.35; }
  100% { transform: translateY(-220px); opacity: 0; }
}

.lie-graphic .data-source {
  fill: rgba(170, 164, 146, 0.62);
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 9.5px;
  letter-spacing: 0.10em;
  text-anchor: start;
  font-style: italic;
}
