/* Navigation only: no world, artwork, camera or approved pointer-light styles. */
#rail78 nav a{position:relative;outline:none;text-decoration:none;transition:color 180ms ease,border-color 180ms ease,background-color 180ms ease}
#rail78 nav a>span:first-child{font-size:12px;font-weight:500;text-transform:uppercase;transition:transform 220ms cubic-bezier(.2,.7,.3,1);transform:scale(1);transform-origin:center}
#rail78 nav a[aria-current]>span:first-child{font-weight:600}
#rail78 nav a:is(:hover,:focus-visible)>span:first-child{transform:scale(1.3)}
#rail78 nav a:focus-visible{outline:2px solid #ad94ed;outline-offset:4px}
#rail78 nav a .rail-name78{left:54px;top:50%;padding:10px 15px;border:1px solid #ad94ed30;border-radius:22px;background:#090912ed;box-shadow:0 8px 28px #0003;color:#e6dcf5;font-size:13px;line-height:1.3;font-weight:450;letter-spacing:0;text-transform:none;transform:translate(-5px,-50%);opacity:0!important;transition:transform 220ms cubic-bezier(.2,.7,.3,1),opacity 180ms ease;pointer-events:none}
#rail78 nav a:is(:hover,:focus-visible) .rail-name78,#rail78.is-near126 nav a[aria-current] .rail-name78{opacity:1!important;transform:translate(0,-50%)}
#rail78 nav a .rail-name78::first-letter{font-weight:600}
#home-transport126{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:54;display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #bba5df30;border-radius:28px;background:#080911db;backdrop-filter:blur(10px);direction:ltr;color:#e9e1f6}
#home-transport126 button{appearance:none;display:grid;place-items:center;width:38px;height:38px;min-height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background-color 160ms ease,opacity 160ms ease,transform 160ms ease}
#home-transport126 button:hover{background:#b59de919}
#home-transport126 button:active{transform:scale(.94)}
#home-transport126 button:focus-visible{outline:2px solid #b69cf2;outline-offset:3px}
#home-transport126 button:disabled{opacity:.28;cursor:default}
#home-transport126 svg{display:block;width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
#home-transport126 .transport-play126{fill:currentColor;stroke-width:.4}
#home-transport126 .transport-pause126{display:none}
#home-transport126[data-playing=true] .transport-play126{display:none}
#home-transport126[data-playing=true] .transport-pause126{display:block}
#home-transport126 .transport-current126{display:none}
#pause-journey{display:none!important}
@media(max-width:900px){#rail78 nav a .rail-name78{left:48px;font-size:12px}#home-transport126{right:16px;bottom:max(18px,env(safe-area-inset-bottom));gap:1px;padding:3px}#home-transport126 button{width:36px;height:36px;min-height:36px}}
@media(pointer:coarse){#home-transport126 .transport-current126{display:block;position:absolute;right:5px;bottom:calc(100% + 9px);padding:5px 10px;border-radius:15px;background:#080911bf;color:#bdb0cf;font-size:9px;line-height:1.3;white-space:nowrap;pointer-events:none}}
@media(prefers-reduced-motion:reduce){#rail78 nav a,#rail78 nav a>span:first-child,#rail78 nav a .rail-name78,#home-transport126 button{transition:none}}


/*129: the acronym is typography lit by the same brand colours, without badges. */
#rail78 nav a,#rail78 nav a[aria-current]{border:0;border-radius:0;background:none;box-shadow:none;color:#a49ab6;min-height:46px;gap:0}
#rail78 nav a>span:first-child{width:38px;min-width:38px;font-size:14px;font-weight:450;letter-spacing:-.02em;transform-origin:center;transition:transform 440ms cubic-bezier(.2,.7,.2,1),color 280ms ease,text-shadow 440ms ease}
#rail78 nav a[aria-current]{color:#e5d9fc}
#rail78 nav a:is(:hover,:focus-visible)>span:first-child{transform:scale(1.5);color:#f1eaff;text-shadow:0 0 18px #a68aff78}
#rail78 nav a .rail-name78{left:31px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;font-size:21px;font-weight:450;letter-spacing:-.025em;line-height:1.2;color:#e8dcff;transform:translate(6px,-50%);text-shadow:0 0 22px #8d77d248;transition:transform 440ms cubic-bezier(.2,.7,.2,1),opacity 300ms ease}
#rail78 nav a:is(:hover,:focus-visible) .rail-name78,#rail78.is-near126 nav a[aria-current] .rail-name78{transform:translate(0,-50%)}
#rail78 nav a:focus-visible{outline:1px solid #c2a6ed;outline-offset:2px}
.site-actions select{border:0;border-bottom:1px solid #c6adf42b;border-radius:0;background-color:transparent;color:#bcb0cf;font-size:11px;padding:9px 22px 9px 4px;min-height:40px;transition:color 240ms ease,border-color 240ms ease}
.site-actions select:hover,.site-actions select:focus-visible{color:#f0e6ff;border-bottom-color:#b89be5;outline:none}
.site-actions select[aria-busy=true]{color:#a78be9;border-bottom-color:#a78be9}
.site-actions select option{background:#080810;color:#eee5ff}
html[data-theme=light] .site-actions select{color:#52425d;border-bottom-color:#66527642}
html[data-theme=light] #rail78 nav a{color:#746281}
html[data-theme=light] #rail78 nav a[aria-current],html[data-theme=light] #rail78 nav a .rail-name78{color:#5b3c91}
@media(max-width:900px){#rail78 nav a>span:first-child{width:34px;min-width:34px;font-size:13px}#rail78 nav a .rail-name78{left:28px;font-size:19.5px}.site-actions select{font-size:10px;padding-right:16px}}
@media(pointer:coarse){#rail78 nav a[aria-current]>span:first-child{transform:none}#rail78 nav a[aria-current] .rail-name78{opacity:1!important;left:29px;font-size:13px;transform:translate(0,-50%)}}
@media(prefers-reduced-motion:reduce){#rail78 nav a>span:first-child,#rail78 nav a .rail-name78,.site-actions select{transition:none}}

#rail78 nav a .rail-name78::first-letter{font-weight:inherit}
#work-loading129{position:fixed;z-index:22;left:max(76px,6vw);bottom:54px;inline-size:96px;block-size:2px;appearance:none;border:0;background:#ad91ed22;color:#ad91ed}
#work-loading129[hidden]{display:none}#work-loading129::-webkit-progress-bar{background:#ad91ed22}#work-loading129::-webkit-progress-value{background:#ad91ed}
@media(pointer:coarse){#rail78::before{content:attr(data-active-name129);position:absolute;left:9px;top:-22px;font-size:11px;line-height:1.2;letter-spacing:.01em;color:#d3c1f2;pointer-events:none}#rail78 nav a .rail-name78,#rail78 nav a[aria-current] .rail-name78{opacity:0!important}}
@media(max-width:900px){#work-loading129{left:62px;bottom:50px}}

/* The expanded acronym occupies its own line above the index, clear of chapter copy. */
#rail78 nav a{position:static}
#rail78 nav a .rail-name78{left:8px;top:-44px;font-size:20px;transform:translate(7px,0);line-height:1.2}
#rail78 nav a:is(:hover,:focus-visible) .rail-name78,#rail78.is-near126 nav a[aria-current] .rail-name78{transform:translate(0,0)}
@media(max-width:900px){#rail78 nav a .rail-name78{left:8px;top:-40px;font-size:18px}}

#rail78 nav a .rail-name78{top:calc(50% - 25vh - 40px)}
@media(max-height:520px){#rail78 nav a .rail-name78,#rail78::before{top:calc(50% - 46vh + 76px)}}

/* Touch has one persistent acronym caption; a retained mouse/focus state cannot duplicate it. */
@media(pointer:coarse){#rail78 nav a:is(:hover,:focus-visible,[aria-current]) .rail-name78,#rail78.is-near126 nav a[aria-current] .rail-name78{opacity:0!important}body:not(.below78) #home-transport126 .transport-current126{display:none}}

/* The cinematic upper world and its header remain dark in both themes. */
html[data-theme=light] .site-actions select{color:#d1c5e5;border-bottom-color:#b397da5e}
html[data-theme=light] .site-actions select:is(:hover,:focus-visible){color:#f1eaff;border-bottom-color:#c7a9ef}
html[data-theme=light] #rail78 nav a{color:#a49ab6}
html[data-theme=light] #rail78 nav a[aria-current],html[data-theme=light] #rail78 nav a .rail-name78{color:#e5d9fc}

/* Pointer/keyboard intent selects one expanded name; proximity cannot overlap another. */
@media(pointer:fine){#rail78:has(nav a:hover) nav a:not(:hover) .rail-name78,#rail78:not(:has(nav a:hover)):has(nav a:focus-visible) nav a:not(:focus-visible) .rail-name78{opacity:0!important;transition:none}}
