/* 全局基础样式 + 动画特效 —— 修复列表页闪烁：预锁定布局，无重复选择器 */
html {
  box-sizing: border-box;
  font-family: "Microsoft YaHei", sans-serif;
}
*, *::before, *::after {
  box-sizing: inherit;
}
body {
    background: #edf3f9;
    background-image:none;
    color: #1e293b;
}
.container{
    background:transparent;
}

/* 统一页面入场动画：从上往下 依次淡入滑上 */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(15px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 顶部导航 */
.top-nav {
    background: #ffffff;
    height: 85px;
    border-bottom: 1px solid #e2e8f0;
    transition: all 0.3s ease;
    animation: fadeInUp 0.5s ease forwards;
    opacity: 0;
}
.nav-inner {
    width: 1500px;
    height: 85px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
}
.nav-left{
    display: flex !important;
    align-items: center !important;
    gap:10px !important;
}
.logo {
    width: 260px;
    height: 50px;
    display:block;
}
.logo img{
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    display:block;
}
.logo:hover {
    transform: rotate(5deg) scale(1.05);
}
/* 主导航菜单 带激活下划线、文字变色 */
.main-menu {
    display:flex;
    gap:28px;
    margin:0;
    padding:0;
    list-style:none;
}
.main-menu li{
    padding:0 !important;
    margin:0 !important;
    position: relative !important; /* 关键：给li开启相对定位，下划线才能绑定在菜单文字下方 */
}
.main-menu a {
    text-decoration: none;
    color: #444444;
    font-size: 17px;
    font-weight: 550;
    line-height:72px;
    display: inline-block;
}
.main-menu a:hover {
    color: #3b82f6;
}
/* 底部下划线 */
.main-menu li::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 15px; /* 原-5px距离太远，调整贴紧文字底部，可视 */
    width: 100%;
    height: 3px !important;
    background: #3b82f6;
    border-radius: 3px;
    opacity: 0;
    transition: 0.25s ease;
    z-index: 9;
}
/* 栏目列表页激活 */
.main-menu li.current-menu-item > a {
    color: #3b82f6 !important;
}
.main-menu li.current-menu-item::after {
    opacity: 1 !important;
}

/* 文章详情页 父栏目高亮 —— 加高权重，强制覆盖 */
body.single .main-menu li.current-post-ancestor > a {
    color: #3b82f6 !important;
}
/* 增加多重选择器拉高权重，确保详情页下划线显示 */
body.single .main-menu li.current-post-ancestor::after {
    opacity: 1 !important;
    visibility: visible !important;
}

/* 首页强制取消高亮 */
.main-menu li.home.current-menu-item > a {
    color: #334155 !important;
}
.main-menu li.home.current-menu-item::after {
    opacity: 0 !important;
    visibility: hidden !important;
}

.nav-right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.search-group {
    display: flex;
    height: 40px;
}
.search-input {
    width: 260px;
    border: 1px solid #cbd5e1;
    border-right: none;
    border-radius: 6px 0 0 6px;
    padding: 0 12px;
    outline: none;
    font-size: 14px;
    transition: border-color 0.3s ease;
}
.search-input:focus {
    border-color: #3b82f6;
}

/* 按钮统一动画 */
.search-btn,
.login-btn, .register-btn,
.banner-btn, .content-btn, .list-btn {
    transition: all 0.28s ease;
    cursor: pointer;
}
.search-btn:hover,
.login-btn:hover, .register-btn:hover,
.banner-btn:hover, .content-btn:hover, .list-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(59, 130, 246, 0.25);
    opacity: 0.92;
}
.search-btn {
    background: #3b82f6;
    color: #fff;
    border: none;
    width: 70px;
    border-radius: 0 6px 6px 0;
    font-size: 14px;
}
.login-btn, .register-btn {
    height: 40px;
    padding: 0 20px;
    background: #3b82f6;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-size: 14px;
}

/* 主视觉区 */
.hero-section {
    background: #3b82f6;
    padding: 24px 0;
    height: 440px;
    overflow: hidden;
    animation: fadeInUp 0.5s ease forwards;
    animation-delay: 0.3s;
    opacity: 0;
}
.hero-wrap {
    width: 1500px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 20px;
    padding: 0;
}

/* ========== 幻灯片修复：图片不失真、不裁剪、完整显示 ========== */
.hero-banner {
    background: #1e293b;
    border-radius: 12px;
    height: 360px;
    position: relative;
    overflow: hidden;
    color: #fff;
}
.banner-slide {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    opacity: 0;
    transition: opacity 0.6s ease;
}
.banner-slide.active {
    opacity: 1;
    z-index: 1;
}
.banner-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 75% center;
    display: block;
}
.banner-content {
    position: absolute;
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}
.banner-content h1 {
    font-size: 42px;
    margin-bottom: 12px;
}
.banner-btn {
    background: #3b82f6;
    color: #fff;
    border: none;
    padding: 10px 24px;
    border-radius: 8px;
    font-size: 14px;
    margin-top: 16px;
}
/* 固定右侧两个侧边栏宽度，限制内容撑宽 */
.hero-sidebar {
    display: grid;
    grid-template-columns:220px 320px;
    gap:16px;
}
.core-menu {
    background: #fff;
    border-radius:12px;
    padding:20px;
    box-shadow:0 2px 8px rgba(0,0,0,0.06);
    width:100%;
}
.core-content{
    width:100%;
}
/* 内容文字强制单行省略 */
.core-content .content-text{
    display:block;
    max-width:100%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#334155;
    text-decoration:none;
}
.core-content .content-text:hover{
    color:#3b82f6;
}
.content-item{
    width:100%;
    padding:12px;
}
.core-menu:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.core-menu h3 {
    font-size: 16px;
    margin-bottom: 16px;
}
.core-menu-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    color: #475569;
    font-size: 14px;
    transition: padding-left 0.25s ease;
}
.core-menu-item:hover {
    padding-left: 4px;
    color: #3b82f6;
}
.core-content {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.core-content:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.content-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px;
    border-radius: 8px;
    margin-bottom: 10px;
    background: #f8fafc;
    transition: background 0.25s ease;
}
.content-item:hover {
    background: #eff6ff;
}
.content-item:last-child {
    margin-bottom: 0;
}
.content-text {
    font-size: 14px;
    color: #334155;
    font-weight: 500;
}
.content-btn {
    background: #3b82f6;
    color: #fff;
    border: none;
    padding: 8px 18px;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 500;
}

/* 四个卡片 */
.section-tabs {
    width: 1500px;
    margin: -40px auto 60px;
    padding: 0;
    display: flex;
    gap: 20px;
    position: relative;
    z-index: 9;
    animation: fadeInUp 0.5s ease forwards;
    animation-delay: 0.4s;
    opacity: 0;
}
.tab-card {
    width: 360px;
    flex: none;
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    height: 360px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}
.tab-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 24px rgba(0,0,0,0.08);
}
.tab-header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}
.tab-icon {
    width: 40px;
    height: 40px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    transition: transform 0.3s ease;
}
.tab-card:hover .tab-icon {
    transform: scale(1.1);
}
.tab-icon.blue { background: #3b82f6; }
.tab-icon.purple { background: #8b5cf6; }
.tab-icon.orange { background: #f59e0b; }
.tab-icon.teal { background: #14b8a6; }
.tab-title {
    font-size: 18px;
    font-weight: bold;
}

/* 列表样式 */
.update-list {
    flex: 1;
    overflow: hidden;
}
.update-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid #f1f5f9;
    font-size: 14px;
    transition: padding-left 0.25s ease, color 0.25s ease;
}
.update-item:hover {
    padding-left: 4px;
    color: #3b82f6;
}
.update-item:last-child {
    border-bottom: none;
}
.rank-list {
    flex: 1;
    overflow: hidden;
}
.rank-item {
    display: flex;
    align-items: center;
    padding: 10px 0;
    font-size: 14px;
    transition: padding-left 0.25s ease, color 0.25s ease;
}
.rank-item:hover {
    padding-left: 4px;
    color: #3b82f6;
}
.rank-num {
    width: 24px;
    height: 24px;
    line-height: 24px;
    text-align: center;
    border-radius: 4px;
    color: #fff;
    font-size: 12px;
    margin-right: 10px;
    transition: transform 0.2s ease;
}
.rank-item:hover .rank-num {
    transform: scale(1.1);
}
.rank-num:nth-child(1) { background: #f59e0b; }
.rank-num:nth-child(2) { background: #64748b; }
.rank-num:nth-child(3) { background: #94a3b8; }

.rank-item a {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 标签云 */
.tag-cloud {
    flex: 1;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-content: flex-start;
    overflow: hidden;
}
.tag-item {
    background: #f8fafc;
    padding: 8px 14px;
    border-radius: 6px;
    font-size: 14px;
    color: #475569;
    transition: all 0.25s ease;
    cursor: default;

    /* 关键修复 flex下压缩，必须加min-width:0 */
    min-width: 0;
    max-width: 190px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.tag-item:hover {
    background: #3b82f6;
    color: #fff;
    transform: translateY(-2px);
}



/* 筛选栏【已改完：缩小字号、按钮尺寸】 */
.filter-wrap {
    width: 1500px;
    margin: 0 auto 20px;
    padding:16px 20px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    box-sizing: border-box;
    animation: fadeInUp 0.5s ease forwards;
    animation-delay: 0.5s;
    opacity: 0;
}
.filter-group {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 14px;
    flex-wrap: nowrap;
}
.filter-label {
    background: #3b82f6;
    color: #fff;
    padding: 0 12px;
    border-radius: 6px;
    white-space: nowrap;
    font-weight: 500;
    height: 34px;
    line-height: 34px;
    font-size: 13px;
    box-sizing: border-box;
    margin: 0;
    flex-shrink:0;
    min-width:80px;
}
.filter-tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    flex:1;
    min-width:0;
}
.filter-tag {
    width:100px;
    height:34px;
    padding: 0;
    border: 1px solid #ddd;
    border-radius: 6px;
    color: #333;
    background: #f8fafc;
    white-space: nowrap;
    box-sizing: border-box;
    text-decoration: none;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size: 13px;
    transition: transform 0.2s ease;
}
.filter-tag.active {
    background: #3b82f6;
    color: #fff;
    border-color: #3b82f6;
}
.filter-tag:hover {
    transform: translateY(-2px);
    background: #3b82f6;
    color: #fff;
    border-color: #3b82f6;
}

/* 版本列表 —— ✅ 已完整修复布局 */
.list-wrap{
    width:1500px;
    margin:0 auto 50px;
    padding:0;
}
.list-table{
    width:100%;
    background:#fff;
    border-radius:10px;
    overflow:hidden;
    animation: fadeInUp 0.5s ease forwards;
    animation-delay: 0.6s;
    opacity: 0;
}
.list-header,
.list-row {
    display: grid !important;
    grid-template-columns: 110px 1fr 105px 105px 90px 110px 70px 125px !important;
    align-items: center !important;
    padding: 14px 12px !important;
}
.list-header{
    background:#3b82f6;
    color:#fff;
    font-weight: 500;
}
.list-row {
    border-bottom: 1px solid #f1f5f9;
}
.list-row:hover {
    background: #f8fafc;
}
.col-tag,
.col-title,
.col-engine,
.col-vert,
.col-date,
.col-demo,
.col-hot,
.col-btn {
    padding: 0 6px;
    text-align: center;
}
.col-title {
    text-align: left;
}
.col-title a {
    color: #1e293b;
    text-decoration: none;
}
.col-title a:hover {
    color: #3b82f6;
}
.btn-blue {
    background:#3b82f6 !important;
    color:#fff !important;
    padding:5px 16px !important;
    border-radius:6px !important;
}
.btn-blue:hover {
    background: #2563eb;
}

/* 统一全列表标签样式，统一尺寸动效 */
[class*="lab-"]{
  padding:6px 12px !important;
  border-radius:6px !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:34px;
  font-size:15px !important;
  color:#fff !important;
  transition:all 0.28s ease !important;
  border:none !important;
}
[class*="lab-"]:hover{
  transform:translateY(-2px) !important;
  filter:brightness(0.9) !important;
  box-shadow:0 4px 10px rgba(0,0,0,0.15) !important;
}
.lab-blue{background:#4096ff !important;}    /* 代销版本 */
.lab-green{background:#28bd78 !important;}    /* 站点公告 */
.lab-orange{background:#ff9838 !important;}   /* 精修版本 */
.lab-purple{background:#935bfa !important;} /* 福利版本 */
.lab-red{background:#f54b4b !important;}     /* 独家版本 */

.col-tag > span{
    padding:6px 12px !important;
    border-radius:6px !important;
    min-height:34px;
    display:inline-flex;
    align-items:center;
}

/* 表头第二列居中 */
.list-header div:nth-child(2) {
    text-align: center !important;
}
/* 列表内容第二列保持靠左 */
.list-row div:nth-child(2) {
    text-align: left !important;
}

/* ========== 修复：最近更新 标题 + 布局 ========== */
.update-item span:first-child{
    max-width: calc(100% - 64px);
}
.update-item a{
    color: #333;
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: inline-block;
    max-width: 100%;
}
.update-item a:hover{
    color: #3b82f6;
    text-decoration: underline;
}

/* 第2、3卡片：去掉列表底部分隔线 */
.tab-card:nth-child(2) .update-item,
.tab-card:nth-child(3) .rank-item {
    border-bottom: none !important;
}

/* 第2、3卡片标题文字超出省略 */
.tab-card:nth-child(2) .update-item a,
.tab-card:nth-child(3) .rank-item a {
    display: block;
    max-width: calc(100% - 40px);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #333;
    text-decoration: none;
}
.tab-card:nth-child(2) .update-item a:hover,
.tab-card:nth-child(3) .rank-item a:hover {
    color: #3b82f6;
}

/* 第三个卡片标题文字蓝色 */
.tab-card:nth-child(3) .tab-title {
    color: #3b82f6;
}

.footer-wrap{
    background:#ffffff;
    padding:50px 0 30px;
    margin-top:42px;
}

.footer-con{
    width:1500px;
    margin:0 auto;
    display:flex;
    align-items:flex-start;
    gap:50px;
}
/*左侧简介*/
.footer-left{
    width:32%;
}
.footer-left h3{
    font-size:26px;
    color:#333;
    margin:0 0 15px;
}
.footer-left p{
    color:#666;
    line-height:28px;
    margin-bottom:12px;
}
.icp{
    color:#f29900;
}
/*中间三栏导航*/
.footer-nav{
    width:38%;
    display:flex;
    gap:0;
    border-left:1px solid #eee;
    border-right:1px solid #eee;
    padding:0;
}
.nav-col{
    flex:1;
    text-align:center;
}
.nav-col h4{
    font-size:20px;
    color:#333;
    margin:0 0 18px;
}
.nav-col ul{
    list-style:none;
    margin:0;
    padding:0;
}
.nav-col li a{
  color:#666;
  text-decoration:none;
  position:relative;
}
.nav-col li a::after{
  content:'';
  width:0;
  height:2px;
  background:#3b82f6;
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  transition:0.3s;
}
.nav-col li a:hover::after{
  width:60%;
}
/*右侧二维码*/
.footer-qrcode{
    width:22%;
    display:flex;
    gap:30px;
}
.code-box{
    width:110px;
    height:110px;
    border:2px solid #f44336;
    padding:4px;
}
.code-box img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.code-item p{
    text-align:center;
    color:#777;
    margin:8px 0 0;
}
/*底部友链+版权*/
.footer-link{
    width:1500px;
    margin:30px auto 0;
    padding:12px 15px;
    background:#f7f8fa;
    border-radius:8px;
}
.footer-link a{
    color:#3b82f6;
    text-decoration:none;
}
.footer-copyright{
    width:1500px;
    margin:20px auto 0;
    text-align:center;
    color:#888;
}

/* ====================== 右侧悬浮导航（纯净无重复） ====================== */
.float-side-nav{
    position:fixed;
    right:15px;
    top:50%;
    transform:translateY(-50%);/* 向上偏移自身一半高度，完美垂直居中 */
    display:flex;
    flex-direction:column;
    gap:2px;
    z-index:999;
}
.float-side-nav > a,
.vip-btn,.service-btn{
    width:52px;
    background:#fff;
    text-align:center;
    padding:9px 4px;
    border-radius:9px;
    box-shadow:0 2px 10px #00000015;
    color:#555;
    text-decoration:none;
    display:block;
}
.float-side-nav .gift-btn{
    background:#ffe6d2;
    color:#ff3366;
}
.float-side-nav a:hover,.vip-btn:hover,.service-btn:hover{
    background:#eef4ff;
    color:#3478f6;
}
.float-side-nav .gift-btn:hover{
    background:#ffdfcc;
    color:#ff3366;
}
.float-side-nav a i{
    font-size:26px;
    display:block;
    margin-bottom:4px;
}
.float-side-nav a span{
    font-size:12px;
    line-height:1.4;
}
.back-top{margin-top:8px;}

/*=====会员悬浮横向弹窗=====*/
.vip-wrap{position:relative;}
.vip-pop{
    position:absolute;
    right:60px;
    top:0;
    display:none;
    gap:12px;
    background:#fff;
    padding:12px;
    border-radius:12px;
    box-shadow:0 3px 15px rgba(0,0,0,0.12);
    flex-direction:row;
    white-space:nowrap;
}
.vip-wrap:hover .vip-pop{display:flex;}
.vip-card{
    width:220px;
    padding:20px 16px;
    border-radius:10px;
}
/*渐变背景*/
.vip-card.dragon{background:linear-gradient(135deg,#ffdd99,#ffbc52);}
.vip-card.sky{background:linear-gradient(135deg,#94c6ff,#5398e8);color:#fff;}
.vip-card.judge{background:linear-gradient(135deg,#706899,#483d75);color:#fff;}

.vip-card h3{font-size:22px;margin:0 0 14px;}
.vip-card p{margin:8px 0;font-size:15px;}

/*核心修复a标签样式，解决下划线、偏移问题 */
.open-vip{
    display:block;
    border:none;
    border-radius:30px;
    padding:10px 30px;
    margin-top:12px;
    font-size:16px;
    cursor:pointer;
    text-decoration:none !important; /*彻底清除下划线*/
    text-align:center;
}
/*屠龙按钮*/
.dragon .open-vip{background:#ff6622;color:#fff;}
/*开天按钮*/
.sky .open-vip{background:#ffffff;color:#224477;}
/*裁决按钮*/
.judge .open-vip{background:#f3e8bc;color:#333;}

/*禁止hover自动变色（浏览器默认a链接hover效果）*/
.open-vip:hover,
.open-vip:link,
.open-vip:visited,
.open-vip:active{
    text-decoration:none !important;
}

/*=====客服悬浮弹窗=====*/
.service-wrap{position:relative;}
.service-pop{
    position:absolute;
    right:60px;
    top:auto;
    bottom:0;
    width:280px;
    background:#fff;
    padding:22px 16px;
    border-radius:12px;
    box-shadow:0 3px 15px rgba(0,0,0,0.12);
    display:none;
    text-align:center;
}
.service-wrap:hover .service-pop{display:block;}
.qq-top i{font-size:22px;color:#3478f6;}
.qq-top button{
    border:1px solid #999;padding:10px 40px;border-radius:8px;
    background:#fff;font-size:16px;margin:10px 0;
}
.online-time{font-size:16px;color:#333;margin:12px 0;}
.split-line{height:1px;background:#ddd;margin:16px 0;}
.tit{font-size:16px;color:#555;margin:18px 0 8px;}
.wx-qrcode{width:200px;height:200px;background:#eee;margin:0 auto;}
.mail{font-size:16px;color:red;font-weight:bold;word-break:break-all;}

/*礼包悬浮弹窗（去重合并）*/
.gift-wrap{
    position:relative;
    width:52px;
}
.gift-wrap .gift-btn{
    width:52px !important;
    background:#ffe6d2;
    color:#ff3366;
    text-align:center;
    padding:9px 4px;
    border-radius:9px;
    box-shadow:0 2px 10px #00000015;
    display:block;
    text-decoration:none;
}
.gift-wrap .gift-btn:hover{
    background:#ffdfcc;
    color:#ff3366;
}
.gift-pop{
    position:absolute;
    right:60px;
    top:0;
    width:360px;
    background:#fff;
    padding:24px 20px;
    border-radius:16px;
    box-shadow:0 3px 15px rgba(0,0,0,0.12);
    display:none;
}
.gift-wrap:hover .gift-pop{display:block;}
.gift-icon{
    width:80px;
    height:80px;
    background:#28c058;
    border-radius:50%;
    float:left;
    margin-right:16px;
    clip-path: polygon(0 0,100% 0,100% 50%,0 100%);
}
.gift-pop h3{
    font-size:16px;
    color:#ff2255;
    margin:6px 0 16px;
}
.gift-pop p{
    font-size:16px;
    color:#555;
    line-height:1.6;
    margin-bottom:22px;
}
.gift-link{
    display:block;
    width:100%;
    text-align:center;
    background:#e6f2ff;
    color:#2277ff;
    font-size:16px;
    padding:14px 0;
    border-radius:12px;
    text-decoration:none;
}

/* 登录弹窗模块 */
/* 毛玻璃遮罩层 */
.login-mask{
    position: fixed!important;
    top:0!important;
    left:0!important;
    width:100vw!important;
    height:100vh!important;
    background:rgba(0,0,0,0.4)!important;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index:99999!important;
    display:none!important;
}
.login-mask.show{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
}

/* 弹窗容器：宽度固定，高度自适应 */
.login-box{
    width:360px!important;
    background:#fff!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    position:relative!important;
    box-shadow:0 8px 32px rgba(0,0,0,0.15)!important;
    overflow:hidden!important;
}

/* 关闭按钮 */
.login-box .close{
    position:absolute!important;
    right:18px!important;
    top:16px!important;
    font-size:24px!important;
    color:#999!important;
    cursor:pointer!important;
    z-index:9!important;
}
.login-box .close:hover{
    color:#4099ff!important;
}

/* Logo */
.login-logo{
    text-align:center!important;
    margin-bottom:20px!important;
}
.login-logo img{
    height:50px!important;
    display:block!important;
    margin:0 auto;
}

/* 标题行 */
.title-row{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    margin-bottom:20px!important;
}
.login-title{
    font-size:22px!important;
    color:#222!important;
    font-weight:600!important;
}
.reg-tip{
    font-size:14px!important;
    color:#666!important;
}
.reg-tip a{
    color:#4099ff!important;
    text-decoration:none!important;
    font-weight:500!important;
}
.reg-tip a:hover{
    text-decoration:underline;
}

/* 面板容器 */
.panel-wrap{
    width:100%;
    padding:40px 35px!important;
    box-sizing:border-box;
}
.login-box-main,.reg-box-main,.findpwd-box-main{
    position:static!important;
    width:100%!important;
}

/* 输入框组 */
.input-group{
    position:relative!important;
    margin-bottom:15px!important;
}
.input-group .icon{
    position:absolute!important;
    left:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:18px!important;
    height:18px!important;
    background:#999!important;
    -webkit-mask-size:contain!important;
    mask-size:contain!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
    -webkit-mask-position:center!important;
    mask-position:center!important;
}
.user-icon{
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z"/></svg>');
}
.pwd-icon{
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm-6 9c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm3.1-9H8.9V6c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2z"/></svg>');
}
.email-icon{
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>');
}
.eye-icon{
    position:absolute!important;
    right:16px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:18px!important;
    height:18px!important;
    background:#999!important;
    cursor:pointer!important;
    -webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>');
    mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"/></svg>');
    -webkit-mask-size:contain!important;
    mask-size:contain!important;
    -webkit-mask-repeat:no-repeat!important;
    mask-repeat:no-repeat!important;
    -webkit-mask-position:center!important;
    mask-position:center!important;
}
.login-input{
    width:100%!important;
    height:44px!important;
    border:1px solid #ddd!important;
    border-radius:8px!important;
    padding:0 45px!important;
    box-sizing:border-box!important;
    font-size:15px!important;
    outline:none!important;
    transition:border-color 0.2s;
}
.login-input:focus{
    border-color:#4099ff!important;
}

/* 记住登录行 */
.remember-row{
    display:flex!important;
    justify-content:space-between!important;
    align-items:center!important;
    margin:8px 0 20px 0!important;
    font-size:14px!important;
}
.remember-row label{
    display:flex!important;
    align-items:center!important;
    gap:6px!important;
    color:#666!important;
    cursor:pointer!important;
}
.find-pwd-btn{
    color:#4099ff!important;
    text-decoration:none!important;
}
.find-pwd-btn:hover{
    text-decoration:underline;
}
.service-rule{
    color:#4099ff!important;
    text-decoration:none!important;
}
.service-rule:hover{
    text-decoration:underline;
}

/* 底部按钮 */
.login-sub,.reg-sub,.findpwd-sub{
    width:100%!important;
    height:44px!important;
    background:#4099ff!important;
    border:none!important;
    border-radius:8px!important;
    color:#fff!important;
    font-size:17px!important;
    font-weight:600!important;
    cursor:pointer!important;
    transition:background 0.2s;
}
.login-sub:hover,.reg-sub:hover,.findpwd-sub:hover{
    background:#3488e3!important;
}

.login-tip {
    width: 100%;
    text-align: center;
    padding:10px 0;
    margin-top:10px;
    border-radius:6px;
}
.login-tip.success {
    background:#e6f7ef;
    color:#009944;
}
.login-tip.error {
    background:#ffe8e8;
    color:#e63939;
}

/* 全局居中半透明Toast提示 */
.global-toast {
    position: fixed;
    left: 50%;
    top: 40%;
    transform: translate(-50%, -50%);
    background: rgba(0,0,0,0.75);
    color: #fff;
    padding: 14px 28px;
    border-radius: 10px;
    font-size: 15px;
    z-index: 99999;
    display: none;
    max-width: 360px;
    text-align: center;
    line-height: 1.6;
}
/* 底部友情链接样式 */
.footer-link {
    margin: 24px 0;
    font-size: 16px;
    color: #1e293b;
}
.footer-link a {
    color: #165DFF;
    margin: 0 6px;
    text-decoration: none;
}
.footer-link a:hover {
    color: #0e4fd8;
    text-decoration: underline;
}
.footer-link {
    width: 100%;
    padding: 18px 20px;
    margin: 20px 0;
    background: #f7f9fc;
    box-sizing: border-box;
}
.footer-link span {
    max-width: 1500px;
    margin: 0 auto;
    display: block;
    font-size: 18px;
}
.footer-link a {
    color: #165DFF;
    margin: 0 8px;
    text-decoration: none;
}
.footer-link a:hover {
    color: #0e4fd8;
    text-decoration: underline;
}
