body{padding-bottom:104px}.music-dock{position:fixed;z-index:60;bottom:14px;left:50%;transform:translateX(-50%);width:min(800px,calc(100% - 24px));display:flex;align-items:center;gap:16px;background:#100b19f5;border:1px solid #c1ff3866;border-radius:12px;padding:12px 16px;box-shadow:0 8px 40px #0009,0 0 22px #a641ff20;backdrop-filter:blur(16px)}.music-dock button{font:inherit;color:var(--acid);background:#c1ff3810;border:1px solid #c1ff3866;border-radius:6px;min-height:44px;padding:9px 14px;white-space:nowrap;font-size:.875rem}.music-dock button:hover{background:#c1ff3822}.music-dock button:focus-visible,.music-dock input:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.song-info{flex:1;min-width:0}.song-info strong{display:block;font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-info span{display:block;font-size:.75rem;color:#b6a8c8;line-height:1.5;margin-top:3px}.volume-control{display:flex;flex-direction:column;gap:5px;font-size:.75rem;color:#ccbfdb;width:90px}.volume-control input{width:100%;accent-color:var(--acid);height:22px;margin:0}.music-dock .fx-button{color:#d5afff;border-color:#b773ff66;background:#b773ff0d;font-size:.8125rem}.aurora-field{position:absolute;inset:-25%;background:radial-gradient(ellipse at 10% 20%,#aa14ff38,transparent 38%),radial-gradient(ellipse at 95% 55%,#03ecff25,transparent 35%),radial-gradient(ellipse at 60% 95%,#ee1fe822,transparent 30%);animation:aurora-flow 17s ease-in-out infinite alternate;filter:blur(25px);opacity:.8}.rave-ambient .rave-orbit{opacity:.75}.rave-ambient .rave-wash{opacity:1.5}.scene::after{animation-duration:12s}.psy-band{position:relative;isolation:isolate;overflow:hidden;margin:30px 0 0;padding:36px 16px;text-align:center;border-block:1px solid #d363ff40;background:#0c0813}.psy-band::before{content:'';position:absolute;z-index:-1;inset:-200%;background:repeating-conic-gradient(from 30deg,#b840ff18 0deg 10deg,transparent 10deg 25deg,#beff3212 25deg 35deg,transparent 35deg 50deg);animation:psy-rotation 70s linear infinite;mask-image:radial-gradient(ellipse,#000,transparent 65%)}.psy-band span{display:inline-block;font-size:clamp(1rem,3vw,1.5rem);letter-spacing:.2em;line-height:1.7;color:#cfb2eb;transform:translateX(calc((var(--reading) - .5)*40px))}.psy-band b{font-weight:500;color:var(--acid)}.rave-sparks{position:absolute;inset:0;overflow:hidden}.rave-sparks i{position:absolute;left:var(--sx);top:110%;width:3px;height:3px;border-radius:50%;background:var(--sc);box-shadow:0 0 12px var(--sc);animation:spark-rise var(--sd) linear infinite;animation-delay:var(--delay);opacity:0}.rave-halo{background:radial-gradient(circle,#c1ff3820,#ac42ff12 32%,transparent 67%)}
@keyframes aurora-flow{from{transform:translate(-4%,3%) rotate(-5deg)}to{transform:translate(5%,-5%) rotate(8deg)}}@keyframes psy-rotation{to{transform:rotate(360deg)}}@keyframes spark-rise{0%{transform:translate3d(0,0,0);opacity:0}15%,75%{opacity:.5}100%{transform:translate3d(60px,-125vh,0);opacity:0}}
html.fx-paused *,html.fx-paused *::before,html.fx-paused *::after{animation-play-state:paused!important}html.fx-paused .rave-orbit,html.fx-paused .rave-orbit.two,html.fx-paused .peace-emblem,html.fx-paused .culture-strip::before,html.fx-paused .art,html.fx-paused .chapter-title h2,html.fx-paused .psy-band span{transform:none!important}html.fx-paused .reveal-ready{opacity:1;transform:none;transition:none}html.fx-paused .rave-halo{display:none}html.fx-paused{scroll-behavior:auto}
@media(max-width:600px){body{padding-bottom:140px}.music-dock{gap:10px;flex-wrap:wrap;padding:10px 12px;bottom:10px}.song-info{flex-basis:calc(100% - 145px)}.music-dock button{padding:9px 10px}.volume-control{flex:1;flex-direction:row;align-items:center;width:auto;gap:10px}.volume-control input{width:90px}.music-dock .fx-button{min-height:36px;padding:7px 10px}.aurora-field{filter:none}.rave-sparks i:nth-child(n+11){display:none}}
@media(prefers-reduced-motion:reduce){.aurora-field,.psy-band::before,.rave-sparks i{animation:none}.rave-sparks{display:none}.psy-band span{transform:none}}
