* img{
  display: block;
  width: 100%;
}
/* ── Web fonts（i18n）──────────────────────────────────────
 * en  → Marcellus（衬线）
 * zh-TW → 思源宋体 CN（多字重，按 weight 自动匹配）
 * jp  → 思源黑体（多字重）
 * ko  → Noto Sans KR Variable（100–900 整段范围）
 * 仅声明，浏览器按 body 里实际用到的 font-weight 才会真正下载对应字重。
 * ------------------------------------------------------- */
@font-face{font-family:'Marcellus';font-weight:400;font-style:normal;font-display:swap;
  src:url('../fonts/Marcellus-Regular.ttf') format('truetype')}

@font-face{font-family:'SourceHanSerifCN';font-weight:200;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-ExtraLight.otf') format('opentype')}
@font-face{font-family:'SourceHanSerifCN';font-weight:300;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-Light.otf') format('opentype')}
@font-face{font-family:'SourceHanSerifCN';font-weight:400;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-Regular_mianfeiziti.com.otf') format('opentype')}
@font-face{font-family:'SourceHanSerifCN';font-weight:500;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-Medium.otf') format('opentype')}
@font-face{font-family:'SourceHanSerifCN';font-weight:600;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-SemiBold.otf') format('opentype')}
@font-face{font-family:'SourceHanSerifCN';font-weight:700;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-Bold.otf') format('opentype')}
@font-face{font-family:'SourceHanSerifCN';font-weight:900;font-style:normal;font-display:swap;
  src:url('../fonts/zh/SourceHanSerifCN-Heavy.otf') format('opentype')}

@font-face{font-family:'SourceHanSans';font-weight:200;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-ExtraLight.otf') format('opentype')}
@font-face{font-family:'SourceHanSans';font-weight:300;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-Light.otf') format('opentype')}
@font-face{font-family:'SourceHanSans';font-weight:400;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-Regular.otf') format('opentype')}
@font-face{font-family:'SourceHanSans';font-weight:450;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-Normal.otf') format('opentype')}
@font-face{font-family:'SourceHanSans';font-weight:500;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-Medium.otf') format('opentype')}
@font-face{font-family:'SourceHanSans';font-weight:700;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-Bold.otf') format('opentype')}
@font-face{font-family:'SourceHanSans';font-weight:900;font-style:normal;font-display:swap;
  src:url('../fonts/jp/SourceHanSans-Heavy.otf') format('opentype')}

@font-face{font-family:'NotoSansKR';font-weight:100 900;font-style:normal;font-display:swap;
  src:url('../fonts/kr/NotoSansKR-VariableFont_wght.ttf') format('truetype')}

/* ── Reset ───────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;overflow:hidden}
body{font-family:'Marcellus',sans-serif;color:var(--dark);background:#000;
     line-height:1.7;overflow:hidden;height:100vh}
/* 按 <html> 上的 lang-xx 类（由 public.js applyLangClass 写入）切换字体族 */
html.lang-zh-TW body{font-family:'SourceHanSerifCN',serif}
html.lang-jp    body{font-family:'SourceHanSans',sans-serif}
html.lang-ko    body{font-family:'NotoSansKR',sans-serif}
/* 表单控件、placeholder 默认不继承 body 字体，强制对齐当前语言 */
input,button,select,textarea{font-family:inherit}
::placeholder{font-family:inherit}
a{text-decoration:none;color:inherit}
ul{list-style:none}

/* ── Swiper ──────────────────────────────────────────────── */
#fullpage-swiper{width:100%;height:100vh}
#fullpage-swiper>.swiper-slide{
  height:100vh;display:flex;align-items:center;justify-content:center}
#fullpage-swiper .swiper-slide>section,
#fullpage-swiper .swiper-slide>footer{width:100%}

/* 提交中视觉禁用态（div 上 disabled 属性无效，靠 class 控制）*/
.loginConfirm.is-submitting{pointer-events:none;opacity:.6}


::-webkit-scrollbar{
  display: none;
}
::-webkit-scrollbar-track{
    border-radius:5px;
    background:#233046;
}
::-webkit-scrollbar-thumb{
    border-radius:5px;
    /* background:rgba(0,0,0,0.4); */
    background: #84bbe5;
}
#footer{
  border-top: 0.02rem solid #383737;
}

/* ── Language switcher dropdown (i18n) ─────────────────── */
.lang-switcher{
  position:relative;
  margin-left:0.18rem;
  -webkit-user-select:none;user-select:none;
}
/* 触发行：图标 + 文字 + 箭头 */
.lang-trigger{
  display:flex;align-items:center;gap:0.06rem;
  cursor:pointer;height:0.28rem;
}
.lang-trigger .lang-logo{
  display:block;width:0.27rem;height:0.27rem;object-fit:contain;flex-shrink:0;
  cursor:pointer;
}
/* 下拉列表 */
.lang-drop{
  display:none;
  position:absolute;
  top:100%;
  left:50%;transform:translateX(-50%);
  list-style:none;
  /* padding-top 撑出视觉间距，同时保持鼠标热区连续不断 */
  padding:0.08rem 0 0.06rem;
  background:transparent;
  min-width:0.76rem;
  white-space:nowrap;
  z-index: 5;
}
html.pc .lang-switcher:hover .lang-drop{ display:block; }
.lang-switcher.open .lang-drop{ display:block; }
/* 真正的背景色容器放在 ::after，避免 padding 区域露白 */
.lang-drop::after{
  content:'';
  position:absolute;
  top:0.08rem;left:0;right:0;bottom:0;
  background:rgba(10,10,10,.82);
  border-radius:0.06rem;
  z-index:-1;
}
/* 下拉箭头三角（放在背景层顶部） */
.lang-drop::before{
  content:'';position:absolute;
  top:0.01rem;left:50%;transform:translateX(-50%);
  border-left:0.06rem solid transparent;
  border-right:0.06rem solid transparent;
  border-bottom:0.07rem solid rgba(10,10,10,.82);
}
/* 语言选项 */
.lang-btn{
  display:block;
  position:relative;z-index:1;
  padding:0.07rem 0.2rem;
  font-size:0.16rem;color:rgba(255,255,255,.6);
  text-align:center;cursor:pointer;
  transition:color .15s,background .15s;
}
.lang-btn:hover,.lang-btn.active{ color:#fff;background:rgba(255,255,255,.1); }
/* 移动端尺寸微调 */
html.mb .lang-trigger .lang-logo{ width:0.3rem;height:0.3rem; }
html.mb .lang-btn{ font-size:0.22rem;padding:0.1rem 0.24rem; }
#fullpage-swiper>.swiper-wrapper>.swiper-slide{
  background: rgba(0, 0, 0, 1);
}
#fullpage-swiper>.swiper-wrapper>.swiper-slide:last-child{
  background: rgba(0, 0, 0, 0.8);
}
