/* =========================================================
   香叶财经 · 全站视觉系统 main.css v1.0
   深蓝权威 + 香槟金 · 响应式 · 动效 · 深读模式
   ========================================================= */

/* ---------- 1. 变量与重置 ---------- */
:root{
  --navy-900:#081526;
  --navy-800:#0B1F3A;
  --navy-700:#12304F;
  --navy-600:#1B4066;
  --gold-500:#C9A86A;
  --gold-400:#D8BC85;
  --gold-300:#E3CBA0;
  --gold-600:#A9864A;
  --red-500:#D64545;
  --red-600:#B93A3A;
  --green-500:#1E9E6A;
  --bg:#F4F6F9;
  --surface:#FFFFFF;
  --ink:#16202E;
  --muted:#6B7684;
  --line:#E4E9F0;
  --radius:12px;
  --radius-sm:8px;
  --shadow-sm:0 2px 8px rgba(11,31,58,.06);
  --shadow-md:0 6px 20px rgba(11,31,58,.09);
  --shadow-lg:0 14px 36px rgba(11,31,58,.14);
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans SC",sans-serif;
  --font-serif:"Songti SC","Noto Serif SC","SimSun",serif;
  --container:1280px;
  --fs-body:15px;
  --t-trans:all .28s cubic-bezier(.4,0,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{
  font-family:var(--font);
  font-size:var(--fs-body);
  line-height:1.7;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none;}
img{max-width:100%;border:0;display:block;}
ul,ol{list-style:none;}
button,input,select,textarea{font-family:inherit;font-size:inherit;border:0;outline:0;background:none;}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.4;color:var(--ink);}
.num{font-variant-numeric:tabular-nums;}
.container{max-width:var(--container);margin:0 auto;padding:0 20px;}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* ---------- 2. 通用按钮与标签 ---------- */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:9px 20px;border-radius:999px;font-size:14px;font-weight:600;
  cursor:pointer;transition:var(--t-trans);line-height:1.4;
}
.btn-gold{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:#fff;box-shadow:0 4px 14px rgba(201,168,106,.35);}
.btn-gold:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(201,168,106,.45);}
.btn-ghost{background:transparent;color:var(--navy-700);border:1px solid var(--line);}
.btn-ghost:hover{border-color:var(--gold-500);color:var(--gold-600);}
.btn-nav{background:var(--navy-800);color:#fff;padding:8px 18px;}
.btn-nav:hover{background:var(--gold-600);}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;padding:2px 10px;border-radius:999px;background:rgba(201,168,106,.14);color:var(--gold-600);font-weight:600;}
.tag-red{background:rgba(214,69,69,.1);color:var(--red-500);}
.tag-navy{background:rgba(11,31,58,.08);color:var(--navy-700);}

/* ---------- 3. 顶栏 + 快讯跑马灯 ---------- */
.topbar{background:var(--navy-900);color:rgba(255,255,255,.85);font-size:13px;}
.topbar-inner{display:flex;align-items:center;gap:20px;height:38px;}
.topbar-label{display:flex;align-items:center;gap:6px;color:var(--gold-400);font-weight:700;white-space:nowrap;}
.topbar-label .dot{width:7px;height:7px;border-radius:50%;background:var(--red-500);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.4;transform:scale(.8);}}
.ticker{flex:1;overflow:hidden;position:relative;}
.ticker-track{display:inline-flex;white-space:nowrap;animation:ticker 40s linear infinite;}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-track a{display:inline-flex;align-items:center;gap:8px;color:rgba(255,255,255,.85);margin-right:36px;transition:color .2s;}
.ticker-track a:hover{color:var(--gold-300);}
.ticker-track .t-time{color:var(--gold-500);font-size:12px;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.topbar-date{white-space:nowrap;color:rgba(255,255,255,.6);}
.topbar-right{display:flex;align-items:center;gap:14px;white-space:nowrap;}
.topbar-right a{color:rgba(255,255,255,.8);transition:color .2s;}
.topbar-right a:hover{color:var(--gold-300);}

/* ---------- 4. 主导航 ---------- */
.site-header{position:sticky;top:0;z-index:999;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-sm);transition:var(--t-trans);}
.header-inner{display:flex;align-items:center;height:74px;gap:28px;}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;}
.logo-img{height:46px;width:auto;border-radius:8px;}
.logo-text{display:flex;flex-direction:column;line-height:1.15;}
.logo-text strong{font-size:22px;font-weight:800;color:var(--navy-800);letter-spacing:1px;}
.logo-text strong em{font-style:normal;color:var(--gold-600);}
.logo-text small{font-size:11px;color:var(--muted);letter-spacing:2px;}
.main-nav{margin-left:auto;}
.nav-list{display:flex;align-items:center;gap:2px;}
.nav-item{position:relative;}
.nav-link{
  display:flex;align-items:center;gap:4px;padding:10px 16px;font-size:15px;font-weight:600;
  color:var(--ink);border-radius:8px;position:relative;transition:var(--t-trans);
}
.nav-link::after{
  content:"";position:absolute;left:50%;bottom:4px;width:0;height:2px;border-radius:2px;
  background:linear-gradient(90deg,var(--gold-400),var(--gold-600));
  transform:translateX(-50%);transition:width .3s cubic-bezier(.4,0,.2,1);
}
.nav-link:hover{color:var(--gold-600);background:rgba(201,168,106,.08);}
.nav-link:hover::after{width:60%;}
.nav-item.is-active .nav-link{color:var(--gold-600);}
.nav-item.is-active .nav-link::after{width:70%;}
.nav-link .caret{margin-left:2px;font-size:11px;transition:transform .25s;}
.nav-item:hover .caret{transform:rotate(180deg);}
.sub-menu{
  position:absolute;top:calc(100% + 6px);left:50%;transform:translateX(-50%) translateY(10px);
  min-width:150px;background:#fff;border:1px solid var(--line);border-radius:10px;
  box-shadow:var(--shadow-md);padding:8px;opacity:0;visibility:hidden;transition:var(--t-trans);z-index:50;
}
.nav-item:hover .sub-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.sub-menu a{display:block;padding:8px 14px;font-size:14px;color:var(--ink);border-radius:6px;transition:var(--t-trans);}
.sub-menu a:hover{background:rgba(201,168,106,.1);color:var(--gold-600);padding-left:18px;}
.header-actions{display:flex;align-items:center;gap:10px;}
.icon-btn{width:40px;height:40px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--t-trans);background:var(--bg);color:var(--navy-800);}
.icon-btn:hover{background:rgba(201,168,106,.16);color:var(--gold-600);}
.search-box{position:relative;}
.search-panel{
  position:absolute;right:0;top:calc(100% + 10px);width:320px;background:#fff;border:1px solid var(--line);
  border-radius:12px;box-shadow:var(--shadow-lg);padding:14px;opacity:0;visibility:hidden;transform:translateY(8px);transition:var(--t-trans);z-index:60;
}
.search-panel.open{opacity:1;visibility:visible;transform:translateY(0);}
.search-form{display:flex;gap:8px;}
.search-form input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:14px;transition:var(--t-trans);}
.search-form input:focus{border-color:var(--gold-500);background:#fff;}
.search-form button{background:var(--navy-800);color:#fff;border-radius:8px;padding:0 16px;font-weight:600;cursor:pointer;transition:var(--t-trans);}
.search-form button:hover{background:var(--gold-600);}
.menu-toggle{display:none;}

/* 移动端抽屉 */
.mobile-nav{
  position:fixed;top:0;right:0;bottom:0;width:300px;max-width:86vw;background:#fff;z-index:1200;
  transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:-12px 0 40px rgba(11,31,58,.18);display:flex;flex-direction:column;padding:20px;
}
.mobile-nav.open{transform:translateX(0);}
.mobile-nav-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.mobile-nav-head strong{color:var(--navy-800);font-size:18px;}
.mobile-nav a.m-link{display:block;padding:12px 8px;font-size:16px;font-weight:600;color:var(--ink);border-radius:8px;transition:var(--t-trans);}
.mobile-nav a.m-link:hover,.mobile-nav a.m-link.is-active{color:var(--gold-600);background:rgba(201,168,106,.1);}
.mobile-nav .m-search{margin-top:16px;display:flex;gap:8px;}
.mobile-nav .m-search input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px 12px;}
.mobile-nav .m-search button{background:var(--navy-800);color:#fff;border-radius:8px;padding:0 16px;cursor:pointer;}
.scrim{position:fixed;inset:0;background:rgba(8,21,38,.55);z-index:1100;opacity:0;visibility:hidden;transition:var(--t-trans);}
.scrim.open{opacity:1;visibility:visible;}

/* ---------- 5. Hero 轮播 ---------- */
.hero{margin-top:24px;}
.hero-inner{display:grid;grid-template-columns:1fr 400px;gap:24px;}
.hero-carousel{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);background:var(--navy-800);min-height:420px;}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s ease,visibility .8s;overflow:hidden;}
.slide.is-active{opacity:1;visibility:visible;}
.slide-img{position:absolute;inset:-4%;width:108%;height:108%;object-fit:cover;transform:scale(1.02);}
.slide.is-active .slide-img{animation:kenburns 7s ease-out forwards;}
@keyframes kenburns{from{transform:scale(1.02);}to{transform:scale(1.14);}}
.slide-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,38,.05) 0%,rgba(8,21,38,.45) 45%,rgba(8,21,38,.88) 100%);}
.slide-body{position:absolute;left:0;right:0;bottom:0;padding:28px 30px 34px;color:#fff;}
.slide-cat{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;}
.slide-cat span{background:rgba(201,168,106,.92);color:#0B1F3A;font-size:12px;font-weight:700;padding:3px 12px;border-radius:999px;}
.slide-title{font-size:26px;line-height:1.45;font-weight:800;color:#fff;margin-bottom:12px;text-shadow:0 2px 12px rgba(0,0,0,.35);}
.slide-meta{display:flex;align-items:center;gap:16px;font-size:13px;color:rgba(255,255,255,.75);}
.slide-progress{position:absolute;left:0;bottom:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold-400),var(--gold-600));z-index:5;}
.slide.is-active .slide-progress{animation:progress 6s linear forwards;}
@keyframes progress{from{width:0;}to{width:100%;}}
.carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:42px;height:42px;border-radius:50%;
  background:rgba(255,255,255,.18);color:#fff;display:flex;align-items:center;justify-content:center;
  cursor:pointer;backdrop-filter:blur(4px);transition:var(--t-trans);font-size:18px;border:1px solid rgba(255,255,255,.25);
}
.carousel-arrow:hover{background:var(--gold-500);color:#0B1F3A;border-color:var(--gold-500);}
.carousel-arrow.prev{left:16px;}
.carousel-arrow.next{right:16px;}
.carousel-dots{position:absolute;right:22px;bottom:16px;z-index:10;display:flex;gap:7px;}
.carousel-dots button{width:8px;height:8px;border-radius:999px;background:rgba(255,255,255,.4);cursor:pointer;transition:var(--t-trans);}
.carousel-dots button.is-active{width:26px;background:var(--gold-400);}

/* 要闻快讯（Hero 右侧） */
.hero-side{display:flex;flex-direction:column;gap:24px;}
.flash-news{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;display:flex;flex-direction:column;flex:1;}
.flash-head{display:flex;align-items:center;gap:8px;padding:16px 20px;border-bottom:1px solid var(--line);}
.flash-head .flash-icon{width:9px;height:9px;border-radius:50%;background:var(--red-500);animation:pulse 1.4s infinite;}
.flash-head h2{font-size:17px;color:var(--navy-800);}
.flash-head .flash-sub{margin-left:auto;font-size:12px;color:var(--muted);}
.flash-list{flex:1;overflow:hidden;padding:6px 20px 12px;}
.flash-item{display:flex;gap:12px;padding:11px 0;border-bottom:1px dashed var(--line);transition:var(--t-trans);}
.flash-item:last-child{border-bottom:0;}
.flash-item:hover{padding-left:6px;}
.flash-time{flex-shrink:0;font-size:12px;color:var(--gold-600);font-weight:600;padding-top:2px;font-variant-numeric:tabular-nums;}
.flash-item a{font-size:14px;line-height:1.55;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.flash-item a:hover{color:var(--gold-600);}
.flash-more{display:block;text-align:center;padding:10px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);transition:var(--t-trans);}
.flash-more:hover{color:var(--gold-600);background:var(--bg);}

/* Hero 数据小卡 */
.hero-stat{background:linear-gradient(135deg,var(--navy-800),var(--navy-600));border-radius:16px;padding:16px 20px;color:#fff;display:flex;align-items:center;gap:14px;}
.hero-stat .hs-label{font-size:12px;color:rgba(255,255,255,.65);}
.hero-stat .hs-val{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:.5px;}
.hero-stat .hs-chg{font-size:13px;font-weight:700;margin-top:2px;}
.hero-stat .up{color:#FF8A8A;}
.hero-stat .down{color:#5EDBA8;}
.hero-stat .hs-note{margin-left:auto;font-size:11px;color:rgba(255,255,255,.5);max-width:110px;text-align:right;line-height:1.4;}

/* ---------- 6. 板块标题 ---------- */
.section{margin:44px 0;}
.section-head{display:flex;align-items:flex-end;gap:12px;margin-bottom:22px;}
.section-head .bar{width:5px;height:26px;border-radius:3px;background:linear-gradient(180deg,var(--gold-400),var(--gold-600));}
.section-title{font-size:24px;font-weight:800;color:var(--navy-800);letter-spacing:.5px;}
.section-sub{font-size:13px;color:var(--muted);margin-bottom:3px;}
.section-more{margin-left:auto;font-size:13px;font-weight:600;color:var(--muted);display:inline-flex;align-items:center;gap:4px;transition:var(--t-trans);}
.section-more:hover{color:var(--gold-600);gap:8px;}

/* ---------- 7. 市场数据仪表盘 ---------- */
.mkt-section{background:linear-gradient(135deg,var(--navy-900) 0%,var(--navy-800) 55%,var(--navy-700) 100%);border-radius:18px;padding:30px 28px;margin:44px 0;}
.mkt-section .section-title{color:#fff;}
.mkt-section .section-sub{color:rgba(255,255,255,.55);}
.mkt-section .section-more{color:rgba(255,255,255,.7);}
.mkt-section .section-more:hover{color:var(--gold-300);}
.mkt-section .bar{background:linear-gradient(180deg,var(--gold-300),var(--gold-600));}
.mkt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.mkt-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 18px;color:#fff;transition:var(--t-trans);position:relative;overflow:hidden;}
.mkt-card:hover{background:rgba(255,255,255,.11);transform:translateY(-3px);border-color:rgba(201,168,106,.45);}
.mkt-card .mkt-name{font-size:13px;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:6px;}
.mkt-card .mkt-val{font-size:24px;font-weight:800;margin:8px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:.5px;}
.mkt-card .mkt-chg{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;}
.mkt-card .mkt-chg.up{color:#FF8A8A;}
.mkt-card .mkt-chg.down{color:#5EDBA8;}
.mkt-card .mkt-chg.flat{color:rgba(255,255,255,.5);}
.mkt-card .spark{position:absolute;right:10px;bottom:10px;opacity:.9;}
.mkt-note{color:rgba(255,255,255,.4);font-size:12px;margin-top:14px;}

/* ---------- 8. 新闻卡片 ---------- */
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.news-card{background:var(--surface);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);transition:var(--t-trans);display:flex;flex-direction:column;}
.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--bg);}
.card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1);}
.news-card:hover .card-media img{transform:scale(1.08);}
.card-cat{position:absolute;left:12px;top:12px;z-index:2;}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;gap:8px;}
.card-title{font-size:16px;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.news-card:hover .card-title{color:var(--gold-600);}
.card-excerpt{font-size:13px;color:var(--muted);line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.card-meta{margin-top:auto;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);padding-top:8px;border-top:1px dashed var(--line);}
.card-meta .date{font-variant-numeric:tabular-nums;}
.card-meta .views{margin-left:auto;display:inline-flex;align-items:center;gap:4px;}

/* 深度报道大卡 */
.feature-card{position:relative;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-md);min-height:300px;display:flex;align-items:flex-end;}
.feature-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.4,0,.2,1);}
.feature-card:hover img{transform:scale(1.06);}
.feature-card .f-mask{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,21,38,0) 30%,rgba(8,21,38,.9) 100%);}
.feature-card .f-body{position:relative;z-index:2;padding:26px;color:#fff;width:100%;}
.feature-card .f-body .tag{background:rgba(201,168,106,.92);color:#0B1F3A;margin-bottom:10px;}
.feature-card h3{font-size:22px;font-weight:800;color:#fff;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px;}
.feature-card .f-meta{font-size:13px;color:rgba(255,255,255,.75);display:flex;gap:14px;}

/* 最新文章列表 */
.list-rows{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:6px 22px;}
.row-item{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--line);transition:var(--t-trans);}
.row-item:last-child{border-bottom:0;}
.row-item:hover{padding-left:8px;}
.row-num{width:30px;height:30px;border-radius:8px;background:var(--bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px;flex-shrink:0;}
.row-item:nth-child(-n+3) .row-num{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:#fff;}
.row-item .r-cat{font-size:12px;flex-shrink:0;min-width:70px;text-align:center;}
.row-item .r-title{flex:1;font-size:15px;font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.row-item:hover .r-title{color:var(--gold-600);}
.row-item .r-meta{font-size:12px;color:var(--muted);white-space:nowrap;flex-shrink:0;font-variant-numeric:tabular-nums;}
@media (max-width:767px){.row-item .r-cat,.row-item .r-meta .views{display:none;}}

/* ---------- 9. 分页 ---------- */
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:34px 0 10px;flex-wrap:wrap;}
.page-link{min-width:38px;height:38px;padding:0 12px;border-radius:10px;background:var(--surface);border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;font-size:14px;color:var(--ink);transition:var(--t-trans);}
.page-link:hover{border-color:var(--gold-500);color:var(--gold-600);}
.page-link.is-active{background:var(--navy-800);border-color:var(--navy-800);color:#fff;font-weight:700;}
.page-link.disabled{opacity:.45;pointer-events:none;}

/* ---------- 10. 面包屑 ---------- */
.breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding:18px 0 4px;}
.breadcrumb a{color:var(--muted);transition:color .2s;}
.breadcrumb a:hover{color:var(--gold-600);}
.breadcrumb .sep{color:#C4CBD4;}
.breadcrumb .cur{color:var(--ink);font-weight:600;}

/* ---------- 11. 详情页 ---------- */
.page{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;padding:20px 0 50px;}
.article-wrap{min-width:0;}
.article{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:34px 40px 40px;}
.article-header{margin-bottom:22px;}
.article-title{font-size:30px;font-weight:800;line-height:1.45;color:var(--navy-900);margin-bottom:14px;}
.article-meta{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:13px;color:var(--muted);padding-bottom:18px;border-bottom:1px solid var(--line);}
.article-meta .sep{color:var(--line);}
.article-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:8px;}
.ctrl-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;background:var(--bg);color:var(--navy-700);font-size:13px;font-weight:600;cursor:pointer;transition:var(--t-trans);border:1px solid transparent;}
.ctrl-btn:hover{background:rgba(201,168,106,.15);color:var(--gold-600);border-color:rgba(201,168,106,.35);}
.ctrl-btn.is-on{background:var(--navy-800);color:#fff;}
.ctrl-group{display:inline-flex;align-items:center;background:var(--bg);border-radius:999px;overflow:hidden;}
.ctrl-group button{width:34px;height:32px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;color:var(--navy-700);cursor:pointer;transition:var(--t-trans);}
.ctrl-group button:hover{background:rgba(201,168,106,.2);color:var(--gold-600);}
.ctrl-group .cg-label{padding:0 8px;font-size:12px;color:var(--muted);}

/* 正文排版 */
.article-body{font-size:var(--fs-body);line-height:2;color:#232D3B;}
.article-body p{margin:0 0 18px;}
.article-body h2,.article-body h3{color:var(--navy-800);margin:30px 0 14px;font-weight:800;}
.article-body h2{font-size:22px;padding-left:12px;border-left:4px solid var(--gold-500);}
.article-body h3{font-size:18px;}
.article-body img{border-radius:10px;margin:8px 0;box-shadow:var(--shadow-sm);}
.article-body blockquote{margin:20px 0;padding:14px 20px;background:var(--bg);border-left:4px solid var(--gold-500);border-radius:0 10px 10px 0;color:var(--muted);}
.article-body ul,.article-body ol{margin:0 0 18px 24px;}
.article-body ul li{list-style:disc;margin-bottom:6px;}
.article-body ol li{list-style:decimal;margin-bottom:6px;}
.article-body table{width:100%;border-collapse:collapse;margin:18px 0;font-size:14px;}
.article-body th,.article-body td{border:1px solid var(--line);padding:9px 12px;text-align:left;}
.article-body th{background:var(--navy-800);color:#fff;font-weight:600;}
.article-body tr:nth-child(even) td{background:#FAFBFD;}
.article-body strong,.article-body b{color:var(--navy-800);}
.article-body a{color:var(--gold-600);border-bottom:1px solid rgba(201,168,106,.4);}
.article-body a:hover{color:var(--red-500);}

/* 分享栏 */
.share-bar{display:flex;align-items:center;gap:10px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line);flex-wrap:wrap;}
.share-bar .lb{font-size:13px;color:var(--muted);margin-right:4px;}
.share-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;cursor:pointer;transition:var(--t-trans);}
.share-btn.wechat{background:#07C160;color:#fff;}
.share-btn.weibo{background:#E6162D;color:#fff;}
.share-btn.qq{background:#12B7F5;color:#fff;}
.share-btn.copy{background:var(--bg);color:var(--navy-700);}
.share-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-sm);}

/* 上下篇 + 相关推荐 */
.article-nav{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0;}
.nav-entry{background:var(--bg);border-radius:12px;padding:14px 18px;transition:var(--t-trans);display:block;}
.nav-entry:hover{background:rgba(201,168,106,.14);}
.nav-entry .ne-label{font-size:12px;color:var(--muted);margin-bottom:4px;display:flex;align-items:center;gap:6px;}
.nav-entry .ne-title{font-size:14px;font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;}
.nav-entry.next{text-align:right;}
.related{margin-top:30px;}
.related .sec-t{font-size:18px;font-weight:800;color:var(--navy-800);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.related .sec-t::before{content:"";width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--gold-400),var(--gold-600));}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}

/* ---------- 12. 侧栏 ---------- */
.sidebar{min-width:0;}
.widget{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:18px 20px;margin-bottom:22px;}
.widget-title{font-size:16px;font-weight:800;color:var(--navy-800);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.widget-title::before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--gold-400),var(--gold-600));}
.rank-list .rank-item{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line);}
.rank-list .rank-item:last-child{border-bottom:0;}
.rank-num{width:22px;height:22px;border-radius:6px;background:var(--bg);color:var(--muted);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.rank-item:nth-child(-n+3) .rank-num{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:#fff;}
.rank-item a{font-size:14px;line-height:1.55;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.rank-item a:hover{color:var(--gold-600);}
.widget-cats a{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink);transition:var(--t-trans);}
.widget-cats a:hover{background:rgba(201,168,106,.1);color:var(--gold-600);padding-left:16px;}
.widget-cats a span{color:var(--muted);font-size:12px;font-weight:400;}

/* ---------- 13. 页脚 ---------- */
.site-footer{background:var(--navy-900);color:rgba(255,255,255,.72);margin-top:60px;padding:52px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.08);}
.footer-brand .logo-text strong{color:#fff;}
.footer-brand p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.8;margin-top:14px;}
.footer-col h3{color:#fff;font-size:15px;font-weight:700;margin-bottom:16px;}
.footer-col h3::before{content:"";display:inline-block;width:4px;height:14px;border-radius:2px;background:var(--gold-500);margin-right:8px;vertical-align:-1px;}
.footer-col a{display:block;padding:5px 0;font-size:13px;color:rgba(255,255,255,.6);transition:var(--t-trans);}
.footer-col a:hover{color:var(--gold-300);padding-left:6px;}
.footer-disclaimer{font-size:12px;color:rgba(255,255,255,.42);line-height:1.9;background:rgba(255,255,255,.03);border-radius:10px;padding:12px 16px;}
.footer-copy{padding:20px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px;color:rgba(255,255,255,.5);}
.footer-copy a{color:rgba(255,255,255,.65);}
.footer-copy a:hover{color:var(--gold-300);}

/* 返回顶部 */
.to-top{position:fixed;right:22px;bottom:40px;z-index:900;width:46px;height:46px;border-radius:50%;background:var(--navy-800);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transform:translateY(12px);transition:var(--t-trans);font-size:18px;}
.to-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.to-top:hover{background:var(--gold-600);}

/* ---------- 14. 深读模式 ---------- */
body.theme-sepia{--bg:#F6EEDC;--surface:#FFFDF5;--ink:#3D3226;--muted:#8A7B66;--line:#E7DCC3;}
body.theme-sepia .article-body{color:#463B2C;}
body.theme-night{--bg:#0F1621;--surface:#151E2B;--ink:#D7DEE8;--muted:#8A96A5;--line:#263241;--navy-900:#0A1220;--navy-800:#182638;--navy-700:#223650;}
body.theme-night h1,body.theme-night h2,body.theme-night h3,body.theme-night h4{color:#EDF1F6;}
body.theme-night .site-header{background:rgba(21,30,43,.92);box-shadow:0 2px 8px rgba(0,0,0,.4);}
body.theme-night .news-card,body.theme-night .widget,body.theme-night .article,body.theme-night .list-rows,body.theme-night .flash-news{background:#151E2B;box-shadow:0 2px 10px rgba(0,0,0,.35);}
body.theme-night .article-body{color:#C6CFDA;}
body.theme-night .article-body a{color:var(--gold-400);}
body.theme-night .row-item:nth-child(-n+3) .row-num,body.theme-night .rank-item:nth-child(-n+3) .rank-num{background:var(--navy-600);color:#fff;}
body[data-fs="1"] .article-body{--fs-body:16px;}
body[data-fs="2"] .article-body{--fs-body:17px;}
body[data-fs="3"] .article-body{--fs-body:18px;}
body[data-fs="4"] .article-body{--fs-body:19.5px;}

/* ---------- 15. 入场动画 ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.3,1);}
.reveal.in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;}
  .reveal{opacity:1;transform:none;}
}

/* ---------- 16. 响应式 ---------- */
@media (max-width:1199px){
  .grid-4{grid-template-columns:repeat(3,1fr);}
  .mkt-grid{grid-template-columns:repeat(3,1fr);}
  .hero-inner{grid-template-columns:1fr 340px;}
  .page{grid-template-columns:minmax(0,1fr) 280px;gap:20px;}
}
@media (max-width:991px){
  .hero-inner{grid-template-columns:1fr;}
  .page{grid-template-columns:1fr;}
  .sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .grid-3{grid-template-columns:repeat(2,1fr);}
  .related-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  body{--fs-body:15px;}
  .topbar-date,.topbar-right .sep{display:none;}
  .topbar-inner{height:34px;font-size:12px;}
  .main-nav,.header-actions .search-wrap{display:none;}
  .menu-toggle{display:inline-flex;}
  .header-inner{height:62px;gap:14px;}
  .logo-text small{display:none;}
  .logo-text strong{font-size:19px;}
  .hero{margin-top:14px;}
  .slide-title{font-size:20px;padding-right:10px;}
  .slide-body{padding:18px 18px 26px;}
  .carousel-arrow{width:34px;height:34px;font-size:14px;}
  .section-title{font-size:20px;}
  .section{margin:34px 0;}
  .grid-4,.grid-3{grid-template-columns:1fr 1fr;gap:12px;}
  .card-title{font-size:14px;}
  .card-excerpt{display:none;}
  .mkt-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .mkt-section{padding:22px 16px;border-radius:14px;}
  .mkt-card .mkt-val{font-size:20px;}
  .article{padding:22px 18px 28px;border-radius:12px;}
  .article-title{font-size:22px;}
  .article-nav{grid-template-columns:1fr;}
  .related-grid{grid-template-columns:1fr;}
  .sidebar{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .footer-copy{flex-direction:column;text-align:center;}
  .search-panel{width:280px;right:-60px;}
  .feature-card{min-height:220px;}
  .feature-card h3{font-size:18px;}
  .list-rows{padding:6px 14px;}
  .row-item .r-meta .views{display:none;}
}
@media (max-width:420px){
  .grid-4,.grid-3{grid-template-columns:1fr;}
}

/* ============ v2 高端化升级 ============ */
.eyebrow{display:block;font-size:11px;letter-spacing:3px;color:var(--gold-600);font-weight:700;text-transform:uppercase;margin-bottom:4px;font-family:Georgia,serif;}
.section-title .eyebrow{color:var(--gold-500);}
.mkt-section .section-title .eyebrow{color:var(--gold-400);}

/* 市场仪表盘 v2 */
.mkt-section .mkt-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:22px;}
.mkt-head .section-title{color:#fff;font-size:26px;}
.mkt-head .mkt-tools{margin-left:auto;display:flex;align-items:center;gap:12px;}
.mkt-updated{color:rgba(255,255,255,.5);font-size:12px;font-variant-numeric:tabular-nums;}
.mkt-refresh{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:999px;padding:6px 14px;font-size:12px;cursor:pointer;transition:var(--t-trans);display:inline-flex;align-items:center;gap:6px;}
.mkt-refresh:hover{background:var(--gold-500);color:#0B1F3A;border-color:var(--gold-500);}
.mkt-top{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px;}
.mkt-card{display:block;position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px 18px;color:#fff;transition:var(--t-trans);overflow:hidden;text-decoration:none;}
.mkt-card:hover{background:rgba(255,255,255,.12);transform:translateY(-4px);border-color:rgba(201,168,106,.6);box-shadow:0 14px 34px rgba(0,0,0,.35);}
.mkt-card.big{background:linear-gradient(135deg,rgba(201,168,106,.16),rgba(255,255,255,.05));border-color:rgba(201,168,106,.35);}
.mkt-card.big .mkt-val{font-size:30px;}
.mkt-card .mkt-name{font-size:13px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px;}
.mkt-card .mkt-tag{font-size:11px;padding:1px 8px;border-radius:999px;background:rgba(255,255,255,.12);color:rgba(255,255,255,.6);}
.mkt-card .mkt-tag.real{background:rgba(214,69,69,.25);color:#FFB3B3;}
.mkt-card .live-dot{width:6px;height:6px;border-radius:50%;background:#FF5A5A;display:inline-block;animation:pulse 1.4s infinite;margin-right:3px;vertical-align:1px;}
.mkt-card .mkt-val{font-size:24px;font-weight:800;margin:8px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:.5px;}
.mkt-card .mkt-chg{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;}
.mkt-card .mkt-chg.up{color:#FF8A8A;}
.mkt-card .mkt-chg.down{color:#5EDBA8;}
.mkt-card .mkt-chg.flat{color:rgba(255,255,255,.5);}
.mkt-card .spark{position:absolute;right:12px;bottom:14px;opacity:.9;}
.mkt-card .mkt-go{position:absolute;right:14px;top:14px;font-size:11px;color:var(--gold-300);opacity:0;transform:translateX(-6px);transition:var(--t-trans);}
.mkt-card:hover .mkt-go{opacity:1;transform:translateX(0);}
.mkt-note{color:rgba(255,255,255,.42);font-size:12px;margin-top:14px;display:flex;align-items:center;gap:8px;}
.mkt-note .dot{width:7px;height:7px;border-radius:50%;background:var(--red-500);animation:pulse 1.6s infinite;}

/* Hero 实时行情小牌 */
.hero-quotes{background:linear-gradient(135deg,var(--navy-800),var(--navy-700));border-radius:16px;padding:16px 20px;color:#fff;box-shadow:var(--shadow-md);}
.hq-title{font-size:13px;color:rgba(255,255,255,.65);display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.hq-title .live{font-size:11px;color:#FFB3B3;background:rgba(214,69,69,.22);padding:1px 8px;border-radius:999px;}
.hq-list{display:flex;flex-direction:column;gap:8px;}
.hq-item{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px dashed rgba(255,255,255,.1);}
.hq-item:last-child{border-bottom:0;}
.hq-name{color:rgba(255,255,255,.7);flex:1;}
.hq-val{font-weight:800;font-variant-numeric:tabular-nums;}
.hq-chg{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;min-width:64px;text-align:right;}
.hq-chg.up{color:#FF8A8A;}
.hq-chg.down{color:#5EDBA8;}

@media (max-width:767px){
  .mkt-top{grid-template-columns:1fr;gap:10px;}
  .mkt-card.big .mkt-val{font-size:24px;}
  .mkt-section .mkt-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .mkt-head .mkt-tools{margin-left:0;}
}
@media (min-width:768px) and (max-width:991px){
  .mkt-top{grid-template-columns:1fr 1fr;}
}

/* ============ v3：快讯单行 + 行情页 ============ */
.topbar{overflow:hidden;}
.topbar-inner{flex-wrap:nowrap;overflow:hidden;white-space:nowrap;}
.ticker{min-width:0;}
.ticker-track{will-change:transform;}
.ticker-track a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(420px,38vw);}
.topbar-date,.topbar-right{flex-shrink:0;}

/* 行情页表格 */
.market-table-wrap{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden;overflow-x:auto;}
.market-table{width:100%;border-collapse:collapse;font-size:14px;min-width:720px;}
.market-table thead th{background:var(--navy-800);color:#fff;padding:12px 16px;text-align:left;font-weight:600;font-size:13px;white-space:nowrap;}
.market-table tbody td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle;}
.market-table tbody tr:hover{background:rgba(201,168,106,.07);}
.market-table .group-row td{background:var(--bg);font-weight:800;color:var(--navy-800);font-size:13px;padding:9px 16px;letter-spacing:1px;}
.market-table .t-name a{font-weight:700;color:var(--ink);transition:color .2s;}
.market-table .t-name a:hover{color:var(--gold-600);}
.market-table .t-code{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums;}
.market-table .t-val{font-weight:800;font-variant-numeric:tabular-nums;}
.market-table .t-chg,.market-table .t-pct{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.market-table .up{color:var(--red-500);}
.market-table .down{color:var(--green-500);}
.market-table .t-nospark{color:var(--line);}
.market-table tr.flash-row{animation:rowflash 1.6s ease 2;}
@keyframes rowflash{0%,100%{background:transparent;}50%{background:rgba(201,168,106,.28);}}
@media (max-width:767px){
  .market-table{font-size:13px;min-width:640px;}
  .market-table thead th,.market-table tbody td{padding:10px 10px;}
}

/* ============ v4：快讯24小时（同花顺风格） ============ */
.kuaixun-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px;}
.kx-tools{display:flex;align-items:center;gap:12px;}
.kx-clock{font-size:22px;font-weight:800;color:var(--gold-600);font-variant-numeric:tabular-nums;letter-spacing:1px;}
.kx-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--red-500);background:rgba(214,69,69,.1);padding:3px 12px;border-radius:999px;letter-spacing:1px;}
.kx-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;}
.kx-tab{padding:7px 18px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;transition:var(--t-trans);}
.kx-tab:hover{border-color:var(--gold-500);color:var(--gold-600);}
.kx-tab.is-active{background:var(--navy-800);border-color:var(--navy-800);color:#fff;}
.kx-feed{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:6px 0;}
.kx-day{display:flex;align-items:center;gap:10px;padding:14px 22px 8px;color:var(--navy-800);}
.kx-day-label{font-size:14px;font-weight:800;}
.kx-day-count{font-size:12px;color:var(--muted);}
.kx-day::after{content:"";flex:1;height:1px;background:var(--line);}
.kx-item{display:flex;align-items:center;gap:12px;padding:10px 22px;border-top:1px solid var(--line);transition:var(--t-trans);}
.kx-feed > .kx-item:first-child{border-top:0;}
.kx-item:hover{background:rgba(201,168,106,.08);padding-left:26px;}
.kx-time{font-size:13px;font-weight:700;color:var(--gold-600);font-variant-numeric:tabular-nums;flex-shrink:0;width:52px;}
.kx-cat{font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:1px 8px;flex-shrink:0;}
.kx-title{flex:1;font-size:14px;color:var(--ink);line-height:1.5;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;}
.kx-item:hover .kx-title{color:var(--gold-600);}
.kx-go{color:var(--line);font-size:14px;flex-shrink:0;transition:var(--t-trans);}
.kx-item:hover .kx-go{color:var(--gold-600);transform:translateX(3px);}
.kx-loading,.kx-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:14px;}

/* 首页右侧快讯面板 */
.kx-home-panel .kx-home{max-height:560px;overflow-y:auto;margin:0 -4px;padding:0 4px;}
.kx-home-panel .kx-item{padding:9px 12px;border-top:1px dashed var(--line);border-radius:8px;}
.kx-home-panel .kx-item:first-child{border-top:0;}
.kx-home-panel .kx-item:hover{padding-left:16px;background:rgba(201,168,106,.08);}
.kx-home-panel .kx-title{font-size:13px;}
.kx-home-panel .kx-time{width:44px;font-size:12px;}
.kx-live-mini{display:inline-flex;align-items:center;gap:5px;font-size:11px;color:var(--red-500);font-weight:800;margin-left:auto;}
.kx-more{display:block;text-align:center;padding:10px;margin-top:10px;font-size:13px;font-weight:600;color:var(--muted);border-top:1px solid var(--line);transition:var(--t-trans);border-radius:0 0 14px 14px;}
.kx-more:hover{color:var(--gold-600);background:var(--bg);}
.kx-home::-webkit-scrollbar{width:6px;}
.kx-home::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
@media (max-width:767px){
  .kx-item{padding:9px 14px;}
  .kx-time{width:46px;}
  .kx-clock{font-size:18px;}
  .kx-cat{display:none;}
}

/* ============ v5：快讯7×24（同花顺实时快讯风格） ============ */
.kx-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;}
.kx-main{min-width:0;}
.kx-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:16px;}
.kx-title-bar{display:flex;align-items:center;gap:12px;}
.kx-title-bar h1{font-size:30px;font-weight:800;color:var(--navy-900);letter-spacing:1px;}
.kx-title-bar .kx-724{font-size:15px;color:var(--gold-600);font-weight:700;background:rgba(201,168,106,.14);padding:4px 12px;border-radius:999px;margin-left:6px;letter-spacing:1px;}
.kx-live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:800;color:var(--red-500);background:rgba(214,69,69,.1);padding:3px 12px;border-radius:999px;letter-spacing:1px;}
.kx-clockbox{text-align:right;}
.kx-clockbox .kx-date{font-size:13px;color:var(--muted);}
.kx-clockbox .kx-time{font-size:28px;font-weight:800;color:var(--navy-800);font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1.2;}
.kx-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.kx-auto{display:flex;align-items:center;gap:10px;}
.kx-auto-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;}
.kx-auto-label input{accent-color:var(--gold-600);}
.kx-refresh-btn{padding:6px 14px;border-radius:999px;background:var(--navy-800);color:#fff;font-size:12px;font-weight:600;cursor:pointer;transition:var(--t-trans);}
.kx-refresh-btn:hover{background:var(--gold-600);}
.kx-livebox{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:4px 22px 18px;}
.kx-feed .kx-item{display:flex;gap:14px;padding:13px 4px;border-bottom:1px solid var(--line);transition:var(--t-trans);}
.kx-feed .kx-item:last-child{border-bottom:0;}
.kx-feed .kx-item:hover{background:rgba(201,168,106,.06);padding-left:10px;}
.kx-feed .kx-time{font-size:13px;font-weight:700;color:var(--gold-600);font-variant-numeric:tabular-nums;flex-shrink:0;width:76px;padding-top:1px;}
.kx-feed .kx-msg{flex:1;font-size:14px;line-height:1.65;color:var(--ink);}
.kx-feed .kx-msg a{color:inherit;transition:color .2s;}
.kx-feed .kx-msg a:hover{color:var(--gold-600);}
.kx-feed .kx-tag{font-style:normal;color:var(--red-500);font-weight:700;margin-right:6px;font-size:13px;}
.kx-feed .kx-item.kx-new{animation:kxflash 2.4s ease;}
@keyframes kxflash{0%{background:rgba(214,69,69,.16);}100%{background:transparent;}}
.kx-more{display:block;width:100%;margin-top:14px;padding:12px;border-radius:10px;background:var(--bg);color:var(--muted);font-size:14px;font-weight:600;cursor:pointer;transition:var(--t-trans);border:1px dashed var(--line);}
.kx-more:hover{background:rgba(201,168,106,.12);color:var(--gold-600);border-color:var(--gold-500);}
.kx-idx{padding:6px 0;}
.kx-loading,.kx-empty{padding:36px 10px;text-align:center;color:var(--muted);font-size:14px;}

/* 首页快讯面板适配新条目 */
.kx-home-panel .kx-item{display:flex;gap:10px;padding:9px 12px;border-top:1px dashed var(--line);border-radius:8px;}
.kx-home-panel .kx-item:first-child{border-top:0;}
.kx-home-panel .kx-time{width:58px;font-size:12px;padding-top:1px;}
.kx-home-panel .kx-msg{font-size:13px;}
.kx-home-panel .kx-tag{display:none;}

@media (max-width:991px){
  .kx-layout{grid-template-columns:1fr;}
  .kx-side{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
}
@media (max-width:767px){
  .kx-title-bar h1{font-size:24px;}
  .kx-clockbox .kx-time{font-size:22px;}
  .kx-livebox{padding:4px 14px 14px;}
  .kx-feed .kx-item{padding:11px 2px;}
  .kx-feed .kx-time{width:64px;font-size:12px;}
  .kx-side{grid-template-columns:1fr;}
}

.kx-source{font-size:12px;color:var(--muted);white-space:nowrap;}
.kx-feed .kx-text{color:inherit;cursor:default;}
.kx-home-panel .kx-text{font-size:13px;}

.kx-all-label{font-size:13px;font-weight:700;color:var(--navy-800);letter-spacing:1px;display:inline-flex;align-items:center;gap:8px;}
.kx-all-label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red-500);animation:pulse 1.4s infinite;}

/* ============ v6：美股行情 + 个股详情 ============ */
.us-indices{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px;}
.us-idx{background:linear-gradient(135deg,var(--navy-800),var(--navy-600));border-radius:16px;padding:18px 22px;color:#fff;box-shadow:var(--shadow-md);transition:var(--t-trans);}
.us-idx:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);}
.us-idx-name{font-size:13px;color:rgba(255,255,255,.7);}
.us-idx-val{font-size:30px;font-weight:800;margin:6px 0 2px;font-variant-numeric:tabular-nums;letter-spacing:.5px;}
.us-idx-chg{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;}
.us-idx-chg.up{color:#FF8A8A;}
.us-idx-chg.down{color:#5EDBA8;}
.us-table-wrap{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:16px 20px 20px;overflow:hidden;overflow-x:auto;}
.us-toolbar{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.us-search{flex:1;max-width:420px;}
.us-search input{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 14px;font-size:14px;transition:var(--t-trans);}
.us-search input:focus{border-color:var(--gold-500);background:#fff;}
.us-count{font-size:13px;color:var(--muted);white-space:nowrap;}
.us-table{min-width:860px;}
.us-table .t-name a{font-weight:700;}
.us-detail{display:inline-block;font-size:12px;font-weight:700;color:var(--gold-600);background:rgba(201,168,106,.12);padding:4px 12px;border-radius:999px;transition:var(--t-trans);white-space:nowrap;}
.us-detail:hover{background:var(--gold-500);color:#0B1F3A;}

/* 个股详情 */
.stock-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:26px;align-items:start;}
.stock-main{min-width:0;}
.stock-quote{background:linear-gradient(135deg,var(--navy-800),var(--navy-700));border-radius:18px;padding:26px 28px;color:#fff;box-shadow:var(--shadow-lg);}
.sq-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:18px;}
.sq-head h1{font-size:26px;font-weight:800;color:#fff;}
.sq-head .sq-code{font-size:16px;color:var(--gold-400);font-weight:700;}
.sq-sector{font-size:13px;color:rgba(255,255,255,.6);margin-top:4px;}
.sq-price-row{display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;margin-bottom:20px;}
.sq-price{font-size:46px;font-weight:800;font-variant-numeric:tabular-nums;letter-spacing:1px;line-height:1;}
.sq-price.up{color:#FF8A8A;}
.sq-price.down{color:#5EDBA8;}
.sq-chg{display:flex;flex-direction:column;gap:2px;padding-bottom:4px;}
.sq-change{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;}
.sq-pct{font-size:14px;font-weight:700;font-variant-numeric:tabular-nums;}
.sq-change.up,.sq-pct.up{color:#FF8A8A;}
.sq-change.down,.sq-pct.down{color:#5EDBA8;}
.sq-updated{margin-left:auto;font-size:12px;color:rgba(255,255,255,.5);padding-bottom:6px;}
.sq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;}
.sq-cell{background:rgba(11,31,58,.55);padding:12px 14px;}
.sq-cell span{display:block;font-size:12px;color:rgba(255,255,255,.55);margin-bottom:4px;}
.sq-cell b{font-size:15px;font-weight:700;font-variant-numeric:tabular-nums;}
.sq-note{font-size:12px;color:rgba(255,255,255,.45);margin-top:14px;display:flex;align-items:center;gap:8px;}
.sq-note .dot{width:7px;height:7px;border-radius:50%;background:var(--red-500);animation:pulse 1.6s infinite;}
.stock-intro,.stock-profile{background:var(--surface);border-radius:16px;box-shadow:var(--shadow-sm);padding:24px 26px;margin-top:22px;}
.intro-text{font-size:15px;line-height:2;color:#2A3442;}
.stock-profile .market-table td:first-child{width:140px;color:var(--muted);font-weight:600;background:var(--bg);}
.rel-stocks .hq-item{cursor:pointer;}
.rel-stocks .hq-item a{display:flex;width:100%;align-items:center;gap:8px;color:inherit;}
.rel-stocks .hq-item .hq-name{flex:1;}
@media (max-width:991px){
  .us-indices{grid-template-columns:1fr;}
  .stock-layout{grid-template-columns:1fr;}
  .sq-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:767px){
  .sq-price{font-size:36px;}
  .stock-quote{padding:20px 18px;}
  .sq-head h1{font-size:21px;}
}

.us-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.us-filter .kx-tab{padding:6px 14px;font-size:12.5px;}

/* A股榜单 */
.a-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.a-sorts{display:flex;gap:8px;}
.a-search{flex:1;min-width:200px;max-width:360px;}
.a-search input{width:100%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;border-radius:10px;padding:9px 14px;font-size:13px;transition:var(--t-trans);}
.a-search input::placeholder{color:rgba(255,255,255,.4);}
.a-search input:focus{border-color:var(--gold-500);background:rgba(255,255,255,.12);}
.a-count{color:rgba(255,255,255,.6);font-size:12px;white-space:nowrap;}
.a-sector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.a-table-wrap{background:var(--surface);border-radius:14px;overflow:hidden;overflow-x:auto;}
.a-table{min-width:980px;}
.a-table .t-ind{color:var(--muted);font-size:12px;white-space:nowrap;}
.a-rank{display:inline-flex;min-width:26px;height:26px;border-radius:7px;background:var(--bg);color:var(--muted);align-items:center;justify-content:center;font-weight:800;font-size:13px;}
.a-rank.top{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:#fff;}

/* 资金流向 */
.fflow-bars{display:flex;flex-direction:column;gap:12px;}
.fflow-row{display:flex;align-items:center;gap:12px;}
.fl-name{width:84px;font-size:13px;color:var(--muted);flex-shrink:0;}
.fl-bar{flex:1;height:10px;background:var(--bg);border-radius:5px;overflow:hidden;min-width:60px;}
.fl-bar i{display:block;height:100%;border-radius:5px;}
.fl-bar i.in{background:linear-gradient(90deg,#E45A5A,var(--red-500));}
.fl-bar i.out{background:linear-gradient(90deg,#4CAF8B,var(--green-500));}
.fl-val{width:92px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;}
.fl-val.in{color:var(--red-500);}
.fl-val.out{color:var(--green-500);}
.fl-pct{width:64px;text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;}
.fflow-note{font-size:12px;color:var(--muted);margin-top:12px;}
.fhist{display:flex;align-items:flex-end;gap:10px;height:150px;padding:8px 0;}
.fhist-col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:100%;}
.fhist-bar{width:100%;max-width:34px;border-radius:4px 4px 0 0;transition:var(--t-trans);}
.fhist-bar.in{background:linear-gradient(180deg,#E45A5A,var(--red-500));}
.fhist-bar.out{background:linear-gradient(180deg,#4CAF8B,var(--green-500));}
.fhist-bar:hover{opacity:.85;}
.fhist-date{font-size:11px;color:var(--muted);}

/* K线 */
.kline-tabs{display:flex;gap:8px;margin-bottom:14px;}
.kline-chart{overflow-x:auto;background:var(--bg);border-radius:10px;padding:12px;}
.kline-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.kline-lbl{font-size:13px;font-weight:700;color:var(--navy-800);}
.kline-tip{font-size:12px;color:var(--muted);}

/* 侧栏 mini 排名 */
.mini-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);}
.mini-item:last-child{border-bottom:0;}
.mini-num{width:22px;height:22px;border-radius:6px;background:var(--bg);color:var(--muted);font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.mini-item:nth-child(-n+3) .mini-num{background:linear-gradient(135deg,var(--gold-400),var(--gold-600));color:#fff;}
.mini-name{flex:1;font-size:13px;color:var(--ink);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s;min-width:0;}
.mini-name:hover{color:var(--gold-600);}
.mini-val{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;}
.mini-val.up{color:var(--red-500);}
.mini-val.down{color:var(--green-500);}
@media (max-width:991px){
  .list-layout{grid-template-columns:1fr !important;}
  .list-layout .sidebar{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:0 !important;}
}
@media (max-width:767px){
  .list-layout .sidebar{grid-template-columns:1fr;}
}

/* 侧栏快讯 */
.mini-kx-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px dashed var(--line);}
.mini-kx-item:last-child{border-bottom:0;}
.mini-kx-time{font-size:12px;font-weight:700;color:var(--gold-600);font-variant-numeric:tabular-nums;flex-shrink:0;width:44px;padding-top:1px;}
.mini-kx-text{font-size:13px;line-height:1.55;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0;}
.mini-kx-text .kx-tag{color:var(--red-500);font-weight:700;margin-right:4px;font-size:12px;}

/* 首页基金行情 */
.hq-more{margin-left:auto;font-size:12px;color:var(--gold-300);}
.fund-quotes{display:flex;flex-direction:column;gap:8px;}
.fq-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed rgba(255,255,255,.12);transition:var(--t-trans);}
.fq-item:last-child{border-bottom:0;}
.fq-item:hover{padding-left:6px;}
.fq-name{flex:1;font-size:13px;color:rgba(255,255,255,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fq-nav{font-weight:800;font-variant-numeric:tabular-nums;font-size:14px;}
.fq-chg{font-size:12px;font-weight:700;font-variant-numeric:tabular-nums;min-width:56px;text-align:right;}
.fq-chg.up{color:#FF8A8A;}
.fq-chg.down{color:#5EDBA8;}

/* 定投计算器 */
.calc-box{background:var(--bg);border-radius:12px;padding:18px;}
.calc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px;}
.calc-row label{font-size:13px;color:var(--muted);}
.calc-row input{width:110px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:14px;font-variant-numeric:tabular-nums;}
.calc-row input:focus{border-color:var(--gold-500);}
.calc-result{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.calc-item{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;text-align:center;}
.calc-item span{display:block;font-size:12px;color:var(--muted);margin-bottom:6px;}
.calc-item b{font-size:17px;font-weight:800;font-variant-numeric:tabular-nums;}
.calc-item b.up{color:var(--red-500);}
.calc-item b.down{color:var(--green-500);}
@media (max-width:767px){.calc-result{grid-template-columns:1fr 1fr;}.calc-row input{width:90px;}}

/* 基金页搜索框醒目 */
#fund-search{background:#fff 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='%23C9A86A' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 12px center no-repeat;border:2px solid var(--gold-500);border-radius:10px;padding:10px 14px 10px 38px;font-size:14px;box-shadow:0 2px 12px rgba(201,168,106,.3);transition:var(--t-trans);}
#fund-search:focus{border-color:var(--gold-600);box-shadow:0 0 0 3px rgba(201,168,106,.22);}
#fund-search::placeholder{color:#9aa4b2;}
#coin-search{background:#fff 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='%23C9A86A' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") 12px center no-repeat;border:2px solid var(--gold-500);border-radius:10px;padding:10px 14px 10px 38px;font-size:14px;box-shadow:0 2px 12px rgba(201,168,106,.3);transition:var(--t-trans);}
#coin-search:focus{border-color:var(--gold-600);box-shadow:0 0 0 3px rgba(201,168,106,.22);}

/* 持仓/经理/历史净值 */
.hold-list{display:flex;flex-direction:column;}
.hold-row{display:flex;align-items:center;gap:12px;padding:9px 12px;border-bottom:1px dashed var(--line);font-size:14px;}
.hold-row:last-child{border-bottom:0;}
.hold-head{background:var(--bg);font-weight:700;color:var(--navy-800);border-radius:8px;border-bottom:0;font-size:13px;}
.hold-n{width:36px;color:var(--muted);flex-shrink:0;}
.hold-name{flex:1;min-width:0;}
.hold-name em{font-style:normal;color:var(--muted);font-size:12px;margin-left:4px;}
.hold-pct{width:90px;text-align:right;font-weight:700;color:var(--gold-600);flex-shrink:0;font-variant-numeric:tabular-nums;}
.mgr-box{padding:14px 16px;background:var(--bg);border-radius:10px;}
.mgr-name{font-size:17px;font-weight:800;color:var(--navy-800);}

/* 基金搜索下拉 */
.fund-search-wrap{position:relative;}
.fund-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:80;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);max-height:360px;overflow-y:auto;display:none;}
.fs-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);transition:var(--t-trans);}
.fs-item:last-child{border-bottom:0;}
.fs-item:hover{background:rgba(201,168,106,.08);}
.fs-code{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;flex-shrink:0;width:58px;}
.fs-name{flex:1;font-size:13px;color:var(--ink);min-width:0;}
.fs-name em{display:block;font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.fs-nav{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0;}
.fs-empty{padding:16px;text-align:center;font-size:13px;color:var(--muted);}

/* 顶栏主题切换 */
.theme-toggle{display:inline-flex;align-items:center;gap:5px;color:rgba(255,255,255,.85);font-size:13px;cursor:pointer;padding:4px 12px;border-radius:999px;background:rgba(255,255,255,.08);transition:var(--t-trans);}
.theme-toggle:hover{background:var(--gold-500);color:#0B1F3A;}

/* 币种卡片 */
.coin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.coin-card{background:var(--surface);border-radius:14px;box-shadow:var(--shadow-sm);padding:16px 18px;position:relative;transition:var(--t-trans);display:flex;flex-direction:column;gap:6px;}
.coin-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--gold-500);}
.cc-head{display:flex;align-items:baseline;gap:8px;}
.cc-sym{font-size:15px;font-weight:800;color:var(--navy-800);}
.cc-name{font-size:12px;color:var(--muted);}
.cc-price{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink);}
.cc-chg{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums;}
.cc-chg.up{color:var(--red-500);}
.cc-chg.down{color:var(--green-500);}
.cc-meta{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;}
.cc-go{font-size:12px;color:var(--gold-600);font-weight:700;opacity:0;transform:translateX(-4px);transition:var(--t-trans);}
.coin-card:hover .cc-go{opacity:1;transform:translateX(0);}
@media (max-width:1199px){.coin-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:767px){.coin-grid{grid-template-columns:1fr 1fr;gap:10px;}.cc-price{font-size:18px;}}
@media (max-width:420px){.coin-grid{grid-template-columns:1fr;}}

/* 币种24h涨幅榜条 */
.coin-gainers-strip{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface);border-radius:12px;box-shadow:var(--shadow-sm);padding:10px 14px;margin-bottom:14px;}
.gstrip-label{font-size:13px;font-weight:800;color:var(--navy-800);margin-right:6px;white-space:nowrap;}
.gstrip-item{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:var(--bg);font-size:12px;transition:var(--t-trans);}
.gstrip-item:hover{background:rgba(201,168,106,.15);}
.gstrip-sym{font-weight:700;color:var(--ink);}
.gstrip-pct{font-weight:700;font-variant-numeric:tabular-nums;}
.gstrip-pct.up{color:var(--red-500);}
.gstrip-pct.down{color:var(--green-500);}
