/* ==============================
   YixianPro Custom Nav — 自定义导航布局
   统一 z-index 体系、防 FOUC、GPU 加速
   支持: Fullscreen
   ============================== */

/* ---- Z-Index 层级体系 ----
   998  : 搜索面板遮罩
   999  : 导航栏本体
   1000 : 移动端菜单遮罩
   1001 : 移动端菜单面板
   1002 : 主题引导弹窗
   ----------------------------- */

.yixian-custom-nav {
    --cnav-bg: var(--bg-card);
    --cnav-bg-dark: var(--bg-card);
    --cnav-blur: 24px;
    --cnav-height: 64px;
}

/* ---- 粘性定位 ---- */
.yixian-custom-nav--sticky {
    position: sticky;
    top: 0;
    z-index: 999;
}

.yixian-custom-nav--fullscreen.yixian-custom-nav--sticky {
    position: static;
}

/* ---- 通用操作按钮 ---- */
.yixian-cnav-action-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 1em;
    min-width: 1em;
    height: 1em;
    line-height: 1;
    padding: 0;
    border: none;
    background: none;
    color: var(--text-primary);
    font-size: 1.25rem;
    cursor: pointer;
    z-index: 29;
    transition: color 0.7s, transform 0.7s;
}

.yixian-cnav-action-btn:hover {
    color: var(--yixian-star);
    transform: none;
}

.yixian-cnav-fullscreen .has-tip::after {
    content: attr(title);
    position: fixed;
    inset: calc((var(--cnav-height) - 2.5em) / 2) 0 auto;
    width: fit-content;
    margin: auto;
    padding: 0.75em 2em;
    color: var(--bg-card, #fff);
    font-size: 0.75rem;
    line-height: 1;
    white-space: nowrap;
    border-radius: min(var(--border-radius) * 2, 2em);
    background: var(--text-primary);
    -webkit-backdrop-filter: saturate(1.8) blur(20px);
    backdrop-filter: saturate(1.8) blur(20px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(0.9) translateY(-110%);
    z-index: 31;
    transition: 0.5s cubic-bezier(0.5, 0, 0, 1.4);
}

.yixian-cnav-fullscreen .has-tip:hover::after {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.yixian-cnav-fullscreen:has(.has-tip:hover) .yixian-cnav-fullscreen__note-link .has-line-clamp {
    transform: scale(1.1) translateY(110%);
    opacity: 0;
}

.yixian-cnav-action-btn:active {
    scale: none;
}

/* ---- 主题切换按钮 ---- */
.yixian-cnav-theme-toggle {
    position: relative;
    border-radius: 50%;
    background: none;
    border: none;
}

.yixian-cnav-theme-icon-sun,
.yixian-cnav-theme-icon-moon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.yixian-cnav-theme-icon-sun {
    display: none;
}

.yixian-cnav-theme-icon-moon {
    display: block;
}

html[data-theme="dark"] .yixian-cnav-theme-icon-sun {
    display: block;
}

html[data-theme="dark"] .yixian-cnav-theme-icon-moon {
    display: none;
}

/* ---- 主题下拉 ---- */
.yixian-cnav-theme-dropdown {
    position: relative;
}

.yixian-cnav-theme-options {
    position: absolute;
    top: 3em;
    right: 0;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    background: var(--yixian-bg-card);
    padding: .25em;
    border-radius: var(--yixian-r-md);
    border: 1px solid var(--yixian-border-soft);
    box-shadow: var(--yixian-shadow-2);
    min-width: 130px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-.5em);
    transition: opacity .2s, visibility .2s, transform .2s;
    z-index: 30;
}

.yixian-cnav-theme-dropdown.is-open .yixian-cnav-theme-options {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.yixian-cnav-theme-option {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: .5em .75em;
    font-size: .8125rem;
    color: var(--yixian-text-soft);
    border-radius: var(--yixian-r-sm);
    border: none;
    background: transparent;
    cursor: pointer;
    transition: color .2s, background-color .2s;
    white-space: nowrap;
}

.yixian-cnav-theme-option:hover {
    color: var(--yixian-primary-2);
    background: var(--yixian-primary-soft);
}

.yixian-cnav-theme-option.is-active {
    color: var(--yixian-primary-2);
    background: var(--yixian-primary-soft);
    font-weight: 600;
}

/* ---- 移动端主题切换 ---- */
.yixian-cnav-mobile-theme {
    padding: 1em 0;
    border-top: 1px solid var(--yixian-border-soft);
    margin-top: .5em;
}

.yixian-cnav-mobile-theme__label {
    display: block;
    font-size: .75rem;
    color: var(--yixian-text-mute);
    margin-bottom: .5em;
    text-transform: uppercase;
    letter-spacing: .05em;
}

.yixian-cnav-mobile-theme__options {
    display: flex;
    gap: 6px;
    background: var(--yixian-bg-soft);
    padding: 3px;
    border-radius: var(--yixian-r-pill);
    border: 1px solid var(--yixian-border-soft);
}

.yixian-cnav-mobile-theme__option {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 10px;
    border-radius: var(--yixian-r-pill);
    font-size: .75rem;
    font-weight: 500;
    color: var(--yixian-text-soft);
    border: none;
    background: transparent;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}

.yixian-cnav-mobile-theme__option:hover {
    color: var(--yixian-text);
}

.yixian-cnav-mobile-theme__option.is-active {
    background: var(--yixian-bg-card);
    color: var(--yixian-primary-2);
    font-weight: 600;
    box-shadow: var(--yixian-shadow-1);
}

.yixian-cnav-theme-toggle:focus:not(:focus-visible) {
    outline: none;
}

.yixian-cnav-theme-toggle .toggle-icon-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ---- 通用菜单项样式 ---- */
.yixian-custom-nav .yixian-navbar__item {
    position: relative;
}

.yixian-custom-nav .yixian-navbar__link {
    display: flex;
    align-items: center;
    gap: var(--space-1);
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
    font-size: 0.9375rem;
    font-weight: 500;
    border-radius: var(--border-radius-sm);
    transition: color var(--transition-fast), background-color var(--transition-fast);
    white-space: nowrap;
    text-decoration: none;
}

.yixian-custom-nav .yixian-navbar__link:hover {
    color: var(--yixian-star);
    background-color: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.08);
}

.yixian-custom-nav .yixian-navbar__arrow {
    width: 14px;
    height: 14px;
    transition: transform var(--transition-fast);
}

.yixian-custom-nav .yixian-navbar__item:hover > .yixian-navbar__link .yixian-navbar__arrow {
    transform: rotate(180deg);
}

.yixian-custom-nav .yixian-navbar__submenu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 180px;
    padding: var(--space-2);
    background: var(--bg-card);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast);
    z-index: 100;
    list-style: none;
    margin: 0;
}

.yixian-custom-nav .yixian-navbar__item:hover > .yixian-navbar__submenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.yixian-custom-nav .yixian-navbar__submenu .yixian-navbar__link {
    padding: var(--space-2) var(--space-3);
    border-radius: var(--border-radius-sm);
}

.yixian-custom-nav .current-menu-item > .yixian-navbar__link,
.yixian-custom-nav .current-menu-ancestor > .yixian-navbar__link {
    color: var(--yixian-star);
}

/* ==============================
   Fullscreen Layout (全屏导航栏)
   ============================== */
.yixian-cnav-fullscreen {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: space-between;
    inset: 0 0 auto;
    font-size: 0.875rem;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    height: var(--cnav-height);
    padding: 0 var(--space-6);
    gap: 1.25em;
    border-radius: min(var(--border-radius) * 2, 2em);
    z-index: 30;
    will-change: opacity;
    contain: style;
    transition: opacity 0.5s, transform 0.5s, inset 0s, max-width 0.5s, width 0.5s, padding 0.5s;
}

.yixian-cnav-fullscreen.is-scrolled {
    max-width: calc(var(--container-max) + var(--space-6) * 2);
}

.yixian-cnav-fullscreen::before {
    content: "";
    position: absolute;
    inset: 0.5em;
    background-color: rgba(250,251,255,.82);
    -webkit-backdrop-filter: blur(2em);
    backdrop-filter: blur(2em);
    box-shadow: 0 0.2rem 1rem 0 rgba(20,20,40,.08);
    border-radius: min(var(--border-radius) * 2, 2em);
    outline: thin solid rgba(20,20,40,.04);
    transform: none;
    pointer-events: none !important;
    opacity: 1;
    z-index: 0;
    transition: inherit;
}

html[data-theme="dark"] .yixian-cnav-fullscreen::before {
    background-color: rgba(15,17,22,.82);
    box-shadow: 0 0.2rem 1rem 0 rgba(0,0,0,.25);
    outline: thin solid rgba(255,255,255,.04);
}



.yixian-cnav-fullscreen.is-hidden {
    width: fit-content;
    max-width: fit-content;
    justify-content: center;
    padding: 0 1.5em;
}

.yixian-cnav-fullscreen.is-hidden::before {
    border-radius: 2em;
    inset: 0.25em;
    transition: inherit, border-radius 0.5s, inset 0.5s;
}

.yixian-cnav-fullscreen.is-hidden > *:where(:not(.yixian-cnav-fullscreen__logo)) {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.yixian-cnav-fullscreen.is-hidden .yixian-cnav-fullscreen__logo::before {
    border-radius: 2em;
    inset: -50% -120%;
}

.yixian-cnav-fullscreen__logo {
    --back-mask: radial-gradient(farthest-side at top, #000 50%, #0000);
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: inherit;
    line-height: 1;
    flex: none;
    cursor: pointer;
    z-index: 2;
    text-decoration: none;
    transition: 0.5s cubic-bezier(0.5, 0, 0, 1.4);
}

.yixian-cnav-fullscreen__logo::before {
    content: "";
    position: absolute;
    inset: -100% -150%;
    -webkit-backdrop-filter: blur(2em);
    backdrop-filter: blur(2em);
    -webkit-mask: var(--back-mask);
    mask: var(--back-mask);
    pointer-events: none;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.5s;
}

.yixian-cnav-fullscreen.is-hidden .yixian-cnav-fullscreen__logo::before {
    animation: cnavOpacityIn 0.3s forwards 0.5s;
}

@keyframes cnavOpacityIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.yixian-cnav-fullscreen__logo-img {
    min-height: 1em;
    max-height: 3em;
    height: 2.25em;
    width: auto;
    transition: inherit;
}

html[data-theme="dark"] .yixian-cnav-fullscreen__logo-img--light {
    display: none;
}

html:not([data-theme="dark"]) .yixian-cnav-fullscreen__logo-img--dark {
    display: none;
}

.yixian-cnav-fullscreen__logo-text {
    font-size: 1.5em;
    font-weight: 700;
    background: linear-gradient(135deg, var(--yixian-star), var(--yixian-satellite));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.02em;
    transition: none;
}

.yixian-cnav-fullscreen__logo-name {
    font-size: 1.25em;
    font-weight: 700;
    background: linear-gradient(135deg, var(--yixian-star), var(--yixian-satellite));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: -0.02em;
    line-height: 1.2;
    transition: none;
}

.yixian-cnav-fullscreen__logo-sub {
    font-size: 0.625em;
    color: var(--text-tertiary, var(--color-muted, hsl(0 0% 45%)));
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.3;
    margin-top: 0.1em;
}

.yixian-cnav-fullscreen__nav {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    transition: inherit;
}

.yixian-cnav-fullscreen__menu {
    display: grid;
    grid: auto / auto-flow max-content;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 0;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__item {
    position: relative;
    padding: 0.5em;
    border-radius: var(--border-radius);
    transition: background-color 0.3s;
}

.yixian-cnav-fullscreen__menu > .yixian-navbar__item::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.6);
    transform: translateX(-50%) scale(0);
    opacity: 0;
    transition: transform 0.3s cubic-bezier(0.6, 0.1, 0, 1), opacity 0.3s;
    pointer-events: none;
    z-index: 3;
}

.yixian-cnav-fullscreen__menu > .yixian-navbar__item.menu-item-has-children:hover::before,
.yixian-cnav-fullscreen__menu > .yixian-navbar__item:has(.yixian-navbar__submenu):hover::before {
    transform: translateX(-50%) scale(1);
    opacity: 0.8;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5em;
    margin: 0 1em 0 -0.5em;
    padding: 0;
    color: var(--text-secondary);
    font-size: inherit;
    font-weight: 600;
    line-height: var(--cnav-height);
    border-radius: var(--border-radius-sm);
    background: none;
    white-space: nowrap;
    text-decoration: none;
    z-index: 2;
    transition: color 0.3s, opacity 0.3s;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__link:hover {
    color: var(--yixian-star);
    background: none;
}

.yixian-cnav-fullscreen__menu:hover > .yixian-navbar__item:not(:hover) > .yixian-navbar__link {
    opacity: 0.5;
}

.yixian-cnav-fullscreen__menu .current-menu-item > .yixian-navbar__link,
.yixian-cnav-fullscreen__menu .current-menu-ancestor > .yixian-navbar__link {
    color: var(--yixian-star);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__arrow {
    width: 14px;
    height: 14px;
    transition: transform 0.3s;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__link .yixian-navbar__arrow {
    transform: rotate(180deg);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu {
    position: fixed;
    width: 360px;
    max-height: calc(100vh - var(--cnav-height) - 1em);
    padding: 0.5em;
    margin: 0 0 0 -2em;
    top: calc(var(--cnav-height) + 0.5em);
    border: 1px solid var(--yixian-border-soft);
    border-radius: var(--border-radius);
    background: rgba(250,251,255,.88);
    -webkit-backdrop-filter: blur(1em) saturate(1.5);
    backdrop-filter: blur(1em) saturate(1.5);
    box-shadow: var(--shadow-md);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1em);
    transform-origin: top left;
    overflow: clip auto;
    z-index: 30;
    list-style: none;
    margin-top: 0;
    transition: 0.5s cubic-bezier(0.6, 0.1, 0, 1);
}

html[data-theme="dark"] .yixian-cnav-fullscreen__menu .yixian-navbar__submenu {
    background: rgba(22,25,34,.94);
    border: 1px solid var(--yixian-border);
    box-shadow: var(--shadow-md);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item {
    --trfm: scaleY(0.95);
    animation: cnavSubmenuItemIn 0.5s cubic-bezier(0.6, 0.2, 0.25, 1) backwards;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(1) { animation-delay: 0.03s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(2) { animation-delay: 0.06s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(3) { animation-delay: 0.09s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(4) { animation-delay: 0.12s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(5) { animation-delay: 0.15s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(6) { animation-delay: 0.18s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(7) { animation-delay: 0.21s; }
.yixian-cnav-fullscreen__menu .yixian-navbar__item:hover > .yixian-navbar__submenu > .yixian-navbar__item:nth-child(8) { animation-delay: 0.24s; }

@keyframes cnavSubmenuItemIn {
    0% {
        opacity: 0;
        transform: var(--trfm, scaleY(0.95));
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__item:hover {
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.05);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__item::before {
    position: absolute;
    pointer-events: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    border-radius: 2em;
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.05);
    transition: inherit;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__item:hover::before {
    color: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.7);
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.1);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__item:hover > .yixian-navbar__submenu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__submenu {
    position: absolute;
    top: 0;
    left: 100%;
    margin-left: 0.5em;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: perspective(2000px) rotateX(-20deg);
    transform-origin: top;
    transition: 0.5s cubic-bezier(0.6, 0.1, 0, 1);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__link {
    padding: 0.5em 0.75em;
    line-height: 1.5;
    font-weight: 600;
    border-radius: var(--border-radius-sm);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__link::before {
    content: "";
    flex: 0 0 2em;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__link::after {
    opacity: 0.3;
    font-size: 0.75em;
    font-family: "yixian-iconfont";
    margin-left: auto;
    transition: transform 0.5s;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__link[target="_blank"]::after {
    content: "\e672";
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .current-menu-item > .yixian-navbar__link::after {
    content: "\e69f";
    color: var(--yixian-star);
    opacity: 0.7;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .menu-item-has-children > .yixian-navbar__link::after {
    content: "\e627";
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .menu-item-has-children:hover > .yixian-navbar__link:not(:hover)::after {
    transform: rotate(90deg);
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__link:hover {
    background: none;
}

.yixian-cnav-fullscreen__menu .yixian-navbar__submenu .yixian-navbar__submenu {
    display: grid;
    grid: auto / repeat(auto-fill, minmax(160px, 1fr));
    gap: 0;
    padding: 0.5em;
}

.yixian-cnav-fullscreen__note {
    position: absolute;
    line-height: 1;
    inset: auto 0;
    margin: 0 auto;
    transform: translateY(-1em);
    width: max(calc(var(--container-max) / 2), 30%);
    visibility: hidden;
    opacity: 0;
    z-index: unset;
    font-size: 0.75rem;
    color: var(--color-muted);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: opacity 0.5s var(--cnav-timf, cubic-bezier(0.6, 0.1, 0, 1)), transform 0.5s var(--cnav-timf, cubic-bezier(0.6, 0.1, 0, 1)), visibility 0.5s;
}

.yixian-cnav-fullscreen.is-scrolled:not(.is-hidden) .yixian-cnav-fullscreen__note {
    visibility: visible;
    opacity: 1;
    transform: none;
}

.yixian-cnav-fullscreen.is-hidden .yixian-cnav-fullscreen__note {
    opacity: 0;
    visibility: hidden;
}

@media (max-width: 1152px) {
    .yixian-cnav-fullscreen__note {
        display: none;
    }

    .yixian-cnav-fullscreen__menu > .yixian-navbar__item::before {
        display: none;
        pointer-events: none;
        transition: none;
    }
}

.has-line-clamp {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: var(--line-num, 1);
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.yixian-cnav-fullscreen__note-link {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-muted, var(--text-tertiary, hsl(0 0% 45%)));
    text-decoration: none;
    transition: color 0.3s;
}

.yixian-cnav-fullscreen__note-link:hover {
    color: var(--yixian-star);
}

.yixian-cnav-fullscreen__note-link .has-line-clamp {
    opacity: 0.8;
    font-size: 0.75rem;
    line-height: 1;
    max-width: 100%;
    text-align: center;
    transition: 0.5s var(--cnav-timf, cubic-bezier(0.6, 0.1, 0, 1)), color 0s;
}

.yixian-cnav-fullscreen__actions {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: inherit;
    gap: inherit;
    flex: 1;
    transition: inherit;
}

/* ---- 全屏导航移动端切换按钮 ---- */
.yixian-cnav-fullscreen__toggle {
    display: none;
}

.yixian-cnav-fullscreen__toggle:hover {
    background: transparent;
}

.yixian-cnav-fullscreen__toggle .yixian-iconfont {
    line-height: 1;
}

/* ---- 全屏导航移动端菜单 ---- */
.yixian-cnav-fullscreen__overlay {
    all: unset;
    position: fixed;
    background: var(--bg-overlay);
    inset: 0;
    z-index: 28;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: pointer;
    transition: 0.7s;
}

.yixian-cnav-fullscreen__overlay.is-visible {
    opacity: 0.7;
    transform: none;
    visibility: visible;
    pointer-events: auto;
}

.yixian-cnav-fullscreen__mobile-menu {
    display: flex;
    flex-flow: column;
    position: fixed;
    inset: calc(var(--cnav-height) + 0.5em) 0.5em 0.5em;
    width: min(360px, 100%);
    height: fit-content;
    max-height: calc(100vh - var(--cnav-height) - 1em);
    padding: 1em;
    margin-inline: auto;
    background-color: rgba(250,251,255,.88);
    -webkit-backdrop-filter: blur(1em) saturate(1.5);
    backdrop-filter: blur(1em) saturate(1.5);
    border-radius: min(var(--border-radius) * 2, 2em);
    border: 1px solid var(--yixian-border-soft);
    box-shadow: var(--shadow-md);
    transform-origin: top;
    z-index: 29;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scaleY(0.95);
    transition: 0.5s cubic-bezier(0.5, 0, 0, 1.5), pointer-events 0s;
}

html[data-theme="dark"] .yixian-cnav-fullscreen__mobile-menu {
    background-color: rgba(22,25,34,.94);
    border: 1px solid var(--yixian-border);
    box-shadow: var(--shadow-md);
}

.yixian-cnav-fullscreen__mobile-menu.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
}

.yixian-cnav-fullscreen__mobile-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 0.5em 0.75em;
    border-bottom: 1px solid var(--border-color-light);
    flex-shrink: 0;
}

.yixian-cnav-fullscreen__mobile-title {
    font-weight: 700;
    font-size: 1.125rem;
    background: linear-gradient(135deg, var(--yixian-star), var(--yixian-satellite));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.yixian-cnav-fullscreen__mobile-close {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: var(--border-radius-full);
    border: none;
    background: transparent;
    color: var(--text-secondary);
    cursor: pointer;
    transition: color 0.3s, background-color 0.3s, transform 0.5s cubic-bezier(0.5, 0, 0, 1.4);
}

.yixian-cnav-fullscreen__mobile-close:hover {
    color: var(--text-primary);
    background: var(--bg-card-hover);
    transform: rotate(90deg);
}

.yixian-cnav-fullscreen__mobile-body {
    flex: 1;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0.5em 0;
    margin: -0.5em;
    -webkit-mask: linear-gradient(#0000, #000 1.5rem, #000 calc(100% - 1.5rem), #0000);
    mask: linear-gradient(#0000, #000 1.5rem, #000 calc(100% - 1.5rem), #0000);
}

.yixian-cnav-fullscreen__mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0.25em 0;
}

.yixian-cnav-fullscreen__mobile-nav .yixian-navbar__link {
    display: flex;
    align-items: center;
    gap: 0.6em;
    padding: 0.7em 0.75em;
    border-radius: var(--border-radius-sm);
    color: var(--text-primary);
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    width: 100%;
    transition: color 0.25s, background-color 0.25s;
}

.yixian-cnav-fullscreen__mobile-nav .yixian-navbar__link:hover {
    color: var(--yixian-star);
    background-color: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.06);
}

.yixian-cnav-fullscreen__mobile-nav .current-menu-item > .yixian-navbar__link,
.yixian-cnav-fullscreen__mobile-nav .current-menu-ancestor > .yixian-navbar__link {
    color: var(--yixian-star);
    background-color: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.08);
    font-weight: 600;
}

.yixian-cnav-fullscreen__mobile-nav .yixian-navbar__submenu {
    padding-left: 1.25em;
    list-style: none;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.yixian-cnav-fullscreen__mobile-nav .yixian-navbar__submenu.is-expanded {
    max-height: 600px;
}

.yixian-cnav-fullscreen__mobile-nav .yixian-navbar__submenu .yixian-navbar__link {
    color: var(--text-secondary);
    font-size: 0.875rem;
    padding: 0.55em 0.75em;
}

.yixian-cnav-fullscreen__mobile-nav .yixian-navbar__submenu .yixian-navbar__link:hover {
    color: var(--yixian-star);
    background-color: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.06);
}

.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item {
    --trfm: scaleY(0.95);
    animation: cnavMobileItemIn 0.5s cubic-bezier(0.6, 0.2, 0.25, 1) backwards;
}

.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(1) { animation-delay: 0.03s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(2) { animation-delay: 0.06s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(3) { animation-delay: 0.09s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(4) { animation-delay: 0.12s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(5) { animation-delay: 0.15s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(6) { animation-delay: 0.18s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(7) { animation-delay: 0.21s; }
.yixian-cnav-fullscreen__mobile-menu.is-open .yixian-cnav-fullscreen__mobile-nav > .yixian-navbar__item:nth-child(8) { animation-delay: 0.24s; }

@keyframes cnavMobileItemIn {
    0% {
        opacity: 0;
        transform: var(--trfm, scaleY(0.95));
    }
    100% {
        opacity: 1;
        transform: none;
    }
}

.yixian-cnav-mobile-theme {
    margin-top: 1.5em;
    padding: 1em 0.5em;
    border-top: 1px solid var(--border-color-light);
}

.yixian-cnav-mobile-theme__label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    color: var(--text-tertiary);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.75em;
    padding: 0 0.5em;
}

.yixian-cnav-mobile-theme__options {
    display: flex;
    gap: 0.5em;
}

.yixian-cnav-mobile-theme__option {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
    padding: 0.65em 0.5em;
    border-radius: var(--border-radius-sm);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: 0.8125rem;
    font-weight: 500;
    border: 1.5px solid transparent;
    transition: all var(--transition-fast);
    cursor: pointer;
}

.yixian-cnav-mobile-theme__option:hover {
    background: var(--yixian-primary-soft);
    color: var(--yixian-star);
}

.yixian-cnav-mobile-theme__option.is-active {
    background: var(--yixian-primary-soft);
    color: var(--yixian-star);
    border-color: var(--yixian-star);
}

/* ---- 移动端用户菜单 ---- */
.yixian-cnav-mobile-user {
    padding: var(--space-3) 0;
    border-top: 1px solid var(--yixian-border-soft);
    margin-top: var(--space-2);
}

.yixian-cnav-mobile-user__profile {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) var(--space-1);
    margin-bottom: var(--space-2);
}

.yixian-cnav-mobile-user__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--yixian-border-soft);
    background: var(--bg-secondary);
}

.yixian-cnav-mobile-user__info {
    flex: 1;
    min-width: 0;
}

.yixian-cnav-mobile-user__name-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    line-height: 1.3;
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
}

.yixian-cnav-mobile-user__bio {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 1px;
}

.yixian-cnav-mobile-user__links {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.yixian-cnav-mobile-user__link,
.yixian-cnav-mobile-user__login {
    display: flex;
    align-items: center;
    gap: 0.6em;
    padding: 0.6em 0.75em;
    font-size: 0.875rem;
    color: var(--text-secondary);
    border-radius: var(--border-radius-sm);
    text-decoration: none;
    transition: color 0.3s, background-color 0.3s;
}

.yixian-cnav-mobile-user__link:hover,
.yixian-cnav-mobile-user__login:hover {
    color: var(--yixian-star);
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.08);
}

.yixian-cnav-mobile-user__link svg,
.yixian-cnav-mobile-user__login svg {
    flex-shrink: 0;
    opacity: 0.7;
}

.yixian-cnav-mobile-user__link:hover svg,
.yixian-cnav-mobile-user__login:hover svg {
    opacity: 1;
}

.yixian-cnav-mobile-user__link--logout {
    color: var(--text-muted);
}

.yixian-cnav-mobile-user__link--logout:hover {
    color: #ef4444;
    background: rgba(239,68,68,.08);
}

.yixian-cnav-mobile-user__link--logout:hover svg {
    opacity: 1;
    color: #ef4444;
}

.yixian-cnav-mobile-user__login {
    color: var(--yixian-star);
    font-weight: 500;
}

/* ---- 移动端底部弹出式菜单 (小屏优化) ---- */
@media (max-width: 641px) {
    .yixian-cnav-fullscreen__mobile-menu {
        inset: auto 0 calc(76px + var(--space-3)) 0;
        width: 100%;
        max-width: 100%;
        margin: 0;
        z-index: -1;
        transform: translateY(100%) scaleY(0.95);
        transform-origin: bottom center;
        transition: 0.5s cubic-bezier(0.6, 0.1, 0, 1.0);
        border-radius: 1em 1em 0 0;
        padding-bottom: var(--yixian-safe-bottom);
    }

    .yixian-cnav-fullscreen__mobile-menu.is-open {
        transform: none;
        z-index: 29;
    }

    .yixian-cnav-fullscreen__mobile-body {
        -webkit-mask: linear-gradient(#0000 0%, #000 1em, #000 calc(100% - 1em), #0000 100%);
        mask: linear-gradient(#0000 0%, #000 1em, #000 calc(100% - 1em), #0000 100%);
        -webkit-overflow-scrolling: touch;
    }
}

/* ---- 主题下拉菜单 ---- */
.yixian-cnav-theme-dropdown {
    position: relative;
}

.yixian-cnav-theme-options {
    position: absolute;
    top: 4.5em;
    right: 0;
    white-space: nowrap;
    display: flex;
    flex-direction: column;
    background-color: rgba(250,251,255,.88);
    -webkit-backdrop-filter: blur(1em) saturate(1.5);
    backdrop-filter: blur(1em) saturate(1.5);
    padding: 0.25em;
    border-radius: var(--border-radius);
    border: 1px solid var(--yixian-border-soft);
    box-shadow: var(--shadow-md);
    min-width: 140px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1em);
    transition: 0.3s;
    z-index: 30;
}

html[data-theme="dark"] .yixian-cnav-theme-options {
    background-color: rgba(22,25,34,.94);
    border: 1px solid var(--yixian-border);
    box-shadow: var(--shadow-md);
}

.yixian-cnav-theme-dropdown:not(.is-open) .yixian-cnav-theme-options {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-1em);
}

.yixian-cnav-theme-dropdown:is(:hover, :focus-within, .is-open) .yixian-cnav-theme-options {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.yixian-cnav-theme-option {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0.5em 0.75em;
    font-size: 0.8125rem;
    color: var(--text-secondary);
    border-radius: var(--border-radius-sm);
    border: none;
    outline: thin solid transparent;
    background: transparent;
    cursor: pointer;
    transition: color 0.3s, background-color 0.3s, outline-color 0.3s;
    white-space: nowrap;
}

.yixian-cnav-theme-option:hover {
    outline-color: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.3);
    color: var(--yixian-star);
}

.yixian-cnav-theme-option.is-active {
    color: var(--yixian-star);
    font-weight: 600;
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.1);
}

/* ---- 用户下拉面板 ---- */
.yixian-cnav-user-dropdown {
    position: relative;
}

.yixian-cnav-user-btn {
    width: 1em;
    height: 1em;
    padding: 0;
    border-radius: 50%;
    overflow: hidden;
}

.yixian-cnav-user-btn img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.yixian-cnav-login-btn {
    display: flex;
    align-items: center;
    gap: 0.25em;
    color: var(--yixian-star);
}

.yixian-cnav-login-btn:hover {
    color: var(--yixian-satellite);
}

.yixian-cnav-user-panel {
    position: absolute;
    top: calc(100% + var(--space-3));
    right: 0;
    width: 300px;
    background-color: rgba(250,251,255,.95);
    -webkit-backdrop-filter: blur(1.2em) saturate(1.5);
    backdrop-filter: blur(1.2em) saturate(1.5);
    border-radius: var(--border-radius-lg);
    border: 1px solid var(--yixian-border-soft);
    box-shadow: 0 8px 32px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
    padding: var(--space-4);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-0.625rem);
    transition: opacity .28s ease, visibility .28s ease, transform .28s cubic-bezier(.16,1,.3,1);
    z-index: 30;
}

.yixian-cnav-user-panel::before {
    content: '';
    position: absolute;
    top: -6px;
    right: 8px;
    width: 12px;
    height: 6px;
    background: rgba(250,251,255,.95);
    -webkit-backdrop-filter: blur(1.2em) saturate(1.5);
    backdrop-filter: blur(1.2em) saturate(1.5);
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
    z-index: 31;
}

html[data-theme="dark"] .yixian-cnav-user-panel {
    background-color: rgba(22,25,34,.96);
    border: 1px solid var(--yixian-border);
    box-shadow: 0 8px 32px rgba(0,0,0,.35), 0 2px 8px rgba(0,0,0,.18);
}

html[data-theme="dark"] .yixian-cnav-user-panel::before {
    background: rgba(22,25,34,.96);
}

.yixian-cnav-user-dropdown:not(.is-open) .yixian-cnav-user-panel {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-0.625rem);
}

.yixian-cnav-user-dropdown:is(:hover, :focus-within, .is-open) .yixian-cnav-user-panel {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

/* 头部信息 */
.yixian-cnav-panel__header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding-bottom: var(--space-3);
    margin-bottom: var(--space-3);
    border-bottom: 1px solid var(--yixian-border-soft);
}

.yixian-cnav-panel__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid var(--yixian-border-soft);
    background: var(--bg-secondary);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    font-weight: 700;
    color: var(--text-muted);
    overflow: hidden;
}

.yixian-cnav-panel__info {
    flex: 1;
    min-width: 0;
}

.yixian-cnav-panel__name-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    line-height: 1.3;
}

.yixian-cnav-panel__name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--text-primary);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.yixian-cnav-panel__badge {
    font-size: 0.6875rem;
    font-weight: 700;
    padding: 1px 7px;
    border-radius: 999px;
    line-height: 1.6;
    letter-spacing: 0.02em;
    flex-shrink: 0;
}

.yixian-cnav-panel__badge--level {
    background: linear-gradient(135deg, #667eea, #764ba2);
    color: #fff;
}

.yixian-cnav-panel__bio {
    display: block;
    font-size: 0.75rem;
    color: var(--text-muted);
    margin-top: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* VIP 行 */
.yixian-cnav-panel__vip-row {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    background: var(--bg-secondary);
    border-radius: var(--border-radius);
    padding: var(--space-2) var(--space-3);
}

.yixian-cnav-panel__vip-badge {
    font-size: 0.75rem;
    font-weight: 600;
    color: #8b5cf6;
    padding-left: 18px;
    position: relative;
}

.yixian-cnav-panel__vip-badge::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%238b5cf6'%3E%3Cpath d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/%3E%3C/svg%3E") no-repeat center/contain;
}

.yixian-cnav-panel__vip-btn {
    font-size: 0.6875rem;
    font-weight: 600;
    color: #f97316;
    background: rgba(249,115,22,.08);
    border: 1px solid rgba(249,115,22,.2);
    border-radius: 999px;
    padding: 3px 10px;
    text-decoration: none;
    transition: all .2s;
    margin-left: auto;
}

.yixian-cnav-panel__vip-btn:hover {
    background: rgba(249,115,22,.15);
    color: #ea580c;
}

/* 签到横幅 */
.yixian-cnav-panel__signin {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    background: linear-gradient(135deg, rgba(249,115,22,.08), rgba(245,158,11,.08));
    border: 1px solid rgba(249,115,22,.12);
    border-radius: var(--border-radius);
    padding: var(--space-2) var(--space-3);
    text-decoration: none;
    color: #ea580c;
    font-size: 0.8125rem;
    font-weight: 500;
    transition: all .2s;
    margin-bottom: var(--space-3);
}

.yixian-cnav-panel__signin:hover {
    background: linear-gradient(135deg, rgba(249,115,22,.14), rgba(245,158,11,.14));
    border-color: rgba(249,115,22,.25);
}

.yixian-cnav-panel__signin:disabled {
    cursor: default;
}

.yixian-cnav-panel__signin.is-checked {
    background: linear-gradient(135deg, rgba(16,185,129,.08), rgba(5,150,105,.08));
    border-color: rgba(16,185,129,.14);
    color: #059669;
    cursor: default;
}

.yixian-cnav-panel__signin.is-checked:hover {
    background: linear-gradient(135deg, rgba(16,185,129,.08), rgba(5,150,105,.08));
    border-color: rgba(16,185,129,.14);
}

.yixian-cnav-panel__signin svg {
    flex-shrink: 0;
    opacity: 0.85;
}

/* 圈子区块 */
.yixian-cnav-panel__circles {
    margin-bottom: var(--space-3);
    padding: var(--space-2) 0;
    border-top: 1px solid var(--yixian-border-soft);
    border-bottom: 1px solid var(--yixian-border-soft);
}

.yixian-cnav-panel__circles-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--space-1);
    padding: 0 var(--space-1);
    font-size: 0.75rem;
    color: var(--text-muted);
    font-weight: 500;
}

.yixian-cnav-panel__circles-more {
    color: var(--link-color, #ff7eb3);
    font-size: 0.7rem;
    text-decoration: none;
    font-weight: 400;
    padding: 2px 6px;
    border-radius: 4px;
    transition: background .15s;
}

.yixian-cnav-panel__circles-more:hover {
    background: rgba(255,126,179,.08);
}

.yixian-cnav-panel__circles-list {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.yixian-cnav-panel__circle-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 5px var(--space-2);
    border-radius: var(--border-radius-sm);
    text-decoration: none;
    transition: background .15s;
}

.yixian-cnav-panel__circle-item:hover {
    background: var(--bg-secondary);
}

.yixian-cnav-panel__circle-name {
    font-size: 0.8rem;
    color: var(--text-primary);
    font-weight: 500;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 180px;
}

.yixian-cnav-panel__circle-meta {
    font-size: 0.7rem;
    color: var(--text-muted);
    flex-shrink: 0;
    margin-left: var(--space-2);
}

/* 统计行 */
.yixian-cnav-panel__stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.yixian-cnav-panel__stat-item {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    background: var(--bg-secondary);
    border-radius: var(--border-radius-sm);
}

.yixian-cnav-panel__stat-label {
    font-size: 0.75rem;
    color: var(--text-muted);
}

.yixian-cnav-panel__stat-value {
    font-size: 0.9375rem;
    font-weight: 700;
    color: var(--text-primary);
}

.yixian-cnav-panel__stat-value small {
    font-size: 0.75rem;
    margin-left: 2px;
}

/* 计数器 */
.yixian-cnav-panel__counters {
    display: flex;
    align-items: center;
    justify-content: space-around;
    padding: var(--space-3) 0;
    border-top: 1px solid var(--yixian-border-soft);
    border-bottom: 1px solid var(--yixian-border-soft);
    margin-bottom: var(--space-3);
}

.yixian-cnav-panel__counter {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.75rem;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color .2s;
}

.yixian-cnav-panel__counter--link:hover {
    color: var(--yixian-star);
}

.yixian-cnav-panel__counter strong {
    font-weight: 600;
    color: var(--text-primary);
    transition: color .2s;
}

.yixian-cnav-panel__counter--link:hover strong {
    color: var(--yixian-star);
}

.yixian-cnav-panel__counter span {
    font-size: 0.875rem;
}

/* 评论图标优化 */
.yixian-icon-comment {
    opacity: 0.75;
    transition: all 0.2s ease;
}

.yixian-icon-comment:hover {
    opacity: 1;
    color: var(--yixian-star);
}

/* 橙色评论图标（个人面板专用） */
.yixian-icon-comment-orange {
    transition: all 0.3s ease;
    filter: drop-shadow(0 1px 3px rgba(255, 140, 0, 0.35));
}

.yixian-icon-comment-orange:hover {
    fill: #FF6B00;
    filter: drop-shadow(0 2px 6px rgba(255, 100, 0, 0.5));
}

/* 统计图标通用样式 */
.yixian-icon-stat {
    vertical-align: -2px;
    margin-right: 3px;
    opacity: 0.7;
    transition: all 0.2s ease;
}

.yixian-stat-item:hover .yixian-icon-stat {
    opacity: 1;
    transform: scale(1.1);
}

.yixian-stat-item {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    transition: color 0.2s ease;
}

.yixian-stat-item:hover {
    color: var(--yixian-star);
}

/* 内联图标 */
.yixian-icon-inline {
    display: inline-block;
    opacity: 0.7;
    transition: all 0.2s ease;
}

.yixian-icon-inline:hover {
    opacity: 1;
    color: var(--yixian-star);
}

/* 底部操作 */
.yixian-cnav-panel__actions {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-2);
}

.yixian-cnav-panel__action {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: var(--space-2) var(--space-1);
    text-decoration: none;
    color: var(--text-secondary);
    border-radius: var(--border-radius-sm);
    transition: all .2s;
}

.yixian-cnav-panel__action:hover {
    color: var(--yixian-star);
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.06);
}

.yixian-cnav-panel__action svg {
    width: 20px;
    height: 20px;
    stroke-width: 1.8;
}

.yixian-cnav-panel__action span {
    font-size: 0.6875rem;
    white-space: nowrap;
}

/* 用户面板响应式 */

/* 深色模式细节适配 */
html[data-theme="dark"] .yixian-cnav-panel__signin {
    background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(245,158,11,.12));
    border-color: rgba(249,115,22,.2);
    color: #fb923c;
}

html[data-theme="dark"] .yixian-cnav-panel__signin:hover {
    background: linear-gradient(135deg, rgba(249,115,22,.18), rgba(245,158,11,.18));
}

html[data-theme="dark"] .yixian-cnav-panel__signin.is-checked {
    background: linear-gradient(135deg, rgba(16,185,129,.12), rgba(5,150,105,.12));
    border-color: rgba(16,185,129,.2);
    color: #34d399;
}

html[data-theme="dark"] .yixian-cnav-panel__circles {
    border-color: var(--yixian-border);
}

html[data-theme="dark"] .yixian-cnav-panel__circle-item:hover {
    background: rgba(255,255,255,.04);
}

html[data-theme="dark"] .yixian-cnav-panel__stat-item {
    background: rgba(255,255,255,.04);
}

html[data-theme="dark"] .yixian-cnav-panel__vip-row {
    background: rgba(255,255,255,.04);
}

html[data-theme="dark"] .yixian-cnav-panel__vip-badge {
    color: #a78bfa;
}

html[data-theme="dark"] .yixian-cnav-panel__vip-badge::before {
    opacity: 0.9;
}

html[data-theme="dark"] .yixian-cnav-panel__badge--level {
    background: linear-gradient(135deg, #818cf8, #a78bfa);
}

html[data-theme="dark"] .yixian-cnav-panel__action:hover {
    background: rgba(255,255,255,.05);
}

@media (max-width: 640px) {
    .yixian-cnav-user-panel {
        position: fixed;
        top: calc(var(--cnav-height) + var(--space-2));
        left: 50%;
        right: auto;
        transform: translateX(-50%) translateY(-0.625rem);
        width: calc(100vw - var(--space-8));
        max-width: 360px;
    }

    .yixian-cnav-user-panel::before {
        display: none;
    }

    .yixian-cnav-user-dropdown:is(:hover, :focus-within, .is-open) .yixian-cnav-user-panel {
        transform: translateX(-50%) translateY(0);
    }
}

@media (max-width: 480px) {
    .yixian-cnav-user-panel {
        width: calc(100vw - var(--space-6));
        padding: var(--space-3);
    }

    .yixian-cnav-panel__avatar {
        width: 40px;
        height: 40px;
    }

    .yixian-cnav-panel__name {
        font-size: 0.85rem;
    }

    .yixian-cnav-panel__actions {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ---- 全屏导航响应式 ---- */
@media (min-width: 1153px) {
    .yixian-cnav-fullscreen__logo {
        position: absolute;
        inset: 0 var(--space-6);
        margin: auto;
        width: fit-content;
    }

    .yixian-cnav-fullscreen.is-scrolled:not(.is-hidden) .yixian-cnav-fullscreen__logo {
        transform: scale(0.9) translateY(-110%);
        opacity: 0;
    }

    .yixian-cnav-fullscreen.is-hidden .yixian-cnav-fullscreen__logo {
        transform: none;
        opacity: 1;
    }
}

@media (max-width: 1152px) {
    .yixian-cnav-fullscreen {
        display: none;
    }

    .yixian-cnav-fullscreen__toggle {
        display: flex;
    }

    .yixian-cnav-fullscreen__logo {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        margin: 0;
    }

    .yixian-cnav-fullscreen.is-scrolled:not(.is-hidden) .yixian-cnav-fullscreen__logo {
        transform: translate(-50%, -50%);
        opacity: 1;
    }

    .yixian-cnav-fullscreen.is-hidden .yixian-cnav-fullscreen__logo {
        transform: translate(-50%, -50%);
        opacity: 1;
    }

    .yixian-cnav-fullscreen.is-hidden {
        width: 100%;
        max-width: 100%;
    }

    .yixian-cnav-fullscreen__mobile-menu {
        bottom: calc(76px + var(--space-3));
        max-height: calc(100vh - var(--cnav-height) - 80px - var(--space-3));
        padding-bottom: calc(var(--space-4) + var(--yixian-safe-bottom));
    }
}

/* ---- 对话框状态管理 ---- */
.yixian-dialog-mask {
    all: unset;
    position: fixed;
    inset: 0;
    z-index: 28;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    cursor: pointer;
    -webkit-backdrop-filter: blur(2px);
    backdrop-filter: blur(2px);
    transition: opacity var(--yixian-dur-4) var(--yixian-ease-out),
                visibility 0s var(--yixian-dur-4);
}
.yixian-dialog-mask.open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity var(--yixian-dur-3) var(--yixian-ease-out),
                visibility 0s 0s;
}
body.yixian-dialog-is-open {
    overflow: hidden;
}

body.yixian-mobile-menu-is-open .yixian-cnav-fullscreen__toggle {
    pointer-events: auto;
}

/* ==============================
   Go-Top 阅读进度按钮
   ============================== */
.yixian-cnav-go-top {
    position: relative;
    width: 2em;
    min-width: 2em;
    height: 2em;
    padding: 0;
    gap: 0;
    font-size: 0.75rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    margin-inline: -0.85em;
    background: currentColor;
    color: var(--text-primary);
    border-radius: 999px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transform: scale(0.9) translateY(-0.25em);
    transition: opacity 0.5s, transform 0.5s, visibility 0.5s, color 0.7s, margin 0.5s;
}

.yixian-cnav-fullscreen.is-scrolled:not(.is-hidden) .yixian-cnav-go-top {
    opacity: 1;
    visibility: visible;
    margin-inline: 0;
    transform: none;
}

.yixian-cnav-go-top__num {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    font-style: normal;
    transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    line-height: 1;
    white-space: nowrap;
}

.yixian-cnav-go-top__num--icon {
    color: var(--yixian-star);
    transform: translateY(120%);
    opacity: 0;
}

.yixian-cnav-go-top__num--text {
    color: var(--bg-card, #fff);
    transform: translateY(0);
    opacity: 1;
}

.yixian-cnav-go-top:hover .yixian-cnav-go-top__num--text,
.yixian-cnav-go-top__num.is-hidden {
    opacity: 0;
    transform: translateY(-120%);
}

.yixian-cnav-go-top:hover .yixian-cnav-go-top__num--icon,
.yixian-cnav-go-top__num--icon:not(.is-hidden) {
    opacity: 1;
    transform: translateY(0);
}

/* ==============================
   Search Panel
   ============================== */
.yixian-navbar__search-panel {
    position: fixed; top: var(--cnav-height); left: 50%; transform: translateX(-50%) translateY(-10px);
    padding: var(--space-4);
    background: var(--bg-card); border: 1px solid var(--border-color-light);
    border-radius: var(--border-radius); box-shadow: var(--shadow-lg);
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .3s, transform .3s, visibility .3s;
    z-index: 29;
    max-width: 600px; width: calc(100% - 2em);
}
.yixian-navbar__search-panel.is-open {
    opacity: 1; visibility: visible; pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
.yixian-navbar__search-form { display: flex; gap: 0; }
.yixian-navbar__search-input {
    flex: 1; padding: 12px 16px;
    border: 1px solid var(--border-color); border-right: none;
    border-radius: var(--border-radius-full, 999px) 0 0 var(--border-radius-full, 999px);
    background: var(--bg-secondary); color: var(--text-primary);
    font-size: .9375rem; outline: none;
}
.yixian-navbar__search-input:focus { border-color: var(--yixian-star); }
.yixian-navbar__search-submit {
    padding: 12px 18px;
    background: linear-gradient(135deg, var(--yixian-star), var(--yixian-satellite)); color: #fff;
    border: none; border-radius: 0 var(--border-radius-full, 999px) var(--border-radius-full, 999px) 0;
    font-weight: 600; cursor: pointer;
}
.yixian-navbar__search-meta {
    margin-top: 12px;
    color: var(--text-secondary);
    font-size: .875rem;
    line-height: 1.6;
}
.yixian-navbar__search-results {
    display: grid;
    gap: 10px;
    margin-top: 14px;
    max-height: min(60vh, 520px);
    overflow-y: auto;
}
.yixian-navbar__search-empty {
    padding: 14px 16px;
    border: 1px dashed var(--border-color-light);
    border-radius: var(--border-radius);
    background: var(--bg-secondary);
    color: var(--text-secondary);
    font-size: .875rem;
    line-height: 1.7;
}
.yixian-navbar__search-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border-color-light);
    border-radius: var(--border-radius);
    background: var(--bg-secondary);
    text-decoration: none;
    color: inherit;
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.yixian-navbar__search-card:hover {
    transform: translateY(-1px);
    border-color: var(--yixian-star);
    box-shadow: var(--shadow-md);
}
.yixian-navbar__search-thumb {
    width: 72px;
    height: 72px;
    border-radius: 16px;
    overflow: hidden;
    background: var(--bg-card);
}
.yixian-navbar__search-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.yixian-navbar__search-body {
    min-width: 0;
}
.yixian-navbar__search-head {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.yixian-navbar__search-type,
.yixian-navbar__search-cat {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 600;
}
.yixian-navbar__search-type {
    background: color-mix(in srgb, var(--yixian-star) 16%, transparent);
    color: var(--yixian-star);
}
.yixian-navbar__search-cat {
    background: var(--bg-card);
    color: var(--text-secondary);
}
.yixian-navbar__search-title {
    margin-top: 8px;
    color: var(--text-primary);
    font-size: .975rem;
    font-weight: 700;
    line-height: 1.45;
}
.yixian-navbar__search-excerpt {
    margin-top: 6px;
    color: var(--text-secondary);
    font-size: .875rem;
    line-height: 1.7;
}
.yixian-navbar__search-foot {
    margin-top: 8px;
    color: var(--text-tertiary, var(--text-secondary));
    font-size: .75rem;
}
.yixian-navbar__search-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border-radius: var(--border-radius-full, 999px);
    background: var(--bg-secondary);
    border: 1px solid var(--border-color-light);
    color: var(--text-primary);
    text-decoration: none;
    font-size: .875rem;
    font-weight: 600;
}
.yixian-navbar__search-more:hover {
    border-color: var(--yixian-star);
    color: var(--yixian-star);
}
.yixian-search-highlight {
    padding: 0 .18em;
    border-radius: .35em;
    background: color-mix(in srgb, var(--yixian-star) 18%, transparent);
    color: inherit;
}

@media (max-width: 480px) {
    .yixian-navbar__search-card {
        grid-template-columns: 56px minmax(0, 1fr);
    }
    .yixian-navbar__search-thumb {
        width: 56px;
        height: 56px;
        border-radius: 14px;
    }
}

/* ==============================
   Floating Theme Toggle (浮动主题切换)
   ============================== */
.yixian-theme-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 998;
    pointer-events: auto;
}

.yixian-theme-float__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1px solid var(--border-color-light);
    border-radius: 50%;
    background: var(--bg-card);
    color: var(--text-primary);
    cursor: pointer;
    box-shadow: var(--shadow-lg);
    transition: background-color var(--theme-transition-duration) ease,
                border-color var(--theme-transition-duration) ease,
                color var(--theme-transition-duration) ease,
                transform 0.3s ease,
                box-shadow 0.3s ease;
    position: relative;
    z-index: 1;
}

.yixian-theme-float__btn:hover {
    transform: scale(1.08);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    color: var(--yixian-star);
}

.yixian-theme-float__btn:active {
    transform: scale(0.95);
}

.yixian-theme-float__icon-sun,
.yixian-theme-float__icon-moon {
    position: absolute;
    transition: opacity 0.3s ease, transform 0.5s cubic-bezier(0.5, 0, 0, 1.4);
}

.yixian-theme-float__icon-sun {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

.yixian-theme-float__icon-moon {
    opacity: 0;
    transform: rotate(-90deg) scale(0.5);
}

.yixian-theme-float.is-dark .yixian-theme-float__icon-sun {
    opacity: 0;
    transform: rotate(90deg) scale(0.5);
}

.yixian-theme-float.is-dark .yixian-theme-float__icon-moon {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

.yixian-theme-float__dropdown {
    position: absolute;
    bottom: calc(100% + 12px);
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 6px;
    background: var(--bg-card);
    border: 1px solid var(--border-color-light);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-lg);
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px) scale(0.95);
    transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s;
    min-width: 140px;
    z-index: 0;
}

.yixian-theme-float.is-open .yixian-theme-float__dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

.yixian-theme-float__option {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border: none;
    border-radius: var(--border-radius-sm);
    background: transparent;
    color: var(--text-primary);
    font-size: 0.875rem;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.yixian-theme-float__option:hover {
    background: var(--bg-secondary);
    color: var(--yixian-star);
}

.yixian-theme-float__option.is-active {
    background: hsla(var(--yixian-star-h), var(--yixian-star-s)%, var(--yixian-star-l)%, 0.1);
    color: var(--yixian-star);
    font-weight: 600;
}

@media (max-width: 768px) {
    .yixian-theme-float {
        bottom: 20px;
        right: 16px;
    }

    .yixian-theme-float__btn {
        width: 44px;
        height: 44px;
    }
}

@media (hover: none) and (pointer: coarse) {
    .yixian-theme-float__btn:hover {
        transform: none;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    }

    .yixian-cnav-action-btn:not(.yixian-cnav-fullscreen__toggle):hover {
        color: var(--text-primary);
    }
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .yixian-theme-float {
        bottom: calc(20px + env(safe-area-inset-bottom));
    }
}

/* ==============================
   Dock — 移动端底部导航栏
   ============================== */
.yixian-dock {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 998;
    display: none;
    pointer-events: none;
    padding: 0 var(--space-4) var(--space-3);
}

.yixian-dock__inner {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 0;
    max-width: 420px;
    margin: 0 auto;
    padding: 6px 10px;
    background: rgba(250, 251, 255, 0.72);
    -webkit-backdrop-filter: blur(20px) saturate(1.8);
    backdrop-filter: blur(20px) saturate(1.8);
    border-radius: 20px;
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08), 0 1px 4px rgba(0, 0, 0, 0.04);
    pointer-events: auto;
}

html[data-theme="dark"] .yixian-dock__inner {
    background: rgba(22, 25, 34, 0.78);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.25), 0 1px 4px rgba(0, 0, 0, 0.12);
}

.yixian-dock__item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    gap: 2px;
    flex: 1;
    min-width: 0;
    padding: 4px 2px;
    color: var(--text-secondary);
    text-decoration: none;
    background: none;
    border: none;
    cursor: pointer;
    font-family: inherit;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.25s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform-origin: bottom center;
}

.yixian-dock__item:active {
    transform: scale(0.88);
}

.yixian-dock__item.is-active {
    color: var(--yixian-star);
}

.yixian-dock__icon {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 12px;
    transition: background-color 0.25s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
                border-radius 0.25s ease;
}

.yixian-dock__item.is-active .yixian-dock__icon {
    transform: scale(1.12);
}

.yixian-dock__item--primary .yixian-dock__icon {
    background: var(--yixian-primary-grad, linear-gradient(135deg, #ff7eb3, #ff758c));
    color: #fff;
    border-radius: 16px;
    box-shadow: 0 4px 14px rgba(255, 126, 179, 0.35);
}

.yixian-dock__item--primary:active {
    transform: scale(0.85);
}

.yixian-dock__label {
    font-size: 0.625rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.02em;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transform: translateY(4px);
    transition: opacity 0.25s ease, transform 0.25s ease, max-height 0.25s ease;
}

.yixian-dock__item.is-active .yixian-dock__label {
    opacity: 1;
    transform: translateY(0);
    max-height: 20px;
}

.yixian-dock__item--primary .yixian-dock__label {
    opacity: 1;
    max-height: 20px;
    transform: translateY(0);
}

.yixian-dock__item::after {
    content: "";
    position: absolute;
    bottom: -2px;
    left: 50%;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--yixian-star);
    transform: translateX(-50%) scale(0);
    transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.yixian-dock__item.is-active::after {
    transform: translateX(-50%) scale(1);
}

.yixian-dock__item--primary::after {
    display: none;
}

.yixian-dock__go-top {
    width: 0;
    min-width: 0;
    flex: 0 0 0;
    padding: 0;
    margin: 0;
    opacity: 0;
    overflow: hidden;
    pointer-events: none;
    transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                min-width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                flex 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.25s ease,
                padding 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                margin 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.yixian-dock__go-top.is-visible {
    width: auto;
    min-width: 0;
    flex: 1;
    padding: 4px 2px;
    opacity: 1;
    pointer-events: auto;
}

.yixian-dock__go-top .yixian-dock__icon {
    position: relative;
    overflow: hidden;
}

.yixian-dock__progress-text {
    font-size: 0.8125rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    line-height: 1;
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.yixian-dock__progress-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.25rem;
    font-style: normal;
    opacity: 0;
    transform: translateY(120%);
    transition: opacity 0.3s ease, transform 0.3s ease;
    pointer-events: none;
}

.yixian-dock__progress-text.is-hidden {
    opacity: 0;
    transform: translateY(-120%);
}

.yixian-dock__progress-icon:not(.is-hidden) {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1152px) {
    .yixian-dock {
        display: block;
    }

    body {
        padding-bottom: calc(80px + var(--space-3));
    }

    .yixian-cnav-go-top {
        bottom: 90px !important;
    }

    .yixian-site-footer,
    .site-footer {
        display: none !important;
    }
}

@media (max-width: 400px) {
    .yixian-dock__icon {
        width: 36px;
        height: 36px;
        border-radius: 10px;
    }

    .yixian-dock__item--primary .yixian-dock__icon {
        border-radius: 14px;
    }

    .yixian-dock__label {
        font-size: 0.5625rem;
    }
}

@media (min-width: 1153px) {
    .yixian-dock {
        display: none !important;
    }
}

@supports (padding-bottom: env(safe-area-inset-bottom)) {
    .yixian-dock {
        padding-bottom: calc(var(--space-3) + env(safe-area-inset-bottom));
    }
}
