:root{
 --graph-design:#ce7456;--graph-personality:#246b65;
 --graph-design-gate:#ad553e;--graph-personality-gate:#246b65;
 --graph-idle-design:#c0cec6;--graph-idle-personality:#cdd9d1;
 --graph-silhouette:#f0f4ef;--graph-center-top:#fff8e9;--graph-center-bottom:#f4e9d2;
 --graph-center-empty:#f8faf5;--graph-center-border:#a89d80;--graph-gate-text:#393e36;
}
[data-theme=dark]{
 --graph-design:#d48d70;--graph-personality:#4d9a8c;
 --graph-design-gate:#b6654b;--graph-personality-gate:#317c70;
 --graph-idle-design:#344b42;--graph-idle-personality:#3b5149;
 --graph-silhouette:#202d27;--graph-center-top:#4b4535;--graph-center-bottom:#383b2c;
 --graph-center-empty:#29362e;--graph-center-border:#938c72;--graph-gate-text:#e0e4d7;
}
.user-bodygraph .bodygraph-silhouette{pointer-events:none}
.user-bodygraph .center-target path{fill:var(--graph-center-empty);stroke:var(--graph-center-border);stroke-width:1.5;filter:none}
.user-bodygraph .center-target.defined path{fill:var(--center-paint);stroke:var(--center-edge);stroke-width:2.2}
.user-bodygraph .center-target:hover path,.user-bodygraph .center-target:focus-visible path{stroke:var(--accent);stroke-width:2.5}
.user-bodygraph .gate-target text{paint-order:stroke;stroke:none}
.user-bodygraph .channel-visual,.user-bodygraph .artwork-overlay{pointer-events:none}
.user-bodygraph .source-mandala.mandala-small{opacity:.48}
#chartView[data-chart-view=mandala] .bodygraph-silhouette{display:none}
@media print{.user-bodygraph .bodygraph-silhouette{fill:#f0f4ef}}
.chart-workspace .design-column .activation-row,.chart-workspace .chart-variables .design-variable{color:var(--graph-design)}
.chart-workspace .personality-column .activation-row,.chart-workspace .chart-variables .personality-variable{color:var(--graph-personality)}
.chart-workspace .design-dot{color:var(--graph-design-gate)}
.chart-workspace .personality-dot{color:var(--graph-personality-gate);text-shadow:none}
.chart-workspace .both-dot{background:linear-gradient(90deg,var(--graph-design-gate) 50%,var(--graph-personality-gate) 50%)}
/* Hover paint and the generous hit area are separate, so pointer geometry never changes. */
.user-bodygraph .channel-target .channel-hit,
.user-bodygraph .channel-target:hover .channel-hit,
.user-bodygraph .channel-target:focus-visible .channel-hit{
 stroke:transparent;stroke-width:19;stroke-opacity:0;pointer-events:stroke;
}
.user-bodygraph .channel-target .channel-highlight{
 stroke:var(--graph-personality);stroke-width:12;stroke-opacity:0;pointer-events:none;stroke-linecap:round;
}
.user-bodygraph .channel-target:hover .channel-highlight,
.user-bodygraph .channel-target:focus-visible .channel-highlight{stroke:var(--graph-personality);stroke-opacity:.35}
.user-bodygraph .channel-target circle,
.user-bodygraph .channel-target:hover circle,
.user-bodygraph .channel-target:focus-visible circle{fill:transparent;stroke:none}
.user-bodygraph :is(.channel-target,.gate-target,.center-target,.integration-junction):focus{outline:none}
.user-bodygraph .integration-junction circle,
.user-bodygraph .integration-junction:hover circle,
.user-bodygraph .integration-junction:focus-visible circle{fill:transparent;stroke:none}
.user-bodygraph:has(.integration-junction:focus-visible) .integration-seam{stroke:var(--graph-personality);stroke-width:1.2}
/* SVG focus rings otherwise draw a rectangle around the complete curved path bounds. */
.user-bodygraph,
.user-bodygraph [tabindex],
.user-bodygraph [tabindex]:focus,
.user-bodygraph [tabindex]:focus-visible{outline:none!important}

/* Muted center families: color indicates definition; empty centers remain neutral. */
:root{
 --graph-head-top:#e9dca8;--graph-head-bottom:#dccb8e;--graph-head-edge:#af9b5f;
 --graph-ajna-top:#c6d8bf;--graph-ajna-bottom:#b2c9aa;--graph-ajna-edge:#7b9873;
 --graph-throat-top:#e7c1a9;--graph-throat-bottom:#d7a78c;--graph-throat-edge:#b5866d;
 --graph-g-top:#eddaa0;--graph-g-bottom:#e0c67e;--graph-g-edge:#b49a57;
 --graph-ego-top:#e2b7b0;--graph-ego-bottom:#d29a94;--graph-ego-edge:#ac7670;
 --graph-spleen-top:#dbbfa7;--graph-spleen-bottom:#caa68b;--graph-spleen-edge:#a48367;
 --graph-solar-top:#dfc2aa;--graph-solar-bottom:#d0ab8e;--graph-solar-edge:#ac876a;
 --graph-sacral-top:#e1b5ae;--graph-sacral-bottom:#d29b95;--graph-sacral-edge:#aa7770;
 --graph-root-top:#d0c0b0;--graph-root-bottom:#bba58f;--graph-root-edge:#92806c;
}
[data-theme=dark]{
 --graph-head-top:#796b3f;--graph-head-bottom:#5f5434;--graph-head-edge:#b19c60;
 --graph-ajna-top:#4f715b;--graph-ajna-bottom:#3e5c4b;--graph-ajna-edge:#86a48d;
 --graph-throat-top:#84604e;--graph-throat-bottom:#6b4b3f;--graph-throat-edge:#bc917a;
 --graph-g-top:#8b7744;--graph-g-bottom:#6d5d35;--graph-g-edge:#c3ab6b;
 --graph-ego-top:#865953;--graph-ego-bottom:#6b4441;--graph-ego-edge:#bf8981;
 --graph-spleen-top:#79634d;--graph-spleen-bottom:#5e4d3d;--graph-spleen-edge:#b49a7d;
 --graph-solar-top:#80664e;--graph-solar-bottom:#654e3d;--graph-solar-edge:#b99a79;
 --graph-sacral-top:#875c55;--graph-sacral-bottom:#6e4743;--graph-sacral-edge:#c28b82;
 --graph-root-top:#6c6254;--graph-root-bottom:#544c41;--graph-root-edge:#a99a84;
}
.user-bodygraph .center-head{--center-paint:url(#artworkCenterFill-head);--center-edge:var(--graph-head-edge)}
.user-bodygraph .center-ajna{--center-paint:url(#artworkCenterFill-ajna);--center-edge:var(--graph-ajna-edge)}
.user-bodygraph .center-throat{--center-paint:url(#artworkCenterFill-throat);--center-edge:var(--graph-throat-edge)}
.user-bodygraph .center-g{--center-paint:url(#artworkCenterFill-g);--center-edge:var(--graph-g-edge)}
.user-bodygraph .center-ego{--center-paint:url(#artworkCenterFill-ego);--center-edge:var(--graph-ego-edge)}
.user-bodygraph .center-spleen{--center-paint:url(#artworkCenterFill-spleen);--center-edge:var(--graph-spleen-edge)}
.user-bodygraph .center-solar{--center-paint:url(#artworkCenterFill-solar);--center-edge:var(--graph-solar-edge)}
.user-bodygraph .center-sacral{--center-paint:url(#artworkCenterFill-sacral);--center-edge:var(--graph-sacral-edge)}
.user-bodygraph .center-root{--center-paint:url(#artworkCenterFill-root);--center-edge:var(--graph-root-edge)}
/* Keep geometry vector-based at every zoom level: no raster displacement filter. */
.user-bodygraph{shape-rendering:geometricPrecision}
.user-bodygraph .channel-visual,.user-bodygraph .center-target{filter:none}

/* Highlighting undefined centers must not wash out defined-center colors. */
.option-notSelf .user-bodygraph .center-target.defined{opacity:1}
