/* ==========================================================================
   AutoBand R34 · 财经 / 行情 统一界面（替代 R15–R27 的多层覆盖样式）
   结构：1 基础与令牌  2 统一头部（二级导航 + 行情带）  3 通用组件  4 财经首页
         5 悬停卡片  6 文章阅读页  7 行情中心  8 个股终端  9 全站：顶栏 / 返回顶部 / 页脚
   约定：涨跌颜色由脚本按各市场惯例内联写入，这里不写死红绿。
   ========================================================================== */

/* ---------- 1 基础与令牌 ---------- */
.fx-page{--fx-r:14px;--fx-r-sm:10px;--fx-gap:14px;--fx-pad:16px;--fx-w:1560px;--fx-shadow:0 1px 2px rgba(10,28,19,.04),0 10px 28px -22px rgba(10,28,19,.28);--fx-tape:#0a1610;--fx-tape-ink:#eaf3ee;--fx-amber:#d97706;--fx-live:#ef4444;min-height:70vh}
:root[data-theme="dark"] .fx-page{--fx-shadow:0 1px 0 rgba(255,255,255,.02),0 16px 34px -26px #000;--fx-tape:#050b08}
.fx-wrap{max-width:var(--fx-w,1560px);margin:0 auto;padding:0 24px}
.fx-body{padding-top:16px;padding-bottom:8px;display:flex;flex-direction:column;gap:var(--fx-gap)}
.fx-page button,.fx-page input,.fx-page select{font-family:inherit}
.fx-page a{color:inherit}
.fx-page ul,.fx-page ol{list-style:none;margin:0;padding:0}
.fx-page h1,.fx-page h2,.fx-page h3,.fx-page h4,.fx-page h5,.fx-page p{margin:0}
.fn-mono,.mk-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.fn-muted,.mk-muted{color:var(--ink-3)}
.fx-scroll{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent}
.fx-scroll::-webkit-scrollbar{width:8px;height:8px}
.fx-scroll::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:8px;border:2px solid var(--surface)}
.fx-scroll::-webkit-scrollbar-track{background:transparent}
.fx-live{display:inline-block;flex:none;width:7px;height:7px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 60%,transparent);animation:fxPulse 1.8s ease-out infinite}
.fn-live,.mk-live{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--brand);animation:fxPulse 1.8s ease-out infinite}
@keyframes fxPulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brand) 55%,transparent)}70%,100%{box-shadow:0 0 0 7px transparent}}
@keyframes fxTick{0%{background-color:color-mix(in srgb,currentColor 22%,transparent)}100%{background-color:transparent}}
@keyframes fxSpin{to{transform:rotate(360deg)}}
@keyframes fxIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@keyframes fxShimmer{to{background-position:-200% 0}}
.is-tick-up,.is-tick-down{animation:fxTick 1s ease-out;border-radius:6px}

/* ---------- 2 统一头部 ---------- */
.fx-head{position:sticky;top:var(--ab-top-h,64px);z-index:40;background:var(--surface);box-shadow:0 10px 24px -22px rgba(10,28,19,.5)}
.fx-bar{border-bottom:1px solid var(--line)}
.fx-bar-in{display:flex;align-items:center;gap:8px 18px;height:54px}
.fx-brand{display:flex;align-items:center;gap:10px;flex:none;text-decoration:none;min-width:0}
.fx-brand-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--brand-wash);color:var(--brand-ink)}
.fx-brand-mark .ic{width:17px;height:17px}
.fx-brand-t{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.fx-brand-t b{font-size:15px;font-weight:750;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.fx-brand-t small{font:500 11.5px var(--font-mono);color:var(--ink-3);white-space:nowrap}
.fx-tabs{display:flex;align-items:stretch;gap:2px;height:100%;min-width:0;flex:1 1 auto;overflow-x:auto;scrollbar-width:none;margin-left:6px}
.fx-tabs::-webkit-scrollbar{display:none}
.fx-tabs button{position:relative;flex:none;padding:0 10px;border:0;background:none;color:var(--ink-2);font-size:13.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:color .15s}
.fx-tabs button::after{content:"";position:absolute;left:11px;right:11px;bottom:-1px;height:2.5px;border-radius:3px 3px 0 0;background:var(--brand);transform:scaleX(0);transition:transform .2s}
.fx-tabs button:hover{color:var(--ink)}
.fx-tabs button.is-on,.fx-tabs button[aria-selected="true"]{color:var(--brand-ink)}
.fx-tabs button.is-on::after,.fx-tabs button[aria-selected="true"]::after{transform:none}
.fx-tabs button:focus-visible,.fx-icon-btn:focus-visible,.fx-cta:focus-visible,.fx-lang-btn:focus-visible{outline:2px solid var(--brand);outline-offset:-2px;border-radius:8px}
.fx-search{position:relative;display:flex;align-items:center;flex:0 1 220px;min-width:130px;margin-left:auto}
.fx-search>.ic{position:absolute;left:11px;width:15px;height:15px;color:var(--ink-3);pointer-events:none}
.fx-search input{width:100%;height:34px;padding:0 56px 0 32px;border:1px solid var(--line);border-radius:10px;background:var(--sunken);color:var(--ink);font-size:13px;transition:border-color .15s,background .15s,box-shadow .15s}
.fx-search input::placeholder{color:var(--ink-3)}
.fx-search input:focus{outline:none;border-color:var(--brand);background:var(--surface);box-shadow:0 0 0 3px var(--brand-ring)}
.fx-search input::-webkit-search-cancel-button{display:none}
.fx-search kbd{position:absolute;right:8px;padding:1px 6px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:500 11px var(--font-mono);color:var(--ink-3);pointer-events:none}
.fx-search input:focus~kbd{display:none}
.fx-sug{position:absolute;left:0;right:0;top:40px;z-index:60;min-width:300px;max-height:min(420px,60vh);overflow:auto;padding:6px;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);box-shadow:0 24px 50px -24px rgba(10,28,19,.5)}
.fx-sug button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:13px;text-align:left;cursor:pointer}
.fx-sug button:hover,.fx-sug button.is-act{background:var(--sunken)}
.fx-sug button>b{min-width:0;font-weight:600}
.fx-sug small,.fx-sug button>span{flex:none;font-size:11px;color:var(--ink-3)}
.fx-tools{display:flex;align-items:center;gap:6px;flex:none}
.fx-icon-btn,.fx-lang-btn,.fx-cta,.fx-select{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:34px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;transition:border-color .15s,color .15s,background .15s}
.fx-icon-btn{width:34px;padding:0}
.fx-icon-btn .ic,.fx-lang-btn .ic,.fx-cta .ic,.fx-select .ic{width:15px;height:15px}
.fx-icon-btn:hover,.fx-lang-btn:hover,.fx-select:hover{border-color:var(--line-strong);color:var(--ink)}
.fx-icon-btn.is-spin .ic,.fx-icon-btn[aria-busy="true"] .ic{animation:fxSpin .8s linear infinite}
.fx-cta{padding:0 12px;border-color:transparent;background:var(--ink);color:var(--surface)}
.fx-cta:hover{background:color-mix(in srgb,var(--ink) 86%,var(--brand))}
.fx-page .fx-cta{color:var(--surface)}
.fx-select{position:relative;padding:0 8px}
.fx-select select{max-width:118px;border:0;background:none;color:inherit;font-size:12.5px;font-weight:600;cursor:pointer;outline:none}
.fx-lang{position:relative}
.fx-lang-btn{padding:0 9px}
.fx-lang-btn .chev{width:12px;height:12px;opacity:.6;transition:transform .2s}
.fx-lang.is-open .chev{transform:rotate(180deg)}
.fx-lang.is-open .fx-lang-btn{border-color:var(--brand);color:var(--brand-ink)}
.fx-lang-panel{position:absolute;right:0;top:40px;z-index:70;width:300px;padding:12px;border:1px solid var(--line-strong);border-radius:14px;background:var(--surface);box-shadow:0 26px 60px -28px rgba(10,28,19,.6);animation:fxIn .16s ease-out}
.fx-lang-panel>b{display:block;margin-bottom:8px;font-size:12px;color:var(--ink-3);font-weight:650}
.fx-lang-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;max-height:min(330px,52vh);overflow:auto}
.fx-lang-list button{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 9px;border:0;border-radius:8px;background:none;color:var(--ink);font-size:13px;text-align:left;cursor:pointer}
.fx-lang-list button:hover{background:var(--sunken)}
.fx-lang-list button[aria-checked="true"]{background:var(--brand-wash);color:var(--brand-ink);font-weight:700}
.fx-lang-list button[aria-checked="true"]::after{content:"✓";font-weight:800}
.fx-lang-panel>small{display:block;margin-top:10px;padding-top:9px;border-top:1px solid var(--line);font-size:11.5px;line-height:1.55;color:var(--ink-3)}
.fx-sync{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 10px;border-radius:10px;background:var(--sunken);font-size:11px;line-height:1.2}
.fx-sync>i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--brand);animation:fxPulse 1.8s ease-out infinite}
.fx-sync.is-warn>i{background:var(--fx-amber);animation:none}
.fx-sync.is-off>i{background:var(--ink-3);animation:none}
.fx-sync>span{display:flex;flex-direction:column}
.fx-sync b{font-size:11.5px;font-weight:650;color:var(--ink);white-space:nowrap}
.fx-sync small{font:500 11px var(--font-mono);color:var(--ink-3);white-space:nowrap}

/* 行情带：深色底、等宽数字、无缝滚动，悬停暂停 */
.fx-tape{position:relative;display:flex;align-items:stretch;height:38px;background:var(--fx-tape);color:var(--fx-tape-ink);border-bottom:1px solid color-mix(in srgb,var(--brand) 22%,#000)}
.fx-tape-tag{display:flex;align-items:center;gap:7px;flex:none;padding:0 14px 0 max(24px,calc((100vw - var(--fx-w,1560px))/2 + 24px));background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 22%,var(--fx-tape)),var(--fx-tape));z-index:2}
.fx-tape-tag b{font:700 11.5px var(--font-mono);letter-spacing:.12em;color:#9ff2c5}
.fx-tape-view{position:relative;flex:1;min-width:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.fx-tape-track,.mk-ticker-track{display:flex;align-items:stretch;width:max-content;height:100%;animation:fxTape 90s linear infinite;will-change:transform}
.fx-tape:hover .fx-tape-track,.fx-tape:hover .mk-ticker-track,.fx-tape:focus-within .fx-tape-track,.fx-tape:focus-within .mk-ticker-track,.ab-ticker-paused .fx-tape-track,.ab-ticker-paused .mk-ticker-track{animation-play-state:paused}
@keyframes fxTape{to{transform:translateX(-50%)}}
.fx-tk{display:inline-flex;align-items:center;gap:8px;flex:none;height:100%;padding:0 16px;border:0;border-right:1px solid rgba(255,255,255,.08);background:none;color:inherit;font-size:12.5px;white-space:nowrap;cursor:pointer;transition:background .15s}
.fx-tk:hover{background:rgba(255,255,255,.07)}
.fx-tk-n{font-weight:650;max-width:150px;overflow:hidden;text-overflow:ellipsis}
.fx-tk code{font:500 11.5px var(--font-mono);color:rgba(255,255,255,.46)}
.fx-tk b{font:600 13px var(--font-mono);font-variant-numeric:tabular-nums;color:#fff}
.fx-tk em{font:600 12px var(--font-mono);font-style:normal;font-variant-numeric:tabular-nums}
.fx-tk.is-tick-up,.fx-tk.is-tick-down{animation:fxTapeTick 1s ease-out;border-radius:0}
@keyframes fxTapeTick{0%{background:rgba(255,255,255,.2)}100%{background:transparent}}
.fx-tape-meta{display:flex;align-items:center;flex:none;padding:0 10px;font:500 11.5px var(--font-mono);color:rgba(255,255,255,.5)}
.ab-ticker-toggle{flex:none;align-self:center;margin-right:max(24px,calc((100vw - var(--fx-w,1560px))/2 + 24px));height:24px;padding:0 9px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(255,255,255,.06);color:rgba(255,255,255,.78);font-size:11px;cursor:pointer;white-space:nowrap}
.ab-ticker-toggle:hover{background:rgba(255,255,255,.14);color:#fff}
.ab-ticker-toggle[aria-pressed="true"]{border-color:#9ff2c5;color:#9ff2c5}

/* ---------- 3 通用组件 ---------- */
.fn-box,.mk-card{position:relative;min-width:0;padding:var(--fx-pad);border:1px solid var(--line);border-radius:var(--fx-r);background:var(--surface);box-shadow:var(--fx-shadow)}
.fn-box-h{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;margin-bottom:12px;min-height:30px}
.fn-box-h h2{display:flex;align-items:center;gap:9px;min-width:0;font-size:16px;font-weight:750;letter-spacing:-.01em;color:var(--ink)}
.fn-box-h h2>small{font-size:12px;font-weight:500;color:var(--ink-3);letter-spacing:0}
.fn-hi{display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:9px;background:var(--brand-wash);color:var(--brand-ink)}
.fn-hi .ic{width:15px;height:15px}
.fn-hi-radar{background:linear-gradient(135deg,var(--brand),#0ea5a0);color:#fff}
.fn-hi-live{background:color-mix(in srgb,var(--fx-live) 12%,var(--surface));color:var(--fx-live)}
.fn-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:6px;background:var(--brand-wash);color:var(--brand-ink);font-size:11.5px;font-weight:700;letter-spacing:.02em}
.fn-badge:empty{display:none}
.fn-badge-live{background:color-mix(in srgb,var(--fx-live) 12%,var(--surface));color:var(--fx-live)}
.fn-badge-live .fx-live{width:6px;height:6px;background:var(--fx-live);animation-name:fxPulseRed}
@keyframes fxPulseRed{0%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}70%,100%{box-shadow:0 0 0 7px transparent}}
.fn-tabs{display:flex;gap:4px;flex-wrap:wrap}
.fn-tabs button{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 12px;border:1px solid transparent;border-radius:9px;background:none;color:var(--ink-2);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.fn-tabs button:hover{background:var(--sunken);color:var(--ink)}
.fn-tabs button[aria-selected="true"]{background:var(--ink);color:var(--surface)}
.fn-tabs-sm button{height:27px;padding:0 10px;font-size:12px}
.fn-tabs button em{font:600 11px var(--font-mono);font-style:normal;opacity:.65}
.fn-tabs button .fx-live{background:var(--fx-live);animation-name:fxPulseRed}
.fn-link{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:650;color:var(--brand-ink)!important;text-decoration:none;white-space:nowrap}
.fn-link:hover{text-decoration:underline}
.fn-empty,.mk-empty{display:grid;place-items:center;min-height:90px;padding:14px;color:var(--ink-3);font-size:13px;text-align:center;line-height:1.7}
.fn-skel{display:block;height:13px;margin:8px 0;border-radius:6px;background:linear-gradient(90deg,var(--sunken) 25%,color-mix(in srgb,var(--sunken) 55%,var(--surface)) 50%,var(--sunken) 75%);background-size:200% 100%;animation:fxShimmer 1.3s linear infinite}
.fn-skel:nth-child(2n){width:78%}.fn-skel:nth-child(3n){width:56%}
.fn-skel-lg{height:64px;border-radius:10px;margin:0;width:100%!important}
.fn-skel-box{height:100%;min-height:200px;margin:0;border-radius:12px;width:100%!important}
.fn-nm{display:inline-flex;align-items:baseline;gap:6px;min-width:0;max-width:100%}
.fn-nm-t{font-weight:700;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fn-nm-o{font-size:.84em;font-weight:500;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fn-nm-o::before,.fn-nm code::before{content:"/";margin-right:6px;color:var(--line-strong);font-family:var(--font-sans)}
.fn-nm code{flex:none;font:500 .8em var(--font-mono);color:var(--ink-3)}
.fn-nm>:first-child::before{display:none}
.fn-pill,.mk-pill{display:inline-block;min-width:62px;padding:2px 7px;border-radius:6px;font:650 12px var(--font-mono);font-variant-numeric:tabular-nums;text-align:center}
.fn-dir{flex:none;display:inline-grid;place-items:center;min-width:34px;height:20px;padding:0 6px;border-radius:6px;background:var(--sunken);color:var(--ink-3);font-size:11px;font-weight:700}
.fn-dir.is-up{background:color-mix(in srgb,#f23645 12%,var(--surface));color:#e11d48}
.fn-dir.is-down{background:color-mix(in srgb,#2563eb 12%,var(--surface));color:#2563eb}
:root[data-theme="dark"] .fn-dir.is-up{color:#fb7185}:root[data-theme="dark"] .fn-dir.is-down{color:#60a5fa}
.fn-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--line-strong)}
.fn-dot.is-up{background:#f23645}.fn-dot.is-down{background:#2563eb}
.fn-lv{display:inline-flex;gap:2px;flex:none}
.fn-lv i{width:4px;height:12px;border-radius:2px;background:var(--line)}
.fn-lv i.on{background:var(--brand)}
.fn-q{display:inline-flex;flex-direction:column;align-items:flex-end;flex:none;min-width:74px;padding:1px 4px;line-height:1.3}
.fn-q b{font-size:13px;font-weight:650;color:var(--ink)}
.fn-q em{font:600 11.5px var(--font-mono);font-style:normal}
.fn-chips{display:flex;gap:5px;flex-wrap:wrap}
.fn-chips button,.fn-flash-filter button{display:inline-flex;align-items:center;gap:4px;height:26px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s}
.fn-chips button:hover,.fn-flash-filter button:hover{border-color:var(--line-strong);color:var(--ink)}
.fn-chips button[aria-pressed="true"],.fn-flash-filter button[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-wash);color:var(--brand-ink)}
.fn-schip{display:inline-flex;align-items:center;gap:5px;max-width:170px;height:22px;padding:0 8px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:11.5px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-schip code{font:500 11px var(--font-mono);color:var(--ink-3)}
.fn-schip:hover{border-color:var(--brand);color:var(--brand-ink)}
.fn-schip.is-up{border-color:color-mix(in srgb,#f23645 35%,var(--line))}.fn-schip.is-down{border-color:color-mix(in srgb,#2563eb 35%,var(--line))}
.fn-toast,.ab-notice{position:fixed;left:50%;bottom:28px;z-index:120;transform:translateX(-50%);padding:9px 16px;border-radius:999px;background:var(--ink);color:var(--surface);font-size:13px;font-weight:600;box-shadow:0 18px 40px -18px #000;animation:fxIn .2s}
.fn-note,.mk-disclaimer{display:flex;gap:8px;padding:4px 2px 0;font-size:12px;line-height:1.75;color:var(--ink-3)}
.fn-note .ic,.mk-disclaimer .ic{flex:none;width:14px;height:14px;margin-top:4px}
.mk-disclaimer a{color:var(--brand-ink)}
.fn-retry{margin-left:6px;padding:3px 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;cursor:pointer}
.ab-news-state{display:flex;align-items:center;gap:14px;margin:12px auto 0;max-width:calc(var(--fx-w,1560px) - 48px);padding:9px 14px;border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:12px;background:var(--brand-wash);font-size:12.5px}
.ab-news-state[hidden]{display:none}
.ab-news-state>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap;flex:1;min-width:0}
.ab-news-state strong{color:var(--ink)}.ab-news-state small{color:var(--ink-3)}
.ab-news-state progress{width:120px;height:5px;accent-color:var(--brand)}
.ab-news-state button{height:28px;padding:0 11px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;cursor:pointer}

/* 行布局：左右两栏等高；每行各有一个可伸缩 / 可滚动的块，天然没有留白 */
.fx-row{display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,27.5%,430px);gap:var(--fx-gap);align-items:stretch}
.fx-stack{display:flex;flex-direction:column;gap:var(--fx-gap);min-width:0}
.fx-stack>.fx-grow{flex:1 1 auto;display:flex;flex-direction:column}
.fx-fill{display:flex;flex-direction:column;min-height:420px}
.fx-fill>.fx-scroll,.fx-grow>.fx-scroll{flex:1 1 0;min-height:0}

/* ---------- 4 财经首页 ---------- */
.fx-overview{display:flex;flex-direction:column;gap:var(--fx-gap);scroll-margin-top:calc(var(--ab-top-h,64px) + var(--fx-head-h,92px) + 14px)}
#page-news [data-fnsec],#fnChartBox{scroll-margin-top:calc(var(--ab-top-h,64px) + var(--fx-head-h,92px) + 14px)}
.fn-clocks{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:8px}
.fn-clk{display:flex;flex-direction:column;gap:3px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer;min-width:0;transition:border-color .15s,transform .15s}
.fn-clk:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.fn-clk-h{display:flex;align-items:center;gap:6px}
.fn-clk-h i{width:6px;height:6px;border-radius:50%;background:var(--line-strong)}
.fn-clk.is-open .fn-clk-h i{background:var(--brand);animation:fxPulse 1.8s ease-out infinite}
.fn-clk.is-break .fn-clk-h i,.fn-clk.is-pre .fn-clk-h i{background:var(--fx-amber)}
.fn-clk-h b{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-clk-h time{margin-left:auto;font:600 12px var(--font-mono);color:var(--ink-2)}
.fn-clk-s{font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-clk-bar{height:3px;border-radius:3px;background:var(--sunken);overflow:hidden}
.fn-clk-bar i{display:block;height:100%;border-radius:3px;background:var(--line-strong)}
.fn-clk.is-open .fn-clk-bar i{background:var(--brand)}
.fn-clk em{font:600 11px var(--font-mono);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-mkts .fn-box-h{margin-bottom:10px}
.fn-stamp{display:inline-flex;align-items:center;gap:6px;font:500 11px var(--font-mono)}
.fn-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.fn-card{display:flex;flex-direction:column;gap:5px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .15s}
.fn-card:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.fn-card.is-on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-ring)}
.fn-card-top{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12.5px;min-width:0}
.fn-card-p{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.fn-card-p b{font:700 21px var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.fn-card-p span{font:600 12px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
.fn-card-sp{display:block;height:44px}
.fn-spark{display:block;width:100%;height:100%;color:var(--ink-3)}
.fn-card-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px 10px;font-size:11.5px;color:var(--ink-3)}
.fn-card-kv span{display:flex;justify-content:space-between;gap:6px}
.fn-card-kv em{font:500 11px var(--font-mono);font-style:normal;color:var(--ink-2)}

/* 雷达 */
.fn-radar-box{overflow:hidden}
.fn-rstat{display:flex;align-items:center;gap:6px 14px;flex-wrap:wrap;font-size:12px;color:var(--ink-3)}
.fn-rstat>span{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}
.fn-rstat b{font:700 15px var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums}
.fn-rstat b.is-bump{animation:fxBump .5s ease-out}
@keyframes fxBump{30%{transform:translateY(-3px);color:var(--brand-ink)}}
.fn-rstat .is-up b{color:#e11d48}.fn-rstat .is-down b{color:#2563eb}
.fn-rscan{align-items:center!important;gap:6px!important;padding:3px 9px;border-radius:999px;background:var(--sunken)}
.fn-rscan em{font-style:normal;font-weight:650;color:var(--brand-ink)}
.fn-rscan time{font:500 11px var(--font-mono)}
.fn-scanbar{position:absolute;left:0;right:0;top:0;height:2px;background:transparent;overflow:hidden}
.fn-scanbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,transparent,var(--brand));transform-origin:left;animation:fxScan linear both}
@keyframes fxScan{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.fn-radar-wrap{display:grid;grid-template-columns:minmax(250px,300px) minmax(0,1.25fr) minmax(210px,.8fr);gap:16px;align-items:stretch}
.fn-radar-wrap.is-empty{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}
.fn-radar-l{display:flex;flex-direction:column;gap:8px;min-width:0}
.fn-radar-vis{position:relative;aspect-ratio:1;width:100%;max-width:320px;margin:0 auto;color:var(--ink)}
.fn-radar-svg{position:relative;z-index:1;display:block;width:100%;height:100%;overflow:visible}
.fn-rg{stroke:var(--brand)}
.fn-rsec{font-size:9.5px;font-weight:600;fill:var(--ink-3)}
.fn-rsec.is-hot{fill:var(--ink)}
.fn-radar-core{fill:var(--brand)}
.fn-sweep{position:absolute;left:10%;top:10%;width:80%;height:80%;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 78%,color-mix(in srgb,var(--brand) 42%,transparent) 99%,transparent 100%);animation:fxSpin 5s linear infinite;pointer-events:none}
.fn-blip{cursor:pointer;outline:none}
.fn-blip-c{stroke:var(--surface);stroke-width:1.2;transition:r .15s}
.fn-blip:hover .fn-blip-c,.fn-blip:focus-visible .fn-blip-c,.fn-blip.is-on .fn-blip-c{stroke:var(--ink);stroke-width:2}
.fn-blip-t{font-size:9.5px;font-weight:700;fill:var(--ink);paint-order:stroke;stroke:var(--surface);stroke-width:3px;pointer-events:none}
.fn-radar-log{position:relative;height:30px;border-radius:9px;background:var(--sunken);overflow:hidden;font-size:11.5px}
.fn-radar-log span{position:absolute;inset:0;display:flex;align-items:center;gap:7px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink-2);opacity:0;animation:fxLog 17.5s infinite}
.fn-radar-log span:nth-child(2){animation-delay:3.5s}.fn-radar-log span:nth-child(3){animation-delay:7s}.fn-radar-log span:nth-child(4){animation-delay:10.5s}.fn-radar-log span:nth-child(5){animation-delay:14s}
.fn-radar-log span:only-child{opacity:1;animation:none}
@keyframes fxLog{0%{opacity:0;transform:translateY(8px)}2%,18%{opacity:1;transform:none}20%,100%{opacity:0;transform:translateY(-8px)}}
.fn-radar-log time{font:500 11.5px var(--font-mono);color:var(--ink-3)}
.fn-radar-log b{font-weight:700;flex:none}
.fn-radar-log b.is-up{color:#e11d48}.fn-radar-log b.is-down{color:#2563eb}
.fn-radar-leg{display:flex;align-items:center;gap:5px 11px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-2)}
.fn-radar-leg span{display:inline-flex;align-items:center;gap:4px}
.fn-radar-leg i{width:7px;height:7px;border-radius:50%;background:#f59e0b}
.fn-radar-leg i.is-up{background:#f23645}.fn-radar-leg i.is-down{background:#2563eb}
.fn-radar-m{display:flex;flex-direction:column;gap:9px;min-width:0;min-height:0}
.fn-radar-list{flex:1 1 0;min-height:300px;margin:0 -6px;padding:0 6px}
.fn-rl li{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:8px 8px;border-radius:10px;cursor:pointer;transition:background .12s}
.fn-rl li+li{box-shadow:0 -1px 0 var(--line)}
.fn-rl li:hover,.fn-rl li:focus-visible{background:var(--sunken);outline:none;box-shadow:none}
.fn-rl li:hover+li,.fn-rl li.is-on+li{box-shadow:none}
.fn-rl li.is-on{background:var(--brand-wash);box-shadow:inset 3px 0 0 var(--brand)}
.fn-rl li.is-fresh .fn-dir::after{content:"";position:absolute;right:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--fx-live);box-shadow:0 0 0 2px var(--surface)}
.fn-rl .fn-dir{position:relative}
.fn-rl-m{min-width:0;display:flex;flex-direction:column;gap:1px;font-size:13.5px}
.fn-rl-m small{font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-rl-sub{display:flex;align-items:center;gap:8px;margin:10px 4px 4px;font-size:11.5px;font-weight:700;color:var(--ink-3)}
.fn-rl-sub::after{content:"";flex:1;height:1px;background:var(--line)}
.fn-radar-r{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}
.fn-secs,.fn-themes,.fn-radar-stream{padding:10px 12px;border-radius:12px;background:var(--sunken)}
.fn-radar-r h4{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--ink-2)}
.fn-radar-r h4 small{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:var(--ink-3)}
.fn-sec{display:grid;grid-template-columns:64px minmax(0,1fr) 34px;align-items:center;gap:8px;padding:3px 0;font-size:11.5px}
.fn-sec>span{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-sec>i{display:flex;height:6px;border-radius:4px;background:var(--line);overflow:hidden}
.fn-sec>i b{display:block;height:100%;background:var(--brand)}
.fn-sec>i b.is-up{background:#f23645}.fn-sec>i b.is-down{background:#2563eb}
.fn-sec em{font:600 11px var(--font-mono);font-style:normal;text-align:right;color:var(--ink-3)}
.fn-sec em .is-up{color:#e11d48}.fn-sec em .is-down{color:#2563eb}
.fn-themes>div{display:flex;flex-wrap:wrap;gap:5px}
.fn-themes button{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:11.5px;font-weight:600;cursor:pointer}
.fn-themes button:hover{border-color:var(--brand);color:var(--brand-ink)}
.fn-themes em{font:700 11px var(--font-mono);font-style:normal;color:var(--brand-ink)}
.fn-radar-stream{flex:1 1 auto;display:flex;flex-direction:column;min-height:120px}
.fn-radar-events{flex:1 1 0;min-height:0;display:flex;flex-direction:column;gap:2px;margin:0 -6px}
.fn-radar-event{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1px 8px;padding:6px;border-radius:8px;text-decoration:none;font-size:12px;line-height:1.45}
.fn-radar-event:hover{background:var(--surface)}
.fn-radar-event time{font:500 11.5px var(--font-mono);color:var(--ink-3);padding-top:1px}
.fn-radar-event>span{font-weight:600;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-radar-event em{grid-column:2;display:flex;gap:4px;flex-wrap:wrap;font-style:normal}
.fn-radar-event em i{padding:0 6px;border-radius:5px;background:var(--surface);border:1px solid var(--line);font-size:11.5px;font-style:normal;color:var(--ink-2);white-space:nowrap}
.fn-radar-event.is-up em i:first-child{border-color:color-mix(in srgb,#f23645 40%,var(--line))}.fn-radar-event.is-down em i:first-child{border-color:color-mix(in srgb,#2563eb 40%,var(--line))}
.fn-radar-tip{display:flex;gap:8px;margin-top:12px;padding:9px 12px;border-radius:10px;background:var(--sunken);font-size:12px;line-height:1.65;color:var(--ink-3)}
.fn-radar-tip .ic{flex:none;width:14px;height:14px;margin-top:3px}
.fn-focus{margin-top:12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 40%,var(--line));border-radius:12px;background:var(--brand-wash);animation:fxIn .2s}
.fn-focus-h{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:14px}
.fn-focus-k{font-size:11.5px;color:var(--ink-3)}
.fn-focus-act{display:flex;gap:6px;margin-left:auto}
.fn-focus-act button,.fn-focus-act a{display:inline-flex;align-items:center;height:28px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}
.fn-focus-act a{border-color:var(--brand);color:var(--brand-ink)}
.fn-focus-r{margin-top:8px;font-size:13px;line-height:1.7;color:var(--ink-2)}
.fn-focus-n{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px;margin:8px 0}
.fn-focus-n li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:0 8px;padding:4px 0}
.fn-focus-n a{font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-focus-n a:hover{color:var(--brand-ink)}
.fn-focus-n small{grid-column:2;font-size:11px;color:var(--ink-3)}
.fn-focus .fn-muted{font-size:11px}

/* 走势图卡 */
.fn-chart-t{display:flex;flex-direction:column;gap:4px;font-size:14px}
.fn-chart-px{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;width:max-content;max-width:100%;padding:0 2px}
.fn-chart-px b{font-size:26px;font-weight:700;letter-spacing:-.02em}
.fn-chart-px em{font:600 13px var(--font-mono);font-style:normal}
.fn-chart-bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0 6px}
.fn-ranges{display:inline-flex;padding:2px;border-radius:9px;background:var(--sunken)}
.fn-ranges button{height:25px;padding:0 9px;border:0;border-radius:7px;background:none;color:var(--ink-3);font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}
.fn-ranges button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(10,28,19,.14)}
.fn-chart{position:relative;min-height:150px;color:var(--ink)}
.fn-bigchart{display:block;width:100%;height:auto;cursor:crosshair}
.fn-chart-tip{position:absolute;top:0;display:flex;flex-direction:column;padding:4px 8px;border-radius:8px;background:var(--ink);color:var(--surface);font-size:11px;pointer-events:none;white-space:nowrap}
.fn-chart-tip small{opacity:.7}
.fn-clist{margin:8px -8px -6px!important;min-height:130px}
.fn-clist li{display:grid;grid-template-columns:minmax(0,1fr) 56px auto 64px;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;font-size:12.5px;cursor:pointer}
.fn-clist li+li{box-shadow:0 -1px 0 var(--line)}
.fn-clist li:hover{background:var(--sunken)}
.fn-clist li.is-on{background:var(--brand-wash)}
.fn-cl-sp{height:20px}
.fn-clist b{font-size:12.5px;font-weight:600;text-align:right}
.fn-clist em{font:600 12px var(--font-mono);font-style:normal;text-align:right}

/* 今日要闻 */
.fn-filter{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:10px;padding:8px 12px;border-radius:10px;background:var(--brand-wash);font-size:12.5px;color:var(--ink-2)}
.fn-filter button{margin-left:auto;height:26px;padding:0 10px;border:1px solid var(--line-strong);border-radius:8px;background:var(--surface);font-size:12px;cursor:pointer;color:var(--ink)}
.fn-headline{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:16px}
.fn-lead{position:relative;display:block;min-height:300px;border-radius:12px;overflow:hidden;text-decoration:none;background:var(--sunken)}
.fn-lead .nw-img{position:absolute;inset:0;display:block}
.fn-lead .nw-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.fn-lead:hover .nw-img img{transform:scale(1.04)}
.fn-lead-t{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;gap:6px;padding:48px 16px 14px;background:linear-gradient(180deg,transparent,rgba(4,14,9,.86));color:#fff}
.fn-lead-t strong{font-size:19px;line-height:1.4;font-weight:750;letter-spacing:-.01em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.fn-lead-t small{font-size:12px;opacity:.82}
.fn-skel-box.fn-lead{animation:fxShimmer 1.3s linear infinite;background:linear-gradient(90deg,var(--sunken) 25%,color-mix(in srgb,var(--sunken) 55%,var(--surface)) 50%,var(--sunken) 75%);background-size:200% 100%}
.fn-heads{display:flex;flex-direction:column;min-width:0}
.fn-heads li{display:flex;align-items:center;gap:10px;min-height:37px;padding:6px 0;min-width:0}
.fn-heads li+li{border-top:1px solid var(--line)}
.fn-heads li>a{display:flex;align-items:center;gap:9px;flex:1;min-width:0;text-decoration:none}
.fn-h-t{font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-heads a:hover .fn-h-t{color:var(--brand-ink)}
.fn-h-c{display:flex;align-items:center;gap:8px;flex:none}
.fn-h-c time{font-size:11.5px;color:var(--ink-3);white-space:nowrap;min-width:54px;text-align:right}
.nw-img{position:relative;overflow:hidden}
.fn-media-badge{position:absolute;left:8px;top:8px;z-index:2;padding:2px 7px;border-radius:6px;background:rgba(4,14,9,.72);color:#fff;font-size:11.5px;font-style:normal;font-weight:700}

/* 市场概况 */
.fn-acc{border-top:1px solid var(--line)}
.fn-acc:first-child{border-top:0}
.fn-acc-h{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;width:100%;padding:11px 2px;border:0;background:none;color:var(--ink);text-align:left;cursor:pointer}
.fn-acc-no{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:var(--sunken);font:700 11.5px var(--font-mono);color:var(--ink-2)}
.fn-acc.is-open .fn-acc-no{background:var(--brand);color:var(--on-brand)}
.fn-acc-t{font-size:14.5px;font-weight:700;line-height:1.5}
.fn-acc-h em{font-size:11.5px;font-style:normal;color:var(--ink-3);white-space:nowrap}
.fn-acc-h .ic{width:16px;height:16px;color:var(--ink-3);transition:transform .2s}
.fn-acc.is-open .fn-acc-h .ic{transform:rotate(180deg)}
.fn-acc-b{display:none;padding:0 2px 12px 34px}
.fn-acc.is-open .fn-acc-b{display:block;animation:fxIn .2s}
.fn-acc-b p{font-size:13.5px;line-height:1.8;color:var(--ink-2)}
.fn-acc-ul{margin:6px 0 2px!important}
.fn-acc-ul li{display:flex;align-items:baseline;gap:10px;padding:5px 0;border-top:1px dashed var(--line)}
.fn-acc-ul li::before{content:"";flex:none;width:5px;height:5px;border-radius:50%;background:var(--brand);transform:translateY(-2px)}
.fn-acc-ul a{flex:1;min-width:0;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-acc-ul a:hover{color:var(--brand-ink)}
.fn-acc-ul time{flex:none;font-size:11px;color:var(--ink-3)}
.fn-acc-src{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.fn-acc-src>a{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:999px;background:var(--sunken);color:var(--ink-3);font-size:11px;text-decoration:none}
.fn-acc-src>a:hover{color:var(--brand-ink)}

/* 7×24 快讯 */
.fn-flash-box{position:relative}
.fn-flash-filter{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}
.fn-flash-filter button em{font:600 11px var(--font-mono);font-style:normal;opacity:.6}
.fn-flash-filter button.is-zero{opacity:.5}
.fn-flash-new{position:absolute;left:50%;top:108px;z-index:3;transform:translateX(-50%);height:28px;padding:0 14px;border:0;border-radius:999px;background:var(--brand);color:var(--on-brand);font-size:12px;font-weight:700;cursor:pointer;box-shadow:0 10px 22px -10px var(--brand-ink);animation:fxIn .25s}
.fn-flash{margin:0 -8px -6px!important;padding:0 8px!important;scroll-behavior:smooth}
.fn-fl{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:0 10px;padding:9px 0 9px 2px}
.fn-fl::before{content:"";position:absolute;left:49px;top:0;bottom:0;width:1px;background:var(--line)}
.fn-fl::after{content:"";position:absolute;left:46px;top:15px;width:7px;height:7px;border-radius:50%;background:var(--surface);border:2px solid var(--line-strong)}
.fn-fl>time{font:600 12px var(--font-mono);color:var(--ink-2);padding-top:1px}
.fn-fl>div{min-width:0;padding-left:10px}
.fn-fl-t{display:block;width:100%;padding:0;border:0;background:none;color:var(--ink);font-size:13.5px;font-weight:650;line-height:1.55;text-align:left;text-decoration:none;cursor:pointer}
.fn-fl-t:hover{color:var(--brand-ink)}
.fn-fl-s{margin-top:3px!important;font-size:12.5px;line-height:1.65;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-fl.is-open .fn-fl-s{display:block;-webkit-line-clamp:unset}
.fn-fl-m{display:flex;align-items:center;gap:5px 8px;flex-wrap:wrap;margin-top:5px;font-size:11px;color:var(--ink-3)}
.fn-fl-m>a{color:var(--brand-ink);text-decoration:none;font-weight:600}
.fn-fl-rg{padding:0 6px;border-radius:5px;background:var(--sunken);font-weight:650;color:var(--ink-2)}
.fn-rg-kr{background:color-mix(in srgb,#2563eb 12%,var(--surface));color:#2563eb}.fn-rg-us{background:color-mix(in srgb,#7c3aed 12%,var(--surface));color:#7c3aed}.fn-rg-cn{background:color-mix(in srgb,#e11d48 11%,var(--surface));color:#e11d48}.fn-rg-jp{background:color-mix(in srgb,#d97706 14%,var(--surface));color:#b45309}.fn-rg-eu{background:color-mix(in srgb,#0891b2 13%,var(--surface));color:#0e7490}
:root[data-theme="dark"] .fn-rg-kr{color:#7fb0ff}:root[data-theme="dark"] .fn-rg-us{color:#b79bff}:root[data-theme="dark"] .fn-rg-cn{color:#fb7185}:root[data-theme="dark"] .fn-rg-jp{color:#fbbf24}:root[data-theme="dark"] .fn-rg-eu{color:#67e8f9}
.fn-fl.is-imp .fn-fl-t{color:var(--fx-live)}
.fn-fl.is-imp::after{border-color:var(--fx-live);background:var(--fx-live)}
.fn-fl.is-new{animation:fxFlashIn 2.4s ease-out}
.fn-fl.is-new::after{border-color:var(--brand);background:var(--brand);animation:fxPulse 1.6s ease-out 3}
@keyframes fxFlashIn{0%{opacity:0;transform:translateY(-10px);background:color-mix(in srgb,var(--brand) 24%,transparent)}12%{opacity:1;transform:none}100%{background:transparent}}
.fn-fl-day{position:sticky;top:0;z-index:2;padding:5px 0;background:var(--surface)}
.fn-fl-day span{display:inline-block;padding:1px 9px;border-radius:999px;background:var(--sunken);font-size:11px;font-weight:650;color:var(--ink-3)}
.fn-flash-e{padding:10px 0}

/* 热力图 + 情绪 */
.fn-heat-box{display:flex;flex-direction:column}
.fn-heatwrap{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;min-height:330px}
#fnHeat{display:flex;flex-direction:column;min-width:0}
.fn-tm{position:relative;flex:1;min-height:290px;border-radius:12px;overflow:hidden;background:var(--sunken)}
.fn-tm-c{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:3px;border:0;box-shadow:inset 0 0 0 1px var(--surface);color:#fff;overflow:hidden;cursor:pointer;transition:filter .12s}
.fn-tm-c:hover{filter:brightness(1.14)}
.fn-tm-c.is-on{box-shadow:inset 0 0 0 3px #fff;z-index:1}
.fn-tm-c b{max-width:100%;font-size:1em;font-weight:700;line-height:1.25}
.fn-tm-c .fn-nm{flex-direction:column;align-items:center;gap:0}
.fn-tm-c .fn-nm-t{color:#fff;max-width:100%}
.fn-tm-c .fn-nm-o{display:none}
.fn-tm-c .fn-nm code{color:rgba(255,255,255,.7);font-size:.72em}
.fn-tm-c .fn-nm code::before{display:none}
.fn-tm-c em{font:650 .86em var(--font-mono);font-style:normal}
.fn-tm-tip{position:absolute;z-index:5;display:flex;flex-direction:column;gap:2px;min-width:190px;padding:9px 11px;border-radius:10px;background:var(--ink);color:var(--surface);font-size:12px;pointer-events:none;box-shadow:0 14px 30px -14px #000}
.fn-tm-tip .fn-nm-t{color:var(--surface)}.fn-tm-tip .fn-nm-o,.fn-tm-tip code{color:color-mix(in srgb,var(--surface) 65%,transparent)}
.fn-tm-tip b{font-size:15px}.fn-tm-tip em{font-style:normal;font-weight:650}.fn-tm-tip small{opacity:.7}
.fn-tm-leg{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:7px;font:500 11.5px var(--font-mono);color:var(--ink-3)}
.fn-tm-leg i{width:130px;height:6px;border-radius:4px}
.fn-mood{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-width:0}
.fn-gauge{position:relative;text-align:center;color:var(--ink)}
.fn-gauge svg{display:block;width:100%;max-width:210px;margin:0 auto}
.fn-gauge>div{margin-top:-6px;display:flex;flex-direction:column;align-items:center;line-height:1.25}
.fn-gauge small{font-size:11px;color:var(--ink-3)}
.fn-gauge b{font:750 28px var(--font-mono)}
.fn-gauge span{font-size:12.5px;font-weight:650;color:var(--ink-2)}
.fn-br-bar{display:flex;gap:2px;height:7px;border-radius:5px;overflow:hidden}
.fn-br-l{display:flex;justify-content:space-between;margin-top:5px;font:600 11.5px var(--font-mono)}
.fn-dist{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:5px;height:84px}
.fn-dist>div{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;height:100%}
.fn-dist span{width:100%;max-width:24px;border-radius:4px 4px 0 0;min-height:3px}
.fn-dist em{font:600 11.5px var(--font-mono);font-style:normal;color:var(--ink-2)}
.fn-dist small{font:500 10px var(--font-mono);color:var(--ink-3);white-space:nowrap}
.fn-mood>.fn-muted{font-size:11px;text-align:center}

/* 自选 / 汇率 */
.fn-watch-e{font-size:12.5px;line-height:1.7;color:var(--ink-3)}
.fn-watch-q{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.fn-watch-q button{height:27px;padding:0 10px;border:1px dashed var(--line-strong);border-radius:999px;background:none;color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer}
.fn-watch-q button:hover{border-style:solid;border-color:var(--brand);color:var(--brand-ink)}
.fn-wl{margin:0 -8px!important}
.fn-wl li{display:grid;grid-template-columns:minmax(0,1fr) 60px auto 20px;align-items:center;gap:8px;padding:6px 8px;border-radius:9px;cursor:pointer;font-size:13px}
.fn-wl li:hover{background:var(--sunken)}
.fn-wl-sp{height:22px}
.fn-x{width:20px;height:20px;border:0;border-radius:6px;background:none;color:var(--ink-3);font-size:11px;cursor:pointer;opacity:0}
.fn-wl li:hover .fn-x,.fn-x:focus-visible{opacity:1}
.fn-x:hover{background:var(--line);color:var(--ink)}
.fn-fx{margin:0 -8px!important}
.fn-fx li{display:grid;grid-template-columns:minmax(0,1fr) 56px 78px 62px;align-items:center;gap:8px;padding:7px 8px;border-radius:9px;font-size:13px;cursor:pointer}
.fn-fx li+li{box-shadow:0 -1px 0 var(--line)}
.fn-fx li:hover{background:var(--sunken)}
.fn-fx li>span:first-child{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-fx-sp{height:18px}
.fn-fx b{text-align:right;font-weight:600}
.fn-fx em{font:600 12px var(--font-mono);font-style:normal;text-align:right}
.fn-cv{margin-top:auto;padding:11px 12px;border-radius:12px;background:var(--sunken)}
.fx-grow>.fn-cv{margin-top:12px}
.fx-grow>.fn-fx{flex:1}
.fn-cv-t{display:block;margin-bottom:7px;font-size:11.5px;font-weight:650;color:var(--ink-3)}
.fn-cv-row{display:grid;grid-template-columns:minmax(0,1fr) auto 32px auto;gap:6px}
.fn-cv-row input,.fn-cv-row select,.fn-cv-row button{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font:600 13px var(--font-mono);padding:0 9px;min-width:0}
.fn-cv-row button{padding:0;cursor:pointer}
.fn-cv-row input:focus,.fn-cv-row select:focus{outline:none;border-color:var(--brand)}
.fn-cv-r{margin-top:8px;font-size:13px;color:var(--ink-2)}
.fn-cv-r b{font:700 18px var(--font-mono);color:var(--ink)}
.fn-cv-r small{display:block;margin-top:1px;font:500 11px var(--font-mono);color:var(--ink-3)}

/* 热门排行 */
.fn-rank{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px}
.fn-rk{min-width:0}
.fn-rk+.fn-rk{padding-left:22px;border-left:1px solid var(--line)}
.fn-rk h4{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px;font-size:13.5px;font-weight:700}
.fn-rk h4 small{font-size:11px;font-weight:500;color:var(--ink-3)}
.fn-rk li{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:8px;padding:6px 6px;margin:0 -6px;border-radius:9px;cursor:pointer}
.fn-rk li+li{box-shadow:0 -1px 0 var(--line)}
.fn-rk li:hover{background:var(--sunken);box-shadow:none}
.fn-rk-no{font:700 12px var(--font-mono);color:var(--ink-3);text-align:center}
.fn-rk li:nth-child(-n+3) .fn-rk-no{color:var(--brand-ink)}
.fn-rk-m{min-width:0;display:flex;flex-direction:column;font-size:13px;line-height:1.4}
.fn-rk-m small{font-size:11px;color:var(--ink-3)}
.fn-rk .r{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.fn-rk .r b{font-size:13px;font-weight:600}
.fn-rk-sk{pointer-events:none}

/* 视频与直播 */
.fn-media{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:16px;align-items:stretch}
.fn-media-stage{display:flex;flex-direction:column;gap:10px;min-width:0}
.fn-media-stage iframe,.fn-media-poster{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#07110d}
.fn-media-poster{position:relative;background-size:cover;background-position:center;cursor:pointer;overflow:hidden}
.fn-media-poster::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,14,9,.05),rgba(4,14,9,.5))}
.fn-media-poster>span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:rgba(255,255,255,.94);color:#0a1c13;box-shadow:0 16px 40px -12px #000;transition:transform .2s}
.fn-media-poster:hover>span{transform:scale(1.08)}
.fn-media-poster .ic{width:28px;height:28px;margin-left:4px}
.fn-media-poster.is-live{background:radial-gradient(120% 120% at 20% 10%,#12372a,#07110d)}
.fn-media-poster>em{position:absolute;left:14px;top:14px;display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:7px;background:var(--fx-live);color:#fff;font-size:11.5px;font-style:normal;font-weight:700}
.fn-media-poster>em .fx-live{background:#fff;animation:none}
.fn-media-cap strong{display:block;font-size:16px;line-height:1.5;font-weight:700;color:var(--ink)}
.fn-media-cap small{display:block;margin-top:3px;font-size:12px;color:var(--ink-3)}
.fn-media-list{display:flex;flex-direction:column;gap:2px;min-height:0;max-height:none;margin-right:-8px;padding-right:8px;height:0;min-height:100%}
.fn-mv{display:grid;grid-template-columns:132px minmax(0,1fr);gap:11px;align-items:center;padding:6px;border:0;border-radius:10px;background:none;text-align:left;text-decoration:none;cursor:pointer;color:var(--ink)}
.fn-mv:hover{background:var(--sunken)}
.fn-mv.is-on{background:var(--brand-wash)}
.fn-mv-th{position:relative;display:grid;place-items:center;aspect-ratio:16/9;border-radius:8px;background:#0c1a13 center/cover no-repeat;color:#fff;overflow:hidden}
.fn-mv-th .ic{width:18px;height:18px;opacity:0;transition:opacity .15s;filter:drop-shadow(0 2px 6px #000)}
.fn-mv:hover .fn-mv-th .ic,.fn-mv.is-on .fn-mv-th .ic{opacity:1}
.fn-mv-live .fn-mv-th{background:radial-gradient(120% 120% at 20% 10%,#12372a,#07110d)}
.fn-mv-live .fx-live{width:10px;height:10px;background:var(--fx-live);animation-name:fxPulseRed}
.fn-mv-t{min-width:0;display:flex;flex-direction:column;gap:3px}
.fn-mv-t strong{font-size:13px;line-height:1.5;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-mv-t small{font-size:11px;color:var(--ink-3)}
.fn-mv-sub{margin:10px 6px 4px!important;font-size:11.5px;font-weight:700;color:var(--ink-3)}

/* 全球指数表 */
.fn-table-wrap{overflow-x:auto;margin:0 -6px}
.fn-table{width:100%;border-collapse:collapse;font-size:13px}
.fn-table th{padding:7px 10px;text-align:left;font-size:11.5px;font-weight:650;color:var(--ink-3);border-bottom:1px solid var(--line);white-space:nowrap}
.fn-table td{padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
.fn-table tr:last-child td{border-bottom:0}
.fn-table .r{text-align:right}
.fn-table tbody tr{cursor:pointer;transition:background .12s}
.fn-table tbody tr:hover{background:var(--sunken)}
.fn-table tbody tr.is-on{background:var(--brand-wash)}
.fn-table td:first-child{max-width:330px}
.fn-table td:first-child b{font-weight:600}
.fn-tsp{width:100px}.fn-tsp .fn-spark{height:24px}
.fn-open{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;color:var(--brand-ink)}

/* 财经新闻流 + 热门阅读 */
.fn-feed-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fn-feed-i{display:flex;flex-direction:column;min-width:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);transition:border-color .15s,transform .15s,box-shadow .15s}
.fn-feed-i:hover{border-color:var(--line-strong);transform:translateY(-2px);box-shadow:0 16px 30px -24px rgba(10,28,19,.5)}
.fn-feed-a{display:block}
.fn-feed-img{display:block;aspect-ratio:16/9;background:var(--sunken)}
.fn-feed-img img,.fn-hot-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fn-feed-t{display:flex;flex-direction:column;gap:6px;flex:1;padding:11px 13px 12px;min-width:0}
.fn-feed-t>a{text-decoration:none}
.fn-feed-t strong{font-size:14.5px;line-height:1.5;font-weight:700;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-feed-t>a:hover strong{color:var(--brand-ink)}
.fn-feed-t p{font-size:12.5px;line-height:1.65;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-feed-m{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:4px;font-size:11.5px;color:var(--ink-3)}
.fn-feed-m small b{color:var(--ink-2);font-weight:650}
.fn-more-btn{display:block;width:100%;height:38px;margin-top:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:650;cursor:pointer}
.fn-more-btn:hover{border-color:var(--brand);color:var(--brand-ink)}
.fn-hot{margin:0 -8px -6px!important;padding:0 8px!important;counter-reset:hot}
.fn-hot li+li{border-top:1px solid var(--line)}
.fn-hot a{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;text-decoration:none}
.fn-hot-no{font:800 16px var(--font-mono);color:var(--line-strong);text-align:center}
.fn-hot li:nth-child(-n+3) .fn-hot-no{color:var(--brand-ink)}
.fn-hot-t{min-width:0;display:flex;flex-direction:column;gap:3px}
.fn-hot-t b{font-size:13.5px;line-height:1.5;font-weight:650;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-hot a:hover b{color:var(--brand-ink)}
.fn-hot-t small{font-size:11px;color:var(--ink-3)}
.fn-hot-img{display:block;width:72px;aspect-ratio:4/3;border-radius:8px;background:var(--sunken)}
.fn-hot-img .nw-cv b,.fn-hot-img .nw-cv em{display:none}

/* ---------- 5 悬停信息卡 ---------- */
.fn-hover{position:fixed;z-index:90;width:330px;padding:13px 14px 10px;border:1px solid var(--line-strong);border-radius:14px;background:color-mix(in srgb,var(--surface) 96%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 30px 60px -28px rgba(10,28,19,.7),0 0 0 1px color-mix(in srgb,var(--brand) 10%,transparent);pointer-events:none;opacity:0;transform:translateY(4px) scale(.985);transition:opacity .14s,transform .14s;font-size:12.5px;color:var(--ink)}
.fn-hover.is-in{opacity:1;transform:none}
.fn-hover[hidden]{display:none}
.fn-hover header{display:flex;align-items:center;gap:8px;font-size:14px;min-width:0}
.fn-hover header .fn-nm{flex:1}
.fn-hv-live{display:inline-flex;align-items:center;gap:5px;flex:none;font-size:11px;font-weight:650;color:var(--brand-ink)}
.fn-hv-px{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 12px;margin-top:8px}
.fn-hv-px>b{font-size:24px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.fn-hv-px>span:nth-child(2){grid-column:1;font:600 12.5px var(--font-mono);white-space:nowrap}
.fn-hv-sp{grid-column:2;grid-row:1/3;height:40px;align-self:center}
.fn-hv-kv{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:10px;border-radius:10px;overflow:hidden;background:var(--line)}
.fn-hv-kv span{display:flex;flex-direction:column;padding:5px 8px;background:var(--sunken)}
.fn-hv-kv small{font-size:11px;color:var(--ink-3)}
.fn-hv-kv b{font:600 12px var(--font-mono);font-variant-numeric:tabular-nums}
.fn-hv-range{display:flex;align-items:center;gap:9px;margin-top:9px}
.fn-hv-range small{flex:none;font-size:11.5px;color:var(--ink-3)}
.fn-hv-range i{position:relative;flex:1;height:4px;border-radius:3px;background:linear-gradient(90deg,#2563eb,#94a3b8,#f23645)}
.fn-hv-range i b{position:absolute;top:-4px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--surface);border:3px solid var(--ink)}
.fn-hv-ai{margin-top:10px;padding:8px 10px;border-radius:10px;background:var(--brand-wash)}
.fn-hv-ai-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--ink-2)}
.fn-hv-ai-h>span{padding:0 6px;border-radius:5px;background:var(--surface);font-weight:650}
.fn-hv-ai-h em{font-style:normal;color:var(--ink-3)}
.fn-hv-ai p{margin-top:5px!important;line-height:1.6;color:var(--ink)}
.fn-hv-news{margin-top:9px!important}
.fn-hv-news li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px;padding:3px 0;line-height:1.5}
.fn-hv-news time{font-size:11.5px;color:var(--ink-3)}
.fn-hv-news span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fn-hover footer{display:flex;justify-content:space-between;gap:8px;margin-top:9px;padding-top:7px;border-top:1px solid var(--line);font-size:11.5px;color:var(--ink-3)}
.fn-hover footer em{font:600 11px var(--font-mono);font-style:normal}

/* ---------- 6 文章阅读页 ---------- */
.fx-reading #page-news:not([hidden]) .fx-body,.fx-reading #page-market:not([hidden]) .fx-body,.fx-reading .ab-news-state{display:none}
.fx-reader[hidden]{display:none}
.fx-reader{padding-bottom:30px}
.rd-progress{position:fixed;left:0;right:0;top:0;z-index:130;height:3px;pointer-events:none}
.rd-progress i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),#0ea5a0);transform:scaleX(0);transform-origin:left}
.rd-top{position:sticky;top:calc(var(--ab-top-h,64px) + var(--fx-head-h,92px));z-index:30;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.rd-top-in{display:flex;align-items:center;gap:14px;height:48px}
.rd-back{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 11px 0 8px;border:1px solid var(--line);border-radius:9px;background:var(--surface);font-size:13px;font-weight:650;text-decoration:none;white-space:nowrap}
.rd-back:hover{border-color:var(--brand);color:var(--brand-ink)}
.rd-back .ic{width:15px;height:15px}
.rd-crumb{display:flex;align-items:center;gap:7px;min-width:0;font-size:12.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden}
.rd-crumb i{font-style:normal;opacity:.6}
.rd-tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.rd-tg{display:inline-flex;border:1px solid var(--line);border-radius:9px;background:var(--surface);overflow:hidden}
.rd-tg button{display:grid;place-items:center;min-width:34px;height:30px;padding:0 7px;border:0;background:none;color:var(--ink-2);font-size:13px;font-weight:700;cursor:pointer}
.rd-tg button+button{border-left:1px solid var(--line)}
.rd-tg button:hover{background:var(--sunken);color:var(--ink)}
.rd-tg button[aria-pressed="true"]{background:var(--brand-wash);color:var(--brand-ink)}
.rd-tg sup{font-size:11px}
.rd-tg [data-rdfv]{font:600 12px var(--font-mono);color:var(--ink-3)}
.rd-lh{display:block;width:14px;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.rd-lh-s{height:6px}.rd-lh-m{height:9px}.rd-lh-l{height:12px}
.rd-lh::after{content:"";display:block;margin-top:calc(50% - 5px);border-top:2px solid currentColor}
.rd-lh-s::after{margin-top:0}.rd-lh-m::after{margin-top:1.5px}.rd-lh-l::after{margin-top:3px}
.rd-tb{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink-2);font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap}
.rd-tb:hover,.rd-tb[aria-pressed="true"]{border-color:var(--brand);color:var(--brand-ink)}
.rd-tb .ic{width:14px;height:14px}
.rd-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;align-items:start;padding-top:28px}
.rd-main{min-width:0;width:100%;max-width:780px;margin:0 auto}
.rd.is-wide .rd-main{max-width:980px}
.rd-kicker{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
.rd-kicker b{padding:2px 9px;border-radius:6px;background:var(--brand-wash);color:var(--brand-ink);font-weight:700}
.rd-kicker em{padding:1px 7px;border:1px solid var(--line-strong);border-radius:6px;font-size:11px;font-style:normal;font-weight:650}
.rd-head h1{margin-top:12px;font-size:clamp(25px,2.5vw,34px);line-height:1.35;font-weight:800;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.rd-orig{margin-top:8px!important;font-size:13.5px;line-height:1.6;color:var(--ink-3)}
.rd-orig small{margin-right:8px;padding:1px 6px;border-radius:5px;background:var(--sunken);font-size:11px}
.rd-meta{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding-bottom:16px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.rd-note{display:flex;align-items:center;gap:10px;margin-top:16px;padding:10px 14px;border-radius:10px;background:var(--amber-bg);border:1px solid var(--amber-line);color:var(--amber-ink);font-size:13px;line-height:1.6}
.rd-note[hidden]{display:none}
.rd-note.is-busy::before{content:"";flex:none;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:fxSpin .8s linear infinite}
.rd-note button{margin-left:auto;height:28px;padding:0 11px;border:1px solid currentColor;border-radius:8px;background:none;color:inherit;font-size:12px;cursor:pointer}
.rd-body{margin-top:20px;font-size:var(--rd-fs,17px);line-height:var(--rd-lh,1.9);color:var(--ink);overflow-wrap:anywhere}
.rd-body p{margin:0 0 1.15em}
.rd-body p.rd-lead{font-size:1.06em;font-weight:500;color:var(--ink)}
.rd-body h2{margin:1.7em 0 .7em;font-size:1.22em;line-height:1.45;font-weight:750;letter-spacing:-.01em}
.rd-body blockquote{margin:1.3em 0;padding:.5em 1.1em;border-left:3px solid var(--brand);background:var(--sunken);border-radius:0 10px 10px 0;color:var(--ink-2)}
.rd-fig{margin:1.5em 0}
.rd-fig img,.rd-fig video,.rd-fig iframe{display:block;width:100%;border:0;border-radius:12px;background:var(--sunken)}
.rd-fig img{height:auto;max-height:76vh;object-fit:contain;cursor:zoom-in}
.rd-fig video,.rd-fig iframe{aspect-ratio:16/9;background:#07110d}
.rd-hero{margin-top:0}
.rd-hero img{aspect-ratio:16/9;object-fit:cover;max-height:none}
.rd-fig figcaption{margin-top:8px;font-size:.78em;line-height:1.6;color:var(--ink-3);text-align:center}
.rd-play{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:12px;background:#07110d center/cover no-repeat;cursor:pointer;overflow:hidden}
.rd-play::before{content:"";position:absolute;inset:0;background:rgba(4,14,9,.34)}
.rd-play span{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:70px;height:70px;margin:-35px 0 0 -35px;border-radius:50%;background:rgba(255,255,255,.95);color:#0a1c13;transition:transform .2s}
.rd-play:hover span{transform:scale(1.08)}
.rd-play .ic{width:26px;height:26px;margin-left:4px}
.rd-play em{position:absolute;left:14px;bottom:12px;padding:2px 9px;border-radius:6px;background:rgba(4,14,9,.7);color:#fff;font-size:12px;font-style:normal;font-weight:650}
.rd-zoom .rd-zoomed{position:fixed;inset:0;z-index:200;width:100vw;height:100vh;max-height:none;border-radius:0;background:var(--overlay);object-fit:contain;cursor:zoom-out}
.rd-skel{padding:6px 0 20px}
.rd-skel span{display:block;height:15px;margin:13px 0;border-radius:7px;background:linear-gradient(90deg,var(--sunken) 25%,color-mix(in srgb,var(--sunken) 55%,var(--surface)) 50%,var(--sunken) 75%);background-size:200% 100%;animation:fxShimmer 1.3s linear infinite}
.rd-skel span:nth-child(2){width:94%}.rd-skel span:nth-child(3){width:88%}.rd-skel span:nth-child(5){width:62%}
.rd-skel em{font-size:12.5px;font-style:normal;color:var(--ink-3)}
.rd-end{margin-top:34px}
.rd-end-mark{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--ink-3)}
.rd-end-mark i{flex:1;height:1px;background:var(--line)}
.rd-source{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:18px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.rd-source>div{min-width:0;flex:1 1 300px}
.rd-source small{display:block;font-size:11px;color:var(--ink-3)}
.rd-source b{font-size:16px;font-weight:750}
.rd-source span{margin-left:8px;font:500 12px var(--font-mono);color:var(--ink-3)}
.rd-source p{margin-top:6px!important;font-size:12.5px;line-height:1.7;color:var(--ink-3)}
.rd-orig-btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border-radius:12px;background:var(--brand);color:var(--on-brand)!important;font-size:14.5px;font-weight:750;text-decoration:none;white-space:nowrap;transition:background .15s,transform .15s}
.rd-orig-btn:hover{background:var(--brand-hover);transform:translateY(-1px)}
.rd-orig-btn .ic{width:16px;height:16px}
.rd-pager{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.rd-pager a{display:flex;flex-direction:column;gap:5px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);text-decoration:none;min-width:0}
.rd-pager a:hover{border-color:var(--brand)}
.rd-pager a.is-next{text-align:right}
.rd-pager small{font-size:11.5px;color:var(--ink-3)}
.rd-pager b{font-size:13.5px;line-height:1.5;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rd-aside{position:sticky;top:calc(var(--ab-top-h,64px) + var(--fx-head-h,92px) + 62px);display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - var(--ab-top-h,64px) - var(--fx-head-h,92px) - 76px);overflow:auto;scrollbar-width:thin;padding-bottom:4px}
.rd-card{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.rd-card h4{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:13.5px;font-weight:750}
.rd-ents li+li,.rd-rel li+li,.rd-latest li+li{border-top:1px solid var(--line)}
.rd-ents a{display:flex;align-items:center;gap:8px;padding:8px 0;text-decoration:none;font-size:13px}
.rd-ents .fn-nm{flex:1}
.rd-rel a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:9px 0;text-decoration:none}
.rd-rel img{width:68px;aspect-ratio:4/3;border-radius:8px;object-fit:cover;background:var(--sunken)}
.rd-rel span{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:3px}
.rd-rel img+span{grid-column:2}
.rd-rel a>span:first-child{grid-column:1/-1}
.rd-rel b{font-size:13px;line-height:1.5;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rd-rel a:hover b,.rd-latest a:hover{color:var(--brand-ink)}
.rd-rel small{font-size:11px;color:var(--ink-3)}
.rd-latest li{display:grid;grid-template-columns:42px minmax(0,1fr);gap:8px;padding:7px 0;font-size:12.5px;line-height:1.55}
.rd-latest time{font:600 11.5px var(--font-mono);color:var(--ink-3)}
.rd-latest a{text-decoration:none;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- 9 全站：顶栏对齐 / 返回顶部 / 页脚 ---------- */
html[data-ab-page] .topbar-in.wrap{max-width:var(--fx-w,1560px)}
html[data-ab-page] .site-foot{margin-top:28px}
html[data-ab-page] .site-foot .wrap{max-width:var(--fx-w,1560px)}
.topbar{z-index:60}

.fab-top{display:grid!important;position:fixed;right:22px;bottom:calc(22px + env(safe-area-inset-bottom,0px));z-index:55;width:48px;height:48px;place-items:center;padding:0;border:0;border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:0 14px 30px -12px rgba(6,30,18,.45),0 0 0 1px var(--line);cursor:pointer;opacity:0;transform:translateY(14px) scale(.85);pointer-events:none;transition:opacity .25s,transform .25s cubic-bezier(.2,.9,.3,1.3),background .15s,color .15s}
.fab-top.show{opacity:1;transform:none;pointer-events:auto}
.fab-top:hover{background:var(--ink);color:var(--surface)}
.fab-top:hover .ic{transform:translateY(-2px)}
.fab-top .ic{position:relative;width:18px;height:18px;transition:transform .2s,opacity .15s}
.fab-ring{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.fab-ring circle{fill:none;stroke:var(--line);stroke-width:3}
.fab-ring .fab-ring-v{stroke:var(--brand);stroke-linecap:round;stroke-dasharray:0 100;transition:stroke-dasharray .1s linear}
.fab-pct{position:absolute;right:56px;top:50%;transform:translateY(-50%) translateX(6px);padding:3px 8px;border-radius:7px;background:var(--ink);color:var(--surface);font:600 11px var(--font-mono);opacity:0;transition:opacity .15s,transform .15s;pointer-events:none;white-space:nowrap}
.fab-top:hover .fab-pct{opacity:1;transform:translateY(-50%)}
@media(max-width:760px){.fab-top{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:44px;height:44px}.fab-pct{display:none}}
@media print{.fab-top{display:none!important}}

/* 页脚（R34 重排）：品牌与联系 + 四列导航 + 数据说明 + 版权条 */
.site-foot{margin-top:72px;border-top:1px solid var(--line);background:var(--surface)}
.site-foot .ft-top{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(0,2.4fr);gap:40px 56px;padding-top:44px;padding-bottom:30px}
.ft-brand .foot-logo{display:flex;align-items:center;gap:10px}
.ft-brand .foot-logo img{border-radius:9px;display:block}
.ft-brand .foot-logo b{font-size:18px;font-weight:750;color:var(--ink)}
.ft-brand>p{margin:12px 0 0;max-width:34em;font-size:13.5px;line-height:1.8;color:var(--ink-3)}
.ft-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.ft-actions a{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:650;text-decoration:none;transition:border-color .15s,color .15s,background .15s}
.ft-actions a .ic{width:15px;height:15px}
.ft-actions a:hover{border-color:var(--brand);color:var(--brand-ink)}
.ft-actions a.is-primary{border-color:transparent;background:var(--brand);color:var(--on-brand)}
.ft-actions a.is-primary:hover{background:var(--brand-hover);color:var(--on-brand)}
.ft-status{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:16px;font:500 11.5px var(--font-mono);color:var(--ink-3)}
.ft-status span{display:inline-flex;align-items:center;gap:6px}
.ft-status i{width:6px;height:6px;border-radius:50%;background:var(--brand)}
.ft-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px}
.ft-col{display:flex;flex-direction:column;gap:9px;min-width:0}
.ft-col>b{margin-bottom:4px;font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
.ft-col a{font-size:13.5px;line-height:1.5;color:var(--ink-3);text-decoration:none;overflow-wrap:anywhere;transition:color .15s}
.ft-col a:hover{color:var(--brand-ink)}
.ft-note{display:flex;gap:12px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--line);font-size:12px;line-height:1.75;color:var(--ink-3)}
.ft-note b{flex:none;padding:1px 8px;border-radius:6px;background:var(--brand-wash);color:var(--brand-ink);font-size:11px;font-weight:700}
.ft-note p{margin:0;min-width:0}
.ft-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;padding-top:16px;padding-bottom:22px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.ft-bar nav{display:flex;flex-wrap:wrap;gap:6px 16px;margin-left:auto}
.ft-bar a{color:var(--ink-3);text-decoration:none}
.ft-bar a:hover{color:var(--brand-ink)}
@media(max-width:900px){.site-foot .ft-top{grid-template-columns:1fr;gap:30px;padding-top:32px}.ft-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-bar nav{margin-left:0}}
@media(max-width:480px){.ft-note{flex-direction:column;gap:6px}}

/* ---------- 响应式：财经 ---------- */
@media(max-width:1500px){.fx-sync small{display:none}.fx-search{max-width:250px}.fx-search kbd{display:none}.fx-search input{padding-right:10px}}
@media(max-width:1340px){.fx-cta span{display:none}.fx-cta{width:34px;padding:0}.fx-tabs button{padding:0 9px;font-size:13px}.fx-tabs button::after{left:9px;right:9px}.fn-radar-wrap{grid-template-columns:minmax(230px,270px) minmax(0,1fr)}.fn-radar-r{grid-column:1/-1;flex-direction:row;flex-wrap:wrap}.fn-radar-r>*{flex:1 1 240px}.fn-radar-stream{min-height:0}.fn-radar-events{flex:none;max-height:150px}}
@media(max-width:1180px){.fx-brand-t small{display:none}.fx-sync{display:none}.fx-row{grid-template-columns:minmax(0,1fr)}.fx-fill{min-height:0}.fx-fill>.fx-scroll{flex:none;max-height:520px}.fn-clist{max-height:300px}.fn-clocks{grid-template-columns:repeat(4,minmax(0,1fr))}.fn-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.fn-media-list{height:auto;min-height:0;max-height:420px}.rd-grid{grid-template-columns:minmax(0,1fr)}.rd-aside{position:static;max-height:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}
@media(max-width:900px){.fx-wrap{padding:0 14px}.fx-bar-in{flex-wrap:wrap;height:auto;padding-top:8px;gap:6px 10px}.fx-tabs{order:5;flex:1 1 100%;height:40px;margin:0 -14px;padding:0 6px}.fx-search{flex:1 1 140px;max-width:none}.fx-tape-tag{padding-left:14px}.ab-ticker-toggle{margin-right:14px}.fx-tape-meta{display:none}.fn-headline,.fn-heatwrap,.fn-media{grid-template-columns:minmax(0,1fr)}.fn-lead{min-height:220px}.fn-rank{grid-template-columns:minmax(0,1fr);gap:18px}.fn-rk+.fn-rk{padding-left:0;border-left:0}.fn-feed-g{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-hide-m{display:none}.fn-focus-n{grid-template-columns:minmax(0,1fr)}.fn-mood{flex-direction:row;flex-wrap:wrap;align-items:center}.fn-mood>*{flex:1 1 200px}.rd-top-in{gap:8px}.rd-crumb,.rd-hide-s{display:none}.rd-grid{padding-top:18px}}
@media(max-width:640px){.fx-lang-btn span{display:none}.fx-lang-panel{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto}.fn-clocks{grid-template-columns:repeat(2,minmax(0,1fr))}.fn-cards{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:0 16px 4px}.fn-card{flex:0 0 78%;scroll-snap-align:start}.fn-radar-wrap{grid-template-columns:minmax(0,1fr)}.fn-radar-vis{max-width:280px}.fn-radar-list{flex:none;max-height:380px;min-height:0}.fn-feed-g{grid-template-columns:minmax(0,1fr)}.fn-hide-s{display:none}.fn-box-h h2>small{display:none}.fn-mv{grid-template-columns:104px minmax(0,1fr)}.fn-hover{display:none!important}.fn-rstat{font-size:11px;gap:4px 10px}.fn-rl li{grid-template-columns:auto minmax(0,1fr) auto}.fn-rl .fn-lv{display:none}.rd-source{padding:14px}.rd-orig-btn{width:100%;justify-content:center}.rd-pager{grid-template-columns:1fr}.rd-tg button{min-width:30px}}
@media(prefers-reduced-motion:reduce){.fx-tape-track,.mk-ticker-track,.fn-sweep,.fx-live,.fn-live,.mk-live,.fn-radar-log span,.is-tick-up,.is-tick-down,.fn-fl.is-new,.fn-scanbar i{animation:none!important}.fn-radar-log span:first-child{opacity:1}.fx-tape-view{overflow-x:auto}}
@media print{.fx-head,.rd-top,.rd-aside,.rd-progress,.bgm-fab{display:none!important}.rd-grid{display:block}.rd-body{font-size:12pt}}

/* ---------- 7 行情中心 ---------- */
#page-market .fx-body{gap:var(--fx-gap)}
.mk-status{display:flex;align-items:center;gap:8px 16px;flex-wrap:wrap;font-size:12.5px;color:var(--ink-3)}
.mk-status[hidden]{display:none}
.mk-st-dot{width:8px;height:8px;border-radius:50%;background:var(--line-strong)}
.mk-st-dot.is-open{background:var(--brand);animation:fxPulse 1.8s ease-out infinite}
.mk-st-mk{font-size:14px;font-weight:700;color:var(--ink)}
#mkOverview,#mkMain{display:flex;flex-direction:column;gap:var(--fx-gap);min-width:0}
#mkOverview[hidden],#mkDetail[hidden]{display:none}
.mk-grid{display:block}
#mkSide:empty{display:none}
.mk-grid.is-global{display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,27.5%,430px);gap:var(--fx-gap);align-items:start}
.mk-grid.is-global #mkSide{display:flex;flex-direction:column;gap:var(--fx-gap)}
.mk-row{display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,27.5%,430px);gap:var(--fx-gap);align-items:stretch}
.mk-stack{display:flex;flex-direction:column;gap:var(--fx-gap);min-width:0}
.mk-fill{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}
.mk-grow{flex:1 1 auto;display:flex;flex-direction:column}
.mk-h{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:750;color:var(--ink)}
.mk-h small{font-size:11.5px;font-weight:500}
.mk-rh{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.mk-rail>.mk-h{margin-bottom:10px}
.mk-more{display:inline-flex;align-items:center;gap:2px;border:0;background:none;color:var(--brand-ink)!important;font-size:12.5px;font-weight:650;text-decoration:none;cursor:pointer;white-space:nowrap}
.mk-more .ic{width:14px;height:14px}
.mk-more:hover{text-decoration:underline}
.mk-ai-badge{display:inline-grid;place-items:center;height:19px;padding:0 6px;border-radius:6px;background:linear-gradient(135deg,var(--brand),#0ea5a0);color:#fff;font:700 11px var(--font-mono);letter-spacing:.04em}
.mk-badge-live{display:inline-flex;align-items:center;gap:5px;padding:1px 7px;border-radius:6px;background:var(--brand-wash);color:var(--brand-ink);font-size:11.5px;font-weight:700}
.sd-seg,.mk-seg,.mk-mini-tabs{display:inline-flex;padding:2px;border-radius:9px;background:var(--sunken)}
.sd-seg button,.mk-seg button,.mk-mini-tabs button{height:26px;padding:0 10px;border:0;border-radius:7px;background:none;color:var(--ink-3);font-size:12px;font-weight:650;cursor:pointer;white-space:nowrap}
.sd-seg button:hover,.mk-seg button:hover,.mk-mini-tabs button:hover{color:var(--ink)}
.sd-seg button[aria-pressed="true"],.mk-seg button[aria-selected="true"],.mk-mini-tabs button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(10,28,19,.16)}

/* 指数概览 */
.mk-sum{padding:0;overflow:hidden;display:flex;flex-direction:column}
.mk-sum-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);border-bottom:1px solid var(--line)}
.mk-sum-tabs button{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:baseline;gap:1px 10px;padding:12px 16px;border:0;border-right:1px solid var(--line);background:none;color:var(--ink);text-align:left;cursor:pointer;min-width:0;box-shadow:inset 0 -2px 0 transparent;transition:background .15s}
.mk-sum-tabs button:last-child{border-right:0}
.mk-sum-tabs button:hover{background:var(--sunken)}
.mk-sum-tabs button[aria-selected="true"]{background:var(--brand-wash);box-shadow:inset 0 -2.5px 0 var(--brand)}
.mk-sum-tabs span{grid-column:1/-1;display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-sum-tabs b{font:700 17px var(--font-mono);font-variant-numeric:tabular-nums}
.mk-sum-tabs em{font:650 12.5px var(--font-mono);font-style:normal}
.mk-sum-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;flex:1}
.mk-sum-chart{padding:14px 16px 8px;min-width:0;display:flex;flex-direction:column}
.mk-sum-hd{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap}
.mk-sum-hd>div:first-child{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.mk-sum-n{font-size:14px;font-weight:700}
.mk-sum-hd b{font:750 28px var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;padding:0 3px}
.mk-sum-c{font:650 14px var(--font-mono)}
.mk-sum-act{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mk-sum-cv{flex:1;min-height:270px;margin-top:8px}
.mk-sum-kv{display:grid;grid-template-columns:1fr;margin:0;border-left:1px solid var(--line);align-content:stretch}
.mk-sum-kv>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 16px;border-bottom:1px solid var(--line);font-size:12.5px;min-height:38px}
.mk-sum-kv>div:last-child{border-bottom:0}
.mk-sum-kv dt{color:var(--ink-3)}
.mk-sum-kv dd{margin:0;font:650 13px var(--font-mono);font-variant-numeric:tabular-nums}
.mk-sum-br{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(200px,.8fr);align-items:center;gap:20px;padding:12px 16px;border-top:1px solid var(--line);background:var(--sunken)}
.mk-sum-br:empty{display:none}
.mk-br-l{display:flex;flex-direction:column;font-size:12px}
.mk-br-l b{font-size:13.5px}
.mk-br-bars{display:grid;grid-template-columns:repeat(7,1fr);align-items:end;gap:6px;height:56px}
.mk-br-b{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:1px}
.mk-br-b span{width:100%;max-width:30px;border-radius:4px 4px 0 0;min-height:3px;order:2}
.mk-br-b em{order:1;font:600 11.5px var(--font-mono);font-style:normal;color:var(--ink-2)}
.mk-br-b small{order:3;font:500 10px var(--font-mono);color:var(--ink-3);white-space:nowrap}
.mk-breadth{display:flex;gap:2px;height:7px;border-radius:5px;overflow:hidden}
.mk-breadth-l{display:flex;justify-content:space-between;margin-top:5px;font:600 12px var(--font-mono)}

/* 榜单与列表 */
.mk-mv{margin:0 -8px!important;display:flex;flex-direction:column}
.mk-fill>.mk-mv{flex:1 1 0;min-height:0;overflow:auto;scrollbar-width:thin}
.mk-mv li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:7px 8px;border-radius:9px;cursor:pointer;font-size:13px}
.mk-mv li+li{box-shadow:0 -1px 0 var(--line)}
.mk-mv li:hover{background:var(--sunken);box-shadow:none}
.mk-mv li>div{min-width:0;display:flex;flex-direction:column;line-height:1.35}
.mk-mv li b{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-mv li small{font-size:11px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-mv li>.mk-mono{font-size:13px;font-weight:600;text-align:right}
.mk-cross li,.mk-sess li{grid-template-columns:minmax(0,1fr) 64px auto auto}
.mk-sess li{grid-template-columns:8px minmax(0,1fr) auto auto}
.mk-sess li>i{width:7px;height:7px;border-radius:50%;background:var(--line-strong)}
.mk-sess li.is-open>i{background:var(--brand);animation:fxPulse 1.8s ease-out infinite}
.mk-sess li.is-on{background:var(--brand-wash)}
.mk-sp{display:block;height:24px;min-width:0}
.mk-spark{display:block;width:100%;height:100%}
.mk-list-card{padding:0;display:flex;flex-direction:column;overflow:hidden}
.mk-lh{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:14px 16px 0}
.mk-lt{display:flex;align-items:baseline;gap:9px;font-size:16px;font-weight:750}
.mk-lt small{font-size:12px;font-weight:500;color:var(--ink-3)}
.mk-lf{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:8px 16px 0;border-bottom:1px solid var(--line)}
.mk-utabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.mk-utabs button{position:relative;height:36px;padding:0 11px;border:0;background:none;color:var(--ink-3);font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}
.mk-utabs button[aria-selected="true"]{color:var(--brand-ink);box-shadow:inset 0 -2.5px 0 var(--brand)}
.mk-boards{display:flex;gap:5px;padding-bottom:6px}
.mk-boards button{height:25px;padding:0 10px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-2);font-size:11.5px;font-weight:600;cursor:pointer}
.mk-boards button[aria-selected="true"]{border-color:var(--brand);background:var(--brand-wash);color:var(--brand-ink)}
.mk-warn{margin:8px 16px 0;padding:7px 11px;border-radius:9px;background:var(--amber-bg);color:var(--amber-ink);font-size:12px}
.mk-table-wrap{max-height:608px;overflow:auto}
.is-global .mk-table-wrap{max-height:none}
.mk-table{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}
.mk-table thead th{position:sticky;top:0;z-index:2;padding:8px 12px;background:var(--surface);border-bottom:1px solid var(--line);text-align:left;font-size:11.5px;font-weight:650;color:var(--ink-3);white-space:nowrap}
.mk-table th button{border:0;background:none;color:inherit;font:inherit;cursor:pointer;padding:0}
.mk-table td{padding:8px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.mk-table tbody tr{cursor:pointer;transition:background .12s}
.mk-table tbody tr:hover{background:var(--sunken)}
.mk-table tbody tr:last-child td{border-bottom:0}
.mk-table .r{text-align:right}
.mk-rank{width:36px;font:600 12px var(--font-mono);color:var(--ink-3)}
.mk-table tbody tr:nth-child(-n+3) .mk-rank{color:var(--brand-ink)}
.mk-nm{max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ab-stock-name{display:inline-flex;align-items:baseline;gap:7px;min-width:0;max-width:100%}
.ab-stock-name b{font-weight:650;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-native{font-size:12px;color:var(--ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-native::before,.ab-stock-name .mk-code::before{content:"/";margin-right:7px;color:var(--line-strong);font-family:var(--font-sans)}
.mk-code{flex:none;font:500 11.5px var(--font-mono);color:var(--ink-3)}
.mk-star{margin-left:4px;font-style:normal;color:#f59e0b}
.mk-nm>small{margin-left:8px;font:500 11px var(--font-mono);color:var(--ink-3)}
.mk-table .mk-sp{width:110px}
.mk-grp td{padding:7px 12px;background:var(--sunken);font-size:11.5px;font-weight:700;color:var(--ink-2);cursor:default}
.mk-skel td span{display:block;height:13px;border-radius:6px;background:linear-gradient(90deg,var(--sunken) 25%,color-mix(in srgb,var(--sunken) 55%,var(--surface)) 50%,var(--sunken) 75%);background-size:200% 100%;animation:fxShimmer 1.3s linear infinite}
.mk-empty-row{padding:34px 16px!important;text-align:center;color:var(--ink-3);white-space:normal!important}
.mk-pager{display:flex;align-items:center;justify-content:center;gap:14px;padding:10px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}
.mk-pager button{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12.5px;cursor:pointer}
.mk-pager button:disabled{opacity:.45;cursor:default}
.mk-open{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:650;color:var(--brand-ink)}
.mk-closed{font-size:12px;color:var(--ink-3)}
.mk-mood{display:flex;flex-direction:column;gap:6px}
.mk-mood-g{height:7px;border-radius:5px;background:var(--sunken);overflow:hidden}
.mk-mood-g span{display:block;height:100%;border-radius:5px;transition:width .4s}
.mk-mood-l{display:flex;justify-content:space-between;align-items:baseline}
.mk-mood-l b{font-size:15px}
.mk-mood-l small{font:500 11px var(--font-mono);color:var(--ink-3)}
.mk-ai-text{margin:10px 0!important;font-size:13px;line-height:1.75;color:var(--ink-2)}
.mk-ai-2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}
.mk-ai-2>div{display:flex;flex-direction:column;gap:3px;padding:9px 10px;border-radius:10px;background:var(--sunken);min-width:0}
.mk-ai-2 small{font-size:11px;color:var(--ink-3)}
.mk-ai-2 span{display:flex;justify-content:space-between;gap:6px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;overflow:hidden}
.mk-ai-2 span:hover{color:var(--brand-ink)}
.mk-ai-2 em{flex:none;font:650 11.5px var(--font-mono);font-style:normal}
.mk-rail>.mk-muted{font-size:11px}
.mk-heat{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(50px,1fr);gap:4px}
.mk-heat-i{display:flex;flex-direction:column;justify-content:center;gap:1px;padding:6px 8px;border:0;border-radius:8px;text-align:left;cursor:pointer;min-width:0;transition:filter .12s}
.mk-heat-i:hover{filter:brightness(1.08)}
.mk-heat-i b{font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-heat-i span{font:650 12px var(--font-mono)}
.mk-watch-empty{font-size:12.5px;line-height:1.7;color:var(--ink-3)}
.mk-after-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);gap:var(--fx-gap);align-items:stretch}
.mk-after-grid>.mk-card{display:flex;flex-direction:column;min-height:0}
.mk-flash{flex:1 1 0;min-height:300px;margin:0 -8px!important;padding:0 8px!important}
.mk-flash li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:8px 0}
.mk-flash li+li{border-top:1px solid var(--line)}
.mk-flash time{font:600 12px var(--font-mono);color:var(--ink-3);padding-top:1px}
.mk-flash-t{font-size:13.5px;font-weight:650;line-height:1.5;text-decoration:none}
.mk-flash-t:hover{color:var(--brand-ink)}
.mk-flash p{margin-top:2px!important;font-size:12px;line-height:1.6;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.mk-flash small{display:block;margin-top:2px;font-size:11px;color:var(--ink-3)}
.mk-flash li.is-imp .mk-flash-t{color:var(--fx-live)}
.mk-srcline{display:flex;align-items:center;gap:6px 16px;flex-wrap:wrap;padding:9px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-size:11.5px;color:var(--ink-3)}
.mk-srcline span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.mk-srcline span>i:not(.mk-live){width:6px;height:6px;border-radius:50%;background:var(--line-strong)}
.mk-srcline span.is-on{color:var(--ink-2)}
.mk-srcline span.is-on>i{background:var(--brand)}
.mk-srcline .mk-muted{white-space:normal}

/* ---------- 8 个股终端 ---------- */
#mkDetail{display:flex;flex-direction:column;gap:var(--fx-gap)}
.sd-head{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.5fr);gap:20px 28px;align-items:stretch}
.sd-id{display:flex;flex-direction:column;gap:6px;min-width:0}
.sd-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.mk-back{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px 0 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);font-size:12px;font-weight:600;cursor:pointer;text-decoration:none}
.mk-back:hover{border-color:var(--brand);color:var(--brand-ink)}
.mk-back .ic{width:14px;height:14px}
.sd-chips{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--ink-3)}
.mk-d-ex:empty{display:none}
.mk-d-status{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:999px;background:var(--sunken);font-weight:650}
.mk-d-status.is-open{background:var(--brand-wash);color:var(--brand-ink)}
.mk-d-name{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin-top:4px}
.mk-d-name h2{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.25}
.mk-d-native{font-size:14px;color:var(--ink-3)}
.mk-d-native::before,.mk-d-code::before{content:"/";margin-right:9px;color:var(--line-strong);font-family:var(--font-sans)}
.mk-d-code{font:600 14px var(--font-mono);color:var(--ink-3)}
.mk-d-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.mk-d-price b{font:750 42px/1.1 var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.03em;padding:0 4px;margin-left:-4px}
.mk-d-price>span{font:650 16px var(--font-mono);font-variant-numeric:tabular-nums}
.mk-d-time{font:500 11px var(--font-mono);color:var(--ink-3)}
.sd-ranges{display:flex;flex-direction:column;gap:5px;margin-top:6px}
.sd-range{display:grid;grid-template-columns:42px auto minmax(60px,1fr) auto;align-items:center;gap:9px;font-size:11.5px;color:var(--ink-3)}
.sd-range .mk-mono{color:var(--ink-2);font-size:11.5px}
.sd-range i{position:relative;height:4px;border-radius:3px;background:var(--line)}
.sd-range i b{position:absolute;top:-4px;width:12px;height:12px;margin-left:-6px;border-radius:50%;background:var(--surface);border:3px solid var(--ink)}
.sd-actions{display:flex;gap:8px;margin-top:auto;padding-top:10px}
.mk-watch,.sd-btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);font-size:13px;font-weight:650;cursor:pointer}
.mk-watch:hover,.sd-btn:hover{border-color:var(--brand);color:var(--brand-ink)}
.mk-watch.is-on{border-color:#f59e0b;background:color-mix(in srgb,#f59e0b 12%,var(--surface));color:#b45309}
.sd-btn .ic{width:14px;height:14px}
.mk-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--line);align-self:stretch}
.mk-stats>div{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:9px 13px;background:var(--surface);min-width:0}
.mk-stats small{font-size:11px;color:var(--ink-3)}
.mk-stats b{font:650 14.5px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-nav{position:sticky;top:calc(var(--ab-top-h,64px) + var(--fx-head-h,92px));z-index:20;display:flex;gap:4px;padding:6px;margin:0 -2px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);overflow-x:auto;scrollbar-width:none;box-shadow:var(--fx-shadow)}
.sd-nav button{flex:none;height:30px;padding:0 13px;border:0;border-radius:8px;background:none;color:var(--ink-2);font-size:13px;font-weight:650;cursor:pointer;white-space:nowrap}
.sd-nav button:hover{background:var(--sunken)}
.sd-nav button.is-on{background:var(--ink);color:var(--surface)}
#mkDetail [id^="sd"],#mkDetail #mkProfile,#mkDetail #mkStockNews{scroll-margin-top:calc(var(--ab-top-h,64px) + var(--fx-head-h,92px) + 62px)}
.sd-row{display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,27.5%,430px);gap:var(--fx-gap);align-items:stretch}
.sd-side{display:flex;flex-direction:column;gap:var(--fx-gap);min-width:0}
.sd-fill{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}
.sd-grid{display:grid;gap:var(--fx-gap);align-items:stretch}
.sd-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.sd-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-card{display:flex;flex-direction:column;min-width:0}
.sd-h{display:flex;align-items:center;justify-content:space-between;gap:8px 12px;flex-wrap:wrap;margin-bottom:12px;min-height:28px}
.sd-h h3{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:750}
.sd-b{flex:1;display:flex;flex-direction:column;gap:10px;min-width:0}
.sd-foot{margin-top:auto!important;padding-top:6px;font-size:11px;line-height:1.6}
.sd-sub-h{margin-top:4px!important;font-size:12px;font-weight:700;color:var(--ink-2)}
/* 图表卡 */
.mk-chart-card{padding:0;overflow:hidden;display:flex;flex-direction:column}
.mk-chart-card.is-full{position:fixed;inset:0;z-index:150;border-radius:0}
.mk-chart-card.is-full .mk-chart{flex:1;height:auto}
.mk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--line)}
.mk-periods{display:inline-flex;padding:2px;border-radius:10px;background:var(--sunken)}
.mk-periods button{height:28px;padding:0 12px;border:0;border-radius:8px;background:none;color:var(--ink-3);font-size:12.5px;font-weight:650;cursor:pointer;white-space:nowrap}
.mk-periods button[aria-selected="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(10,28,19,.16)}
.mk-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.mk-tools label{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3)}
.mk-tools select{height:30px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font-size:12px;font-weight:600}
.sd-tgl,.mk-icon-btn{display:inline-grid;place-items:center;height:30px;min-width:30px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2);font:700 11.5px var(--font-mono);cursor:pointer}
.sd-tgl[aria-pressed="true"]{border-color:var(--brand);background:var(--brand-wash);color:var(--brand-ink)}
.mk-icon-btn .ic{width:14px;height:14px}
.mk-legend{display:flex;gap:4px 13px;flex-wrap:wrap;min-height:26px;padding:6px 14px 0;font:500 11.5px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--ink-3)}
.mk-legend b{font-weight:650}
.mk-lg-t{color:var(--ink);font-weight:650}
.mk-chart{height:440px}
.mk-subwrap{border-top:1px solid var(--line)}
.mk-sub{height:124px}
.mk-chart-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:7px 14px;border-top:1px solid var(--line);font-size:11px;color:var(--ink-3)}
/* 技术面研判 */
.mk-score{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:14px}
.mk-score svg{display:block;width:100%}
.mk-score>div{display:flex;flex-direction:column;line-height:1.25}
.mk-score b{font:750 34px var(--font-mono)}
.mk-score span{font-size:14px;font-weight:700}
.mk-score small{font:500 11px var(--font-mono);color:var(--ink-3)}
.mk-levels{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.mk-levels>div,.sd-kv>div{display:flex;flex-direction:column;gap:1px;padding:7px 10px;border-radius:9px;background:var(--sunken);min-width:0}
.mk-levels small,.sd-kv small{font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-levels b,.sd-kv b{font:650 13px var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-gauges{display:flex;flex-direction:column;gap:7px;margin:12px 0 4px}
.sd-gauges>div{display:grid;grid-template-columns:64px minmax(0,1fr) 40px;align-items:center;gap:9px;font-size:11.5px;color:var(--ink-3)}
.sd-gauges i{position:relative;height:5px;border-radius:3px;background:linear-gradient(90deg,#2563eb,#94a3b8 50%,#f23645)}
.sd-gauges i b{position:absolute;top:-4px;width:13px;height:13px;margin-left:-6px;border-radius:50%;background:var(--surface);border:3px solid var(--ink)}
.sd-gauges em{font:650 12px var(--font-mono);font-style:normal;color:var(--ink);text-align:right}
.mk-sig{flex:1 1 0;min-height:150px;margin:8px -6px 0!important;padding:0 6px!important}
.mk-sig li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;padding:8px 0}
.mk-sig li+li{border-top:1px solid var(--line)}
.mk-sig-ic{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid;border-radius:6px;font-size:11px;font-weight:800}
.mk-sig b{font-size:13px;font-weight:700}
.mk-sig p{font-size:12px;line-height:1.6;color:var(--ink-3)}
/* 通用图表元素 */
.sd-svg{display:block;width:100%;height:auto;overflow:visible}
.sd-svl{font:500 11px var(--font-mono);fill:var(--ink-3)}
.sd-svt{font:600 9.5px var(--font-mono);fill:var(--ink-2)}
.sd-leg{display:flex;gap:5px 14px;flex-wrap:wrap;font-size:11.5px;color:var(--ink-2)}
.sd-leg span{display:inline-flex;align-items:center;gap:5px}
.sd-leg i{width:9px;height:9px;border-radius:3px}
.sd-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.sd-side .sd-kv,.sd-g3 #sdDD .sd-kv{grid-template-columns:repeat(2,minmax(0,1fr))}
.sd-g3 #sdDD .sd-kv{grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-tablewrap{overflow-x:auto}
.sd-table{width:100%;border-collapse:collapse;font-size:12.5px}
.sd-table th{padding:6px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:11px;font-weight:650;color:var(--ink-3);white-space:nowrap}
.sd-table td{padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}
.sd-table tr:last-child td{border-bottom:0}
.sd-table .r{text-align:right}
.sd-table .sd-sub td{color:var(--ink-3);font-size:12px}
.sd-mini{display:inline-flex;align-items:flex-end;gap:2px;height:20px}
.sd-mini i{width:6px;border-radius:2px 2px 0 0;min-height:2px}
.sd-vbp{display:flex;flex-direction:column;gap:3px;flex:1;justify-content:space-between}
.sd-vbp>div{display:grid;grid-template-columns:132px minmax(0,1fr) 62px;align-items:center;gap:8px;padding:1px 6px;border-radius:6px;font-size:11.5px;color:var(--ink-3)}
.sd-vbp>div.is-cur{background:var(--brand-wash);color:var(--ink);font-weight:700}
.sd-vbp i{display:block;height:9px;border-radius:3px;background:var(--sunken)}
.sd-vbp i b{display:block;height:100%;border-radius:3px}
.sd-vbp em{font-style:normal;text-align:right}
.sd-cmp-leg{display:flex;gap:6px 14px;flex-wrap:wrap;font-size:12px}
.sd-cmp-leg span{display:inline-flex;align-items:center;gap:6px}
.sd-cmp-leg i{width:12px;height:3px;border-radius:2px}
.sd-cmp-leg button{width:16px;height:16px;padding:0;border:0;border-radius:5px;background:var(--sunken);color:var(--ink-3);font-size:11px;line-height:1;cursor:pointer}
.sd-cmp-chart{flex:1;min-height:270px}
.sd-heat{display:grid;gap:3px;font:600 11.5px var(--font-mono);font-variant-numeric:tabular-nums}
.sd-heat-h{text-align:center;color:var(--ink-3);font-weight:500;font-size:11px;font-family:var(--font-sans)}
.sd-heat-y{display:flex;align-items:center;color:var(--ink-2)}
.sd-heat-c{display:grid;place-items:center;min-height:34px;border-radius:6px;background:var(--sunken)}
.sd-heat-t{font-weight:750}
.sd-win{display:grid;grid-template-columns:repeat(12,1fr);gap:4px;height:54px;padding:0 6px}
.sd-win span{position:relative;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%}
.sd-win i{width:70%;border-radius:3px 3px 0 0;background:color-mix(in srgb,var(--brand) 55%,var(--sunken));min-height:2px}
.sd-win em{position:absolute;top:0;font:500 9.5px var(--font-mono);font-style:normal;color:var(--ink-3)}
.sd-target-h{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.sd-target-h>div{display:flex;flex-direction:column;padding:7px 9px;border-radius:9px;background:var(--sunken);min-width:0}
.sd-target-h small{font-size:11.5px;color:var(--ink-3)}
.sd-target-h b{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-target-bar{position:relative;height:8px;margin:34px 10px 0;border-radius:5px;background:var(--sunken)}
.sd-target-bar>i{position:absolute;top:0;bottom:0;border-radius:5px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand) 35%,transparent),var(--brand))}
.sd-target-bar>b{position:absolute;top:-5px;width:4px;height:18px;margin-left:-2px;border-radius:2px;background:var(--ink)}
.sd-target-bar>b.is-tp{background:var(--brand-ink)}
.sd-target-bar em{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);padding:1px 6px;border-radius:5px;background:var(--ink);color:var(--surface);font:600 11px var(--font-mono);font-style:normal;white-space:nowrap}
.sd-target-bar .is-tp em{bottom:auto;top:22px;background:var(--brand-wash);color:var(--brand-ink)}
.sd-target-l{display:flex;justify-content:space-between;margin:4px 6px 14px;font-size:11.5px;color:var(--ink-3)}
.sd-ratings{display:flex;flex-direction:column;gap:5px}
.sd-ratings>div{display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;color:var(--ink-3)}
.sd-ratings i{display:flex;height:18px;border-radius:5px;overflow:hidden;gap:1px}
.sd-ratings i b{display:grid;place-items:center;color:#fff;font:700 11px var(--font-mono);min-width:3px}
.sd-grades{max-height:170px;margin:0 -4px!important;padding:0 4px!important}
.sd-grades li{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:2px 8px;padding:6px 0;font-size:12px;border-top:1px solid var(--line)}
.sd-grades time{font:500 11px var(--font-mono);color:var(--ink-3)}
.sd-grades b{font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sd-grades em{font-style:normal;font-weight:700}
.sd-grades span{grid-column:2/-1;color:var(--ink-3)}
.sd-grades .sd-wide{color:var(--ink-2)}
.sd-next{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:8px 11px;border-radius:9px;background:var(--brand-wash);font-size:12.5px}
.sd-donut-wrap{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px}
.sd-donut{display:block;width:100%}
.sd-donut-wrap li{display:flex;align-items:center;gap:7px;padding:4px 0;font-size:12.5px}
.sd-donut-wrap li i{width:9px;height:9px;border-radius:3px}
.sd-donut-wrap li b{margin-left:auto}
/* 资讯 + 公司 */
.sd-news{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px}
.sd-news-lead{display:flex;flex-direction:column;gap:10px;text-decoration:none;min-width:0}
.sd-news-lead img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:12px;background:var(--sunken)}
.sd-news-lead span{display:flex;flex-direction:column;gap:6px}
.sd-news-lead b{font-size:17px;line-height:1.45;font-weight:750}
.sd-news-lead em{font-size:13px;font-style:normal;line-height:1.7;color:var(--ink-2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.sd-news small{font-size:11.5px;color:var(--ink-3)}
.sd-news-list li+li{border-top:1px solid var(--line)}
.sd-news-list a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;text-decoration:none}
.sd-news-list img{grid-column:2;grid-row:1;width:92px;aspect-ratio:4/3;object-fit:cover;border-radius:8px;background:var(--sunken)}
.sd-news-list span{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:4px;min-width:0}
.sd-news-list b{font-size:14px;line-height:1.5;font-weight:650;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sd-news a:hover b{color:var(--brand-ink)}
.sd-more{height:36px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-2);font-size:13px;font-weight:650;cursor:pointer}
.sd-more:hover{border-color:var(--brand);color:var(--brand-ink)}
.mk-about{font-size:13px;line-height:1.8;color:var(--ink-2)}
.sd-officers li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-top:1px solid var(--line);font-size:12.5px}
.sd-officers b{font-weight:650}
.sd-officers span{color:var(--ink-3);text-align:right}
.sd-contact{display:flex;flex-direction:column;gap:3px;font-size:12px;color:var(--ink-3)}
.mk-link{color:var(--brand-ink)!important;font-weight:650;text-decoration:none}
.sd-peers tbody tr{cursor:pointer}
.sd-peers tbody tr:hover{background:var(--sunken)}
.sd-peers tr.is-me{background:var(--brand-wash)}
.sd-peers .mk-nm{max-width:300px}
.sd-peers input{width:15px;height:15px;accent-color:var(--brand);cursor:pointer}
.sd-rel{position:relative;display:block;width:110px;height:8px;border-radius:4px;background:var(--sunken)}
.sd-rel::after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--line-strong)}
.sd-rel i{position:absolute;top:0;bottom:0;border-radius:4px}
.rd-quote{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;text-decoration:none;font-size:13px}

/* ---------- 响应式：行情 ---------- */
@media(max-width:1340px){.sd-g3{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-g3>:last-child:nth-child(odd){grid-column:1/-1}.mk-sum-body{grid-template-columns:minmax(0,1fr) 210px}.mk-after-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mk-after-grid>:first-child{grid-column:1/-1}}
@media(max-width:1180px){.mk-row,.sd-row,.mk-grid.is-global{grid-template-columns:minmax(0,1fr)}.mk-fill>.mk-mv{flex:none;max-height:340px}.mk-sig{flex:none;max-height:300px}.sd-head{grid-template-columns:minmax(0,1fr)}.mk-heat{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:900px){.sd-g2,.sd-g3{grid-template-columns:minmax(0,1fr)}.mk-sum-body{grid-template-columns:minmax(0,1fr)}.mk-sum-kv{grid-template-columns:repeat(2,1fr);border-left:0;border-top:1px solid var(--line)}.mk-sum-kv>div:nth-last-child(2){border-bottom:0}.mk-sum-kv>div:nth-child(odd){border-right:1px solid var(--line)}.mk-sum-br{grid-template-columns:minmax(0,1fr)}.mk-after-grid{grid-template-columns:minmax(0,1fr)}.mk-hide-m{display:none}.sd-news{grid-template-columns:minmax(0,1fr)}.mk-chart{height:360px}.mk-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.mk-sum-tabs{grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.mk-hide-s{display:none}.mk-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mk-d-price b{font-size:34px}.mk-heat{grid-template-columns:repeat(3,minmax(0,1fr))}.mk-table td,.mk-table thead th{padding:8px 8px}.mk-tools label{font-size:0}.mk-tools select{font-size:12px}.sd-kv{grid-template-columns:repeat(2,minmax(0,1fr))}.sd-vbp>div{grid-template-columns:104px minmax(0,1fr) 54px}.sd-target-h{grid-template-columns:repeat(2,minmax(0,1fr))}.mk-chart{height:320px}.mk-sum-cv{min-height:220px}.sd-heat{font-size:10px;gap:2px}.sd-heat-c{min-height:28px}.sd-donut-wrap{grid-template-columns:90px minmax(0,1fr)}}
/* 自选管理对话框（workspace.js） */
.ab-workspace-dialog{width:min(560px,calc(100vw - 28px));max-height:min(720px,calc(100vh - 40px));padding:20px;border:1px solid var(--line-strong);border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 40px 90px -30px #000}
.ab-workspace-dialog::backdrop{background:rgba(4,14,9,.5);backdrop-filter:blur(3px)}
.ab-workspace-dialog header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ab-workspace-dialog header small{font:600 11px var(--font-mono);letter-spacing:.1em;color:var(--ink-3)}
.ab-workspace-dialog h2{margin:2px 0 0;font-size:19px}
.ab-workspace-dialog header button{width:32px;height:32px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);font-size:18px;cursor:pointer}
.ab-workspace-dialog>p{margin:8px 0 12px;font-size:13px;line-height:1.7;color:var(--ink-3)}
.ab-watch-search{width:100%;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--sunken);color:var(--ink);font-size:13.5px}
.ab-dialog-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}
.ab-dialog-actions button,.ab-import{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);font-size:12.5px;font-weight:600;cursor:pointer}
.ab-import input{display:none}
.ab-dialog-actions small{margin-left:auto;font-size:12px;color:var(--ink-3)}
#abWatchItems{max-height:360px;overflow:auto;border:1px solid var(--line);border-radius:12px}
.ab-watch-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line);font-size:13.5px}
.ab-watch-item:last-child{border-bottom:0}
.ab-watch-item a{min-width:0;color:var(--ink);text-decoration:none}
.ab-watch-native{font-weight:500;font-size:12px;color:var(--ink-3)}
.ab-watch-item button{flex:none;height:26px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-3);font-size:12px;cursor:pointer}
.ab-watch-empty{padding:26px 16px;text-align:center;color:var(--ink-3);font-size:13px}
#abImportError{margin-top:10px;color:#dc2626;font-size:12.5px}
[data-ab-density="compact"] .fx-page{--fx-pad:12px;--fx-gap:10px}
.mk-tnum{font-variant-numeric:tabular-nums}
/* 收尾：移动端与溢出保护 */
html[data-ab-page] body{overflow-x:clip}
.sd-card .sd-b{overflow-x:auto;scrollbar-width:thin}
.mk-ai-2>div{overflow:hidden}
.mk-sum-br{min-width:0}.mk-sum-br>*{min-width:0}
@media(max-width:900px){
  .fx-head{position:static;box-shadow:none}
  .fx-tape{position:sticky;top:var(--ab-top-h,64px);z-index:40}
  .sd-nav{top:calc(var(--ab-top-h,64px) + 38px)}
  .rd-top{top:calc(var(--ab-top-h,64px) + 38px)}
  #page-news [data-fnsec],#fnChartBox,#mkDetail [id^="sd"]{scroll-margin-top:calc(var(--ab-top-h,64px) + 96px)}
  .fn-clocks{display:flex;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -14px;padding:0 14px 2px;scrollbar-width:none}
  .fn-clocks::-webkit-scrollbar{display:none}
  .fn-clk{flex:0 0 150px;scroll-snap-align:start}
  .fx-tools{margin-left:auto}
  .fx-search{order:3;flex:1 1 100%;max-width:none;margin-left:0}
  .fx-brand{order:1}.fx-tools{order:2}
}

.fx-tabs{-webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);padding:0 8px;scroll-padding:0 20px}
@media(max-width:1560px){#page-news .fx-brand-t small{display:none}#page-news .fx-search kbd{display:none}#page-news .fx-search input{padding-right:10px}}

/* ======================================================================
   R35 · 视觉升级：主导航、行情带、预测面板、获取软件页、全站质感
   ====================================================================== */
/* —— 主导航：财经 / 行情与其它入口统一，激活态只用一层柔和底色 —— */
.nav-link[data-nav="news"],.nav-link[data-nav="market"]{background:none}
.nav-link[data-nav="news"]::after,.nav-link[data-nav="market"]::after{display:none}
.nav-link{border:0;outline-offset:2px}
.nav-link:focus:not(:focus-visible){outline:none}
.nav-link[aria-current="page"]{background:var(--brand-wash);color:var(--brand-ink);box-shadow:none;font-weight:650}
.nav-link:hover{transform:none}
.nav-link[data-nav="news"]{margin-left:10px}
.nav-link[data-nav="news"]::before{content:"";position:absolute;left:-6px;top:9px;bottom:9px;width:1px;background:var(--line)}
.nav-link[data-nav="market"] .ic{overflow:visible}
.nav-link[data-nav="market"]>span{position:relative;padding-right:9px}
.nav-link[data-nav="market"]>span::after{content:"";position:absolute;right:0;top:1px;width:5px;height:5px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 0 rgba(34,197,94,.5);animation:fxNavLive 2.2s ease-out infinite}
@keyframes fxNavLive{0%{box-shadow:0 0 0 0 rgba(34,197,94,.55)}70%,100%{box-shadow:0 0 0 6px rgba(34,197,94,0)}}
@media(prefers-reduced-motion:reduce){.nav-link[data-nav="market"]>span::after{animation:none}}

/* —— 行情带：与上下两条导航同色系的浅色玻璃条（深色主题下自动变深） —— */
.fx-page{--fx-tape:color-mix(in srgb,var(--surface) 86%,var(--brand) 14%);--fx-tape-ink:var(--ink)}
:root[data-theme="dark"] .fx-page{--fx-tape:color-mix(in srgb,var(--surface) 90%,var(--brand) 10%)}
.fx-tape{height:40px;background:linear-gradient(180deg,color-mix(in srgb,var(--surface) 94%,var(--brand) 6%),var(--fx-tape));border-bottom:1px solid var(--line);box-shadow:0 6px 18px -16px rgba(10,28,19,.5)}
.fx-tape-tag{gap:6px;background:none;padding-right:12px}
.fx-tape-tag b{padding:3px 8px 3px 7px;border-radius:999px;background:color-mix(in srgb,#ef4444 12%,var(--surface));color:#dc2626;letter-spacing:.1em;font-size:11px}
.fx-tape-tag .fx-live{margin-right:-2px}
.fx-tape-view{-webkit-mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,transparent,#000 36px,#000 calc(100% - 36px),transparent)}
.fx-tk{gap:7px;padding:0 15px;border-right:0;position:relative;font-size:12.5px;color:var(--ink)}
.fx-tk::after{content:"";position:absolute;right:0;top:12px;bottom:12px;width:1px;background:var(--line)}
.fx-tk:hover{background:color-mix(in srgb,var(--brand) 9%,transparent)}
.fx-tk-n{font-weight:650;color:var(--ink)}
.fx-tk code{color:var(--ink-3)}
.fx-tk b{color:var(--ink);font-weight:650}
.fx-tk em{padding:2px 7px;border-radius:6px;background:color-mix(in srgb,currentColor 12%,transparent);font-size:11.5px}
@keyframes fxTapeTick{0%{background:color-mix(in srgb,var(--brand) 22%,transparent)}100%{background:transparent}}
.fx-tape-meta{color:var(--ink-3)}
.ab-ticker-toggle{border-color:var(--line);background:var(--surface);color:var(--ink-2)}
.ab-ticker-toggle:hover{border-color:var(--brand);color:var(--brand-ink)}

/* —— 关联标的 chip：带影响方向 —— */
.fn-schip{gap:4px;max-width:220px;height:23px;padding:0 4px 0 7px;--chip:var(--ink-3);border-color:color-mix(in srgb,var(--chip) 30%,var(--line));background:color-mix(in srgb,var(--chip) 6%,var(--surface))}
.fn-schip i{font-style:normal;font-size:8.5px;color:var(--chip)}
.fn-schip em{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--chip) 14%,transparent);color:var(--chip)}
.fn-schip.is-flat em{color:var(--ink-3)}
.fn-schip.is-up,.fn-schip.is-down{border-color:color-mix(in srgb,var(--chip) 30%,var(--line))}
.sd-imp{display:inline-block;margin-right:8px;padding:1px 7px;border-radius:999px;font-style:normal;font-size:11.5px;font-weight:700;line-height:1.6}
.sd-imp.is-flat{background:var(--sunken);color:var(--ink-3)}

/* —— 个股头部：行业标签与一句话简介 —— */
.sd-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sd-tags span{padding:2px 9px;border-radius:999px;background:var(--sunken);border:1px solid var(--line);font-size:11.5px;color:var(--ink-2)}
.sd-tags p{flex:1 1 100%;margin:4px 0 0;font-size:12.5px;line-height:1.7;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* —— 走势预测 —— */
.sd-fc-btn{gap:5px;display:inline-flex;font-family:inherit;font-size:12px;padding:0 10px}
.sd-fc-btn .ic{width:13px;height:13px}
.sd-fc-btn[aria-pressed="true"]{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 70%,#0ea5e9));border-color:transparent;color:#fff}
.sd-fc{margin-top:var(--fx-gap)}
.sd-fc .sd-h h3 small{margin-left:10px;font-size:12px;font-weight:500}
.sd-fc-ctl{display:flex;align-items:center;gap:8px}
.sd-fc-ctl .sd-tgl{font-family:inherit;font-size:11.5px}
.fc-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) minmax(0,1fr);gap:18px;align-items:start}
.fc-grid>div{min-width:0}
.fc-kpi{display:flex;justify-content:space-between;gap:14px;align-items:flex-end}
.fc-kpi small{display:block;font-size:11.5px;color:var(--ink-3)}
.fc-kpi b{display:block;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-.02em}
.fc-kpi em{font-style:normal;font-size:13px;font-weight:650}
.fc-prob{min-width:104px;text-align:right}
.fc-prob b{font-size:22px;color:var(--ink)}
.fc-prob i{display:flex;height:6px;margin-top:5px;border-radius:99px;overflow:hidden;background:var(--sunken)}
.fc-prob i span{display:block;height:100%}
.fc-spark{display:block;width:100%;height:92px;margin-top:12px;border-radius:10px;background:var(--sunken)}
.fc-range{margin-top:12px}
.fc-range-bar{position:relative;height:10px;border-radius:99px;background:var(--sunken)}
.fc-range-bar .r80{position:absolute;top:0;bottom:0;border-radius:99px}
.fc-range-bar b{position:absolute;top:-4px;width:3px;height:18px;margin-left:-1.5px;border-radius:2px}
.fc-range-bar b.now{background:var(--ink)}
.fc-range-l{display:flex;justify-content:space-between;gap:8px;margin-top:6px;font-size:11.5px;color:var(--ink-3)}
.fc-kv{margin-top:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
.fc-kv em{font-style:normal;font-size:11.5px;margin-left:4px}
.fc-models .sd-table td,.fc-models .sd-table th{padding:8px 8px}
.fc-w{display:block;width:64px;height:5px;border-radius:99px;background:var(--sunken);overflow:hidden}
.fc-w i{display:block;height:100%;border-radius:99px;background:var(--brand)}
.fc-note{margin:10px 0 0;font-size:11.5px;line-height:1.7;color:var(--ink-3)}
.fc-view{padding:14px;border-radius:12px;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 7%,var(--surface)),var(--surface));border:1px solid var(--line)}
.fc-view-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fc-badge{padding:2px 12px;border:1.5px solid;border-radius:999px;font-size:13px;font-weight:700}
.fc-view p{margin:10px 0 0;font-size:13px;line-height:1.8;color:var(--ink-2)}
.fc-pc{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.fc-pc h5{margin:0 0 4px;font-size:11.5px;font-weight:700}
.fc-pc ul{margin:0;padding:0;list-style:none}
.fc-pc li{position:relative;padding-left:10px;font-size:12px;line-height:1.75;color:var(--ink-2)}
.fc-pc li::before{content:"";position:absolute;left:0;top:.75em;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.5}
@media(max-width:1180px){.fc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.fc-view{grid-column:1/-1}}
@media(max-width:760px){.fc-grid{grid-template-columns:minmax(0,1fr)}.sd-fc .sd-h{flex-wrap:wrap}.sd-fc .sd-h h3 small{display:none}.fc-models{overflow-x:auto}}

/* —— 获取软件页 —— */
#page-software .sw-hero{position:relative;padding:36px 0 26px;overflow:hidden}
#page-software .sw-hero::before{content:"";position:absolute;inset:-40% -10% auto auto;width:720px;height:520px;background:radial-gradient(closest-side,color-mix(in srgb,var(--brand) 20%,transparent),transparent);pointer-events:none}
.sw-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:center}
#page-software .doc-head h1{margin-top:16px;font-size:clamp(32px,4.2vw,50px)}
#page-software .doc-sub{margin-top:12px;font-size:16.5px}
#page-software .doc-meta{margin-top:18px}
.sw-hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.sw-steps{margin:0;padding:8px;list-style:none;display:grid;gap:4px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--surface) 82%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 24px 60px -40px rgba(10,28,19,.5)}
.sw-steps li{position:relative;display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:14px}
.sw-steps li:hover{background:var(--sunken)}
.sw-steps li>b{flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--brand-wash);color:var(--brand-ink);font:700 13px var(--font-mono)}
.sw-steps li:not(:last-child)::after{content:"";position:absolute;left:33px;top:54px;bottom:-10px;width:2px;background:linear-gradient(var(--line),transparent)}
.sw-steps strong{display:block;font-size:15px;font-weight:650}
.sw-steps span{display:block;margin-top:2px;font-size:13px;line-height:1.7;color:var(--ink-3)}
#page-software .dl-page-sec{padding-top:8px}
#page-software .official-contact-grid{margin-bottom:0}
#page-software .official-contact-card{border-radius:20px;transition:transform .2s,box-shadow .2s}
#page-software .official-contact-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px -28px rgba(10,28,19,.5)}
#page-software .prod{display:block;margin-top:18px;padding:26px 28px;border-radius:20px}
#page-software .prod-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo title tags" "logo sub tags";column-gap:16px;align-items:center;padding-bottom:20px;margin-bottom:20px;border-bottom:1px solid var(--line)}
#page-software .prod-head .brand-logo{grid-area:logo}
#page-software .prod-head h3{grid-area:title;margin:0;font-size:21px}
#page-software .prod-head p{grid-area:sub;margin:2px 0 0;font-size:14px}
#page-software .prod-tags{grid-area:tags;margin:0;justify-content:flex-end}
#page-software .feats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#page-software .feat{flex-direction:column;gap:10px;padding:16px;border-radius:14px;transition:border-color .2s,background .2s,transform .2s}
#page-software .feat:hover{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--surface);transform:translateY(-2px)}
.sw-two{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:18px;margin-top:18px;align-items:start}
#page-software .sw-two .changelog{margin-top:0;border-radius:20px}
#page-software .cl-list{grid-template-columns:minmax(0,1fr);gap:8px}
#page-software .cl-ver{position:relative;padding-left:22px}
#page-software .cl-ver::before{content:"";position:absolute;left:4px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--line-strong);box-shadow:0 0 0 4px var(--surface)}
#page-software .cl-ver-latest::before{background:var(--brand)}
#page-software .cl-ver::after{content:"";position:absolute;left:8px;top:22px;bottom:-22px;width:1px;background:var(--line)}
#page-software .cl-ver:last-child::after{display:none}
#page-software .cl-ver+.cl-ver{border-top:0;padding-top:0}
.sw-aside{display:grid;gap:14px;position:sticky;top:calc(var(--nav-h,64px) + 16px)}
.sw-card{padding:20px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.sw-card h3{display:flex;align-items:center;gap:8px;margin:0 0 10px;font-size:15px;font-weight:650}
.sw-card h3 .ic{width:17px;height:17px;color:var(--brand-ink)}
.sw-card p{margin:0;font-size:13px;line-height:1.85;color:var(--ink-2)}
.sw-link{display:flex;align-items:center;gap:12px;margin:0 -8px;padding:9px 8px;border-radius:12px;color:inherit;text-decoration:none}
.sw-link:hover{background:var(--sunken)}
.sw-link>.ic:first-child{flex:none;width:34px;height:34px;padding:8px;border-radius:10px;background:var(--brand-wash);color:var(--brand-ink)}
.sw-link>.ic:last-child{flex:none;width:15px;height:15px;color:var(--ink-3)}
.sw-link span{flex:1;min-width:0}
.sw-link b{display:block;font-size:13.5px;font-weight:650}
.sw-link small{display:block;font-size:12px;color:var(--ink-3)}
.sw-help{background:linear-gradient(150deg,var(--brand-wash),var(--surface))}
.sw-help .btn{margin-top:12px}
#page-software .mac-guide{border-radius:20px;margin-top:18px}
#page-software .mg-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
#page-software .mg-shot img{width:100%;height:auto;max-height:560px;object-fit:contain;object-position:top}
@media(max-width:1100px){#page-software .feats{grid-template-columns:repeat(2,minmax(0,1fr))}.sw-two{grid-template-columns:minmax(0,1fr)}.sw-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.sw-aside .sw-help{grid-column:1/-1}}
@media(max-width:860px){.sw-hero-grid{grid-template-columns:minmax(0,1fr);gap:22px}#page-software .prod-head{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"logo title" "logo sub" "tags tags";row-gap:4px}#page-software .prod-tags{justify-content:flex-start;margin-top:12px}#page-software .mg-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){#page-software .feats,.sw-aside{grid-template-columns:minmax(0,1fr)}#page-software .prod,.sw-card{padding:18px}#page-software .sw-hero{padding-top:24px}}

/* —— 全站质感：玻璃导航、柔和卡片、统一圆角与悬浮反馈 —— */
.topbar{-webkit-backdrop-filter:saturate(1.6) blur(16px);backdrop-filter:saturate(1.6) blur(16px);background:color-mix(in srgb,var(--surface) 82%,transparent)}
.fx-bar{-webkit-backdrop-filter:saturate(1.5) blur(14px);backdrop-filter:saturate(1.5) blur(14px);background:color-mix(in srgb,var(--surface) 88%,transparent)}
.fx-page{--fx-r:16px;--fx-r-sm:11px;--fx-shadow:0 1px 2px rgba(10,28,19,.035),0 14px 34px -26px rgba(10,28,19,.34);background:radial-gradient(1100px 420px at 12% -120px,color-mix(in srgb,var(--brand) 9%,transparent),transparent 70%),radial-gradient(900px 380px at 96% -80px,color-mix(in srgb,#0ea5e9 7%,transparent),transparent 70%),var(--bg,transparent)}
.fx-page .fn-box,.fx-page .mk-card{border-color:color-mix(in srgb,var(--line) 78%,transparent);transition:box-shadow .25s,border-color .25s}
.fx-page .fn-box:hover,.fx-page .mk-card:hover{box-shadow:0 1px 2px rgba(10,28,19,.04),0 22px 44px -30px rgba(10,28,19,.42)}
.fx-cta{background:linear-gradient(135deg,#0c1f16,#123524);box-shadow:0 8px 20px -12px rgba(10,28,19,.7)}
.fx-tabs button{position:relative;transition:color .18s}
.fx-tabs button.is-on::after,.fx-tabs button[aria-selected="true"]::after{height:2.5px;border-radius:99px}
.fx-brand-mark{background:linear-gradient(140deg,var(--brand-wash),color-mix(in srgb,var(--brand) 22%,var(--surface)))}
.mk-ai-badge{background:linear-gradient(135deg,var(--brand),color-mix(in srgb,var(--brand) 60%,#0ea5e9))}
.sd-nav{border-radius:14px}
.sd-head{background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 5%,var(--surface)),var(--surface) 55%)}
.fn-feed-i,.sd-news-list a,.sd-news-lead{transition:background .18s,transform .18s}
.fn-feed-i:hover{transform:translateY(-1px)}
::selection{background:color-mix(in srgb,var(--brand) 28%,transparent)}

.fc-rel{display:inline-block;padding:0 6px;border-radius:999px;font-size:11.5px!important;font-weight:650}.fc-rel[data-rel=hi]{background:color-mix(in srgb,#16a34a 14%,transparent);color:#15803d}.fc-rel[data-rel=mid]{background:var(--sunken);color:var(--ink-3)}.fc-rel[data-rel=lo]{background:color-mix(in srgb,#d97706 16%,transparent);color:#b45309}
.mk-rels{display:flex;flex-wrap:wrap;gap:6px;margin:5px 0 2px}.mk-rel{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 4px 0 9px;border:1px solid color-mix(in srgb,var(--chip) 30%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--chip) 6%,var(--surface));font-size:11.5px;color:var(--ink-2);text-decoration:none}.mk-rel b{font-weight:650}.mk-rel em{font-style:normal;font-size:11.5px;font-weight:700;padding:1px 6px;border-radius:999px;background:color-mix(in srgb,var(--chip) 14%,transparent);color:var(--chip)}.mk-rel:hover{border-color:var(--chip)}

/* ======================================================================
   R36 · 品牌字标、全球股市、量化精选、雷达增强、综合研判、图表语言、无留白
   ====================================================================== */
/* —— 品牌字标：AutoBand 粗黑 + 渐变色业务名 —— */
.fx-wordmark{display:inline-flex;align-items:baseline;gap:6px;font-size:17px;line-height:1.15;letter-spacing:-.035em;white-space:nowrap}
.fx-wordmark i{font-style:normal;font-weight:800;color:var(--ink)}
.fx-wordmark em{font-style:normal;font-weight:800;letter-spacing:.02em;background:linear-gradient(120deg,#12c46b 0%,#0aa37f 45%,#0b84d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;position:relative;padding-bottom:1px}
.fx-wordmark em::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:linear-gradient(90deg,#12c46b,#0b84d8);opacity:.55}
.fx-brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(145deg,#19d977,#0aa37f 60%,#0b84d8);color:#fff;box-shadow:0 6px 14px -8px rgba(10,163,127,.9),inset 0 1px 0 rgba(255,255,255,.35)}
.fx-brand-mark .ic{width:18px;height:18px}
.fx-brand-t small{letter-spacing:.02em}

/* —— 全球股市 —— */
.fn-world-box .fn-box-h h2 small{margin-left:10px;font-size:12px;font-weight:500;color:var(--ink-3)}
.fn-world{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.fn-wm{position:relative;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--surface);overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s}
.fn-wm:hover{transform:translateY(-2px);box-shadow:0 14px 30px -22px rgba(10,28,19,.55)}
.fn-wm.is-on{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 16%,transparent);background:linear-gradient(170deg,color-mix(in srgb,var(--brand) 8%,var(--surface)),var(--surface) 60%)}
.fn-wm-b{display:flex;flex-direction:column;gap:5px;flex:1;padding:12px 12px 8px;border:0;background:none;color:inherit;text-align:left;cursor:pointer;font:inherit;min-width:0}
.fn-wm-h{display:flex;align-items:center;gap:6px;font-size:13.5px}
.fn-wm-h b{font-weight:700}
.fn-wm-h em{display:inline-flex;align-items:center;gap:4px;font-style:normal;font-size:11.5px;padding:1px 6px;border-radius:999px;background:var(--sunken);color:var(--ink-3)}
.fn-wm-h em.is-open{background:color-mix(in srgb,#16a34a 12%,transparent);color:#15803d}
.fn-wm-h time{margin-left:auto;font-size:11px;color:var(--ink-3)}
.fn-wm-n{font-size:11.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-wm-p{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}
.fn-wm-p b{font-size:19px;font-weight:700;letter-spacing:-.02em}
.fn-wm-p em{font-style:normal;font-size:11.5px;font-weight:650;padding:1px 6px;border-radius:6px}
.fn-wm-sp svg{display:block;width:100%;height:40px}
.fn-wm-sub{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:11px;color:var(--ink-3)}
.fn-wm-sub span{display:inline-flex;gap:5px;max-width:100%}
.fn-wm-sub i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90px}
.fn-wm-go{padding:7px 12px;border-top:1px solid var(--line);font-size:11.5px;font-weight:650;color:var(--brand-ink);text-decoration:none;background:color-mix(in srgb,var(--sunken) 55%,transparent)}
.fn-wm-go:hover{background:var(--brand-wash)}
#fnWorldTabs button[aria-pressed="true"]{background:var(--ink);color:var(--surface)}
@media(max-width:1400px){.fn-world{grid-template-columns:repeat(4,minmax(0,1fr))}.fn-wm:nth-child(n+5){grid-column:span 1}.fn-world .fn-wm:last-child{grid-column:auto}}
@media(max-width:1400px) and (min-width:901px){.fn-world{grid-template-columns:repeat(12,minmax(0,1fr))}.fn-wm{grid-column:span 3}.fn-wm:nth-child(n+5){grid-column:span 4}}
@media(max-width:900px){.fn-world{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.fn-wm{flex:0 0 200px;scroll-snap-align:start}.fn-world-box .fn-box-h{flex-wrap:wrap}.fn-world-box .fn-box-h h2 small{display:none}}

/* —— 量化精选 —— */
.fn-picks-box .fn-box-h h2 small{margin-left:10px;font-size:12px;font-weight:500;color:var(--ink-3)}
.fn-pk-m{margin:0 0 12px;padding:10px 14px;border-radius:12px;background:var(--sunken);font-size:12.5px;line-height:1.8;color:var(--ink-2)}
.fn-pk-m b{margin-right:8px;padding:1px 8px;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:11px;color:var(--brand-ink)}
.fn-pk-g{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.fn-pk{display:flex;flex-direction:column;padding:14px;border:1px solid var(--line);border-radius:14px;background:linear-gradient(175deg,color-mix(in srgb,var(--brand) 5%,var(--surface)),var(--surface) 40%);min-width:0;transition:box-shadow .2s,transform .2s}
.fn-pk:hover{transform:translateY(-2px);box-shadow:0 18px 36px -26px rgba(10,28,19,.6)}
.fn-pk.is-loading{min-height:260px;gap:10px}
.fn-pk header{display:flex;align-items:center;gap:10px}
.fn-pk-no{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:var(--ink);color:var(--surface);font:700 12px var(--font-mono)}
.fn-pk-nm{flex:1;min-width:0}
.fn-pk-nm small{display:block;margin-top:2px;font-size:11.5px;color:var(--ink-3)}
.fn-pk-ring{flex:none;width:46px;height:46px}
.fn-pk-ring text{font:700 14px var(--font-mono);fill:var(--ink)}
.fn-pk-px{display:flex;align-items:baseline;gap:8px;margin-top:10px}
.fn-pk-px b{font-size:21px;font-weight:700;letter-spacing:-.02em}
.fn-pk-px em{font-style:normal;font-size:12.5px;font-weight:650}
.fn-pk-sp{margin-left:auto;align-self:center}
.fn-pk-bars{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:10px}
.fn-pk-bars small{display:block;font-size:11px;color:var(--ink-3);white-space:nowrap}
.fn-pk-bars i{display:block;height:4px;margin-top:3px;border-radius:99px;background:var(--sunken);overflow:hidden}
.fn-pk-bars i b{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--brand),#0b84d8)}
.fn-pk h5{margin:12px 0 4px;font-size:11.5px;font-weight:700;color:var(--brand-ink)}
.fn-pk h5.is-risk{color:#b45309}
.fn-pk ul{margin:0;padding:0;list-style:none}
.fn-pk li{position:relative;padding-left:16px;font-size:12.5px;line-height:1.75;color:var(--ink-2)}
.fn-pk-why li::before{content:"✓";position:absolute;left:0;color:var(--brand);font-weight:700}
.fn-pk-risk li::before{content:"!";position:absolute;left:3px;color:#d97706;font-weight:800}
.fn-pk footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:12px}
.fn-pk footer a{font-size:12.5px;font-weight:650;color:var(--brand-ink);text-decoration:none}
.fn-pk footer button{height:26px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:11.5px;color:var(--ink-2);cursor:pointer}
.fn-pk footer button:hover{border-color:var(--brand);color:var(--brand-ink)}
.fn-pk-o{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:12px;font-size:12px}
.fn-pk-o b{margin-right:4px;color:var(--ink-3);font-weight:650}
.fn-pk-o a{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 4px 0 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);text-decoration:none}
.fn-pk-o a em{font-style:normal;font:600 11.5px var(--font-mono);padding:1px 6px;border-radius:999px;background:var(--sunken);color:var(--ink-3)}
.fn-pk-o a:hover{border-color:var(--brand)}
.fn-pk-d{margin:12px 0 0;font-size:11.5px;line-height:1.7;color:var(--ink-3)}

/* —— 雷达增强 —— */
.fn-rbal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:8px;font-size:11.5px;color:var(--ink-3)}
.fn-rbal i{display:flex;height:6px;border-radius:99px;overflow:hidden;background:var(--sunken)}
.fn-rbal i b{display:block;height:100%;transition:width .6s}
.fn-rbal em{font-style:normal;white-space:nowrap}
.fn-chips{flex-wrap:wrap}
.fn-chips button em{font-style:normal;margin-left:5px;font:600 11px var(--font-mono);opacity:.6}
.fn-rsort{display:inline-flex;margin-left:auto;padding:2px;border-radius:8px;background:var(--sunken)}
.fn-rsort button{height:22px!important;padding:0 8px!important;border:0!important;border-radius:6px!important;background:none!important;font-size:11px!important;color:var(--ink-3)!important;cursor:pointer}
.fn-rsort button[aria-pressed="true"]{background:var(--surface)!important;color:var(--ink)!important;box-shadow:0 1px 2px rgba(10,28,19,.14)}
.fn-rl li{transition:background .3s,box-shadow .3s}
.fn-rl li.is-spot{background:color-mix(in srgb,var(--brand) 9%,transparent);box-shadow:inset 3px 0 0 var(--brand)}
.fn-blip.is-spot .fn-blip-c{stroke:var(--ink);stroke-width:2}
.fn-blip.is-spot{filter:drop-shadow(0 0 6px color-mix(in srgb,var(--brand) 70%,transparent))}
.fn-new{display:inline-block;margin-left:6px;padding:0 5px;border-radius:5px;background:#ef4444;color:#fff;font:700 10px var(--font-mono);font-style:normal;vertical-align:middle;animation:fnNew 1.6s ease-in-out 4}
@keyframes fnNew{50%{opacity:.35}}
.fn-rl-x{display:block;margin-top:1px;font-size:11.5px;color:var(--ink-3)}
.fn-focus-g{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:14px;align-items:center;margin:8px 0 2px}
.fn-focus-sp svg{display:block;width:100%;height:54px}
.fn-focus-st{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 8px}
.fn-focus-st span small{display:block;font-size:11.5px;color:var(--ink-3)}
.fn-focus-st span b{font:700 15px var(--font-mono)}
.fn-focus-st>i{grid-column:1/-1;display:flex;height:5px;border-radius:99px;overflow:hidden;background:var(--sunken)}
.fn-focus-st>i b{display:block;height:100%}
@media(max-width:700px){.fn-focus-g{grid-template-columns:minmax(0,1fr)}}

/* —— 新闻栅格：最后一行不留空位 —— */
.fn-feed-i.is-wide{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);align-items:stretch}
.fn-feed-i.is-wide .fn-feed-img{height:100%;min-height:180px}

/* —— 个股：资讯与公司资料等高，资讯内部滚动，不留空白 —— */
.sd-row-news{align-items:stretch}
#mkStockNews{position:relative;min-height:560px;display:block}
#mkStockNews .sd-b{position:absolute;inset:54px 0 0 0;padding:0 16px 14px;overflow-y:auto;overscroll-behavior:contain}
.sd-news2{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.sd-news2 .sd-news-lead{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:14px;align-items:center;padding:10px;border-radius:12px;background:var(--sunken);text-decoration:none;color:inherit}
.sd-news2 .sd-news-lead img{width:100%;height:150px;object-fit:cover;border-radius:10px}
.sd-news2 .sd-news-lead b{display:block;font-size:16px;line-height:1.45}
.sd-news2 .sd-news-lead em{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;font-style:normal;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.sd-news2 .sd-news-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin:0;padding:0;list-style:none}
.sd-news2 .sd-news-list a{display:flex;gap:10px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none;color:inherit}
.sd-news2 .sd-news-list a img{flex:none;order:2;width:76px;height:54px;object-fit:cover;border-radius:8px}
.sd-news2 .sd-news-list a span{flex:1;min-width:0}
.sd-news2 .sd-news-list b{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13.5px;line-height:1.5;font-weight:650}
.sd-news2 small{display:block;margin-top:5px;font-size:11.5px;color:var(--ink-3)}
.sd-news2 a:hover b{color:var(--brand-ink)}
.sd-news-h{margin:6px 0 0}
.sd-news-none{padding:10px 14px;border-radius:10px;background:var(--sunken);font-size:12.5px;color:var(--ink-3)}
@media(max-width:1180px){#mkStockNews{min-height:0}#mkStockNews .sd-b{position:static;max-height:640px;padding:0 0 4px}}
@media(max-width:760px){.sd-news2 .sd-news-list{grid-template-columns:minmax(0,1fr)}.sd-news2 .sd-news-lead{grid-template-columns:minmax(0,1fr)}.fn-feed-i.is-wide{display:block}}

/* —— 图表：语言按钮与截图标题条 —— */
.sd-clang{display:inline-flex;align-items:center;gap:4px;font-family:inherit;font-size:11px;padding:0 8px}
.sd-clang .ic{width:13px;height:13px}
.mk-cap{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;padding:8px 14px 0;font-size:12px;color:var(--ink-3)}
.mk-cap b{font-size:15px;font-weight:700;color:var(--ink)}
.mk-cap code{font:500 11.5px var(--font-mono)}
.mk-cap strong{font-size:15px}
.mk-cap em{font-style:normal;font-weight:650}
.mk-cap time{margin-left:auto;font:500 11px var(--font-mono)}
.mk-cap i{font-style:normal;font:600 11.5px var(--font-mono);letter-spacing:.04em;color:var(--brand-ink);opacity:.8}

/* —— 综合研判 —— */
.fc-view p b{font-weight:650;color:var(--ink)}
.fc-ai{margin-top:6px!important;font-size:12.5px!important}
.fc-ai em{display:inline-block;margin-right:6px;padding:0 6px;border-radius:5px;background:var(--brand);color:#fff;font:700 11px var(--font-mono);font-style:normal}
.fc-factors{margin:10px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.fc-factors li{display:flex;gap:9px;align-items:flex-start}
.fc-factors li>i{flex:none;display:grid;place-items:center;width:20px;height:20px;border-radius:6px;font-style:normal;font-size:10px}
.fc-factors b{display:block;font-size:12px;font-weight:700}
.fc-factors span{display:block;font-size:12px;line-height:1.6;color:var(--ink-2)}
.fx-brand-t .fx-wordmark{font-size:17px;font-weight:800}@media(max-width:560px){.fx-brand-t .fx-wordmark{font-size:15px}}

.fc-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.fc-view{grid-column:1/-1}
.fc-factors{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px}
@media(max-width:1180px){.fc-factors{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.fc-grid{grid-template-columns:minmax(0,1fr)}.fc-factors{grid-template-columns:minmax(0,1fr)}}
.sd-news2 .sd-news-lead{display:flex}
.sd-news2 .sd-news-lead img{flex:none;width:260px}
.sd-news2 .sd-news-lead>span{flex:1;min-width:0}
@media(max-width:760px){.sd-news2 .sd-news-lead{flex-direction:column;align-items:stretch}.sd-news2 .sd-news-lead img{width:100%}}
.sd-news2 .sd-news-lead{flex-direction:row;align-items:center}@media(max-width:760px){.sd-news2 .sd-news-lead{flex-direction:column;align-items:stretch}}

/* ======================================================================
   R37 · 字体清晰度、字标、无留白与交互修正
   ====================================================================== */
:root{--font-mono:"Geist Mono","JetBrains Mono","SF Mono",ui-monospace,Menlo,Consolas,"Noto Sans SC","PingFang SC","HarmonyOS Sans SC","Microsoft YaHei UI","Microsoft YaHei",monospace}
.fx-page{--ink-3:#4a5c52;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 1,"cv11" 1;font-synthesis:none}
:root[data-theme="dark"] .fx-page{--ink-3:#93a69a}
.fx-page small,.fx-page time,.fx-page code{font-weight:500;letter-spacing:.005em}
.fx-page .fn-mono,.fx-page .mk-mono{letter-spacing:-.01em}
/* 字标：不加下划线，日期在下方单独一行 */
.fx-wordmark em::after{display:none}
.fx-wordmark{line-height:1.25;padding-bottom:0}
.fx-wordmark em{padding-bottom:0}
.fx-brand-t{gap:1px;line-height:1.25}
.fx-brand-t small{display:block;margin-top:1px;line-height:1.3}
/* 交易所时钟：进度条只在交易时段显示（表示当日交易进度） */
.fn-clk-bar{display:none}
.fn-clk.is-open .fn-clk-bar,.fn-clk.is-break .fn-clk-bar{display:block;height:4px;background:color-mix(in srgb,var(--brand) 14%,var(--sunken))}
.fn-clk.is-closed .fn-clk-s,.fn-clk.is-pre .fn-clk-s{margin-bottom:2px}
/* 雷达左栏：事件日志改为多行列表，填满雷达图下方 */
.fn-radar-l{display:flex;flex-direction:column}
.fn-radar-log{height:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:2px;padding:6px 4px;overflow:hidden}
.fn-radar-log span,.fn-radar-log span:nth-child(n){position:static;opacity:1;animation:none;display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:7px;padding:5px 8px;border-radius:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-radar-log span:first-child{background:color-mix(in srgb,var(--brand) 10%,transparent)}
.fn-radar-leg{order:-1;margin:8px 0}
/* 悬停卡可以移入 */
.fn-hover{pointer-events:auto}
.fn-hover footer a{font-weight:650;color:var(--brand-ink);text-decoration:none}
/* 快讯摘要 */
.fn-fl-s{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 0;font-size:12.5px;line-height:1.65;color:var(--ink-2)}
.fn-fl.is-open .fn-fl-s{-webkit-line-clamp:unset}
/* 量化精选：理由与风险并排，右侧补关键指标 */
.fn-pk-body{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:4px 22px}
.fn-pk-body h5{margin-top:12px}
.fn-pk-kv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:10px}
.fn-pk-kv span{padding:6px 8px;border-radius:8px;background:var(--sunken)}
.fn-pk-kv small{display:block;font-size:11px;color:var(--ink-3)}
.fn-pk-kv b{font-size:12.5px;font-weight:650}
.fn-pk-sp{flex:1;min-width:0}.fn-pk-sp svg{width:100%;height:44px}
@media(max-width:760px){.fn-pk-body{grid-template-columns:minmax(0,1fr)}}
/* 指数页没有公司资料：资讯占满整行，高度随内容 */
.sd-row-news.is-solo{grid-template-columns:minmax(0,1fr)}
.sd-row-news.is-solo #mkStockNews{min-height:0}
.sd-row-news.is-solo #mkStockNews .sd-b{position:static;max-height:none;padding:0 0 4px}
.sd-row-news.is-solo .sd-news-list{grid-template-columns:repeat(3,minmax(0,1fr))}
/* 图表语言下拉 */
.sd-clang{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 4px 0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink-2)}
.sd-clang select{height:26px;border:0;background:none;font:600 12px var(--font-sans);color:inherit;cursor:pointer;padding:0 2px}
/* 技术面研判文字 */
.mk-ai-sum{margin:10px 0 12px;padding:10px 12px;border-radius:10px;background:var(--sunken);font-size:12.5px;line-height:1.8;color:var(--ink-2)}
.mk-ai-guide{margin-top:12px;padding:10px 12px;border:1px dashed var(--line-strong);border-radius:10px;font-size:12px;line-height:1.75;color:var(--ink-2)}
.mk-ai-guide b{display:block;margin-bottom:2px;font-size:12px;color:var(--ink)}
.mk-tools{flex-wrap:wrap;row-gap:6px}

/* ======================================================================
   R38 · 字标统一渐变、雷达去除无意义跳动、文章研判、悬停小窗、点缀
   ====================================================================== */
.fx-wordmark{font-family:"Geist","Inter",var(--font-sans);font-weight:800;letter-spacing:-.03em;gap:5px}
.fx-wordmark i,.fx-wordmark em{font-style:normal;font-weight:800;letter-spacing:inherit;background:linear-gradient(110deg,#10c468 0%,#08a886 48%,#0b84d8 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
:root[data-theme="dark"] .fx-wordmark i,:root[data-theme="dark"] .fx-wordmark em{background-image:linear-gradient(110deg,#3ee08f,#22c9a6 48%,#4aa8f0)}
/* 雷达：只有 30 分钟内的新事件才有脉冲；旧事件静止并淡化 */
.fn-rl-top{display:flex;align-items:center;gap:6px;min-width:0}
.fn-rl-top .fn-nm{min-width:0}
.fn-new{flex:none;margin-left:0;animation:none}
.fn-radar-log span.is-old{opacity:.62}
.fn-radar-log span.is-fresh{background:color-mix(in srgb,var(--brand) 10%,transparent)}
.fn-radar-log span:first-child{background:none}
.fn-radar-log span.is-fresh:first-child{background:color-mix(in srgb,var(--brand) 10%,transparent)}
.fn-blip:not(.is-fresh) circle:first-child{fill-opacity:.12}
.fn-sweep{animation-duration:9s}
/* 文章内：相关标的与研判 */
.rd-extra{margin:26px 0 6px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(165deg,color-mix(in srgb,var(--brand) 6%,var(--surface)),var(--surface) 55%)}
.rd-extra h3{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:16px;font-weight:700}
.rd-in-dir{margin-left:auto;padding:2px 10px;border-radius:999px;background:var(--sunken);font-style:normal;font-size:12px;font-weight:700;color:var(--ink-2)}
.rd-in-dir.is-up{background:color-mix(in srgb,#f23645 12%,transparent);color:#e11d48}.rd-in-dir.is-down{background:color-mix(in srgb,#2563eb 12%,transparent);color:#2563eb}
.rd-in-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:18px}
.rd-in-list{display:grid;gap:6px;align-content:start}
.rd-in-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;padding:9px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:inherit;text-decoration:none}
.rd-in-row:hover{border-color:var(--brand)}
.rd-in-row .fn-q{grid-row:1/3;grid-column:2;text-align:right}
.rd-in-k{font-style:normal;font-size:11.5px;color:var(--ink-3)}
.rd-in-txt p{margin:0 0 8px;font-size:14px;line-height:1.85;color:var(--ink-2)}
.rd-in-txt small{display:block;font-size:11.5px;line-height:1.7;color:var(--ink-3)}
.rd-lang{display:inline-flex;align-items:center;gap:4px;padding:0 4px 0 8px}
.rd-lang select{border:0;background:none;font:600 12px var(--font-sans);color:inherit;cursor:pointer;height:28px}
@media(max-width:760px){.rd-in-g{grid-template-columns:minmax(0,1fr)}}
/* 行情页悬停小窗 */
.mk-hover{pointer-events:auto}.mk-hover .fn-hv-sp svg{width:120px;height:34px}
.mk-table tbody tr[data-sym],.mk-mv li[data-sym]{cursor:pointer}
/* 点缀：标题强调条、卡片顶部高光、页面柔光与细网格 */
.fx-page{background-image:radial-gradient(1100px 420px at 12% -120px,color-mix(in srgb,var(--brand) 10%,transparent),transparent 70%),radial-gradient(900px 380px at 96% -80px,color-mix(in srgb,#0ea5e9 8%,transparent),transparent 70%),linear-gradient(color-mix(in srgb,var(--line) 38%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 38%,transparent) 1px,transparent 1px);background-size:auto,auto,44px 44px,44px 44px;background-attachment:scroll,scroll,fixed,fixed}
.fx-page .fn-box,.fx-page .mk-card{position:relative;background-image:linear-gradient(180deg,color-mix(in srgb,var(--surface) 100%,transparent),var(--surface))}
.fx-page .fn-box::before,.fx-page .mk-card::before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--brand) 55%,transparent),transparent);opacity:.55;pointer-events:none}
.fn-box-h h2,.mk-h,.sd-h h3,.mk-lt{position:relative}
.fn-box-h h2>.fn-hi{box-shadow:0 6px 14px -8px color-mix(in srgb,var(--brand) 80%,transparent);background:linear-gradient(145deg,color-mix(in srgb,var(--brand) 16%,var(--surface)),color-mix(in srgb,#0ea5e9 12%,var(--surface)))}
.sd-h h3::before,.mk-h::before,.mk-lt::before{content:"";display:inline-block;width:3px;height:14px;margin-right:8px;border-radius:2px;vertical-align:-2px;background:linear-gradient(180deg,#12c46b,#0b84d8)}
.sd-h h3:has(.mk-ai-badge)::before,.mk-h:has(.mk-ai-badge)::before{display:none}
.fn-tabs button[aria-selected="true"],.fn-tabs button[aria-pressed="true"]{box-shadow:0 6px 14px -10px rgba(10,28,19,.8)}
.fn-clk,.fn-card,.fn-wm,.fn-pk{backdrop-filter:saturate(1.2)}
.fn-card.is-on,.fn-wm.is-on{background-image:linear-gradient(170deg,color-mix(in srgb,var(--brand) 9%,var(--surface)),var(--surface) 62%)}
.fx-cta{position:relative;overflow:hidden}
.fx-cta::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);transform:translateX(-120%);transition:transform .6s}
.fx-cta:hover::after{transform:translateX(120%)}

/* ======================================================================
   R39 · 自动收起主导航、雷达规则与多维研判、磨砂玻璃卡片与极光背景
   ====================================================================== */
.topbar{transition:transform .28s ease}
html.ab-top-hidden .topbar{transform:translateY(-100%)}
button.fn-rscan{border:0;cursor:pointer;font:inherit}
.fn-rscan .ic{width:12px;height:12px;margin-left:2px;opacity:.6}
.fn-rule{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:0 0 12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--brand) 30%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand) 5%,var(--surface));font-size:12.5px}
.fn-rule b{font-weight:700}
.fn-rule label{display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}
.fn-rule select{height:28px;padding:0 6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:500 12px var(--font-sans)}
.fn-rule button{height:28px;padding:0 10px;border:1px solid var(--brand);border-radius:8px;background:var(--brand-wash);color:var(--brand-ink);font-size:12px;font-weight:650;cursor:pointer}
.fn-rule small{flex:1 1 100%;color:var(--ink-3);font-size:11.5px}
.fn-deep{margin:10px 0 8px}
.fn-deep-h{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:13px}
.fn-deep-h em{padding:2px 10px;border-radius:999px;color:#fff;font-style:normal;font-size:12px;font-weight:700}
.fn-deep-h small{color:var(--ink-3);font-size:11.5px}
.fn-deep-g{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.fn-deep-c{padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);min-width:0}
.fn-deep-c h6{display:flex;align-items:center;gap:6px;margin:0 0 4px;font-size:11.5px;font-weight:650;color:var(--ink-3)}
.fn-deep-c h6 i{font-style:normal;font-size:10px}
.fn-deep-c>b{display:block;font:700 16px var(--font-mono);margin-bottom:4px}
.fn-deep-c>b em{font-style:normal}
.fn-deep-c span{display:block;font-size:12px;line-height:1.65;color:var(--ink-2)}
@media(max-width:900px){.fn-deep-g{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fn-headline.is-one{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center}
.fn-one strong{display:block;font-size:22px;line-height:1.4;letter-spacing:-.01em}
.fn-one a{color:inherit;text-decoration:none}
.fn-one p{margin:10px 0;font-size:14px;line-height:1.85;color:var(--ink-2)}
.fn-one small{display:block;margin-bottom:10px;color:var(--ink-3)}
.fn-one>span{display:block;margin-top:14px;font-size:12px}
/* 极光背景 + 磨砂玻璃卡片 */
.fx-page{position:relative;isolation:isolate}
.fx-page::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60vw 46vh at 8% 4%,color-mix(in srgb,#19d977 16%,transparent),transparent 62%),radial-gradient(52vw 44vh at 94% 10%,color-mix(in srgb,#0b84d8 14%,transparent),transparent 62%),radial-gradient(48vw 46vh at 62% 96%,color-mix(in srgb,#8b5cf6 9%,transparent),transparent 64%),radial-gradient(40vw 40vh at 18% 88%,color-mix(in srgb,#f59e0b 7%,transparent),transparent 66%)}
:root[data-theme="dark"] .fx-page::before{opacity:.75}
.fx-page .fn-box,.fx-page .mk-card,.fx-page .fn-clk{background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 86%,transparent),color-mix(in srgb,var(--surface) 72%,transparent));-webkit-backdrop-filter:blur(18px) saturate(1.35);backdrop-filter:blur(18px) saturate(1.35);border:1px solid color-mix(in srgb,var(--surface) 60%,var(--line));box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 55%,transparent),0 1px 2px rgba(10,28,19,.04),0 18px 40px -30px rgba(10,28,19,.4)}
:root[data-theme="dark"] .fx-page .fn-box,:root[data-theme="dark"] .fx-page .mk-card,:root[data-theme="dark"] .fx-page .fn-clk{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 40px -30px #000;border-color:color-mix(in srgb,#fff 9%,var(--line))}
.fx-page .fn-box::after,.fx-page .mk-card::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(420px 160px at 0% 0%,color-mix(in srgb,var(--brand) 7%,transparent),transparent 70%),radial-gradient(360px 160px at 100% 100%,color-mix(in srgb,#0b84d8 5%,transparent),transparent 70%);z-index:0}
.fx-page .fn-box>*,.fx-page .mk-card>*{position:relative;z-index:1}
.fx-page #mkStockNews .sd-b{position:absolute}
.fn-card,.fn-wm,.fn-pk,.fn-deep-c,.fn-feed-i{background-color:color-mix(in srgb,var(--surface) 82%,transparent)}

/* ======================================================================
   R40 · 流畅度（只用 transform、去掉大面积模糊）、深色背景、留白收紧
   ====================================================================== */
.topbar{transition:transform .26s cubic-bezier(.3,.7,.3,1)}
.fx-head,.sd-nav{transition:transform .26s cubic-bezier(.3,.7,.3,1)}
html.ab-top-hidden .fx-head,html.ab-top-hidden .sd-nav{transform:translateY(calc(-1 * var(--ab-top-h,64px)))}
.fx-page{background-image:none;background-attachment:scroll}
.fx-page::before{transform:translateZ(0)}
.fx-page .fn-box,.fx-page .mk-card,.fx-page .fn-clk{-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(155deg,color-mix(in srgb,var(--surface) 95%,var(--brand) 5%),var(--surface) 46%,color-mix(in srgb,var(--surface) 96%,#0b84d8 4%))}
.fn-clk,.fn-card,.fn-wm,.fn-pk{-webkit-backdrop-filter:none;backdrop-filter:none}
.fx-page .fn-box,.fx-page .mk-card{transition:none}
.fx-page .fn-box:hover,.fx-page .mk-card:hover{box-shadow:inset 0 1px 0 color-mix(in srgb,#fff 55%,transparent),0 1px 2px rgba(10,28,19,.04),0 18px 40px -30px rgba(10,28,19,.4)}
.sd-nav{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 10px 24px -20px rgba(10,28,19,.6)}
:root[data-theme="dark"] .fx-page::before{opacity:.5}
:root[data-theme="dark"] .fx-page .fn-box:hover,:root[data-theme="dark"] .fx-page .mk-card:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 18px 40px -30px #000}
:root[data-theme="dark"] .fx-cta{background:linear-gradient(135deg,#19d977,#0aa37f);color:#04130c}
:root[data-theme="dark"] .fx-page .fn-box::after,:root[data-theme="dark"] .fx-page .mk-card::after{opacity:.6}
/* 图标与徽标修正 */
.fn-box-h h2>.fn-hi.fn-hi-radar{background:linear-gradient(145deg,#19d977,#0b84d8);color:#fff}
.fn-box-h h2>.fn-hi.fn-hi-live{background:color-mix(in srgb,#ef4444 12%,var(--surface));color:#dc2626}
button.fn-rscan{display:inline-flex;align-items:center;gap:6px}
/* 头部：标签不被裁切，搜索与同步状态更紧凑 */
@media(max-width:1760px){.fx-search kbd{display:none}.fx-sync small{display:none}.fx-tabs button{padding:0 8px;font-size:13px}.fx-tabs button::after{left:8px;right:8px}.fx-search{flex-basis:190px}}
.fx-search input{text-overflow:ellipsis}
.fx-tabs{-webkit-mask-image:none;mask-image:none;padding:0}
/* 雷达：日志单行省略，事件流占满右栏 */
.fn-radar-log span,.fn-radar-log span:nth-child(n){display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fn-radar-log span time,.fn-radar-log span b{margin-right:7px}
.fn-radar-stream{flex:1 1 auto;min-height:240px;display:flex;flex-direction:column}
.fn-radar-events{max-height:none}
/* 技术面分析正文 */
.mk-ai-narr{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.mk-ai-narr>b{display:block;margin-bottom:6px;font-size:13px}
.mk-ai-narr p{margin:0 0 8px;font-size:12.5px;line-height:1.8;color:var(--ink-2)}
.mk-ai-narr p:last-child{margin:0}
.mk-ai-narr em{display:inline-block;margin-right:8px;padding:0 7px;border-radius:5px;background:var(--brand-wash);color:var(--brand-ink);font-style:normal;font-size:11.5px;font-weight:700}
/* 个股卡片：内容撑满卡片高度，不留空白 */
.sd-grid>.sd-card{display:flex;flex-direction:column}
.sd-grid>.sd-card>.sd-b{flex:1;display:flex;flex-direction:column;gap:10px;min-height:0}
.sd-grid .sd-b>.sd-kv{flex:1;grid-auto-rows:minmax(54px,1fr)}
.sd-grid .sd-b>.sd-kv>div{display:flex;flex-direction:column;justify-content:center}
.sd-grid .sd-b>.sd-tablewrap,.sd-grid .sd-b>table.sd-table{flex:1}
.sd-grid .sd-b>.sd-tablewrap>table{height:100%}
.sd-grid .sd-b>table.sd-table{height:auto;min-height:0}
.sd-grid .sd-b>.sd-foot,.sd-grid .sd-b>small:last-child{margin-top:auto}
.sd-grid .sd-b>.sd-donut-wrap{flex:1;align-items:center}
.sd-grid .sd-b>svg{flex:1 1 auto;width:100%;min-height:150px;max-height:340px}
.sd-vbp>div{grid-template-columns:150px minmax(0,1fr) 86px}
.sd-vbp em{white-space:nowrap}
#sdReturns .sd-table{font-size:11.5px;table-layout:fixed}
#sdReturns .sd-table td,#sdReturns .sd-table th{padding:8px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sdReturns .sd-table td:first-child,#sdReturns .sd-table th:first-child{width:86px}
.sd-grid .sd-b>.sd-heat{flex:1;grid-auto-rows:minmax(34px,1fr)}
.sd-grid .sd-b>.sd-heat .sd-heat-c{height:auto;min-height:34px;display:grid;place-items:center}

/* R41 */
.fn-scanbar{display:none}
.fn-radar-log{font-size:11px;gap:1px}
.fn-radar-log span,.fn-radar-log span:nth-child(n){padding:4px 8px}
.fn-radar-log span.is-long{text-overflow:clip}
.fn-radar-log span u{display:inline-block;text-decoration:none;white-space:nowrap;animation:fnMarq 10s ease-in-out infinite alternate}
.fn-radar-log:hover span u{animation-play-state:paused}
@keyframes fnMarq{0%,12%{transform:translateX(0)}88%,100%{transform:translateX(var(--d))}}
@media(prefers-reduced-motion:reduce){.fn-radar-log span u{animation:none}.fn-radar-log span.is-long{overflow-x:auto}}
.fn-radar-event span{white-space:normal;overflow:visible;display:block;-webkit-line-clamp:unset}
/* 热力图 / 排行 / 全球指数已并入行情中心，财经页不再重复 */
#fnSecHeat,#fnSecRank,#fnSecGlobal,[data-fnjump="fnSecHeat"],[data-fnjump="fnSecRank"],[data-fnjump="fnSecGlobal"]{display:none!important}
.fx-row:has(>#fnSecHeat){grid-template-columns:minmax(0,1fr)}
.fx-row:has(>#fnSecHeat)>.fx-stack{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:var(--fx-gap);align-items:stretch}
@media(max-width:900px){.fx-row:has(>#fnSecHeat)>.fx-stack{grid-template-columns:minmax(0,1fr)}}

/* ======================================================================
   R42 · 粘性条不再压住正文：分区导航 / 阅读工具条改用 top 跟随，页脚说明只在财经与行情页
   ====================================================================== */
.fx-head,.sd-nav{transition:transform .26s cubic-bezier(.3,.7,.3,1)}
.sd-nav,.rd-top{transition:top .26s cubic-bezier(.3,.7,.3,1)}
html.ab-top-hidden .sd-nav{transform:none}
@media(min-width:901px){html.ab-top-hidden .sd-nav,html.ab-top-hidden .rd-top{top:var(--fx-head-h,92px)}}
html:not([data-ab-page]) .ft-note{display:none}
