/* Роли графиков Méridien — зеркало блока CHARTS из assets/template/deck.css скилла meridien-brand + классы базы.
   Цвета только переменными ролей из assets/tokens.css: тема меняется атрибутом data-theme, график — тот же. */
svg.mc { display: block; width: 100%; height: auto; overflow: visible; }
.mc text { font-family: var(--font-base); fill: var(--text-secondary); font-variant-numeric: tabular-nums; }
.mc .lbl { font-size: 16px; font-weight: 500; letter-spacing: .01em; }
.mc .cap { font-size: 18px; }
.mc .val { font-size: 40px; font-weight: 500; letter-spacing: -.02em; fill: var(--text-primary); }
.mc .val-s { font-size: 24px; fill: var(--text-primary); }
.mc .node-t { font-size: 24px; fill: var(--text-primary); }
.mc .ink { fill: var(--text-primary); }
.mc .sec { fill: var(--text-secondary); }
.mc .hotink { fill: var(--data-1); }
.mc .on { fill: var(--text-on-accent); }
.mc .b { font-weight: 700; }

.mc .grid { stroke: var(--line-grid); stroke-width: 1; fill: none; }
.mc .axis { stroke: var(--line-graphic); stroke-width: 1.5; fill: none; }
.mc .hair { stroke: var(--line-graphic); stroke-width: 1; fill: none; }
.mc .line { stroke: var(--line-graphic); stroke-width: 2.5; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.mc .line.hot { stroke: var(--data-1); stroke-width: 3; }
.mc .line.d2 { stroke: var(--data-2); } .mc .line.d3 { stroke: var(--data-3); }
.mc .line.thin { stroke-width: 1.5; }
.mc .line.mute { stroke: var(--line-grid); stroke-width: 1.5; }
.mc .dash { stroke-dasharray: 2 8; }
.mc .dash-s { stroke-dasharray: 6 6; }
.mc .link { stroke: var(--line-graphic); stroke-width: 1.5; fill: none; }
.mc .link.hot { stroke: var(--accent-fine); stroke-width: 2.5; }
.mc .frame { stroke: var(--accent-fine); stroke-width: 2; fill: none; }

.mc .bar { fill: var(--data-neutral); }
.mc .bar.hot { fill: var(--data-1); }
.mc .bar.d2 { fill: var(--data-2); } .mc .bar.d3 { fill: var(--data-3); }
.mc .bar.soft { fill: var(--bg-surface-2); }
.mc .area { fill: var(--bg-surface-2); }
.mc .area.hot { fill: var(--accent-subtle); }
.mc .flow { fill: var(--data-neutral); fill-opacity: .35; }
.mc .flow.hot { fill: var(--data-1); fill-opacity: .7; }

.mc .node { fill: var(--bg-page); stroke: var(--line-graphic); stroke-width: 2; }
.mc .node.hot { fill: var(--accent-primary); stroke: var(--accent-primary); }
.mc .node.fill { fill: var(--bg-surface-2); stroke: none; }
.mc .dot { fill: var(--text-primary); }
.mc .dot.off { fill: var(--line-graphic); }
.mc .dot.hot { fill: var(--data-1); }
.mc .dot.d2 { fill: var(--data-2); } .mc .dot.d3 { fill: var(--data-3); }
.mc .dot.ring { fill: var(--bg-page); stroke: var(--line-graphic); stroke-width: 2; }

.mc .page { fill: var(--bg-page); }
.mc .surface { fill: var(--bg-surface); }
.mc .surface2 { fill: var(--bg-surface-2); }
.mc .accentfill { fill: var(--bg-accent); }
.mc .subtle { fill: var(--accent-subtle); }
.mc .land { fill: var(--bg-surface); stroke: none; }
.mc .land2 { fill: var(--bg-surface-2); stroke: none; }
.mc .border { stroke: var(--bg-page); stroke-width: 1; fill: none; }
.mc .coast { stroke: var(--line-graphic); stroke-width: 1; fill: none; }

.mc .heat-0 { fill: var(--heat-0); } .mc .heat-1 { fill: var(--heat-1); } .mc .heat-2 { fill: var(--heat-2); }
.mc .heat-3 { fill: var(--heat-3); } .mc .heat-4 { fill: var(--heat-4); } .mc .heat-5 { fill: var(--heat-5); } .mc .heat-6 { fill: var(--heat-6); }
.mc .sheat-1 { stroke: var(--heat-1); } .mc .sheat-2 { stroke: var(--heat-2); } .mc .sheat-3 { stroke: var(--heat-3); }
.mc .sheat-4 { stroke: var(--heat-4); } .mc .sheat-5 { stroke: var(--heat-5); } .mc .sheat-6 { stroke: var(--heat-6); }
.mc .hatch { stroke: var(--line-graphic); stroke-width: 1.5; }
.mc .hatch.hot { stroke: var(--data-1); }
