.site-header .age-badge{position:static;flex:none;display:block;width:52px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;transform:none}
.site-header .age-badge img{display:block;width:100%;height:auto;filter:none}
.site-header .age-badge:hover{box-shadow:none;transform:translateY(-1px)}
.refined-hero .refined-hero-inner{padding-top:0}
.age-dialog{width:840px;overflow:hidden}
.age-dialog-heading{padding-block:26px 24px}
.age-dialog .dialog-close{z-index:2}
.age-dialog-content{max-height:calc(88svh - 92px);overflow-y:auto;overscroll-behavior:contain;padding:29px 47px 36px;scrollbar-color:#91ab94 #edf2e8;scrollbar-width:thin}
.age-intro{font-size:16px;line-height:1.95;color:#425d4b;margin:0 0 23px}
.age-dialog-content:focus-visible{outline:2px solid #91ab94;outline-offset:-4px}
.reservation-counter{width:27%;max-width:455px;bottom:14%}
.reservation-counter output{font-size:clamp(40px,4.1vw,78px);letter-spacing:0}
.reservation-counter-heading{font-size:18px;letter-spacing:1.2px}
.world-motion{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;opacity:0;transition:opacity .5s}
.world-motion.is-ready{opacity:1}
.social-account>img[src$="social-bilibili.svg"]{width:83px;max-width:100%;height:36px;object-fit:contain}
.social-account>img[src$="social-douyin.svg"]{max-width:41px;height:36px}
@media(min-width:1200px) and (max-width:1400px){.reservation-counter{right:3%;width:23%}.reservation-counter output{font-size:42px}.reservation-counter-heading{font-size:16px}}
@media(min-width:1001px) and (max-width:1280px){.social-band{gap:15px}.social-account{padding-inline:6px}.social-account>img{max-width:68px}.social-mascot{width:120px;height:120px}.social-account>img[src$="social-bilibili.svg"]{max-width:68px}}
@media(max-width:1199px){.reservation-counter{width:auto;max-width:92%;bottom:150px}.reservation-counter output{font-size:48px}.reservation-counter-heading{font-size:15px}}
@media(max-width:780px){
 .site-header .age-badge{width:39px}.header-actions{gap:11px}.age-dialog-heading{padding:25px 48px 21px}.age-dialog-heading h2{font-size:22px;letter-spacing:0}.age-dialog-content{padding:23px 24px 28px;max-height:calc(88svh - 78px)}.age-intro{font-size:14px}.reservation-counter{bottom:149px}.reservation-counter output{font-size:43px}.reservation-counter-heading{font-size:14px}
 .social-account>img[src$="social-bilibili.svg"]{height:28px}.social-account>img[src$="social-douyin.svg"]{height:30px}
}
@media(prefers-reduced-motion:reduce){.world-motion{display:none}.site-header .age-badge:hover{transform:none}}
.music-toggle{display:grid;place-items:center;flex:none;width:40px;height:40px;background:transparent;color:inherit;border:0;border-radius:50%;opacity:.78;transition:opacity .2s,background .2s}
.music-toggle:hover,.music-toggle:focus-visible{opacity:1;background:#ffffff24}
.music-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.music-bars{display:flex;align-items:center;gap:3px;height:23px}
.music-bars i{width:3px;height:10px;border-radius:4px;background:currentColor;transform:scaleY(.35);transition:transform .25s}
.music-bars i:nth-child(2),.music-bars i:nth-child(4){height:17px}
.music-bars i:nth-child(3){height:23px}
.music-toggle.is-playing{opacity:1;color:var(--nav-accent)}
.music-toggle.is-playing i{animation:music-breathe .9s ease-in-out infinite alternate;transform:scaleY(1)}
.music-toggle.is-playing i:nth-child(2){animation-delay:-.3s}.music-toggle.is-playing i:nth-child(3){animation-delay:-.6s}.music-toggle.is-playing i:nth-child(4){animation-delay:-.2s}.music-toggle.is-playing i:nth-child(5){animation-delay:-.45s}
.music-credit{margin-top:14px;font-size:12px;line-height:1.8;color:inherit;opacity:.75}.music-credit a{text-decoration:underline;text-underline-offset:3px}
@keyframes music-breathe{from{transform:scaleY(.35)}to{transform:scaleY(1)}}
@media(max-width:780px){.music-toggle{width:30px;height:36px}.music-bars{gap:2px}.music-bars i{width:2px}.header-actions .account-button{display:none}}
@media(prefers-reduced-motion:reduce){.music-toggle.is-playing i{animation:none}}

/* Keep the PV entry beside the music control in the fixed navigation. */
.header-pv-button{display:grid;place-items:center;flex:none;width:56px;height:66px;padding:0;border:0;border-radius:14px;background:transparent;cursor:pointer}
.header-pv-button .pv-emblem{display:block;line-height:0}
.header-pv-button .pv-frame{display:block;width:48px;height:55px}
.header-pv-button .pv-frame path:last-child{fill:#75d6f7}
.header-pv-button:hover{background:#ffffff18}
.header-pv-button:focus-visible{outline:2px solid var(--nav-accent);outline-offset:3px}
@media(min-width:781px) and (max-width:1100px){.site-header .site-nav a{padding-inline:9px}.header-actions{gap:10px}.header-pv-button{width:46px}}
@media(max-width:780px){.header-pv-button{width:36px;height:48px}.header-pv-button .pv-frame{width:34px;height:39px}.header-actions{gap:8px}.site-header,.game .site-header:not(.scrolled){padding-inline:3%;gap:10px}.site-brand img{width:68px}.nav-reserve{padding-inline:12px}}
@media(max-width:360px){.header-actions{gap:6px}.site-brand img{width:58px}.nav-reserve{padding-inline:9px;font-size:13px}.site-header .age-badge{width:34px}}

/* Place the desktop reservation group closer to the bottom, above the scroll cue. */
@media(min-width:1200px) and (min-height:650px){.static-hero .hero-reservation{bottom:max(76px,8%)}}

/* Preserve the rotating scene selector at a smaller scale on phones. */
@media(max-width:780px){
 body .site-header,body.game .site-header:not(.scrolled){height:64px;padding:0 12px;gap:8px}
 body .site-header .site-brand{flex:none}
 body .site-header .site-brand img{width:54px;height:38px;object-fit:contain}
 body .site-header .header-actions{gap:4px;margin-left:auto}
 body .site-header .header-qq{width:36px;min-height:36px;padding:6px}
 body .site-header .header-qq img{width:22px;height:24px}
 body .site-header .header-pv-button{width:28px;height:40px}
 body .site-header .header-pv-button .pv-frame{width:27px;height:33px}
 body .site-header .music-toggle{width:24px;height:40px}
 body .site-header .nav-reserve{padding:7px 8px;font-size:12px;letter-spacing:0;line-height:1.4}
 body .site-header .menu-toggle{width:28px;height:40px;padding:8px 3px;flex:none}
 body .site-header .menu-toggle span{width:22px}
 body .site-header .age-badge{width:30px}
 body .site-header .site-nav.is-open{top:64px}
 #world.world-fullscreen{height:100svh;min-height:600px}
 #world .world-scrim{background:linear-gradient(180deg,#172d384d,transparent 35%),linear-gradient(0deg,#172c40e6 0%,#172c4099 22%,transparent 55%)}
 #world .world-route{--orbit-radius:clamp(140px,22svh,160px);--orbit-tip:clamp(70px,20vw,80px);--orbit-y:38%}
 #world .world-compass-art{opacity:.65}
 #world .world-route .world-stop:nth-of-type(n){min-height:44px;gap:4px;font-size:13px;text-shadow:0 2px 6px #142d46cc}
 #world .world-route .world-stop.is-active{font-size:18px}
 #world .world-stop-marker{width:18px;height:28px}
 #world .world-stop-marker svg{width:20px;height:28px}
 #world .world-stop-marker:after{width:5px;height:5px}
 /* Keep each scene's main character in the open area to the right of the dial. */
 #world .world-scene[data-world-image="0"]{object-position:43% center}
 #world .world-scene[data-world-image="1"]{object-position:31% center}
 #world .world-scene[data-world-image="2"]{object-position:44% center}
 #world .world-scene[data-world-image="3"]{object-position:71% center}
 #world .world-scene[data-world-image="4"]{object-position:44% center}
 #world .world-stop:focus-visible{outline:2px solid #9ae7fb;outline-offset:3px}
 #world .world-caption{left:24px;right:24px;bottom:70px;width:auto;text-align:left;text-shadow:0 2px 12px #10263866}
 #world .world-caption h3{margin:0 0 10px;font-size:clamp(28px,8vw,34px);line-height:1.25;letter-spacing:1px}
 #world .world-caption-rule{justify-content:flex-start;gap:8px;margin-bottom:13px}
 #world .world-caption-rule span{flex:0 0 28px}
 #world .world-caption-rule small{font-size:9px;letter-spacing:1px;line-height:1.5}
 #world .world-caption-rule i{display:none}
 #world .world-caption p{max-width:29em;margin:0;font-size:14px;line-height:1.85;letter-spacing:0;text-align:left}
 #world .world-down{bottom:18px}
}
@media(max-width:360px){
 body .site-header,body.game .site-header:not(.scrolled){padding-inline:10px;gap:6px}
 body .site-header .site-brand img{width:46px}
 body .site-header .header-actions{gap:3px}
}

/* Keep the final community panel continuous behind the footer mascots. */
#creator>.section-down{display:none}
@media(min-width:1001px){
 #creator.creator-section{padding-bottom:277px}
 .official-footer{padding-top:0;background-image:radial-gradient(circle,#1c24362b .6px,transparent .8px);background-size:4px 4px}
 .official-footer:before{top:0}
}
@media(min-width:1001px) and (min-height:650px){#creator.creator-section{padding-bottom:217px}}

/* Scrolled navigation has an opaque surface so content cannot show through. */
body .site-header.scrolled{background:#f4f8f0;--nav-ink:#35483f;--nav-accent:#187b70;--nav-divider:#35483f35;box-shadow:0 3px 18px #23422912}
body .site-header.scrolled:after{content:"";display:block;top:100%;height:3px;background:linear-gradient(90deg,#51d5ed,#a3eae9 40%,#adacee 65%,#f28cdc)}
body .site-header.scrolled .site-brand img,body .site-header.scrolled .account-button,body .site-header.scrolled .sound-link{filter:none}
body .site-header.scrolled .site-nav a,body .site-header.scrolled .header-actions{text-shadow:none}
body .site-header.scrolled .nav-reserve{background:#fff;border-color:var(--nav-divider)}
