/* Isolated reference circuit: no legacy agile-board/node selectors. */
[data-cycle-board] { --cycle-ink:#292e30; --cycle-line:#737d77; --cycle-accent:#345b46; position:relative; width:100%; max-width:660px; margin-inline:auto; padding:26px 12px 22px; border:1px solid #a3ada5; border-radius:12px; background:#e6ece5; color:var(--cycle-ink); isolation:isolate; container-type:inline-size; }
[data-cycle-board], [data-cycle-board] * { box-sizing:border-box; }
[data-cycle-board] .cycle-status { display:flex; align-items:center; justify-content:center; gap:10px; min-height:30px; margin:0 0 20px; font:500 clamp(10px,2.5cqw,14px)/1.4 Inter,sans-serif; letter-spacing:.1em; text-align:center; }
[data-cycle-board] .cycle-status i { flex:none; width:7px; height:7px; border-radius:50%; background:#4d5950; }
[data-cycle-board] .cycle-diagram { position:relative; display:flex; flex-direction:column; gap:24px; padding:0 24px; width:100%; }
[data-cycle-board] .cycle-row { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:32px; width:100%; }
[data-cycle-board] .cycle-card { appearance:none; position:relative; inset:auto; transform:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; width:100%; min-width:0; min-height:80px; margin:0; padding:14px 6px; z-index:1; border:1.3px solid #454e48; border-radius:9px; background:#f5f7f3; color:var(--cycle-ink); font:400 clamp(13px,3.1cqw,20px)/1.2 Inter,sans-serif; letter-spacing:0; text-align:center; white-space:normal; overflow-wrap:normal; cursor:pointer; box-shadow:none; transition:background .18s,border-color .18s,box-shadow .18s; }
[data-cycle-board] .cycle-card::before,[data-cycle-board] .cycle-card::after { content:none; }
[data-cycle-board] .cycle-card b { font:700 clamp(15px,3.5cqw,23px)/1.15 Inter,sans-serif; letter-spacing:-.025em; }
[data-cycle-board] .cycle-single { width:58%; align-self:center; }
[data-cycle-board] .cycle-core { width:72%; min-height:176px; align-self:center; gap:18px; margin:8px 0 10px; border-radius:16px; outline:1px solid #ccd3cb; outline-offset:-10px; padding:22px 12px; }
[data-cycle-board] .cycle-core b { font-size:clamp(30px,7.8cqw,51px); line-height:.94; letter-spacing:-.05em; }
[data-cycle-board] .cycle-eyebrow,[data-cycle-board] .cycle-state { font-size:clamp(10px,2.65cqw,16px); letter-spacing:.1em; }
[data-cycle-board] .cycle-card.is-active { background:#e0eadc; border-color:var(--cycle-accent); box-shadow:0 0 0 2px #345b4626; }
[data-cycle-board] .cycle-card:focus-visible { outline:3px solid var(--cycle-accent); outline-offset:3px; }
[data-cycle-board] .cycle-wires { position:absolute; inset:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:0; }
[data-cycle-board] .cycle-edge { fill:none; stroke:var(--cycle-line); stroke-width:1.4; stroke-linejoin:round; stroke-linecap:round; }
[data-cycle-board] .cycle-pulse { fill:none; stroke:#263f30; stroke-width:2.3; stroke-dasharray:8 92; animation:cycle-flow var(--cycle-duration,4s) linear infinite; animation-delay:var(--cycle-delay,0s); }
[data-cycle-board] .cycle-junction { fill:#56635a; }
[data-cycle-board] .cycle-arrow { fill:var(--cycle-line); }
[data-cycle-board] .cycle-connection.is-active .cycle-edge { stroke:var(--cycle-accent); stroke-width:2; }
[data-cycle-board] .cycle-connection.is-active .cycle-pulse { stroke:#1d6a3d; stroke-width:3; }
[data-cycle-board][data-paused="true"] .cycle-pulse { animation-play-state:paused; }
@keyframes cycle-flow { to { stroke-dashoffset:-100; } }
@container (max-width:380px) {
  [data-cycle-board] .cycle-diagram { padding-inline:19px; gap:20px; }
  [data-cycle-board] .cycle-row { gap:22px; }
  [data-cycle-board] .cycle-card { min-height:72px; padding:12px 4px; }
  [data-cycle-board] .cycle-core { width:76%; min-height:155px; padding:22px 10px; gap:17px; }
  [data-cycle-board] .cycle-single { width:65%; }
}
@media (prefers-reduced-motion:reduce) {
  [data-cycle-board] .cycle-pulse { display:none; animation:none; }
  [data-cycle-board] .cycle-card { transition:none; }
}
