.carte-metro { display: block; }
.carte-metro .mc-ligne      { stroke: var(--canal-ligne); stroke-width: 3.5; stroke-linecap: round; }
.carte-metro .mc-ligne-autre{ stroke: var(--color-ink-2); stroke-width: 2.5; stroke-linecap: round; opacity: .7; }
.carte-metro .mc-fleche     { stroke: var(--canal-ligne); stroke-width: 2.5; stroke-linejoin: round; }
.carte-metro .mc-station    { fill: var(--canal-ligne); }
.carte-metro .mc-interchange{ fill: var(--color-surface-1); stroke: var(--canal-ligne); stroke-width: 2.5; }
.carte-metro .mc-losange    { fill: var(--color-surface-1); stroke: var(--canal-ligne); stroke-width: 2; }
.carte-metro .mc-terminus   { stroke: var(--canal-ligne); stroke-width: 4.5; stroke-linecap: round; }
.carte-metro .mc-organe        { fill: var(--color-surface-2); stroke: var(--canal-ligne); stroke-width: 1.5; }
.carte-metro .mc-organe-texte  { fill: var(--color-ink); font: 500 13px/1 var(--font-text); }
.carte-metro .mc-organe-propre { fill: var(--canal-ligne); }
.carte-metro .mc-organe-propre-texte { fill: var(--color-bg); font: 600 13px/1 var(--font-text); }
.carte-metro .mc-organe-couple { fill: var(--color-accent-soft); }
.carte-metro .mc-organe-couple-texte { fill: var(--color-ink); font: 500 13px/1 var(--font-text); }
.carte-metro .mc-code    { fill: var(--color-ink); font: 600 13px/1 var(--font-data); }
.carte-metro .mc-pinyin  { fill: var(--color-ink); font: 400 13px/1 var(--font-text); }
.carte-metro .mc-badge   { fill: var(--color-ink-2); font: 400 10.5px/1 var(--font-text); }
.carte-metro .mc-verbe   { fill: var(--color-ink-2); font: 400 11px/1 var(--font-text); }
.carte-metro .mc-nom     { fill: var(--color-ink); font: 500 13.5px/1 var(--font-text); }
.carte-metro .mc-note    { fill: var(--color-ink-2); font: 400 11px/1 var(--font-text); }
.carte-metro .mc-titre-branche { fill: var(--color-ink-2); font: 600 10.5px/1 var(--font-text); letter-spacing: .06em; text-transform: uppercase; }
.carte-metro .mc-tag       { fill: var(--color-surface-3); }
.carte-metro .mc-tag-texte { fill: var(--color-ink-2); font: 600 10px/1 var(--font-data); }
:root {
  --canal-ligne: var(--color-accent-encre);
  --canal-BL: #B02A37;
  --canal-CV: #2B8A99;
  --canal-GB: #3C7A2E;
  --canal-GV: #2B8A99;
  --canal-HT: #4E93C4;
  --canal-KI: #1F5E8C;
  --canal-LI: #C9A227;
  --canal-LR: #B85C10;
  --canal-LU: #DA84AE;
  --canal-PC: #DE9457;
  --canal-SI: #D96C77;
  --canal-SP: #C2447E;
  --canal-ST: #A87B00;
  --canal-TE: #7FAE5B;
  --canal-mv-chong-mai: #2B8A99;
  --canal-mv-dai-mai: #2B8A99;
  --canal-mv-yang-qiao-mai: #2B8A99;
  --canal-mv-yang-wei-mai: #2B8A99;
  --canal-mv-yin-qiao-mai: #2B8A99;
  --canal-mv-yin-wei-mai: #2B8A99;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --canal-BL: #E06B76;
    --canal-CV: #63BFCB;
    --canal-GB: #6FB35A;
    --canal-GV: #63BFCB;
    --canal-HT: #8FC2E8;
    --canal-KI: #5FA8DC;
    --canal-LI: #E3CB77;
    --canal-LR: #E0924E;
    --canal-LU: #E5A8C6;
    --canal-PC: #ECB183;
    --canal-SI: #E8959D;
    --canal-SP: #DE7FAC;
    --canal-ST: #D9B84A;
    --canal-TE: #9CC784;
    --canal-mv-chong-mai: #63BFCB;
    --canal-mv-dai-mai: #63BFCB;
    --canal-mv-yang-qiao-mai: #63BFCB;
    --canal-mv-yang-wei-mai: #63BFCB;
    --canal-mv-yin-qiao-mai: #63BFCB;
    --canal-mv-yin-wei-mai: #63BFCB;
  }
}
:root[data-theme="dark"] {
  --canal-BL: #E06B76;
  --canal-CV: #63BFCB;
  --canal-GB: #6FB35A;
  --canal-GV: #63BFCB;
  --canal-HT: #8FC2E8;
  --canal-KI: #5FA8DC;
  --canal-LI: #E3CB77;
  --canal-LR: #E0924E;
  --canal-LU: #E5A8C6;
  --canal-PC: #ECB183;
  --canal-SI: #E8959D;
  --canal-SP: #DE7FAC;
  --canal-ST: #D9B84A;
  --canal-TE: #9CC784;
  --canal-mv-chong-mai: #63BFCB;
  --canal-mv-dai-mai: #63BFCB;
  --canal-mv-yang-qiao-mai: #63BFCB;
  --canal-mv-yang-wei-mai: #63BFCB;
  --canal-mv-yin-qiao-mai: #63BFCB;
  --canal-mv-yin-wei-mai: #63BFCB;
}
.carte-metro .mc-canal-BL { fill: var(--canal-BL); }
.carte-metro .mc-organe-stroke-BL { stroke: var(--canal-BL); stroke-width: 1.8; }
.carte-metro .mc-canal-CV { fill: var(--canal-CV); }
.carte-metro .mc-organe-stroke-CV { stroke: var(--canal-CV); stroke-width: 1.8; }
.carte-metro .mc-canal-GB { fill: var(--canal-GB); }
.carte-metro .mc-organe-stroke-GB { stroke: var(--canal-GB); stroke-width: 1.8; }
.carte-metro .mc-canal-GV { fill: var(--canal-GV); }
.carte-metro .mc-organe-stroke-GV { stroke: var(--canal-GV); stroke-width: 1.8; }
.carte-metro .mc-canal-HT { fill: var(--canal-HT); }
.carte-metro .mc-organe-stroke-HT { stroke: var(--canal-HT); stroke-width: 1.8; }
.carte-metro .mc-canal-KI { fill: var(--canal-KI); }
.carte-metro .mc-organe-stroke-KI { stroke: var(--canal-KI); stroke-width: 1.8; }
.carte-metro .mc-canal-LI { fill: var(--canal-LI); }
.carte-metro .mc-organe-stroke-LI { stroke: var(--canal-LI); stroke-width: 1.8; }
.carte-metro .mc-canal-LR { fill: var(--canal-LR); }
.carte-metro .mc-organe-stroke-LR { stroke: var(--canal-LR); stroke-width: 1.8; }
.carte-metro .mc-canal-LU { fill: var(--canal-LU); }
.carte-metro .mc-organe-stroke-LU { stroke: var(--canal-LU); stroke-width: 1.8; }
.carte-metro .mc-canal-PC { fill: var(--canal-PC); }
.carte-metro .mc-organe-stroke-PC { stroke: var(--canal-PC); stroke-width: 1.8; }
.carte-metro .mc-canal-SI { fill: var(--canal-SI); }
.carte-metro .mc-organe-stroke-SI { stroke: var(--canal-SI); stroke-width: 1.8; }
.carte-metro .mc-canal-SP { fill: var(--canal-SP); }
.carte-metro .mc-organe-stroke-SP { stroke: var(--canal-SP); stroke-width: 1.8; }
.carte-metro .mc-canal-ST { fill: var(--canal-ST); }
.carte-metro .mc-organe-stroke-ST { stroke: var(--canal-ST); stroke-width: 1.8; }
.carte-metro .mc-canal-TE { fill: var(--canal-TE); }
.carte-metro .mc-organe-stroke-TE { stroke: var(--canal-TE); stroke-width: 1.8; }
.carte-metro .mc-canal-mv-chong-mai { fill: var(--canal-mv-chong-mai); }
.carte-metro .mc-organe-stroke-mv-chong-mai { stroke: var(--canal-mv-chong-mai); stroke-width: 1.8; }
.carte-metro .mc-canal-mv-dai-mai { fill: var(--canal-mv-dai-mai); }
.carte-metro .mc-organe-stroke-mv-dai-mai { stroke: var(--canal-mv-dai-mai); stroke-width: 1.8; }
.carte-metro .mc-canal-mv-yang-qiao-mai { fill: var(--canal-mv-yang-qiao-mai); }
.carte-metro .mc-organe-stroke-mv-yang-qiao-mai { stroke: var(--canal-mv-yang-qiao-mai); stroke-width: 1.8; }
.carte-metro .mc-canal-mv-yang-wei-mai { fill: var(--canal-mv-yang-wei-mai); }
.carte-metro .mc-organe-stroke-mv-yang-wei-mai { stroke: var(--canal-mv-yang-wei-mai); stroke-width: 1.8; }
.carte-metro .mc-canal-mv-yin-qiao-mai { fill: var(--canal-mv-yin-qiao-mai); }
.carte-metro .mc-organe-stroke-mv-yin-qiao-mai { stroke: var(--canal-mv-yin-qiao-mai); stroke-width: 1.8; }
.carte-metro .mc-canal-mv-yin-wei-mai { fill: var(--canal-mv-yin-wei-mai); }
.carte-metro .mc-organe-stroke-mv-yin-wei-mai { stroke: var(--canal-mv-yin-wei-mai); stroke-width: 1.8; }
