/* ==========================================================================
   Legacy SVG color bridge — generated by the P1 recolor codemod.
   Inline SVG in lesson files, course-app.js diagrams and dictionary.html still
   carries the old palette as presentation attributes (fill="#34d399").
   Author CSS beats presentation attributes, so these selectors re-point those
   values at Nocturne tokens without editing lesson files.
   Delete a rule once no markup uses its value.
   ========================================================================== */

/* fill */
[fill="rgba(34,211,200,.1)" i] {
  fill: color-mix(in srgb, var(--color-accent-300) 10%, transparent);
}
[fill="rgba(34,211,200,.15)" i] {
  fill: color-mix(in srgb, var(--color-accent-300) 15%, transparent);
}
[fill="rgba(167,139,250,.1)" i],
[fill="rgba(96,165,250,.1)" i] {
  fill: color-mix(in srgb, var(--color-accent-400) 10%, transparent);
}
[fill="rgba(167,139,250,.06)" i] {
  fill: color-mix(in srgb, var(--color-accent-400) 6%, transparent);
}
[fill="rgba(59,130,246,.1)" i] {
  fill: color-mix(in srgb, var(--color-accent) 10%, transparent);
}
[fill="rgba(59,130,246,.12)" i] {
  fill: color-mix(in srgb, var(--color-accent) 12%, transparent);
}
[fill="rgba(59,130,246,.15)" i] {
  fill: color-mix(in srgb, var(--color-accent) 15%, transparent);
}
[fill="rgba(59,130,246,.08)" i] {
  fill: color-mix(in srgb, var(--color-accent) 8%, transparent);
}
[fill="rgba(231,76,60,.1)" i] {
  fill: color-mix(in srgb, var(--pl-neg) 10%, transparent);
}
[fill="rgba(231,76,60,.12)" i] {
  fill: color-mix(in srgb, var(--pl-neg) 12%, transparent);
}
[fill="rgba(231,76,60,.2)" i] {
  fill: color-mix(in srgb, var(--pl-neg) 20%, transparent);
}
[fill="rgba(231,76,60,.08)" i] {
  fill: color-mix(in srgb, var(--pl-neg) 8%, transparent);
}
[fill="rgba(245,158,11,.1)" i] {
  fill: color-mix(in srgb, var(--pl-warn) 10%, transparent);
}
[fill="rgba(245,158,11,.12)" i] {
  fill: color-mix(in srgb, var(--pl-warn) 12%, transparent);
}
[fill="#22d3c8" i],
[fill="#5ee6d0" i],
[fill="#66e7d1" i],
[fill="#c4b5fd" i],
[fill="#dbeafe" i] {
  fill: var(--color-accent-300);
}
[fill="#3d8de6" i],
[fill="#60a5fa" i],
[fill="#8ec5ff" i],
[fill="#93c5fd" i],
[fill="#a78bfa" i] {
  fill: var(--color-accent-400);
}
[fill="#2563eb" i],
[fill="#2a6bbd" i],
[fill="#4a7cdc" i] {
  fill: var(--color-accent-600);
}
[fill="#1d4ed8" i] {
  fill: var(--color-accent-700);
}
[fill="#3b82f6" i],
[fill="#4a9eff" i] {
  fill: var(--color-accent);
}
[fill="#060810" i],
[fill="#0c0e13" i] {
  fill: var(--color-bg);
}
[fill="#8b92a5" i],
[fill="#8b99c4" i],
[fill="#9aa4b6" i],
[fill="#a0a8be" i] {
  fill: var(--color-neutral-400);
}
[fill="#5b647a" i],
[fill="#5c6378" i],
[fill="#5c6482" i],
[fill="#6b7fa8" i] {
  fill: var(--color-neutral-500);
}
[fill="#4a5568" i] {
  fill: var(--color-neutral-600);
}
[fill="#262d40" i],
[fill="#2e3035" i],
[fill="#2e3440" i],
[fill="#3a4658" i],
[fill="#3b3b3f" i] {
  fill: var(--color-neutral-700);
}
[fill="#1e2230" i],
[fill="#1e2333" i],
[fill="#1e2d45" i],
[fill="#262b36" i],
[fill="#263244" i],
[fill="#2a3850" i] {
  fill: var(--color-neutral-800);
}
[fill="#0b0f1b" i],
[fill="#0b1019" i],
[fill="#0f1422" i],
[fill="#0f1628" i],
[fill="#101722" i],
[fill="#111722" i],
[fill="#1a1e28" i],
[fill="#1a2540" i],
[fill="#1c2029" i] {
  fill: var(--color-raised);
}
[fill="#04050a" i],
[fill="#04060e" i],
[fill="#060912" i],
[fill="#070b12" i],
[fill="#080d1a" i],
[fill="#090b10" i],
[fill="#090d14" i],
[fill="#0a0c10" i] {
  fill: var(--color-sunken);
}
[fill="#0a0d18" i],
[fill="#14171e" i] {
  fill: var(--color-surface);
}
[fill="#e5e7eb" i],
[fill="#e6eaf2" i],
[fill="#e8eaf0" i],
[fill="#eef0f6" i],
[fill="#eef1f7" i],
[fill="#f4f4f5" i],
[fill="#ffffff" i] {
  fill: var(--color-text);
}
[fill="#c74545" i] {
  fill: var(--pl-neg-deep);
}
[fill="#e74c3c" i],
[fill="#ef4444" i],
[fill="#f87171" i],
[fill="#fca5a5" i] {
  fill: var(--pl-neg);
}
[fill="#22926a" i] {
  fill: var(--pl-pos-deep);
}
[fill="#22c55e" i],
[fill="#2ecc71" i],
[fill="#34d399" i],
[fill="#86efac" i] {
  fill: var(--pl-pos);
}
[fill="#f59e0b" i],
[fill="#fbbf24" i] {
  fill: var(--pl-warn);
}

/* stroke */
[stroke="rgba(34,211,200,.1)" i] {
  stroke: color-mix(in srgb, var(--color-accent-300) 10%, transparent);
}
[stroke="rgba(34,211,200,.15)" i] {
  stroke: color-mix(in srgb, var(--color-accent-300) 15%, transparent);
}
[stroke="rgba(167,139,250,.1)" i],
[stroke="rgba(96,165,250,.1)" i] {
  stroke: color-mix(in srgb, var(--color-accent-400) 10%, transparent);
}
[stroke="rgba(167,139,250,.06)" i] {
  stroke: color-mix(in srgb, var(--color-accent-400) 6%, transparent);
}
[stroke="rgba(59,130,246,.1)" i] {
  stroke: color-mix(in srgb, var(--color-accent) 10%, transparent);
}
[stroke="rgba(59,130,246,.12)" i] {
  stroke: color-mix(in srgb, var(--color-accent) 12%, transparent);
}
[stroke="rgba(59,130,246,.15)" i] {
  stroke: color-mix(in srgb, var(--color-accent) 15%, transparent);
}
[stroke="rgba(59,130,246,.08)" i] {
  stroke: color-mix(in srgb, var(--color-accent) 8%, transparent);
}
[stroke="rgba(231,76,60,.1)" i] {
  stroke: color-mix(in srgb, var(--pl-neg) 10%, transparent);
}
[stroke="rgba(231,76,60,.12)" i] {
  stroke: color-mix(in srgb, var(--pl-neg) 12%, transparent);
}
[stroke="rgba(231,76,60,.2)" i] {
  stroke: color-mix(in srgb, var(--pl-neg) 20%, transparent);
}
[stroke="rgba(231,76,60,.08)" i] {
  stroke: color-mix(in srgb, var(--pl-neg) 8%, transparent);
}
[stroke="rgba(245,158,11,.1)" i] {
  stroke: color-mix(in srgb, var(--pl-warn) 10%, transparent);
}
[stroke="rgba(245,158,11,.12)" i] {
  stroke: color-mix(in srgb, var(--pl-warn) 12%, transparent);
}
[stroke="#22d3c8" i],
[stroke="#5ee6d0" i],
[stroke="#66e7d1" i],
[stroke="#c4b5fd" i],
[stroke="#dbeafe" i] {
  stroke: var(--color-accent-300);
}
[stroke="#3d8de6" i],
[stroke="#60a5fa" i],
[stroke="#8ec5ff" i],
[stroke="#93c5fd" i],
[stroke="#a78bfa" i] {
  stroke: var(--color-accent-400);
}
[stroke="#2563eb" i],
[stroke="#2a6bbd" i],
[stroke="#4a7cdc" i] {
  stroke: var(--color-accent-600);
}
[stroke="#1d4ed8" i] {
  stroke: var(--color-accent-700);
}
[stroke="#3b82f6" i],
[stroke="#4a9eff" i] {
  stroke: var(--color-accent);
}
[stroke="#060810" i],
[stroke="#0c0e13" i] {
  stroke: var(--color-bg);
}
[stroke="#8b92a5" i],
[stroke="#8b99c4" i],
[stroke="#9aa4b6" i],
[stroke="#a0a8be" i] {
  stroke: var(--color-neutral-400);
}
[stroke="#5b647a" i],
[stroke="#5c6378" i],
[stroke="#5c6482" i],
[stroke="#6b7fa8" i] {
  stroke: var(--color-neutral-500);
}
[stroke="#4a5568" i] {
  stroke: var(--color-neutral-600);
}
[stroke="#262d40" i],
[stroke="#2e3035" i],
[stroke="#2e3440" i],
[stroke="#3a4658" i],
[stroke="#3b3b3f" i] {
  stroke: var(--color-neutral-700);
}
[stroke="#1e2230" i],
[stroke="#1e2333" i],
[stroke="#1e2d45" i],
[stroke="#262b36" i],
[stroke="#263244" i],
[stroke="#2a3850" i] {
  stroke: var(--color-neutral-800);
}
[stroke="#0b0f1b" i],
[stroke="#0b1019" i],
[stroke="#0f1422" i],
[stroke="#0f1628" i],
[stroke="#101722" i],
[stroke="#111722" i],
[stroke="#1a1e28" i],
[stroke="#1a2540" i],
[stroke="#1c2029" i] {
  stroke: var(--color-raised);
}
[stroke="#04050a" i],
[stroke="#04060e" i],
[stroke="#060912" i],
[stroke="#070b12" i],
[stroke="#080d1a" i],
[stroke="#090b10" i],
[stroke="#090d14" i],
[stroke="#0a0c10" i] {
  stroke: var(--color-sunken);
}
[stroke="#0a0d18" i],
[stroke="#14171e" i] {
  stroke: var(--color-surface);
}
[stroke="#e5e7eb" i],
[stroke="#e6eaf2" i],
[stroke="#e8eaf0" i],
[stroke="#eef0f6" i],
[stroke="#eef1f7" i],
[stroke="#f4f4f5" i],
[stroke="#ffffff" i] {
  stroke: var(--color-text);
}
[stroke="#c74545" i] {
  stroke: var(--pl-neg-deep);
}
[stroke="#e74c3c" i],
[stroke="#ef4444" i],
[stroke="#f87171" i],
[stroke="#fca5a5" i] {
  stroke: var(--pl-neg);
}
[stroke="#22926a" i] {
  stroke: var(--pl-pos-deep);
}
[stroke="#22c55e" i],
[stroke="#2ecc71" i],
[stroke="#34d399" i],
[stroke="#86efac" i] {
  stroke: var(--pl-pos);
}
[stroke="#f59e0b" i],
[stroke="#fbbf24" i] {
  stroke: var(--pl-warn);
}

/* stop-color */
[stop-color="rgba(34,211,200,.1)" i] {
  stop-color: color-mix(in srgb, var(--color-accent-300) 10%, transparent);
}
[stop-color="rgba(34,211,200,.15)" i] {
  stop-color: color-mix(in srgb, var(--color-accent-300) 15%, transparent);
}
[stop-color="rgba(167,139,250,.1)" i],
[stop-color="rgba(96,165,250,.1)" i] {
  stop-color: color-mix(in srgb, var(--color-accent-400) 10%, transparent);
}
[stop-color="rgba(167,139,250,.06)" i] {
  stop-color: color-mix(in srgb, var(--color-accent-400) 6%, transparent);
}
[stop-color="rgba(59,130,246,.1)" i] {
  stop-color: color-mix(in srgb, var(--color-accent) 10%, transparent);
}
[stop-color="rgba(59,130,246,.12)" i] {
  stop-color: color-mix(in srgb, var(--color-accent) 12%, transparent);
}
[stop-color="rgba(59,130,246,.15)" i] {
  stop-color: color-mix(in srgb, var(--color-accent) 15%, transparent);
}
[stop-color="rgba(59,130,246,.08)" i] {
  stop-color: color-mix(in srgb, var(--color-accent) 8%, transparent);
}
[stop-color="rgba(231,76,60,.1)" i] {
  stop-color: color-mix(in srgb, var(--pl-neg) 10%, transparent);
}
[stop-color="rgba(231,76,60,.12)" i] {
  stop-color: color-mix(in srgb, var(--pl-neg) 12%, transparent);
}
[stop-color="rgba(231,76,60,.2)" i] {
  stop-color: color-mix(in srgb, var(--pl-neg) 20%, transparent);
}
[stop-color="rgba(231,76,60,.08)" i] {
  stop-color: color-mix(in srgb, var(--pl-neg) 8%, transparent);
}
[stop-color="rgba(245,158,11,.1)" i] {
  stop-color: color-mix(in srgb, var(--pl-warn) 10%, transparent);
}
[stop-color="rgba(245,158,11,.12)" i] {
  stop-color: color-mix(in srgb, var(--pl-warn) 12%, transparent);
}
[stop-color="#22d3c8" i],
[stop-color="#5ee6d0" i],
[stop-color="#66e7d1" i],
[stop-color="#c4b5fd" i],
[stop-color="#dbeafe" i] {
  stop-color: var(--color-accent-300);
}
[stop-color="#3d8de6" i],
[stop-color="#60a5fa" i],
[stop-color="#8ec5ff" i],
[stop-color="#93c5fd" i],
[stop-color="#a78bfa" i] {
  stop-color: var(--color-accent-400);
}
[stop-color="#2563eb" i],
[stop-color="#2a6bbd" i],
[stop-color="#4a7cdc" i] {
  stop-color: var(--color-accent-600);
}
[stop-color="#1d4ed8" i] {
  stop-color: var(--color-accent-700);
}
[stop-color="#3b82f6" i],
[stop-color="#4a9eff" i] {
  stop-color: var(--color-accent);
}
[stop-color="#060810" i],
[stop-color="#0c0e13" i] {
  stop-color: var(--color-bg);
}
[stop-color="#8b92a5" i],
[stop-color="#8b99c4" i],
[stop-color="#9aa4b6" i],
[stop-color="#a0a8be" i] {
  stop-color: var(--color-neutral-400);
}
[stop-color="#5b647a" i],
[stop-color="#5c6378" i],
[stop-color="#5c6482" i],
[stop-color="#6b7fa8" i] {
  stop-color: var(--color-neutral-500);
}
[stop-color="#4a5568" i] {
  stop-color: var(--color-neutral-600);
}
[stop-color="#262d40" i],
[stop-color="#2e3035" i],
[stop-color="#2e3440" i],
[stop-color="#3a4658" i],
[stop-color="#3b3b3f" i] {
  stop-color: var(--color-neutral-700);
}
[stop-color="#1e2230" i],
[stop-color="#1e2333" i],
[stop-color="#1e2d45" i],
[stop-color="#262b36" i],
[stop-color="#263244" i],
[stop-color="#2a3850" i] {
  stop-color: var(--color-neutral-800);
}
[stop-color="#0b0f1b" i],
[stop-color="#0b1019" i],
[stop-color="#0f1422" i],
[stop-color="#0f1628" i],
[stop-color="#101722" i],
[stop-color="#111722" i],
[stop-color="#1a1e28" i],
[stop-color="#1a2540" i],
[stop-color="#1c2029" i] {
  stop-color: var(--color-raised);
}
[stop-color="#04050a" i],
[stop-color="#04060e" i],
[stop-color="#060912" i],
[stop-color="#070b12" i],
[stop-color="#080d1a" i],
[stop-color="#090b10" i],
[stop-color="#090d14" i],
[stop-color="#0a0c10" i] {
  stop-color: var(--color-sunken);
}
[stop-color="#0a0d18" i],
[stop-color="#14171e" i] {
  stop-color: var(--color-surface);
}
[stop-color="#e5e7eb" i],
[stop-color="#e6eaf2" i],
[stop-color="#e8eaf0" i],
[stop-color="#eef0f6" i],
[stop-color="#eef1f7" i],
[stop-color="#f4f4f5" i],
[stop-color="#ffffff" i] {
  stop-color: var(--color-text);
}
[stop-color="#c74545" i] {
  stop-color: var(--pl-neg-deep);
}
[stop-color="#e74c3c" i],
[stop-color="#ef4444" i],
[stop-color="#f87171" i],
[stop-color="#fca5a5" i] {
  stop-color: var(--pl-neg);
}
[stop-color="#22926a" i] {
  stop-color: var(--pl-pos-deep);
}
[stop-color="#22c55e" i],
[stop-color="#2ecc71" i],
[stop-color="#34d399" i],
[stop-color="#86efac" i] {
  stop-color: var(--pl-pos);
}
[stop-color="#f59e0b" i],
[stop-color="#fbbf24" i] {
  stop-color: var(--pl-warn);
}
