.flow-theory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.flow-theory-card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px}.flow-theory-card h3{margin:0 0 7px;color:var(--cyan);font-size:16px}.flow-theory-card p{margin:0;color:var(--ink);font-size:14px;line-height:1.65}.flow-shape{display:flex;align-items:center;gap:12px}.flow-shape-icon{display:flex;align-items:center;justify-content:center;width:80px;height:42px;background:rgba(34,211,238,.09);border:1px solid var(--cyan);color:var(--cyan);font:11px "JetBrains Mono",monospace}.flow-shape-icon.input{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%)}.flow-shape-icon.process{border-radius:3px}.flow-shape-icon.condition{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-color:var(--amber);color:var(--amber);background:rgba(252,211,77,.1)}.flow-shape-icon.output{border-radius:22px;border-color:var(--green);color:var(--green);background:rgba(52,211,153,.08)}.flow-diagram-demo{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin:20px 0;padding:18px;background:#07111f;border:1px solid #2d4054;border-radius:10px}.flow-node{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:118px;min-height:56px;padding:8px 12px;border:1px solid #365069;border-radius:6px;background:#0d1a29;color:#b9c9d8;transition:.25s;z-index:1}.flow-node strong{font:700 11px "JetBrains Mono",monospace;color:var(--cyan)}.flow-node small{margin-top:4px;color:#8fa6c0;font-size:11px;text-align:center;line-height:1.25}.flow-node::after{content:"";position:absolute;inset:-4px;border:1px solid transparent;border-radius:inherit;pointer-events:none}.flow-node-input{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.flow-node-process{border-radius:4px}.flow-node-condition{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);min-width:132px;border-color:#816c32;background:rgba(252,211,77,.08)}.flow-node-condition strong{color:var(--amber)}.flow-node-output{border-radius:22px;border-color:#276c5c}.flow-node-output strong{color:var(--green)}.flow-node.active{border-color:var(--cyan);background:rgba(34,211,238,.16);box-shadow:0 0 20px rgba(34,211,238,.25);transform:translateY(-3px)}.flow-node.correct{border-color:var(--green)}.flow-node.incorrect{border-color:var(--red);animation:flowShake .3s ease}.flow-node-index{position:absolute;top:4px;left:7px;color:#5f7991;font:9px "JetBrains Mono",monospace}.flow-arrow-large{color:#5f96b3;font:22px "JetBrains Mono",monospace;animation:arrowPulse 1.2s infinite}.flow-empty{width:100%;padding:22px;text-align:center;color:#5f7991;font:12px "JetBrains Mono",monospace}.flow-constructor-shell{background:#0a1523;border:1px solid #2d4054;border-radius:12px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.18)}.flow-constructor-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:13px 16px;background:#101f30;border-bottom:1px solid #2d4054}.flow-select-label{color:#8fa6c0;font:11px "JetBrains Mono",monospace;text-transform:uppercase}.flow-select{background:#07111f;border:1px solid #365069;border-radius:6px;color:#e6edf5;padding:7px 9px;font-size:12px}.flow-constructor-grid{display:grid;grid-template-columns:220px minmax(0,1fr) 260px;min-height:430px}.flow-palette{padding:16px;background:#0d1a29;border-right:1px solid #2d4054}.flow-palette h3,.flow-execution h3{margin:0 0 7px;color:#e6edf5;font-size:14px}.flow-palette p,.flow-execution p{margin:0 0 12px;color:#8fa6c0;font-size:12px;line-height:1.5}.flow-palette button{display:flex;align-items:center;width:100%;margin:7px 0;padding:10px;border:1px solid #365069;border-radius:6px;background:#13283c;color:#d6e2ed;text-align:left;cursor:pointer;font-size:12px;transition:.16s}.flow-palette button:hover{border-color:var(--cyan);color:var(--cyan);transform:translateX(3px)}.palette-mark{display:inline-flex;align-items:center;justify-content:center;width:25px;height:22px;margin-right:8px;border:1px solid currentColor;border-radius:4px;font:10px "JetBrains Mono",monospace}.flow-canvas{padding:16px;background:#07111f}.flow-canvas-head{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#8fa6c0;font:11px "JetBrains Mono",monospace}.flow-sequence{display:flex;align-items:center;justify-content:center;align-content:center;gap:7px;flex-wrap:wrap;min-height:190px;margin-top:14px;padding:15px;border:1px dashed #365069;border-radius:8px}.flow-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.flow-feedback{min-height:38px;margin-top:10px;padding:9px;border-radius:6px;font-size:12px;line-height:1.45}.flow-feedback.success{color:var(--green);background:rgba(52,211,153,.08);border:1px solid rgba(52,211,153,.35)}.flow-feedback.failure{color:var(--amber);background:rgba(252,211,77,.08);border:1px solid rgba(252,211,77,.35)}.flow-execution{padding:16px;background:#0d1a29;border-left:1px solid #2d4054}.flow-input-editor{width:100%;min-height:55px;resize:vertical;background:#07111f;color:#fcd34d;border:1px solid #365069;border-radius:6px;padding:8px;font:12px/1.5 "JetBrains Mono",monospace}.flow-stage{margin-top:15px;padding:12px;border:1px solid #365069;border-radius:8px;background:linear-gradient(145deg,#102438,#0a1623);min-height:150px}.flow-stage.flow-stage-pulse{animation:flowStageIn .4s ease-out}.flow-stage-label{color:#fcd34d;font:10px "JetBrains Mono",monospace;text-transform:uppercase}.flow-stage h4{margin:9px 0 3px;color:#e6edf5;font-size:14px}.flow-stage p{margin:0;color:#8fa6c0;font-size:12px}.flow-memory{display:flex;flex-wrap:wrap;gap:5px;margin-top:13px;min-height:26px}.flow-output{margin-top:10px;color:#fcd34d;font:12px "JetBrains Mono",monospace}.flow-output:before{content:"stdout: ";color:#718ba3}.memory-card{display:flex;gap:5px;align-items:center;padding:4px 6px;border:1px solid rgba(52,211,153,.4);border-radius:4px;background:rgba(52,211,153,.08);animation:memoryIn .35s ease-out}.memory-card b{color:#a7f3d0;font-weight:600}.memory-card em{color:#fcd34d;font-style:normal}.memory-empty{color:#5f7991;font:11px "JetBrains Mono",monospace}.flow-input-row{display:flex;gap:7px;align-items:center;margin-top:12px}.flow-input-row .flow-select{flex:1}.flow-demo-stage{padding:16px;border:1px solid #2d4054;border-radius:10px;background:#0a1523}.flow-demo-stage.flow-stage-pulse{animation:flowStageIn .4s ease-out}.flow-demo-status{display:flex;align-items:center;gap:8px;color:#e6edf5;font-size:14px}.flow-demo-status:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px rgba(34,211,238,.7)}.flow-demo-detail{margin:5px 0 14px;color:#8fa6c0;font-size:12px}.flow-demo-state{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flow-demo-state>div{padding:9px;border:1px solid #2d4054;border-radius:6px;background:#07111f}.flow-demo-state span{display:block;color:#718ba3;font:10px "JetBrains Mono",monospace;text-transform:uppercase;margin-bottom:6px}.flow-demo-state pre{margin:0;color:#fcd34d;font:12px "JetBrains Mono",monospace;white-space:pre-wrap}.flow-code-line{display:block;padding:3px 8px;border-radius:4px;color:#b9c9d8;font:12px/1.6 "JetBrains Mono",monospace}.flow-code-line.active{background:rgba(34,211,238,.15);color:#22d3ee}.flow-code{padding:10px;background:#07111f;border:1px solid #2d4054;border-radius:8px}
@keyframes flowStageIn{0%{opacity:.4;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}@keyframes arrowPulse{0%,100%{opacity:.45}50%{opacity:1;color:var(--cyan)}}@keyframes flowShake{0%,100%{transform:translateX(0)}35%{transform:translateX(-4px)}70%{transform:translateX(4px)}}
@media(max-width:900px){.flow-constructor-grid{grid-template-columns:190px minmax(0,1fr)}.flow-execution{grid-column:1/-1;border-left:0;border-top:1px solid #2d4054}.flow-stage{min-height:120px}}
@media(max-width:620px){.flow-theory-grid{grid-template-columns:1fr}.flow-constructor-grid{grid-template-columns:1fr}.flow-palette{border-right:0;border-bottom:1px solid #2d4054}.flow-palette button{display:inline-flex;width:calc(50% - 5px);margin-right:5px}.flow-canvas{min-height:310px}.flow-demo-state{grid-template-columns:1fr}.flow-diagram-demo{padding:12px 8px}.flow-node{min-width:98px}.flow-arrow-large{font-size:16px}}
.graph-constructor{margin-top:18px;border:1px solid #2d4054;border-radius:14px;background:#081421;overflow:hidden;box-shadow:0 16px 36px rgba(0,0,0,.18)}
.graph-toolbar{display:flex;gap:18px;flex-wrap:wrap;padding:16px;background:#101f30;border-bottom:1px solid #2d4054}.graph-toolbar label{display:grid;gap:6px;min-width:220px}.graph-toolbar label span,.graph-stage-label,.graph-work-head,.graph-output>span{color:#8fa6c0;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.graph-select{width:100%;padding:9px 11px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#e6edf5;font:13px "Manrope",sans-serif;outline:0}.graph-select:focus{border-color:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.08)}
.graph-brief{padding:15px 18px;border-bottom:1px solid #2d4054;background:linear-gradient(100deg,rgba(34,211,238,.06),rgba(252,211,77,.04))}.graph-brief strong{display:block;color:#e6edf5;font-size:15px}.graph-brief p{margin:5px 0 0;color:#8fa6c0;font-size:13px;line-height:1.5}
.graph-layout{display:grid;grid-template-columns:190px minmax(360px,1fr) 280px;align-items:stretch}.graph-panel{min-width:0}.graph-palette{padding:16px;border-right:1px solid #2d4054}.graph-palette h3,.graph-execution h3{margin:0 0 6px;color:#e6edf5;font-size:15px}.graph-palette>p,.graph-execution>p{margin:0 0 14px;color:#8fa6c0;font-size:12px;line-height:1.5}.graph-palette button{display:flex;align-items:center;gap:9px;width:100%;margin:7px 0;padding:9px;border:1px solid #365069;border-radius:8px;background:#0d1a29;color:#d6e2ed;text-align:left;cursor:grab;transition:.15s}.graph-palette button:hover,.graph-palette button.selected{border-color:#22d3ee;background:rgba(34,211,238,.08);color:#22d3ee}.graph-palette button.dragging{opacity:.5}.graph-palette button b,.graph-palette button small{display:block}.graph-palette button b{font-size:12px}.graph-palette button small{margin-top:2px;color:#8fa6c0;font-size:10px}.graph-palette-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;height:30px;border:1px solid currentColor;border-radius:6px;color:#22d3ee;font:700 10px "JetBrains Mono",monospace}.graph-palette button[data-type="condition"] .graph-palette-mark{color:#fcd34d;transform:rotate(45deg);border-radius:3px}.graph-palette button[data-type="condition"] .graph-palette-mark::first-line{transform:rotate(-45deg)}.graph-palette button[data-type="output"] .graph-palette-mark{color:#34d399;border-radius:16px}
.graph-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px}.graph-palette .graph-actions{display:grid}.graph-palette .graph-actions .btn-c{font-size:11px}.graph-work{background:#07111f}.graph-work-head{display:flex;justify-content:space-between;padding:12px 15px;border-bottom:1px solid #2d4054}.graph-workspace{min-height:500px;padding:22px 18px;overflow:auto;background-image:radial-gradient(rgba(143,166,192,.13) 1px,transparent 1px);background-size:18px 18px}.graph-root-drop{max-width:260px;margin:100px auto}.graph-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:190px;min-height:58px;padding:9px 12px;border:1px dashed #46647d;border-radius:9px;background:rgba(13,26,41,.88);color:#8fa6c0;text-align:center;transition:.15s}.graph-dropzone:hover,.graph-dropzone.drag-over{border-color:#22d3ee;background:rgba(34,211,238,.1);color:#22d3ee;transform:translateY(-1px)}.graph-dropzone.missing{border-color:#fb7185;color:#fb7185;animation:flowShake .3s ease-out}.drop-plus{font:22px/1 "JetBrains Mono",monospace;color:#22d3ee}.graph-dropzone b{color:#d6e2ed;font-size:13px}.graph-dropzone small{margin-top:4px;color:#718ba3;font-size:10px;line-height:1.3}.graph-node{width:min(100%,250px);margin:0 auto;padding:10px 12px;border:1px solid #365069;border-radius:9px;background:#0d1a29;color:#d6e2ed;text-align:center;box-shadow:0 8px 16px rgba(0,0,0,.14);transition:.2s}.graph-node.active{border-color:#22d3ee;background:rgba(34,211,238,.12);box-shadow:0 0 0 3px rgba(34,211,238,.12),0 8px 18px rgba(0,0,0,.18);animation:flowStageIn .35s ease-out}.graph-node.invalid{border-color:#fb7185;background:rgba(251,113,133,.08);animation:flowShake .3s ease-out}.graph-node-condition{border-color:#c39b36;background:rgba(252,211,77,.08)}.graph-node-output{border-color:#329b78;background:rgba(52,211,153,.06)}.graph-node-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.graph-node-kind,.branch-label,.next-label{color:#8fa6c0;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.graph-node-condition .graph-node-kind{color:#fcd34d}.graph-node-output .graph-node-kind{color:#34d399}.graph-node strong{font-size:13px}.graph-remove{border:0;background:transparent;color:#718ba3;font-size:18px;line-height:1;cursor:pointer}.graph-remove:hover{color:#fb7185}.graph-next{padding-top:10px}.next-label{display:block;margin-bottom:6px;color:#5f7991;font-size:9px}.graph-branches{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.graph-branch{min-width:0;padding:8px 5px;border:1px solid #365069;border-radius:8px;background:rgba(7,17,31,.6)}.graph-branch.graph-yes{border-color:rgba(52,211,153,.42)}.graph-branch.graph-no{border-color:rgba(251,113,133,.38)}.graph-branch .graph-dropzone,.graph-branch>.graph-node{width:100%;min-width:0}.graph-yes .branch-label{color:#34d399}.graph-no .branch-label{color:#fb7185}.graph-loop{padding:10px;color:#fb7185;font:11px "JetBrains Mono",monospace}.graph-feedback{min-height:42px;padding:12px 15px;border-top:1px solid #2d4054;color:#8fa6c0;font-size:12px;line-height:1.5}.graph-feedback.success{color:#34d399;background:rgba(52,211,153,.05)}.graph-feedback.failure{color:#fb7185;background:rgba(251,113,133,.05)}
.graph-execution{padding:16px;border-left:1px solid #2d4054;background:#0a1523}.graph-input-editor{display:block;width:100%;min-height:58px;resize:vertical;margin:8px 0 12px;padding:9px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#fcd34d;font:12px/1.5 "JetBrains Mono",monospace;outline:0}.graph-input-editor:focus{border-color:#22d3ee}.graph-stage{min-height:278px;padding:12px;border:1px solid #2d4054;border-radius:9px;background:linear-gradient(145deg,#102438,#0a1623)}.graph-stage h4{margin:10px 0 4px;color:#e6edf5;font-size:14px}.graph-stage p{margin:0;color:#8fa6c0;font-size:12px;line-height:1.45}.graph-memory{display:flex;gap:6px;flex-wrap:wrap;min-height:34px;margin-top:15px}.graph-memory-card{display:flex;flex-direction:column;min-width:48px;padding:6px 8px;border:1px solid rgba(52,211,153,.4);border-radius:6px;background:rgba(52,211,153,.07);animation:memoryIn .25s ease-out}.graph-memory-card b{color:#8fa6c0;font:10px "JetBrains Mono",monospace}.graph-memory-card em{margin-top:2px;color:#a7f3d0;font:12px "JetBrains Mono",monospace;font-style:normal}.graph-output{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;margin-top:12px;padding:8px;border:1px solid rgba(252,211,77,.35);border-radius:6px;background:rgba(252,211,77,.06)}.graph-output strong{color:#fcd34d;font:700 13px "JetBrains Mono",monospace}.graph-code{margin:14px 0 0;padding:10px;min-height:75px;white-space:pre-wrap;color:#b9c9d8;border:1px solid #2d4054;border-radius:7px;background:#07111f;font:10px/1.55 "JetBrains Mono",monospace;overflow:auto}
@media(max-width:1120px){.graph-layout{grid-template-columns:190px minmax(0,1fr)}.graph-execution{grid-column:1/-1;border-top:1px solid #2d4054;border-left:0}.graph-stage{min-height:160px}.graph-code{min-height:50px}}
@media(max-width:620px){.graph-toolbar{display:grid;grid-template-columns:1fr;gap:10px}.graph-toolbar label{min-width:0}.graph-layout{display:block}.graph-palette{border-right:0;border-bottom:1px solid #2d4054}.graph-palette button{display:inline-flex;width:calc(50% - 5px);margin-right:5px;vertical-align:top}.graph-palette .graph-actions{display:flex}.graph-workspace{min-height:430px;padding:16px 9px}.graph-branches{grid-template-columns:1fr}.graph-execution{border-left:0}.graph-actions .btn-c{flex:1}.graph-feedback{min-height:50px}}
.branch-visualizer{margin-top:18px;padding:16px;border:1px solid #2d4054;border-radius:12px;background:#081421}.branch-demo-toolbar{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding-bottom:15px;border-bottom:1px solid #2d4054}.branch-demo-toolbar label{display:grid;gap:5px;min-width:190px}.branch-demo-toolbar label span,.branch-demo-state span{color:#8fa6c0;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.branch-demo-toolbar select{padding:8px 10px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#e6edf5;font:12px "Manrope",sans-serif}.branch-demo-route{display:grid;grid-template-columns:minmax(100px,150px) 28px minmax(130px,180px) minmax(260px,1fr);align-items:center;gap:8px;min-height:210px;padding:20px 4px}.branch-demo-node{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:58px;padding:10px;border:1px solid #365069;border-radius:8px;background:#0d1a29;color:#d6e2ed;text-align:center;transition:.25s}.branch-demo-node b{font-size:12px}.branch-demo-node small{margin-top:4px;color:#8fa6c0;font:11px "JetBrains Mono",monospace}.branch-demo-node.active{border-color:#22d3ee;background:rgba(34,211,238,.13);box-shadow:0 0 0 3px rgba(34,211,238,.1);animation:flowStageIn .35s ease-out}.branch-demo-condition{border-color:#c39b36;background:rgba(252,211,77,.08)}.branch-demo-paths{display:grid;grid-template-columns:1fr 1fr;gap:10px}.branch-demo-path{position:relative;padding:12px 8px 8px;border:1px solid #365069;border-radius:8px;background:rgba(7,17,31,.55);transition:.25s}.branch-demo-path>span{display:block;margin-bottom:8px;text-align:center;color:#8fa6c0;font:700 10px "JetBrains Mono",monospace}.branch-demo-path>i{position:absolute;top:50%;left:-15px;color:#5f7991;font:18px "JetBrains Mono",monospace;font-style:normal}.branch-demo-path.active{background:rgba(34,211,238,.08);border-color:#22d3ee}.branch-demo-path.active>span{color:#22d3ee}.branch-demo-path[data-branch-path="yes"]>span{color:#34d399}.branch-demo-path[data-branch-path="no"]>span{color:#fb7185}.branch-demo-state{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px;border-top:1px solid #2d4054}.branch-demo-state>div{min-height:62px;padding:10px;border:1px solid #2d4054;border-radius:7px;background:#0d1a29}.branch-demo-state p{margin:7px 0 0;color:#d6e2ed;font-size:12px;line-height:1.45}.branch-demo-state strong,.branch-demo-state em{display:block;margin-top:8px;color:#a7f3d0;font:12px "JetBrains Mono",monospace;font-style:normal}.branch-demo-state em{color:#fcd34d}
@media(max-width:760px){.branch-demo-route{grid-template-columns:1fr;justify-items:center}.branch-demo-route>.flow-arrow-large{transform:rotate(90deg)}.branch-demo-route>.branch-demo-node{width:min(100%,190px)}.branch-demo-paths{width:100%;grid-template-columns:1fr 1fr}.branch-demo-path>i{top:-17px;left:50%;transform:rotate(45deg)}}
@media(max-width:460px){.branch-demo-toolbar label{width:100%;min-width:0}.branch-demo-toolbar .btn-c{flex:1}.branch-demo-paths{grid-template-columns:1fr}.branch-demo-state{grid-template-columns:1fr}.branch-demo-path>i{display:none}}
.graph-palette button[data-type="loop"] .graph-palette-mark{color:#a78bfa;border-color:#a78bfa;font-size:16px}.graph-node-loop{border-color:#8b5cf6;background:rgba(139,92,246,.08)}.graph-node-loop .graph-node-kind{color:#c4b5fd}.graph-loop-branches{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.graph-loop-branch{min-width:0;padding:8px 5px;border:1px solid #365069;border-radius:8px;background:rgba(7,17,31,.6)}.graph-loop-branch .graph-dropzone,.graph-loop-branch>.graph-node{width:100%;min-width:0}.graph-loop-branch .branch-label{display:block;margin-bottom:6px}.graph-body{border-color:rgba(167,139,250,.5)}.graph-body .branch-label{color:#a78bfa}.graph-exit{border-color:rgba(52,211,153,.42)}.graph-exit .branch-label{color:#34d399}
@media(max-width:620px){.graph-loop-branches{grid-template-columns:1fr}}
.cycle-visualizer{margin-top:18px;padding:16px;border:1px solid #2d4054;border-radius:12px;background:#081421}.cycle-demo-toolbar{display:flex;align-items:end;gap:9px;flex-wrap:wrap;padding-bottom:15px;border-bottom:1px solid #2d4054}.cycle-demo-toolbar label{display:grid;gap:5px;min-width:210px}.cycle-demo-toolbar label span,.cycle-demo-state span{color:#8fa6c0;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.cycle-demo-toolbar select{padding:8px 10px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#e6edf5;font:12px "Manrope",sans-serif}.cycle-demo-state{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:14px}.cycle-demo-state>div{min-height:62px;padding:10px;border:1px solid #2d4054;border-radius:7px;background:#0d1a29}.cycle-demo-state p{margin:7px 0 0;color:#d6e2ed;font-size:12px;line-height:1.45}.cycle-demo-state strong,.cycle-demo-state em{display:block;margin-top:8px;color:#a7f3d0;font:12px "JetBrains Mono",monospace;font-style:normal}.cycle-demo-state em{color:#fcd34d}.flow-node-loop{border-color:#8b5cf6;background:rgba(139,92,246,.08)}.flow-node-loop strong{color:#c4b5fd}
@media(max-width:620px){.cycle-demo-toolbar label{width:100%;min-width:0}.cycle-demo-toolbar .btn-c{flex:1}.cycle-demo-state{grid-template-columns:1fr}}
.exam-visuals{margin-top:18px;padding:15px;border:1px solid #314b65;border-radius:14px;background:linear-gradient(135deg,#081421 0%,#10172c 48%,#0d1a29 100%);box-shadow:0 18px 45px rgba(0,0,0,.24)}.exam-visual-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.exam-visual-tabs button{min-height:64px;padding:10px;border:1px solid #365069;border-radius:9px;background:#0d1a29;color:#b9c9d8;text-align:left;cursor:pointer;transition:.2s}.exam-visual-tabs button b,.exam-visual-tabs button small{display:block}.exam-visual-tabs button b{font-size:12px}.exam-visual-tabs button small{margin-top:5px;color:#8fa6c0;font:10px "JetBrains Mono",monospace}.exam-visual-tabs button:nth-child(1).active{border-color:#22d3ee;background:linear-gradient(135deg,rgba(34,211,238,.18),rgba(34,211,238,.04));color:#67e8f9;box-shadow:0 0 18px rgba(34,211,238,.12)}.exam-visual-tabs button:nth-child(2).active{border-color:#a3e635;background:linear-gradient(135deg,rgba(163,230,53,.18),rgba(163,230,53,.04));color:#bef264;box-shadow:0 0 18px rgba(163,230,53,.1)}.exam-visual-tabs button:nth-child(3).active{border-color:#fb7185;background:linear-gradient(135deg,rgba(251,113,133,.18),rgba(251,113,133,.04));color:#fda4af;box-shadow:0 0 18px rgba(251,113,133,.1)}.exam-visual-panel{margin-top:12px;padding:14px;border:1px solid #263e58;border-radius:10px;background:rgba(5,14,26,.6)}.exam-visual-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}.exam-visual-kicker{color:#fcd34d;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.exam-visual-head h3{margin:6px 0 4px;color:#f8fafc;font-size:17px}.exam-visual-head p{max-width:680px;margin:0;color:#9fb4c8;font-size:12px;line-height:1.5}.exam-visual-badge{padding:6px 8px;border:1px solid #fcd34d;border-radius:7px;color:#fcd34d;font:10px "JetBrains Mono",monospace;white-space:nowrap}.exam-step-controls{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:14px}.exam-step-controls span{min-width:125px;color:#8fa6c0;font:10px "JetBrains Mono",monospace;text-align:center}.exam-step-controls .btn-c{font-size:11px}.exam-visual-state{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.exam-visual-state>div{min-height:68px;padding:10px;border:1px solid #304962;border-radius:8px;background:#0b1927}.exam-visual-state span{display:block;color:#718ba3;font:9px "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.06em}.exam-visual-state strong{display:block;margin-top:6px;color:#67e8f9;font:700 13px "JetBrains Mono",monospace}.exam-visual-state p{margin:5px 0 0;color:#c3d2df;font-size:12px;line-height:1.4}.exam-visual-state em{display:block;margin-top:6px;color:#bef264;font:12px "JetBrains Mono",monospace;font-style:normal}.exam-scheme{margin-top:12px;padding:10px;border-radius:8px;background:rgba(3,10,20,.7)}.exam-scheme .scheme-node{border-color:#3c5d7a;box-shadow:0 0 12px rgba(34,211,238,.04)}.exam-scheme .scheme-node-input{border-color:#fbbf24;background:rgba(251,191,36,.1)}.exam-scheme .scheme-node-input strong{color:#fcd34d}.exam-scheme .scheme-node-loop{border-color:#a78bfa;background:rgba(167,139,250,.13)}.exam-scheme .scheme-node-loop strong{color:#c4b5fd}.exam-scheme .scheme-node-condition{border-color:#fb7185;background:rgba(251,113,133,.12)}.exam-scheme .scheme-node-condition strong{color:#fda4af}.exam-scheme .scheme-node-process{border-color:#22d3ee;background:rgba(34,211,238,.1)}.exam-scheme .scheme-node-process strong{color:#67e8f9}.exam-scheme .scheme-node-output{border-color:#a3e635;background:rgba(163,230,53,.1)}.exam-scheme .scheme-node-output strong{color:#bef264}.exam-rule-row,.debug-switch{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.exam-rule-row button,.debug-switch button{padding:7px 10px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#b9c9d8;font:11px "Manrope",sans-serif;cursor:pointer}.exam-rule-row button.active,.debug-switch button.active{border-color:#a3e635;color:#bef264;background:rgba(163,230,53,.1)}.debug-switch button:first-child.active{border-color:#fb7185;color:#fda4af;background:rgba(251,113,133,.1)}.exam-token-stream{display:flex;gap:7px;flex-wrap:wrap;margin-top:14px;padding:12px;border:1px solid #263e58;border-radius:8px;background:#07111f}.exam-token{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:47px;min-height:48px;padding:6px;border:1px solid #365069;border-radius:8px;background:#0d1a29;color:#8fa6c0;transition:.25s}.exam-token b{font:700 14px "JetBrains Mono",monospace}.exam-token small{margin-top:4px;font:9px "JetBrains Mono",monospace}.exam-token.current{border-color:#fcd34d;color:#fcd34d;background:rgba(252,211,77,.13);box-shadow:0 0 15px rgba(252,211,77,.16);transform:translateY(-3px)}.exam-token.accepted{border-color:#a3e635;color:#bef264;background:rgba(163,230,53,.12);box-shadow:0 0 12px rgba(163,230,53,.1)}.exam-token.rejected{border-color:#fb7185;color:#fda4af;background:rgba(251,113,133,.08)}.exam-token.pending{opacity:.45}.mini-lab-output.success{color:#bef264}.mini-lab-output.failure{color:#fda4af}
@media(max-width:620px){.exam-visual-tabs{grid-template-columns:1fr}.exam-visual-tabs button{min-height:0}.exam-visual-head{display:block}.exam-visual-badge{display:inline-block;margin-top:10px}.exam-visual-state{grid-template-columns:1fr}.exam-step-controls span{min-width:0;flex:1}.exam-step-controls .btn-c{padding-left:8px;padding-right:8px}.exam-scheme{padding:5px}}
.flow-shape-icon.loop{border-radius:22px;border-color:#a78bfa;color:#a78bfa;background:rgba(167,139,250,.08)}
.graph-loop-return{display:block;margin-top:7px;color:#8fa6c0;font:9px/1.3 "JetBrains Mono",monospace;text-align:center}
.mini-lab{margin-top:18px;padding:15px;border:1px solid #2d4054;border-radius:12px;background:#081421;box-shadow:0 12px 26px rgba(0,0,0,.14)}.mini-lab-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:12px}.mini-lab-head span{color:#fcd34d;font:10px "JetBrains Mono",monospace;letter-spacing:.06em;text-transform:uppercase}.mini-lab-head strong{color:#e6edf5;font-size:15px}.mini-choice-row{display:flex;gap:7px;flex-wrap:wrap}.mini-choice{padding:8px 10px;border:1px solid #365069;border-radius:7px;background:#0d1a29;color:#b9c9d8;font-size:12px;cursor:pointer;transition:.15s}.mini-choice:hover,.mini-choice.selected{border-color:#22d3ee;color:#22d3ee;background:rgba(34,211,238,.08)}.mini-lab-output{min-height:23px;margin-top:11px;color:#a7f3d0;font-size:13px;line-height:1.5}.range-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.range-control{display:grid;gap:7px;color:#d6e2ed;font-size:12px}.range-control span{font:12px "JetBrains Mono",monospace}.range-control b{color:#fcd34d}.range-control input{width:100%;accent-color:#22d3ee}.scheme-canvas{margin-top:13px;padding:16px 10px;border:1px solid #2d4054;border-radius:9px;background:#07111f;overflow:auto}.scheme-canvas-wide{min-height:390px}.scheme-vertical{display:flex;flex-direction:column;align-items:center;min-width:270px}.scheme-node{display:flex;flex-direction:column;align-items:center;justify-content:center;width:min(100%,230px);min-height:50px;padding:8px 12px;border:1px solid #365069;border-radius:7px;background:#0d1a29;color:#d6e2ed;text-align:center;transition:.2s}.scheme-node strong{font:700 12px "JetBrains Mono",monospace;color:#22d3ee}.scheme-node small{margin-top:4px;color:#8fa6c0;font-size:11px;line-height:1.3}.scheme-node-input{clip-path:polygon(8% 0,100% 0,92% 100%,0 100%)}.scheme-node-process{border-radius:3px}.scheme-node-condition{border-color:#c39b36;background:rgba(252,211,77,.08);color:#fcd34d;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);min-height:70px}.scheme-node-condition strong{color:#fcd34d}.scheme-node-output{border-radius:22px;border-color:#329b78;background:rgba(52,211,153,.06)}.scheme-node-loop{border-color:#8b5cf6;background:rgba(139,92,246,.08);border-radius:18px}.scheme-node-loop strong{color:#c4b5fd}.scheme-node.active{border-color:#22d3ee;box-shadow:0 0 0 3px rgba(34,211,238,.12);background:rgba(34,211,238,.12);animation:flowStageIn .3s ease-out}.scheme-node-condition.active{border-color:#fcd34d;background:rgba(252,211,77,.16)}.scheme-arrow{height:29px;color:#5f96b3;font:22px/29px "JetBrains Mono",monospace}.scheme-branch-row{position:relative;display:grid;grid-template-columns:minmax(135px,1fr) minmax(135px,1fr);gap:14px;width:min(100%,540px);padding-top:26px}.scheme-branch-row::before{content:"";position:absolute;top:11px;left:25%;right:25%;height:1px;background:#46647d}.scheme-path{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding-top:7px;border:1px solid #365069;border-radius:8px;background:rgba(7,17,31,.72)}.scheme-path::before{content:"";position:absolute;top:-16px;left:50%;width:1px;height:16px;background:#46647d}.scheme-path>i{position:absolute;top:-13px;color:#8fa6c0;font:16px/1 "JetBrains Mono",monospace;font-style:normal}.scheme-path-left>i{left:calc(50% - 15px)}.scheme-path-right>i{left:calc(50% + 4px)}.scheme-route-label{display:block;color:#8fa6c0;font:700 10px "JetBrains Mono",monospace;letter-spacing:.05em}.scheme-path-left .scheme-route-label{color:#34d399}.scheme-path-right .scheme-route-label{color:#fb7185}.scheme-path.active{border-color:#22d3ee;background:rgba(34,211,238,.08)}.scheme-path.active .scheme-route-label{color:#22d3ee}.scheme-path .scheme-node{width:calc(100% - 12px);margin-bottom:7px}.scheme-return{display:block;margin:0 6px 8px;color:#8fa6c0;font:9px/1.3 "JetBrains Mono",monospace;text-align:center}.scheme-nested{width:100%;padding:5px}.scheme-nested>.scheme-node{width:100%}.scheme-nested .scheme-branch-row{width:100%;gap:7px}.trace-controls{display:flex;align-items:center;justify-content:center;gap:10px}.trace-controls span{min-width:110px;color:#8fa6c0;font:11px "JetBrains Mono",monospace;text-align:center}.trace-controls .btn-c{min-width:98px}
@media(max-width:620px){.range-grid{grid-template-columns:1fr}.mini-lab{padding:12px}.scheme-canvas{padding:12px 5px}.scheme-branch-row{gap:7px;min-width:280px}.scheme-node{min-height:46px;padding:7px 8px}.scheme-node strong{font-size:10px}.scheme-node small{font-size:9px}.scheme-path .scheme-node{width:calc(100% - 8px)}.trace-controls .btn-c{min-width:0}.trace-controls span{min-width:0;flex:1;font-size:10px}}
.scheme-node-io{clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);border-color:#22d3ee;background:rgba(34,211,238,.09)}.scheme-node-terminal{border-radius:26px;border-color:#34d399;background:rgba(52,211,153,.09)}.scheme-node-terminal strong{color:#6ee7b7}.scheme-node-io.active,.scheme-node-terminal.active{border-color:#fcd34d;background:rgba(252,211,77,.14);box-shadow:0 0 0 3px rgba(252,211,77,.1)}.flow-node-input,.flow-node-output{clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)}.flow-node-output{border-color:#34d399;background:rgba(52,211,153,.08)}.flow-node-terminal{border-radius:25px;border-color:#34d399;background:rgba(52,211,153,.08)}.flow-node-terminal strong,.flow-node-output strong{color:#6ee7b7}.flow-shape-icon.io{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border-color:#22d3ee;color:#22d3ee}.flow-shape-icon.terminal{border-radius:22px;border-color:#34d399;color:#34d399;background:rgba(52,211,153,.08)}.representation-card,.representation-code{margin:0;padding:15px;border:1px solid #365069;border-radius:8px;background:#0d1a29;color:#d6e2ed;font:12px/1.8 "JetBrains Mono",monospace;white-space:pre-wrap}.representation-table{display:grid;grid-template-columns:100px minmax(120px,1fr);overflow:hidden;border:1px solid #365069;border-radius:8px}.representation-table>*{padding:8px 10px;border-bottom:1px solid #263e58}.representation-table span{background:#13283c;color:#8fa6c0;font:10px "JetBrains Mono",monospace;text-transform:uppercase}.representation-table b{color:#67e8f9;font:11px "JetBrains Mono",monospace}.representation-table em{color:#d6e2ed;font:12px "JetBrains Mono",monospace;font-style:normal}.graph-node-input,.graph-node-output{clip-path:polygon(7% 0,100% 0,93% 100%,0 100%)}.graph-node-output{border-color:#34d399;background:rgba(52,211,153,.08)}.exam-scheme .scheme-node-io{border-color:#22d3ee;background:rgba(34,211,238,.1)}.exam-scheme .scheme-node-io strong{color:#67e8f9}.exam-scheme .scheme-node-terminal{border-color:#34d399;background:rgba(52,211,153,.1)}.exam-scheme .scheme-node-terminal strong{color:#6ee7b7}
.flow-diagram-vertical{flex-direction:column;flex-wrap:nowrap}.flow-diagram-vertical .flow-arrow-large{line-height:1}
.branch-demo-route{display:flex;flex-direction:column;align-items:center;gap:8px}.branch-demo-route>.flow-arrow-large{line-height:1}.branch-demo-route>.branch-demo-node{width:min(100%,190px)}.branch-demo-paths{width:min(100%,520px)}.branch-demo-terminal{border-radius:24px;border-color:#34d399;background:rgba(52,211,153,.08)}.branch-demo-output{clip-path:polygon(9% 0,100% 0,91% 100%,0 100%)}
.trace-prediction{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:12px;padding:11px;border:1px solid #c39b36;border-radius:9px;background:rgba(252,211,77,.07);color:#d6e2ed;font-size:12px}.trace-prediction input{width:72px;padding:7px;border:1px solid #526b83;border-radius:6px;background:#07111f;color:#f8fafc;font:13px "JetBrains Mono",monospace}.trace-prediction span{color:#fcd34d}.trace-table{display:grid;grid-template-columns:minmax(95px,.8fr) minmax(100px,1fr) minmax(75px,.7fr);margin-top:11px;overflow:hidden;border:1px solid #2d4054;border-radius:8px}.trace-table>span,.trace-table>b,.trace-table>em{padding:7px 9px;border-bottom:1px solid #263e58}.trace-table>span{background:#13283c;color:#8fa6c0;font:9px "JetBrains Mono",monospace;text-transform:uppercase}.trace-table>b{color:#67e8f9;font-size:11px}.trace-table>em{color:#d6e2ed;font:11px "JetBrains Mono",monospace;font-style:normal}.trace-table>*:nth-last-child(-n+3){border-bottom:0}@media(max-width:620px){.trace-prediction{align-items:stretch}.trace-prediction label{width:100%}.trace-table>span,.trace-table>b,.trace-table>em{padding:6px 5px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.flow-stage-pulse,.scheme-node.active,.graph-node.active,.exam-token.current{animation:none!important;transition:none!important}.flow-node,.graph-node,.scheme-node,.exam-token{transition:none!important}}
.graph-toolbar>.btn-c{align-self:end;margin:0 0 1px}.graph-node-config-label{display:grid;gap:5px;margin:9px 0 2px;color:#8fa6c0;font:9px "JetBrains Mono",monospace;text-align:left;text-transform:uppercase}.graph-node-config{width:100%;min-height:34px;padding:6px;border:1px solid #365069;border-radius:6px;background:#07111f;color:#e6edf5;font:10px "JetBrains Mono",monospace;outline:none}.graph-node-config:focus{border-color:#22d3ee;box-shadow:0 0 0 2px rgba(34,211,238,.12)}.graph-auto-start{display:flex;flex-direction:column;align-items:center;gap:5px;margin:0 auto 8px;color:#5f96b3;font:18px "JetBrains Mono",monospace}.graph-auto-start span,.graph-auto-terminal span{padding:7px 22px;border:1px solid #34d399;border-radius:22px;background:rgba(52,211,153,.08);color:#6ee7b7;font:700 10px "JetBrains Mono",monospace;text-transform:uppercase}.graph-auto-terminal{display:flex;flex-direction:column;align-items:center;gap:5px;margin-top:9px;color:#5f96b3;font:18px "JetBrains Mono",monospace}.graph-dropzone:focus{border-color:#22d3ee;outline:3px solid rgba(34,211,238,.14)}
.branch-demo-input{clip-path:polygon(9% 0,100% 0,91% 100%,0 100%);border-color:#22d3ee;background:rgba(34,211,238,.08)}.branch-demo-condition{width:190px!important;min-height:92px;padding:24px 32px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-radius:0}.shape-gallery{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));align-items:center;gap:10px}.shape-gallery .scheme-node{width:100%;min-width:0}.cycle-demo-toolbar input{padding:8px 10px;border:1px solid #365069;border-radius:7px;background:#07111f;color:#e6edf5;font:12px "JetBrains Mono",monospace}.flow-prediction-row{justify-content:center;margin-bottom:12px}.exam-prediction{margin-top:12px}.exam-inner-branch{width:100%;min-width:0}.exam-inner-branch .scheme-path{min-width:125px}.scheme-skip{display:flex;align-items:center;justify-content:center;min-height:48px;padding:8px;border:1px dashed #526b83;border-radius:7px;color:#8fa6c0;font:10px "JetBrains Mono",monospace}.exam-loop-scheme{min-width:600px}@media(max-width:760px){.branch-demo-route>.flow-arrow-large{transform:none}.shape-gallery{grid-template-columns:repeat(2,minmax(115px,1fr))}}@media(max-width:620px){#quadraticScheme .scheme-path:not(.active){display:none}#quadraticScheme .scheme-branch-row{grid-template-columns:1fr;min-width:0;width:100%}#quadraticScheme .scheme-path.active{width:100%;padding-left:2px;padding-right:2px}#quadraticScheme .scheme-path>i{display:none}#quadraticScheme .scheme-node small{font-size:10px}.exam-loop-scheme{min-width:520px}.cycle-demo-toolbar input{width:100%}.branch-demo-condition{width:170px!important;min-height:84px}.shape-gallery{grid-template-columns:1fr 1fr}}
.chapter-jump-nav{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 4px;padding:10px;border:1px solid #2d4054;border-radius:10px;background:#081421}.chapter-jump-nav a{padding:7px 9px;border:1px solid #365069;border-radius:7px;color:#b9c9d8;font:10px "JetBrains Mono",monospace;text-decoration:none}.chapter-jump-nav a:hover,.chapter-jump-nav a:focus{border-color:#22d3ee;color:#67e8f9;text-decoration:none}
.graph-node-type{display:flex;align-items:center;gap:7px}.graph-node-shape{display:inline-block;width:24px;height:16px;border:1px solid #22d3ee;background:rgba(34,211,238,.08)}.graph-node-shape-input,.graph-node-shape-output{clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}.graph-node-shape-process{border-radius:1px}.graph-node-shape-condition{width:20px;height:20px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);border-color:#fcd34d;background:rgba(252,211,77,.1)}
.flow-shape-icon.output{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border-radius:0;border-color:#22d3ee;color:#22d3ee;background:rgba(34,211,238,.08)}
.graph-palette button[data-type="input"] .graph-palette-mark,.graph-palette button[data-type="output"] .graph-palette-mark{clip-path:polygon(12% 0,100% 0,88% 100%,0 100%);border-radius:0;color:#22d3ee}.graph-palette button[data-type="condition"] .graph-palette-mark,.graph-palette button[data-type="loop"] .graph-palette-mark{width:30px;height:30px;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);transform:none;border-radius:0;color:#fcd34d;border-color:#fcd34d;font-size:11px}
.exam-scheme{max-width:100%;overflow:auto;overscroll-behavior-inline:contain}
.theory-check{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding:13px;border:1px solid #365069;border-radius:10px;background:#07111f}.theory-check h4,.theory-check>p,.theory-check>span{grid-column:1/-1;margin:0}.theory-check h4{color:#fcd34d}.theory-check>p,.theory-check>span{color:#8fa6c0;font-size:11px}.theory-check label{display:grid;gap:6px;color:#d6e2ed;font-size:11px}.theory-check select{padding:8px;border:1px solid #365069;border-radius:7px;background:#0d1a29;color:#e6edf5}.theory-check .btn-c{grid-column:1/-1;justify-self:start}@media(max-width:620px){.theory-check{grid-template-columns:1fr}}

/* DOM-based diagrams and players use the active shared palette. */
.flow-diagram-demo,.scheme-canvas,.graph-work,.graph-workspace,.graph-code,.graph-input-editor,.flow-code,.trace-table,.theory-check{background-color:var(--bg);border-color:var(--line);color:var(--ink)}
.flow-demo-stage,.branch-visualizer,.cycle-visualizer,.graph-constructor,.mini-lab,.exam-visuals,.chapter-jump-nav{border-color:var(--line);background:var(--bg2)}
.flow-node,.scheme-node,.graph-node,.branch-demo-node,.branch-demo-path,.graph-dropzone,.graph-loop-branch,.cycle-demo-state>div,.exam-visual-panel,.exam-visual-tabs button,.representation-card,.representation-code{border-color:var(--line);background:var(--panel);color:var(--ink)}
.flow-node small,.scheme-node small,.graph-node small,.branch-demo-node small,.branch-demo-state span,.cycle-demo-state span,.graph-work-head,.graph-stage p,.exam-visual-head p,.mini-lab-head strong,.trace-table>span,.trace-table>em,.chapter-jump-nav a{color:var(--muted)}
.flow-node strong,.scheme-node strong,.graph-node-kind,.trace-table>b{color:var(--cyan)}
.graph-toolbar,.graph-brief,.flow-demo-state>div,.branch-demo-state>div,.exam-visual-state>div{border-color:var(--line);background:var(--panel)}
.graph-select,.graph-node-config,.branch-demo-toolbar select,.cycle-demo-toolbar select,.cycle-demo-toolbar input,.trace-prediction input,.theory-check select{border-color:var(--line);background:var(--panel);color:var(--ink)}
.graph-stage{border-color:var(--line);background:linear-gradient(145deg,var(--panel2),var(--panel))}
.flow-arrow-large,.scheme-arrow,.scheme-return,.graph-loop-return{color:var(--muted)}

/* Theme-safe text and state surfaces for the chapter players. */
.flow-demo-status,.graph-brief strong,.graph-palette h3,.graph-execution h3,.graph-stage h4,.mini-lab-head strong,.exam-visual-head h3{color:var(--ink)}
.flow-demo-detail,.branch-demo-state p,.cycle-demo-state p,.graph-brief p,.graph-palette>p,.graph-execution>p,.graph-dropzone small,.graph-stage p,.chapter-jump-nav a{color:var(--muted)}
.flow-demo-state>div,.branch-demo-state>div,.cycle-demo-state>div{border-color:var(--line);background:var(--panel);color:var(--ink)}
.flow-demo-state span,.branch-demo-state span,.cycle-demo-state span,.graph-output>span{color:var(--muted)}
.flow-demo-state>div:first-child pre,.branch-demo-state strong,.cycle-demo-state strong,.graph-memory-card em{color:var(--green)}
.flow-demo-state>div:last-child pre,.branch-demo-state em,.cycle-demo-state em,.graph-output strong{color:var(--amber)}
.flow-code,.graph-code{border-color:var(--line);background:var(--bg);color:var(--ink)}
.flow-code-line{color:var(--ink)}

.mini-lab{color:var(--ink)}
.mini-lab-head span,.range-control b,.trace-prediction span,.theory-check h4{color:var(--amber)}
.mini-choice{border-color:var(--line);background:var(--panel);color:var(--ink)}
.mini-choice:hover,.mini-choice.selected{border-color:var(--cyan);background:var(--panel2);color:var(--ink)}
.mini-lab-output{color:var(--ink)}
.mini-lab-output.success{color:var(--green)}.mini-lab-output.failure{color:var(--red)}
.range-control,.trace-prediction,.theory-check label{color:var(--ink)}
.trace-prediction,.theory-check{border-color:var(--line);background:var(--bg)}

.flow-node.active,.scheme-node.active,.graph-node.active,.branch-demo-node.active,.branch-demo-path.active{border-color:var(--cyan);background:var(--panel2);color:var(--ink)}
.flow-node-terminal,.flow-node-output,.scheme-node-terminal,.graph-node-output,.branch-demo-terminal{border-color:var(--green);background:var(--panel)}
.flow-node-terminal strong,.flow-node-output strong,.scheme-node-terminal strong,.graph-auto-start span,.graph-auto-terminal span{color:var(--green)}
.flow-node-condition,.scheme-node-condition,.graph-node-condition,.branch-demo-condition{border-color:var(--amber);background:var(--panel)}
.flow-node-condition strong,.scheme-node-condition strong,.branch-demo-condition b{color:var(--amber)}
.flow-node-loop,.graph-node-loop{border-color:var(--violet);background:var(--panel)}
.flow-node-loop strong,.graph-node-loop .graph-node-kind,.graph-body .branch-label{color:var(--violet)}
.branch-demo-path[data-branch-path="yes"].active{border-color:var(--green);background:var(--panel2)}
.branch-demo-path[data-branch-path="no"].active{border-color:var(--red);background:var(--panel2)}

.graph-toolbar,.graph-brief,.graph-palette,.graph-execution{border-color:var(--line);background:var(--panel)}
.graph-palette button,.graph-dropzone,.graph-loop-branch{border-color:var(--line);background:var(--panel2);color:var(--ink)}
.graph-palette button:hover,.graph-palette button.selected,.graph-dropzone:hover,.graph-dropzone.drag-over{border-color:var(--cyan);background:var(--panel);color:var(--ink)}
.graph-palette button small,.graph-node-config-label,.graph-work-head,.graph-stage-label,.graph-memory-card b{color:var(--muted)}
.graph-palette-mark,.drop-plus,.graph-node-kind{color:var(--cyan)}
.graph-palette button[data-type="condition"] .graph-palette-mark,.graph-palette button[data-type="loop"] .graph-palette-mark{border-color:var(--amber);color:var(--amber)}
.graph-palette button[data-type="output"] .graph-palette-mark{border-color:var(--green);color:var(--green)}
.graph-dropzone b,.graph-node,.graph-node-config,.graph-input-editor{color:var(--ink)}
.graph-feedback{color:var(--muted)}.graph-feedback.success{color:var(--green)}.graph-feedback.failure{color:var(--red)}
.graph-memory-card,.graph-output{background:var(--panel);border-color:var(--line)}

.scheme-canvas,.flow-diagram-demo{color:var(--ink)}
.scheme-node,.flow-node,.branch-demo-node,.representation-card,.representation-code{color:var(--ink)}
.scheme-node small,.flow-node small,.branch-demo-node small,.scheme-return,.scheme-skip{color:var(--muted)}
.representation-table{border-color:var(--line)}
.representation-table>*{border-color:var(--line)}
.representation-table span,.trace-table>span{background:var(--panel2);color:var(--muted)}
.representation-table b,.trace-table>b{color:var(--cyan)}
.representation-table em,.trace-table>em{color:var(--ink)}
.theory-check>p,.theory-check>span{color:var(--muted)}

.flow-shape-icon{border-color:var(--cyan);background:var(--panel2);color:var(--cyan)}
.flow-shape-icon.io,.flow-shape-icon.output{border-color:var(--cyan);background:var(--panel2);color:var(--cyan)}
.flow-shape-icon.terminal{border-color:var(--green);background:var(--panel2);color:var(--green)}
.flow-shape-icon.condition{border-color:var(--amber);background:var(--panel2);color:var(--amber)}
.flow-shape-icon.loop{border-color:var(--violet);background:var(--panel2);color:var(--violet)}

.scheme-path{border-color:var(--line);background:var(--panel)}
.scheme-path.active{border-color:var(--cyan);background:var(--panel2)}
.scheme-route-label,.scheme-path>i,.flow-node-index,.branch-demo-path>i{color:var(--muted)}
.scheme-path-left.active>.scheme-route-label{color:var(--green)!important}
.scheme-path-right.active>.scheme-route-label{color:var(--red)!important}
.scheme-return{color:var(--muted)!important}
.scheme-node-io{border-color:var(--cyan);background:var(--panel);color:var(--ink)}
.scheme-node-process{border-color:var(--line);background:var(--panel);color:var(--ink)}
.scheme-node-io.active,.scheme-node-terminal.active{border-color:var(--cyan);background:var(--panel2)}
.memory-empty{color:var(--muted)}

.graph-toolbar label span,.graph-stage-label,.graph-work-head,.graph-output>span{color:var(--muted)}
.graph-palette button[data-type="input"] .graph-palette-mark,.graph-palette button[data-type="output"] .graph-palette-mark{border-color:var(--cyan);background:var(--panel);color:var(--cyan)}
.graph-palette button[data-type="output"] .graph-palette-mark{border-color:var(--green);color:var(--green)}
.trace-controls span,.branch-demo-toolbar label span,.cycle-demo-toolbar label span{color:var(--muted)}
body .mini-lab .scheme-canvas .scheme-path .scheme-route-label{color:var(--ink)!important}
body .cycle-visualizer .scheme-path .scheme-route-label{color:var(--ink)!important}
#branchDemo .branch-demo-path[data-branch-path]>span{color:var(--ink)!important}
