/* One crystal, an orbit of experiences. Scoped to the home-page galaxy. */
.soul-hero.galaxy-hero{padding-top:22px;padding-bottom:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#24124138,transparent 66%)}
.galaxy-hero .soul-heading{padding-inline:5vw}.galaxy-hero .soul-heading h1{font-size:24px}.galaxy-hero .soul-portrait img{width:48px;height:58px}.galaxy-hero .soul-intro{padding:18px 5vw 8px;text-align:center}.galaxy-hero .soul-intro h2{font-family:Georgia,'Times New Roman',var(--sans);font-size:clamp(28px,3.5vw,49px);font-weight:400;letter-spacing:.035em}.galaxy-hero .soul-intro p{margin-top:8px;font-size:13px;letter-spacing:.06em}
.galaxy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 5vw 0;max-width:1550px;margin:auto}.galaxy-modes{display:flex;gap:22px}.galaxy-toolbar button{background:none;color:#b8a8cd;border:0;border-bottom:1px solid transparent;font:inherit;font-size:12px;padding:10px 0;min-height:44px;cursor:pointer}.galaxy-toolbar button[aria-pressed=true]{color:#f0ddfc;border-color:#d5b5ec}.galaxy-toolbar p{font-size:12px;color:#b5a6c7;line-height:1.7;margin:0}.galaxy-toolbar #jump-now{color:#e5cca6}
.galaxy-stage{position:relative;width:100%;height:clamp(450px,62svh,720px);overflow:hidden;isolation:isolate;background:#090718;touch-action:pan-y;outline-offset:-4px;user-select:none;-webkit-user-select:none;cursor:crosshair}
.galaxy-stage[data-zoomed=true]{touch-action:none;cursor:grab}.galaxy-stage.is-dragging{cursor:grabbing}
.galaxy-stage:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:4;background:linear-gradient(#090718,transparent 9%,transparent 90%,#090718),linear-gradient(90deg,#09071888,transparent 9%,transparent 91%,#09071888)}
.galaxy-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.galaxy-stage .galaxy-stars{position:absolute;inset:0;z-index:5;pointer-events:none}
.galaxy-stage .life-node{position:absolute;left:50%;top:50%;width:46px;height:46px;transform:translate(-50%,-50%);padding:0;border:0;background:none;border-radius:50%;color:#f6edff;pointer-events:auto;cursor:pointer;z-index:1;transition:opacity .2s}
.galaxy-stage .life-node .node-orbit{position:absolute;display:block;inset:8px;width:30px;height:30px;border:1px solid #dfbaff33;border-radius:50%;box-shadow:none;background:transparent;transition:transform .3s,border-color .3s;visibility:visible}
.galaxy-stage .node-orbit:before{inset:8px;border:0;background:#f4dfff;box-shadow:0 0 8px #fff,0 0 20px #cf8afccc;border-radius:50%}
.galaxy-stage .node-core{position:absolute;left:50%;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);background:#fff;box-shadow:0 0 10px #fff;border-radius:50%}
.galaxy-stage .node-core:before,.galaxy-stage .node-core:after{content:'';position:absolute;background:linear-gradient(transparent,#fff,transparent);width:1px;height:32px;left:1.5px;top:-14px}.galaxy-stage .node-core:after{transform:rotate(90deg)}
.galaxy-stage .life-node:nth-child(n+5) .node-orbit:before{background:#ffe9c6;box-shadow:0 0 8px #fff,0 0 22px #eabd7acc}
.galaxy-stage .life-node:hover .node-orbit,.galaxy-stage .life-node:focus-visible .node-orbit,.galaxy-stage .life-node.selected .node-orbit{transform:scale(1.3);border-color:#edd6ff99;box-shadow:0 0 24px #ae77da40}
.galaxy-stage .node-label,.galaxy-stage .label-below .node-label{position:absolute;top:45px;bottom:auto;left:50%;width:164px;transform:translateX(-50%);text-align:center;pointer-events:none;text-shadow:0 2px 6px #030211,0 0 13px #030211,0 0 25px #030211;visibility:visible}
.galaxy-stage .node-label small{font:10px/1.4 var(--sans);letter-spacing:.12em;color:#d0b6df;margin:0 0 4px;display:block}.galaxy-stage .node-label b{font:400 12px/1.6 var(--sans);color:#eee1f8;display:block}.galaxy-stage .node-label:after,.galaxy-stage .node-index{display:none}
.galaxy-stage .life-node[data-edge=top] .node-label{top:auto;bottom:45px}
.galaxy-gem-target{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100px;height:180px;z-index:3;border:0;border-radius:45%;background:transparent;cursor:zoom-in;color:#e6d2f1}.galaxy-gem-target:focus-visible{outline:1px solid #efd6ff;outline-offset:10px}.galaxy-gem-target span{position:absolute;top:100%;left:50%;transform:translateX(-50%);white-space:nowrap;letter-spacing:.26em;font-size:8px;color:#e5c8f2;opacity:.75;pointer-events:none}
.galaxy-controls{position:relative;z-index:6;display:flex;align-items:center;justify-content:center;gap:24px;margin:-3px auto 0;padding:10px 5vw;flex-wrap:wrap}.galaxy-controls button{background:transparent;border:1px solid #c8a6df3d;color:#e1c9ef;min-height:44px;padding:9px 16px;font:12px var(--sans);cursor:pointer;border-radius:2px}.galaxy-controls button:hover{background:#b08bcc13;border-color:#dac0e680}.galaxy-controls .galaxy-zoom{display:flex;align-items:center;gap:12px}.galaxy-zoom label{font-size:12px;color:#bcabc9}.galaxy-zoom input{width:120px;accent-color:#ddc3ef;cursor:pointer;min-height:44px}.galaxy-zoom output{color:#e0c3eb;font-size:10px;min-width:35px}.galaxy-controls .zoom-step{font-size:21px;min-width:44px;padding:0}.galaxy-controls .motion-button{border:0;color:#bca9cc}.galaxy-controls .motion-button[aria-pressed=true]{color:#edcd9a}
.galaxy-footnote{text-align:center;font-size:11px;color:#b3a0c3;padding:0 22px;line-height:1.8;margin:5px 0 18px}.galaxy-hero .chapter-map{max-width:1120px;margin:20px auto 0;padding:0 24px;grid-template-columns:repeat(4,minmax(0,1fr))}.galaxy-hero .chapter-map button{min-height:65px}.galaxy-hero .chapter-map strong{font-size:12px}.galaxy-list-label{font-size:10px;letter-spacing:.18em;color:#b09abc;max-width:1120px;margin:22px auto 0;padding:0 24px}
.galaxy-fallback{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 52%,#5d28755c,transparent 35%),radial-gradient(ellipse at 25% 65%,#285b8055,transparent 45%),#090718;overflow:hidden}.galaxy-fallback:before{content:'';position:absolute;inset:0;opacity:.6;background-image:radial-gradient(#dec4fd 1px,transparent 2px),radial-gradient(#8bbffb 1px,transparent 1.5px);background-size:57px 81px,91px 53px;background-position:13px 7px,43px 19px}.galaxy-fallback svg{position:absolute;left:50%;top:50%;width:180px;height:320px;transform:translate(-50%,-50%);filter:drop-shadow(0 0 18px #ad68ef99)}.galaxy-stage.is-webgl .galaxy-fallback{display:none}
@media(min-width:1500px){.galaxy-stage{height:680px}}
@media(max-width:700px){.galaxy-hero.soul-hero{padding-top:16px}.galaxy-hero .soul-heading{padding-inline:20px;gap:12px}.galaxy-hero .soul-heading .kicker{font-size:8px;letter-spacing:.13em}.galaxy-hero .soul-heading h1{font-size:21px}.galaxy-hero .soul-heading h1>span{font-size:8px;letter-spacing:.12em}.galaxy-hero .soul-portrait img{width:40px;height:49px}.galaxy-hero .soul-intro{padding:13px 20px 5px}.galaxy-hero .soul-intro h2{font-size:26px;letter-spacing:.02em}.galaxy-hero .soul-intro p{font-size:11px;margin-top:7px}.galaxy-toolbar{padding:5px 20px 0;gap:12px;flex-wrap:wrap}.galaxy-modes{gap:18px}.galaxy-toolbar button{font-size:11px}.galaxy-toolbar p{display:none}.galaxy-stage{height:clamp(385px,53svh,530px)}.galaxy-stage .node-label,.galaxy-stage .label-below .node-label{width:94px;top:42px}.galaxy-stage .node-label b{font-size:10px;line-height:1.5}.galaxy-stage .node-label small{font-size:8px;margin-bottom:2px}.galaxy-stage .life-node[data-edge=top] .node-label{bottom:42px;top:auto}.galaxy-controls{gap:8px;padding:5px 16px}.galaxy-controls .galaxy-zoom{gap:7px}.galaxy-zoom label{font-size:10px}.galaxy-zoom input{width:70px}.galaxy-controls button{padding:8px 11px;font-size:11px}.galaxy-controls .motion-button{width:100%;min-height:36px;padding:4px}.galaxy-footnote{font-size:10px;margin-top:0}.galaxy-hero .chapter-map{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px;margin:12px 0 0}.galaxy-list-label{padding:0 20px;font-size:9px}.galaxy-hero .chapter-map button{min-height:64px}.galaxy-hero .chapter-map strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.galaxy-stage *{transition:none!important}.galaxy-stage .life-node .node-orbit{animation:none}}

@keyframes soul-star-shimmer{0%,100%{opacity:.72}50%{opacity:1}}
.galaxy-stage .node-core{animation:soul-star-shimmer 3.5s ease-in-out infinite}.galaxy-stage .life-node:nth-child(2n) .node-core{animation-delay:-1.6s}.galaxy-stage .life-node:nth-child(3n) .node-core{animation-delay:-2.7s}.galaxy-stage[data-paused=true] .node-core{animation-play-state:paused}@media(prefers-reduced-motion:reduce){.galaxy-stage .node-core{animation:none}}
/* Keep decorative section glows from widening the mobile document. */
body[data-page=home] main{overflow-x:clip}
