.orbit-diagram{max-width:960px;margin:26px auto 8px;scroll-margin-top:110px}
.od-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 16px;margin-bottom:8px}
.od-caption{font-family:var(--mono);font-size:10px;color:#7d7d68;letter-spacing:.07em}
.od-pause{display:flex;gap:6px;align-items:center;min-height:30px;padding:3px 9px;border:1px solid #d7d6c6;border-radius:6px;background:none;color:#797c68;font:11px var(--body);cursor:pointer}
.od-pause:focus-visible{outline:3px solid var(--kruste);outline-offset:4px}
.od-stage{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 250px minmax(0,1fr);grid-template-rows:repeat(3,70px);gap:20px 50px;align-items:center;padding:10px 16px;overflow:clip}
.od-wires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.od-wire{fill:none;stroke:#bd954c;stroke-width:2;stroke-dasharray:100;stroke-dashoffset:100;opacity:0}
.od-core{grid-column:2;grid-row:1/4;position:relative;z-index:3;text-align:center;border-radius:17px;background:var(--tanne);color:#f5f1e5;padding:19px 12px 20px;box-shadow:0 18px 35px -22px #16332a80}
.od-stays{font:9px var(--mono);letter-spacing:.14em;color:#e5b264;display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:9px}
.od-stays svg{width:14px;height:14px}
.od-core>strong{display:block;font:650 23px/1.1 var(--disp);letter-spacing:-.025em}
.od-core-examples{display:block;margin-top:13px;color:#a4b7a1;font-size:10px;line-height:1.75}
.od-slot{position:relative;z-index:1;min-width:0;display:grid;--out-x:-180px;--in-x:-300px;--tilt:-14deg;--delay:0ms}
.od-m1{grid-column:1;grid-row:1;--delay:0ms}.od-m2{grid-column:3;grid-row:1;--delay:75ms}.od-m3{grid-column:1;grid-row:2;--delay:150ms}.od-m4{grid-column:3;grid-row:2;--delay:225ms}.od-m5{grid-column:1;grid-row:3;--delay:300ms}.od-m6{grid-column:3;grid-row:3;--delay:375ms}
.od-m2,.od-m4,.od-m6{--out-x:180px;--in-x:300px;--tilt:14deg}
.od-module{grid-area:1/1;min-width:0;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:#fffefa;border:1px solid #deddd0;border-radius:11px;padding:12px 13px;box-shadow:0 6px 12px -10px #16332a66;will-change:transform,opacity}
.od-module-title{display:flex;align-items:center;gap:8px;color:var(--tanne);font-size:13px;line-height:1.4}
.od-module-title svg{width:18px;height:18px;color:#a98342;flex:none}
.od-module-title strong{font-weight:600;min-width:0;overflow-wrap:anywhere}
.od-example{display:block;margin-top:7px;font-size:10px;line-height:1.4;color:#838573}
.od-new{background:#204939;border-color:#b99555;opacity:0;transform:translateX(var(--in-x));box-shadow:0 9px 20px -15px #16332a80}
.od-new .od-module-title{color:#f4efdc;font-size:12px}.od-new .od-module-title svg{color:#e3b764}
.od-new-detail{display:flex;align-items:center;justify-content:space-between;gap:6px;color:#b5c8af;font-size:10px;line-height:1.4;margin-top:7px}
.od-connected{display:flex;align-items:center;justify-content:center;flex:none;color:#efd094;border:1px solid #8e956a;border-radius:50%;width:15px;height:15px}.od-connected svg{width:11px;height:11px}
.orbit-diagram[data-phase=depart] .od-old{animation:od-throw 680ms cubic-bezier(.55,.05,.85,.4) var(--delay) both}
.orbit-diagram[data-phase=clear] .od-old,.orbit-diagram[data-phase=arrive] .od-old,.orbit-diagram[data-phase=joined] .od-old,.orbit-diagram[data-phase=reset] .od-old{opacity:0;visibility:hidden}
.orbit-diagram[data-phase=arrive] .od-new{animation:od-drive 850ms cubic-bezier(.16,1,.3,1) var(--delay) both}
.orbit-diagram[data-phase=joined] .od-new{transform:none;opacity:1}
.orbit-diagram[data-phase=joined] .od-wire{opacity:1;stroke-dashoffset:0;animation:od-link 700ms ease both}
.orbit-diagram[data-phase=reset] .od-new{animation:od-reset 450ms ease both}
.orbit-diagram.is-paused *{animation-play-state:paused!important}
@keyframes od-throw{0%{transform:none;opacity:1}55%{opacity:1}100%{transform:translate(var(--out-x),110px) rotate(var(--tilt)) scale(.85);opacity:0}}
@keyframes od-drive{0%{transform:translateX(var(--in-x)) scale(.94);opacity:0}18%{opacity:1}100%{transform:none;opacity:1}}
@keyframes od-link{from{stroke-dashoffset:100;opacity:0}to{stroke-dashoffset:0;opacity:1}}
@keyframes od-reset{from{transform:none;opacity:1}to{transform:translateY(-7px);opacity:0}}
.orbit-diagram figcaption{text-align:center;font-size:11px;line-height:1.7;color:#7c806e;margin:16px 0 0}
.orbit-diagram figcaption b{font-weight:500;color:#53694e}
.od-note{font-size:9px;line-height:1.7;color:#929180;text-align:center;margin-top:6px}
@media(max-width:1000px){
  .od-stage{grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr);gap:17px 28px}
  .od-module{padding:11px 10px}.od-module-title{font-size:12px;gap:6px}.od-example,.od-new-detail{font-size:9px}.od-new .od-module-title{font-size:11px}.od-core>strong{font-size:21px}.od-core-examples{font-size:9px}
}
@media(max-width:700px){
  .orbit-diagram{scroll-margin-top:155px;margin-top:22px}
  .od-top{padding:0;margin-bottom:16px;gap:10px}.od-caption{font-size:9px;letter-spacing:0}.od-pause{font-size:10px}
  .od-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto repeat(3,minmax(79px,auto));gap:13px 14px;padding:0}
  .od-core{grid-column:1/3;grid-row:1;justify-self:center;width:245px;margin-bottom:17px;padding:15px 10px}
  .od-core>strong{font-size:22px}.od-core>strong br{display:none}.od-core-examples{font-size:9px;margin-top:9px}.od-stays{margin-bottom:7px;font-size:8px}
  .od-m1{grid-column:1;grid-row:2}.od-m2{grid-column:2;grid-row:2}.od-m3{grid-column:1;grid-row:3}.od-m4{grid-column:2;grid-row:3}.od-m5{grid-column:1;grid-row:4}.od-m6{grid-column:2;grid-row:4}
  .od-slot{height:100%;--out-x:-130px;--in-x:-210px}.od-m2,.od-m4,.od-m6{--out-x:130px;--in-x:210px}
  .od-module{padding:11px 10px}.od-module-title,.od-new .od-module-title{font-size:11px;gap:5px}.od-module-title svg{width:16px;height:16px}.od-example,.od-new-detail{font-size:9px}.orbit-diagram figcaption{font-size:10px;margin-top:15px}.od-note{font-size:8px}
}
@media(max-width:360px){.od-stage{column-gap:10px}.od-module{padding:10px 8px}.od-module-title,.od-new .od-module-title{font-size:10px}.od-module-title svg{width:14px;height:14px}.od-example,.od-new-detail{font-size:8px}.od-caption{font-size:8px}.od-core{width:225px}}
@media(prefers-reduced-motion:reduce){
  .orbit-diagram *{animation:none!important;transition:none!important;will-change:auto}
  .od-pause,.od-old{display:none}.od-new{opacity:1!important;transform:none!important}.od-wire{opacity:1;stroke-dashoffset:0}
}
