/* Living Orbit: graphite matter, proximity light, same-node expansion. */
:root{scrollbar-gutter:stable}
.orbit-node{position:absolute;width:190px;height:146px;pointer-events:auto;display:flex;flex-direction:column;align-items:center;isolation:isolate;--tone:#a8b4bc}
.orbit-node .hotspot{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;height:100%;padding:0 0 7px;transform:none!important;background:transparent;z-index:2}
.orbit-node .hotspot-label{margin:0;padding:0 0 3px}.orbit-node .hotspot-label b{font-size:11px;color:#85949c}
.orbit-matter{position:absolute;top:4px;left:calc(50% - 43px);width:86px;height:86px;transform:translate3d(0,calc(-8px * var(--near,0)),0) rotateX(calc(var(--lean-y,0) * 1deg)) rotateY(calc(var(--lean-x,0) * 1deg)) scale(calc(1 + var(--near,0) * .07));transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.75,.2,1);pointer-events:none}
.matter-shell{position:absolute;inset:0;border-radius:var(--form,42% 58% 55% 45% / 52% 38% 62% 48%);background:radial-gradient(ellipse at var(--light-x,30%) var(--light-y,14%),#b8c5ce2c,transparent 48%),linear-gradient(145deg,#30363c,#080a0d 38%,#13171c 76%,#454d54);border:1px solid #8d9ba64d;box-shadow:inset 2px 2px 4px #c9d4dc1a,inset -5px -6px 16px #000,0 13px 22px #000b;transform:rotate(-13deg);transition:border-radius .8s ease,box-shadow .7s ease}
.matter-core{position:absolute;inset:18%;transform:rotate(-27deg);border-radius:50%;border-top:1px solid #a7b8c553;border-bottom:6px solid #020406;box-shadow:0 -3px 9px #aebeca16,inset 0 4px 12px #000}
.matter-core i{position:absolute;inset:12% 1%;border-radius:50%;border-bottom:1px solid #98a5b254;transform:rotate(18deg)}.matter-core i:nth-child(2){inset:29% 7%;transform:rotate(-20deg);border-color:#aab6c72d}.matter-core i:nth-child(3){inset:45% 12%;transform:rotate(35deg);border-color:#bdc6cd35}
.orbit-node:hover .matter-shell,.orbit-node:focus-within .matter-shell{box-shadow:inset 2px 2px 8px #c9d4dc30,inset -5px -6px 16px #000,0 15px 28px #000b;border-color:#bbc7d073}
.orbit-node.orbit-academy{left:40%;top:18%;--form:42% 58% 48% 52% / 58% 34% 66% 42%}.orbit-academy .matter-core{transform:rotate(24deg);inset:16%;border-left:8px solid #040609;border-bottom:1px solid #86949f70}
.orbit-node.orbit-coder{left:31%;top:42%;--form:61% 39% 53% 47% / 44% 61% 39% 56%}.orbit-coder .orbit-matter{width:72px;height:78px;left:calc(50% - 36px);top:16px}.orbit-coder .matter-core{border-radius:18% 80%;inset:20%;transform:rotate(-18deg)}
.orbit-node.orbit-stream{left:39%;top:64%;--form:37% 63% 36% 64% / 68% 40% 60% 32%}.orbit-stream .matter-core{border-bottom-color:#16130f;transform:rotate(55deg)}
.orbit-node.orbit-reni{left:6%;top:50%;--form:66% 34% 62% 38% / 33% 62% 38% 67%}.orbit-reni .orbit-matter{width:65px;height:73px;left:calc(50% - 32px);top:20px}
.orbit-node.orbit-creator{right:0;top:39%;--form:48% 52% 30% 70% / 52% 68% 32% 48%}.orbit-creator .orbit-matter{width:73px;height:73px;left:calc(50% - 36px);top:18px}
.orbit-node.orbit-fanni{right:3%;top:16%;--form:50% 50% 64% 36% / 65% 43% 57% 35%}.orbit-fanni .matter-core{inset:25%;border:1px solid #8a9aa656;box-shadow:0 0 0 7px #0008}
.orbit-node.orbit-music{right:3%;top:70%;--form:57% 43% 51% 49% / 44% 56% 44% 56%}.orbit-music .orbit-matter{width:94px;height:86px;left:calc(50% - 47px)}.orbit-music .matter-core{inset:17%;border:1px solid #a7b8c536;box-shadow:0 0 0 5px #020407,0 0 0 6px #899ca52a,0 0 0 12px #030507}
.orbit-node.orbit-windows{left:62%;top:81%;--form:32% 68% 45% 55% / 56% 48% 52% 44%}.orbit-windows .orbit-matter{width:63px;height:64px;top:20px;left:calc(50% - 31px)}
.orbit-interior{display:none}
#orbitStage{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:transparent;color:var(--paper);overflow:visible}
#orbitStage:popover-open{display:grid;place-items:center}
#orbitStage::backdrop{background:#020405c9;backdrop-filter:blur(7px)}
#orbitStage.orbit-stage-fallback{z-index:90;display:grid;place-items:center;background:#020405e6}
.orbit-node.is-expanded{position:relative!important;inset:auto!important;width:min(650px,calc(100vw - 28px));height:min(640px,calc(100svh - 36px));margin:0;z-index:1;transform-origin:center;filter:drop-shadow(0 25px 70px #000c)}
.orbit-node.is-expanded .orbit-matter{inset:0!important;width:100%!important;height:100%!important;transform:none!important}
.orbit-node.is-expanded .matter-shell{border-radius:43% 57% 47% 53% / 45% 43% 57% 55%;transform:rotate(-3deg);background:radial-gradient(ellipse at 20% 12%,#8c9ca52c,transparent 45%),linear-gradient(145deg,#242b32,#090d12 46%,#11171d 76%,#303942);box-shadow:inset 2px 2px 16px #bdcfd12b,inset -12px -15px 45px #000b,0 1px 0 #f1f9ff1a}
.orbit-node.is-expanded .matter-core{inset:4%;opacity:.18;transform:rotate(-27deg);border-width:1px;box-shadow:none}
.orbit-node.is-expanded>.hotspot{display:none}
.orbit-node.is-expanded .orbit-interior{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;inset:14% 14%;text-align:center;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#49515a transparent;opacity:1}
.orbit-interior h2{font-size:clamp(28px,4vw,44px);line-height:1.12;letter-spacing:-.045em;max-width:100%;margin:13px 0 20px;overflow-wrap:anywhere}
.orbit-interior .orbit-description{font-size:13px;line-height:1.85;max-width:360px;color:#bec8ce}
.orbit-interior .eyebrow{font-size:8px;letter-spacing:.16em;color:#99aab4}
.orbit-interior .orbit-availability{margin-top:22px;font-size:10px;letter-spacing:.03em;color:#b6bec4}
.orbit-interior .text-link{font-size:12px;margin-top:17px;padding:13px 0;gap:18px;justify-content:center}
.orbit-dismiss{position:absolute;right:15%;top:8%;width:44px;height:44px;border:1px solid #b5c9d231;background:#11161cbf;border-radius:50%;font-size:23px;font-weight:300;color:#bac7ce;z-index:4}
.orbit-interior .orbit-academy-signature{width:80px;height:80px;object-fit:contain;mix-blend-mode:screen;margin-bottom:6px}
.orbit-opening .orbit-interior{opacity:0!important}
.orbit-opening .orbit-dismiss{opacity:0}
.orbit-placeholder{pointer-events:none;visibility:hidden}
body.orbit-open{overflow:hidden}
@media(min-width:761px) and (max-width:1100px){.orbit-node{width:154px}.orbit-node.orbit-academy{left:38%;top:19%}.orbit-node.orbit-coder{left:27%;top:44%}.orbit-node.orbit-stream{left:42%;top:68%}.orbit-node.orbit-reni{left:4%;top:51%}.orbit-node.orbit-fanni{right:1%;top:17%}.orbit-node.orbit-music{right:0;top:72%}}
@media(max-width:760px){
 .hotspots{transform-style:flat}.orbit-node{position:relative!important;inset:auto!important;flex:0 0 100%;width:auto;height:135px;scroll-snap-align:center}.orbit-node>.hotspot{height:135px;justify-content:flex-end;inset:0!important}.orbit-node .orbit-matter{top:0!important;width:72px!important;height:72px!important;left:calc(50% - 36px)!important}.orbit-node.is-expanded{flex:none;width:calc(100vw - 24px);height:min(610px,calc(100svh - 32px))}.orbit-node.is-expanded .orbit-matter{inset:0!important;width:100%!important;height:100%!important}.orbit-node.is-expanded .matter-shell{border-radius:45% 55% 46% 54% / 30% 34% 66% 70%}.orbit-node.is-expanded .orbit-interior{inset:17% 12% 16%;justify-content:center}.orbit-interior h2{font-size:30px;margin-block:12px 17px}.orbit-interior .orbit-description{font-size:12px}.orbit-interior .orbit-availability{font-size:10px;margin-top:16px}.orbit-dismiss{top:8%;right:16%}.orbit-interior .orbit-academy-signature{width:65px;height:65px}.orbit-interior .text-link{font-size:11px;margin-top:13px}
}
@media(max-width:760px) and (max-height:740px){.orbit-node,.orbit-node>.hotspot{height:120px}.orbit-node .orbit-matter{width:60px!important;height:60px!important;left:calc(50% - 30px)!important}.orbit-node.is-expanded{height:calc(100svh - 24px)}.orbit-node.is-expanded .orbit-interior{inset:16% 13%}.orbit-interior h2{font-size:27px}.orbit-interior .orbit-description{font-size:11px}.orbit-interior .orbit-academy-signature{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.orbit-matter,.matter-shell{transition:none!important}}
.motion-off .orbit-matter{transition:none;transform:none}
