/* 股票防亏 · 公用样式：纸白底、墨黑字、细线；红涨绿跌（盈红亏绿） */
:root{
  --paper:#f3efe7; --paper2:#ece7dd; --ink:#1a1814; --ink2:#46413a; --mute:#8f887c; --faint:#bdb5a7;
  --hair:rgba(26,24,20,.12); --hair2:rgba(26,24,20,.3);
  --up:#a8322a; --down:#2f5d4a; --lamp:#b8352b; --amber:#a5701f;
  --serif:"Songti SC","Noto Serif SC","STSong",serif;
  --num:"Didot","Bodoni 72","Bodoni Moda",serif;
  --sans:"PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif;
  --ease:cubic-bezier(.22,.61,.12,1);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0f0e0c; --paper2:#171512; --ink:#ece6da; --ink2:#bdb5a7; --mute:#7d766b; --faint:#4a453d;
    --hair:rgba(236,230,218,.11); --hair2:rgba(236,230,218,.28);
    --up:#d0574b; --down:#5c9a7d; --lamp:#e0594c; --amber:#d39a45;
  }
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit;color:inherit;background:none;border:0;outline:0}
button{cursor:pointer}
a:focus-visible,button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:1px solid var(--hair2);outline-offset:4px}
.num{font-family:var(--num);font-variant-numeric:lining-nums tabular-nums;letter-spacing:.01em}
.dn{color:var(--down)} .upc{color:var(--up)}

.grain{position:fixed;inset:0;pointer-events:none;opacity:.05;mix-blend-mode:multiply;z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .1  0 0 0 0 .09  0 0 0 0 .08  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* 顶栏 */
.top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding-top:clamp(18px,3.4vh,34px)}
.brand{display:flex;align-items:center;gap:12px}
.brand svg{width:26px;height:26px}
.brand b{font-family:var(--serif);font-weight:400;font-size:15px;letter-spacing:.42em}
.nav{display:flex;gap:clamp(18px,2.6vw,40px)}
.nav a{position:relative;font-size:13px;letter-spacing:.28em;color:var(--mute);padding:4px 0;transition:color .4s}
.nav a::after{content:"";position:absolute;left:0;right:.28em;bottom:-2px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.nav a:hover,.nav a.on{color:var(--ink)}
.nav a:hover::after,.nav a.on::after{transform:scaleX(1)}

.lbl{font-size:11px;letter-spacing:.34em;color:var(--mute);margin-bottom:12px;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.lbl em{font-style:normal;letter-spacing:.1em;color:var(--faint)}

/* 消息研判的结论章（消息页、公司页、存档共用）：别碰＝红，先别急＝琥珀，没坑＝墨色 */
.vd{--vc:var(--ink2);display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:12px;letter-spacing:.2em;padding:3px 10px 3px 12px;border:1px solid var(--vc);color:var(--vc);border-radius:999px;white-space:nowrap;line-height:1.5}
.vd.v-stop{--vc:var(--lamp)} .vd.v-wait{--vc:var(--amber)} .vd.v-ok{--vc:var(--ink2)}
.vd.v-none{border-style:dashed;--vc:var(--faint)} /* 类名带 v- 前缀：页面里本来就有 .wait（等待区），撞名会把章的内边距吃掉 */

.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:var(--ink);color:var(--paper);font-size:12.5px;letter-spacing:.14em;padding:10px 18px;border-radius:999px;opacity:0;transition:opacity .4s,transform .4s var(--ease);pointer-events:none;z-index:20;max-width:90vw;text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:640px){
  .brand b{font-size:14px;letter-spacing:.3em}
  .nav{gap:18px}
  .nav a{font-size:12.5px;letter-spacing:.16em}
}
@media (prefers-reduced-motion:reduce){ *,*::before,*::after{transition:none!important;animation:none!important} }
