.demo[data-cycle] .inputs{grid-template-columns:minmax(0,1fr) 70px}.demo[data-cycle] .inputs button{grid-column:1/-1}.cycle-diagram{display:flex;gap:10px;overflow-x:auto;padding:12px 0 20px}.cycle-node{flex:0 0 70px;text-align:center}.cycle-node strong{display:grid;place-items:center;min-height:55px;border-radius:50%;border:2px solid #c5d6ee;background:#f1f6fd;font-size:17px;overflow-wrap:anywhere;transition:background .2s}.cycle-node.visited strong{box-shadow:0 0 0 3px #dae9fb}.cycle-node.slow strong{background:#174ea6;color:white}.cycle-node.fast strong{border:4px solid #007c9c}.cycle-node small,.cycle-node span,.cycle-node code{display:block;font:11px/1.7 ui-monospace,monospace;min-height:19px}.cycle-node span{color:#174ea6;min-height:34px}.cycle-state{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;background:#f0f6ff;padding:12px;border-radius:8px}.solution-input{white-space:pre-wrap}.approach-nav{flex-wrap:wrap}@media(prefers-reduced-motion:reduce){.cycle-node strong{transition:none}}
@media(max-width:600px){.cycle-diagram{gap:8px}.cycle-node{flex-basis:58px}.cycle-node strong{font-size:15px}.cycle-node span{font-size:10px}}
