/* Native PV footage and motion controls. The original KV remains a fallback. */
.hero-media .hero-background-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;transition:opacity .7s ease}
.hero-media.has-motion .hero-background-video{opacity:1}.hero-media.has-motion .hero-art{visibility:hidden}
.hero-motion-control{position:absolute;z-index:5;right:3.5%;bottom:29px;display:flex;gap:9px;align-items:center;padding:9px 14px;border:1px solid #ffffff66;border-radius:30px;background:#29433557;color:#fff;font-size:12px;backdrop-filter:blur(8px)}
.hero-motion-control span{font-size:15px;line-height:1}.hero-motion-control:hover{background:#294335a6}
.hero-motion-control[hidden]{display:none}
.static-hero .hero-bottom-bar{bottom:65px}.static-hero .hero-reservation{bottom:20%}
.game .static-hero{isolation:isolate}.static-hero:before{background:linear-gradient(0deg,#18392999,transparent 48%)}
/* A quiet, room-planning pattern: rounded outlines, drafting marks and fine dots. */
.news-section,.features-section,.creator-section{position:relative;background-color:#f0f5ef;background-image:url('assets/senbox-surface-pattern.svg'),radial-gradient(ellipse at 75% 5%,#e1f0f4d9,transparent 67%),radial-gradient(ellipse at 13% 78%,#e5ebd5,transparent 57%);background-size:cover,100% 100%,100% 100%;background-position:center}
.features-section{background-position:right center,center,center}.creator-section{background-position:left center,center,center}
.news-section>.wrap,.features-section>*:not(.feature-wordmark),.creator-section>.wrap{position:relative;z-index:1}
.news-cover .news-cover-ambience{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px);opacity:.35;transform:scale(1.08)}
.news-cover #news-cover-image{position:relative;display:block;object-fit:contain;transform:none}
.news-cover:hover #news-cover-image{transform:none}
/* Enlarge the cover and editorial area to the reference proportions. */
@media(min-width:1001px){
 .news-section{padding:clamp(165px,22svh,260px) 0 clamp(80px,13svh,150px);align-items:center}
 .game .news-section>.wrap,.news-section>.wrap{width:89%;max-width:none}
 .news-layout{grid-template-columns:1fr 1.02fr;gap:1.9vw}
 .news-cover{aspect-ratio:1.48;border:2px solid #ffffffcb;border-radius:20px}
 .news-heading{margin:0}.news-feed{display:flex;flex-direction:column;min-width:0}
 .news-filter-bar{flex:none;min-height:46px}.news-filters{gap:clamp(25px,3.8vw,90px)}
 .news-filters button{font-size:clamp(22px,1.55vw,32px);padding-bottom:9px}.news-more{font-size:clamp(17px,1.1vw,23px)}
 .news-list{display:flex;flex:1;flex-direction:column}.news-row{flex:1;display:flex;flex-direction:column;justify-content:center;padding:19px 20px 19px 0;min-height:105px}
 .news-row-title{font-size:clamp(19px,1.48vw,30px);line-height:1.55}.news-row-meta{font-size:clamp(14px,1.05vw,21px);margin-top:12px}
 .editorial-wordmark{top:clamp(115px,13svh,190px);font-size:9.5vw;left:11%;letter-spacing:.55vw}
}
/* The theme labels follow the circumference; the active destination rotates to the centre. */
.world-route{--orbit-radius:clamp(285px,47svh,660px);--orbit-tip:clamp(185px,24svh,305px);--orbit-centre:calc(var(--orbit-tip) - var(--orbit-radius));--orbit-y:max(53%,calc(135px + var(--orbit-radius)*.788));--dial-turn:0deg;position:absolute;inset:0;width:100%;height:100%;min-height:0;display:block;padding:0;transform:none;pointer-events:none}
.world-compass-art{position:absolute;width:calc(var(--orbit-radius)*2);height:calc(var(--orbit-radius)*2);max-width:none;left:calc(var(--orbit-tip) - var(--orbit-radius)*2);top:calc(var(--orbit-y) - var(--orbit-radius));transform:rotate(var(--dial-turn));transition:transform .8s cubic-bezier(.22,.65,.24,1);opacity:.86;pointer-events:none}
.world-route .world-stop:nth-of-type(n){--stop-angle:0deg;position:absolute;left:var(--orbit-centre);top:var(--orbit-y);margin:0;padding:0;width:max-content;min-height:48px;gap:12px;font-size:clamp(17px,1.25vw,25px);transform-origin:0 50%;transform:translateY(-50%) rotate(var(--stop-angle)) translateX(var(--orbit-radius)) rotate(calc(-1*var(--stop-angle)));transition:transform .8s cubic-bezier(.22,.65,.24,1),color .25s;pointer-events:auto}
.world-route .world-stop.is-active{font-size:clamp(24px,1.8vw,36px);color:#fff}.world-stop-marker{width:25px}.world-caption{width:min(730px,51%);bottom:12%}.world-caption h3{font-size:clamp(42px,3.7vw,76px)}
.world-scene[data-world-image="1"]{object-position:51% center}.world-scene[data-world-image="2"]{object-position:50% center}.world-scene[data-world-image="3"]{object-position:54% center}
/* One animated page affordance on every panel. */
.section-down{z-index:6;bottom:21px;width:48px;height:36px;color:#fff;transition:filter .25s}.section-down svg{width:30px;height:28px;overflow:visible;animation:page-cue 1.9s ease-in-out infinite}.section-down:hover{filter:drop-shadow(0 0 8px #9bf0cb)}
.news-section>.section-down,.features-section>.section-down,.creator-section>.section-down{color:#73988c;position:absolute}
.section-down.page-up svg{rotate:180deg}.official-footer{padding-bottom:52px}
@keyframes page-cue{0%,100%{transform:translateY(-3px);opacity:.55}50%{transform:translateY(4px);opacity:1}}
/* Original mascot sheet: only the top of the head peeks out until its own icon activates. */
.official-footer{padding-top:172px;background-color:var(--footer);background-image:linear-gradient(#eff4ef 0 172px,transparent 172px),radial-gradient(circle,#1c24362b .6px,transparent .8px);background-size:100% 100%,4px 4px}.official-footer:before{top:172px}
.social-mascot{width:150px;height:150px;bottom:calc(100% + 44px);overflow:hidden;transform:translateX(-50%);filter:none;transition:none;mix-blend-mode:multiply}
.senbao-portrait{border-radius:0;transform:translateY(56%);transition:transform .5s cubic-bezier(.2,.85,.25,1.16);will-change:transform}
.social-account.is-active .social-mascot{transform:translateX(-50%);filter:none}.social-account.is-active .senbao-portrait{transform:translateY(0)}
.social-account:focus-visible{outline:2px solid #9ee5e0;outline-offset:5px;border-radius:8px}
@media(min-width:1001px) and (max-height:800px){.news-section{padding:160px 0 75px}.news-row{min-height:95px;padding-block:14px}.news-row-meta{margin-top:7px}.static-hero .hero-reservation{bottom:24%;gap:8px}.static-hero .hero-main-reserve{min-height:58px;font-size:25px}.static-hero .hero-bottom-bar{bottom:62px}.platform-channel{min-height:46px}.jewel-pv .pv-frame{width:44px;height:50px}}
@media(min-width:1001px) and (min-height:650px) and (max-height:800px){.news-section{padding:145px 0 65px}.game .news-section>.wrap,.news-section>.wrap{max-width:calc((100svh - 220px)*3.03)}}
@media(max-width:1000px){
 .world-route{--orbit-radius:clamp(260px,39svh,430px);--orbit-tip:150px;--orbit-y:50%}
 .world-route .world-stop:nth-of-type(n){font-size:16px;gap:7px}.world-route .world-stop.is-active{font-size:24px}
 .official-footer{padding-top:30px;background-image:radial-gradient(circle,#1c24362b .6px,transparent .8px);background-size:4px 4px}.official-footer:before{top:0}
 .social-platforms{gap:90px 0;margin-top:85px}.social-mascot{bottom:100%;width:115px;height:115px;transform:translateX(-50%);mix-blend-mode:normal;mask-image:linear-gradient(transparent,#000 7%,#000 94%,transparent)}
 .senbao-portrait{transform:translateY(56%)}.social-account.is-active .social-mascot{transform:translateX(-50%)}
}
@media(max-width:780px){
 .hero-background-video{object-position:51% center!important}.static-hero .hero-reservation{bottom:25%;gap:10px}.static-hero .hero-bottom-bar{bottom:74px}.hero-motion-control{right:4%;bottom:25px;padding:8px;font-size:10px;gap:5px}.hero-motion-control span{font-size:12px}
 .world-route{--orbit-radius:210px;--orbit-tip:130px;--orbit-y:45%}.world-route .world-stop:nth-of-type(n){font-size:14px;gap:5px}.world-route .world-stop.is-active{font-size:21px}.world-stop-marker{width:22px}.world-compass-art{opacity:.8}
 .world-caption{bottom:12%;width:85%;right:6%}.world-caption h3{font-size:36px}.world-caption p{font-size:14px}.world-fullscreen{min-height:700px}
 .news-section{padding-bottom:88px}.news-cover{aspect-ratio:1.6}.features-section{padding-bottom:93px}.creator-section{padding-bottom:110px}.section-down{bottom:19px}
 .social-platforms{column-gap:0;row-gap:94px}.social-mascot{width:105px;height:105px}.social-account>img{max-width:69px}
}
@media(prefers-reduced-motion:reduce){.hero-media .hero-background-video,.world-route .world-stop:nth-of-type(n),.world-compass-art,.senbao-portrait{transition:none}.section-down svg{animation:none}}

/* Transparent navigation follows the contrast of the section behind it. */
body .site-header,body .site-header.scrolled,body.refined .site-header,body.game .site-header:not(.scrolled){background:transparent;border:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
body .site-header:after{content:none;display:none}
.site-header{--nav-ink:#35483f;--nav-accent:#187b70;--nav-divider:#35483f35;color:var(--nav-ink)}
.site-header .site-nav a{font-family:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif;font-size:clamp(17px,1.14vw,22px);font-weight:800;line-height:1.2;letter-spacing:.055em;color:var(--nav-ink);padding-inline:clamp(18px,1.8vw,36px);transition:color .2s,text-shadow .2s}
.site-header .site-nav a span{font-family:"Segoe UI",Arial,sans-serif;font-size:10px;font-weight:600;line-height:1.3;letter-spacing:.13em;margin-top:5px;opacity:.85}
.site-header .site-nav a+a:before{background:var(--nav-divider)}
.site-header .site-nav a.active,.site-header .site-nav a:hover{color:var(--nav-accent)}
.site-header .account-button,.site-header .sound-link{color:var(--nav-ink)}
.site-header .nav-reserve{font-weight:700;letter-spacing:.055em;color:var(--nav-ink);background:#ffffff26;border:1px solid var(--nav-divider);box-shadow:none}
.site-header .menu-toggle span{background:var(--nav-ink)}
.site-header.is-over-art{--nav-ink:#fffef6;--nav-accent:#80def0;--nav-divider:#fffef64d}
.site-header.is-over-art .site-brand img{filter:brightness(0) invert(1) drop-shadow(0 2px 5px #102b2570)}
.site-header.is-over-art .site-nav a,.site-header.is-over-art .header-actions{text-shadow:0 2px 6px #163023b3,0 0 18px #152b2580}
.site-header.is-over-art .account-button,.site-header.is-over-art .sound-link{filter:drop-shadow(0 1px 3px #102b2599)}
.site-header.is-over-art .nav-reserve{background:#193b3a30;border-color:#fffef69c}
.site-header .nav-reserve:hover{background:#ffffff42}
.age-badge{position:absolute;z-index:6;top:113px;left:3.2%;width:68px;padding:4px 4px 0;border:1px solid #f5fff1c9;border-radius:7px;background:#fafbed;box-shadow:0 2px 12px #132a2640;color:#304f40;transition:transform .2s,box-shadow .2s;text-align:center}
.age-badge-face{display:flex;align-items:center;flex-direction:column;padding:5px 2px 4px;border-radius:3px;background:linear-gradient(140deg,#558967,#225c47);color:#fffdf0}
.age-badge-face strong{font-family:"Segoe UI",Arial,sans-serif;font-size:34px;font-weight:800;line-height:1.2;letter-spacing:-1px}
.age-badge-face strong span{font-size:23px;vertical-align:3px;margin-left:1px}
.age-badge-brand{font-family:"Segoe UI",Arial,sans-serif;font-size:8px;letter-spacing:1.2px;line-height:1.5}
.age-badge-label{display:block;font-size:12px;font-weight:700;line-height:22px;letter-spacing:1px;white-space:nowrap}
.age-badge:hover{transform:translateY(-2px);box-shadow:0 5px 18px #132a264d}
.age-badge:focus-visible{outline:3px solid #84def0;outline-offset:5px}
.refined-hero{position:relative}.refined-hero .refined-hero-inner{padding-top:65px}
.age-dialog{width:740px;padding:0;border:1px solid #ffffffad;background:#f9fbf5f5;color:#34483d;border-radius:22px;max-height:88svh;overflow:auto}
.age-dialog .dialog-close{top:22px;right:22px;color:#4c6254;width:36px;height:36px;font-size:31px}
.age-dialog-heading{display:flex;justify-content:center;align-items:center;gap:12px;padding:29px 65px 25px;position:relative}
.age-dialog-heading:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#b4cda2 15%,#8ed3ce 55%,#d1dba4 85%,transparent)}
.age-dialog-heading>span{font-family:"Segoe UI",Arial,sans-serif;font-weight:800;font-size:20px;color:#43815a;border:1px solid #91b399;border-radius:7px;padding:2px 7px}
.age-dialog-heading h2{font-size:28px;font-weight:800;letter-spacing:2px;line-height:1.4;margin:0}
.age-dialog-content{padding:31px 55px 37px}
.age-dialog-content ol{counter-reset:age;list-style:none;padding:0;margin:0}
.age-dialog-content li{counter-increment:age;font-size:16px;line-height:1.95;margin:0 0 21px;color:#56665c;text-align:justify}
.age-dialog-content li:before{content:"（" counter(age) "）";font-variant-numeric:tabular-nums}
.age-dialog-content li:last-child{margin-bottom:0}
@media(min-width:781px) and (max-width:1200px){.site-header .site-nav a{font-size:16px;padding-inline:14px;letter-spacing:.025em}.site-header .site-nav a span{font-size:9px}.site-header .site-nav{margin-left:0}.site-header{gap:18px}}
@media(max-width:780px){
 .site-header .site-nav.is-open{--nav-ink:#35483f;--nav-accent:#187b70;background:#f4f8f0fa;border-radius:0 0 18px 18px}
 .site-header .site-nav.is-open a{font-size:16px;text-shadow:none;padding:13px 6px;letter-spacing:.04em}
 .site-header .site-nav a span{font-size:10px;letter-spacing:.08em}
 .age-badge{top:94px;left:5%;width:57px;padding:3px 3px 0;border-radius:5px}
 .age-badge-face{padding-top:3px;padding-bottom:3px}.age-badge-face strong{font-size:28px}.age-badge-face strong span{font-size:18px;vertical-align:3px}.age-badge-brand{font-size:7px;letter-spacing:.8px}.age-badge-label{font-size:10px;line-height:19px}
 .age-dialog{width:92vw;max-width:92vw;max-height:88svh;border-radius:17px}.age-dialog-heading{padding:24px 53px 21px;gap:9px}.age-dialog-heading h2{font-size:23px;letter-spacing:1px}.age-dialog-heading>span{font-size:17px}.age-dialog .dialog-close{top:21px;right:13px;font-size:27px;width:31px;height:31px}.age-dialog-content{padding:23px 24px 27px}.age-dialog-content li{font-size:14px;line-height:1.95;margin-bottom:18px}
}
@media(prefers-reduced-motion:reduce){.age-badge,.site-header .site-nav a{transition:none}}
