/* Material nodes and directed channels share the same restrained visual language. */
.workbench-page{background:#f7f8f3}.system{background:#fffefa;border-color:#dde4d7;border-radius:16px}
.diagram-toolbar{background:#eff3e9;border-bottom:1px solid #dce5d4}
.story-chapters button[aria-pressed=true]{background:#22543d;color:#fffdf5;box-shadow:none}
.story-chapters button{border-radius:7px;transition:background .3s,color .3s}
.story-copy{grid-template-columns:1fr 1.4fr}.story-progress{height:2px;border-radius:2px;background:#e8eedf}.story-progress span{background:#749b5d}
.label.title{display:flex;align-items:center;gap:8px;font-weight:500;letter-spacing:-.04em;white-space:nowrap}
.stage-index{font-size:11px;line-height:23px;letter-spacing:.02em;color:#698062;width:24px;height:24px;border:1px solid #d5dfca;border-radius:50%;text-align:center;font-weight:500;flex:none}
.label.caption{background:#fffefa;color:#597453;padding:4px 7px;border-radius:5px}
.label.caption.blue{color:#42708b}.label.caption.amber{color:#927439}
.label.input:not(.left){background:transparent;border-radius:0;border:0;box-shadow:none;color:#67725e}
.label.source-row{background:transparent!important;border:0!important;box-shadow:none!important;color:#617153}
.stage-field{fill:#eff3e8;opacity:.76}.stage-ring{fill:none;stroke:#dce5d2;stroke-width:.9;stroke-dasharray:2 8;opacity:.65}
.scene-tests .stage-field{fill:#edf1ed}.scene-ca .stage-field{fill:#f7f0df}.scene-ca .stage-ring{stroke:#e4d2ab}.scene-revision .stage-field{fill:#edf3df}
.micro-scene [data-material]{transform-origin:110px 83px;will-change:transform}
.arrival-ring{fill:none;stroke:#7ba160;stroke-width:1.7;vector-effect:non-scaling-stroke}.scene-ca .arrival-ring{stroke:#b69755}.scene-tests .arrival-ring{stroke:#6c92a6}
.revision-foundation{fill:none;stroke:#a8bd95;stroke-width:1.2;opacity:.65}
.route-bed{fill:none;stroke:#e8eddf;stroke-width:5;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.route.blue .route-bed{stroke:#e7eff1}.route.amber .route-bed{stroke:#f2ebd9}.input-route .route-bed{stroke-width:0}
.wire{fill:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.wire.green{stroke:#779469}.wire.blue{stroke:#779bad}.wire.amber{stroke:#b4a16e}.wire.ink{stroke:#b7c2ad;stroke-width:.9}
.return-route .wire{stroke-dasharray:2 6}.return-route .route-bed{stroke-width:3.5;opacity:.7}
.head{stroke:none;stroke-width:0}.head.green{fill:#658453}.head.blue{fill:#62899e}.head.amber{fill:#a58c53}.head.ink{fill:#9cad8e}
.beam{fill:none;stroke-width:2.6;stroke-linecap:round;filter:none}.beam.green{stroke:#3f7656}.beam.blue{stroke:#4c85a3}.beam.amber{stroke:#b18a38}.beam.ink{stroke:#80966d}
.token{filter:drop-shadow(0 2px 2px #23442b22)}.token .packet-body{fill:#fffefa;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}.token .packet-mark{fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.token .packet-fold{fill:currentColor;opacity:.15}
.decision-heading{fill:#eef3e6;stroke:none}.decision-heading.amber{fill:#f6efdc}.decision-underline{fill:none;stroke:#8dab70;stroke-width:2.5;stroke-linecap:round}.decision-underline.amber{stroke:#c0a467}
.outcome-ticket{fill:#f3f6ec;stroke:#b2c5a0;stroke-width:1.2;vector-effect:non-scaling-stroke}.outcome-ticket.blue{fill:#edf3f6;stroke:#a9c1cd}.outcome-ticket.amber{fill:#f9f2e1;stroke:#d4c195}
.outcome-ticket.is-active{stroke-width:2}.decision-heading.is-active{fill:#e4edda}.decision-heading.amber.is-active{fill:#f1e7c9}
.module [data-node]{transition:fill .3s,stroke .3s}.label-in-confident,.label-in-guessing{font-weight:500}.label-in-cr,.label-in-cw,.label-in-gr,.label-in-gw{font-weight:500}
.tracker-well{fill:none;stroke:#d8e2cc;stroke-width:1}.tracker-tiles rect{fill:#799a62}
.bridge{fill:#fffefa}.junction{stroke:#fffefa;stroke-width:1.5}
.diagram-footer{border-top-color:#e8ecdf}.legend i{height:4px;border-radius:3px}
@media(max-width:1199px){.stage-index{width:21px;height:21px;line-height:20px;font-size:10px}.label.title{gap:7px}.route-bed{stroke-width:4}.wire{stroke-width:1.1}.head{stroke:none}.story-copy{grid-template-columns:1fr 1.4fr}}
@media(max-width:700px){.story-copy{grid-template-columns:1fr}.label.title{font-size:22px}.route-bed{stroke-width:3.5}.stage-field{opacity:.65}.diagram--phone .label.caption{padding:3px 4px}}
@media(prefers-reduced-motion:reduce){.story-chapters button,.module [data-node]{transition:none}.micro-scene [data-material]{will-change:auto}}
/* The same clock drives motion; no independent entrance loops. */
.drawing .wire,.drawing .module,.drawing .label{animation:none}
.story-progress{position:relative;overflow:visible;margin-bottom:8px}
#process-scrub{position:absolute;inset:-9px 0 auto;width:100%;height:20px;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.story-progress:focus-within{outline:2px solid #678b52;outline-offset:5px}
.story-progress:hover{background:#dce7cf}
.wire.green{stroke:#6c8c5d}.wire.blue{stroke:#688fa4}.wire.amber{stroke:#a68d50}
.diagram--phone .label.action{padding:3px 0}
#process-scrub{appearance:none;-webkit-appearance:none;opacity:1;background:transparent;outline:none}
#process-scrub::-webkit-slider-runnable-track{height:2px;background:transparent}
#process-scrub::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:9px;height:9px;margin-top:-3.5px;border:2px solid #fffefa;border-radius:50%;background:#587943;box-shadow:0 0 0 1px #8fa27f}
#process-scrub::-moz-range-track{height:2px;background:transparent}
#process-scrub::-moz-range-thumb{width:7px;height:7px;border:2px solid #fffefa;border-radius:50%;background:#587943}
#process-scrub:disabled{opacity:.4;cursor:default}
.story-progress:focus-within{outline-width:1px;outline-offset:4px}
