/* Public Universal Map: one immersive directory, independent of earned progress. */
#darby-sitemap-entry{position:relative;display:flex;justify-content:center;padding:18px 24px;background:#06111e;color:#c4eaff;font:600 14px/1.5 Arial,sans-serif;z-index:3}
#darby-sitemap-link{color:#a8eaff;text-decoration:none;border-bottom:1px solid #50dcff66;padding:8px 4px}
#darby-sitemap-link:hover,#darby-sitemap-link:focus-visible{color:#fff;border-color:#b39aff;outline-offset:5px}
.um-footer-sample{position:absolute;bottom:calc(100% - 2px);left:50%;width:min(310px,calc(100vw - 32px));box-sizing:border-box;padding:18px;border:1px solid #50dcff77;border-radius:12px;background:radial-gradient(ellipse,#133b52,#071321 72%);box-shadow:0 12px 40px #0009;opacity:0;visibility:hidden;transform:translate(-50%,8px);transition:opacity .25s,transform .25s,visibility .25s;pointer-events:none;text-align:center}
#darby-sitemap-entry:is(:hover,:focus-within) .um-footer-sample{opacity:1;visibility:visible;transform:translate(-50%,0)}
.um-footer-sample b{font:10px/1.5 monospace;letter-spacing:.13em;color:#91eaff}
.um-footer-sample small{font:12px/1.5 Arial,sans-serif;color:#b9d2e3}
.um-footer-sample i{position:relative;display:grid;place-items:center;height:100px;margin:8px 0;background:radial-gradient(circle at 15% 50%,#ffc56d 0 3px,transparent 4px),radial-gradient(circle at 32% 14%,#74e5b1 0 3px,transparent 4px),radial-gradient(circle at 68% 14%,#b39aff 0 3px,transparent 4px),radial-gradient(circle at 85% 50%,#50dcff 0 3px,transparent 4px),radial-gradient(circle at 68% 85%,#7fe5d2 0 3px,transparent 4px),radial-gradient(circle at 32% 85%,#f18bbd 0 3px,transparent 4px)}
.um-footer-sample i:before{content:'';position:absolute;inset:4px 18px;border:1px solid #83eaff66;border-radius:50%;animation:um-preview-orbit 6s linear infinite}
.um-footer-sample img{width:54px;height:46px;object-fit:contain}
@keyframes um-preview-orbit{50%{transform:rotate(180deg) scaleY(.55);border-color:#b39aff}100%{transform:rotate(360deg)}}
#darby-universal-links{padding:24px;color:#deefff;background:#071421;font-family:Arial,sans-serif}
#darby-universal-links h3{color:#fff;font:700 24px/1.2 Arial,sans-serif;margin:0 0 10px}
#darby-universal-links>p{color:#b6cddd;line-height:1.6}
.um-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.um-site-link{display:flex;flex-direction:column;gap:7px;min-width:0;padding:18px;border:1px solid #39586d;border-radius:9px;color:#e8faff;text-decoration:none;background:#0d2435;transition:border-color .2s,background .2s}
.um-site-link strong{font:700 17px/1.4 Arial,sans-serif}.um-site-link span{color:#b9cfde;font:14px/1.6 Arial,sans-serif}
.um-site-link:is(:hover,:focus-visible){background:#15384e;border-color:#65dcff;outline-offset:3px}
dialog.um-universe{--um-accent:#50dcff}
dialog.um-universe[open]{display:block;padding:32px clamp(20px,5vw,80px);overflow-y:auto}
.um-content{position:relative;z-index:1;width:min(1160px,100%);margin:auto}
.um-header{padding-right:48px}
.um-header .ds-code{margin:0 0 10px}
.um-header h2{font:700 clamp(27px,3vw,42px)/1.12 Arial,sans-serif;color:#fff;letter-spacing:-.035em;margin:0 0 12px}
.um-intro{font:15px/1.6 Arial,sans-serif;color:#b9cfdf;margin:0}
.um-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0 10px}
.um-tabs button,.um-skip{min-height:44px;padding:10px 16px;border:1px solid #456a80;border-radius:6px;background:#0a2032;color:#c6e3f3;font:700 14px/1.4 Arial,sans-serif;cursor:pointer}
.um-tabs button[aria-pressed=true]{color:#fff;border-color:#61deff;background:#16415d;box-shadow:0 0 16px #50dcff22}
.um-worlds[hidden],.um-universe #darby-universal-links[hidden],.um-transit[hidden],.um-universe .ds-close[hidden]{display:none!important}
.um-universe .ds-cinematic{pointer-events:auto;width:100%;height:clamp(300px,46dvh,480px);margin:0 auto}
.um-universe a.ds-reveal-world{pointer-events:auto;text-decoration:none;border:0;border-radius:8px;padding:0 5px;box-sizing:border-box;transition:color .2s,filter .2s}
.um-universe .ds-reveal-world:is(:hover,:focus-visible,.is-selected){color:#fff;filter:drop-shadow(0 0 9px var(--world-color));outline:1px solid var(--world-color);outline-offset:10px}
.um-universe .ds-reveal-routes path.um-route-selected{opacity:1!important;stroke-width:4;filter:drop-shadow(0 0 8px var(--um-accent))}
.um-home{width:100%;height:100%;display:grid;place-items:center;padding:0;border:0;background:transparent;border-radius:50%;cursor:pointer}
.um-home:focus-visible{outline:2px solid #a4efff;outline-offset:8px}
.um-preview{max-width:680px;min-height:95px;padding:18px 20px;margin:12px auto 0;text-align:center;border-top:1px solid var(--um-accent);background:linear-gradient(90deg,transparent,#13304677,transparent)}
.um-preview strong{color:var(--um-accent);font:700 20px/1.4 Arial,sans-serif}
.um-preview p{color:#c0d7e7;font:16px/1.6 Arial,sans-serif;margin:8px 0 0}
.um-universe #darby-universal-links{padding:24px 0;background:transparent}
.um-universe:after{z-index:0}
.um-transit{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 43%,color-mix(in srgb,var(--um-accent) 27%,#020715),#020715 68%);perspective:650px}
.um-tunnel{position:absolute;inset:0;overflow:hidden;perspective:650px;pointer-events:none}
.um-ring{position:absolute;left:50%;top:43%;width:80vmax;height:80vmax;margin:-40vmax;border:1px solid var(--um-accent);border-radius:50%;box-shadow:0 0 12px color-mix(in srgb,var(--um-accent) 30%,transparent),inset 0 0 16px color-mix(in srgb,var(--um-accent) 15%,transparent);opacity:0}
.is-traveling .um-ring{animation:um-ring-flight 1.6s calc(var(--ring-index)*-.114s) linear infinite}
.um-bit{position:absolute;left:50%;top:43%;width:3px;height:3px;background:var(--um-accent);box-shadow:0 0 9px var(--um-accent);opacity:0}
.is-traveling .um-bit{animation:um-bit-flight 1.3s var(--bit-delay) linear infinite}
.um-trip-copy{position:relative;z-index:2;max-width:80%;padding:20px;text-align:center;text-shadow:0 2px 14px #020715}
.um-trip-copy h2{font:700 clamp(30px,5vw,64px)/1.1 Arial,sans-serif;color:#fff;margin:12px 0}
.um-trip-copy>p:last-child{font:16px/1.6 Arial,sans-serif;color:#d1e8f4}
.um-skip{position:absolute;z-index:3;right:20px;top:20px}
.um-universe[data-trip=system] .um-ring{border-radius:12%;transform-origin:50% 50%}
.um-universe[data-trip=simulator] .um-ring{height:40vmax;margin-top:-20vmax;border-radius:9%;border-style:dashed}
.um-universe[data-trip=lab] .um-ring{clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border-width:4px;border-radius:0;background:linear-gradient(35deg,transparent 49.7%,var(--um-accent) 50%,transparent 50.3%)}
.um-universe[data-trip=worlds] .um-ring{border-radius:12%;rotate:45deg}
.um-universe[data-trip=living] .um-ring{height:50vmax;margin-top:-25vmax;border-radius:50%;border-style:dotted;border-width:3px}
.um-universe[data-trip=system] .um-bit{width:12px;height:2px}
.um-universe[data-trip=simulator] .um-bit{height:14px}
.um-universe[data-trip=lab] .um-bit{border-radius:50%;width:6px;height:6px}
.um-universe[data-trip=worlds] .um-bit{rotate:45deg;width:5px;height:5px}
@keyframes um-ring-flight{0%{opacity:0;transform:translateZ(-600px) rotate(-25deg) scale(.06)}25%{opacity:.55}75%{opacity:.7}100%{opacity:0;transform:translateZ(250px) rotate(35deg) scale(1.5)}}
@keyframes um-bit-flight{0%{opacity:0;transform:rotate(var(--bit-angle)) translateX(2vmax) scale(.3)}20%{opacity:.9}100%{opacity:0;transform:rotate(calc(var(--bit-angle) + 90deg)) translateX(85vmax) scale(2)}}
@media(max-width:767px){
 dialog.um-universe[open]{padding:65px 16px 24px}.um-header{padding:0}.um-header h2{font-size:28px}.um-intro{font-size:14px}
 .um-universe .ds-cinematic{height:310px}.um-universe .ds-reveal-world{font-size:12px;width:94px;margin-left:-47px}
 .um-preview{padding:16px 8px}.um-preview strong{font-size:18px}.um-preview p{font-size:15px}
 .um-section-grid{grid-template-columns:1fr}.um-site-link{padding:16px}.um-tabs{gap:8px}.um-tabs button{flex:1;padding:10px 9px;font-size:13px}
 .um-trip-copy{max-width:90%;padding:10px}.um-trip-copy>p:last-child{font-size:14px}
}
@media(prefers-reduced-motion:reduce){.um-footer-sample i:before,.um-ring,.um-bit{animation:none!important}.um-footer-sample{transition:none}.um-transit{display:none!important}}

/* Navigation arrives promptly; it never waits for earned completion. */
.um-universe.is-revealing .ds-reveal-world{animation-duration:.9s;animation-delay:calc(.3s + var(--world-delay))}
.um-universe.is-revealing .ds-reveal-routes path.ds-network-spoke:not(.ds-network-flow){animation-delay:.3s,1.4s}
.um-universe.is-revealing .ds-orbit-lines{animation-duration:.3s}

/* Keep theme button defaults out of the map's branded controls. */
dialog.um-universe button.um-home{border:0!important;background:transparent!important;color:#fff;border-radius:50%;box-shadow:none}
dialog.um-universe button.um-skip{border:1px solid #70dfff;background:#0a2032;color:#e7faff;font:700 14px/1.4 Arial,sans-serif;border-radius:6px;padding:12px 16px}
dialog.um-universe button.um-skip:is(:hover,:focus-visible){background:#16415d;color:#fff;border-color:#b39aff}
dialog.um-universe .um-tabs button{border:1px solid #456a80;background:#0a2032;color:#c6e3f3;border-radius:6px}
dialog.um-universe .um-tabs button[aria-pressed=true]{border-color:#61deff;background:#16415d;color:#fff}

/* Place the entry in the footer's Explore card, clear of the sound controls. */
.elementor-location-footer #darby-sitemap-entry{padding:12px 0 0;justify-content:flex-start;background:transparent}
.elementor-location-footer #darby-sitemap-link{padding:4px 0;font-size:14px}
.elementor-location-footer .um-footer-sample{right:0;left:auto;transform:translateY(8px)}
.elementor-location-footer #darby-sitemap-entry:is(:hover,:focus-within) .um-footer-sample{transform:translateY(0)}

/* Orbital decoration must never sit over the central home control. */
.um-universe .ds-reveal-core:before,.um-universe .ds-reveal-core:after{pointer-events:none}
dialog.um-universe button.um-home{position:relative;z-index:3}

/* Let both destinations fill the available window. */
dialog.um-universe[open]{padding:32px clamp(16px,3vw,56px)}
.um-universe .um-content{width:100%;max-width:none;min-height:calc(100dvh - 64px);display:flex;flex-direction:column}
.um-universe .um-worlds{flex:1;display:grid;grid-template-rows:minmax(300px,1fr) auto}
.um-universe .ds-cinematic{width:100%;height:100%;min-height:300px;max-width:none}
.um-universe .um-preview{width:min(760px,100%);box-sizing:border-box;min-height:88px}
.um-universe #darby-universal-links{flex:1}
.um-universe .um-section-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.um-universe .um-site-link{min-height:100px;box-sizing:border-box}
@media(min-width:1500px){.um-universe .ds-reveal-world{font-size:19px;width:220px;margin-left:-110px}.um-universe .um-preview p{font-size:18px}}
@media(max-width:767px){
 dialog.um-universe[open]{padding:65px 16px 24px}
 .um-universe .um-content{min-height:calc(100dvh - 89px)}
 .um-universe .um-worlds{grid-template-rows:minmax(310px,1fr) auto}
 .um-universe .ds-cinematic{min-height:310px}
 .um-universe .um-section-grid{grid-template-columns:1fr}
}

/* The main website's fifteen rail stops stay available throughout the map. */
.um-section-rail{position:fixed;right:24px;top:190px;bottom:30px;width:172px;z-index:4;display:flex;flex-direction:column;color:#c3dfef}
.um-rail-label{font:10px/1.5 monospace;letter-spacing:.12em;color:#84dff4;margin:0 0 12px}
.um-rail-list{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:3px;min-height:0;flex:1}
.um-rail-list:before{content:'';position:absolute;left:14px;top:8px;bottom:8px;width:1px;background:linear-gradient(#50dcff33,#b39aff88,#74e5b166,#ffc56d88,#50dcff33);pointer-events:none}
.um-universe .um-rail-link{position:relative;display:flex;align-items:center;gap:10px;min-height:27px;padding:3px 6px;border:1px solid transparent;border-radius:6px;text-decoration:none;color:#bed4e4;font:13px/1.4 Arial,sans-serif;box-sizing:border-box}
.um-rail-number{display:grid;place-items:center;flex:0 0 18px;height:18px;border:1px solid color-mix(in srgb,var(--rail-accent) 45%,transparent);border-radius:4px;background:#081a2a;color:var(--rail-accent);font:9px/1 monospace}
.um-universe .um-rail-link:is(:hover,:focus-visible,.is-selected){color:#fff;background:color-mix(in srgb,var(--rail-accent) 10%,#081a2a);border-color:color-mix(in srgb,var(--rail-accent) 60%,transparent);outline-offset:3px}
.um-rail-link:is(:hover,:focus-visible,.is-selected) .um-rail-number{box-shadow:0 0 12px color-mix(in srgb,var(--rail-accent) 40%,transparent)}
@media(min-width:1100px){dialog.um-universe[open]{padding-right:220px}}
@media(max-width:1099px){
 .um-section-rail{position:relative;inset:auto;width:100%;margin:4px 0 14px}
 .um-rail-label{margin:0 0 7px}
 .um-rail-list{display:flex;flex-direction:row;justify-content:flex-start;overflow-x:auto;gap:8px;padding:2px 2px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#426a83 #071421}
 .um-rail-list:before{display:none}
 .um-universe .um-rail-link{flex:0 0 auto;min-height:44px;white-space:nowrap;padding:8px 10px;border-color:#335469;background:#0b2032;scroll-snap-align:start}
}
@media(max-height:650px) and (min-width:1100px){.um-section-rail{top:165px;bottom:16px;overflow-y:auto}.um-rail-list{flex:none}.um-universe .um-rail-link{min-height:29px}}

/* Website cards echo the color of their matching rail destination. */
.um-universe .um-site-link{--section-accent:#50dcff;transition:background .25s,border-color .25s,box-shadow .25s}
.um-universe .um-site-link:is(:hover,:focus-visible){border-color:var(--section-accent);background:linear-gradient(135deg,color-mix(in srgb,var(--section-accent) 30%,#0b2032),color-mix(in srgb,var(--section-accent) 12%,#071421));box-shadow:inset 3px 0 0 var(--section-accent),0 0 24px color-mix(in srgb,var(--section-accent) 22%,transparent);outline-color:var(--section-accent)}
.um-universe .um-site-link:is(:hover,:focus-visible) strong{color:var(--section-accent)}
.um-universe .um-site-link:is(:hover,:focus-visible) span{color:#e5f2fa}
@media(prefers-reduced-motion:reduce){.um-universe .um-site-link{transition:none}}
