/* ===== stockus.sekio.dev 共享设计系统 ===== */
/* 字体：中国大陆可访问的系统字体栈（苹方/雅黑/思源），不依赖被墙的 Google Fonts。
   字重大量用 600/700 厚重，增强金融平台信任感。Seki Gate 深色品牌。 */

:root{
  --ink:#0B0C0E; --ink-1:#121317; --ink-2:#171920; --ink-3:#1F222B; --ink-4:#2A2E39;
  --paper:#F2F1EC; --paper-2:#C9C8C2; --sub:#8A8C93; --faint:#5A5D66;
  --line:rgba(242,241,236,0.08); --line-2:rgba(242,241,236,0.14);
  --green:#2FA96B; --green-hi:#4FD08C; --green-lo:#1B7A4E; --green-glow:rgba(47,169,107,0.16);
  --red:#E2574A; --amber:#E0A23A; --blue:#5B8Fd9;
  --sans:'PingFang SC','Microsoft YaHei UI','Microsoft YaHei','Source Han Sans SC','Noto Sans SC',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --num:'DIN Alternate','Bahnschrift','SF Mono','JetBrains Mono','Menlo',ui-monospace,'PingFang SC',sans-serif;
  --r:10px; --r-lg:14px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);font-weight:500;background:var(--ink);color:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--green-lo);color:#fff}
.num{font-family:var(--num);font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-0.01em}
a{color:inherit;text-decoration:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 28px}
.g{color:var(--green-hi)}.r{color:var(--red)}.a{color:var(--amber)}.mut{color:var(--sub)}

/* ---- top nav ---- */
.nav{position:sticky;top:0;z-index:60;background:rgba(11,12,14,0.82);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-in{max-width:1280px;margin:0 auto;padding:0 28px;height:60px;display:flex;align-items:center;gap:36px}
.brand{display:flex;align-items:center;gap:11px;font-weight:700}
.brand .wm{font-size:16px;letter-spacing:-0.01em}.brand .wm .d{color:var(--green-hi);font-weight:600}
.nav-menu{display:flex;gap:4px;flex:1}
.nav-item{position:relative}
.nav-item>a{display:block;padding:9px 14px;font-size:14px;font-weight:600;color:var(--paper-2);border-radius:8px;transition:.15s}
.nav-item>a:hover,.nav-item.active>a{color:var(--paper);background:var(--ink-2)}
.dropdown{position:absolute;top:100%;left:0;min-width:230px;background:var(--ink-1);border:1px solid var(--line-2);border-radius:var(--r);padding:8px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.18s;box-shadow:0 16px 40px rgba(0,0,0,0.5)}
.nav-item:hover .dropdown{opacity:1;visibility:visible;transform:translateY(0)}
.dropdown a{display:block;padding:10px 12px;border-radius:7px;font-size:13.5px;font-weight:600;color:var(--paper-2);transition:.12s}
.dropdown a:hover{background:var(--ink-3);color:var(--paper)}
.dropdown a .desc{display:block;font-size:11.5px;font-weight:500;color:var(--faint);margin-top:2px}
.nav-right{display:flex;align-items:center;gap:8px;font-family:var(--num);font-size:12px;font-weight:600;color:var(--paper-2)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}

/* ---- section / heading ---- */
.eyebrow{font-family:var(--num);font-size:11px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:var(--green-hi);margin-bottom:14px}
.eyebrow .n{color:var(--faint);margin-right:9px}
h1.page{font-size:clamp(26px,3.4vw,38px);font-weight:700;letter-spacing:-0.02em;line-height:1.1}
h2.sec{font-size:clamp(19px,2.2vw,25px);font-weight:700;letter-spacing:-0.01em;margin-bottom:10px}
.lead{color:var(--paper-2);font-size:14.5px;font-weight:500;max-width:680px;line-height:1.75}
.crumb{font-family:var(--num);font-size:12px;font-weight:600;color:var(--sub);margin-bottom:14px}
.crumb .g{color:var(--green-hi)}

/* ---- card ---- */
.card{background:var(--ink-1);border:1px solid var(--line);border-radius:var(--r-lg);padding:22px 24px;transition:border-color .25s ease,transform .25s ease}
.card:hover{border-color:var(--line-2);transform:translateY(-2px)}
.card.tight{padding:16px 18px}
.card h3{font-size:14px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;justify-content:space-between}
.card .cap{font-family:var(--num);font-size:11px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;color:var(--sub);margin-bottom:16px}
.grid{display:grid;gap:14px}

/* ---- stat ---- */
.stat .k{font-family:var(--num);font-size:11px;font-weight:600;color:var(--sub);letter-spacing:0.04em;margin-bottom:7px}
.stat .v{font-family:var(--num);font-size:26px;font-weight:700;line-height:1}
.stat .s{font-family:var(--num);font-size:11px;font-weight:600;color:var(--faint);margin-top:6px}

/* ---- rating badge (8 档) ---- */
.rb{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:7px;font-size:12.5px;font-weight:700;font-family:var(--sans);white-space:nowrap}
.rb::before{content:'';width:7px;height:7px;border-radius:2px;background:currentColor}
.rb-1{background:rgba(47,169,107,0.16);color:#5FE0A0}   /* 强力配置 */
.rb-2{background:rgba(47,169,107,0.12);color:#4FD08C}   /* 配置 */
.rb-3{background:rgba(91,143,217,0.13);color:#7FB0E8}   /* 持有 */
.rb-4{background:rgba(138,140,147,0.14);color:#AEB0B7}  /* 观望 */
.rb-5{background:rgba(224,162,58,0.14);color:#F0B65A}   /* 等待信号 */
.rb-6{background:rgba(224,128,58,0.15);color:#F09A4A}   /* 减配 */
.rb-7{background:rgba(226,87,74,0.14);color:#F0786A}    /* 规避 */
.rb-8{background:rgba(226,87,74,0.2);color:#FF8C7A}     /* 高风险 */

/* ---- factor bar ---- */
.fbar{margin-bottom:14px}
.fbar .top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:7px}
.fbar .lab{font-size:13px;font-weight:600;color:var(--paper-2)}
.fbar .val{font-family:var(--num);font-size:14px;font-weight:700}
.fbar .track{height:6px;background:var(--ink-3);border-radius:3px;overflow:hidden}
.fbar .track>i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--green-lo),var(--green-hi));width:0;transition:width 1.1s cubic-bezier(.2,.8,.2,1)}
.fbar .track>i.warn{background:linear-gradient(90deg,#8a5a18,var(--amber))}

/* ---- data table ---- */
.tbl{width:100%;border-collapse:collapse;font-size:13.5px}
.tbl th{font-family:var(--num);font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--sub);text-align:left;padding:11px 14px;border-bottom:1px solid var(--line-2)}
.tbl th.r,.tbl td.r{text-align:right}
.tbl td{padding:13px 14px;border-bottom:1px solid var(--line);font-weight:600}
.tbl tr:hover td{background:var(--ink-2)}
.tbl td.tk{font-family:var(--num);font-weight:700}
.tbl .pos{color:var(--green-hi)}.tbl .neg{color:var(--red)}

/* ---- pill / chip ---- */
.chip{display:inline-flex;align-items:baseline;gap:6px;padding:7px 12px;background:var(--ink-2);border:1px solid var(--line);border-radius:8px;font-family:var(--num);font-size:13px;font-weight:700;transition:.15s}
.chip:hover{border-color:var(--green-lo)}.chip .s{font-size:10px;font-weight:600;color:var(--sub)}
.tag{display:inline-block;padding:3px 9px;border-radius:5px;font-family:var(--num);font-size:11px;font-weight:700;background:var(--ink-3);color:var(--paper-2)}
.tag.live{background:rgba(224,162,58,0.16);color:var(--amber)}
.tag.done{background:var(--green-glow);color:var(--green-hi)}

/* ---- verify stamp ---- */
.stamp{display:inline-flex;align-items:center;gap:7px;font-family:var(--num);font-size:11.5px;font-weight:700;color:var(--green-hi);padding:5px 11px;border:1px solid var(--green-lo);border-radius:7px}

/* ---- disclaimer ---- */
.disc{background:var(--ink-1);border:1px solid var(--line);border-left:3px solid var(--green-lo);border-radius:0 var(--r) var(--r) 0;padding:18px 22px;font-size:13px;font-weight:500;color:var(--paper-2);line-height:1.8}
.disc b{color:var(--paper);font-weight:700}

.shimmer{background:linear-gradient(100deg,currentColor 35%,var(--green-hi) 50%,currentColor 65%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shimmer 7s linear infinite}
@keyframes shimmer{to{background-position:-220% 0}}
footer{padding:40px 0;margin-top:60px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px}
.foot-meta{font-family:var(--num);font-size:11px;font-weight:600;color:var(--faint);text-align:right;line-height:1.8}

/* mobile nav burger + drawer（sekio.js 自动注入按钮/抽屉，这里给样式） */
.nav-burger{display:none;width:40px;height:40px;border:1px solid var(--line-2);border-radius:8px;background:var(--ink-2);cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:0;flex-shrink:0}
.nav-burger span{display:block;width:18px;height:2px;background:var(--paper);border-radius:2px;transition:.25s}
.nav-drawer{position:fixed;inset:0;z-index:70;background:rgba(8,9,11,0.98);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;padding:74px 22px 40px;transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1);overflow-y:auto;-webkit-overflow-scrolling:touch}
.nav-drawer.open{transform:none}
.nav-drawer .grp{font-family:var(--num);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--green-hi);margin:16px 0 2px;padding:0 14px}
.nav-drawer a{padding:13px 14px;font-size:15px;font-weight:600;color:var(--paper-2);border-radius:8px;text-decoration:none}
.nav-drawer a.cur{color:var(--paper);background:var(--ink-2)}
.nav-drawer .close{position:absolute;top:15px;right:18px;width:42px;height:42px;font-size:26px;line-height:1;color:var(--paper-2);background:none;border:none;cursor:pointer}

@media(max-width:860px){
  .nav-menu{display:none}
  .nav-burger{display:flex}
  .wrap,.nav-in{padding-left:18px;padding-right:18px}
}
@media(max-width:560px){
  h1.page{font-size:23px}
  h2.sec{font-size:19px}
  .nav-right{display:none}
  .stat .v,.composite .big{font-size:22px}
  .brand .wm{font-size:14px}
}
