/* Route icons replace the repeated cosmos artwork. */
.archive-icon{width:1em;height:1em;display:inline-block;vertical-align:middle;flex:none}
.heading-emblem{font-size:76px;color:#d7bd7a80;right:38px}.heading-emblem .archive-icon{width:90px;height:90px}
.page-heading>div{position:relative;z-index:1}.page-heading:before{background:linear-gradient(100deg,#0c1711,#111e20),repeating-linear-gradient(125deg,transparent 0 35px,#c4b3780a 36px 37px)}
.banner-symbol{position:absolute;right:8%;top:50%;transform:translateY(-50%) rotate(-8deg);font-size:260px;color:#b9ce8c50;z-index:0;pointer-events:none}.threshold-banner:after{background:linear-gradient(90deg,#09170ff5,#0b161088 70%,transparent)}
.threshold-banner>div{position:relative;z-index:2}.track-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.track-emblem{font-size:62px}.track-card .eyebrow,.soundtrack-note{font-size:14px}.track-card:has([aria-pressed=true]){border-color:#ecce85;box-shadow:inset 0 0 60px #dac17912}.track-4{border-color:#9f708b80}.track-4:before{background:radial-gradient(ellipse at right,#742a5940,transparent 65%),#11181b}.soundtrack-actions{display:flex;gap:25px;align-items:center;flex-wrap:wrap}
.dock-mute .archive-icon{width:23px;height:23px}.dock-mute[aria-pressed=true]{color:#f1b5b5;border-color:#c3828266}.sound-dock-bar #music-toggle{width:34px;min-width:34px;background:transparent;border:0}.sound-now{min-width:0}.sound-now strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:175px}.sound-now small{font-size:10px}
/* Bounded geometric motion around a readable monogram, not invented character art. */
.entity-page.characters .entity-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:center;gap:42px}
.profile-signature{--profile-color:hsl(var(--profile-hue) 72% 72%);min-width:0;border:1px solid hsl(var(--profile-hue) 40% 45% / .5);color:var(--profile-color);background:linear-gradient(145deg,hsl(var(--profile-hue) 40% 12%),#080f16);isolation:isolate;position:relative;transition:box-shadow .5s,border-color .5s}
.profile-signature.is-active{border-color:var(--profile-color);box-shadow:0 0 46px hsl(var(--profile-hue) 75% 55% / .2)}
.profile-field{height:245px;position:relative;overflow:hidden;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 65%,hsl(var(--profile-hue) 55% 35% / .18),transparent 68%)}
.profile-initials{position:relative;font:italic clamp(55px,5vw,78px)/1 var(--serif);letter-spacing:-.03em;text-shadow:0 0 28px hsl(var(--profile-hue) 80% 60% / .3);z-index:2;transition:text-shadow .5s,color .5s}
.is-active .profile-initials{color:#fff;text-shadow:0 0 14px var(--profile-color),0 0 48px var(--profile-color)}
.profile-coordinate{position:absolute;left:19px;top:18px;font:12px/1.4 var(--sans);letter-spacing:.2em;opacity:.65}
.profile-rings{position:absolute;inset:0;display:grid;place-items:center;opacity:.35;transition:opacity .5s}.is-active .profile-rings{opacity:.9}
.profile-rings>i{position:absolute;width:160px;height:160px;border:1px solid currentColor;transform:rotate(var(--profile-turn));border-radius:0;box-shadow:0 0 15px hsl(var(--profile-hue) 80% 70% / .08)}
.profile-rings>i:nth-child(2){width:185px;height:185px;transform:rotate(calc(var(--profile-turn) + 35deg));opacity:.5}.profile-rings>i:nth-child(3){width:210px;height:210px;transform:rotate(calc(var(--profile-turn) - 30deg));opacity:.2}
.profile-fragments{position:absolute;inset:0;opacity:.15;transition:opacity .4s}.is-active .profile-fragments{opacity:.85}.profile-fragments>i{position:absolute;left:50%;top:50%;width:3px;height:8px;background:currentColor;transform:rotate(var(--angle)) translateY(calc(-1 * var(--spread)));box-shadow:0 0 9px currentColor}
.profile-line{position:absolute;left:0;top:50%;height:1px;width:100%;background:linear-gradient(90deg,transparent,currentColor,transparent);opacity:.15}
.profile-texture{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:.16;transition:opacity .6s;pointer-events:none}.is-active .profile-texture{opacity:.85}
.profile-effect-controls{position:relative;padding:18px;border-top:1px solid hsl(var(--profile-hue) 45% 55% / .25);background:#0b141be8;display:flex;align-items:center;gap:12px;justify-content:space-between}.profile-effect-controls>span{font:14px/1.5 var(--sans);color:#eee6d5}.profile-effect-controls small{display:block;color:#aebbbd;font-size:12px;max-width:150px;overflow-wrap:anywhere}.profile-effect-controls button{min-height:44px;white-space:normal;font-size:14px;flex-shrink:0}
.profile-arc .profile-rings>i,.profile-time .profile-rings>i,.profile-orbit .profile-rings>i{border-radius:50%;border-style:dashed}
.profile-wave .profile-rings>i,.profile-helix .profile-rings>i{border-radius:50%;height:90px}
.profile-bloom .profile-rings>i{border-radius:48% 12% 48% 12%}
.profile-bind .profile-rings>i{width:95px;height:195px;border-radius:48px}
.profile-shards .profile-rings>i,.profile-prism .profile-rings>i{clip-path:polygon(50% 0,100% 100%,0 100%);background:linear-gradient(150deg,transparent 48%,currentColor 49% 50%,transparent 51%);border-bottom:2px solid currentColor}
.profile-trajectory .profile-rings>i{border-radius:50%;border-left-color:transparent;border-right-color:transparent}
.profile-scan .profile-rings>i,.profile-lattice .profile-rings>i{background:repeating-linear-gradient(90deg,transparent 0 24px,hsl(var(--profile-hue) 70% 65% / .12) 25px 26px)}
.profile-rhythm .profile-fragments>i{height:calc(14px + var(--i) * 2px);width:3px;left:calc(8% + var(--i) * 5%);top:35%;transform:none}
.profile-rays .profile-fragments>i{height:38px;width:1px}.profile-slash .profile-fragments>i{width:1px;height:60px}.profile-frost .profile-fragments>i{height:5px;width:5px}
.is-active .profile-rings>i{animation:profile-rotate var(--profile-speed) ease-in-out infinite alternate}
.is-active .profile-rings>i:nth-child(2){animation-direction:alternate-reverse;animation-delay:-.5s}.is-active .profile-rings>i:nth-child(3){animation-delay:-1s}
.is-active .profile-fragments>i{animation:profile-scatter var(--profile-speed) ease-out var(--delay) infinite}
.profile-time.is-active .profile-rings>i{animation:profile-stop 1.1s cubic-bezier(.1,.8,.2,1) both}.profile-time.is-active .profile-fragments>i{animation:profile-suspend 1s ease-out both}
.profile-wave.is-active .profile-rings>i,.profile-aura.is-active .profile-rings>i,.profile-impact.is-active .profile-rings>i{animation:profile-pressure var(--profile-speed) ease-out infinite}
.profile-converge.is-active .profile-rings>i{animation:profile-pressure var(--profile-speed) ease-in infinite reverse}
.profile-fire.is-active .profile-fragments>i,.profile-surge.is-active .profile-fragments>i{animation:profile-rise var(--profile-speed) ease-out var(--delay) infinite}.profile-fire.is-active .profile-texture{animation:profile-flame 1.7s ease-in-out infinite alternate}
.profile-frost.is-active .profile-fragments>i{animation:profile-settle 1.4s ease-out var(--delay) both}.profile-frost.is-active .profile-texture{animation:profile-crystal 1.3s ease-out both}
.profile-scan.is-active .profile-line{animation:profile-scan 2.3s ease-in-out infinite}.profile-scan.is-active .profile-rings>i{animation:profile-align 1.5s ease-out both}
.profile-rhythm.is-active .profile-fragments>i{animation:profile-bars .7s ease-in-out var(--delay) infinite alternate}
.profile-prism.is-active .profile-field{animation:profile-prism 5s linear infinite}.profile-bloom.is-active .profile-rings>i{animation:profile-bloom 3.5s ease-in-out infinite alternate}
.profile-slash.is-active .profile-fragments>i,.profile-trajectory.is-active .profile-fragments>i{animation:profile-streak 1.8s ease-out var(--delay) infinite}
@keyframes profile-rotate{to{transform:rotate(calc(var(--profile-turn) + 110deg)) scale(.92)}}
@keyframes profile-scatter{0%,100%{opacity:.1;transform:rotate(var(--angle)) translateY(calc(-1 * var(--spread)))}45%{opacity:.9;transform:rotate(calc(var(--angle) + 35deg)) translateY(calc(-1.3 * var(--spread)))}}
@keyframes profile-stop{from{transform:rotate(-120deg) scale(.6)}to{transform:rotate(var(--profile-turn)) scale(1)}}
@keyframes profile-suspend{from{opacity:0;transform:rotate(var(--angle)) translateY(-15px)}to{opacity:.9;transform:rotate(var(--angle)) translateY(calc(-1 * var(--spread)))}}
@keyframes profile-pressure{0%{transform:scale(.45) rotate(var(--profile-turn));opacity:0}25%{opacity:.8}100%{transform:scale(1.6) rotate(var(--profile-turn));opacity:0}}
@keyframes profile-rise{0%{opacity:0;transform:rotate(var(--angle)) translateY(80px)}20%{opacity:.8}100%{opacity:0;transform:rotate(var(--angle)) translateY(-180px)}}
@keyframes profile-flame{to{transform:translateY(-9px) scaleY(1.12);filter:brightness(1.2)}}
@keyframes profile-settle{from{opacity:0;transform:rotate(var(--angle)) translateY(-140px)}to{opacity:.7;transform:rotate(var(--angle)) translateY(calc(-1 * var(--spread)))}}
@keyframes profile-crystal{from{transform:scale(1.3);opacity:.15}to{transform:scale(1);opacity:.85}}
@keyframes profile-scan{0%,100%{transform:translateY(-100px);opacity:.1}50%{transform:translateY(100px);opacity:.9}}
@keyframes profile-align{from{transform:rotate(0) scale(.5)}to{transform:rotate(var(--profile-turn)) scale(1)}}
@keyframes profile-bars{to{transform:scaleY(2);opacity:.35}}
@keyframes profile-prism{to{filter:hue-rotate(360deg)}}
@keyframes profile-bloom{from{transform:rotate(var(--profile-turn)) scale(.75)}to{transform:rotate(calc(var(--profile-turn) + 60deg)) scale(1.1)}}
@keyframes profile-streak{0%{opacity:0;transform:rotate(var(--angle)) translateY(-170px)}35%{opacity:.8}100%{opacity:0;transform:rotate(var(--angle)) translateY(180px)}}
html[data-motion=quiet] .profile-signature *,html[data-motion=quiet] .profile-signature{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){.profile-signature *,.profile-signature{animation:none!important;transition:none!important}}
@media(max-width:900px){.entity-page.characters .entity-heading{grid-template-columns:1fr}.profile-signature{width:100%;max-width:520px}.profile-field{height:240px}.heading-emblem{opacity:.4}.banner-symbol{right:-50px;opacity:.5}}
@media(max-width:760px){.track-grid{grid-template-columns:1fr}.track-emblem{font-size:50px}.heading-emblem{display:block;top:24px;right:20px;transform:none;opacity:.18}.heading-emblem .archive-icon{width:65px;height:65px}.page-heading>div{padding-right:18px}.sound-now strong{max-width:125px}.sound-equalizer{display:none}.profile-effect-controls{flex-wrap:wrap}.profile-effect-controls small{max-width:220px}}
.focus-reading .profile-signature{display:none}.paper-mode .profile-signature{color:var(--profile-color)}
/* The dossier itself receives the strike; the signature panel is its control. */
.dossier-surface{--dossier-hue:40;isolation:isolate;transform-origin:50% 45%;border:1px solid hsl(var(--dossier-hue) 45% 55% / .28);padding:32px!important;background:linear-gradient(130deg,hsl(var(--dossier-hue) 35% 13% / .7),#0b131a80);transition:box-shadow .3s}
.dossier-surface>div,.dossier-surface>.profile-signature{position:relative;z-index:2}
.dossier-surface:before{content:'';position:absolute;inset:0;top:0!important;left:0!important;padding:0!important;background:none!important;pointer-events:none;z-index:4;opacity:0;border:1px solid transparent}
.dossier-surface:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:3;opacity:0;background:linear-gradient(110deg,transparent 35%,hsl(var(--dossier-hue) 85% 70% / .35) 48%,transparent 60%)}
.dossier-struck{box-shadow:0 0 36px hsl(var(--dossier-hue) 70% 50% / .18)}
.dossier-struck:after{animation:dossier-sweep .8s ease-out both}
.dossier-struck[data-dossier-mode=impact]{animation:dossier-punch .65s ease-out both}
.dossier-struck[data-dossier-mode=impact]:before{animation:dossier-indent 5.2s ease-out both;box-shadow:inset 0 0 0 5px #0004,inset 12px 14px 28px #000c,inset -8px -10px 20px hsl(var(--dossier-hue) 50% 70% / .12);border-color:hsl(var(--dossier-hue) 40% 25%);border-radius:12px 4px 15px 6px}
.dossier-struck[data-dossier-mode=impact]:after{background:linear-gradient(130deg,transparent 47%,hsl(var(--dossier-hue) 85% 75% / .6) 49%,transparent 51%);animation:dossier-impact-flash .5s ease-out both}
.dossier-struck[data-dossier-mode=recoil]{animation:dossier-recoil .5s ease-out both}
.dossier-struck[data-dossier-mode=recoil]:after{background:linear-gradient(90deg,transparent 65%,#f4d99a66 80%,transparent);animation:dossier-impact-flash .25s ease-out both}
.dossier-struck[data-dossier-mode=slash]{animation:dossier-cut .8s ease-out both}
.dossier-struck[data-dossier-mode=slash]:before{opacity:1;background:linear-gradient(155deg,transparent 48.8%,hsl(var(--dossier-hue) 80% 65% / .7) 49.5%,#04070c 50%,transparent 50.8%)!important;animation:dossier-scar 5.2s ease-out both}
.dossier-struck[data-dossier-mode=trajectory]:after{background:linear-gradient(168deg,transparent 48.8%,hsl(var(--dossier-hue) 85% 80% / .7) 49.5%,transparent 50.3%);animation:dossier-arrow .7s ease-out both}
.dossier-struck[data-dossier-mode=helix],.dossier-struck[data-dossier-mode=bind]{animation:dossier-bind 1s ease-out both}
.dossier-struck[data-dossier-mode=helix]:before,.dossier-struck[data-dossier-mode=bind]:before{border:2px dashed hsl(var(--dossier-hue) 60% 65%);animation:dossier-grip 1s ease-out both}
.dossier-struck[data-dossier-mode=time]{animation:dossier-time 1s steps(2,end) both}
.dossier-struck[data-dossier-mode=time]:before{border:1px solid #e9d796;animation:dossier-grip 1s ease-out both}
.dossier-struck[data-dossier-mode=frost]:before{box-shadow:inset 0 0 55px #bceafa55,inset 0 0 0 3px #d2f4ff60;animation:dossier-freeze 1.2s ease-out both}
.dossier-struck[data-dossier-mode=fire]:before{box-shadow:inset 0 -30px 65px hsl(var(--dossier-hue) 90% 60% / .28),0 0 28px hsl(var(--dossier-hue) 85% 60% / .2);animation:dossier-breathe 1.5s ease-in-out infinite alternate}
.dossier-struck[data-dossier-mode=converge]{animation:dossier-compress 1.2s ease-in-out both}
.dossier-struck[data-dossier-mode=surge],.dossier-struck[data-dossier-mode=aura]{animation:dossier-throb 1.3s ease-in-out infinite}
.dossier-struck[data-dossier-mode=wave]{animation:dossier-wave 2s ease-in-out both}
.dossier-struck[data-dossier-mode=rhythm]{animation:dossier-throb .7s ease-in-out 4}
.dossier-struck[data-dossier-mode=scan]:after,.dossier-struck[data-dossier-mode=lattice]:after{animation:dossier-sweep 1.6s ease-in-out 2;background:linear-gradient(90deg,transparent 45%,hsl(var(--dossier-hue) 80% 65% / .25) 50%,transparent 55%)}
.dossier-struck[data-dossier-mode=shards]:after,.dossier-struck[data-dossier-mode=prism]:after{background:repeating-linear-gradient(130deg,transparent 0 17%,hsl(var(--dossier-hue) 75% 70% / .23) 18%,transparent 20%);animation:dossier-sweep 1.1s ease-out both}
.dossier-struck[data-dossier-mode=bloom]:before,.dossier-struck[data-dossier-mode=arc]:before,.dossier-struck[data-dossier-mode=rays]:before,.dossier-struck[data-dossier-mode=orbit]:before{box-shadow:inset 0 0 60px hsl(var(--dossier-hue) 60% 60% / .25);animation:dossier-freeze 1.4s ease-out both}
@keyframes dossier-punch{0%{transform:translateY(0) scale(1)}12%{transform:translateY(-3px) scale(1.008)}20%{transform:translateY(9px) scale(.975)}30%{transform:translate(-4px,2px) rotate(-.35deg)}42%{transform:translate(3px,-1px) rotate(.2deg)}65%,100%{transform:none}}
@keyframes dossier-indent{0%,2%{opacity:0}3%,82%{opacity:1}100%{opacity:0}}
@keyframes dossier-impact-flash{0%{opacity:0}22%{opacity:.65}100%{opacity:0}}
@keyframes dossier-recoil{0%{transform:none}12%{transform:translate(-9px,2px) rotate(-.5deg)}35%{transform:translateX(3px)}100%{transform:none}}
@keyframes dossier-cut{0%{transform:none}25%{transform:skewX(-.8deg) translateX(-4px)}40%{transform:skewX(.4deg) translateX(2px)}100%{transform:none}}
@keyframes dossier-scar{0%{opacity:0}12%,78%{opacity:.8}100%{opacity:0}}
@keyframes dossier-arrow{0%{opacity:0;transform:translateX(-10%)}30%{opacity:1}100%{opacity:0;transform:translateX(5%)}}
@keyframes dossier-bind{0%{transform:none}35%{transform:scaleX(.98) rotate(.3deg)}65%{transform:scaleX(.995) rotate(-.2deg)}100%{transform:none}}
@keyframes dossier-grip{0%{opacity:0;transform:scale(1.02)}35%{opacity:.7;transform:scale(.99)}100%{opacity:0;transform:scale(1)}}
@keyframes dossier-time{0%{filter:saturate(1)}20%,75%{filter:saturate(.15) contrast(1.08)}100%{filter:none}}
@keyframes dossier-freeze{from{opacity:0}to{opacity:1}}
@keyframes dossier-breathe{from{opacity:.35}to{opacity:.85}}
@keyframes dossier-compress{0%{transform:none}40%{transform:scale(.98)}100%{transform:none}}
@keyframes dossier-throb{0%,100%{box-shadow:0 0 12px hsl(var(--dossier-hue) 70% 55% / .15)}50%{box-shadow:0 0 35px hsl(var(--dossier-hue) 70% 55% / .4)}}
@keyframes dossier-wave{0%,100%{transform:none}30%{transform:skewY(.3deg) translateY(-3px)}65%{transform:skewY(-.2deg) translateY(2px)}}
@keyframes dossier-sweep{0%{opacity:0;transform:translateX(-8%)}40%{opacity:.8}100%{opacity:0;transform:translateX(8%)}}
html[data-motion=quiet] .dossier-surface,html[data-motion=quiet] .dossier-surface:before,html[data-motion=quiet] .dossier-surface:after{animation:none!important;transform:none!important;filter:none!important}
@media(prefers-reduced-motion:reduce){.dossier-surface,.dossier-surface:before,.dossier-surface:after{animation:none!important;transform:none!important;filter:none!important}}
@media(max-width:760px){.dossier-surface{padding:20px!important}.dossier-surface:after{max-width:100%}}
.dossier-surface{overflow:clip}.godless-links{display:flex;flex-wrap:wrap;gap:12px}.godless-maps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.godless-maps a{display:flex;flex-direction:column;gap:12px;border:1px solid #ab875a66;padding:12px;font-size:14px}.godless-maps img{width:100%;height:270px;object-fit:contain;background:#101419}.godless-prose{max-width:960px;margin:28px auto}.godless-entry .reader-toolbar{margin-top:24px}.godless-page .godless-hero .button{margin-top:18px}.godless-entry .profile-effect-controls small{color:#acb8bd}
@media(max-width:760px){.godless-maps{grid-template-columns:1fr}.godless-maps img{height:auto}.godless-links .button{white-space:normal;text-align:left}}
