/* Only local content, Chinese fallback and dialogs. Original template: style.css. */
@font-face{font-family:Oxanium;src:url('../fonts/oxanium-400.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Oxanium;src:url('../fonts/oxanium-500.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Oxanium;src:url('../fonts/oxanium-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:Oxanium;src:url('../fonts/oxanium-700.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Work Sans';src:url('../fonts/work-sans-600.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('../fonts/noto-sc-subset-1.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('../fonts/noto-sc-subset-2.ttf') format('truetype');font-weight:600;font-display:swap}
@font-face{font-family:'Noto Sans SC';src:url('../fonts/noto-sc-subset-3.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--fontFamily-oxanium:Oxanium,'Noto Sans SC','Microsoft YaHei','PingFang SC',sans-serif;--fontFamily-work-sans:'Work Sans','Noto Sans SC','Microsoft YaHei',sans-serif}
:focus-visible{outline:2px solid #bf81ff;outline-offset:5px}
section[id],footer[id]{scroll-margin-top:115px}
.logo{display:flex;align-items:center;gap:8px;color:white;flex-shrink:0}
.header .logo img,.footer .logo img{width:78px;height:65px;object-fit:contain}
.logo-type{font-size:22px;font-weight:700;line-height:1.25;letter-spacing:2px}
.logo-type small{display:block;font-size:10px;letter-spacing:3px;font-weight:500;margin-top:5px;color:#c5b9e3}
.hero-title{line-height:1.25}
.hero-banner .hero-cast.w-100{width:850px;max-width:100%;height:auto;aspect-ratio:850/414;margin-inline:auto;position:relative;overflow:hidden}
.hero-cast img{position:absolute;bottom:0;object-fit:contain;height:100%;width:auto}
.hero-cast .cast-boss{height:100%;left:27%;z-index:2}
.hero-cast .cast-character{height:83%;left:4%;z-index:3;filter:drop-shadow(0 0 18px #332567)}
.hero-cast .cast-weapon{height:48%;right:3%;bottom:15%;transform:rotate(-15deg);z-index:1;filter:drop-shadow(0 0 20px #6330a1)}
.entry-card{color:var(--text-white);min-height:150px;transition:filter var(--transition-1)}
.entry-card:hover{filter:brightness(1.25)}
.entry-card .card-banner{height:125px;object-fit:contain;flex-shrink:0}
.entry-card .card-title{white-space:nowrap}
.upcoming-time .time{letter-spacing:2px}
.news .img-holder{aspect-ratio:600/400}
.news-card .card-text{min-height:82px}
.card-meta-item svg{width:16px;height:16px;stroke:var(--text-purple);fill:none;stroke-width:1.8}
.qr-preview{display:block;width:170px;height:170px;overflow:hidden;position:relative;background:#fff;margin:18px 0 12px;border:6px solid white}
.qr-preview img{position:absolute;max-width:none;height:auto}
.qr-preview.kook img{width:314px;left:-78px;top:-164px}
.qr-preview.feishu img{width:330px;left:-85px;top:-130px}
.qr-caption{font-size:13px;color:#bab1d0}
.contact-link{color:white;max-width:max-content}
.contact-link:hover{color:var(--text-purple)}
.copyright{font-size:13px}
.copyright a{display:inline;color:#be87ff}
.back-top-btn{color:white}
.back-top-btn svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:2}
dialog{border:1px solid #6335a1;background:#101033;color:var(--text-gainsboro);padding:36px;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;overflow:auto;box-shadow:0 20px 100px #0009;font:inherit}
dialog::backdrop{background:#080518d9;backdrop-filter:blur(5px)}
.dialog-close{position:absolute;right:15px;top:7px;font-size:30px;color:white;width:36px;height:36px}
.dialog-kicker{color:var(--text-purple);letter-spacing:4px;font-size:13px;margin-bottom:8px}
dialog h2{color:white;font-size:28px;line-height:1.4;margin-bottom:20px}
dialog p{margin-bottom:18px}
.dialog-tabs{display:flex;gap:25px;margin-bottom:20px;border-bottom:1px solid #4b3266}
.dialog-tabs button{color:#bfb5d2;padding:8px 0}
.dialog-tabs [aria-selected=true]{color:white;border-bottom:3px solid var(--text-purple)}
.feature-state{border-left:3px solid var(--text-purple);padding:10px 14px;background:#9841ff15;font-size:14px}
dialog label{display:block;font-size:14px;margin-bottom:5px}
dialog .input-field{padding:12px}
dialog input:disabled{opacity:.5;cursor:not-allowed}
dialog .btn:disabled{opacity:.5;cursor:not-allowed}
dialog ol{padding-left:22px;margin:15px 0}
dialog ol li{list-style:decimal;margin:10px 0}
.qr-dialog{width:min(520px,calc(100vw - 32px));padding:40px 22px 22px;text-align:center}
.qr-dialog img{max-width:100%;max-height:70dvh;margin:0 auto;object-fit:contain}
.qr-dialog a{margin:18px auto 0}
[hidden]{display:none!important}
@media(min-width:1200px){.footer-top .container{grid-template-columns:1.25fr .75fr 1fr 1fr}}
@media(max-width:767px){.header .logo img{width:60px;height:50px}.logo-type{font-size:19px}.hero .section-subtitle{font-size:13px;letter-spacing:4px}.hero-title{font-size:clamp(27px,7.5vw,36px)}.entry-card .card-title{font-size:23px}.upcoming-time .time{font-size:36px}.hero-cast{aspect-ratio:850/450}.entry-card .card-banner{height:110px}.qr-preview{width:170px}dialog{padding:32px 22px}dialog h2{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}.cursor{display:none}}
