/* A graphite drafting surface. Risk fills remain the native heatColor values. */
body.study-active :is(#ed-svg,svg.dg) {
  --drawing-ground:#1b2227;
  background-color:var(--drawing-ground);
}
body.study-active #ed-svg .ededge:not(.ebusrun),body.study-active svg.dg .dgedge {
  stroke:#8c9aa3; stroke-width:1; stroke-linecap:round;
}
body.study-active #ed-svg .edjoin,body.study-active svg.dg .dgjoin { fill:#bccbd3; }
body.study-active #ed-svg .ededge.ebusrun { stroke:#a9a0ce; }
body.study-active #ed-svg .edbus .nbody { fill:#a9a0ce; }
body.study-active #ed-svg .ednode.role-comp:not(.edbus) .nbody {
  fill:#343e46; stroke:#c0cdd5; stroke-width:1; vector-effect:non-scaling-stroke;
}
body.study-active #ed-svg .ednode .nsheen { opacity:.4; stroke:none; }
body.study-active #ed-svg .nglyph { stroke:#d8e4eb; stroke-width:1; }
body.study-active #ed-svg .ednode.sel .nbody { fill:#283e4b; stroke:#51c3ff; }
body.study-active #ed-svg .ednode.sel .nring { stroke:#37b9ff; stroke-width:1.5; vector-effect:non-scaling-stroke; }
body.study-active #ed-svg .ednode.bad .nring { stroke:var(--err); }
body.study-active #ed-svg .ednode.needs .nring { stroke:var(--run); stroke-dasharray:4 3; }
body.study-active #ed-svg .ednode.inzone .nring { stroke:var(--err); stroke-dasharray:2 3; }
body.study-active #ed-svg .ededge.sel:not(.ebusrun) { stroke:#40bfff; stroke-width:1.7; }
body.study-active svg.dg .dgnode :is(.dgshape,circle) { stroke:#b6c4cc; stroke-width:.85; }
svg.dg .dg-hit { fill:transparent; stroke:none; pointer-events:all; }
body.study-active svg.dg .dgnode.role-in circle { stroke:var(--ok); stroke-width:1.8; }
body.study-active svg.dg .dgnode.role-out circle { stroke:var(--run); stroke-width:1.8; }
body.study-active svg.dg .dgnode.role-both circle { stroke:var(--run); fill:var(--ok); }
body.study-active svg.dg .dgnode.on :is(.dgshape,circle) { stroke:#51c3ff; stroke-width:2; }
body.study-active svg.dg .dgnode.hot :is(.dgshape,circle) { stroke:#f0d1cd; stroke-width:2; }
body.study-active svg.dg .dgnode.tgt :is(.dgshape,circle) { stroke:#51c3ff; stroke-width:2; }
body.study-active svg.dg .dgedge.hot { stroke:var(--err); stroke-width:2; }
body.study-active svg.dg .dgedge.soft { stroke:#64717b; stroke-dasharray:4 4; }
body.study-active svg.dg .dgjoin.hot { fill:var(--err); }
.one-line-tag { pointer-events:none; outline:none; }
.one-line-label-plate { fill:var(--drawing-ground,#1b2227); fill-opacity:.82; stroke:none; pointer-events:all; cursor:pointer; }
.one-line-label {
  fill:#cad7df; font-family:var(--sans); font-weight:500; letter-spacing:.012em; pointer-events:all; cursor:pointer;
  paint-order:stroke; stroke:var(--drawing-ground,#1b2227); stroke-width:2px;
  stroke-linejoin:round; vector-effect:non-scaling-stroke;
}
.one-line-bus-label { fill:#b5add6; font-weight:600; }
.one-line-leader { fill:none; stroke:#a1b5c1; stroke-width:1; stroke-dasharray:1 2; vector-effect:non-scaling-stroke; opacity:.9; }
.one-line-tag:is(.sel,.on,.tgt,.annotation-hover,:focus-visible) .one-line-label { fill:#9bdfff; }
.one-line-tag:is(.sel,.on,.tgt,.annotation-hover,:focus-visible) .one-line-leader { stroke:#51c3ff; stroke-width:1.4; }
.one-line-tag:is(.sel,.on,.tgt,.annotation-hover,:focus-visible) .one-line-label-plate { fill:#203641; fill-opacity:.95; stroke:#4abfff; stroke-width:.7; vector-effect:non-scaling-stroke; }
body.study-active #ed-svg .ednode.annotation-hover .nring,.studio-diagram .ednode.annotation-hover .nring { stroke:#51c3ff; stroke-width:1.8; filter:none; vector-effect:non-scaling-stroke; }
body.study-active svg.dg .dgnode.annotation-hover :is(.dgshape,circle,.dgbarring) { stroke:#51c3ff; stroke-width:1.8; }
.one-line-tag.hot .one-line-label { fill:#f0d1cd; }
.one-line-tag.dim { opacity:.25; }
.lbl-off .one-line-tag { display:none; }
body.study-active .dg-tip { border:1px solid #74899655; border-radius:9px; background:linear-gradient(#354149,#253038); box-shadow:inset 0 1px #dceaf020,0 4px 12px #0009; color:#bdd0dd; font:11px/1.7 var(--sans); }
.studio-diagram { --drawing-ground:#252c30; }
.studio-diagram .ededge { stroke:#98a8b2; stroke-width:1; vector-effect:non-scaling-stroke; }
.studio-diagram .edjoin { fill:#cad5dc; }
.studio-diagram .ednode .nbody { fill:#303b43; stroke:#c0ced8; stroke-width:1; vector-effect:non-scaling-stroke; }
.studio-diagram .ednode.edbus .nbody { fill:#aab5c2; stroke:none; }
.studio-diagram .ednode.role-in .nbody { fill:var(--ok); }
.studio-diagram .ednode.role-out .nbody { fill:var(--run); }
.studio-diagram .ednode.role-both .nbody { fill:var(--ok); stroke:var(--run); }
.studio-diagram .ednode .nglyph { stroke-width:1; vector-effect:non-scaling-stroke; }
.studio-diagram .ednode.is-selected .nbody { fill:#264957; stroke:#65cbff; }
.studio-diagram .ednode.is-selected .nring { stroke:#38baff; stroke-width:1.5; filter:none; vector-effect:non-scaling-stroke; }
.studio-diagram .ednet.is-selected .ededge { stroke:#65cbff; stroke-width:1.7; filter:none; }
#view-map[data-mode=diagram] .studio-labels-button { display:inline-flex; }
#view-map[data-mode=diagram] .pf-card { overflow:clip; }
#view-map.studio-workspace .studio-diagram>svg:is(:focus,:focus-visible) { outline:none; box-shadow:none; border-radius:0; }
#view-map.studio-workspace:has(.studio-diagram>svg:focus-visible) .studio-camera-tools { box-shadow:var(--instrument-rim),0 0 0 1px #62c5ff55,var(--instrument-shadow); }
@media(min-width:1000px) {
  /* A drawing needs vertical space. Reuse the existing inspector as a side rail
     in this mode; every original tab, field and action remains in that rail. */
  #view-map[data-mode=diagram] { --one-line-left:294px; --one-line-right:calc(var(--studio-detail-width,300px) + 36px); }
  #view-map[data-mode=diagram].studio-hide-explorer { --one-line-left:30px; }
  #view-map[data-mode=diagram].studio-hide-insights { --one-line-right:30px; }
  #view-map[data-mode=diagram] .pf-mapbox { bottom:48px; }
  #view-map[data-mode=diagram] .studio-tree { bottom:64px; max-height:none; }
  #view-map[data-mode=diagram] .studio-help { position:fixed; top:auto; bottom:56px; left:var(--one-line-left); right:auto; }
  #view-map[data-mode=diagram] .studio-camera-tools { left:calc((100% + var(--one-line-left) - var(--one-line-right))/2); }
  #view-map[data-mode=diagram] .pf-side { inset:calc(var(--studio-canvas-top) + 22px) 16px 64px auto; width:var(--studio-detail-width,300px); height:auto; }
  #view-map[data-mode=diagram] .pf-side>.studio-inspector-heading { flex-wrap:wrap; padding:13px; gap:10px; }
  #view-map[data-mode=diagram] .studio-selection-meta { flex:1; }
  #view-map[data-mode=diagram] .studio-inspector-tabs { order:4; width:100%; margin:0; }
  #view-map[data-mode=diagram] .studio-inspector-tabs button { flex:1; padding-inline:4px; }
  #view-map[data-mode=diagram] .studio-inspector-footer { order:5; width:100%; margin:0; }
  #view-map[data-mode=diagram] .studio-inspector-footer button { width:100%; }
  #view-map[data-mode=diagram] .pf-side>.studio-inspector-scroll { display:block; padding:13px; }
  #view-map[data-mode=diagram] .studio-inspector-scroll :is(.studio-insight,.studio-summary-content,.studio-start-steps) { min-width:0; max-width:100%; }
  #view-map[data-mode=diagram] .studio-start-steps { grid-template-columns:minmax(0,1fr); gap:18px; margin:16px 0; }
  #view-map[data-mode=diagram] .studio-start-steps>div { gap:11px; }
  #view-map[data-mode=diagram] .studio-start-steps>div>span { min-width:0; overflow-wrap:break-word; }
  #view-map[data-mode=diagram] .studio-start-steps small { margin-top:4px; }
  #view-map.studio-workspace[data-mode=diagram] .studio-inspector-heading .studio-inspector-tabs { width:100%; min-width:0; margin:0; }
  #view-map[data-mode=diagram] .studio-insight-facts { flex-wrap:wrap; }
  #view-map[data-mode=diagram] .pf-dl { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); }
  #view-map[data-mode=diagram] .pf-dl dd { min-width:0; overflow-wrap:anywhere; }
  #view-map[data-mode=diagram] .studio-summary-content { display:block; }
  #view-map[data-mode=diagram] .studio-mini-facts { margin-top:12px; }
  #view-map[data-mode=diagram] .studio-dock { margin-top:16px; padding:16px 0 0; border-left:0; border-top:1px solid #a4bac41c; }
  #view-map[data-mode=diagram].studio-hide-insights .pf-side { height:64px; bottom:auto; }
}
/* Leave more room for the drawing, without taking away the linked ranking. */
body.study-active .analysis-risk-card .hero-grid { grid-template-columns:minmax(0,1fr) 310px; }
body.study-active .analysis-risk-card .card-head { min-height:42px; padding-block:7px!important; }
body.study-active .analysis-risk-card #res-svg { height:calc(100% - 27px); }
@media(max-width:800px) { body.study-active .analysis-risk-card .hero-grid { grid-template-columns:minmax(0,1fr) 250px; } }
@media(max-width:600px) { body.study-active .analysis-risk-card .hero-grid { grid-template-columns:1fr; } }
