/* =========================================================
   晏源 静态HTML托管分享平台 - iOS同款透明液态玻璃主题
   清凉透亮:大敌方更通透、更强模糊、精致高光描边,
   还原 iOS 毛玻璃(高透 + 强模糊 + 顶部内高光)质感。
   通过覆盖 style.css 变量 + 组件毛玻璃化实现,前后端统一生效
   (在 style.css 之后加载)。站点样式 site_style=liquid_ios 时自动引入。
   ========================================================= */

/* ---------- 配色变量(iOS 透明液态玻璃) ---------- */
:root{
    --accent-orange:#FF6A3D;
    --accent-pink:#FF9AA6;
    --accent-yellow:#FFD873;
    --accent-mint:#7EDDC8;
    --accent-dark:#2B2F3A;
    --accent-soft:#5A6070;

    --c-orange:#FF6A3D;
    --c-orange-deep:#E84F1E;
    --c-yellow:#FFD873;
    --c-mint:#3ECFB0;
    --c-pink:#FF9AA6;
    --c-ink:#2B2F3A;
    --c-ink-soft:#33384A;
    --c-muted:#33384A;
    --c-line:rgba(255,255,255,.62);
    --c-bg:#F8F6F3;
    --c-bg-2:#FFF4E8;
    --c-card:rgba(255,255,255,.38);

    --c-shadow:0 12px 36px rgba(255,106,61,.16);
    --c-shadow-soft:0 8px 24px rgba(43,47,58,.07);

    --radius:26px;
    --radius-sm:18px;

    --grad-hero:linear-gradient(135deg,#FF6A3D 0%,#FFB26B 55%,#FFD873 100%);
    --grad-mint:linear-gradient(135deg,#FFD873 0%,#7EDDC8 100%);
    --grad-ink:linear-gradient(135deg,#2B2F3A 0%,#5A6070 55%,#7EDDC8 100%);

    /* iOS 玻璃:全透明 + 一点点暖色、强模糊、高饱和,极致通透质感 */
    --glass-bg:rgba(255,242,228,.11);
    --glass-bg-soft:rgba(255,247,238,.06);
    --glass-bg-strong:rgba(255,236,214,.22);
    --glass-bg-menu:rgba(255,241,226,.15);
    --glass-border:rgba(255,255,255,.55);
    --glass-border-strong:rgba(255,255,255,.78);
    --glass-blur:blur(30px) saturate(200%);
    --glass-highlight:inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(255,255,255,.12);

    --shadow-sm:0 4px 14px rgba(43,47,58,.05);
    --shadow-md:0 10px 28px rgba(43,47,58,.08);
    --shadow-lg:0 18px 44px rgba(43,47,58,.16);
    --shadow-glow:0 0 28px rgba(255,216,115,.5);
}

/* ---------- iOS 同款素净底色 + 极淡静态光斑(无渐变,iOS 玻璃采样基底) ---------- */
html{
    background:#F5F4F0 !important;
    background-attachment:fixed !important;
    background-size:cover;
}
body{
    background:transparent !important;
}
body::before,
body::after{
    content:'';
    position:fixed;
    z-index:-1;
    border-radius:50%;
    pointer-events:none;
    opacity:.28;
}
body::before{
    width:520px;height:520px;
    top:-120px;right:-80px;
    background:radial-gradient(circle,rgba(255,182,120,.6) 0%,transparent 70%);
}
body::after{
    width:480px;height:480px;
    bottom:-110px;left:-90px;
    background:radial-gradient(circle,rgba(255,206,158,.6) 0%,transparent 70%);
}
/* 登录/注册等认证页:去掉不透明底色,透出玻璃采样光斑,使 .auth-card 呈现液态玻璃 */
.auth-page,.auth-body{background:transparent !important}

/* ---------- 顶栏玻璃化 ---------- */
.topbar,.admin-topbar{
    background:rgba(255,243,230,.10) !important;
    backdrop-filter:var(--glass-blur);
    -webkit-backdrop-filter:var(--glass-blur);
    border-bottom:1px solid var(--glass-border);
}
.brand-dot{
    background:var(--grad-hero) !important;
    box-shadow:0 0 0 4px rgba(255,106,61,.16),0 0 18px rgba(255,106,61,.32);
}

/* ---------- 卡片玻璃化(清除 contain:paint 以启用 backdrop-filter) ---------- */
.card,.panel,.table-wrap,.admin-card,.auth-card{contain:none !important}
.card,.admin-card,.panel,.auth-card{
    background:rgba(255,240,222,.12) !important;
    backdrop-filter:var(--glass-blur);
    -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border);
    box-shadow:var(--c-shadow-soft), var(--glass-highlight);
}
.card-title::before{background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.28)) !important;border:1px solid rgba(255,255,255,.7) !important;box-shadow:inset 0 1px 0 rgba(255,255,255,.85) !important}
/* 个人中心头像:液态玻璃(覆盖橙色渐变) */
.profile-avatar{
    background:var(--glass-bg-strong) !important;
    backdrop-filter:var(--glass-blur);
    -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border-strong);
    box-shadow:var(--c-shadow-soft), var(--glass-highlight);
    color:var(--accent-dark) !important;
}
/* 手机端:顶部已显示标题时,最外层内容卡片透明直出(覆盖上方毛玻璃 !important) */
@media (max-width:760px){
    .container > .card{background:transparent !important;border:none !important;box-shadow:none !important;-webkit-backdrop-filter:blur(0) !important;backdrop-filter:blur(0) !important;padding:8px 14px 20px}
    .container > .card::before,.container > .card::after{display:none !important;content:none !important}
    .container > .card + .card{margin-top:0 !important}
}

/* ---------- 手机端卡片列表 (iOS 玻璃) ---------- */
.list-card{
    background:rgba(255,240,222,.12) !important;
    backdrop-filter:var(--glass-blur);
    -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border);
    box-shadow:var(--c-shadow-soft), inset 0 1px 0 rgba(255,255,255,.7);
}
.list-card .lc-subject{color:var(--accent-dark)}
.list-card .lc-value{color:var(--accent-dark)}
.list-card .lc-desc{color:var(--c-ink-soft)}
.list-card .lc-no,.list-card .lc-time{color:var(--c-muted)}
.list-card .lc-no,.list-card .lc-meta{border-bottom-color:rgba(255,255,255,.35)}

/* ---------- 个人中心功能菜单强化玻璃 ---------- */
.menu-item{
    background:var(--glass-bg-menu) !important;
    backdrop-filter:var(--glass-blur);
    -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border);
    box-shadow:var(--c-shadow-soft), var(--glass-highlight);
}
.menu-item:hover{
    background:var(--glass-bg-strong) !important;
    border-color:rgba(255,106,61,.38);
    box-shadow:0 12px 30px rgba(43,47,58,.12), var(--glass-highlight);
}
.menu-icon{
    box-shadow:inset 0 1px 0 rgba(255,255,255,.6), 0 4px 12px rgba(43,47,58,.1);
}

/* ---------- 按钮(iOS 透明胶囊 + 悬停光泽) ---------- */
.btn{
    position:relative;overflow:hidden;
    background:rgba(255,255,255,.16);
    border:1px solid rgba(120,128,138,.40);
    border-radius:9999px;
    color:var(--accent-dark);
    transition:all .3s cubic-bezier(.34,1.56,.64,1);
}
.btn::before{
    content:'';
    position:absolute;top:0;left:-120%;
    width:100%;height:100%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);
    transform:skewX(-20deg);
    pointer-events:none;
    transition:left .55s cubic-bezier(.34,1.56,.64,1);
}
.btn:hover::before{left:140%}
.btn:disabled::before{display:none}
.btn:hover{
    transform:none;
    border-color:rgba(255,106,61,.28);
    box-shadow:var(--shadow-lg);
}
.btn:active{
    transform:none;
    box-shadow:none;
    border-color:rgba(255,106,61,.32);
}
/* 触屏设备:按下/抬起后不填充颜色(移动端 :hover 会粘住,统一淡化送处置) */
@media (hover:none){
    /* 关闭原生点击高亮 */
    .btn,.btn-primary,.btn-mint,.btn-ink,.btn-yellow,.btn-danger,.btn-ghost,.btn-secondary,
    .copy-no,.picker-cancel,.picker-confirm,.yy-popup-btn,.modal-close,.modal-fs-btn,
    .admin-tabs a,.tab-nav a,.config-nav a,.mobile-tabbar a,.menu-item{
        -webkit-tap-highlight-color:transparent;
        tap-highlight-color:transparent;
    }
    /* 所有变体按压/聚焦态:一律近透明,不填充渐变/实色 */
    .btn,.btn:focus,
    .btn:hover,.btn:active,
    .btn-primary,.btn-primary:focus,
    .btn-primary:hover,.btn-primary:active,
    .btn-mint,.btn-mint:focus,
    .btn-mint:hover,.btn-mint:active,
    .btn-ink,.btn-ink:focus,
    .btn-ink:hover,.btn-ink:active,
    .btn-yellow,.btn-yellow:focus,
    .btn-yellow:hover,.btn-yellow:active,
    .btn-danger,.btn-danger:focus,
    .btn-danger:hover,.btn-danger:active,
    .btn-ghost,.btn-ghost:focus,
    .btn-ghost:hover,.btn-ghost:active,
    .btn-secondary,.btn-secondary:focus,
    .btn-secondary:hover,.btn-secondary:active,
    .copy-no:hover,.copy-no:focus,.copy-no:active,
    .picker-cancel:hover,.picker-cancel:active,
    .picker-confirm:hover,.picker-confirm:active,
    .yy-popup-btn:hover,.yy-popup-btn:active,
    .yy-popup-btn.primary:hover,.yy-popup-btn.primary:active,
    .yy-popup-btn.ghost:hover,.yy-popup-btn.ghost:active,
    .modal-close,.modal-close:focus,.modal-close:hover,.modal-close:active,
    .modal-fs-btn,.modal-fs-btn:focus,.modal-fs-btn:hover,.modal-fs-btn:active,
    .admin-tabs a:active,.tab-nav a:active,.config-nav a:active,
    .mobile-tabbar a:active,.menu-item:active{
        background:rgba(255,255,255,.05)!important;
        box-shadow:none!important;
        border-color:rgba(255,255,255,.55)!important;
        background-image:none!important;
    }
    /* 点按时不填充、不冻结:扫光持续流过(解除 hover 粘住后的冻结),内容卡片/行全透明 */
    .btn:hover::before,.btn:active::before,
    .menu-item:hover::before,.menu-item:active::before,
    a.notice-item:hover::before,a.notice-item:active::before,
    .shop-card:hover::before,.shop-card:active::before,
    .vip-card:hover::before,.vip-card:active::before,
    .client-card:hover::before,.client-card:active::before,
    .upload-drop:hover::before,.upload-drop:active::before,
    .cdd-option:hover::before,.cdd-option:active::before{
        animation:yy-ios-sheen 6.5s var(--ios-ease) infinite;
        left:auto;
    }
    .menu-item:hover,.menu-item:active,
    a.notice-item:hover,a.notice-item:active,
    .shop-card:hover,.shop-card:active,
    .vip-card:hover,.vip-card:active,
    .client-card:hover,.client-card:active,
    .upload-drop:hover,.upload-drop:active,
    .cdd-option:hover,.cdd-option:active{
        background:transparent !important;
    }
}
.btn-ghost:hover{background:rgba(255,255,255,.22);border-color:rgba(255,106,61,.6)}
.btn-primary{
    background:linear-gradient(135deg,rgba(255,216,115,.30),rgba(255,154,166,.18));
    color:var(--accent-dark);border:1px solid rgba(255,216,115,.55);box-shadow:none;
}
.btn-primary:hover{background:linear-gradient(135deg,rgba(255,216,115,.42),rgba(255,154,166,.28));box-shadow:0 12px 26px rgba(43,47,58,.13)}
.btn-mint{background:linear-gradient(135deg,rgba(255,216,115,.28),rgba(255,178,107,.16));color:var(--accent-dark);border:1px solid rgba(255,178,107,.45)}
.btn-ink{background:rgba(255,255,255,.22);color:var(--accent-dark);border:1px solid rgba(120,128,138,.35)}
.btn-yellow{background:linear-gradient(135deg,rgba(255,216,115,.42),rgba(255,178,107,.32));-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);color:#3A2A00;border:1px solid rgba(255,216,115,.6);box-shadow:var(--glass-highlight)}
.btn-danger{background:rgba(255,132,132,.22);color:#B3313D;border:1px solid rgba(255,132,132,.5)}
.btn-ghost{background:rgba(255,255,255,.18);color:var(--c-ink-soft);border:1px solid rgba(120,128,138,.35)}
.btn-ghost:hover{background:rgba(255,255,255,.26);border-color:rgba(120,128,138,.55)}
/* 确认/取消、选择器底部按钮:液态玻璃 */
.btn-secondary{background:rgba(255,242,228,.16);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.6);color:var(--accent-dark);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.btn-secondary:hover{background:rgba(255,238,220,.28);border-color:rgba(120,128,138,.55)}
.picker-cancel{background:rgba(255,242,228,.16);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.6);color:var(--accent-dark);border-radius:9999px}
.picker-cancel:hover{background:rgba(255,238,220,.28);color:var(--accent-dark)}
.picker-confirm{background:rgba(255,242,228,.16) !important;-webkit-backdrop-filter:var(--glass-blur) !important;backdrop-filter:var(--glass-blur) !important;color:var(--accent-dark) !important;border:1px solid rgba(255,255,255,.6) !important;border-radius:9999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
/* 复制小按钮:液态玻璃 */
.copy-no{background:rgba(255,242,228,.18);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(255,255,255,.65);color:var(--accent-dark);border-radius:9999px;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.copy-no:hover{background:rgba(255,238,220,.3);border-color:rgba(255,106,61,.55);color:#E85A26}

/* 弹窗推送按钮 + 指示圆点:液态玻璃 */
.yy-popup-btn{background:rgba(255,242,228,.16)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;border:1px solid rgba(255,255,255,.6)!important;color:var(--accent-dark)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important}
.yy-popup-btn:hover{background:rgba(255,238,220,.30)!important;border-color:rgba(255,106,61,.55)!important;color:var(--accent-dark)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important}
.yy-popup-btn.primary{background:rgba(255,242,228,.16)!important;color:var(--accent-dark)!important;border:1px solid rgba(255,255,255,.6)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important}
.yy-popup-btn.ghost{background:rgba(255,247,238,.10)!important;color:var(--accent-dark)!important;border:1px solid rgba(255,255,255,.5)!important}
.yy-popup-dot{background:rgba(255,255,255,.55)!important;border:1px solid rgba(120,128,138,.28)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.6)!important}
.yy-popup-dot:hover{background:rgba(255,255,255,.75)!important}
.yy-popup-dot.active{background:rgba(255,255,255,.85)!important;border:1px solid rgba(255,255,255,.9)!important;-webkit-backdrop-filter:var(--glass-blur)!important;backdrop-filter:var(--glass-blur)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)!important;width:22px}

/* ---------- 表单控件(全透明基底 + 强模糊) ---------- */
.input,.select,.textarea{
    background:rgba(255,252,247,.34) !important;
    backdrop-filter:blur(16px) saturate(180%);
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    border:1px solid rgba(120,128,138,.46);
    border-radius:18px;
    color:var(--accent-dark);
    box-shadow:inset 0 1px 2px rgba(43,47,58,.05);
}
.input::placeholder,.textarea::placeholder{color:rgba(43,47,58,.42)}
.input:hover,.textarea:hover,.select:hover{background:rgba(255,252,247,.42) !important;border-color:rgba(120,128,138,.58)}
.input:focus,.select:focus,.textarea:focus{background:rgba(255,255,255,.55) !important;border-color:rgba(90,100,110,.68) !important;box-shadow:0 0 0 3px rgba(120,128,138,.16) !important}
.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;min-width:96px;background-color:rgba(255,255,255,.72) !important;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235F6A76' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important;padding-right:40px !important;cursor:pointer;border:1px solid rgba(120,128,138,.55) !important;border-radius:18px !important;backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);color:var(--accent-dark)}
.select{box-shadow:inset 0 1px 2px rgba(43,47,58,.05)}
.select-compact{min-height:36px;border-radius:9999px !important}
.navbar select,.topnav select{appearance:none;-webkit-appearance:none}

/* ---------- 后台特色元素 ---------- */
.admin-body{background:transparent !important}
.admin-sidebar{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}
.admin-nav a{color:var(--accent-dark) !important}
.admin-nav a:hover{color:var(--accent-dark) !important;background:var(--glass-bg-strong)}
.admin-nav a.active{background:var(--glass-bg-strong);box-shadow:0 0 0 3px rgba(255,106,61,.12)}
.admin-brand{color:var(--accent-dark) !important;border-bottom-color:rgba(43,47,58,.10) !important}
.admin-topbar .t-right a{background:rgba(255,240,224,.12);backdrop-filter:blur(6px);border-radius:9999px}

.table{background:rgba(255,240,224,.12) !important;border:1px solid var(--glass-border) !important;border-radius:18px;overflow:hidden}
.table th{background:rgba(255,216,115,.16) !important;color:var(--accent-dark)}
.table tr:hover td{background:rgba(255,255,255,.16) !important}
.table td,.table th{border-bottom:1px solid rgba(255,255,255,.28)}

/* ---------- 后台/导航 Tab(iOS 胶囊) ---------- */
.admin-tabs,.tab-nav,.config-nav{background:rgba(255,240,224,.10);padding:8px;border-radius:9999px;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:0}
.admin-tabs a,.tab-nav a,.config-nav a{position:relative;overflow:hidden;background:rgba(255,238,220,.12);border:0;border-radius:9999px;box-shadow:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.admin-tabs a:hover,.tab-nav a:hover,.config-nav a:hover{background:rgba(255,255,255,.24)}
.admin-tabs a::before,.tab-nav a::before,.config-nav a::before{content:'';position:absolute;top:0;left:-120%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.32),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .5s cubic-bezier(.34,1.56,.64,1)}
.admin-tabs a:hover::before,.tab-nav a:hover::before,.config-nav a:hover::before{left:140%}
.admin-tabs a.active,.tab-nav a.active,.config-nav a.active,.admin-tabs a.btn-primary,.tab-nav a.btn-primary,.config-nav a.btn-primary,a.btn.yy-tab-on{background:linear-gradient(135deg,#FFD873,#FFB26B);color:var(--accent-dark);border:0;border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}

/* ---------- 标签 / 统计卡片 ---------- */
.tag{background:rgba(255,240,224,.18);backdrop-filter:blur(6px);border:1px solid var(--glass-border)}
.tag-green{background:rgba(226,248,240,.7)}
.tag-yellow{background:rgba(255,246,224,.7)}
.tag-red{background:rgba(255,232,230,.7)}
.tag-blue{background:rgba(235,246,255,.7)}
/* 免费用户额度提示(上传页):液态玻璃 */
.quota-banner{
    background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.08)) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border-strong) !important;
    border-radius:18px;
    box-shadow:var(--glass-highlight), var(--c-shadow-soft);
    color:var(--accent-dark);
}
.quota-banner .num{color:var(--c-orange)}
/* 积分商城物品卡:液态玻璃 */
.shop-card{
    background:rgba(255,242,228,.13) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border) !important;
    border-radius:20px !important;
    box-shadow:var(--c-shadow-soft), inset 0 1px 0 rgba(255,255,255,.55);
}
.shop-card:hover{transform:translateY(-2px);border-color:rgba(255,106,61,.5) !important;box-shadow:0 12px 30px rgba(43,47,58,.12), inset 0 1px 0 rgba(255,255,255,.55) !important}
.shop-card .name{color:var(--accent-dark)}
/* 开通VIP套餐卡:液态玻璃(普通卡) */
.vip-card{
    background:rgba(255,242,228,.13) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border) !important;
    border-radius:20px !important;
    box-shadow:var(--c-shadow-soft), inset 0 1px 0 rgba(255,255,255,.55) !important;
}
.vip-card:hover{transform:translateY(-2px);border-color:rgba(255,106,61,.5) !important;box-shadow:0 12px 30px rgba(43,47,58,.12), inset 0 1px 0 rgba(255,255,255,.55) !important}
.vip-card .name,.vip-card .price,.vip-card .price small,.vip-card .priv{color:var(--accent-dark) !important}
.vip-card .price{color:var(--c-orange) !important}
/* 推荐卡:保持橙色玻璃高亮、深色文字可读 */
.vip-card.featured{
    background:linear-gradient(150deg,rgba(255,216,115,.30),rgba(255,178,107,.26)) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid rgba(255,255,255,.7) !important;
    box-shadow:var(--c-shadow-soft), inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.vip-card.featured .name,.vip-card.featured .price,.vip-card.featured .price small,.vip-card.featured .priv{color:#3A2A00 !important}
.vip-card.featured .price{color:#C2410C !important}
.vip-card .recommended{background:rgba(255,216,115,.85) !important;color:#3D2A00}
.shop-card .cost{color:var(--c-orange)}
.shop-card .cost small{color:var(--c-muted)}
.shop-card .desc{color:var(--c-ink-soft)}
.stat,.stat.mint,.stat.yellow,.stat.accent{
    background:linear-gradient(180deg,rgba(255,255,255,.30),rgba(255,255,255,.08)) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border-strong) !important;
    box-shadow:var(--glass-highlight) !important;
}
.stat.mint,.stat.yellow,.stat.accent{color:var(--c-ink) !important}
.stat.mint .label,.stat.mint .value,.stat.yellow .label,.stat.yellow .value,.stat.accent .label,.stat.accent .value{color:var(--c-ink) !important}
.stat.accent .label{color:var(--c-muted)}
.stat.mint .delta{color:#1E8E5C}
.stat.yellow .delta{color:#B7791F}
.stat.accent .delta{color:var(--c-orange)}
/* 个人中心内嵌统计卡:液态玻璃背景 */
.ps-item{
    background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(255,255,255,.06)) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border) !important;
    box-shadow:var(--glass-highlight) !important;
}
.ps-item .ps-head{position:relative;z-index:1}
.ps-item .ps-val{position:relative;z-index:1}
.ps-item .ps-label{position:relative;z-index:1}

/* ============================================================
   手机端底部 Tab 栏:iOS 悬浮胶囊液态玻璃
   (全屏宽改为居中留边的悬浮胶囊,强模糊 + 顶部高光 + 安全区适配)
   ============================================================ */
.mobile-tabbar{
    left:12px !important;
    right:12px !important;
    bottom:max(18px, env(safe-area-inset-bottom, 0px)) !important;
    width:auto !important;
    border-radius:26px !important;
    background:rgba(255,240,224,.05) !important;
    backdrop-filter:blur(30px) saturate(200%) !important;
    -webkit-backdrop-filter:blur(30px) saturate(200%) !important;
    border:1px solid var(--glass-border-strong) !important;
    box-shadow:0 16px 48px rgba(43,47,58,.16), var(--glass-highlight) !important;
    /* 高度与独立胶囊统一为54px: 取消上下padding,内容在54px内垂直居中,safe区作为底部留白 */
    padding:0 8px calc(0px + env(safe-area-inset-bottom, 0px)) !important;
    height:54px !important;
    align-items:center;
    justify-content:space-around;
}
/* 顶部小把手(胶囊点缀):已移除 */
.mobile-tabbar::before{content:none}
/* 独立悬浮胶囊:与悬浮底栏同款液态玻璃 */
.mobile-float-shell{
    background:rgba(255,240,224,.05) !important;
    backdrop-filter:blur(30px) saturate(200%) !important;
    -webkit-backdrop-filter:blur(30px) saturate(200%) !important;
    border:1px solid var(--glass-border-strong) !important;
    box-shadow:0 16px 48px rgba(43,47,58,.16), var(--glass-highlight) !important;
    color:var(--accent-dark) !important;
    /* 高度统一为54px,与悬浮底栏同高同底,顶部齐平 */
    width:54px;height:54px;border-radius:50% !important;padding:0 !important;
    bottom:max(18px, env(safe-area-inset-bottom,0px)) !important;
}
.mobile-float-shell:hover{color:var(--c-orange) !important;border-color:var(--c-orange) !important}
@media (max-width:720px){
    /* 已设置圆形悬浮胶囊:底部悬浮导航向左缩短一点给圆形胶囊留位(未设置时底栏仍占满整行) */
    .mobile-tabbar:has(+ .mobile-float-shell){right:74px !important}
}
.mobile-tabbar a{position:relative;margin:0 2px;border-radius:18px;color:var(--c-muted)}
/* 当前激活项:透明玻璃胶囊(底色全透,仅靠玻璃描边高光 + 橙色图标呈现) */
.mobile-tabbar a.active{
    color:var(--c-orange);
    background:transparent;
    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.4),
        inset 0 1px 0 rgba(255,255,255,.55),
        inset 0 -1px 0 rgba(255,255,255,.08),
        0 8px 20px rgba(43,47,58,.08);
}
.mobile-tabbar a.active .mt-icon{color:var(--c-orange);transform:translateY(-1px)}
.mobile-tabbar a .mt-icon{
    width:26px;height:26px;display:flex;align-items:center;justify-content:center;
    color:var(--c-muted);transition:all .2s;
}
.mobile-tabbar a .mt-icon svg{width:23px;height:23px;display:block}
.mobile-tabbar a .mt-icon.mt-ic-img img{width:23px;height:23px;object-fit:contain;display:block}
.mobile-tabbar a .mt-label{font-size:11px;line-height:1;font-weight:600}

/* ---------- 上传/预览等遗漏容器:液态玻璃 ---------- */
.upload-drop,.preview-frame,.upload-box,.drop-zone,.upload-zone,.rn-upload-box{
    background:rgba(255,242,228,.14) !important;
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1.5px dashed rgba(255,255,255,.75) !important;
    border-radius:20px !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
    color:var(--accent-dark);
}
.upload-drop:hover{background:rgba(255,238,220,.22) !important;border-color:rgba(255,106,61,.55) !important}
/* 实名认证上传框:圆点图标同玻璃化 */
.rn-upload-box{overflow:hidden}
.rn-upload-box:hover{border-color:rgba(255,106,61,.55) !important;background:rgba(255,238,220,.2) !important}
.rn-upload-box .plus-icon{background:rgba(255,255,255,.34) !important;color:var(--accent-dark) !important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.rn-upload-box .plus-text{color:var(--accent-dark) !important}
/* 在线客服悬浮触发按钮(#cs_chat_btn):液态玻璃同步 */
#cs_chat_btn{background:rgba(255,242,228,.16) !important;-webkit-backdrop-filter:var(--glass-blur) !important;backdrop-filter:var(--glass-blur) !important;border-color:var(--glass-border) !important;box-shadow:var(--c-shadow-soft),inset 0 1px 0 rgba(255,255,255,.5) !important}
/* 源码输入框:避免双层玻璃,背景加实防后景透出 */
.source-wrap{position:relative;background:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;border:none !important;box-shadow:none !important}
.source-wrap .textarea,.sourceArea,.source-wrap textarea{
    background:rgba(255,252,247,.34) !important;
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    backdrop-filter:blur(16px) saturate(180%);
    color:var(--accent-dark);
}
/* 预览 iframe:空态透出磨砂玻璃色,有内容时内容自带背景则显示内容 */
.preview-frame{overflow:hidden !important;border-radius:20px !important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}
.preview-frame iframe{width:100%;height:420px;border:0;background:transparent;display:block;border-radius:16px !important;margin:0}
.preview-frame{background:rgba(255,245,235,.16) !important;border:1px solid var(--glass-border) !important}
.upload-drop .ttl{color:var(--c-orange-deep)}
.upload-drop{overflow:hidden}

/* ---------- 登录/注册独立页 ---------- */
.auth-body,.auth-page,.auth-wrap{background:transparent !important}
.auth-card{background:var(--glass-bg) !important;backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--c-shadow-soft), inset 0 1px 0 rgba(255,255,255,.5)}
.auth-brand .brand-dot{background:var(--grad-hero) !important}

.alert{border-radius:16px;backdrop-filter:blur(6px)}
.alert-info,.alert-success,.alert-warn,.alert-error{background:rgba(255,238,220,.20);border:1px solid var(--glass-border)}

/* ---------- 自定义下拉弹层(全透明 + 强模糊) ---------- */
.cdd{background:rgba(255,240,224,.20);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--c-shadow-soft), var(--glass-highlight)}
.cdd-option:hover{background:rgba(255,106,61,.12)}
.cdd-option.selected{background:linear-gradient(90deg,rgba(255,106,61,.16),transparent)}

/* 移动端底部选择面板 */
.picker-sheet{background:rgba(255,252,248,.18);-webkit-backdrop-filter:blur(24px) saturate(190%);backdrop-filter:blur(24px) saturate(190%);border-top:1px solid var(--glass-border);box-shadow:0 -10px 48px rgba(255,106,61,.16), var(--glass-highlight)}
.picker-mask{background:rgba(43,47,58,.3)}

/* ---------- 全新 · iOS 毛玻璃变体 ----------
   半透明基底 + 柔和彩色光晕 + 强模糊高饱和。元素加 class="ios-glass" 即可。 */
.ios-glass{
    background:
        linear-gradient(135deg,rgba(255,255,255,.20),rgba(255,255,255,.06)),
        radial-gradient(120% 120% at 18% 12%,  rgba(255,216,115,.20), transparent 55%),
        radial-gradient(120% 120% at 88% 86%,  rgba(126,220,200,.18), transparent 55%);
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border);
    box-shadow:0 10px 36px rgba(43,47,58,.12), var(--glass-highlight);
    border-radius:20px;
    color:var(--accent-dark);
}

/* ---------- 内容块液态玻璃:提示词 / 公告 / 通知条目 / 首页卡片 ---------- */
/* 注:滑块验证提示(.slider-tip)不参与玻璃卡片,保持纯文字提示 */
.hint,.tip,.rn-hint{
    background:rgba(255,240,222,.20);
    -webkit-backdrop-filter:blur(14px) saturate(170%);
    backdrop-filter:blur(14px) saturate(170%);
    border:1px solid var(--glass-border);
    border-radius:14px;
    padding:8px 12px;
    color:var(--accent-dark);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
/* 签到「连续签到」文字:去掉玻璃卡片,保留纯文字 */
.signin-hint{background:none !important;border:none !important;box-shadow:none !important;padding:0 !important;color:inherit}
.signin-hint .num{color:var(--c-orange)}
/* 签到日历「已签到」液态玻璃化:替换 base 纯橙色渐变,改为 iOS 通透磨砂带橙色光晕 */
.calendar .day.signed{
    background:linear-gradient(150deg,rgba(255,236,214,.34),rgba(255,255,255,.10));
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border-color:var(--glass-border-strong);
    box-shadow:var(--glass-highlight), 0 8px 22px rgba(255,106,61,.16);
    color:var(--c-orange-deep);
}
.calendar .day.signed .signin-pts{color:var(--c-orange-deep)}
.calendar .day.signed.today{border-color:var(--c-orange)}
.notice-item{
    background:var(--glass-bg);
    -webkit-backdrop-filter:blur(16px) saturate(180%);
    backdrop-filter:blur(16px) saturate(180%);
    border:1px solid var(--glass-border);
    border-radius:16px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
}
.notice-item.unread{background:rgba(255,236,214,.30) !important}
/* 首页 hero 顶部大卡:液态玻璃 */
.hero{
    background:
        linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.06)),
        radial-gradient(120% 120% at 15% 10%, rgba(255,216,115,.22), transparent 52%);
    -webkit-backdrop-filter:var(--glass-blur);
    backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border-strong);
    box-shadow:var(--c-shadow-soft), var(--glass-highlight);
    border-radius:26px;
}

/* ---------- 弹窗统一毛玻璃 ---------- */
/* ---------- 下载专区卡片:iOS 液态玻璃 ---------- */
.client-card{
    background:
        linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.05)),
        radial-gradient(120% 120% at 20% 12%, rgba(255,216,115,.20), transparent 55%);
    -webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border);box-shadow:0 10px 30px rgba(43,47,58,.12), var(--glass-highlight);
    color:var(--accent-dark);
}
.client-card:hover{border-color:rgba(255,106,61,.5);box-shadow:0 16px 40px rgba(43,47,58,.18), var(--glass-highlight)}
.client-card .name{color:var(--accent-dark)}
.client-card .ver{color:var(--c-muted)}
.client-card .icon-img{background:transparent;border-color:rgba(255,255,255,.4)}
.client-card .btn{border-radius:14px !important;overflow:hidden}
.modal-mask{background:rgba(49,53,64,.08) !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.modal{background:rgba(255,255,255,.02) !important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:0 24px 60px rgba(43,47,58,.18), var(--glass-highlight)}
.modal-head{background:rgba(255,255,255,0) !important;border-bottom:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(12px) saturate(160%);backdrop-filter:blur(12px) saturate(160%)}
.modal-head h3{color:var(--accent-dark)}
.modal-body{color:var(--accent-dark)}
.modal-close{background:transparent !important;color:var(--accent-dark) !important;border:1px solid rgba(255,255,255,.4);box-shadow:0 2px 8px rgba(43,47,58,.06)}
.modal-close:hover{background:rgba(255,255,255,.10) !important;color:var(--accent-dark) !important}
.modal-fs-btn{background:transparent !important;border:1px solid rgba(255,255,255,.4) !important;color:var(--accent-dark) !important}
.modal-fs-btn:hover{background:rgba(255,255,255,.10) !important;color:var(--accent-dark) !important}
.toast-item{background:rgba(255,240,224,.18) !important;-webkit-backdrop-filter:blur(18px) saturate(190%);backdrop-filter:blur(18px) saturate(190%);border:1px solid var(--glass-border);box-shadow:0 14px 36px rgba(43,47,58,.16), var(--glass-highlight)}
.toast-item .t-msg{color:var(--accent-dark)}
.confirm-dialog .cd-msg{color:var(--accent-dark)}
.confirm-dialog .cd-input{color:var(--accent-dark)}

/* ---------- 标题统一深色(透明玻璃下不被洗白) ---------- */
h1,h2,h3,h4,.card-title,.modal-head h3,.hero h1,.invite-hero-title,.brand,.mobile-title,.text-ink,.rich-title{color:var(--c-ink) !important}

/* ---------- 移动端基础(原始样式:纯色底 + 玻璃模糊) ---------- */
@media (max-width:760px){
    body::before,body::after{display:none !important;animation:none !important}
    html{background-attachment:scroll !important;background-image:none !important;background-color:#F2F1EC !important}
    body{background:#F2F1EC !important;background-image:none !important;background-attachment:scroll !important}
    /* 滚动降载:默认(静止)全模糊;滚动中 html.yy-scrolling 把 blur 半径收到 0.2px
       —— iOS 上滚动重采样昂贵,滚动时降载可从根消除频闪,静止时恢复完整玻璃。
       (CSS 变量不可在 !important 里被覆盖,故这里把 blur 直接叠加统一变量值) */
    :root{
        --yy-blur-nav:16px; --yy-blur-card:10px; --yy-blur-panel:12px;
        --yy-blur-sat:160%;
    }
    /* 滚动时保持与静止一致的完整玻璃模糊(移除滚动降载,避免滚动中模糊消失/空白) */
    .modal,.modal-head,.toast-item,.confirm-dialog{-webkit-backdrop-filter:blur(var(--yy-blur-panel)) saturate(var(--yy-blur-sat)) !important;backdrop-filter:blur(var(--yy-blur-panel)) saturate(var(--yy-blur-sat)) !important}
    .card,.admin-card,.menu-item,.stat,.tag,.alert,.input,.textarea,.select,.cdd,.picker-sheet,.client-card{-webkit-backdrop-filter:blur(var(--yy-blur-card)) saturate(var(--yy-blur-sat)) !important;backdrop-filter:blur(var(--yy-blur-card)) saturate(var(--yy-blur-sat)) !important}
    .topbar,.admin-topbar,.mobile-tabbar,.ios-glass{-webkit-backdrop-filter:blur(var(--yy-blur-nav)) saturate(var(--yy-blur-sat)) !important;backdrop-filter:blur(var(--yy-blur-nav)) saturate(var(--yy-blur-sat)) !important}
}

/* ---- iOS 移动端综合修复(保留全部液态玻璃样式,一次性覆盖所有已确认成因) ----
   ① 玻璃元素不再批量提升合成层(translateZ):批量提升在 iOS 会造成合成层过量 → 白屏/卡顿,改由仅保留最外层轻量 blur;
   ② 后台移动端暂停无限扫光:扫光动画持续改变合成层 = 频闪主因(前端扫光保留);
   ③ 100dvh 代替 100vh:修复 iOS 地址栏收起时高度跳变(频闪)与底部内容截断(显示不全);
   ④ 顶部Tab条移动端取消 sticky:sticky+横向滚动是 iOS 上「左右滚动不及时显示/显示不全」的根因,模糊保留;
   ⑤ 网站配置页仅对含预览视频的元素去模糊:视频+backdrop-filter 组合在 iOS 必频闪。 */
@media (max-width:760px){
    body.admin-body .btn::before,body.admin-body .cdd-option::before,body.admin-body .menu-item::before,
    body.admin-body a.notice-item::before,body.admin-body .shop-card::before,body.admin-body .vip-card::before,
    body.admin-body .client-card::before,body.admin-body .upload-drop::before{animation:none !important}
    /* 仅后台管理页在移动端暂停持续动画(无限改变合成层 = 频闪主因;
       前端按钮/卡片扫光与底部导航滑过光泽正常保留,不再全局连坐) */
    body.admin-body .admin-tabs::before,body.admin-body .tab-nav::before,body.admin-body .config-nav::before{
        animation:none !important;
    }
    .admin-body{min-height:100vh;min-height:100dvh}
    .admin-sidebar{height:100vh;height:100dvh}
    .admin-tabs,.tab-nav,.config-nav{position:static !important}
    body.admin-config .bg-preview,body.admin-config .bg-lib-item,body.admin-config .bg-lib-del,
    body.admin-config .bg-lib-item.selected{
        -webkit-backdrop-filter:none !important;backdrop-filter:none !important;
    }
    body.admin-config .bg-library{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
    body.admin-config .bg-card{min-width:0}
}

@media (prefers-reduced-motion: reduce){
    body::before,body::after{animation:none}
    .btn{transition:none}
}

/* ============================================================
   iOS 26 Liquid Glass 增强:iOS 26 液态玻璃 + 真实玻璃物理动效
   多层玻璃(折射高光 + 环境光反射 + 尘埃散射)+ 弹性按压/呼吸动画
   ============================================================ */
:root{--ios-spring:cubic-bezier(.34,1.56,.64,1);--ios-ease:cubic-bezier(.22,.9,.24,1)}

/* ---------- 折射渐变(边缘增亮 + 环境光反射,模拟真实玻璃折射) ---------- */
.card,.admin-card,.ios-glass,.menu-item{position:relative;isolation:isolate}
.card,.admin-card,.ios-glass,.menu-item,
.admin-tabs,.tab-nav,.config-nav,.cdd,.picker-sheet{
    background-image:
        radial-gradient(110% 90% at 12% 0%,  rgba(255,255,255,.28), transparent 55%),
        radial-gradient(120% 110% at 100% 100%, rgba(255,190,140,.18), transparent 60%),
        linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.02)) !important;
    background-blend-mode:overlay !important;
}

/* 玻璃眩光:顶部弧形高光(模拟玻璃曲面对光的聚焦),静止静默、悬停微亮;置于文字背后不遮挡内容 */
.card::after,.admin-card::after,.ios-glass::after,.menu-item::after{
    content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
    background:
        linear-gradient(172deg, rgba(255,255,255,.34) 0%, rgba(255,255,255,.05) 18%, transparent 42%),
        radial-gradient(60% 45% at 50% 0%, rgba(255,255,255,.30), transparent 70%);
    opacity:.55;transition:opacity .5s var(--ios-ease);
}
.card:hover::after,.admin-card:hover::after,.ios-glass:hover::after,.menu-item:hover::after{opacity:.95}

/* 高光扫过:模拟设备/光线轻微移动时玻璃表面的流动反射(周期亮点滑过) */
/* 连续匀速左→右掠过,两端完全移出视口(无 86%→100% 的结尾停顿) */
@keyframes yy-ios-sheen{
    0%{transform:translateX(-200%) skewX(-14deg)}
    100%{transform:translateX(200%) skewX(-14deg)}
}
.btn::before{
    left:-120%;width:120%;height:220%;top:-60%;
    background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.55) 42%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.4) 58%,transparent 80%);
    animation:yy-ios-sheen 6.5s var(--ios-ease) infinite;
}
.btn:hover::before{animation:none;left:140%}

/* 内容卡片/行:与按钮一致的匀速扫光(同一 yy-ios-sheen 周期,随按钮同时划过) */
.menu-item,a.notice-item,.shop-card,.vip-card,.client-card,.upload-drop,.cdd-option{position:relative;overflow:hidden}
.menu-item::before,a.notice-item::before,.shop-card::before,.vip-card::before,.client-card::before,
.upload-drop::before,.cdd-option::before{
    content:'';position:absolute;top:0;left:-120%;width:120%;height:100%;z-index:1;pointer-events:none;
    border-radius:inherit;
    background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.5) 46%,rgba(255,255,255,.85) 50%,rgba(255,255,255,.42) 54%,transparent 80%);
    animation:yy-ios-sheen 6.5s var(--ios-ease) infinite;
}
.menu-item:hover::before,a.notice-item:hover::before,.shop-card:hover::before,
.client-card:hover::before,.upload-drop:hover::before,.cdd-option:hover::before{animation:none;left:150%}

/* ===== 悬停渲染:扫光优先,不填充颜色 =====
   仅桌面(可悬停)设备生效;把按钮/内容的悬浮从"填色"改为"一道扫光划过" */
@media (hover:hover){
    /* 1) 各类按钮:悬停不再填充背景色,统一为接近透明的浅色 + 扫光 */
    .btn-primary:hover,.btn-mint:hover,.btn-ink:hover,.btn-yellow:hover,.btn-danger:hover,
    .btn-ghost:hover,.btn-secondary:hover,.picker-cancel:hover,.picker-confirm:hover,.copy-no:hover,
    .yy-popup-btn:hover,.yy-popup-btn.primary:hover,.yy-popup-btn.ghost:hover,
    .admin-nav a:hover,.admin-tabs a:hover,.tab-nav a:hover,.config-nav a:hover{
        background:rgba(255,255,255,.10)!important;
        -webkit-backdrop-filter:var(--glass-blur)!important;
        backdrop-filter:var(--glass-blur)!important;
        border-color:rgba(255,255,255,.55)!important;
        box-shadow:inset 0 1px 0 rgba(255,255,255,.5)!important;
    }
    .modal-close:hover,.modal-fs-btn:hover{background:transparent!important;color:var(--accent-dark)!important}
    /* 2) 内容卡片/行:不再填充底色(扫光已由上方全局 animation 统一提供) */
    a.notice-item:hover,.upload-drop:hover,.cdd-option:hover{
        background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.55)!important;
    }
}

/* ---------- 流体弹性按压(玻璃被按下的形变) ---------- */
.btn{transform:translateZ(0)}
.btn:active:not(:disabled){
    transform:scale(.94);
    transition:transform .22s var(--ios-spring);
}
.menu-item{transition:transform .28s var(--ios-spring),background .2s ease,box-shadow .28s var(--ios-spring)}
.menu-item:active{transform:scale(.96)}
.admin-tabs a,.tab-nav a,.config-nav a{transition:transform .25s var(--ios-spring),background .2s ease,color .2s ease,box-shadow .25s var(--ios-spring)}
.admin-tabs a:active,.tab-nav a:active,.config-nav a:active{transform:scale(.93)}
.mobile-tabbar a{transition:transform .25s var(--ios-spring),color .2s ease,background .2s ease}
.mobile-tabbar a:active{transform:scale(.9)}

/* ---------- 手机端悬浮胶囊底栏:液态玻璃呼吸高光 + 滑过光泽 ---------- */
@keyframes yy-tab-breathe{
    0%,100%{box-shadow:0 16px 48px rgba(43,47,58,.16), inset 0 1px 0 rgba(255,255,255,.7), inset 0 -1px 0 rgba(255,255,255,.10)}
    50%{box-shadow:0 18px 54px rgba(43,47,58,.20), inset 0 2px 1px rgba(255,255,255,.9), inset 0 -1px 0 rgba(255,255,255,.14)}
}
.mobile-tabbar{
    transition:transform .4s var(--ios-spring),box-shadow .6s var(--ios-ease);
    /* 呼吸高光会注入一条顶缘横线且无交互,禁用 */
    animation:none !important;
    box-shadow:0 16px 48px rgba(43,47,58,.16) !important;
}
.mobile-tabbar::after{
    content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;overflow:hidden;
    background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.34) 48%,transparent 62%);
    background-size:220% 100%;background-repeat:no-repeat;
    animation:yy-tab-glide 8s var(--ios-ease) infinite;
}
@keyframes yy-tab-glide{
    0%,60%{background-position:180% 0}
    78%{background-position:-40% 0}
    100%{background-position:-40% 0}
}
.mobile-tabbar a .mt-icon{transition:transform .3s var(--ios-spring)}
.mobile-tabbar a.active .mt-icon{transform:translateY(-2px)}
@media (hover:hover){
    .mobile-tabbar:hover{transform:translateY(-3px)}
}

/* ---------- 弹窗出现:液态玻璃流动入场(弹簧吸附),仅弹窗,避免卡片残留transform破坏fixed子元素 ---------- */
.modal{
    animation:yy-ios-enter .55s var(--ios-spring) both;
}
@keyframes yy-ios-enter{
    0%{opacity:0;transform:translateY(22px) scale(.96);filter:blur(6px)}
    100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}
}
@media (prefers-reduced-motion: reduce){
    .btn::before,.mobile-tabbar,.mobile-tabbar::after,.card,.admin-card,.ios-glass,.modal{animation:none !important}
    .btn:active,.menu-item:active,.admin-tabs a:active,.mobile-tabbar a:active{transform:none !important}
}

/* ============================================================
   页面 / tab 切换:背景与顶栏/tab 常显(背景在 html/body、顶栏 z100、
   后台 tab z20,均高于容器内容)——不再给内容盖块状幕布,避免"白方块闪"。
   唯一的「首屏加载动画」由加密外壳(config.php 的加载器)每次全页刷新时创建,
   主题样式就绪后淡出,本节不重复出现加载层。
   ============================================================ */
main.container,.admin-main{position:relative}

/* ====== 后台统一开关组件:液态玻璃样式(不使用橙色填充) ====== */
.sw .sw-track{background:var(--glass-bg-soft,rgba(255,247,238,.08));border:1px solid var(--glass-border,rgba(255,255,255,.55));box-shadow:var(--glass-highlight,inset 0 1px 0 rgba(255,255,255,.7));-webkit-backdrop-filter:blur(20px) saturate(200%);backdrop-filter:blur(20px) saturate(200%);transition:background .18s ease,box-shadow .18s ease}
.sw .sw-track::after{background:rgba(255,255,255,.88);box-shadow:0 2px 8px rgba(0,0,0,.35)}
.sw input:checked + .sw-track{background:var(--glass-bg-strong,rgba(255,236,214,.3));border-color:var(--glass-border-strong,rgba(255,255,255,.78));box-shadow:0 4px 16px rgba(255,236,214,.2),var(--glass-highlight,inset 0 1px 0 rgba(255,255,255,.7))}
.sw input:checked + .sw-track::after{background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.4)}
.sw input:focus-visible + .sw-track{box-shadow:0 0 0 3px rgba(255,255,255,.35)}

/* ============================================================
   人机验证页:滑块 iOS 液态玻璃化
   页面内联样式 background:var(--slider-btn-bg,配置色)!important
   会解析这里 :root 定义的变量值,因此变量与组件覆盖双保险。
   ============================================================ */
:root{
    --slider-box-bg:transparent;
    --slider-track-bg:rgba(255,255,255,.5);
    --slider-track-border:var(--glass-border);
    --slider-progress-bg:linear-gradient(135deg,rgba(255,106,61,.6),rgba(255,178,107,.45));
    --slider-btn-bg:rgba(255,255,255,.9);
    --slider-btn-color:var(--accent-orange);
    --slider-btn-shadow:0 6px 18px rgba(43,47,58,.14), var(--glass-highlight);
    --slider-tip-color:var(--c-muted);
}
/* 滑块外层包裹容器:去掉卡片感(透明无边框无阴影),只保留滑块轨道与提示文字 */
.slider-box{
    background:none !important;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    border:none;
    border-radius:0;
    box-shadow:none;
    padding:0;
}
.slider-track{
    background:rgba(255,255,255,.5) !important;
    border:1px solid var(--glass-border) !important;
    backdrop-filter:blur(12px) saturate(160%);
    -webkit-backdrop-filter:blur(12px) saturate(160%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
.slider-progress{
    background:linear-gradient(135deg,rgba(255,106,61,.6),rgba(255,178,107,.45)) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.slider-btn{
    background:rgba(255,255,255,.9) !important;
    color:var(--accent-orange) !important;
    border:1px solid rgba(255,255,255,.78);
    box-shadow:0 6px 18px rgba(43,47,58,.14), var(--glass-highlight) !important;
    text-shadow:none;
}
.slider-btn:active{transform:scale(.94);transition:transform .22s var(--ios-spring)}
.slider-tip{color:var(--c-muted)}
/* 数字验证码图片底框同步玻璃化 */
.captcha-img-box{
    background:rgba(255,255,255,.5) !important;
    border:1px solid var(--glass-border) !important;
    backdrop-filter:blur(12px) saturate(160%);
    -webkit-backdrop-filter:blur(12px) saturate(160%);
}
/* 验证失败提示条:内联样式,需 !important 覆盖为玻璃质感 */
#errAlert{
    background:rgba(255,113,113,.12) !important;
    border:1px solid rgba(209,68,85,.35) !important;
    color:#C23A4B !important;
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
}