/* Optional desktop effects; the site keeps the system cursor on touch devices. */
.cursor-picker{position:relative;flex:none}
.ambient-scene{position:fixed;z-index:0;inset:0;overflow:hidden;pointer-events:none;isolation:isolate}
.world-scene{position:absolute;inset:0;overflow:hidden;opacity:0;transition:opacity 2.2s ease;will-change:opacity}
.world-scene.is-active{opacity:1}
.world-moon{background:radial-gradient(ellipse at 70% 45%,#46316c69,transparent 54%),linear-gradient(150deg,#070913,#1c132c 66%,#100b1e)}
.moon-radiance{position:absolute;width:min(88vw,950px);aspect-ratio:1;right:-13vw;top:-20vh;border-radius:50%;background:radial-gradient(circle,#a579e62b 17%,#8b57c824 38%,transparent 68%);filter:blur(15px);animation:moon-radiance-pulse 8s ease-in-out infinite alternate}
.moon-disc{position:absolute;width:min(65vw,720px);aspect-ratio:1;right:-6vw;top:2vh;border-radius:50%;background:radial-gradient(circle at 29% 28%,#f5dcff 0,#d0b7e8 25%,#9274b5 58%,#3b2a63 90%);box-shadow:0 0 70px #bb89f785,0 0 170px #9458df44,inset -75px -85px 90px #21153999;opacity:.86;animation:moon-drift 18s ease-in-out infinite alternate}
.moon-disc::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse 11% 9% at 25% 26%,#73559366 0 70%,transparent 75%),radial-gradient(ellipse 8% 7% at 70% 24%,#6c518b66 0 70%,transparent 75%),radial-gradient(ellipse 13% 11% at 46% 64%,#73559355 0 70%,transparent 75%),radial-gradient(ellipse 7% 6% at 76% 70%,#6c518b55 0 70%,transparent 75%);filter:blur(4px)}
.moon-landscape{position:absolute;left:0;right:0;bottom:0;height:33%;background:linear-gradient(transparent,#100c1d 85%);opacity:.9}
.scene-bat{position:absolute;z-index:1;left:-15%;fill:#110a1d;filter:drop-shadow(0 0 9px #ae7bda77);animation:scene-bat-flight 15s linear infinite}
.moon-bat-one{top:40%;width:130px;animation-duration:16s}
.moon-bat-two{top:24%;width:72px;animation-delay:-7s;animation-duration:21s}
.moon-bat-three{top:63%;width:45px;animation-delay:-13s;animation-duration:24s}
.world-eclipse{background:radial-gradient(ellipse at 32% 47%,#40266c77,transparent 55%),linear-gradient(130deg,#080613,#16102d 60%,#080819)}
.eclipse-haze{position:absolute;width:75vw;height:85vh;left:-15vw;top:5vh;border-radius:50%;background:radial-gradient(ellipse,#aa69f139,transparent 67%);filter:blur(34px);animation:eclipse-haze-drift 13s ease-in-out infinite alternate}
.eclipse-core{position:absolute;width:min(55vw,580px);aspect-ratio:1;left:5vw;top:16vh;border-radius:50%;background:radial-gradient(circle at 50% 50%,#090916 0 42%,#201233 50%,#e4bdff 51%,#9d60e4 53%,#5e2f9677 57%,transparent 68%);box-shadow:0 0 90px #b969ef44;animation:eclipse-pulse 10s ease-in-out infinite alternate}
.eclipse-orbit{position:absolute;width:74vw;height:55vh;left:-5vw;top:16vh;border:1px solid #c59cff77;border-radius:50%;transform:rotate(-24deg);box-shadow:0 0 28px #ab66ee2c;animation:orbit-spin 25s linear infinite}
.orbit-two{width:65vw;height:90vh;left:1vw;top:1vh;border-color:#9c6cce4d;transform:rotate(31deg);animation-duration:34s;animation-direction:reverse}
.eclipse-spark{position:absolute;color:#dcb5ff;text-shadow:0 0 16px #d7a5ff;font-size:clamp(18px,3vw,38px);animation:star-twinkle 3.4s ease-in-out infinite alternate}
.spark-one{left:9%;top:20%}.spark-two{left:61%;top:22%;animation-delay:-1s}.spark-three{left:73%;top:67%;animation-delay:-2s}.spark-four{left:19%;top:80%;animation-delay:-.8s}
.world-storm{background:radial-gradient(ellipse at 75% 45%,#6f39ae83,transparent 60%),linear-gradient(155deg,#070815,#25153d 50%,#090814)}
.world-storm::after{content:"";position:absolute;width:45vw;height:120vh;right:1vw;top:-10vh;background:linear-gradient(90deg,transparent,#9d66e622,transparent);filter:blur(24px);transform:rotate(18deg);animation:storm-beam 9s ease-in-out infinite alternate}
.storm-cloud{position:absolute;width:130vw;height:60vh;left:-15vw;border-radius:50%;filter:blur(28px);animation:storm-cloud-drift 17s ease-in-out infinite alternate}
.storm-cloud-back{top:-24vh;background:radial-gradient(ellipse at 45% 80%,#7f5aa68c,#32244d 48%,transparent 72%)}
.storm-cloud-front{top:8vh;left:15vw;background:radial-gradient(ellipse at 58% 12%,#6d43898c,#281a42 52%,transparent 75%);animation-direction:alternate-reverse}
.storm-horizon{position:absolute;inset:50% -8% -25%;background:radial-gradient(ellipse at 30% 50%,#7745a474,transparent 42%),radial-gradient(ellipse at 78% 32%,#7d42ad69,transparent 46%),linear-gradient(transparent,#150c22 88%);filter:blur(38px);opacity:.85;animation:storm-cloud-drift 20s ease-in-out infinite alternate}
.storm-lightning{position:absolute;width:clamp(120px,16vw,220px);height:auto;fill:#ead1ff;filter:drop-shadow(0 0 12px #d7a6ff) drop-shadow(0 0 40px #9c4cff);opacity:.38;animation:storm-flash 9s linear infinite}
.lightning-one{left:15%;top:5%;transform:rotate(8deg)}.lightning-two{right:8%;top:21%;transform:rotate(-16deg) scale(.7);animation-delay:-4.2s}
body:before{z-index:1;animation:stars-drift 36s linear infinite alternate}
body:after{display:none}
.search-section{background:linear-gradient(145deg,#211a30eb 0%,#161621ed 52%,#10131eee 100%)}
@keyframes moon-radiance-pulse{to{transform:scale(1.16);opacity:.6}}
@keyframes moon-drift{to{transform:translate(-2vw,2vh) scale(1.035)}}
@keyframes scene-bat-flight{0%{transform:translate(-12vw,22px) rotate(-9deg)}50%{transform:translate(58vw,-46px) rotate(5deg)}100%{transform:translate(130vw,-100px) rotate(-5deg)}}
@keyframes eclipse-haze-drift{to{transform:translate(10vw,-7vh) scale(1.16)}}
@keyframes eclipse-pulse{to{transform:scale(1.055);filter:brightness(1.25)}}
@keyframes orbit-spin{to{transform:rotate(336deg)}}
@keyframes star-twinkle{to{opacity:.16;transform:scale(.55)}}
@keyframes storm-cloud-drift{to{transform:translate(-20vw,4vh) scale(1.12)}}
@keyframes storm-beam{to{transform:translateX(-9vw) rotate(13deg);opacity:.45}}
@keyframes storm-flash{0%,20%,21%,23%,24%,62%,63%,65%,100%{opacity:.38}20.5%,22.5%,62.5%,64%{opacity:1}}
@keyframes stars-drift{to{background-position:90px 65px,-65px 100px,110px -80px,-80px -60px,75px 90px,-100px 50px}}

.world-cathedral{background:radial-gradient(ellipse at 73% 30%,#68429680,transparent 56%),linear-gradient(145deg,#080713,#241630 66%,#100b1c)}
.cathedral-radiance{position:absolute;width:80vw;height:110vh;right:-5vw;top:-15vh;border-radius:50%;background:radial-gradient(ellipse,#b86dee3d,transparent 67%);filter:blur(30px);animation:cathedral-breathe 9s ease-in-out infinite alternate}
.cathedral-window,.cathedral-window-frame{position:absolute;width:min(58vw,720px);height:116vh;right:8vw;top:-13vh;border-radius:48% 48% 2% 2%/38% 38% 2% 2%}
.cathedral-window{background:radial-gradient(circle at 48% 28%,#f5c7ffb0,#a96fde82 23%,#4c2a78ad 53%,#120e29 78%),repeating-linear-gradient(90deg,#170e34 0 12px,transparent 12px 86px);box-shadow:0 0 100px #b775ee66,inset 0 0 95px #0a0717;overflow:hidden;animation:cathedral-pulse 12s ease-in-out infinite alternate}
.cathedral-window::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 16%,#0f0a25dd 16% 18%,transparent 18% 32%),repeating-linear-gradient(0deg,transparent 0 18%,#110b2bba 18% 20%,transparent 20% 37%);mix-blend-mode:multiply}
.cathedral-window::after{content:"";position:absolute;inset:2%;border:1px solid #ead0ff7c;border-radius:inherit;box-shadow:inset 0 0 65px #dba2ff55}
.cathedral-window-frame{border:17px solid #130e22;box-shadow:0 0 0 3px #b38bc85a,0 18px 85px #05030faa,inset 0 0 0 3px #caa0ed7a;opacity:.96}
.cathedral-emblem{position:absolute;width:min(30vw,390px);right:calc(8vw + min(14vw,165px));top:33vh;fill:#1a0d30;filter:drop-shadow(0 0 20px #e1a7ff);opacity:.72;animation:cathedral-emblem-float 8s ease-in-out infinite alternate}
.cathedral-ray{position:absolute;width:24vw;height:110vh;top:12vh;right:23vw;background:linear-gradient(#cba6ff44,transparent 80%);clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);filter:blur(17px);transform:rotate(-14deg);animation:cathedral-ray-sway 13s ease-in-out infinite alternate}
.ray-two{right:6vw;transform:rotate(19deg);opacity:.65;animation-delay:-5s}
.cathedral-floor{position:absolute;inset:78% -10% -10%;background:repeating-linear-gradient(110deg,transparent 0 10%,#9b68d72b 10% 10.2%,transparent 10.2% 20%),linear-gradient(#22143199,#090612);transform:perspective(600px) rotateX(60deg)}

.world-crystals{background:radial-gradient(ellipse at 53% 48%,#5a2e9e8c,transparent 58%),linear-gradient(135deg,#080b1c,#1c1030 57%,#08091b)}
.crystal-vortex{position:absolute;width:min(90vw,1050px);aspect-ratio:1;left:15vw;top:-24vh;border-radius:50%;border:2px solid #ad80ed55;box-shadow:0 0 0 60px #9d68de12,0 0 0 130px #8057c40c,inset 0 0 120px #b783f62b;animation:vortex-turn 30s linear infinite}
.crystal-vortex::before,.crystal-vortex::after{content:"";position:absolute;inset:12%;border:1px dashed #ccadff83;border-radius:50%;transform:rotate(35deg)}
.crystal-vortex::after{inset:26%;border-style:solid;border-color:#b68be966}
.crystal-shard{position:absolute;width:clamp(170px,24vw,330px);height:clamp(290px,58vh,540px);background:linear-gradient(110deg,#c398ffb0 0%,#874bcfa6 24%,#e1b8ff9e 40%,#53339fb0 56%,#21124c 84%);clip-path:polygon(50% 0,93% 27%,82% 79%,50% 100%,14% 78%,5% 26%);box-shadow:inset 0 0 60px #fff;filter:drop-shadow(0 0 24px #a969ff);opacity:.8;animation:shard-float 9s ease-in-out infinite alternate}
.crystal-shard::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49%,#f7e4ff99 50%,transparent 51%);clip-path:polygon(50% 0,100% 25%,50% 100%,0 25%)}
.shard-one{left:16%;top:11%;transform:rotate(-16deg);animation-delay:-2s}
.shard-two{left:55%;top:22%;width:clamp(110px,15vw,210px);height:clamp(220px,42vh,390px);transform:rotate(22deg);opacity:.67;animation-delay:-5s}
.shard-three{left:78%;top:-11%;width:clamp(100px,13vw,190px);height:clamp(200px,40vh,360px);transform:rotate(-27deg);opacity:.58;animation-delay:-6s}
.shard-four{left:1%;top:60%;width:clamp(80px,11vw,155px);height:clamp(170px,30vh,290px);transform:rotate(13deg);opacity:.51;animation-delay:-3s}
.crystal-comet{position:absolute;width:18vw;height:2px;left:-25vw;top:20%;background:linear-gradient(90deg,transparent,#f0d7ff);box-shadow:0 0 18px #c28aff;transform:rotate(-18deg);animation:comet-cross 9s linear infinite}
.comet-two{top:48%;animation-delay:-3s;animation-duration:12s}.comet-three{top:73%;animation-delay:-7s;animation-duration:14s}

.scene-next{display:flex;align-items:center;gap:6px;flex:none;height:37px;padding:0 10px;border:1px solid #b584df75;border-radius:10px;background:#1a1428d9;color:#e8d9f7;font-size:11px;font-weight:750;box-shadow:inset 0 1px #ffffff18;transition:background .2s,transform .2s}
.scene-next:hover{background:#503368;transform:translateY(-1px)}
.scene-next>span:first-child{color:#d6adff;font-size:17px}
#scene-count{color:#aa90c6;font-variant-numeric:tabular-nums}
.results-toolbar{padding:14px 18px;margin:6px 0 10px;border-radius:15px;background:linear-gradient(90deg,#100c1ef5,#100c1ee8);text-shadow:0 2px 10px #000}
.empty-intro{padding:28px 20px;margin-top:24px;border:1px solid #b78bda3a;border-radius:14px;background:#0d0a18c9;color:#e0d5ed;text-shadow:0 2px 8px #000}
.site-footer{position:relative;z-index:2;padding:20px;margin-top:28px;border:1px solid #b78bda30;border-radius:12px;background:#0d0a18cf;color:#c7b9d7;text-shadow:0 2px 8px #000}
.topbar{width:calc(100% + 2 * var(--page-gutter));margin-left:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);background:#090a14f2;backdrop-filter:blur(7px)}
/* The animated backdrop fills the viewport; keep the working UI equally wide. */
.shell{--page-gutter:clamp(20px,3vw,72px);width:100%;max-width:none;padding-inline:var(--page-gutter)}
.search-section{background:linear-gradient(145deg,#211a30f8 0%,#161621fa 52%,#10131efb 100%)}
.filters{background:linear-gradient(125deg,#211b2efa,#151924fb 70%)}
.search-main{width:100%;max-width:none}
.search-modes{flex-wrap:wrap}
.filters.is-browse{display:flex;align-items:end;gap:16px}
.filters.is-browse #sort-label{min-width:min(340px,100%)}
.browse-note{align-self:center;color:#b9a8c9;font-size:12px}
.pagination{flex-wrap:wrap}
.page-jump{display:inline-flex;align-items:center;gap:8px;color:#b9a8c9;font-size:12px}
.page-jump input{width:76px;height:39px;padding:0 8px;border:1px solid #746185;border-radius:8px;background:#10131e;color:#f4eeff}
.results-grid{grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:clamp(12px,1.2vw,22px)}
@media(min-width:1700px){.filters{grid-template-columns:repeat(7,minmax(0,1fr))}.moon-disc{width:min(44vw,1350px);right:2vw;top:-16vh}.moon-radiance{width:60vw;right:-3vw;top:-26vh}.eclipse-core{width:min(40vw,1250px);left:6vw;top:4vh}.eclipse-orbit{width:66vw;height:78vh}.cathedral-window,.cathedral-window-frame{width:min(44vw,1320px);right:7vw}.cathedral-emblem{width:min(24vw,620px);right:17vw}.crystal-shard{width:clamp(280px,19vw,570px);height:clamp(450px,65vh,900px)}}
@media(max-width:950px){.results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.shell{--page-gutter:16px;padding-inline:var(--page-gutter)}.topbar{padding-block:10px}.results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.search-main{display:block}.search-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.search-modes .mode{width:100%;padding-inline:8px}}
@keyframes cathedral-breathe{to{transform:scale(1.12);opacity:.65}}
@keyframes cathedral-pulse{to{filter:brightness(1.28)}}
@keyframes cathedral-emblem-float{to{transform:translateY(-24px) scale(1.06);opacity:.9}}
@keyframes cathedral-ray-sway{to{transform:translateX(-5vw) rotate(-8deg);opacity:.5}}
@keyframes vortex-turn{to{transform:rotate(360deg)}}
@keyframes shard-float{to{transform:translateY(-42px) rotate(7deg);filter:drop-shadow(0 0 35px #d69cff)}}
@keyframes comet-cross{to{left:125vw;opacity:0}}
.cursor-picker-toggle{display:flex;align-items:center;gap:7px;height:37px;padding:0 12px;border:1px solid #a882d05c;border-radius:10px;background:linear-gradient(140deg,#261d36,#151321);color:#e6d9f5;font-size:11px;font-weight:750;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff17;transition:background .2s,border-color .2s,transform .2s}
.cursor-picker-toggle:hover,.cursor-picker-toggle[aria-expanded="true"]{border-color:#ca9dff;background:#362547;transform:translateY(-1px)}
.cursor-picker-toggle span{font-size:17px;color:#d4aaff}
.cursor-picker-menu{position:absolute;z-index:50;top:calc(100% + 10px);right:0;width:195px;padding:8px;border:1px solid #a783d177;border-radius:14px;background:#191322;box-shadow:0 18px 48px #000b,inset 0 1px #ffffff16}
.cursor-picker-heading{display:block;padding:8px 9px 7px;color:#a994bd;font-size:9px;font-weight:850;letter-spacing:.15em}
.cursor-picker-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:none;color:#e7ddef;text-align:left;font-size:12px;font-weight:650}
.cursor-picker-menu button span{display:grid;place-items:center;width:20px;font-size:16px}
.cursor-picker-menu button:hover,.cursor-picker-menu button[aria-pressed="true"]{background:#a36de633;color:#fff}
.cursor-picker-menu button[aria-pressed="true"]::after{content:"✓";margin-left:auto;color:#d7b6ff}
.custom-cursor{position:fixed;z-index:200;left:0;top:0;width:0;height:0;pointer-events:none;opacity:0;transform:translate3d(-100px,-100px,0);transition:opacity .15s}
.custom-cursor.is-visible{opacity:1}
.custom-cursor>*{position:absolute;display:none;left:0;top:0;transform:translate(-50%,-50%)}
html[data-cursor="bat"] .cursor-bat{display:block;width:64px;height:39px;filter:drop-shadow(0 2px 2px #090313) drop-shadow(0 0 9px #9c50eb);transition:width .18s,height .18s}
.cursor-bat .bat-wing-left,.cursor-bat .bat-wing-right{fill:url(#cursor-wing);stroke:#e2baff;stroke-width:1.5;stroke-linejoin:round;transform-origin:50px 29px;animation:bat-wingbeat .7s ease-in-out infinite alternate}
.cursor-bat .bat-wing-right{animation-delay:-.35s}
.cursor-bat .bat-body{fill:#27153d;stroke:#d9acff;stroke-width:1.7;stroke-linejoin:round}
.cursor-bat .bat-face{fill:#f2dfff;filter:drop-shadow(0 0 3px #fff)}
html[data-cursor="bat"] .custom-cursor.is-hovering .cursor-bat{width:76px;height:45px;filter:drop-shadow(0 2px 3px #090313) drop-shadow(0 0 15px #d49aff)}
@keyframes bat-wingbeat{from{transform:scaleY(.73)}to{transform:scaleY(1.08)}}
html[data-cursor="om"] .cursor-om{display:block;font-size:26px;line-height:1;filter:drop-shadow(0 0 8px #b992ff)}
html[data-cursor="om"] .custom-cursor.is-hovering .cursor-om{font-size:34px}
html[data-cursor]:not([data-cursor="native"]),html[data-cursor]:not([data-cursor="native"]) *{cursor:none!important}
.cursor-spark{position:fixed;z-index:199;pointer-events:none;width:7px;height:7px;border:1px solid #dec4ff;border-radius:50%;box-shadow:0 0 12px #ac6dff;animation:cursor-spark .48s ease-out forwards}
.bat-trail{position:fixed;z-index:198;pointer-events:none;width:5px;height:5px;background:#dcbaff;transform:rotate(45deg);box-shadow:0 0 9px #b775ff;animation:bat-trail-fade .5s ease-out forwards}
@keyframes cursor-spark{to{opacity:0;transform:scale(4)}}
@keyframes bat-trail-fade{to{opacity:0;transform:translateY(14px) rotate(85deg) scale(.1)}}

/* A little motion around the search surface and newly revealed results. */
.search-section{animation:search-entrance .8s cubic-bezier(.2,.7,.2,1) both}
.search-section:before{animation:light-sweep 8s ease-in-out infinite alternate}
.epic-card{animation:card-entrance .45s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(min(var(--reveal-index, 0), 11) * 35ms)}
.search-section:hover{box-shadow:0 24px 70px #0006,inset 0 1px #ffffff1a,0 0 35px #a36de626}
@keyframes search-entrance{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes light-sweep{from{left:8%;right:58%;opacity:.25}to{left:58%;right:8%;opacity:.8}}
@keyframes card-entrance{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}

@media(pointer:coarse),(hover:none){.cursor-picker,.custom-cursor{display:none!important}}
@media(max-width:680px){.cursor-picker,.scene-next{display:none}.moon-disc{width:95vw;right:-40vw;top:15vh}.moon-landscape{height:19%}.moon-bat-three{display:none}.eclipse-core{width:88vw;left:-25vw}.eclipse-orbit{width:120vw}.storm-lightning{width:110px}.cathedral-window,.cathedral-window-frame{width:95vw;right:-35vw}.cathedral-emblem{width:55vw;right:-13vw}.crystal-shard{opacity:.55}.results-toolbar{margin-left:0;margin-right:0}}
@media(prefers-reduced-motion:reduce){.cursor-picker,.custom-cursor{display:none!important}.search-section,.search-section:before,.epic-card,.cursor-spark,.bat-trail,.cursor-bat .bat-wing-left,.cursor-bat .bat-wing-right,.world-scene *,body:before{animation:none!important}.world-scene{transition:none!important}.search-section:hover{box-shadow:0 24px 70px #0006,inset 0 1px #ffffff1a}}
