/* Redesign layer: soul gem untouched; orbiting worlds become light-sigils + glass cards. */
#top{--accent:#d7b9f2}
.sg-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
body .spiral-screen .galaxy-stage .life-node{--c:var(--planet-color,#d7b9f2);border-radius:50%;background:none}
.sg-on .experience-planet,.sg-on .life-node:before{display:none!important}
.sg-on .life-node .node-label{transition:opacity .35s,background .3s,box-shadow .3s}
.sg-on .life-node:not(.in-focus):not(:hover):not(:focus-visible) .node-label{opacity:0;pointer-events:none}
.life-node:focus-visible{outline:1px solid #fff;outline-offset:2px}
/* ---- Glass cards ---- */
html body .spiral-screen .galaxy-stage .life-node .node-label{top:50%!important;bottom:auto!important;left:92%;right:auto;transform:translateY(-50%);width:218px;padding:13px 40px 13px 16px;text-align:left;border:1px solid #ffffff17;border-left:2px solid var(--c);border-radius:6px 16px 16px 6px;background:linear-gradient(120deg,#15102bb8,#1f1840a0);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 14px 40px #05030f66;pointer-events:auto;transition:background .3s,box-shadow .3s}
html body .spiral-screen .galaxy-stage .life-node[data-side=left] .node-label{left:auto;right:92%;border-left:1px solid #ffffff17;border-right:2px solid var(--c);border-radius:16px 6px 6px 16px;text-align:right;padding:13px 16px 13px 40px}
html body .spiral-screen .galaxy-stage .life-node .node-label small{font:500 9.5px/1.4 var(--sans);letter-spacing:.2em;color:var(--c)!important;margin:0 0 6px}
html body .spiral-screen .galaxy-stage .life-node .node-label b{font:400 16px/1.45 var(--serif,Georgia,serif);letter-spacing:.05em;color:#fff}
html body .spiral-screen .galaxy-stage .life-node .node-label .node-tags{font:10px/1.6 var(--sans);letter-spacing:.06em;color:#cbbde0;margin-top:5px}
html body .spiral-screen .galaxy-stage .life-node .node-label:after{content:'↗';position:absolute;top:11px;right:13px;margin:0;font-size:12px;color:var(--c);opacity:.75;transition:transform .25s}
html body .spiral-screen .galaxy-stage .life-node[data-side=left] .node-label:after{right:auto;left:13px}
html body .spiral-screen .galaxy-stage .life-node:hover .node-label,html body .spiral-screen .galaxy-stage .life-node:focus-visible .node-label{background:linear-gradient(120deg,#1d1640d0,#2c2158c0);box-shadow:0 18px 50px #05030f80,0 0 34px color-mix(in srgb,var(--c) 22%,transparent)}
html body .spiral-screen .galaxy-stage .life-node:hover .node-label:after{transform:translate(2px,-2px)}
.current-experience .node-label{border-color:#ffffff17!important;box-shadow:0 14px 40px #05030f66,0 0 28px #f3c58e1f!important}
@media(max-width:700px){html body .spiral-screen .galaxy-stage .life-node .node-label{display:none!important}}

/* ---- Heading, bottom bar, rail, header ---- */
#chapter-era{display:inline-block;padding:5px 15px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:999px;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 9%,transparent);letter-spacing:.2em}
#chapter-era:empty{display:none}
.chapter-heading h2{text-shadow:0 4px 30px #080916}
.universe-bottom{grid-template-columns:1fr auto 1fr;bottom:30px}
#journey-depth{font:300 34px/1 var(--serif,Georgia,serif)!important;letter-spacing:.04em;color:#fff}
.journey-coordinate{align-items:flex-end;gap:12px}
.explore-cue{flex-direction:row;gap:12px;min-width:0;min-height:0;padding:12px 24px;border:1px solid #ffffff22;border-radius:999px;background:#ffffff0c;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s,border-color .3s}
.explore-cue:hover{background:#ffffff18;border-color:#ffffff44}
.explore-cue .cue-track{display:none}
.explore-cue:after{content:'↓';color:var(--accent);animation:sg-bob 2s ease-in-out infinite}
.chapter-open{padding:12px 24px;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 16%,transparent);color:#fff;transition:background .3s,transform .3s}
.chapter-open:hover{background:color-mix(in srgb,var(--accent) 32%,transparent);transform:translateY(-2px)}
.journey-meter{height:1px}
.era-rail{position:absolute;right:max(16px,2.6vw);top:50%;transform:translateY(-50%);z-index:12;display:flex;flex-direction:column;gap:4px;transition:opacity .5s}
.era-rail[hidden]{display:flex;opacity:0;pointer-events:none}
.era-rail button{position:relative;width:28px;height:28px;border:0;background:none;cursor:pointer;padding:0}
.era-rail button:before{content:'';position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px;border-radius:50%;background:#ffffff4d;transition:all .3s}
.era-rail button.on:before{width:10px;height:10px;margin:-5px;background:var(--accent);box-shadow:0 0 14px var(--accent)}
.era-rail button span{position:absolute;right:30px;top:50%;transform:translate(6px,-50%);white-space:nowrap;padding:5px 11px;border-radius:999px;background:#120d28d9;border:1px solid #ffffff1a;font:11px var(--sans);color:#efe6fb;opacity:0;pointer-events:none;transition:all .25s}
.era-rail button:hover span,.era-rail button:focus-visible span{opacity:1;transform:translate(0,-50%)}
.language-switcher{display:flex;padding:3px;border:1px solid #ffffff1c;border-radius:999px;background:#ffffff0a;backdrop-filter:blur(10px)}
.language-switcher button{border:0!important;background:none!important;color:#bfb2d6;font:11px var(--sans);padding:6px 12px;border-radius:999px;cursor:pointer;min-height:0}
.language-switcher button[aria-pressed=true]{background:#ffffff22!important;color:#fff}
.universe-nav a{padding:0 14px;border-radius:999px;transition:background .2s}.universe-nav a:hover{background:#ffffff12}
@keyframes sg-spin{to{transform:rotate(360deg)}}@keyframes sg-bob{50%{transform:translateY(3px)}}
@media(max-width:700px){.era-rail{right:6px}.era-rail button{width:22px;height:22px}.era-rail button span{display:none}.universe-bottom{grid-template-columns:1fr 1fr}.explore-cue{padding:10px 18px}#journey-depth{font-size:26px!important}}
@media(prefers-reduced-motion:reduce){.life-node:before,.explore-cue:after{animation:none!important}}

/* card sits under the focused gem so it never leaves the screen */
html body .spiral-screen .galaxy-stage.sg-on .life-node .node-label,html body .spiral-screen .galaxy-stage.sg-on .life-node[data-side=left] .node-label{top:calc(100% + 2px)!important;left:50%;right:auto;transform:translateX(-50%);width:210px;text-align:center;border:1px solid #ffffff1c;border-top:2px solid var(--c);border-radius:14px;padding:11px 16px}
html body .spiral-screen .galaxy-stage.sg-on .life-node .node-label:after,html body .spiral-screen .galaxy-stage.sg-on .life-node[data-side=left] .node-label:after{position:static;display:inline-block;margin:0 0 0 6px;opacity:.8}
html body .spiral-screen .galaxy-stage.sg-on .life-node .node-label:after{display:none!important}
