﻿*{margin:0;padding:0;box-sizing:border-box}
body{font-family:"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:#0a0e17;color:#e8edf5;min-height:100vh;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(245,197,24,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(245,197,24,.03) 1px,transparent 1px);background-size:40px 40px;z-index:0}
header{position:sticky;top:0;z-index:100;background:rgba(10,14,23,.92);backdrop-filter:blur(20px);border-bottom:1px solid #1e2d4a;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;transform:translateZ(0);will-change:transform}
.brand{display:flex;align-items:center;gap:10px}
.brand-icon{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,#f5c518,#d4a017);display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 20px rgba(245,197,24,.3)}
.brand-text{color:#f5c518;font-size:20px;font-weight:700}
.brand-sub{font-size:11px;color:#8899bb;margin-left:8px}
.hdr-right{display:flex;align-items:center;gap:20px}
.live-dot{display:flex;align-items:center;gap:6px;font-size:12px;color:#00e676}
.live-dot span{width:8px;height:8px;border-radius:50%;background:#00e676;box-shadow:0 0 8px #00e676;animation:b 1.5s infinite}
@keyframes b{0%,100%{opacity:1}50%{opacity:.4}}
.clock{font-size:13px;color:#8899bb;font-variant-numeric:tabular-nums;font-family:"Courier New",monospace}
.container{max-width:1500px;margin:0 auto;padding:20px 16px;position:relative;z-index:1}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
.card{background:#111827;border:1px solid #1e2d4a;border-radius:16px;padding:20px;position:relative;overflow:hidden;transition:transform .2s,box-shadow .3s}
.card:hover{transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.3)}
.card::after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#f5c518,transparent);opacity:.5}
.card.up::after{background:linear-gradient(90deg,transparent,#00e676,transparent);opacity:1}
.card.down::after{background:linear-gradient(90deg,transparent,#ff5252,transparent);opacity:1}
.ch{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.cn{font-size:13px;font-weight:600;color:#8899bb}
.cc{font-size:11px;color:#8899bb;opacity:.5;margin-top:2px}
.bdg{font-size:10px;padding:3px 10px;border-radius:20px;font-weight:600}
.bdg-g{background:rgba(245,197,24,.15);color:#f5c518}
.bdg-i{background:rgba(100,181,246,.15);color:#64b5f6}
.bdg-z{background:rgba(206,147,216,.15);color:#ce93d8}
.pm{font-size:28px;font-weight:800;font-variant-numeric:tabular-nums;margin-bottom:4px;letter-spacing:-0.5px}
.pu{font-size:12px;color:#8899bb;margin-bottom:12px}
.pc{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.cv,.cp{font-size:13px;font-weight:700;padding:3px 10px;border-radius:6px}
.up .cv,.up .cp{background:rgba(0,230,118,.15);color:#00e676}
.down .cv,.down .cp{background:rgba(255,82,82,.15);color:#ff5252}
.trend{width:100%;height:44px;border-radius:8px;overflow:hidden;background:#1a2235}
.trend canvas{width:100%;height:100%}

/* K线图区域 */
.chart-sec{background:#111827;border:1px solid #1e2d4a;border-radius:16px;padding:22px;margin-bottom:20px;overflow:hidden}
.khdr{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:18px;flex-wrap:wrap;gap:12px}
.kname{font-size:18px;font-weight:700;color:#e8edf5;letter-spacing:-0.3px}
.kmeta{font-size:11px;color:#8899bb;margin-top:3px}
.kprice-block{text-align:right}
.kprice{font-size:30px;font-weight:800;color:#fff;letter-spacing:-1px;font-variant-numeric:tabular-nums;line-height:1}
.kunit{font-size:11px;color:#8899bb;margin-top:2px}
.kchange{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;margin-top:5px}
.kchange.up{background:rgba(255,107,0,.08);color:#FF6B00;border:1px solid rgba(255,107,0,.15)}
.kchange.down{background:rgba(0,191,165,.08);color:#00BFA5;border:1px solid rgba(0,191,165,.15)}
.ohlc-bar{display:flex;background:#0d1520;border-radius:8px;overflow:hidden;margin-bottom:14px;border:1px solid #1e2d4a}
.ohlc-item{flex:1;padding:7px 10px;text-align:center;border-right:1px solid #1e2d4a}
.ohlc-item:last-child{border-right:none}
.ohlc-lbl{font-size:10px;color:#555;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.ohlc-val{font-size:13px;font-weight:700;color:#c8ccd5;font-variant-numeric:tabular-nums}
.kctrl{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap;align-items:center}
.ktabs{display:flex;gap:3px;background:#0d1520;padding:3px;border-radius:8px}
.ktab{padding:5px 13px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;color:#8899bb;transition:all .2s;border:none;background:none}
.ktab.active{background:#FF6B00;color:#fff;font-weight:600}
.ktab:hover:not(.active){color:#e8edf5;background:rgba(255,255,255,.05)}
.ksym-tabs{display:flex;gap:6px;flex-wrap:wrap}
.ksym{font-size:11px;padding:5px 13px;border-radius:8px;border:1.5px solid #1e2d4a;background:none;color:#8899bb;cursor:pointer;font-weight:700;transition:all .2s}
.ksym.active{border-color:#FF6B00;color:#FF6B00;background:rgba(255,107,0,.06)}
.ksym:hover:not(.active){border-color:#3a4a6a;color:#c8ccd5;background:rgba(255,255,255,.03)}
.klive-tag{display:flex;align-items:center;gap:5px;font-size:11px;color:#FF6B00;background:rgba(255,107,0,.06);padding:4px 10px;border-radius:20px;font-weight:600;border:1px solid rgba(255,107,0,.15);margin-left:auto}
.kcanvas-wrap{position:relative;background:#fff;border-radius:10px;overflow:hidden}
#kcanvas{display:block;width:100%;cursor:crosshair}
.kloading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.85);font-size:13px;color:#999;border-radius:10px;pointer-events:none;opacity:0;transition:opacity .3s}
.kloading.show{opacity:1}

.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.panel{background:#111827;border:1px solid #1e2d4a;border-radius:16px;padding:20px}
.panel-title{font-size:14px;font-weight:700;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.sig-list{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}
.si{display:flex;align-items:flex-start;gap:12px;padding:10px 14px;border-radius:10px;background:#1a2235;font-size:12px;border-left:3px solid transparent}
.si.buy{border-left-color:#00e676;background:rgba(0,230,118,.05)}
.si.sell{border-left-color:#ff5252;background:rgba(255,82,82,.05)}
.si.alert{border-left-color:#f5c518;background:rgba(245,197,24,.05)}
.si.whale{border-left-color:#ce93d8;background:rgba(206,147,216,.05)}
.si.info{border-left-color:#448aff;background:rgba(68,138,255,.05)}
.si-icon{font-size:22px;flex-shrink:0;line-height:1}
.si-body{flex:1}
.si-title{font-weight:700;margin-bottom:2px}
.si-desc{color:#8899bb;font-size:11px;line-height:1.4}
.si-time{font-size:10px;color:#8899bb;flex-shrink:0;font-variant-numeric:tabular-nums}
.wc{padding:12px;border-radius:10px;background:#1a2235;margin-bottom:10px;border:1px solid #1e2d4a}
.wh{display:flex;justify-content:space-between;margin-bottom:8px}
.wn{font-size:12px;font-weight:700}
.wt{font-size:10px;color:#8899bb}
.wbw{background:#0a0e17;border-radius:6px;height:8px;overflow:hidden;margin-bottom:6px}
.wb{height:100%;border-radius:6px;transition:width .8s ease}
.wl{display:flex;justify-content:space-between;font-size:10px;color:#8899bb}
.wscore{font-weight:700;color:#f5c518}
.wabox{font-size:12px;padding:10px 14px;border-radius:10px;display:flex;align-items:center;gap:8px;margin-top:4px;border:1px solid transparent;transition:all .3s}
.wabox.danger{background:rgba(245,197,24,.1);color:#f5c518;border-color:rgba(245,197,24,.3)}
.wabox.safe{background:#1a2235;color:#8899bb;border-color:#1e2d4a}
.alert-sec{background:#111827;border:1px solid #1e2d4a;border-radius:16px;padding:20px}
.arow{display:flex;align-items:center;gap:10px;margin-bottom:12px;flex-wrap:wrap}
.albl{font-size:12px;color:#8899bb;min-width:50px}
.aip{background:#1a2235;border:1px solid #1e2d4a;color:#e8edf5;padding:8px 14px;border-radius:8px;font-size:13px;width:140px;outline:none;transition:border-color .2s}
.aip:focus{border-color:#f5c518}
.abtn{padding:8px 18px;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;border:none;transition:all .2s}
.abtn-s{background:#f5c518;color:#000}
.abtn-s:hover{background:#d4a017}
.abtn-c{background:#243047;color:#8899bb}
.abtn-c:hover{background:#1a2235}
.aactive{display:flex;align-items:center;gap:8px;font-size:12px;color:#f5c518;padding:10px 14px;border-radius:10px;background:rgba(245,197,24,.08);border:1px solid rgba(245,197,24,.2);margin-bottom:10px}
.aactive.hidden{display:none}
.ahist{max-height:100px;overflow-y:auto}
.alog{display:flex;justify-content:space-between;font-size:11px;padding:5px 0;border-bottom:1px solid #1e2d4a;color:#8899bb}
.alog:last-child{border-bottom:none}
.trig{color:#f5c518;font-weight:700}
.sbar{text-align:center;padding:14px;font-size:11px;color:#8899bb;opacity:.5}
.mkt-status{font-size:11px;font-weight:600;text-align:center;padding:4px 10px;border-radius:12px;margin:8px 0 4px;transition:all .3s}
.mkt-status.trading{background:rgba(0,230,118,.15);color:#00e676}
.mkt-status.closed{background:rgba(136,153,187,.15);color:#8899bb}
.mkt-status.night{background:rgba(245,197,24,.15);color:#f5c518}

/* 舆情卡片区域 */
.sentiment-sec{background:#111827;border:1px solid #1e2d4a;border-radius:16px;padding:22px;margin-bottom:20px}
.sent-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.sent-title{font-size:16px;font-weight:700;display:flex;align-items:center;gap:8px}
.sent-refresh{font-size:11px;color:#8899bb;cursor:pointer;padding:4px 10px;border-radius:20px;background:rgba(255,255,255,.05);transition:all .2s}
.sent-refresh:hover{background:rgba(255,255,255,.1);color:#e8edf5}
.sent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.sent-card{background:#1a2235;border:1px solid #1e2d4a;border-radius:12px;padding:0;cursor:pointer;transition:all .3s;text-decoration:none;display:block;color:inherit;overflow:hidden}
.sent-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.3);border-color:#3a4a6a}
.sent-card.positive{border-left:3px solid #00e676}
.sent-card.negative{border-left:3px solid #ff5252}
.sent-card.neutral{border-left:3px solid #8899bb}
.sent-cover{width:100%;height:120px;background:#2a344a;position:relative;overflow:hidden}
.sent-cover-img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.sent-card:hover .sent-cover-img{transform:scale(1.05)}
.sent-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2a344a,#1e2d4a)}.sent-card.no-cover .sent-cover-placeholder{background:linear-gradient(135deg,rgba(245,197,24,.1),rgba(245,197,24,.05))}
.sent-cover-icon{font-size:48px;opacity:.3}
.sent-content{padding:12px}
.sent-source{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.sent-source-icon{width:16px;height:16px;border-radius:4px;background:#2a344a;display:flex;align-items:center;justify-content:center;font-size:10px}
.sent-source-name{font-size:11px;color:#8899bb}
.sent-title-text{font-size:13px;font-weight:600;color:#e8edf5;margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sent-meta{display:flex;align-items:center;gap:12px;font-size:10px;color:#666}
.sent-time{color:#8899bb}
.sent-score{font-weight:700}
.sent-score.positive{color:#00e676}
.sent-score.negative{color:#ff5252}
.sent-score.neutral{color:#8899bb}
.sent-loading{text-align:center;padding:30px;color:#8899bb;font-size:13px}
.sent-empty{text-align:center;padding:40px;color:#8899bb;font-size:13px}
.toast-c{position:fixed;top:80px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{background:#1a2235;border:1px solid #f5c518;border-radius:12px;padding:12px 18px;font-size:13px;color:#f5c518;font-weight:600;box-shadow:0 8px 24px rgba(0,0,0,.5);animation:sli .3s ease;max-width:300px}
.toast.g{border-color:#00e676;color:#00e676}
.toast.r{border-color:#ff5252;color:#ff5252}
@keyframes sli{from{transform:translateX(110%);opacity:0}to{transform:translateX(0);opacity:1}}
@keyframes fu{0%,100%{background:#111827}50%{background:rgba(0,230,118,.15)}}
@keyframes fd{0%,100%{background:#111827}50%{background:rgba(255,82,82,.15)}}
.fu{animation:fu .5s}
.fd{animation:fd .5s}
/* ─── 导航 Tab ─── */
.nav-tabs{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.04);padding:4px;border-radius:12px;border:1px solid #1e2d4a}
.nav-tab{padding:7px 20px;border-radius:9px;font-size:13px;font-weight:700;cursor:pointer;color:#8899bb;transition:all .25s;border:none;background:none;letter-spacing:.02em}
.nav-tab.active{background:linear-gradient(135deg,#f5c518,#d4a017);color:#000;box-shadow:0 2px 12px rgba(245,197,24,.35)}
.nav-tab:hover:not(.active){color:#e8edf5;background:rgba(255,255,255,.06)}

/* ─── 页面切换（无重排方案）─── */
/* 用 visibility+absolute 代替 display:none，避免切换时触发整页 reflow */
.page{
  visibility:hidden;
  position:absolute;
  top:-9999px;
  left:0;
  right:0;
  pointer-events:none;
  contain:layout style;
  will-change:visibility;
}
.page.active{
  visibility:visible;
  position:relative;
  top:auto;
  pointer-events:auto;
}

/* ─── 热搜页面 ─── */
.hs-container{max-width:1500px;margin:0 auto;padding:20px 16px;position:relative;z-index:1}
.hs-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.hs-title{font-size:18px;font-weight:700;color:#e8edf5;display:flex;align-items:center;gap:8px}
.hs-refresh-btn{display:flex;align-items:center;gap:6px;padding:7px 16px;border-radius:10px;font-size:12px;font-weight:700;cursor:pointer;border:1px solid #1e2d4a;background:#111827;color:#8899bb;transition:all .2s}
.hs-refresh-btn:hover{border-color:#f5c518;color:#f5c518}
.hs-refresh-btn.loading{color:#f5c518;border-color:rgba(245,197,24,.4)}
.hs-last-update{font-size:11px;color:#8899bb}
.hs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1200px){.hs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.hs-grid{grid-template-columns:1fr}.nav-tabs .nav-tab{padding:6px 12px;font-size:11px}}

/* ─── 热搜卡片 ─── */
.hs-card{background:#111827;border:1px solid #1e2d4a;border-radius:16px;overflow:hidden;transition:box-shadow .2s}
.hs-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.4)}
.hs-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #1e2d4a}
.hs-platform{display:flex;align-items:center;gap:8px}
.hs-platform-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.hs-platform-name{font-size:14px;font-weight:700;color:#e8edf5}
.hs-update-time{font-size:10px;color:#556}
.hs-list{padding:6px 0;max-height:500px;overflow-y:auto}
.hs-item{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;transition:background .15s;text-decoration:none;color:inherit}
.hs-item:hover{background:rgba(255,255,255,.04)}
.hs-rank{width:20px;text-align:center;font-size:12px;font-weight:800;flex-shrink:0;font-variant-numeric:tabular-nums}
.hs-rank.r1{color:#f5c518;font-size:14px}
.hs-rank.r2{color:#c0c0c0;font-size:13px}
.hs-rank.r3{color:#cd7f32;font-size:13px}
.hs-rank.r4,.hs-rank.r5,.hs-rank.r6,.hs-rank.r7,.hs-rank.r8,.hs-rank.r9,.hs-rank.r10{color:#445;font-size:11px}
.hs-rank.rn{color:#334;font-size:10px}
.hs-info{flex:1;min-width:0}
.hs-item-title{font-size:13px;color:#c8ccd5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4}
.hs-item:hover .hs-item-title{color:#e8edf5}
.hs-hot{display:flex;align-items:center;gap:6px;flex-shrink:0}
.hs-badge{font-size:9px;padding:1px 5px;border-radius:4px;font-weight:700;flex-shrink:0}
.hs-badge.hot{background:rgba(255,82,82,.15);color:#ff5252;border:1px solid rgba(255,82,82,.2)}
.hs-badge.new{background:rgba(0,230,118,.12);color:#00e676;border:1px solid rgba(0,230,118,.2)}
.hs-badge.boil{background:rgba(245,197,24,.12);color:#f5c518;border:1px solid rgba(245,197,24,.2)}
.hs-hot-val{font-size:10px;color:#445;font-variant-numeric:tabular-nums}
.hs-card-footer{padding:8px 14px;border-top:1px solid #0d1520;text-align:center}
.hs-view-all{font-size:11px;color:#8899bb;cursor:pointer;transition:color .2s}
.hs-view-all:hover{color:#f5c518}
.hs-loading{display:flex;align-items:center;justify-content:center;padding:40px 0;flex-direction:column;gap:10px}
.hs-spinner{width:24px;height:24px;border:2px solid #1e2d4a;border-top-color:#f5c518;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.hs-loading-text{font-size:12px;color:#556}
.hs-error{display:flex;align-items:center;justify-content:center;padding:30px 14px;font-size:12px;color:#445;flex-direction:column;gap:6px}
.hs-card-header-bar{height:3px;width:100%}

/* ─── 全球电影榜 ─── */
.mv-container{max-width:1500px;margin:0 auto;padding:20px 16px;position:relative;z-index:1}
.mv-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.mv-title{font-size:18px;font-weight:700;color:#e8edf5;display:flex;align-items:center;gap:8px}
.mv-title-sub{font-size:11px;color:#8899bb;font-weight:400;margin-left:4px}
.mv-last-update{font-size:11px;color:#8899bb}
.mv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:1200px){.mv-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mv-grid{grid-template-columns:1fr}}

/* 电影榜卡片 */
.mv-card{background:#111827;border:1px solid #1e2d4a;border-radius:16px;overflow:hidden;transition:box-shadow .2s}
.mv-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.4)}
.mv-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #1e2d4a}
.mv-source{display:flex;align-items:center;gap:8px}
.mv-source-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.mv-source-name{font-size:14px;font-weight:700;color:#e8edf5}
.mv-source-tag{font-size:9px;padding:2px 6px;border-radius:4px;font-weight:700;background:rgba(245,197,24,.12);color:#f5c518;border:1px solid rgba(245,197,24,.2);margin-left:4px}
.mv-source-tag.realtime{background:rgba(0,230,118,.12);color:#00e676;border-color:rgba(0,230,118,.2)}
.mv-update-time{font-size:10px;color:#445}
.mv-list{padding:4px 0;max-height:520px;overflow-y:auto}

/* 电影条目 */
.mv-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;transition:background .15s;text-decoration:none;color:inherit;position:relative}
.mv-item:hover{background:rgba(255,255,255,.04)}
.mv-rank{width:22px;text-align:center;font-size:12px;font-weight:800;flex-shrink:0;font-variant-numeric:tabular-nums}
.mv-rank.r1{color:#f5c518;font-size:15px}
.mv-rank.r2{color:#c0c0c0;font-size:14px}
.mv-rank.r3{color:#cd7f32;font-size:13px}
.mv-rank.rn{color:#334;font-size:11px}

/* 海报缩略图 */
.mv-poster{width:34px;height:48px;border-radius:4px;object-fit:cover;flex-shrink:0;background:#1a2235;border:1px solid #1e2d4a}
.mv-poster-ph{width:34px;height:48px;border-radius:4px;flex-shrink:0;background:#1a2235;border:1px solid #1e2d4a;display:flex;align-items:center;justify-content:center;font-size:16px;color:#334}

.mv-info{flex:1;min-width:0}
.mv-item-title{font-size:13px;color:#c8ccd5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;font-weight:600}
.mv-item:hover .mv-item-title{color:#e8edf5}
.mv-item-sub{font-size:10px;color:#445;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;line-height:1.3}

.mv-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0;min-width:60px}
.mv-boxoffice{font-size:12px;color:#f5c518;font-weight:700;font-variant-numeric:tabular-nums}
.mv-rating{display:flex;align-items:center;gap:3px;font-size:11px;color:#8899bb}
.mv-rating-star{color:#f5c518;font-size:10px}
.mv-rating-val{font-weight:700;color:#e8edf5}
.mv-trend-up{color:#00e676;font-size:10px}
.mv-trend-down{color:#ff5252;font-size:10px}
.mv-trend-new{color:#f5c518;font-size:9px;background:rgba(245,197,24,.12);padding:1px 4px;border-radius:3px;border:1px solid rgba(245,197,24,.2)}

/* 票房大盘概览条 */
.mv-overview{padding:10px 14px;border-bottom:1px solid #0d1520;display:flex;gap:16px;flex-wrap:wrap;background:rgba(245,197,24,.03)}
.mv-ov-item{display:flex;flex-direction:column;gap:2px}
.mv-ov-label{font-size:9px;color:#445}
.mv-ov-val{font-size:13px;font-weight:700;color:#f5c518;font-variant-numeric:tabular-nums}

.mv-loading{display:flex;align-items:center;justify-content:center;padding:40px 0;flex-direction:column;gap:10px}
.mv-error{display:flex;align-items:center;justify-content:center;padding:30px 14px;font-size:12px;color:#445;flex-direction:column;gap:6px}

/* ─── 周期资讯页面 ─── */
.ns-container{max-width:1500px;margin:0 auto;padding:20px 16px;position:relative;z-index:1}
.ns-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:10px}
.ns-title{font-size:18px;font-weight:700;color:#e8edf5;display:flex;align-items:center;gap:8px}
.ns-title-sub{font-size:11px;color:#8899bb;font-weight:400;margin-left:4px}
.ns-last-update{font-size:11px;color:#8899bb}
.ns-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
@media(max-width:1400px){.ns-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:1000px){.ns-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ns-grid{grid-template-columns:1fr}}

/* 资讯卡片 */
.ns-card{background:#111827;border:1px solid #1e2d4a;border-radius:16px;overflow:hidden;transition:box-shadow .2s;display:flex;flex-direction:column}
.ns-card:hover{box-shadow:0 8px 32px rgba(0,0,0,.4)}
.ns-card-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 10px;border-bottom:1px solid #1e2d4a}
.ns-source{display:flex;align-items:center;gap:8px}
.ns-source-icon{width:28px;height:28px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.ns-source-name{font-size:14px;font-weight:700;color:#e8edf5}
.ns-source-tag{font-size:9px;padding:2px 6px;border-radius:4px;font-weight:700;background:rgba(245,197,24,.12);color:#f5c518;border:1px solid rgba(245,197,24,.2);margin-left:4px}
.ns-source-tag.daily{background:rgba(0,230,118,.12);color:#00e676;border-color:rgba(0,230,118,.2)}
.ns-source-tag.weekly{background:rgba(100,181,246,.12);color:#64b5f6;border-color:rgba(100,181,246,.2)}
.ns-source-tag.realtime{background:rgba(245,197,24,.12);color:#f5c518;border-color:rgba(245,197,24,.2)}
.ns-update-time{font-size:10px;color:#445}
.ns-content{flex:1;padding:10px 0;max-height:480px;overflow-y:auto}

/* 60秒读懂世界 - 特殊样式 */
.ns-60s-cover{width:100%;height:120px;object-fit:cover;border-bottom:1px solid #1e2d4a;background:#1a2235}
.ns-60s-date{padding:10px 14px;background:rgba(245,197,24,.05);border-bottom:1px solid #1e2d4a}
.ns-60s-date-row{display:flex;align-items:center;justify-content:space-between}
.ns-60s-day{font-size:16px;font-weight:700;color:#f5c518}
.ns-60s-lunar{font-size:11px;color:#8899bb}
.ns-60s-tip{font-size:11px;color:#8899bb;margin-top:4px;font-style:italic}
.ns-60s-list{padding:6px 0}
.ns-60s-item{display:flex;gap:8px;padding:7px 14px;font-size:12px;color:#c8ccd5;line-height:1.5}
.ns-60s-item::before{content:"•";color:#f5c518;flex-shrink:0}
.ns-60s-item:hover{background:rgba(255,255,255,.04)}

/* AI资讯样式 */
.ns-ai-item{display:flex;flex-direction:column;gap:4px;padding:10px 14px;border-bottom:1px solid #0d1520;text-decoration:none;color:inherit}
.ns-ai-item:last-child{border-bottom:none}
.ns-ai-item:hover{background:rgba(255,255,255,.04)}
.ns-ai-title{font-size:12px;font-weight:600;color:#e8edf5;line-height:1.4}
.ns-ai-desc{font-size:11px;color:#8899bb;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ns-ai-meta{display:flex;align-items:center;gap:8px;font-size:10px;color:#445;margin-top:2px}
.ns-ai-source{background:rgba(0,230,118,.1);color:#00e676;padding:1px 5px;border-radius:3px;font-size:9px}

/* 必应壁纸 */
.ns-bing-cover{width:100%;height:160px;object-fit:cover;background:#1a2235}
.ns-bing-info{padding:12px 14px}
.ns-bing-title{font-size:13px;font-weight:700;color:#e8edf5;margin-bottom:4px}
.ns-bing-desc{font-size:11px;color:#8899bb;line-height:1.4}
.ns-bing-copyright{font-size:10px;color:#445;margin-top:8px}

/* 汇率卡片 */
.ns-rate-base{padding:10px 14px;background:rgba(0,230,118,.05);border-bottom:1px solid #1e2d4a;font-size:11px;color:#8899bb}
.ns-rate-base span{color:#00e676;font-weight:700}
.ns-rate-list{padding:4px 0}
.ns-rate-item{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;font-size:12px}
.ns-rate-item:hover{background:rgba(255,255,.04)}
.ns-rate-currency{display:flex;align-items:center;gap:6px;color:#c8ccd5}
.ns-rate-flag{width:18px;height:12px;border-radius:2px;background:#1e2d4a;display:flex;align-items:center;justify-content:center;font-size:10px}
.ns-rate-val{color:#f5c518;font-weight:700;font-variant-numeric:tabular-nums}

/* 历史上的今天 */
.ns-history-date{padding:10px 14px;background:rgba(245,197,24,.05);border-bottom:1px solid #1e2d4a;text-align:center}
.ns-history-date-text{font-size:18px;font-weight:800;color:#f5c518}
.ns-history-list{padding:4px 0}
.ns-history-item{display:flex;gap:10px;padding:8px 14px;text-decoration:none;color:inherit}
.ns-history-item:hover{background:rgba(255,255,255,.04)}
.ns-history-year{width:40px;flex-shrink:0;font-size:12px;font-weight:700;color:#f5c518;font-variant-numeric:tabular-nums}
.ns-history-info{flex:1;min-width:0}
.ns-history-title{font-size:12px;color:#e8edf5;line-height:1.3;margin-bottom:2px}
.ns-history-type{font-size:9px;padding:1px 5px;border-radius:3px;display:inline-block}
.ns-history-type.birth{background:rgba(0,230,118,.1);color:#00e676}
.ns-history-type.death{background:rgba(255,82,82,.1);color:#ff5252}
.ns-history-type.event{background:rgba(100,181,246,.1);color:#64b5f6}

/* Epic游戏 */
.ns-epic-item{display:flex;gap:10px;padding:10px 14px;border-bottom:1px solid #0d1520;text-decoration:none;color:inherit}
.ns-epic-item:last-child{border-bottom:none}
.ns-epic-item:hover{background:rgba(255,255,255,.04)}
.ns-epic-cover{width:60px;height:80px;border-radius:6px;object-fit:cover;background:#1a2235;flex-shrink:0}
.ns-epic-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.ns-epic-title{font-size:13px;font-weight:700;color:#e8edf5;margin-bottom:4px}
.ns-epic-price{font-size:11px;color:#ff5252;text-decoration:line-through}
.ns-epic-free{font-size:12px;color:#00e676;font-weight:700}
.ns-epic-time{font-size:10px;color:#445;margin-top:4px}
.ns-epic-seller{font-size:10px;color:#8899bb;margin-top:2px}

/* IT资讯 */
.ns-it-item{display:flex;flex-direction:column;gap:3px;padding:10px 14px;border-bottom:1px solid #0d1520;text-decoration:none;color:inherit}
.ns-it-item:last-child{border-bottom:none}
.ns-it-item:hover{background:rgba(255,255,255,.04)}
.ns-it-title{font-size:12px;font-weight:600;color:#e8edf5;line-height:1.4}
.ns-it-desc{font-size:11px;color:#8899bb;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ns-it-time{font-size:10px;color:#445;margin-top:2px}

/* 加载/错误 */
.ns-loading{display:flex;align-items:center;justify-content:center;padding:40px 0;flex-direction:column;gap:10px}
.ns-error{display:flex;align-items:center;justify-content:center;padding:30px 14px;font-size:12px;color:#445;flex-direction:column;gap:6px}

@media(max-width:1200px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.cards{grid-template-columns:repeat(2,1fr)}.bottom-grid{grid-template-columns:1fr}.kprice{font-size:24px}.hdr-right{display:none}.pm{font-size:24px}.brand-sub{display:none}.sent-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:500px){.container{padding:12px 10px}.card{padding:14px}.khdr{flex-direction:column}.kprice-block{text-align:left}.aip{width:110px}.sent-grid{grid-template-columns:1fr}.sent-header{flex-direction:column;align-items:flex-start;gap:10px}}
