/* ============================================================
 * 币界网二开 · 主样式 template/coin528/static/css/coin.css
 * Tailwind 走 CDN(见 head.htm)，此文件放自定义补充样式与主题变量。
 * 红涨绿跌：.up 红  .down 绿（A股习惯；如需美股习惯自行对调）
 * ============================================================ */
:root{
  --up:#e5484d;      /* 涨-红 */
  --down:#2ba471;    /* 跌-绿 */
  --gold:#f0b90b;    /* 币安金 */
  --bg:#0b0e11;      /* 深色背景 */
  --panel:#161a1e;   /* 卡片 */
  --border:#2b3139;
  --text:#eaecef;
  --muted:#848e9c;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.6}
a{color:inherit;text-decoration:none;transition:color .18s}
.up{color:var(--up)!important}
.down{color:var(--down)!important}
.up-bg{background:var(--up);color:#fff}
.down-bg{background:var(--down);color:#fff}
.container{max-width:1240px;margin:0 auto;padding:0 16px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px}
.muted{color:var(--muted)}
.gold{color:var(--gold)}

/* ===== 通用动效 ===== */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes shine{0%{background-position:-200% 0}100%{background-position:200% 0}}
.fadeup{animation:fadeUp .5s ease both}
.fadeup.d1{animation-delay:.06s}.fadeup.d2{animation-delay:.12s}.fadeup.d3{animation-delay:.18s}.fadeup.d4{animation-delay:.24s}

/* 通用卡片悬浮抬升 */
.panel,.stat-card{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.hoverable:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.45);border-color:#3a424c}

/* 区块标题(金色竖条) */
.sec-title{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:800;margin:0 0 16px}
.sec-title::before{content:"";width:4px;height:20px;border-radius:3px;background:linear-gradient(180deg,var(--gold),#e08e0b)}
.sec-title .more{margin-left:auto;font-size:13px;font-weight:400;color:var(--muted)}
.sec-title .more:hover{color:var(--gold)}

/* 顶部导航 */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,14,17,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}
.nav .logo{font-weight:800;color:var(--gold);font-size:21px;flex-shrink:0}
.nav a.menu{padding:8px 11px;color:var(--muted);display:inline-flex;align-items:center;gap:2px;white-space:nowrap}
.nav a.menu:hover,.nav a.menu.active{color:var(--text)}
.navbar{display:flex;align-items:center;gap:4px;height:56px;flex-wrap:nowrap}
.navmenus{flex:1 1 auto;min-width:0;display:flex;align-items:center;flex-wrap:nowrap}
.navitem{position:relative;flex:0 1 auto}
.nav a.menu{font-size:16px;padding:8px 9px}
.navitem .caret{font-style:normal;font-size:10px;opacity:.7;margin-left:1px}
.navitem .submenu{position:absolute;left:0;top:100%;min-width:150px;background:var(--panel);
  border:1px solid var(--border);border-radius:10px;padding:6px;display:none;
  box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:80}
.navitem.has-sub:hover .submenu{display:block}
.navitem .submenu a{display:block;padding:8px 12px;color:var(--muted);border-radius:6px;font-size:13px;white-space:nowrap}
.navitem .submenu a:hover{background:#1c2127;color:var(--gold)}
.navsearch{display:flex;margin:0;flex:0 0 auto}
.navsearch .btn-line{padding:6px 8px;width:130px}
.navmember{flex:0 0 auto}
/* 窄屏：菜单横向滚动(此时下拉已隐藏,不会被裁切) */
@media(max-width:1100px){
  .navmenus{overflow-x:auto;overflow-y:hidden;scrollbar-width:none}
  .navmenus::-webkit-scrollbar{display:none}
  .navitem{flex:0 0 auto}
  .navitem .submenu{display:none!important}
  .navsearch{display:none}
}

/* 迷你行情条(跑马灯滚动) */
.miniticker{position:relative;overflow:hidden;padding:8px 0;font-size:13px;white-space:nowrap;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.miniticker .tk-track{display:inline-flex;gap:26px;animation:marquee 40s linear infinite;will-change:transform}
.miniticker:hover .tk-track{animation-play-state:paused}
.miniticker .it{display:inline-flex;align-items:center;gap:6px}
.miniticker .it b{color:var(--text)}

/* 榜单表格 */
.rank-table{width:100%;border-collapse:collapse}
.rank-table th{color:var(--muted);font-weight:500;font-size:12px}
.rank-table th,.rank-table td{padding:13px 10px;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}
.rank-table th:first-child,.rank-table td:first-child,
.rank-table th:nth-child(2),.rank-table td:nth-child(2){text-align:left}
.rank-table tbody tr{transition:background .15s}
.rank-table tbody tr:hover{background:#1c2127}
.rank-table tbody tr:hover td:nth-child(2){color:var(--gold)}
.coin-logo{width:26px;height:26px;border-radius:50%;vertical-align:middle;margin-right:8px}
.tab{display:inline-block;padding:7px 16px;border-radius:22px;color:var(--muted);cursor:pointer;transition:all .18s}
.tab:hover{color:var(--text);background:#1c2127}
.tab.active{background:linear-gradient(135deg,var(--gold),#e08e0b);color:#000;font-weight:700;box-shadow:0 4px 12px rgba(240,185,11,.25)}

/* 资讯卡片 */
.news-item{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);transition:transform .15s}
.news-item:hover{transform:translateX(4px)}
.news-item:last-child{border-bottom:none}
.news-item .pic{width:150px;height:96px;object-fit:cover;border-radius:10px;flex-shrink:0}
.news-item h3{margin:0 0 8px;font-size:17px;line-height:1.5;font-weight:600}
.news-item:hover h3 a{color:var(--gold)}
.news-item .meta{font-size:12px;color:var(--muted)}
.flash-item{padding:14px 0;border-bottom:1px dashed var(--border)}
.flash-item:last-child{border-bottom:none}
.flash-item .t{color:var(--gold);font-size:12px}
.flash-item a:hover{color:var(--gold)}

/* 付费遮罩 */
.pay-mask{position:relative}
.pay-mask .mask{position:absolute;left:0;right:0;bottom:0;height:70%;
  background:linear-gradient(to bottom,rgba(22,26,30,0),var(--panel) 60%);
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:30px}
.btn-gold{background:var(--gold);color:#000;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:filter .15s}
.btn-gold:hover{filter:brightness(1.08)}
.btn-line{border:1px solid var(--border);background:transparent;color:var(--text);padding:8px 16px;border-radius:8px;cursor:pointer;transition:border-color .15s,background .15s}
.btn-line:hover{border-color:#3a424c}

/* 表单控件深色主题（输入框/下拉框，修复原生 select 白底看不见字） */
input.btn-line,select.btn-line,input,select,textarea{
  background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;
  font-size:14px;outline:none}
input.btn-line:focus,select.btn-line:focus,input:focus,select:focus,textarea:focus{
  border-color:var(--gold);box-shadow:0 0 0 2px rgba(240,185,11,.15)}
input::placeholder{color:var(--muted)}
/* 自定义下拉箭头 */
select,select.btn-line{
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  padding-right:30px;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%23848e9c' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;background-position:right 10px center}
/* 展开后的选项：强制深色底+浅色字（关键，否则白底白字看不见） */
select option,select.btn-line option{background:#161a1e;color:var(--text)}
select option:checked{background:#1c2127;color:var(--gold)}

/* ===== 自定义下拉框（JS 增强，替代原生 select 的丑陋弹层） ===== */
.cs-wrap{position:relative;display:inline-block;min-width:140px;vertical-align:middle}
.cs-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--panel);border:1px solid var(--border);border-radius:10px;
  padding:9px 12px;cursor:pointer;color:var(--text);font-size:14px;transition:border-color .15s,box-shadow .15s;user-select:none}
.cs-trigger:hover{border-color:#3a424c}
.cs-wrap.open .cs-trigger{border-color:var(--gold);box-shadow:0 0 0 2px rgba(240,185,11,.15)}
.cs-arrow{font-style:normal;font-size:11px;color:var(--muted);transition:transform .2s}
.cs-wrap.open .cs-arrow{transform:rotate(180deg);color:var(--gold)}
.cs-panel{position:absolute;left:0;top:calc(100% + 6px);min-width:100%;z-index:90;
  background:#161a1e;border:1px solid var(--border);border-radius:10px;padding:6px;
  box-shadow:0 12px 30px rgba(0,0,0,.55);
  max-height:280px;overflow-y:auto;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .16s,transform .16s,visibility .16s}
.cs-wrap.open .cs-panel{opacity:1;visibility:visible;transform:none}
.cs-opt{padding:9px 12px;border-radius:7px;cursor:pointer;font-size:14px;white-space:nowrap;color:var(--text);transition:background .12s}
.cs-opt:hover{background:#1c2127}
.cs-opt.sel{color:var(--gold);background:rgba(240,185,11,.08);font-weight:600}
.cs-panel::-webkit-scrollbar{width:8px}
.cs-panel::-webkit-scrollbar-thumb{background:#2b3139;border-radius:4px}

/* ===== 数字输入 +/- 步进器（替代丑陋的原生上下箭头） ===== */
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.num-wrap{display:inline-flex;align-items:stretch;border:1px solid var(--border);
  border-radius:10px;overflow:hidden;background:var(--panel);vertical-align:middle}
.num-wrap input{border:none!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;text-align:center;flex:1;min-width:0;padding:9px 6px}
.num-wrap:focus-within{border-color:var(--gold);box-shadow:0 0 0 2px rgba(240,185,11,.15)}
.num-btn{flex:0 0 40px;display:flex;align-items:center;justify-content:center;cursor:pointer;
  color:var(--muted);font-size:20px;font-weight:600;user-select:none;background:#1c2127;
  transition:background .15s,color .15s}
.num-btn:first-child{border-right:1px solid var(--border)}
.num-btn:last-child{border-left:1px solid var(--border)}
.num-btn:hover{background:#242a31;color:var(--gold)}
.num-btn:active{background:var(--gold);color:#000}

/* 大盘卡片 */
.stat-card{position:relative;padding:20px 22px;border-radius:14px;
  background:linear-gradient(145deg,#1a1f25,#141821);border:1px solid var(--border);overflow:hidden}
.stat-card::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle,rgba(240,185,11,.10),transparent 70%)}
.stat-card .n{font-size:26px;font-weight:800;letter-spacing:.3px}
.stat-card .l{font-size:13px;color:var(--muted)}
.stat-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.45);border-color:#3a424c}

/* 首页 Hero 大盘条 */
.hero{margin-top:18px;padding:22px;border-radius:16px;
  background:linear-gradient(120deg,#171b21 0%,#12161c 60%,#1a1510 100%);
  border:1px solid var(--border);position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;
  background:radial-gradient(600px 200px at 85% -20%,rgba(240,185,11,.10),transparent 70%)}
.hero .hero-title{font-size:22px;font-weight:800;margin:0 0 4px}
.hero .hero-sub{color:var(--muted);font-size:13px}

/* 移动端 */
@media(max-width:768px){
  .hide-m{display:none!important}
  .news-item .pic{width:90px;height:64px}
  .rank-table th:nth-child(n+5),.rank-table td:nth-child(n+5){display:none}
}

/* K线容器 */
#klineChart{width:100%;height:420px}
.kline-tabs .tab{font-size:13px}

/* AI 解读盒子 */
.ai-box{background:linear-gradient(135deg,#1a2b1f,#161a1e);border:1px solid #2ba47144;border-radius:10px;padding:14px}
.ai-box .tag{color:#2ba471;font-weight:600;font-size:12px}

/* 悬浮 AI 按钮 */
.ai-fab{position:fixed;right:20px;bottom:24px;width:52px;height:52px;border-radius:50%;
  background:var(--gold);color:#000;display:flex;align-items:center;justify-content:center;
  font-size:22px;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.4);z-index:60}

/* 广告位 */
.coin-ad{margin:16px 0;text-align:center;line-height:0}
.coin-ad img{border-radius:10px;display:inline-block}
.coin-ad:empty{display:none;margin:0}

/* 全站页脚 */
.footer{margin-top:32px;border-top:1px solid var(--border);background:#0d1013;padding:28px 0 20px}
.foot-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.foot-col{display:flex;flex-direction:column;gap:8px}
.foot-col b{color:var(--text);font-size:14px;margin-bottom:4px}
.foot-col a{color:var(--muted);font-size:13px}
.foot-col a:hover{color:var(--gold)}
.foot-links{margin-top:20px;padding-top:16px;border-top:1px solid var(--border);font-size:13px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.foot-links a{color:var(--muted)}
.foot-links a:hover{color:var(--gold)}
.foot-copy{margin-top:16px;color:var(--muted);font-size:12px;line-height:1.9}
@media(max-width:768px){.foot-cols{grid-template-columns:repeat(2,1fr)}}
