/*调整全局字体大小*/
body,html{font-size:14px;}

/* 预加载层关闭后禁止拦截点击（close 仅 visibility，部分环境下仍可挡住导航） */
#loading.close {
    pointer-events: none !important;
}

/*左导航悬浮sidebar-menu-inner宽度调整为90px*/
.sidebar-popup.sidebar-menu-inner > div > ul > li.sidebar-item>ul{position:absolute;top:0px;left:10px;width:90px;z-index:99}
.sidebar-popup.sidebar-menu-inner ul{width:90px}
.sidebar-popup.sidebar-menu-inner ul li{width:90px}

/*隐藏左导航scrollbar*/
.sidebar-menu.flex-fill::-webkit-scrollbar{display:none}

/*搜索框搜索图标颜色*/
#search button i{color:#6C757D;font-size:18px}

/*顶部导航栏字体+图标颜色*/
.big-header-banner .page-header{color:#ffffff;background:rgba(255,255,255,0);box-shadow:none;transition:color .3s,background-color .3s}
.big-header-banner:not(.header-bg) .page-header .navbar-nav>li>a,.big-header-banner:not(.header-bg) .navbar-menu a:not(.dropdown-item){color:#ffffff;}
.big-header-banner:not(.header-bg) .page-header .navbar-nav>li>a:hover,.big-header-banner:not(.header-bg) .navbar-menu a:not(.dropdown-item):hover{color:#dc3545;}
/* 顶栏：当前页面菜单项（Creator Tools / Toolbox / Submit a Tool） */
.big-header-banner:not(.header-bg) .page-header .navbar-nav.site-menu > li.nav-site-current > a {
    color: #fff;
    font-weight: 700;
    box-shadow: inset 0 -3px 0 #ffc107;
}
.big-header-banner.header-bg .page-header .navbar-nav.site-menu > li.nav-site-current > a {
    color: #0d6efd;
    font-weight: 700;
    box-shadow: inset 0 -3px 0 #0d6efd;
}
.io-black-mode .big-header-banner.header-bg .page-header .navbar-nav.site-menu > li.nav-site-current > a {
    color: #6ea8fe;
    box-shadow: inset 0 -3px 0 #6ea8fe;
}
/* 语言下拉：当前语言行 */
.big-header-banner:not(.header-bg) .navbar-nav.site-menu .sub-menu li.nav-lang-current > a {
    color: #ffc107;
    font-weight: 700;
}
.big-header-banner.header-bg .navbar-nav.site-menu .sub-menu li.nav-lang-current > a {
    color: #0d6efd;
    font-weight: 700;
}
.io-black-mode .big-header-banner.header-bg .navbar-nav.site-menu .sub-menu li.nav-lang-current > a {
    color: #6ea8fe;
}
.big-header-banner:not(.header-bg) .header-mini-btn path{stroke:#ffffff;}
.big-header-banner:not(.header-bg) .header-mini-btn label:hover path{stroke:#ffffff;}

/* Apple 效率型：顶栏改为材质导航（解决“白茫茫看不清”） */
.io-grey-mode .big-header-banner .page-header {
    color: #1d1d1f !important;
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06) !important;
}
.io-black-mode .big-header-banner .page-header {
    color: rgba(255, 255, 255, 0.92) !important;
    background: rgba(28, 28, 30, 0.68) !important;
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.08) !important;
}
.io-grey-mode .big-header-banner .page-header .navbar-nav>li>a,
.io-grey-mode .big-header-banner .navbar-menu a:not(.dropdown-item){
    color: #1d1d1f !important;
}
.io-black-mode .big-header-banner .page-header .navbar-nav>li>a,
.io-black-mode .big-header-banner .navbar-menu a:not(.dropdown-item){
    color: rgba(255, 255, 255, 0.92) !important;
}
.io-grey-mode .big-header-banner .page-header .navbar-nav>li>a:hover,
.io-grey-mode .big-header-banner .navbar-menu a:not(.dropdown-item):hover{
    color: #0a58ca !important;
}
.io-black-mode .big-header-banner .page-header .navbar-nav>li>a:hover,
.io-black-mode .big-header-banner .navbar-menu a:not(.dropdown-item):hover{
    color: #9ec5fe !important;
}
.io-grey-mode .big-header-banner .header-mini-btn path{stroke:#1d1d1f !important;}
.io-black-mode .big-header-banner .header-mini-btn path{stroke:rgba(255,255,255,0.92) !important;}

/* 顶栏：当前页面菜单项（Apple 风格 underline） */
.io-grey-mode .big-header-banner .page-header .navbar-nav.site-menu > li.nav-site-current > a {
    color: #0a58ca !important;
    font-weight: 700;
    box-shadow: inset 0 -3px 0 #0a84ff;
}
.io-black-mode .big-header-banner .page-header .navbar-nav.site-menu > li.nav-site-current > a {
    color: #9ec5fe !important;
    font-weight: 700;
    box-shadow: inset 0 -3px 0 #6ea8fe;
}

@media (prefers-reduced-transparency: reduce) {
    .io-grey-mode .big-header-banner .page-header {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #fff !important;
    }
    .io-black-mode .big-header-banner .page-header {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #1c1c1e !important;
    }
}

/* Apple 材质小浮层：右下角 footer-tools */
#footer-tools {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1080;
    padding: 10px;
    border-radius: 16px;
    gap: 8px;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(0, 0, 0, 0.06);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.10);
    backdrop-filter: saturate(180%) blur(16px);
    -webkit-backdrop-filter: saturate(180%) blur(16px);
}
.io-black-mode #footer-tools {
    background: rgba(28, 28, 30, 0.70);
    border-color: rgba(255, 255, 255, 0.10);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.55);
}
#footer-tools .btn.rounded-circle {
    width: 44px;
    height: 44px;
    border-radius: 999px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    background: rgba(120, 120, 128, 0.12);
    border: 1px solid rgba(0, 0, 0, 0.05);
    color: #1d1d1f;
    transition: transform .12s ease, background-color .12s ease, box-shadow .12s ease;
}
.io-black-mode #footer-tools .btn.rounded-circle {
    background: rgba(120, 120, 128, 0.22);
    border-color: rgba(255, 255, 255, 0.10);
    color: rgba(255, 255, 255, 0.92);
}
#footer-tools .btn.rounded-circle:hover {
    background: rgba(120, 120, 128, 0.18);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.10);
}
.io-black-mode #footer-tools .btn.rounded-circle:hover {
    background: rgba(120, 120, 128, 0.28);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55);
}
#footer-tools .btn.rounded-circle:active {
    transform: scale(0.97);
}
#footer-tools i {
    font-size: 18px;
    line-height: 1;
}

/* footer-tools 内联 SVG（类 SF Symbols） */
#footer-tools .footer-tool-ico {
    width: 19px;
    height: 19px;
    display: block;
}

/* 手机端：只保留“顶部 + 夜间”，隐藏搜索 */
@media (max-width: 767.98px) {
    #footer-tools {
        right: 12px;
        bottom: 12px;
        padding: 8px;
        border-radius: 14px;
    }
    #footer-tools .footer-tool-search {
        display: none !important;
    }
}

@media (prefers-reduced-transparency: reduce) {
    #footer-tools {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #fff !important;
    }
    .io-black-mode #footer-tools {
        background: #1c1c1e !important;
    }
}

/*搜索栏字体+背景*/
.header-big #search-text{color:#6C757D;}
.io-black-mode .header-big #search-text{color:#fff;}

/*搜索activate图标颜色*/
.header-big .search-type input:checked+label:before{content:'';border-width:8px 8px 0px 8px;border-style:solid;border-color:#ffffff transparent transparent;position:absolute;left:50%;top:0;margin-left:-8px}

/*主页搜索搜索框(头+底部)字体颜色*/
.header-big:not(.no-bg) .s-type-list{color:#20c997}
.header-big:not(.no-bg) .text-muted,.header-big:not(.no-bg) .search-type .menu-item a,.header-big:not(.no-bg) .big-title .h1{color:#ffffff!important}

/* Apple 效率型：搜索模块文字可读性（覆盖上面 header-big 的白字规则） */
.io-grey-mode .header-big#search-bg .text-muted,
.io-grey-mode .header-big#search-bg .s-type-list,
.io-grey-mode .header-big#search-bg .search-type label span {
    color: #6c757d !important;
}
.io-grey-mode .header-big#search-bg .s-type-list.big label span {
    color: #1d1d1f !important;
    font-weight: 600;
}
.io-grey-mode .header-big#search-bg .s-type-list.big label.active span {
    color: #0a58ca !important;
}
.io-grey-mode .header-big#search-bg #search-text {
    color: #1d1d1f !important;
}
.io-grey-mode .header-big#search-bg #search-text::placeholder {
    color: rgba(29, 29, 31, 0.48);
}

.io-black-mode .header-big#search-bg .text-muted,
.io-black-mode .header-big#search-bg .s-type-list,
.io-black-mode .header-big#search-bg .search-type label span {
    color: rgba(235, 235, 245, 0.60) !important;
}
.io-black-mode .header-big#search-bg .s-type-list.big label span {
    color: rgba(255, 255, 255, 0.92) !important;
    font-weight: 600;
}
.io-black-mode .header-big#search-bg .s-type-list.big label.active span {
    color: #9ec5fe !important;
}
.io-black-mode .header-big#search-bg #search-text {
    color: rgba(255, 255, 255, 0.92) !important;
}
.io-black-mode .header-big#search-bg #search-text::placeholder {
    color: rgba(255, 255, 255, 0.45);
}

/*主页header-banner底部宽度*/
.post-top{padding-bottom:50px}

/*左导航二级导航标题左侧距离*/
.sidebar-menu-inner ul li ul li a{margin-left:30px;}

/*头部导航二级导航iconfont图标*/
.navbar-collapse ul li.menu-item-has-children:after{content:'\e612';}

/*搜索部分背景样式*/
.header-big.css-color{background-size:unset;background-position:unset;animation:unset;}

/*搜索热词样式调整*/
.search-hot-text{
    position: absolute;
    z-index: 100;
    width: 100%;
    border-radius: 0 0 10px 10px;
    background: #FFF;
    box-shadow: 0px 4px 5px 0px #cccccc94;
    overflow: hidden;
}
.search-hot-text ul{
    margin: 0;
    padding: 5px 0;
}
.search-hot-text ul li{
    line-height: 30px;
    font-size: 14px;
    padding: 0px 25px;
    color: #777;
    cursor: pointer;
}
.io-black-mode .search-hot-text ul li{
    color: #fff;
}    
.search-hot-text ul li.current{
    background: #f1f1f1;
    color: #2196f3;
}
.search-hot-text ul li:hover{
    background: #f1f1f1;
    color: #2196f3;
    cursor: pointer;
}
.search-hot-text ul li span{
    display: inline-block;
    width: 20px;
    height: 20px;
    font-size: 12px;
    line-height: 20px;
    text-align: center;
    background: #e5e5e5;
    margin-right: 10px;
    border-radius: 10px;
    color: #999;
}

footer.main-footer .footer-text {
    text-align: center;
}
footer.main-footer .footer-text a {
    color: #007bff;
}
footer.main-footer .footer-text a:hover {
    color: red;
}

/*About页面*/
.panel .panel-body a {color: #007bff;}
.panel .panel-body a:hover {color: #979898;}

/* Apple 效率型：全站背景（替换网格背景） */
.io-grey-mode {
    background: #f5f5f7;
}
.io-grey-mode .page-container {
    background: #f5f5f7;
}
.io-grey-mode .page-container .grid-bg {
    background: #f5f5f7;
    background-image: none;
}
.io-black-mode {
    background: #000;
}

/* Apple 效率型：搜索区（禁用背景图，做成分区块） */
.header-big#search-bg {
    background-image: none !important;
    /*
     * 主题 .header-big 默认 margin-top:-75px，会把区块顶入上方 height:74px 的占位条，
     * 与 position:fixed 的导航叠在一起导致输入框被挡。Hybrid 1 取消上移，仅靠占位条对齐导航底边。
     */
    margin-top: 0 !important;
    padding-top: 28px !important;
}
.io-grey-mode .header-big#search-bg {
    background: #f5f5f7 !important;
}
.io-black-mode .header-big#search-bg {
    background: #000 !important;
}

/* Hybrid 1：与下方 #content.content-site 同宽；去掉主题 .header-big .s-search 的左右 15px margin */
.header-big#search-bg .content-site {
    box-sizing: border-box;
}

.header-big#search-bg .s-search {
    margin: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    padding: 0 !important;
}

@media (prefers-reduced-transparency: reduce) {
    .io-grey-mode .header-big#search-bg .s-search {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #fff !important;
    }
    .io-black-mode .header-big#search-bg .s-search {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #1c1c1e !important;
    }
}

/* Apple Settings 风格：侧栏当前 taxonomy 高亮（左侧蓝条 + 更强 pill） */
.sidebar-menu-inner li.sidebar-current > a,
.flex-bottom li.sidebar-current > a {
    position: relative;
    background: rgba(0, 122, 255, 0.16) !important;
    color: #0a58ca !important;
    font-weight: 700;
}
.io-black-mode .sidebar-menu-inner li.sidebar-current > a,
.io-black-mode .flex-bottom li.sidebar-current > a {
    background: rgba(10, 132, 255, 0.22) !important;
    color: #9ec5fe !important;
}
.sidebar-menu-inner li.sidebar-current > a::before,
.flex-bottom li.sidebar-current > a::before {
    content: "";
    position: absolute;
    left: 6px;
    top: 8px;
    bottom: 8px;
    width: 3px;
    border-radius: 999px;
    background: #0a84ff;
}
.io-grey-mode .sidebar-menu-inner li.sidebar-current > a::before,
.io-grey-mode .flex-bottom li.sidebar-current > a::before {
    background: #007aff;
}

/* Apple 效率型：品牌文字 Logo（左上角与移动顶栏共用） */
.site-brand-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none !important;
    user-select: none;
    font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
    min-width: 0;
}
.site-brand-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.06);
    color: #111;
    font-weight: 800;
    letter-spacing: -0.02em;
    font-size: 14px;
    flex: 0 0 auto;
}
.site-brand-text {
    color: #111;
    font-weight: 700;
    letter-spacing: -0.02em;
    font-size: 16px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
.io-black-mode .site-brand-mark {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.io-black-mode .site-brand-text {
    color: #fff;
}
.site-brand-link-collapsed .site-brand-text {
    display: none;
}
.navbar-brand.site-brand-link-top .site-brand-mark {
    width: 30px;
    height: 30px;
    border-radius: 9px;
}
.navbar-brand.site-brand-link-top .site-brand-text {
    font-size: 15px;
}

/* 移动端顶栏：给品牌文字一个合理的最大宽度，避免挤压右侧登录/菜单 */
@media (max-width: 420px) {
    .navbar-brand.site-brand-link-top .site-brand-text {
        max-width: 10ch;
    }
}

/* Apple 效率型：侧栏（圆角、分隔、hover/active） */
.io-grey-mode .sidebar-nav-inner {
    background: rgba(255, 255, 255, 0.78);
    border-right: 1px solid rgba(0, 0, 0, 0.06);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
}
.io-black-mode .sidebar-nav-inner {
    background: rgba(28, 28, 30, 0.72);
    border-right: 1px solid rgba(255, 255, 255, 0.10);
    backdrop-filter: saturate(180%) blur(18px);
    -webkit-backdrop-filter: saturate(180%) blur(18px);
}
.io-grey-mode .sidebar-logo {
    border-bottom-color: rgba(0, 0, 0, 0.06) !important;
}
.io-black-mode .sidebar-logo {
    border-bottom-color: rgba(255, 255, 255, 0.10) !important;
}

.io-grey-mode .sidebar-menu-inner a,
.io-grey-mode .sidebar-nav .flex-bottom a {
    border-radius: 10px;
    margin: 3px 10px;
    padding-left: 14px;
    color: #1d1d1f;
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.io-black-mode .sidebar-menu-inner a,
.io-black-mode .sidebar-nav .flex-bottom a {
    border-radius: 10px;
    margin: 3px 10px;
    padding-left: 14px;
    color: rgba(255, 255, 255, 0.92);
    transition: background-color .18s ease, color .18s ease, transform .18s ease;
}
.io-grey-mode .sidebar-item > a:hover,
.io-grey-mode .sidebar-show > a {
    background: rgba(0, 122, 255, 0.12) !important;
    color: #0a58ca !important;
}
.io-black-mode .sidebar-item > a:hover,
.io-black-mode .sidebar-show > a {
    background: rgba(10, 132, 255, 0.18) !important;
    color: #9ec5fe !important;
}
.io-grey-mode .sidebar-item > a:active {
    transform: scale(0.99);
}
.io-black-mode .sidebar-item > a:active {
    transform: scale(0.99);
}

/* mini-sidebar：保持 Apple 风格（仅图标状态） */
.sidebar-nav.mini-sidebar .sidebar-menu-inner a,
.sidebar-nav.mini-sidebar .sidebar-nav .flex-bottom a {
    margin-left: 8px;
    margin-right: 8px;
    padding-left: 12px;
}

/* Mobile sheet：遮罩 + 轻毛玻璃 */
@media (max-width: 767.98px) {
    .sidebar-nav.show::before {
        content: "";
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.35);
        backdrop-filter: blur(6px);
        -webkit-backdrop-filter: blur(6px);
    }
    .io-black-mode .sidebar-nav.show::before {
        background: rgba(0, 0, 0, 0.55);
    }
    .sidebar-nav.show > .sidebar-nav-inner {
        border-right: 1px solid rgba(0,0,0,0.08);
        border-top-right-radius: 18px;
        border-bottom-right-radius: 18px;
        overflow: hidden;
    }
    .io-black-mode .sidebar-nav.show > .sidebar-nav-inner {
        border-right-color: rgba(255,255,255,0.12);
    }
}

@media (prefers-reduced-transparency: reduce) {
    .io-grey-mode .sidebar-nav-inner {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #fff !important;
    }
    .io-black-mode .sidebar-nav-inner {
        backdrop-filter: none !important;
        -webkit-backdrop-filter: none !important;
        background: #1c1c1e !important;
    }
    @media (max-width: 767.98px) {
        .sidebar-nav.show::before {
            backdrop-filter: none !important;
            -webkit-backdrop-filter: none !important;
        }
    }
}

/*导航 Logo 图标裁剪边角*/
.url-card .url-img > img {
    border-radius: 20%;
}

/* 登录/注册弹窗：紧凑标签右对齐、输入左对齐，风格接近常见邮箱登录页 */
.nav-auth-modal .modal-dialog {
    margin-left: auto;
    margin-right: auto;
    max-width: min(600px, calc(100vw - 32px));
}
.nav-auth-modal-dialog {
    max-width: min(600px, calc(100vw - 32px));
}
.nav-auth-modal-content {
    border-radius: 6px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}
.nav-auth-modal-header {
    padding: 28px 28px 12px 28px !important;
}
.nav-auth-modal-close {
    right: 16px;
    top: 16px;
    z-index: 2;
    font-size: 1.75rem;
    font-weight: 300;
    opacity: 0.55;
}
.nav-auth-modal-title {
    font-size: 22px;
    font-weight: 600;
    color: #333;
    letter-spacing: 0.08em;
}
.io-black-mode .nav-auth-modal-title {
    color: #eee;
}
.nav-auth-modal-body {
    padding: 12px 28px 32px 28px !important;
}
.nav-auth-panel-inner {
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}
.nav-auth-label-spacer {
    visibility: hidden;
    user-select: none;
    pointer-events: none;
}
.nav-auth-form-row-stack .nav-auth-field {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 380px;
}
.nav-auth-field-terms {
    max-width: 380px;
}
.nav-auth-field-password {
    position: relative;
    padding-bottom: 22px;
}
.nav-auth-forgot-link {
    position: absolute;
    right: 0;
    bottom: 0;
    font-size: 12px;
    white-space: nowrap;
}
.io-black-mode .nav-auth-forgot-link {
    color: #7eb8ff;
}
.nav-auth-terms-login,
.nav-auth-terms-register {
    line-height: 1.55;
}
.nav-auth-terms-singleline {
    white-space: nowrap;
    text-align: center;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.nav-auth-terms-register-label {
    font-weight: normal;
    cursor: pointer;
}
.nav-auth-terms-checkbox {
    margin-right: 6px;
    vertical-align: -2px;
}
.nav-auth-legal-link {
    text-decoration: underline;
}
.nav-auth-btn-narrow {
    min-width: 180px;
    max-width: 330px;
    width: auto;
    display: inline-block;
}
.nav-auth-cf-wrap-centered {
    text-align: center;
    width: 100%;
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
}
.nav-auth-turnstile-centered {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    min-width: 300px;
    min-height: 70px;
    box-sizing: border-box;
    padding: 4px 0;
}
.nav-auth-cf-msg-line {
    padding-left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
}
.nav-auth-msg-tight {
    margin-top: 4px !important;
    margin-bottom: 8px !important;
}
.nav-auth-modal .nav-auth-hint-msg {
    color: #dc3545 !important;
    text-align: center;
    padding-left: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    max-width: 100% !important;
    width: 100%;
    display: block;
}
.io-black-mode .nav-auth-modal .nav-auth-hint-msg {
    color: #ff7a7a !important;
}
.nav-auth-intro {
    font-size: 13px;
    line-height: 1.55;
}
.nav-auth-cf-notice {
    font-size: 12px;
    line-height: 1.55;
}
.nav-auth-cf-notice.text-center {
    display: block;
    text-align: center;
}
.nav-auth-form-row-footer {
    margin-top: 8px;
    margin-bottom: 0;
}
.nav-auth-field-footer-link {
    display: flex;
    justify-content: center;
    align-items: center;
}
.nav-auth-link.nav-auth-footer-link {
    text-decoration: underline;
}
.nav-auth-link.nav-auth-footer-link:hover {
    text-decoration: underline;
}
.nav-auth-form-row-valign-center {
    align-items: center;
}
.nav-auth-form-row {
    display: flex;
    align-items: center;
    margin-bottom: 14px;
}
.nav-auth-form-row-otp .nav-auth-label {
    align-self: flex-start;
    padding-top: 8px;
}
.nav-auth-label {
    flex: 0 0 auto;
    min-width: 5.5rem;
    margin-bottom: 0;
    padding-right: 8px;
    font-size: 14px;
    font-weight: normal;
    color: #333;
    text-align: right;
    line-height: 1.35;
    white-space: nowrap;
}
.io-black-mode .nav-auth-label {
    color: #ccc;
}
.nav-auth-field {
    flex: 1;
    min-width: 0;
    max-width: 380px;
}
.nav-auth-field-msg,
.nav-auth-inline-msg {
    font-size: 12px;
    line-height: 1.45;
    padding-left: calc(5.5rem + 8px);
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}
.nav-auth-modal .nav-auth-hint-msg.nav-auth-field-msg,
.nav-auth-modal .nav-auth-hint-msg.nav-auth-inline-msg {
    padding-left: 0 !important;
}
.nav-auth-field-msg.text-danger,
.nav-auth-msg-phone.text-danger {
    color: #dc3545 !important;
}
.nav-auth-field-msg.text-info {
    color: #0c5460 !important;
}
.nav-auth-msg-phone.text-muted-remains {
    color: #6c757d !important;
}
.nav-auth-modal #navAuthPhoneRateHint.nav-auth-hint-msg {
    color: #dc3545 !important;
}
.nav-auth-field-split {
    display: flex;
    align-items: center;
    gap: 8px;
}
.nav-auth-field-split .nav-auth-input {
    flex: 1;
    min-width: 0;
}
.nav-auth-input {
    height: 40px;
    font-size: 14px;
    padding: 8px 12px;
    border-radius: 2px;
    border: 1px solid #d0d0d0;
}
.io-black-mode .nav-auth-input {
    background: #2a2a2a;
    border-color: #555;
    color: #eee;
}
.nav-auth-btn-primary {
    height: 44px;
    font-size: 16px;
    font-weight: 600;
    border-radius: 2px;
    margin-top: 0;
    letter-spacing: 0.12em;
}
.nav-auth-btn-register {
    letter-spacing: 0.05em;
}
.nav-auth-btn-secondary {
    flex-shrink: 0;
    height: 40px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 13px;
    white-space: nowrap;
    border-radius: 2px;
}
.nav-auth-link {
    font-size: 13px;
}
.nav-auth-msg {
    font-size: 13px;
    line-height: 1.45;
}
.nav-auth-cf-wrap {
    padding: 12px;
    border: 1px solid #e5e5e5;
    border-radius: 2px;
    background: #fafafa;
}
.nav-auth-cf-wrap.nav-auth-cf-wrap-centered {
    padding: 14px 20px;
}
.nav-auth-login-cf-row .nav-auth-field,
.nav-auth-register-cf-row .nav-auth-field,
.nav-auth-forgot-cf-row .nav-auth-field {
    max-width: 380px;
}
.io-black-mode .nav-auth-cf-wrap {
    background: #252525;
    border-color: #444;
}
.nav-auth-turnstile-mount {
    min-height: 65px;
}
.nav-auth-btn-inline {
    font-size: 14px;
    padding: 4px 12px;
    vertical-align: baseline;
}
.nav-auth-btn-secondary.nav-auth-btn-waiting {
    color: #856404;
    border-color: #ffc107;
    background-color: #fff3cd;
}
.io-black-mode .nav-auth-btn-secondary.nav-auth-btn-waiting {
    color: #ffc107;
    background-color: #3d3500;
    border-color: #856404;
}
.io-black-mode .nav-auth-btn-secondary.nav-auth-btn-countdown,
.io-black-mode .nav-auth-btn-secondary.nav-auth-btn-sending {
    background-color: #3a3f44 !important;
    border-color: #555 !important;
    color: #adb5bd !important;
}
.io-black-mode .nav-auth-btn-secondary.nav-auth-btn-sending {
    background-color: #1e3a5f !important;
    border-color: #2e5a8a !important;
    color: #9ec5fe !important;
}
.nav-auth-btn-secondary.nav-auth-btn-countdown,
.nav-auth-btn-secondary.nav-auth-btn-sending {
    color: #495057;
    cursor: not-allowed;
    background-color: #dee2e6 !important;
    border-color: #ced4da !important;
}
.nav-auth-btn-secondary.nav-auth-btn-sending {
    background-color: #cfe2ff !important;
    border-color: #9ec5fe !important;
    color: #084298 !important;
}
@media (max-width: 400px) {
    .nav-auth-label {
        min-width: 4.75rem;
        font-size: 13px;
    }
    .nav-auth-field-msg {
        padding-left: 0;
    }
}

/* 登录态：仅显示「登录」或「账号菜单」，避免与 Bootstrap 响应式类冲突 */
/* html 与 body 同步带 nav-auth-logged-in；head 内联脚本可仅先给 html，避免整页先闪「登录」 */
html:not(.nav-auth-logged-in) body:not(.nav-auth-logged-in) .nav-auth-user {
    display: none !important;
}
html.nav-auth-logged-in .nav-auth-guest,
body.nav-auth-logged-in .nav-auth-guest {
    display: none !important;
}
/* 预取登录态：在 nav-auth.js 去掉 d-none 之前，按断点显示对应账户菜单项 */
@media (min-width: 768px) {
    html.nav-auth-logged-in li.nav-auth-user.d-md-none {
        display: none !important;
    }
    html.nav-auth-logged-in li.nav-auth-user.d-none.d-md-block {
        display: block !important;
    }
}
@media (max-width: 767.98px) {
    html.nav-auth-logged-in li.nav-auth-user.d-none.d-md-block {
        display: none !important;
    }
    html.nav-auth-logged-in li.nav-auth-user.d-md-none {
        display: flex !important;
        align-items: center;
    }
}

/* 账号下拉：去掉列表圆点 */
.navbar-menu .nav-user-sub-menu,
.navbar-menu .nav-user-sub-menu li {
    list-style: none !important;
    padding-left: 0 !important;
    margin-left: 0 !important;
}

/* 顶部「登录」按钮：更醒目，与主题强调色一致 */
.navbar-menu .nav-login-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 22px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    color: #fff !important;
    background: linear-gradient(135deg, #f1404b, #d63641);
    border-radius: 999px;
    box-shadow: 0 2px 10px rgba(241, 64, 75, 0.45);
    text-decoration: none !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    border: none;
}
.navbar-menu .nav-login-btn:hover {
    color: #fff !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(241, 64, 75, 0.55);
}
.navbar-menu .nav-login-btn.nav-login-btn-compact {
    padding: 8px 16px;
    font-size: 14px;
}

/* 已登录：与左侧「关于」类似的下拉 + 右侧对齐子菜单 */
.navbar-menu > li.nav-user-menu-wrap {
    position: relative;
    list-style: none;
}
.navbar-menu > li.nav-user-menu-wrap > a.nav-user-menu-trigger {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    padding: 10px 8px 10px 12px;
    white-space: nowrap;
    max-width: 240px;
}
.navbar-menu > li.nav-user-menu-wrap .nav-user-suffix {
    opacity: 0.95;
    margin-left: 2px;
}
.navbar-menu > li.nav-user-menu-wrap .nav-user-caret {
    font-size: 12px;
    opacity: 0.85;
    margin-left: 4px;
}
.navbar-menu > li.nav-user-menu-wrap > ul.sub-menu.nav-user-sub-menu {
    position: absolute;
    right: 0;
    left: auto;
    top: 100%;
    margin-top: 0;
    min-width: 168px;
    padding: 6px 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    transform: translateY(10px);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 5px 20px rgba(0, 0, 0, 0.15);
    z-index: 1002;
}
.navbar-menu > li.nav-user-menu-wrap:hover > ul.sub-menu.nav-user-sub-menu {
    opacity: 1;
    visibility: visible;
    overflow: visible;
    transform: translateY(0);
}
.navbar-menu > li.nav-user-menu-wrap > ul.sub-menu li a {
    display: block;
    padding: 8px 16px;
    font-size: 14px;
    color: #333 !important;
    white-space: nowrap;
}
.navbar-menu > li.nav-user-menu-wrap > ul.sub-menu li a:hover {
    background: rgba(0, 0, 0, 0.05);
    color: #f1404b !important;
}
@media (max-width: 767.98px) {
    .navbar-menu > li.nav-user-menu-wrap > ul.sub-menu.nav-user-sub-menu {
        right: 0;
        left: auto;
    }
    .navbar-menu > li.nav-user-menu-wrap.focus > ul.sub-menu.nav-user-sub-menu {
        opacity: 1;
        visibility: visible;
        overflow: visible;
        transform: translateY(0);
        z-index: 1100;
    }
}

/* 账户页：标签与输入框同一行且垂直居中；OTP 行标签与输入区对齐 */
.account-page .account-auth-card .nav-auth-form-row-otp .nav-auth-label {
    align-self: center;
    padding-top: 0;
}
.account-page .account-auth-card .nav-auth-form-row.nav-auth-form-row-stack {
    align-items: center;
}
/* 说明文字与表单项第一列（「邮箱验证码」等标签列左缘）对齐 */
.account-page .account-auth-card .nav-auth-cf-notice {
    text-align: left;
    display: block;
    padding-left: 0;
    padding-right: 8px;
    margin-bottom: 1rem;
    box-sizing: border-box;
    width: 100%;
    max-width: 460px;
    margin-left: auto;
    margin-right: auto;
}
/* 主操作与「取消」分两行，在输入列内水平居中 */
.account-page .account-auth-card .nav-auth-form-row-stack .nav-auth-field {
    align-items: flex-start;
}
.account-page .account-auth-card .account-auth-actions-stack-row .nav-auth-field.account-auth-stacked-actions {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    max-width: 380px;
}
.account-page .account-auth-card .account-auth-stacked-actions .btn-link {
    line-height: 1.35;
}
/* 账户卡片标题：大号加粗居中（与 account.html 内联样式一致时可合并） */
.account-page .account-auth-card-heading {
    font-size: 1.35rem;
    font-weight: 700;
    text-align: center;
    width: 100%;
    margin-bottom: 1rem;
}
/* 验证码行、主按钮、取消：作为整体在卡片内水平居中 */
.account-page .account-auth-card .account-auth-center-flow {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}
.account-page .account-auth-card .account-auth-center-flow > .nav-auth-form-row {
    justify-content: center;
    width: 100%;
}
.account-page .account-auth-card .account-auth-center-flow .nav-auth-form-row-otp {
    flex-wrap: wrap;
}
.account-page .account-auth-card .account-auth-center-flow .account-auth-actions-stack-row {
    justify-content: center;
    width: 100%;
}
.account-page .account-auth-card .account-auth-center-flow .account-auth-actions-stack-row .nav-auth-label-spacer {
    flex: 0 0 0;
    width: 0;
    min-width: 0;
    padding: 0;
    margin: 0;
    overflow: hidden;
    visibility: hidden;
}
.account-page .account-auth-card .account-auth-center-flow .nav-auth-field-msg,
.account-page .account-auth-card .account-auth-center-flow .nav-auth-inline-msg {
    padding-left: 0 !important;
    text-align: center;
    width: 100%;
    max-width: 36rem;
    margin-left: auto;
    margin-right: auto;
}
.account-page .account-auth-card .account-auth-notice-in-center {
    text-align: center;
    padding-left: 0;
    padding-right: 0;
    width: 100%;
}
/* 修改用户名 · 第二步：新用户名输入与「保存用户名」「取消」同列竖线对齐 */
.account-page #accountUsernameFormWrap .account-username-step2.account-auth-center-flow {
    align-items: stretch;
    max-width: 100%;
}
.account-page #accountUsernameFormWrap .account-username-step2 > .nav-auth-form-row.account-username-step2-field-row {
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
.account-page #accountUsernameFormWrap .account-username-step2-field-row .nav-auth-field {
    flex: 1 1 auto;
    max-width: min(100%, 32rem);
    min-width: 0;
}
.account-page #accountUsernameFormWrap .account-username-step2-input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
.account-page #accountUsernameFormWrap .account-username-step2 > .nav-auth-form-row.account-username-step2-actions-row {
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}
.account-page #accountUsernameFormWrap .account-username-step2-actions-row .nav-auth-label-spacer {
    flex: 0 0 5.5rem;
    width: 5.5rem;
    min-width: 5.5rem;
    padding-right: 8px;
    box-sizing: border-box;
}
.account-page #accountUsernameFormWrap .account-username-step2-actions-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    flex: 1 1 auto;
    max-width: min(100%, 32rem);
    min-width: 0;
    box-sizing: border-box;
}
.account-page #accountUsernameFormWrap .account-username-step2-actions-inner .nav-auth-btn-primary {
    flex: 0 0 auto;
}
.account-page #accountUsernameFormWrap .account-username-step2-cancel-link {
    line-height: 1.35;
    padding-top: 0.15rem;
}
@media (max-width: 400px) {
    .account-page #accountUsernameFormWrap .account-username-step2-actions-row .nav-auth-label-spacer {
        flex: 0 0 4.75rem;
        width: 4.75rem;
        min-width: 4.75rem;
    }
}

/* 修改密码：加宽卡片与输入列，使「须含大写、小写、数字，至少 8 位」占位符完整可见 */
.account-page .account-auth-card.account-auth-card-pw .account-auth-panel-inner {
    max-width: min(32%, 26rem);
    width: 100%;
}
.account-page .account-auth-card.account-auth-card-pw .account-auth-center-flow {
    align-items: stretch;
    max-width: 100%;
}
/* 「标签+输入」与下方主按钮左对齐：行内从左排布，与标签列同宽占位后的按钮列对齐 */
.account-page .account-auth-card.account-auth-card-pw .account-auth-center-flow > .nav-auth-form-row.account-pw-field-row {
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}
/* 输入列足够宽以完整显示占位符「须含大写、小写、数字，至少 8 位」 */
.account-page .account-auth-card.account-auth-card-pw .account-pw-field-row .nav-auth-field {
    flex: 1 1 auto;
    max-width: min(100%, 32rem);
    min-width: 0;
    width: auto;
}
.account-page .account-auth-card.account-auth-card-pw .account-pw-input {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}
/* 与上方输入列左缘对齐：占位与 .nav-auth-label 同宽 */
.account-page .account-auth-card.account-auth-card-pw .account-auth-center-flow > .nav-auth-form-row.account-pw-actions-row {
    justify-content: flex-start;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}
.account-page .account-auth-card.account-auth-card-pw .account-pw-actions-row .nav-auth-label-spacer {
    flex: 0 0 5.5rem;
    width: 5.5rem;
    min-width: 5.5rem;
    padding-right: 8px;
    box-sizing: border-box;
}
/* 与上方 .nav-auth-field 同宽，主按钮与「取消」在该列水平中线对齐（与三个 input 同一条竖直中线） */
.account-page .account-auth-card.account-auth-card-pw .account-pw-actions-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    flex: 1 1 auto;
    max-width: min(100%, 32rem);
    min-width: 0;
    width: auto;
    box-sizing: border-box;
}
.account-page .account-auth-card.account-auth-card-pw .account-pw-actions-inner .nav-auth-btn-primary {
    flex: 0 0 auto;
}
.account-page .account-auth-card.account-auth-card-pw .account-pw-cancel-link {
    flex: 0 0 auto;
    line-height: 1.35;
    padding-top: 0.15rem;
}
@media (max-width: 400px) {
    .account-page .account-auth-card.account-auth-card-pw .account-pw-actions-row .nav-auth-label-spacer {
        flex: 0 0 4.75rem;
        width: 4.75rem;
        min-width: 4.75rem;
    }
}

/* 登录/注册弹窗：人机验证固定在表单信息最底部，避免从中间展开挤动上方按钮 */
.nav-auth-modal .nav-auth-cf-row-modal-bottom {
    margin-bottom: 0 !important;
}
.nav-auth-modal .nav-auth-cf-row-modal-bottom .nav-auth-field {
    max-width: 380px;
}

/* —— 全站渐进显现（首页分类块等） —— */
.site-reveal-section {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.5s ease, transform 0.5s ease;
    will-change: opacity, transform;
}
.site-reveal-section.site-reveal-visible {
    opacity: 1;
    transform: translateY(0);
    will-change: auto;
}
.site-reveal-section--immediate {
    opacity: 1;
    transform: none;
}

/* 主按钮异步请求中：明显变色 + 禁用（登录/注册/账户页等） */
.nav-auth-btn-primary.nav-auth-btn-loading,
.btn.btn-primary.nav-auth-btn-loading,
.btn.btn-success.nav-auth-btn-register.nav-auth-btn-loading {
    opacity: 1 !important;
    cursor: wait;
    pointer-events: none;
    filter: none;
    background-color: #6c757d !important;
    border-color: #6c757d !important;
    color: #fff !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.12);
}
.io-black-mode .nav-auth-btn-primary.nav-auth-btn-loading,
.io-black-mode .btn.btn-primary.nav-auth-btn-loading,
.io-black-mode .btn.btn-success.nav-auth-btn-register.nav-auth-btn-loading {
    background-color: #636366 !important;
    border-color: #636366 !important;
    color: #fff !important;
}

/* 工具页等：通用加载态（与 submit-tool 小转圈复用类名） */
.btn-ui-loading {
    cursor: not-allowed !important;
    pointer-events: none;
    opacity: 0.92;
}
.btn-ui-loading .submit-tool-spinner {
    vertical-align: -0.12em;
}
.btn-outline-primary.btn-ui-loading .submit-tool-spinner {
    border-color: rgba(0, 86, 179, 0.2);
    border-top-color: #007bff;
}
.io-black-mode .btn-outline-primary.btn-ui-loading .submit-tool-spinner {
    border-top-color: #5ab0ff;
}

/* 工具列表区域：首次/切换内容时轻过渡，减轻闪屏 */
#toolListWrap {
    transition: opacity 0.35s ease;
}
/* 全量占位 loading（非「保留列表」模式）时略压暗 */
#toolListWrap.tool-list-wrap-pending:not(.tool-list-wrap-keep-previous) {
    opacity: 0.88;
}
/* 搜索筛选：保留旧卡片时压暗 + 禁用点击，避免误触 */
#toolListWrap.tool-list-wrap-pending.tool-list-wrap-keep-previous {
    opacity: 0.62;
    pointer-events: none;
}
.tool-list-search-hint .tool-list-search-hint-spinner {
    border-color: rgba(0, 86, 179, 0.2);
    border-top-color: #007bff;
    vertical-align: -0.15em;
}
.io-black-mode .tool-list-search-hint .tool-list-search-hint-spinner {
    border-top-color: #5ab0ff;
}
.io-black-mode .tool-list-search-hint .alert-light {
    background: #2a2a2a !important;
    border-color: #444 !important;
    color: #ccc !important;
}
@keyframes toolSubmitCardIn {
    from {
        opacity: 0;
        transform: translateY(12px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@media (prefers-reduced-motion: reduce) {
    @keyframes toolSubmitCardIn {
        from {
            opacity: 0;
        }
        to {
            opacity: 1;
        }
    }
}

/* 账户页：资料区载入后淡入 */
.account-profile-panel {
    transition: opacity 0.45s ease;
}
.account-profile-panel:not(.account-profile-panel--visible) {
    opacity: 0;
}
.account-profile-panel.account-profile-panel--visible {
    opacity: 1;
}

/* 工具列表：首屏骨架屏（渐进占位 + shimmer） */
.tool-skeleton-card {
    background: rgba(0, 0, 0, 0.02);
}

.tool-skeleton-card-body {
    padding: 12px 14px;
    min-height: 120px;
}

.tool-skeleton-line {
    height: 12px;
    border-radius: 6px;
    background: linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.06) 25%,
        rgba(255, 255, 255, 0.7) 37%,
        rgba(0, 0, 0, 0.06) 63%
    );
    background-size: 400% 100%;
    animation: toolSkeletonShimmer 2.3s ease-in-out infinite;
}

.tool-skeleton-line--w40 { width: 40%; }
.tool-skeleton-line--w60 { width: 60%; }
.tool-skeleton-line--w70 { width: 70%; }
.tool-skeleton-line--w90 { width: 90%; }

@keyframes toolSkeletonShimmer {
    0% { background-position: 100% 0; }
    100% { background-position: -100% 0; }
}

.io-black-mode .tool-skeleton-line {
    background: linear-gradient(
        90deg,
        rgba(255, 255, 255, 0.08) 25%,
        rgba(120, 170, 255, 0.14) 37%,
        rgba(255, 255, 255, 0.08) 63%
    );
}

@media (prefers-reduced-motion: reduce) {
    .tool-skeleton-line {
        animation: none;
        background: rgba(0, 0, 0, 0.06);
    }
    .io-black-mode .tool-skeleton-line {
        background: rgba(255, 255, 255, 0.08);
    }
}

/* =============================================================================
   Apple Human Interface 风格：登录 / 注册 / 找回密码弹窗 + 账户页
   ============================================================================= */
.apple-auth-modal,
.apple-account-page {
    --apple-blue: #007aff;
    --apple-blue-hover: #0066d6;
    --apple-red: #ff3b30;
    --apple-label: #000000;
    --apple-secondary-label: rgba(60, 60, 67, 0.6);
    --apple-bg-grouped: #f2f2f7;
    --apple-bg-elevated: #ffffff;
    --apple-separator: rgba(60, 60, 67, 0.29);
    --apple-fill: rgba(120, 120, 128, 0.12);
    --apple-radius-sheet: 14px;
    --apple-radius-control: 12px;
    --apple-radius-field: 10px;
    --apple-font-stack: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --apple-shadow-sheet: 0 25px 50px -12px rgba(0, 0, 0, 0.2), 0 10px 24px -10px rgba(0, 0, 0, 0.12);
}

.io-black-mode .apple-auth-modal,
html.io-black-mode body.apple-account-page,
body.io-black-mode.apple-account-page {
    --apple-label: #ffffff;
    --apple-secondary-label: rgba(235, 235, 245, 0.6);
    --apple-bg-grouped: #000000;
    --apple-bg-elevated: #1c1c1e;
    --apple-separator: rgba(84, 84, 88, 0.65);
    --apple-fill: rgba(120, 120, 128, 0.24);
    --apple-blue: #0a84ff;
    --apple-blue-hover: #409cff;
    --apple-shadow-sheet: 0 25px 50px -12px rgba(0, 0, 0, 0.55);
}

/* 导航「登录」：系统蓝胶囊按钮 */
.navbar-menu .nav-login-btn {
    padding: 8px 20px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    font-family: var(--apple-font-stack, inherit);
    color: #fff !important;
    background: #007aff !important;
    border-radius: 980px;
    box-shadow: none !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, transform 0.1s ease, opacity 0.15s ease;
    border: none;
}
.navbar-menu .nav-login-btn:hover {
    color: #fff !important;
    background: #0066d6 !important;
    transform: scale(1.02);
    box-shadow: none !important;
}
.navbar-menu .nav-login-btn:active {
    transform: scale(0.98);
    opacity: 0.9;
}
.io-black-mode .navbar-menu .nav-login-btn {
    background: #0a84ff !important;
}
.io-black-mode .navbar-menu .nav-login-btn:hover {
    background: #409cff !important;
}

/* 账户菜单下拉：大圆角、轻分隔 */
.navbar-menu > li.nav-user-menu-wrap > ul.sub-menu.nav-user-sub-menu {
    min-width: 200px;
    padding: 8px 0;
    border-radius: 14px;
    background: var(--apple-bg-elevated, #fff);
    border: 0.5px solid var(--apple-separator, rgba(0, 0, 0, 0.08));
    box-shadow: var(--apple-shadow-sheet, 0 12px 40px rgba(0, 0, 0, 0.15));
}
.navbar-menu > li.nav-user-menu-wrap > ul.sub-menu li a {
    padding: 11px 18px;
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.02em;
    font-family: var(--apple-font-stack, inherit);
    color: var(--apple-blue, #007aff) !important;
}
.navbar-menu > li.nav-user-menu-wrap > ul.sub-menu li a:hover {
    background: var(--apple-fill, rgba(120, 120, 128, 0.12));
    color: var(--apple-blue, #007aff) !important;
}
.io-black-mode .navbar-menu > li.nav-user-menu-wrap > ul.sub-menu.nav-user-sub-menu {
    background: #1c1c1e;
    border: 0.5px solid rgba(84, 84, 88, 0.65);
}

/* —— 登录弹窗（sheet） —— */
.apple-auth-modal .modal-content.apple-auth-sheet {
    font-family: var(--apple-font-stack, inherit);
    border: none;
    border-radius: var(--apple-radius-sheet);
    overflow: hidden;
    box-shadow: var(--apple-shadow-sheet);
    background: var(--apple-bg-elevated);
    color: var(--apple-label);
}
.apple-auth-modal .nav-auth-modal-header {
    padding: 22px 24px 8px !important;
    border-bottom: none;
}
.apple-auth-modal .nav-auth-modal-close {
    right: 14px;
    top: 14px;
    width: 30px;
    height: 30px;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.35rem;
    font-weight: 300;
    line-height: 1;
    opacity: 0.45;
    color: var(--apple-secondary-label);
    background: transparent;
    transition: opacity 0.15s ease, background-color 0.15s ease;
}
.apple-auth-modal .nav-auth-modal-close:hover {
    opacity: 0.85;
    background: var(--apple-fill);
}
.apple-auth-modal .nav-auth-modal-title {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: var(--apple-label);
}
.apple-auth-modal .nav-auth-modal-body {
    padding: 8px 22px 28px !important;
}
.apple-auth-modal .nav-auth-intro,
.apple-auth-modal .nav-auth-cf-notice {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: -0.01em;
    color: var(--apple-secondary-label);
}
.apple-auth-modal .nav-auth-intro {
    margin-bottom: 1.25rem !important;
}

/* 表单：标签在上、全宽（类似 Apple ID 网页表单） */
.apple-auth-modal .nav-auth-panel-inner {
    max-width: 100%;
}
.apple-auth-modal .nav-auth-form-row {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 18px;
}
.apple-auth-modal .nav-auth-form-row-valign-center {
    align-items: stretch;
}
.apple-auth-modal .nav-auth-label {
    flex: none;
    min-width: 0;
    width: 100%;
    margin-bottom: 6px;
    padding-right: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
    text-align: left;
    color: var(--apple-secondary-label);
    white-space: normal;
}
.apple-auth-modal .nav-auth-form-row-otp .nav-auth-label {
    align-self: stretch;
    padding-top: 0;
}
.apple-auth-modal .nav-auth-field {
    max-width: none;
    width: 100%;
}
.apple-auth-modal .nav-auth-input.form-control {
    height: 46px;
    font-size: 17px;
    letter-spacing: -0.02em;
    padding: 12px 14px;
    border-radius: var(--apple-radius-field);
    border: none;
    background: var(--apple-fill);
    color: var(--apple-label);
    transition: box-shadow 0.15s ease;
}
.apple-auth-modal .nav-auth-input.form-control:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.35);
    background: var(--apple-fill);
}
.io-black-mode .apple-auth-modal .nav-auth-input.form-control:focus {
    box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.42);
}
.apple-auth-modal .nav-auth-field-password {
    padding-bottom: 28px;
}
.apple-auth-modal .nav-auth-forgot-link {
    bottom: 4px;
    right: 2px;
    font-size: 15px;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--apple-blue);
    text-decoration: none;
}
.apple-auth-modal .nav-auth-forgot-link:hover {
    text-decoration: underline;
}
.apple-auth-modal .nav-auth-label-spacer {
    display: none !important;
}
.apple-auth-modal .nav-auth-form-row-stack .nav-auth-field {
    max-width: none;
    align-items: stretch;
}
.apple-auth-modal .nav-auth-field-terms {
    max-width: none;
    align-items: stretch !important;
}
.apple-auth-modal .nav-auth-terms-login,
.apple-auth-modal .nav-auth-terms-register {
    font-size: 13px;
    line-height: 1.45;
    color: var(--apple-secondary-label);
    text-align: center;
}
.apple-auth-modal .nav-auth-terms-singleline {
    white-space: normal;
    overflow-x: visible;
}
.apple-auth-modal .nav-auth-legal-link {
    color: var(--apple-blue);
    text-decoration: none;
}
.apple-auth-modal .nav-auth-legal-link:hover {
    text-decoration: underline;
}

/* 主按钮：全宽大圆角 */
.apple-auth-modal .nav-auth-btn-primary,
.apple-auth-modal .nav-auth-btn-register.btn-success {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 50px;
    margin-top: 4px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.02em;
    border-radius: var(--apple-radius-control);
    border: none;
    background: var(--apple-blue) !important;
    color: #fff !important;
    box-shadow: none;
}
.apple-auth-modal .nav-auth-btn-primary:hover,
.apple-auth-modal .nav-auth-btn-register.btn-success:hover {
    background: var(--apple-blue-hover) !important;
    color: #fff !important;
}
.apple-auth-modal .nav-auth-btn-primary:focus,
.apple-auth-modal .nav-auth-btn-register.btn-success:focus {
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.35);
}
.apple-auth-modal .nav-auth-btn-primary.nav-auth-btn-loading,
.apple-auth-modal .nav-auth-btn-register.btn-success.nav-auth-btn-loading {
    background: #636366 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    cursor: wait !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18);
}

/* 次级按钮（获取验证码）：填充灰胶囊 */
.apple-auth-modal .nav-auth-btn-secondary {
    height: 46px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    border-radius: var(--apple-radius-control);
    border: none;
    background: var(--apple-fill);
    color: var(--apple-blue);
}
.apple-auth-modal .nav-auth-btn-secondary:hover {
    background: rgba(120, 120, 128, 0.18);
    color: var(--apple-blue);
}
.apple-auth-modal .nav-auth-btn-secondary:disabled {
    opacity: 0.45;
}
.apple-auth-modal .nav-auth-btn-secondary.nav-auth-btn-sending {
    opacity: 1 !important;
    background: rgba(0, 122, 255, 0.22) !important;
    color: #0040b8 !important;
}
.apple-auth-modal .nav-auth-btn-secondary.nav-auth-btn-waiting {
    opacity: 1 !important;
    background: rgba(255, 159, 10, 0.32) !important;
    color: #a14800 !important;
}
.apple-auth-modal .nav-auth-btn-secondary.nav-auth-btn-countdown {
    opacity: 1 !important;
    background: rgba(120, 120, 128, 0.35) !important;
    color: #3a3a3c !important;
}
.io-black-mode .apple-auth-modal .nav-auth-btn-secondary.nav-auth-btn-sending {
    background: rgba(10, 132, 255, 0.28) !important;
    color: #9ecbff !important;
}
.io-black-mode .apple-auth-modal .nav-auth-btn-secondary.nav-auth-btn-waiting {
    background: rgba(255, 159, 10, 0.28) !important;
    color: #ffb347 !important;
}
.io-black-mode .apple-auth-modal .nav-auth-btn-secondary.nav-auth-btn-countdown {
    background: rgba(128, 128, 128, 0.38) !important;
    color: #d1d1d6 !important;
}

.apple-auth-modal .nav-auth-link.nav-auth-footer-link {
    font-size: 17px;
    font-weight: 400;
    color: var(--apple-blue);
    text-decoration: none;
}
.apple-auth-modal .nav-auth-link.nav-auth-footer-link:hover {
    text-decoration: underline;
}

.apple-auth-modal .nav-auth-field-msg,
.apple-auth-modal .nav-auth-inline-msg {
    padding-left: 0 !important;
    font-size: 13px;
    letter-spacing: -0.01em;
}
.apple-auth-modal .nav-auth-hint-msg.text-danger,
.apple-auth-modal .nav-auth-field-msg.text-danger {
    color: var(--apple-red) !important;
}

.apple-auth-modal .nav-auth-cf-wrap {
    border-radius: var(--apple-radius-field);
    border: none;
    background: var(--apple-fill);
}

.apple-auth-modal #navAuthRegisterSuccess .nav-auth-btn-inline.btn-primary {
    margin-left: 0.35rem;
    vertical-align: baseline;
    border-radius: var(--apple-radius-control);
    border: none;
    background: var(--apple-blue);
    padding: 6px 14px;
    font-weight: 600;
}
.apple-auth-modal #navAuthRegisterSuccess .btn-link {
    color: var(--apple-blue);
    font-size: 15px;
}

.apple-auth-modal .nav-auth-btn-narrow {
    min-width: 0;
    max-width: none;
}

/* —— 账户页 —— */
.apple-account-page.account-page {
    font-family: var(--apple-font-stack, inherit);
    background: var(--apple-bg-grouped);
}
.apple-account-page .account-page-inner {
    max-width: 34rem;
}
.apple-account-page .account-page-title {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.15;
    margin-top: 2rem !important;
    color: var(--apple-label);
}
.apple-account-page .account-page-lead {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: -0.01em;
    color: var(--apple-secondary-label);
    margin-bottom: 1.5rem;
}

.apple-account-banner {
    padding: 14px 16px;
    margin-bottom: 1.25rem;
    border-radius: var(--apple-radius-sheet);
    background: rgba(255, 204, 0, 0.18);
    border: 0.5px solid rgba(255, 159, 10, 0.35);
}
.io-black-mode .apple-account-banner {
    background: rgba(255, 214, 10, 0.12);
    border-color: rgba(255, 214, 10, 0.28);
}
.apple-account-banner-text {
    font-size: 15px;
    line-height: 1.45;
    letter-spacing: -0.02em;
    color: var(--apple-label);
}
.apple-inline-link {
    color: var(--apple-blue);
    text-decoration: none;
}
.apple-inline-link:hover {
    text-decoration: underline;
}
.apple-account-banner .nav-login-trigger.apple-inline-link:hover {
    color: var(--apple-blue) !important;
}

.apple-inset-list {
    list-style: none;
    margin: 0;
    padding: 0;
    background: var(--apple-bg-elevated);
    border-radius: var(--apple-radius-sheet);
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.io-black-mode .apple-inset-list {
    box-shadow: none;
    border: 0.5px solid var(--apple-separator);
}
.apple-inset-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 16px;
    border-bottom: 0.5px solid var(--apple-separator);
}
.apple-inset-row:last-child {
    border-bottom: none;
}
.apple-inset-row-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.apple-inset-label {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: var(--apple-secondary-label);
}
.apple-inset-value {
    font-size: 17px;
    font-weight: 400;
    letter-spacing: -0.02em;
    color: var(--apple-label);
    word-break: break-word;
}
.apple-text-secondary {
    color: var(--apple-secondary-label);
}

.apple-pill-button {
    flex-shrink: 0;
    padding: 7px 14px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.02em;
    font-family: inherit;
    border-radius: 980px;
    border: none;
    cursor: pointer;
    transition: opacity 0.15s ease, transform 0.1s ease;
}
.apple-pill-button-ghost {
    background: var(--apple-fill);
    color: var(--apple-blue);
}
.apple-pill-button-ghost:hover {
    opacity: 0.85;
}
.apple-pill-button-ghost:active {
    transform: scale(0.97);
}

/* 账户内表单卡片 */
.apple-account-page .apple-auth-card.card {
    font-family: inherit;
    border-radius: var(--apple-radius-sheet);
    background: var(--apple-bg-elevated);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    overflow: hidden;
}
.io-black-mode .apple-account-page .apple-auth-card.card {
    box-shadow: none;
    border: 0.5px solid var(--apple-separator) !important;
}
.apple-account-page .apple-auth-card .account-auth-card-heading {
    font-size: 22px;
    font-weight: 700;
    letter-spacing: -0.03em;
    text-align: center;
    color: var(--apple-label);
}

/* 账户卡片内：纵向表单 + 去除占位列 */
.apple-account-page .account-auth-card .nav-auth-label-spacer {
    display: none !important;
}
.apple-account-page .account-auth-card .nav-auth-form-row {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 18px;
}
.apple-account-page .account-auth-card .nav-auth-label {
    flex: none;
    min-width: 0;
    width: 100%;
    margin-bottom: 6px;
    padding-right: 0;
    font-size: 13px;
    font-weight: 600;
    text-align: left;
    color: var(--apple-secondary-label);
    white-space: normal;
}
.apple-account-page .account-auth-card .nav-auth-field {
    max-width: none !important;
    width: 100%;
}
.apple-account-page .account-auth-card .nav-auth-input.form-control {
    height: 46px;
    font-size: 17px;
    letter-spacing: -0.02em;
    padding: 12px 14px;
    border-radius: var(--apple-radius-field);
    border: none;
    background: var(--apple-fill);
    color: var(--apple-label);
}
.apple-account-page .account-auth-card .nav-auth-input.form-control:focus {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 122, 255, 0.35);
}
.io-black-mode .apple-account-page .account-auth-card .nav-auth-input.form-control:focus {
    box-shadow: 0 0 0 3px rgba(10, 132, 255, 0.4);
}

.apple-account-page .account-auth-card .nav-auth-btn-primary {
    width: 100%;
    max-width: none;
    height: 50px;
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -0.02em;
    border-radius: var(--apple-radius-control);
    border: none;
    background: var(--apple-blue) !important;
    color: #fff !important;
}
.apple-account-page .account-auth-card .nav-auth-btn-primary:hover {
    background: var(--apple-blue-hover) !important;
    color: #fff !important;
}
.apple-account-page .account-auth-card .nav-auth-btn-primary.nav-auth-btn-loading {
    background: #636366 !important;
    color: rgba(255, 255, 255, 0.96) !important;
    cursor: wait !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.18);
}

.apple-account-page .account-auth-card .nav-auth-btn-secondary {
    height: 46px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 600;
    border-radius: var(--apple-radius-control);
    border: none;
    background: var(--apple-fill);
    color: var(--apple-blue);
}
.apple-account-page .account-auth-card .nav-auth-btn-secondary.nav-auth-btn-sending {
    opacity: 1 !important;
    background: rgba(0, 122, 255, 0.22) !important;
    color: #0040b8 !important;
}
.apple-account-page .account-auth-card .nav-auth-btn-secondary.nav-auth-btn-waiting {
    opacity: 1 !important;
    background: rgba(255, 159, 10, 0.32) !important;
    color: #a14800 !important;
}
.apple-account-page .account-auth-card .nav-auth-btn-secondary.nav-auth-btn-countdown {
    opacity: 1 !important;
    background: rgba(120, 120, 128, 0.35) !important;
    color: #3a3a3c !important;
}
.io-black-mode .apple-account-page .account-auth-card .nav-auth-btn-secondary.nav-auth-btn-sending {
    background: rgba(10, 132, 255, 0.28) !important;
    color: #9ecbff !important;
}
.io-black-mode .apple-account-page .account-auth-card .nav-auth-btn-secondary.nav-auth-btn-waiting {
    background: rgba(255, 159, 10, 0.28) !important;
    color: #ffb347 !important;
}
.io-black-mode .apple-account-page .account-auth-card .nav-auth-btn-secondary.nav-auth-btn-countdown {
    background: rgba(128, 128, 128, 0.38) !important;
    color: #d1d1d6 !important;
}

.apple-account-page .account-auth-card .btn-link {
    color: var(--apple-blue);
    font-size: 15px;
    font-weight: 400;
}

.apple-account-page .account-auth-card .nav-auth-cf-notice {
    text-align: center;
    font-size: 15px;
    color: var(--apple-secondary-label);
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.apple-account-page .account-auth-card .account-auth-center-flow {
    align-items: stretch;
    max-width: 100%;
}
.apple-account-page .account-auth-card .account-auth-center-flow > .nav-auth-form-row {
    justify-content: stretch;
    width: 100%;
}
.apple-account-page .account-auth-card .account-auth-actions-stack-row .nav-auth-field.account-auth-stacked-actions {
    max-width: none;
    width: 100%;
    align-items: stretch;
}
.apple-account-page .account-auth-card .account-auth-actions-stack-row .nav-auth-btn-primary {
    width: 100%;
}

.apple-account-page .account-auth-card .nav-auth-field-msg,
.apple-account-page .account-auth-card .nav-auth-inline-msg {
    padding-left: 0 !important;
    text-align: center;
}

.apple-account-page .account-auth-card.account-auth-card-pw .account-auth-panel-inner {
    max-width: 100%;
    width: 100%;
}

.apple-account-page #accountUsernameFormWrap .account-username-step2-actions-row .nav-auth-label-spacer,
.apple-account-page .account-auth-card.account-auth-card-pw .account-pw-actions-row .nav-auth-label-spacer {
    display: none !important;
}
.apple-account-page #accountUsernameFormWrap .account-username-step2-actions-inner,
.apple-account-page .account-auth-card.account-auth-card-pw .account-pw-actions-inner {
    max-width: none;
    width: 100%;
    align-items: stretch;
}
.apple-account-page #accountUsernameFormWrap .account-username-step2-field-row .nav-auth-field {
    max-width: none !important;
}

@media (max-width: 576px) {
    .apple-auth-modal .nav-auth-modal-title {
        font-size: 24px;
    }
    .apple-account-page .account-page-title {
        font-size: 28px;
    }
    .apple-account-summary-row {
        flex-wrap: wrap;
    }
    .apple-pill-button-ghost {
        width: 100%;
        text-align: center;
    }
}

/* —— Apple-style global footer —— */
.apple-global-footer {
    text-align: center;
    padding: 24px 16px 36px;
    max-width: 720px;
    margin: 0 auto;
}
.apple-footer-lead {
    font-size: 12px;
    line-height: 1.5;
    color: #6e6e73;
    margin: 0 0 12px;
}
.io-black-mode .apple-footer-lead {
    color: rgba(235, 235, 245, 0.6);
}
.apple-footer-meta {
    font-size: 11px;
    line-height: 1.55;
    color: #86868b;
}
.io-black-mode .apple-footer-meta {
    color: rgba(235, 235, 245, 0.45);
}
.apple-footer-copy {
    display: block;
    margin-bottom: 8px;
}
.apple-footer-links {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.apple-footer-links a {
    color: #424245;
    text-decoration: none;
}
.apple-footer-links a:hover {
    color: #0a84ff;
    text-decoration: underline;
}
.io-black-mode .apple-footer-links a {
    color: rgba(235, 235, 245, 0.65);
}
.io-black-mode .apple-footer-links a:hover {
    color: #9ec5fe;
}
.apple-footer-sep {
    padding: 0 5px;
    user-select: none;
}

.page-no-sidebar #sidebar-switch {
    display: none !important;
}

/* —— About page (Apple-like editorial) —— */
.apple-about-page .apple-about-main {
    padding-bottom: 48px;
}
.apple-about-inner {
    max-width: 720px;
    margin: 0 auto;
    padding: 28px 20px 56px;
}
@media (min-width: 768px) {
    .apple-about-inner {
        padding-top: 44px;
    }
}
.apple-about-title {
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: #1d1d1f;
    margin: 0 0 12px;
    line-height: 1.15;
}
.io-black-mode .apple-about-title {
    color: #f5f5f7;
}
.apple-about-lead {
    font-size: 17px;
    line-height: 1.47;
    color: #6e6e73;
    margin: 0 0 36px;
    font-weight: 400;
}
.io-black-mode .apple-about-lead {
    color: rgba(235, 235, 245, 0.64);
}
.apple-about-content {
    font-size: 15px;
    line-height: 1.6;
    color: #1d1d1f;
}
.io-black-mode .apple-about-content {
    color: rgba(235, 235, 245, 0.92);
}
.apple-about-content h3 {
    font-size: 19px;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin: 28px 0 12px;
    color: #1d1d1f;
}
.io-black-mode .apple-about-content h3 {
    color: #f5f5f7;
}
.apple-about-content p {
    margin: 0 0 14px;
}
.apple-about-content ul {
    margin: 0 0 16px;
    padding-left: 1.2em;
}
.apple-about-content li {
    margin-bottom: 8px;
}
.apple-about-content strong {
    font-weight: 600;
}

