/* Decorative Rulebook motion. Static until the visibility controller opts in. */
.rb-hero:has(.rb-orbit){padding-top:32px}
.rb-orbit{position:relative;width:300px;height:162px;margin:0 auto 12px;isolation:isolate}
.rb-orbit-art{position:absolute;inset:0;pointer-events:none;perspective:600px;overflow:clip;overflow-clip-margin:0;border-radius:45%}
.rb-orbit-nebula{position:absolute;inset:-42px -115px;background:radial-gradient(ellipse at 45% 47%,#8acde745,transparent 50%),radial-gradient(ellipse at 66% 60%,#cbb9e72b,transparent 47%),radial-gradient(ellipse at 35% 61%,#e8d5a728,transparent 45%);filter:blur(14px);animation:rb-nebula 12s ease-in-out infinite alternate}
.rb-orbit-plane{position:absolute;width:260px;height:260px;left:20px;top:-52px;border:1px solid #78a9be40;border-radius:50%;transform-style:preserve-3d;transform:rotateX(69deg) rotateZ(-24deg)}
.rb-orbit-plane-two{width:214px;height:214px;left:43px;top:-29px;transform:rotateX(55deg) rotateY(-29deg) rotateZ(48deg);border-color:#a1a5cb40}
.rb-orbit-plane-three{width:284px;height:284px;left:8px;top:-64px;transform:rotateX(73deg) rotateY(23deg) rotateZ(-35deg);border-style:dashed;border-color:#8ca7b329}
.rb-orbit-track{position:absolute;inset:0;border-radius:50%;animation:rb-revolve 20s linear infinite;transform-style:preserve-3d}
.rb-orbit-track i{position:absolute;top:50%;left:-4px;width:8px;height:8px;border-radius:50%;background:#59acc9;box-shadow:0 0 0 4px #8cd3ed25,0 0 15px #62bde780}
.rb-orbit-track i+i{left:auto;right:-3px;width:5px;height:5px;background:#b8a7d5;box-shadow:0 0 12px #af9fcf80}
.rb-orbit-plane-two .rb-orbit-track{animation-duration:28s;animation-direction:reverse}
.rb-orbit-plane-two i{background:#c8ad69;box-shadow:0 0 0 4px #d9c18a25,0 0 12px #c8ad6950}
.rb-orbit-plane-three .rb-orbit-track{animation-duration:37s;animation-delay:-9s}
.rb-orbit-plane-three i{width:4px;height:4px;left:-2px;background:#64859d;box-shadow:none}
.rb-orbit-float{position:absolute;width:76px;height:76px;left:112px;top:34px;animation:rb-float 6s ease-in-out infinite}
.rb-orbit-ball{position:relative;width:100%;height:100%;display:grid;place-items:center;border-radius:50%;overflow:hidden;background:radial-gradient(circle at 31% 22%,#7496aa 0,#395a73 23%,#1e374e 52%,#102331 82%);box-shadow:inset 0 1px 2px #d5f4ffb3,inset -5px -8px 12px #09162280,0 10px 26px #2d668a26,0 0 24px #8ed5ee22;animation:rb-tilt 9s ease-in-out infinite}
.rb-orbit-ball:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,#ffffff29,transparent 38%);box-shadow:inset 0 0 0 1px #ceeaff30}
.rb-orbit-ball svg{width:46px;height:36px;filter:drop-shadow(0 2px 2px #071c3266)}
.rb-orbit-shadow{position:absolute;top:130px;left:117px;width:66px;height:9px;border-radius:50%;background:#254e6926;filter:blur(6px);animation:rb-shadow 6s ease-in-out infinite}
.rb-orbit-star{position:absolute;width:3px;height:3px;background:#72a6bd;border-radius:50%;animation:rb-star 7s ease-in-out infinite}
.rb-orbit-star-one{left:38px;top:39px}.rb-orbit-star-two{right:35px;top:104px;animation-delay:-3s;background:#baa16b}.rb-orbit-star-three{right:77px;top:20px;animation-delay:-5s;width:2px;height:2px}
.rb-orbit .rb-orbit-toggle{position:absolute;bottom:4px;right:10px;width:30px;height:30px;padding:0;border:1px solid #7992a329;border-radius:50%;background:#ffffffb3;color:#5c7284;cursor:pointer;font:11px/1 system-ui;display:grid;place-items:center;transition:background .2s}
.rb-orbit .rb-orbit-toggle[hidden]{display:none}
.rb-orbit-toggle:hover{background:#eaf3f7}.rb-orbit-toggle:focus-visible{outline:2px solid #307e9c;outline-offset:3px}
.rb-orbit-art *{animation-play-state:paused!important}
.rb-orbit.is-running .rb-orbit-art *{animation-play-state:running!important}
@keyframes rb-revolve{to{transform:rotateZ(360deg)}}
@keyframes rb-float{0%,100%{transform:translate3d(-3px,3px,0)}50%{transform:translate3d(4px,-7px,0)}}
@keyframes rb-tilt{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(7deg)}}
@keyframes rb-shadow{0%,100%{transform:scaleX(1);opacity:.65}50%{transform:scaleX(.76);opacity:.35}}
@keyframes rb-nebula{to{transform:translate3d(12px,-4px,0) scale(1.08);opacity:.65}}
@keyframes rb-star{0%,100%{opacity:.3;transform:translateY(2px)}50%{opacity:.85;transform:translateY(-3px)}}
@media(max-width:600px){.rb-hero:has(.rb-orbit){padding-top:22px}.rb-orbit{height:146px;margin-bottom:6px}.rb-orbit-nebula{inset:-15px -15px}}
@media(prefers-reduced-motion:reduce){.rb-orbit-art *{animation:none!important}.rb-orbit .rb-orbit-toggle{display:none}}
