/* 単線結線図 — 図版カード */
.figure-card{background:var(--paper-2);border-radius:0;padding:40px 28px;margin:36px 0 10px}
.sld-wrap{max-width:520px;margin:0 auto}
.sld{display:block;width:100%;height:auto}
.sld .st{fill:none;stroke:var(--hx-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sld .thin{stroke-width:1.1}
.sld .bus{stroke-width:3}
.sld .dash{stroke-dasharray:3 3}
.sld .frame{stroke:rgba(var(--ink-rgb),.2);stroke-width:1}
.sld .grid{fill:rgba(var(--ink-rgb),.07)}
.sld .lbl{font:600 10px var(--font-latin);letter-spacing:.06em;fill:rgba(var(--ink-rgb),.72)}
.sld .lbl.jp{font:500 9.5px var(--font-jp);letter-spacing:.02em}
.sld .lbl.bl{fill:var(--hx-blue)}
.sld .tb{font:600 9px var(--font-latin);letter-spacing:.14em;fill:rgba(var(--ink-rgb),.56)}
.sld .tb.jp{font:500 9px var(--font-jp);letter-spacing:.04em}
.sld .pt{fill:var(--hx-blue)}
.sld .ring{fill:none;stroke:var(--hx-blue);stroke-width:1.2}
.sld .pulse{transform-box:fill-box;transform-origin:center;opacity:0;animation:pulse 3s ease-out infinite}
@keyframes pulse{0%{transform:scale(.4);opacity:.9}70%{opacity:0}100%{transform:scale(2.6);opacity:0}}
/* 活線表示 — 導体に沿って走る流れ（コバルトは計測点専用なので、背景色のマークで表す） */
.sld .flow{fill:none;stroke:var(--paper-2);stroke-width:3.2;stroke-linecap:butt;stroke-dasharray:5 45;animation:flow 1.7s linear infinite}
.sld .flow.slow{stroke-width:2.6;stroke-dasharray:4 62;animation:flowSlow 3.4s linear infinite}
@keyframes flow{to{stroke-dashoffset:-50}}
@keyframes flowSlow{to{stroke-dashoffset:-66}}

/* 計測点 詳細図 */
.detail{display:grid;gap:18px;margin:26px 0 8px}
@media (min-width:560px){.detail{grid-template-columns:1fr 1fr;gap:22px}}
.detail figure{margin:0;background:var(--card);border:1px solid var(--line);border-radius:0;padding:26px 24px 18px}
.detail svg{display:block;width:100%;height:auto}
.detail figcaption{margin-top:10px;font-size:13px;letter-spacing:.04em;color:rgba(var(--ink-rgb),.7)}
.detail figcaption .k{font-family:var(--font-latin);font-weight:600;letter-spacing:.2em;text-transform:uppercase;font-size:10.5px;margin-right:10px;color:rgba(var(--ink-rgb),.5)}
.dt .st{fill:none;stroke:var(--hx-ink);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.dt .thin{stroke-width:1.1}
.dt .lbl{font:500 10px var(--font-jp);letter-spacing:.02em;fill:rgba(var(--ink-rgb),.72)}
.dt .lat{font:600 10px var(--font-latin);letter-spacing:.06em;fill:rgba(var(--ink-rgb),.72)}
.dt .sm{font-size:9px;fill:rgba(var(--ink-rgb),.55)}
.dt .ax{stroke:rgba(var(--ink-rgb),.28);stroke-width:1}
.dt .dsh{stroke:rgba(var(--ink-rgb),.28);stroke-width:1;stroke-dasharray:3 3}
.dt .vec{stroke-width:1.7}
.dt .vecb{stroke:var(--hx-blue);stroke-width:2}
.dt .bl{fill:var(--hx-blue)}
.dt .pt{fill:var(--hx-blue)}


@media(prefers-reduced-motion:reduce){.sld .pulse,.sld .flow{display:none}}
@media(max-width:640px){.figure-card{padding:20px 14px}}
