/* ===== 桌面顶栏 v2 三段式 ===== */
.header-v2{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px;background:#0d1421;border-bottom:1px solid #1f2937;
  gap:14px;
}
.header-v2 .hd-left{display:flex;align-items:center;gap:14px;min-width:0;flex:1}
.header-v2 .hd-center{display:flex;align-items:center;gap:10px;flex-shrink:0}
.header-v2 .hd-right{display:flex;align-items:center;gap:6px;flex:1;justify-content:flex-end}

.header-v2 .logo{display:flex;align-items:center;gap:10px;min-width:0}
.header-v2 .logo-icon{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#ef4444,#f59e0b);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:18px;flex-shrink:0}
.header-v2 .logo-text{font-size:16px;font-weight:700;color:#e2e8f0;line-height:1.1}
.header-v2 .logo-sub{font-size:11px;color:#64748b;margin-top:2px;line-height:1.1}

/* 状态胶囊条 v2 */
.status-pill{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 14px;background:#171c2c;border:1px solid #1f2937;border-radius:8px;
  font-size:12px;color:#cbd5e1;white-space:nowrap;
  transition:border-color .3s,box-shadow .3s;
}
.status-pill .sp-dot{
  width:8px;height:8px;border-radius:50%;background:#64748b;
  box-shadow:0 0 0 0 rgba(16,185,129,.6);
  flex-shrink:0;
}
.status-pill.sp-open{border-color:rgba(16,185,129,.35);box-shadow:0 0 12px rgba(16,185,129,.15)}
.status-pill.sp-open .sp-dot{background:#10b981;animation:sp-pulse 1.8s ease-out infinite}
.status-pill.sp-auction{border-color:rgba(245,158,11,.4);box-shadow:0 0 12px rgba(245,158,11,.18)}
.status-pill.sp-auction .sp-dot{background:#f59e0b;animation:sp-pulse-y 1.4s ease-out infinite}
.status-pill.sp-pre .sp-dot{background:#eab308}
.status-pill.sp-rest{opacity:.85}
.status-pill.sp-rest .sp-dot{background:#94a3b8}
.status-pill.sp-closed{opacity:.75}
.status-pill.sp-closed .sp-dot{background:#ef4444}

.status-pill .sp-time{
  color:#f1f5f9;font-family:'SF Mono','Courier New',monospace;font-weight:700;
  font-variant-numeric:tabular-nums;letter-spacing:.5px;
}
.status-pill .sp-countdown{
  color:#94a3b8;font-size:11px;font-variant-numeric:tabular-nums;
}
.status-pill .sp-sep{color:#374151}
.status-pill .sp-phase{color:#cbd5e1;font-weight:500}
.status-pill .sp-badge{color:#10b981;font-size:11px}

@keyframes sp-pulse{
  0%{box-shadow:0 0 0 0 rgba(16,185,129,.6)}
  70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}
  100%{box-shadow:0 0 0 0 rgba(16,185,129,0)}
}
@keyframes sp-pulse-y{
  0%{box-shadow:0 0 0 0 rgba(245,158,11,.6)}
  70%{box-shadow:0 0 0 6px rgba(245,158,11,0)}
  100%{box-shadow:0 0 0 0 rgba(245,158,11,0)}
}

/* 移动端紧凑：隐藏倒计时和分隔符，时间字号缩小 */
@media(max-width:768px){
  .status-pill{padding:5px 10px;gap:5px;font-size:11px}
  .status-pill .sp-countdown,
  .status-pill .sp-sep+.sp-badge,
  .status-pill .sp-sep:last-of-type{display:none}
  .status-pill .sp-time{font-size:12px;letter-spacing:0}
}

/* 主 CTA */
.cta-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 18px;border:none;border-radius:10px;
  font-size:14px;font-weight:600;cursor:pointer;
  transition:transform .12s, box-shadow .15s;
  color:#fff;
}
.cta-btn:hover{transform:translateY(-1px)}
.cta-btn .cta-ic{font-size:16px}
.cta-vip{background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 3px 10px rgba(139,92,246,.35)}
.cta-vip:hover{box-shadow:0 6px 16px rgba(139,92,246,.5)}
.cta-run{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 3px 10px rgba(16,185,129,.35)}
.cta-run:hover{box-shadow:0 6px 16px rgba(16,185,129,.5)}

/* 辅助图标按钮 */
.icon-btn{
  width:36px;height:36px;border-radius:8px;
  background:#171c2c;border:1px solid #1f2937;
  color:#cbd5e1;cursor:pointer;font-size:16px;
  display:inline-flex;align-items:center;justify-content:center;
  transition:.15s;
}
.icon-btn:hover{background:#1f2937;border-color:#3b82f6;color:#fff}

/* 兼容 auth.js 把 #jjlsUserBox 插到 .header-right —— 自动同时插到 hd-right */
.header-v2 .header-right{display:contents}

/* ===== 隐藏旧装饰元素的孤儿样式 ===== */
.header-v2 .time-display,
.header-v2 .phase-indicator,
.header-v2 .data-source-badge{display:none}

/* ===== 移动端适配（≤768px）===== */
@media (max-width: 768px){
  .header-v2{flex-wrap:wrap;padding:8px 10px;gap:8px}
  .header-v2 .logo-sub{display:none}
  .header-v2 .logo-text{font-size:14px}
  .header-v2 .logo-icon{width:32px;height:32px;font-size:14px;border-radius:8px}
  .header-v2 .hd-left{flex:1;gap:10px}
  .header-v2 .status-pill{padding:4px 10px;font-size:10px;gap:5px}
  .header-v2 .status-pill .sp-badge{display:none}
  /* 移动端隐藏中间 CTA 和右侧辅助按钮（功能下放到底栏） */
  .header-v2 .hd-center,
  .header-v2 .hd-right .icon-btn{display:none}
  /* 用户菜单移到底栏，顶栏隐藏 */
  .header-v2 #jjlsUserBox,
  .header-v2 #hd-userbox-slot{display:none !important}
  body{padding-bottom:64px !important}
}

/* ===== 移动端底栏 TabBar ===== */
.mobile-tabbar{display:none}
@media (max-width: 768px){
  .mobile-tabbar{
    display:flex;position:fixed;bottom:0;left:0;right:0;height:60px;
    background:rgba(15,20,33,.96);  /* v0.8.8 改实色, 移除 backdrop-filter (破坏 fixed) */
    /* backdrop-filter 在某些浏览器会让 fixed 退化为 absolute, 故移除 */
    border-top:1px solid rgba(148,163,184,.18);border-left:none;border-right:none;border-bottom:none;
    border-radius:0;
    box-shadow:0 8px 28px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.3);
    z-index:99999;justify-content:space-around;align-items:flex-end;
    padding:0 0 env(safe-area-inset-bottom);
  }

  .mtab{
    flex:1;display:flex;flex-direction:column;align-items:center;
    padding:8px 0 6px;cursor:pointer;color:#64748b;font-size:11px;
    transition:.15s;-webkit-tap-highlight-color:transparent;
  }
  .mtab:active{transform:scale(.92)}
  .mtab .mtab-ic{font-size:20px;margin-bottom:2px}
  .mtab .mtab-lb{font-size:10px;letter-spacing:.5px}
  .mtab.active{color:#3b82f6}
  /* 中间凸起的 VIP 按钮 */
  .mtab.mtab-center{position:relative}
  .mtab.mtab-center .mtab-center-btn{
    width:48px;height:48px;border-radius:50%;
    background:linear-gradient(135deg,#3b82f6,#8b5cf6);
    color:#fff;display:flex;align-items:center;justify-content:center;
    font-size:22px;position:absolute;top:-18px;left:50%;
    transform:translateX(-50%);
    box-shadow:0 6px 18px rgba(139,92,246,.6), 0 0 0 4px rgba(15,20,33,.25);
    border:none;
  }
  .mtab.mtab-center .mtab-lb{margin-top:32px;color:#8b5cf6;font-weight:600}
  .mtab.mtab-center:active .mtab-center-btn{transform:translateX(-50%) scale(.92)}
}

/* CTA 分隔符 + VIP 角标 */
.cta-divider{color:#374151;font-size:18px;margin:0 2px;user-select:none}
.cta-tag-vip{background:#fbbf24;color:#7c2d12;font-size:10px;font-weight:700;padding:1px 6px;border-radius:8px;margin-left:6px;letter-spacing:.5px}

/* 移动端公告优化（图二里公告字太大溢出） */
@media (max-width: 768px){
  .cta-divider{display:none}
  /* 公告条 */
  .announcement-bar, [class*="announce"], [id*="ANNOUN"], [id*="ouncement"]{font-size:12px !important}
  .announcement-bar *, .ann-text, .ann-content{font-size:12px !important}
  /* 公告条裁切+跑马灯 */
  .announcement-bar{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:8px 10px !important}
}

/* 公告移动端强制覆盖（announcement.js 是 inline style） */
@media (max-width: 768px){
  #annMarqueeViewport, #annMarqueeTrack, .ann-line, .ann-line span{
    font-size:11px !important;
  }
  .ann-line span:first-child{font-size:9px !important;padding:1px 4px !important}
}

/* 模型市场移动端自适应 - 已迁移到 models-market.js 内联样式（方案B）*/


/* 移动端：底栏占位（避免内容被遮挡）*/
@media (max-width: 768px){
  body{padding-bottom:78px !important} /* body-bottom-pad-for-mtab */
  .main-container{padding-bottom:0 !important}
  /* 模型市场弹层不受影响 */
  .mm-mask{padding-bottom:0 !important}
  #mtab-mask{padding-bottom:0 !important}
}


/* 移动端：toast / 通知向上让位悬浮底栏 */
@media (max-width: 768px){
  /* mobile-toast-lift */
  #toast, .toast, .toast-container, .ant-message,
  [class*="toast"], [class*="Toast"], [class*="notice"], [class*="snackbar"]{
    bottom:84px !important;
  }
  /* 底部日志面板 */
  .log-panel, #logPanel, [class*="log-bar"]{
    margin-bottom:78px !important;
  }
}


/* 移动端：让主容器顶到底栏背后，使毛玻璃有内容可透（main-container-fullbleed）*/
@media (max-width: 768px){
  .main-container{
    height:auto !important;
    min-height:calc(100vh - 60px) !important;
    padding-bottom:0 !important;
  }
  /* body 不再加 padding-bottom（让内容贯穿到底栏下）*/
  body{padding-bottom:0 !important}
  /* 但页面里最后一块要留空，避免底栏永久遮挡操作元素 */
  .panel-right, .panel-left, .panel-center, .result-list{
    padding-bottom:70px !important;
  }
}

/* ===== [整体可滚动修复 v2] PC端弹窗整体滚动 ===== */
@media (min-width: 769px) {
    #mm-box {
        overflow-y: auto !important;
        overflow-x: hidden !important;
        max-height: 90vh !important;
        scrollbar-width: thin;
        scrollbar-color: #475569 #1e293b;
    }
    #mm-box::-webkit-scrollbar {
        width: 8px;
    }
    #mm-box::-webkit-scrollbar-track {
        background: #1e293b;
    }
    #mm-box::-webkit-scrollbar-thumb {
        background: #475569;
        border-radius: 4px;
    }
    /* mm-body 不再独立滚动,跟随 mm-box */
    #mm-box .mm-body {
        overflow: visible !important;
        flex: none !important;
        height: auto !important;
    }
    /* 左右栏内不再独立滚动 */
    #mm-box .mm-left,
    #mm-box .mm-right,
    #mm-box #mm-list,
    #mm-box #mm-detail {
        overflow: visible !important;
        max-height: none !important;
        height: auto !important;
    }
}

/* ===== [右侧sticky修复 v2] 修复底部裁切 ===== */
@media (min-width: 769px) {
    /* mm-body flex布局,让左右栏顶部对齐 */
    #mm-box .mm-body {
        align-items: flex-start !important;
    }
    /* 右侧栏: sticky吸顶, 高度受mm-box限制 */
    #mm-box .mm-right {
        position: sticky !important;
        top: 0 !important;
        align-self: flex-start !important;
        max-height: calc(90vh - 20px);
        display: flex !important;
        flex-direction: column !important;
    }
    /* 详情区: 内部滚动, 底部留空间防裁切 */
    #mm-box #mm-detail {
        max-height: calc(85vh - 40px) !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-bottom: 40px !important;  /* 底部留padding防裁切 */
        scrollbar-width: thin;
        scrollbar-color: #475569 transparent;
    }
    #mm-box #mm-detail::-webkit-scrollbar {
        width: 6px;
    }
    #mm-box #mm-detail::-webkit-scrollbar-thumb {
        background: #475569;
        border-radius: 3px;
    }
}

