html[data-theme="light"] .model-layout.model-with-loop {
  max-width: none;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  gap: 40px;
}
.operating-loop {
  position: sticky;
  top: 120px;
  margin: 24px 0 0;
  min-width: 0;
  align-self: start;
}
.operating-loop-stage { position: relative; width: 100%; aspect-ratio: 1; }
.operating-loop-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.operating-loop-poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; visibility: hidden; }
.operating-loop.has-poster:not(.is-rendered) .operating-loop-poster { visibility: visible; }
.operating-loop.has-poster:not(.is-rendered) .operating-loop-label,
.operating-loop.has-poster:not(.is-rendered) .operating-loop-track { visibility: hidden; }
.operating-loop-track {
  position: absolute; inset: 23% 15% 25%; border: 1px solid #777;
  border-radius: 50%; transform: rotate(-8deg);
  box-shadow: 0 12px 0 -10px #ddd;
}
.operating-loop-label {
  position: absolute; left: var(--x); top: var(--y); z-index: 1;
  transform: translate(-50%, -50%); text-align: center; width: 132px;
  pointer-events: none; color: #555;
}
.operating-loop-label span {
  display: grid; place-items: center; margin: 0 auto 13px;
  width: 52px; height: 45px; border: 1px solid #444; border-radius: 8px;
  background: #171717; box-shadow: 0 5px 0 #060606, 0 14px 24px #0000001a;
  font: 500 12px 'Geist', sans-serif; color: #fff;
}
.operating-loop-label strong { display: block; font: 500 13px/1.4 'Geist', sans-serif; }
.operating-loop.is-rendered .operating-loop-track { display: none; }
.operating-loop.is-rendered .operating-loop-label span { display: none; }
.operating-loop-label.is-active strong { color: #000; }
html[data-theme="light"] .model-with-loop .step.loop-active .sn { background: #171717; color: #fff; border-color: #171717; }
.operating-loop.is-rendered .operating-loop-label strong { font-size: 13px; font-weight: 550; line-height: 1.45; }
.operating-loop-toggle {
  position: absolute; bottom: 0; right: 10px; width: 34px; height: 34px;
  display: grid; place-items: center; border: 1px solid #ddd; border-radius: 50%;
  background: #fff; color: #555; cursor: pointer;
}
.operating-loop-toggle[hidden] { display: none; }
.operating-loop-toggle span { width: 9px; height: 11px; border-inline: 3px solid currentColor; }
.operating-loop-toggle.is-paused span { width: 0; height: 0; border: 6px solid transparent; border-right: 0; border-left: 9px solid currentColor; }
.operating-loop-toggle:focus-visible { outline: 2px solid #111; outline-offset: 4px; }
@media (max-width: 1050px) {
  html[data-theme="light"] .model-layout.model-with-loop { grid-template-columns: minmax(0, 1fr); max-width: 920px; }
  .operating-loop { position: relative; top: auto; width: min(100%, 480px); margin: 0 auto; }
}
@media (max-width: 420px) { .operating-loop-label { width: 102px; } .operating-loop-label strong { font-size: 11px; } }

/* Context-led delivery flow */
.context-delivery-flow{
  position:relative;overflow:hidden;margin:38px 0 46px;padding:30px;border:1px solid rgba(245,245,242,.12);border-radius:14px;
  background:
    radial-gradient(900px 260px at 48% 20%,rgba(61,91,255,.12),transparent 72%),
    linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018));
  box-shadow:0 30px 80px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.06);
}
.context-delivery-flow::before{
  content:'';position:absolute;inset:0;pointer-events:none;opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent);
}
.context-flow-head,.context-flow-grid,.context-flow-return{position:relative;z-index:1}
.context-flow-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.74fr);gap:40px;align-items:end;padding-bottom:27px;border-bottom:1px solid rgba(245,245,242,.12)}
.context-flow-head span,.context-flow-eyebrow,.context-flow-return span{display:block;color:var(--text-3);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.context-flow-head strong{display:block;max-width:560px;margin-top:10px;color:var(--text);font-size:22px;line-height:1.22}
.context-flow-head p{margin:0;color:var(--text-2);font-size:14px;line-height:1.62}
.context-flow-grid{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(0,2.8fr) minmax(165px,.76fr);gap:20px;padding:30px 0 24px}
.context-flow-sources,.context-flow-outcomes{display:flex;flex-direction:column;gap:10px}
.context-flow-sources .context-flow-eyebrow,.context-flow-outcomes .context-flow-eyebrow{margin-bottom:2px}
.context-source,.context-outcome{position:relative;padding:13px 13px 12px;border:1px dashed rgba(245,245,242,.25);border-radius:8px;background:rgba(8,8,10,.38)}
.context-source::after,.context-outcome::before{content:'';position:absolute;top:50%;width:20px;height:1px;background:rgba(245,245,242,.3)}
.context-source::after{right:-21px}.context-outcome::before{left:-21px}
.context-source b,.context-outcome b{display:block;color:var(--text);font-size:13px;line-height:1.25}.context-source small,.context-outcome small{display:block;margin-top:4px;color:var(--text-3);font-size:10.5px;line-height:1.35}
.context-flow-run{position:relative;min-width:0;padding-top:1px}.context-flow-run>.context-flow-eyebrow{margin-left:8px}
.context-flow-rail{position:absolute;left:8%;right:8%;top:95px;height:1px;background:rgba(245,245,242,.18);overflow:hidden}
.context-flow-rail::after{content:'';position:absolute;inset:0;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);animation:contextPacket 9s linear infinite}
.context-flow-rail i{position:absolute;left:0;top:-4px;width:9px;height:9px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.12),0 0 20px rgba(255,255,255,.55);animation:contextSignal 9s cubic-bezier(.46,.04,.36,1) infinite}
.context-stages{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-top:45px}
.context-stage{position:relative;min-height:132px;padding:14px 12px;border:1px solid rgba(245,245,242,.17);border-radius:8px;background:linear-gradient(160deg,rgba(255,255,255,.09),rgba(255,255,255,.025));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 16px 28px rgba(0,0,0,.14);transition:border-color .3s,background .3s,transform .3s,box-shadow .3s}
.context-stage::before{content:'';position:absolute;top:-10px;left:50%;width:9px;height:9px;border:2px solid #111;border-radius:50%;background:#777;transform:translateX(-50%)}
.context-stage small{display:block;color:var(--text-3);font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em}.context-stage b{display:block;margin-top:14px;color:var(--text);font-size:13px;line-height:1.2}.context-stage span{display:block;margin-top:7px;color:var(--text-2);font-size:11px;line-height:1.4}
.context-stage-graph{border-color:rgba(116,141,255,.5);background:radial-gradient(circle at 50% 15%,rgba(89,118,255,.25),transparent 50%),rgba(255,255,255,.04)}
.context-stage-graph::after{content:'';position:absolute;inset:10px;background-image:radial-gradient(circle,rgba(174,185,255,.6) 1px,transparent 1.5px);background-size:14px 14px;opacity:.22;pointer-events:none}.context-stage-graph b,.context-stage-graph span,.context-stage-graph small{position:relative;z-index:1}
.context-stage-learn{border-color:rgba(107,219,164,.4)}
.context-stages .context-stage:nth-child(1){animation:contextFocus 9s ease-in-out infinite}.context-stages .context-stage:nth-child(2){animation:contextFocus 9s ease-in-out 1.8s infinite}.context-stages .context-stage:nth-child(3){animation:contextFocus 9s ease-in-out 3.6s infinite}.context-stages .context-stage:nth-child(4){animation:contextFocus 9s ease-in-out 5.4s infinite}.context-stages .context-stage:nth-child(5){animation:contextFocus 9s ease-in-out 7.2s infinite}
.context-flow-steering{display:flex;gap:11px;align-items:center;margin:19px 8px 0;padding:10px 12px;border-left:2px solid rgba(245,245,242,.52);background:rgba(255,255,255,.035);color:var(--text-2);font-size:11px;line-height:1.4}.context-flow-steering span{color:#fff;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.context-flow-steering b{font-weight:500}
.context-flow-return{display:flex;align-items:center;gap:14px;margin:0 -1px;padding:17px 18px 0;border-top:1px dashed rgba(245,245,242,.26);color:var(--text-2);font-size:12px;line-height:1.45}.context-flow-return span{flex:none;color:#c9d1ff}.context-flow-return b{font-weight:500}.context-flow-return::before{content:'↶';color:#fff;font-size:20px;line-height:1}
@keyframes contextSignal{0%,11%{left:0;opacity:0}15%,79%{opacity:1}91%,100%{left:100%;opacity:0}}
@keyframes contextPacket{from{transform:translateX(-110%)}to{transform:translateX(560%)}}
@keyframes contextFocus{0%,9%,100%{border-color:rgba(245,245,242,.17);background-color:transparent;transform:translateY(0);box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 16px 28px rgba(0,0,0,.14)}14%,21%{border-color:rgba(255,255,255,.78);background-color:rgba(255,255,255,.1);transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 22px 34px rgba(0,0,0,.22),0 0 24px rgba(116,141,255,.16)}}
html[data-theme="light"] .context-delivery-flow{border-color:#dcdcd8;background:linear-gradient(180deg,#fbfbfa,#f4f4f2);box-shadow:0 22px 54px rgba(0,0,0,.08)}
html[data-theme="light"] .context-delivery-flow::before{background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px)}
html[data-theme="light"] .context-flow-head{border-color:#deded9}.context-flow-head strong{color:var(--text)}
html[data-theme="light"] .context-source,html[data-theme="light"] .context-outcome{border-color:#c9c9c3;background:#fff}html[data-theme="light"] .context-source::after,html[data-theme="light"] .context-outcome::before,html[data-theme="light"] .context-flow-rail{background:#cbcbc7}
html[data-theme="light"] .context-stage{border-color:#d6d6d1;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.06)}html[data-theme="light"] .context-stage::before{border-color:#fff;background:#5a5a56}html[data-theme="light"] .context-stage-graph{border-color:#8390e8;background:radial-gradient(circle at 50% 15%,rgba(89,118,255,.15),transparent 50%),#fff}html[data-theme="light"] .context-stage-learn{border-color:#76ab8f}
html[data-theme="light"] .context-flow-steering{background:#fff;border-color:#555}html[data-theme="light"] .context-flow-steering span,html[data-theme="light"] .context-flow-return::before{color:#171715}html[data-theme="light"] .context-flow-return{border-color:#c8c8c3}
@media (max-width:1050px){.context-flow-grid{grid-template-columns:1fr}.context-flow-sources,.context-flow-outcomes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.context-flow-sources .context-flow-eyebrow,.context-flow-outcomes .context-flow-eyebrow{grid-column:1/-1}.context-source::after,.context-outcome::before{display:none}.context-flow-head{grid-template-columns:1fr;gap:14px}.context-flow-head strong{max-width:none}}
@media (max-width:720px){.context-delivery-flow{padding:22px 16px;border-radius:8px}.context-flow-grid{padding:24px 0 18px}.context-stages{grid-template-columns:1fr;margin-top:24px;gap:8px}.context-flow-rail{left:18px;top:72px;bottom:30px;right:auto;width:1px;height:auto}.context-flow-rail::after{width:1px;height:25%;animation:contextPacketVertical 9s linear infinite}.context-flow-rail i{left:-4px;top:0;animation:contextSignalVertical 9s cubic-bezier(.46,.04,.36,1) infinite}.context-stage{min-height:0;padding:13px 14px 13px 42px}.context-stage::before{left:18px;top:19px}.context-stage b{margin-top:6px}.context-flow-steering{align-items:flex-start;margin:14px 0 0;flex-direction:column}.context-flow-sources,.context-flow-outcomes{grid-template-columns:1fr}.context-flow-return{align-items:flex-start;gap:10px;padding:15px 0 0}.context-flow-return span{margin-top:2px}.context-flow-return b{padding-top:1px}}
@keyframes contextSignalVertical{0%,11%{top:0;opacity:0}15%,79%{opacity:1}91%,100%{top:100%;opacity:0}}
@keyframes contextPacketVertical{from{transform:translateY(-110%)}to{transform:translateY(560%)}}
@media (prefers-reduced-motion:reduce){.context-flow-rail::after,.context-flow-rail i,.context-stages .context-stage{animation:none!important}.context-flow-rail i{left:54%;opacity:1}.context-stages .context-stage:first-child{border-color:rgba(116,141,255,.7);box-shadow:0 0 20px rgba(116,141,255,.13)}}
