/* ===========================================================
 * Hero Login + Language Switcher — Shared Component (m202606)
 * Extracted from home.css for cross-page reuse.
 * =========================================================== */

/* ===========================================================
 * 语言切换 (右上角): globe icon + 当前语言 + 下拉菜单
 * =========================================================== */
.language-switcher {
    position: absolute;
    right: .29rem;
    top: 1.80rem;
    z-index: 120;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    color: #f9c150;
    font-family: "HYYouYuan", Arial, Helvetica, sans-serif;
    font-weight: 900;
}

[data-lang="ja"] .language-switcher {
    font-family: "ja2";
}

.language-current {
    display: flex;
    align-items: center;
    gap: .08rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

/* [gap-fallback:iOS13] .language-current */
.language-current > * + * { margin-left: .08rem; }
@supports (inset-inline: 0) {
  .language-current { gap: .08rem; }
  .language-current > * + * { margin-left: 0; }
}

.language-current__icon {
    display: block;
    width: .73rem;
    height: .72rem;
    margin-right: .10rem;
}

.language-current__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.language-current__code {
    font-size: .40rem;
    line-height: 1;
    color: #f9c150;
    letter-spacing: -.025em;
}

.language-current__arrow {
    font-size: .28rem;
    color: #f9c150;
    margin-top: .02rem;
}

/* 下拉菜单：默认隐藏 */
.language-menu {
    display: none;
    flex-direction: column;
    align-items: center;
    margin-top: .12rem;
    margin-left: .91rem;
}

.language-switcher.is-active .language-menu {
    display: flex;
}

.language-option {
    display: block;
    font-size: .40rem;
    line-height: .52rem;
    letter-spacing: -.025em;
    color: #f4eee1;
    text-align: center;
}

.language-option.is-active {
    color: #f9c150;
}

/* 五个圆点虚线分隔 */
.language-menu__dots {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .06rem;
    padding: .08rem 0;
}

/* [gap-fallback:iOS13] .language-menu__dots */
.language-menu__dots > * + * { margin-left: .06rem; }
@supports (inset-inline: 0) {
  .language-menu__dots { gap: .06rem; }
  .language-menu__dots > * + * { margin-left: 0; }
}

.language-menu__dots i {
    display: block;
    width: .06rem;
    height: .06rem;
    border-radius: 50%;
    background: rgba(255, 255, 255, .7);
}

/* ===========================================================
 * 左侧 LOGIN 按钮
 * =========================================================== */
.hero-login {
    position: absolute;
    left: .40rem;
    top: 2.02rem;
    z-index: 91;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 1.59rem;
    height: .33rem;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: "HYYouYuan", "Arial Rounded MT Bold", Arial, Helvetica, sans-serif;
    font-size: .36rem;
    font-weight: normal;
    font-stretch: normal;
    line-height: .23rem;
    letter-spacing: -.01rem;
    white-space: nowrap;
    color: #f5efdf;
    cursor: pointer;
    transition: transform .18s var(--ease-out);
}

[data-lang="ja"] .hero-login {
    font-family: "ja2";
}

.hero-login[hidden] {
    display: none;
}

.hero-login__text {
    color: #f9c150;
    margin: 0 .08rem;
}

.hero-login:active {
    transform: scale(.96);
}

/* 已登录态：[NICKN...] LOGOUT */
.hero-login-logged {
    position: absolute;
    left: .40rem;
    top: 2.02rem;
    z-index: 91;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    height: .33rem;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: "HYYouYuan", "Arial Rounded MT Bold", Arial, Helvetica, sans-serif;
    font-size: .36rem;
    font-weight: normal;
    font-stretch: normal;
    line-height: .23rem;
    letter-spacing: -.01rem;
    white-space: nowrap;
    color: #f5efdf;
}

[data-lang="ja"] .hero-login-logged {
    font-family: "ja2";
}

.hero-login-logged[hidden] {
    display: none;
}

.hero-login-logged__name {
    display: inline-block;
    color: #f9c150;
    margin: 0 .08rem;
}

[data-lang="ja"] .hero-login-logged__name {
    font-family: "ja2";
}

.hero-login-logged__logout {
    margin-left: .28rem;
    padding: .12rem 0 .08rem;
    border: 0;
    border-bottom: .02rem solid currentColor;
    background: transparent;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    color: #f5efdf;
    cursor: pointer;
    transition: transform .18s var(--ease-out);
}

.hero-login-logged__logout:active {
    transform: scale(.96);
}
