.chapter-mark{display:block;width:48px;height:48px;margin:16px 0 -8px}
.signal-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.signal-layout h3{font-size:1.05rem;margin:8px 0 12px}
.node-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.node-choices button{min-width:0;overflow-wrap:anywhere}
.node-choices button:disabled{opacity:.55}
.route-list{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.route-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:#132b36;border:1px solid #668997;border-radius:6px}
.route-list li:focus{outline:3px solid #ffcc75;outline-offset:3px}
.route-list span{font-weight:700;overflow-wrap:anywhere}
.route-list .route-actions{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.route-list button{min-height:38px;padding:6px 9px;font-size:.8rem;white-space:nowrap}
.route-list button:disabled{opacity:.45}
@media(max-width:760px){.signal-layout{grid-template-columns:1fr}}
@media(max-width:420px){.node-choices{grid-template-columns:1fr}.route-list li{align-items:flex-start;flex-direction:column}.route-list .route-actions{justify-content:flex-start}}
