/* ==========================================================
 * dark-overrides.css — 自动生成（dark_mode_setup.py），勿手改
 * 来源：css/tailwind.css（红色基线）+ 各页内联 <style>
 * 作用域：全部规则挂 .dark（html 根类），亮色态零影响
 * 复跑：python dark_mode_setup.py
 * ========================================================== */
html.dark { color-scheme: dark; }
html.dark body { background-color: #1c1a17; color: #fafaf9; }

/* ---- common.css 硬编码亮色值补充（自动生成，勿手改） ----
   C 档：档值随 BG_MAP 新五档联动（#38322d/#443e38/#544c44/#655c53，页面底 #1c1a17） */
.dark .top-header { background: #38322d; border-bottom-color: #544c44; }
.dark .btn-outline { background: #38322d; }
.dark .btn-outline:hover { background: #443e38; border-color: #655c53; }
.dark .btn-primary { background: linear-gradient(135deg, var(--primary), #dc2626); }
.dark .pagination button { background: #38322d; }
.dark .compare-bar { background: rgba(56,50,45,0.96); }
.dark .data-table td { border-bottom-color: #544c44; }
.dark .data-table tbody tr:hover { background: #443e38; }
.dark .sticky-filter { background: rgba(28,26,23,0.95); }

.dark ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#38322d;--tw-ring-color:rgba(239,68,68,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}
.dark *,.dark :after,.dark :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scroll-snap-strictness:proximity;--tw-ring-offset-width:0px;--tw-ring-offset-color:#38322d;--tw-ring-color:rgba(239,68,68,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-sizing:border-box;border:0 solid #544c44}
.dark input::-moz-placeholder,.dark textarea::-moz-placeholder{opacity:1;color:#948e83}
.dark input::placeholder,.dark textarea::placeholder{opacity:1;color:#948e83}
.dark .divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#7e7368}
.dark .divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:#7e7367}
.dark .border-amber-100{--tw-border-opacity:1;border-color:#9b8c4a}
.dark .border-amber-200{--tw-border-opacity:1;border-color:#e1b604}
.dark .border-blue-100{--tw-border-opacity:1;border-color:#452121}
.dark .border-blue-600{--tw-border-opacity:1;border-color:#ef4444}
.dark .border-emerald-100{--tw-border-opacity:1;border-color:#214533}
.dark .border-gray-100{--tw-border-opacity:1;border-color:#7e7368}
.dark .border-gray-200{--tw-border-opacity:1;border-color:#7f7367}
.dark .border-gray-300{--tw-border-opacity:1;border-color:#7e7368}
.dark .border-gray-50{--tw-border-opacity:1;border-color:#7e7367}
.dark .border-green-100{--tw-border-opacity:1;border-color:#1b3724}
.dark .border-indigo-100{--tw-border-opacity:1;border-color:#4a5c9b}
.dark .border-orange-100{--tw-border-opacity:1;border-color:#9b7a4a}
.dark .border-orange-200{--tw-border-opacity:1;border-color:#e37b03}
.dark .border-pink-200{--tw-border-opacity:1;border-color:#d3127f}
.dark .border-purple-100{--tw-border-opacity:1;border-color:#714a9b}
.dark .border-purple-200{--tw-border-opacity:1;border-color:#6e00e6}
.dark .border-purple-500{--tw-border-opacity:1;border-color:#750adb}
.dark .border-red-100{--tw-border-opacity:1;border-color:#452121}
.dark .border-slate-100{--tw-border-opacity:1;border-color:#7e7368}
.dark .border-slate-200{--tw-border-opacity:1;border-color:#7f7367}
.dark .border-yellow-100{--tw-border-opacity:1;border-color:#9a944c}
.dark .border-l-gray-200{--tw-border-opacity:1;border-left-color:#7f7367}
.dark .border-l-gray-300{--tw-border-opacity:1;border-left-color:#7e7368}
.dark .border-t-blue-600{--tw-border-opacity:1;border-top-color:#ef4444}
.dark .bg-amber-100{--tw-bg-opacity:1;background-color:#453e21}
.dark .bg-amber-50{--tw-bg-opacity:1;background-color:#37311b}
.dark .bg-blue-100{--tw-bg-opacity:1;background-color:#452121}
.dark .bg-blue-200{--tw-bg-opacity:1;background-color:#5a2b2b}
.dark .bg-blue-50{--tw-bg-opacity:1;background-color:#371b1b}
.dark .bg-blue-600{--tw-bg-opacity:1;background-color:#ef4444}
.dark .bg-cyan-100{--tw-bg-opacity:1;background-color:#214245}
.dark .bg-emerald-100{--tw-bg-opacity:1;background-color:#214533}
.dark .bg-emerald-50{--tw-bg-opacity:1;background-color:#1b372a}
.dark .bg-gray-100{--tw-bg-opacity:1;background-color:#443e38}
.dark .bg-gray-200{--tw-bg-opacity:1;background-color:#544c44}
.dark .bg-gray-300{--tw-bg-opacity:1;background-color:#655c53}
.dark .bg-gray-50{--tw-bg-opacity:1;background-color:#211e1b}
.dark .bg-gray-50\/30{background-color:#211e1b4c}
.dark .bg-gray-50\/50{background-color:#211e1b80}
.dark .bg-green-100{--tw-bg-opacity:1;background-color:#1b3724}
.dark .bg-green-200{--tw-bg-opacity:1;background-color:#21452e}
.dark .bg-green-50{--tw-bg-opacity:1;background-color:#1b3723}
.dark .bg-indigo-100{--tw-bg-opacity:1;background-color:#212945}
.dark .bg-indigo-50{--tw-bg-opacity:1;background-color:#212a45}
.dark .bg-orange-100{--tw-bg-opacity:1;background-color:#453621}
.dark .bg-orange-50{--tw-bg-opacity:1;background-color:#372a1b}
.dark .bg-pink-100{--tw-bg-opacity:1;background-color:#452136}
.dark .bg-pink-50{--tw-bg-opacity:1;background-color:#361b2a}
.dark .bg-purple-100{--tw-bg-opacity:1;background-color:#322145}
.dark .bg-purple-50{--tw-bg-opacity:1;background-color:#291b37}
.dark .bg-red-100{--tw-bg-opacity:1;background-color:#452121}
.dark .bg-red-50{--tw-bg-opacity:1;background-color:#371b1b}
.dark .bg-rose-100{--tw-bg-opacity:1;background-color:#452124}
.dark .bg-rose-50{--tw-bg-opacity:1;background-color:#371b1d}
.dark .bg-slate-100{--tw-bg-opacity:1;background-color:#443e38}
.dark .bg-slate-50{--tw-bg-opacity:1;background-color:#211e1b}
.dark .bg-slate-50\/50{background-color:#211e1b80}
.dark .bg-teal-100{--tw-bg-opacity:1;background-color:#21453d}
.dark .bg-white{--tw-bg-opacity:1;background-color:#38322d}
.dark .bg-white\/20{background-color:#38322d33}
.dark .bg-white\/50{background-color:#38322d80}
.dark .bg-white\/95{background-color:#38322df2}
.dark .bg-yellow-100{--tw-bg-opacity:1;background-color:#37351b}
.dark .bg-yellow-200{--tw-bg-opacity:1;background-color:#454121}
.dark .bg-yellow-50{--tw-bg-opacity:1;background-color:#37341b}
.dark .from-blue-600{--tw-gradient-from:#ef4444 var(--tw-gradient-from-position);--tw-gradient-to:#ef444400 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.dark .from-gray-50{--tw-gradient-from:#211e1b var(--tw-gradient-from-position);--tw-gradient-to:#211e1b00 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}
.dark .to-blue-700{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}
.dark .to-indigo-600{--tw-gradient-to:#dc2626 var(--tw-gradient-to-position)}
.dark .to-white{--tw-gradient-to:#38322d var(--tw-gradient-to-position)}
.dark .text-amber-600{--tw-text-opacity:1;color:#fbbf24}
.dark .text-amber-700{--tw-text-opacity:1;color:#fbbf24}
.dark .text-amber-800{--tw-text-opacity:1;color:#f3a97d}
.dark .text-blue-600{--tw-text-opacity:1;color:#ef4444}
.dark .text-blue-700{--tw-text-opacity:1;color:#dc2626}
.dark .text-cyan-700{--tw-text-opacity:1;color:#22d3ee}
.dark .text-emerald-700{--tw-text-opacity:1;color:#34d399}
.dark .text-gray-400{--tw-text-opacity:1;color:#b5aea2}
.dark .text-gray-500{--tw-text-opacity:1;color:#b5aea2}
.dark .text-gray-600{--tw-text-opacity:1;color:#c9c3b8}
.dark .text-gray-700{--tw-text-opacity:1;color:#dbd5c9}
.dark .text-gray-800{--tw-text-opacity:1;color:#eae5da}
.dark .text-gray-900{--tw-text-opacity:1;color:#fafaf9}
.dark .text-green-600{--tw-text-opacity:1;color:#22c55e}
.dark .text-green-700{--tw-text-opacity:1;color:#22c55e}
.dark .text-indigo-700{--tw-text-opacity:1;color:#a5b4fc}
.dark .text-orange-500{--tw-text-opacity:1;color:#fbab74}
.dark .text-orange-600{--tw-text-opacity:1;color:#fb923c}
.dark .text-orange-700{--tw-text-opacity:1;color:#fb923c}
.dark .text-pink-700{--tw-text-opacity:1;color:#ef80ae}
.dark .text-purple-500{--tw-text-opacity:1;color:#b976f9}
.dark .text-purple-600{--tw-text-opacity:1;color:#b874fc}
.dark .text-purple-700{--tw-text-opacity:1;color:#b874fc}
.dark .text-red-700{--tw-text-opacity:1;color:#ef4444}
.dark .text-red-800{--tw-text-opacity:1;color:#dc2626}
.dark .text-slate-400{--tw-text-opacity:1;color:#b5aea2}
.dark .text-slate-500{--tw-text-opacity:1;color:#b5aea2}
.dark .text-slate-600{--tw-text-opacity:1;color:#c9c3b8}
.dark .text-slate-700{--tw-text-opacity:1;color:#dbd5c9}
.dark .text-slate-900{--tw-text-opacity:1;color:#fafaf9}
.dark .text-teal-600{--tw-text-opacity:1;color:#7cf3e9}
.dark .text-yellow-600{--tw-text-opacity:1;color:#fcd073}
.dark .text-yellow-700{--tw-text-opacity:1;color:#facc15}
.dark .scrollbar-thin::-webkit-scrollbar-thumb:hover{background:#655c53}
.dark .hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:#7e7368}
.dark .hover\:border-gray-400:hover{--tw-border-opacity:1;border-color:#7e7368}
.dark .hover\:bg-blue-100:hover{--tw-bg-opacity:1;background-color:#452121}
.dark .hover\:bg-blue-200:hover{--tw-bg-opacity:1;background-color:#5a2b2b}
.dark .hover\:bg-blue-50:hover{--tw-bg-opacity:1;background-color:#371b1b}
.dark .hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:#dc2626}
.dark .hover\:bg-gray-100:hover{--tw-bg-opacity:1;background-color:#443e38}
.dark .hover\:bg-gray-200:hover{--tw-bg-opacity:1;background-color:#544c44}
.dark .hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:#211e1b}
.dark .hover\:bg-green-100:hover{--tw-bg-opacity:1;background-color:#1b3724}
.dark .hover\:bg-green-50:hover{--tw-bg-opacity:1;background-color:#1b3723}
.dark .hover\:bg-indigo-200:hover{--tw-bg-opacity:1;background-color:#2b345a}
.dark .hover\:bg-pink-100:hover{--tw-bg-opacity:1;background-color:#452136}
.dark .hover\:bg-purple-100:hover{--tw-bg-opacity:1;background-color:#322145}
.dark .hover\:bg-purple-200:hover{--tw-bg-opacity:1;background-color:#412b5a}
.dark .hover\:bg-red-100:hover{--tw-bg-opacity:1;background-color:#452121}
.dark .hover\:bg-red-50:hover{--tw-bg-opacity:1;background-color:#371b1b}
.dark .hover\:bg-rose-100:hover{--tw-bg-opacity:1;background-color:#452124}
.dark .hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:#443e38}
.dark .hover\:bg-white:hover{--tw-bg-opacity:1;background-color:#38322d}
.dark .hover\:bg-yellow-100:hover{--tw-bg-opacity:1;background-color:#37351b}
.dark .hover\:bg-yellow-200:hover{--tw-bg-opacity:1;background-color:#454121}
.dark .hover\:bg-yellow-50:hover{--tw-bg-opacity:1;background-color:#37341b}
.dark .hover\:text-blue-600:hover{--tw-text-opacity:1;color:#ef4444}
.dark .hover\:text-blue-700:hover{--tw-text-opacity:1;color:#dc2626}
.dark .hover\:text-gray-600:hover{--tw-text-opacity:1;color:#c9c3b8}
.dark .hover\:text-gray-700:hover{--tw-text-opacity:1;color:#dbd5c9}
.dark .hover\:text-gray-900:hover{--tw-text-opacity:1;color:#fafaf9}
.dark .hover\:text-green-600:hover{--tw-text-opacity:1;color:#22c55e}
.dark .hover\:text-slate-700:hover{--tw-text-opacity:1;color:#dbd5c9}
.dark .hover\:text-slate-900:hover{--tw-text-opacity:1;color:#fafaf9}
.dark .hover\:text-yellow-600:hover{--tw-text-opacity:1;color:#fcd073}
.dark .focus\:bg-white:focus{--tw-bg-opacity:1;background-color:#38322d}
.dark .focus\:ring-blue-100:focus{--tw-ring-opacity:1;--tw-ring-color:#452121}
.dark .group:hover .group-hover\:text-blue-600{--tw-text-opacity:1;color:#ef4444}
.dark .group:hover .group-hover\:text-gray-400{--tw-text-opacity:1;color:#bdb9b2}
/* ---- 内联样式覆盖: _stage-annotation-fund-detail.html ---- */
.dark .an-f{font:inherit;font-size:12px;line-height:1.5;padding:4px 11px;border:1px solid #544c44;background:#38322d;border-radius:999px;color:#b5aea2;cursor:pointer;transition:border-color .15s, color .15s, background .15s}
.dark .an-f:hover{border-color:#c7d2fe;color:#dbd5c9}
.dark .an-f.on{background:#371b1b;border-color:#fecaca;color:#ef4444;font-weight:500}
.dark .an-sum{margin-left:auto;font-size:11px;color:#b5aea2}
.dark .an-mk{position:absolute;bottom:12px;box-sizing:border-box;width:16px;height:16px;margin-left:-8px;padding:0;border-radius:50%;background:#38322d;border:2px solid #ef4444;color:#ef4444;font:600 9px/1 inherit;box-shadow:0 1px 3px rgba(15, 23, 42, .14);display:flex;align-items:center;justify-content:center;cursor:pointer;pointer-events:auto;transition:transform .12s}
.dark .an-mk::before{content:'';position:absolute;bottom:100%;left:50%;width:1px;height:38px;background:#3c4249;transform:translateX(-.5px);pointer-events:none}
.dark .an-mk[data-g="data"]{border-color:#655c53;color:#b5aea2}
.dark .an-mk[data-g="vol"]{border-color:#4b0cd9;color:#9f78f8}
.dark .an-mk[data-g="user"]{border-color:#ef4444;color:#ef4444}
.dark .an-mk.sel{box-shadow:0 0 0 3px #ef444429}
.dark .an-side{border:1px solid #544c44;border-radius:12px;background:#38322d;box-shadow:0 1px 2px rgba(15, 23, 42, .04);display:flex;flex-direction:column;max-height:560px;overflow:hidden}
.dark .an-hd{padding:11px 14px 9px;border-bottom:1px solid #544c44;flex:0 0 auto}
.dark .an-hd .an-d{font-size:14px;font-weight:600;color:#fafaf9;letter-spacing:.01em}
.dark .an-hd .an-q{font-size:11px;color:#b1b6be;margin-top:3px;font-variant-numeric:tabular-nums}
.dark .an-sec{font-size:11px;color:#b1b6be;letter-spacing:.04em}
.dark .an-card{border:1px solid #544c44;border-radius:10px;padding:10px 12px;background:#38322d}
.dark .an-card.sys{background:#24292d}
.dark .an-ct{display:flex;align-items:center;gap:6px;font-size:11px;color:#b1b6be}
.dark .an-tag{font-size:10px;padding:2px 7px;border-radius:999px;background:#443e38;color:#b5aea2}
.dark .an-card.usr .an-tag{background:#371b1b;color:#ef4444}
.dark .an-tag.k-div{background:#453e21;color:#fbbf24}
.dark .an-tag.k-vol{background:#282145;color:#ad86ea}
.dark .an-tag.k-data{background:#443e38;color:#c9c3b8}
.dark .an-tx{font-size:12.5px;color:#dbd5c9;line-height:1.7;margin-top:6px}
.dark .an-tx b{font-weight:500;color:#fafaf9}
.dark .an-lk{font:inherit;font-size:11px;color:#b1b6be;background:none;border:none;padding:0;cursor:pointer}
.dark .an-lk:hover{color:#ef4444}
.dark .an-rep{border-left:2px solid #544c44;margin:6px 0 0 6px;padding-left:8px}
.dark .an-compose{border:1px solid #544c44;border-radius:10px;background:#38322d;padding:8px 9px}
.dark .an-compose.an-reply{background:#211e1b}
.dark .an-compose .an-ta{width:100%;box-sizing:border-box;resize:vertical;min-height:54px;font:inherit;font-size:12px;line-height:1.6;color:#fafaf9;border:1px solid #544c44;border-radius:8px;padding:7px 9px;background:#38322d;transition:border-color .15s, box-shadow .15s}
.dark .an-compose .an-ta:focus{outline:none;border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}
.dark .an-btn{font:inherit;font-size:12px;font-weight:500;padding:5px 16px;border-radius:8px;border:1px solid #ef4444;background:#ef4444;color:#fff;cursor:pointer;transition:background .15s}
.dark .an-btn:hover{background:#dc2626;border-color:#dc2626}
.dark .an-err{font-size:11px;line-height:1.6;color:#ef4444;background:#371b1b;border:1px solid #fecaca;border-radius:6px;padding:5px 8px}
.dark .an-empty{font-size:12px;color:#b1b6be;text-align:center;padding:22px 0}
.dark .an-vote{padding:12px 14px;border-bottom:1px solid #544c44;flex:0 0 auto;background:#202932}
.dark .an-vt{font-size:11px;color:#b1b6be;margin-bottom:8px;letter-spacing:.02em}
.dark .an-vb{flex:1;border:1px solid #544c44;background:#38322d;border-radius:10px;padding:9px 2px 7px;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;line-height:1.25;transition:border-color .15s, background .15s, transform .12s}
.dark .an-vb .an-vl{font-size:11px;color:#b5aea2;margin-top:1px}
.dark .an-vb.hold .an-vn{color:#c9c3b8}
.dark .an-vb.hold.on{background:#655c53;border-color:#655c53;box-shadow:0 2px 6px #655c5347}
.dark .an-vbar{display:flex;height:6px;border-radius:3px;overflow:hidden;margin-top:10px;background:#544c44}
.dark .an-vpct{font-size:12px;font-weight:500;color:#dbd5c9;margin-top:8px;font-variant-numeric:tabular-nums}
.dark .an-vnote{font-size:10.5px;color:#b1b6be;margin-top:2px}
.dark .an-vnote .an-mine{font-weight:500;color:#dbd5c9}
.dark .an-body::-webkit-scrollbar-thumb{background:#3c4249;border-radius:3px}
.dark .an-body::-webkit-scrollbar-thumb:hover{background:#3e4146}
/* ---- 内联样式覆盖: _stage-compare.html ---- */
@media print{html.dark,html.dark body{background:#38322d !important}}
/* ---- 内联样式覆盖: _stage-popup-market.html ---- */
/* ---- 内联样式覆盖: _stage-popup-milestone.html ---- */
/* ---- 内联样式覆盖: account.html ---- */
.dark .hero h1 .greet-name{background:linear-gradient(90deg, #5a2b2b, #352b5a);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.dark .entry-keys .e-ico{background:linear-gradient(135deg, var(--blue-soft), #282145);color:var(--blue)}
.dark .entry-card .e-title .tag{font-size:.625rem;font-weight:700;letter-spacing:.08em;color:#78d0f7;background:rgba(14,165,233,.1);border:1px solid rgba(14,165,233,.35);border-radius:5px;padding:.0625rem .375rem}
/* ---- 内联样式覆盖: announcements.html ---- */
.dark .ws-rail{width:25%;min-width:264px;border-right:1px solid #544c44;background:#38322d;display:flex;flex-direction:column}
.dark .ws-work{flex:1;min-width:0;display:flex;flex-direction:column;background:#211e1b}
.dark .rail-head{padding:12px 14px 8px;border-bottom:1px solid #544c44}
.dark .rail-filters{padding:10px 14px;border-bottom:1px solid #544c44;display:flex;flex-direction:column;gap:8px;background:#211e1b}
.dark .rail-foot{padding:8px 14px;border-top:1px solid #544c44;font-size:11px;color:#b5aea2;display:flex;justify-content:space-between;align-items:center}
.dark .ann-item{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid #443e38;cursor:pointer;transition:background 150ms ease}
.dark .ann-item:hover{background:#211e1b}
.dark .ann-item.is-selected{background:#1f1b37;box-shadow:inset 3px 0 0 #7c3aed}
.dark .ann-item .ai-t{font-size:12.5px;font-weight:600;line-height:1.45;color:#eae5da}
.dark .ann-item .ai-t a:hover{color:#8882ed}
.dark .ann-item .ai-m{font-size:10.5px;color:#948e83;margin-top:2px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.dark .ws-tabs{display:flex;align-items:center;gap:4px;padding:0 16px;border-bottom:1px solid #544c44;background:#38322d;flex-shrink:0;min-height:46px}
.dark .ws-tab{padding:12px 14px 10px;font-size:13.5px;font-weight:600;color:#948e83;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color 150ms;background:none;border-top:none;border-left:none;border-right:none}
.dark .ws-tab:hover{color:#c9c3b8}
.dark .ws-tab.active{color:#fafaf9;border-bottom-color:#3c5da9}
.dark .ws-tab .n{font-size:10px;color:#8882ed;font-weight:700;vertical-align:super;margin-left:2px}
.dark .rv-bar .rk{font-size:11px;letter-spacing:.08em;color:#948e83;font-weight:700}
.dark .rv-picker{display:flex;border:1px solid #655c53;border-radius:7px;overflow:hidden;background:#38322d}
.dark .rv-opt{border:none;background:none;color:#c9c3b8;font-size:12px;padding:4px 11px;cursor:pointer;font-family:inherit;border-right:1px solid #544c44;transition:all 130ms}
.dark .rv-opt:hover{background:#443e38}
.dark .chat-head{padding:12px 16px;border-bottom:1px solid #544c44;background:#38322d}
.dark .chat-md th,.dark .chat-md td{border:1px solid #544c44;padding:4px 8px;text-align:left}
.dark .chat-md th{background:#443e38;font-weight:600}
.dark .chat-md code{background:#443e38;padding:1px 4px;border-radius:3px;font-size:12px}
.dark .agent-btn{background:white;color:#b5aea2;cursor:pointer}
.dark .agent-btn:hover{border-color:#261cc9;color:#a5b4fc}
.dark .agent-btn.active{background:#4f46e5;color:white;border-color:#261cc9}
.dark .mode-card{border:1px solid #544c44;border-radius:10px;padding:12px 14px;cursor:pointer;background:#38322d;transition:all 150ms ease}
.dark .mode-card:hover{border-color:#655c53}
.dark .mode-card.active{border-color:#261cc9;box-shadow:0 0 0 1px #4f46e5;background:#212a45}
.dark .mode-card .mn small{font-weight:400;color:#948e83;font-size:11px;margin-left:8px}
.dark .mode-card .md{font-size:12px;color:#c9c3b8;line-height:1.6}
.dark .sec-label{font-size:11px;font-weight:700;color:#948e83;letter-spacing:.08em;margin:16px 0 6px}
.dark .ph{display:flex;gap:12px;padding:9px 0;border-bottom:1px dashed #544c44}
.dark .ph .idx{width:24px;height:24px;border-radius:50%;border:1.5px solid #655c53;color:#948e83;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;font-family:'JetBrains Mono', monospace}
.dark .ph.done .idx{background:#4f46e5;border-color:#261cc9;color:#fff}
.dark .ph.doing .idx{border-color:#261cc9;color:#8882ed;animation:ring 1.6s ease infinite}
.dark .verdict-strip{display:grid;grid-template-columns:1fr 1fr 1fr;border:1px solid #544c44;border-radius:10px;overflow:hidden;background:#38322d}
.dark .vs-cell{padding:13px 18px;border-right:1px solid #544c44}
.dark .vs-cell .k{font-size:10.5px;color:#948e83;letter-spacing:.08em;font-weight:700}
.dark .vs-cell .s{font-size:11px;color:#948e83;margin-top:1px}
.dark .seat{border:1px solid #544c44;border-radius:10px;overflow:hidden;background:#38322d}
.dark .seat-head{display:flex;justify-content:space-between;align-items:center;padding:8px 14px;background:#211e1b;border-bottom:1px solid #544c44}
.dark .verdict-tag.neutral{color:#c9c3b8}
.dark .verdict-tag.neutral i{background:#655c53}
.dark .verdict-tag.bullish{color:#ef4444}
.dark .verdict-tag.bullish i{background:#ef4444}
.dark .pt-row{display:flex;padding:6px 14px;border-bottom:1px solid #443e38;font-size:12px}
.dark .pt-row .k{width:40%;color:#c9c3b8}
.dark .pt-row .v.na{color:#fbbf24;font-family:inherit}
.dark .pt-row .v.na::after{content:'暂缺';font-size:10px;background:#453e21;color:#f3a97d;border-radius:4px;padding:1px 6px;margin-left:8px}
.dark .seat-why{padding:8px 14px;font-size:12px;color:#c9c3b8;background:#25252c;line-height:1.7}
@media (max-width: 1023px){.dark .mobile-toggle-work{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:12px;color:#a5b4fc;border:1px solid #c7d2fe;border-radius:7px;padding:4px 12px;background:#212a45;cursor:pointer}
.dark .mobile-toggle-rail{display:inline-flex;align-items:center;gap:4px;margin-right:6px;font-size:12px;color:#c9c3b8;border:1px solid #655c53;border-radius:7px;padding:3px 9px;background:#38322d;cursor:pointer}}
/* ---- 内联样式覆盖: backtest.html ---- */
.dark .bt-select,.dark .bt-input{border:1px solid #544c44;border-radius:6px;padding:4px 8px;font-size:13px;background:#38322d}
.dark .bt-run-btn{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:5px 14px;font-size:13px;font-weight:500;cursor:pointer;transition:background 0.2s}
.dark .bt-run-btn:hover{background:#dc2626}
.dark .bt-run-btn.running{background:#655c53;cursor:wait}
/* ---- 内联样式覆盖: chat.html ---- */
.dark .glass{background:linear-gradient(165deg, #38322d0f, #38322d05);border:1px solid var(--line);border-radius:18px;backdrop-filter:blur(12px);box-shadow:0 18px 40px -18px rgba(0,0,0,.6)}
.dark .friend-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.125rem;border-bottom:1px solid #655c5312;border-left:2px solid transparent;transition:all .15s}
.dark .msg-row:not(.mine) .msg-bubble{background:#38322d0d;border:1px solid var(--line);border-top-left-radius:5px;color:#e8eef7}
.dark .stealth-mask{display:none;position:fixed;inset:0;z-index:500;background:#443e38;overflow-y:auto;padding:3rem 1.5rem;color:#fafaf9}
.dark .stealth-tag{font-size:.75rem;color:#b5aea2}
.dark .stealth-card{background:#38322d;border:1px solid #544c44;border-radius:16px;padding:1.125rem;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.dark .stealth-card .s-k{font-size:.71875rem;color:#948e83}
.dark .stealth-card .s-delta{font-size:.71875rem;color:#22c55e;font-weight:600}
.dark .stealth-chart{background:#38322d;border:1px solid #544c44;border-radius:16px;padding:1.25rem;box-shadow:0 1px 3px rgba(15,23,42,.06)}
.dark .sc-title{font-size:.875rem;font-weight:700;color:#dbd5c9;margin-bottom:1rem}
.dark .sc-bars span{flex:1;height:var(--h);background:linear-gradient(180deg, #ef4444, #f87171);border-radius:6px 6px 0 0;opacity:.85}
.dark .sc-days i{flex:1;text-align:center;font-style:normal;font-size:.6875rem;color:#948e83}
.dark .stealth-hint{text-align:center;font-size:.75rem;color:#948e83;margin-top:1.5rem}
/* ---- 内联样式覆盖: compare.html ---- */
.dark .rp-head{border-top:3px double #356db1;border-bottom:1px solid #356db1;padding:18px 0 12px}
.dark .rp-title{font-size:26px;font-weight:700;color:#91b4de;letter-spacing:2px}
.dark .rp-sub{font-size:12px;color:#b5aea2;letter-spacing:1px}
.dark .sec-no{display:inline-flex;align-items:center;gap:8px;font-size:17px;font-weight:700;color:#91b4de}
.dark .hairline td,.dark .hairline th{border-bottom:1px solid #544c44}
.dark .sec-divider{border:0;border-top:2px solid #356db1;opacity:.9;margin:8px 0 0}
.dark .b-live{background:#1b3724;color:#16a34a}
.dark .b-pend{background:#453621;color:#fb923c}
.dark .b-rev{background:#544c44;color:#c9c3b8}
.dark .b-prop{background:#212945;color:#9591df}
.dark .b-ill{background:#453e21;color:#f3a97d}
.dark .down{color:#22c55e;font-weight:600}
.dark .tdim{color:#948e83}
.dark .data-table tbody tr:hover{background:#443e38}
.dark .arr{font-size:10px;color:#948e83;margin-left:2px}
.dark .rid{color:#91b4de;font-weight:600;text-decoration:none}
.dark .hl-best{background:#37351b}
.dark .hl-worst{background:#452121}
.dark .rp-foot{border-top:1px solid #655c53;margin-top:22px;padding:10px 0 26px;font-size:11px;color:#948e83}
@media print{html.dark,html.dark body{background:#38322d !important}}
/* ---- 内联样式覆盖: dividend-calendar.html ---- */
.dark .compact-cal .cal-day:hover{background:#443e38}
.dark .compact-cal .cal-day.today{background:#371b1b;color:#ef4444;font-weight:700}
.dark .compact-cal .cal-day.has-dividend{background:#453e21;color:#f3a97d;font-weight:600}
.dark .compact-cal .cal-day.today.has-dividend{background:#452121;color:#dc2626}
.dark .compact-cal .cal-day.selected::after{background:#38322d}
.dark .sector-logistics{background:#452121;color:#7f1d1d}
.dark .sector-industrial{background:#212945;color:#9591df}
.dark .sector-transport{background:#214533;color:#065f46}
.dark .sector-energy{background:#453e21;color:#f3a97d}
.dark .sector-consumer{background:#452136;color:#ef80ae}
.dark .sector-housing{background:#322145;color:#a87cf3}
.dark .sector-municipal{background:#443e38;color:#dbd5c9}
.dark .sector-water{background:#214245;color:#22d3ee}
.dark .sector-eco{background:#214533;color:#34d399}
.dark .sector-datacenter{background:#453621;color:#fb923c}
.dark .sector-tourism{background:#21453d;color:#80efe6}
.dark .sector-commercial{background:#544c44;color:#c9c3b8}
.dark .sector-elderly{background:#452124;color:#be123c}
.dark .sector-urban{background:#454121;color:#f1bb7e}
/* ---- 内联样式覆盖: dividend-pro-preview.html ---- */
.dark .container{max-width:720px;margin:0 auto;background:#38322d;padding:30px 24px}
.dark h3{font-size:15px;color:#a3b8cc;margin:16px 0 8px 0}
.dark .section-box{background:#292929;border:1px solid #eee;border-radius:6px;padding:14px 16px;margin:10px 0}
.dark .highlight{background:#37311b;border-left:4px solid #f39c12;padding:12px 16px;margin:16px 0;font-size:14px}
.dark tr:nth-child(even) td{background:#292929}
.dark .source-t1{color:#8ac1e5}
.dark .tag{display:inline-block;background:#213645;color:#8ac1e5;font-size:12px;padding:2px 8px;border-radius:3px;margin-right:6px}
.dark .tag-orange{background:#37271b;color:#f0b47f}
.dark .bar-track{flex:1;height:24px;background:#333333;border-radius:3px;overflow:hidden}
.dark .timeline-item::before{content:'';position:absolute;left:-30px;top:12px;width:8px;height:8px;border-radius:50%;background:#c0392b;border:2px solid #38322d}
.dark .dual-line-chart{position:relative;height:100px;background:#26292c;border:1px solid #eee;border-radius:4px;padding:10px}
.dark .hex-bg{position:absolute;top:0;left:0;width:100%;height:100%;background:#303536;clip-path:polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%)}
.dark .heatmap-none{background:#303536;color:#999}
.dark .lao-k-box{border-left:4px solid #c0392b;padding:10px 14px;background:#37231b;margin:12px 0;border-radius:0 6px 6px 0}
.dark .lao-k-action{border:2px solid #c0392b;padding:12px 16px;background:#371b1b;margin:12px 0;border-radius:6px}
.dark .ai-commentary{border-left:3px solid #ef4444;padding:8px 12px;background:#211e1b;margin:8px 0;border-radius:0 4px 4px 0}
.dark .ai-text{font-size:14px;color:#dbd5c9;line-height:1.6}
/* ---- 内联样式覆盖: equity-calendar.html ---- */
.dark .eq-card{background:#38322d;border:1px solid #544c44;border-radius:1rem;box-shadow:0 1px 2px 0 rgba(15,23,42,0.04)}
.dark .lg-bar{width:16px;height:6px;border-radius:3px;background:#655c53;display:inline-block}
.dark .fc-lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:12px;color:#b5aea2}
.dark .lg-line{width:16px;height:3px;border-radius:2px;background:#ef4444}
.dark .lg-bar-fc{width:8px;height:12px;border-radius:2px;box-sizing:border-box;background:rgba(251,191,36,.42);border:1.5px dashed #df7a06}
.dark .fan{display:flex;align-items:center;gap:10px;padding:9px 4px;border-bottom:1px solid #211e1b}
.dark .fan-d .num{display:inline-block;font-size:11px;color:#c9c3b8;background:#443e38;border-radius:4px;padding:4px 8px}
.dark .fan-t{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#dbd5c9}
.dark .fan-m{display:flex;gap:14px;flex-shrink:0;font-size:12px;color:#b5aea2;white-space:nowrap}
.dark .day{width:100%;aspect-ratio:1;min-height:44px;border-radius:.75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.85rem;color:#b5aea2;cursor:pointer;transition:all .15s;border:1px solid transparent;background:transparent;padding:0}
.dark .day:hover{background:#443e38}
.dark .day.today{background:#371b1b;color:#ef4444;font-weight:700;border-color:#fecaca}
.dark .day.sel{background:#ef4444;color:#fff}
.dark .day.sel .dot-div,.dark .day.sel .dot-lock{background:#38322d}
.dark .cal-nav{padding:6px;border-radius:8px;color:#948e83;background:transparent;border:none;cursor:pointer;transition:all .15s}
.dark .cal-nav:hover{background:#443e38;color:#dbd5c9}
.dark .lane:hover{background:#211e1b}
.dark .lane.sel{background:#371b1b}
.dark .rank-bar{height:4px;border-radius:2px;background:#544c44;position:relative;overflow:hidden}
.dark .rank-row{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid #211e1b}
.dark .event-row{display:flex;align-items:center;gap:12px;padding:12px;border-bottom:1px solid #443e38;transition:background .12s;border-radius:.625rem}
.dark .event-row.hot{background:#211e1b}
.dark .stripe.lock{border:2px solid #5a13d2;background:transparent;box-sizing:border-box}
.dark .ntc{display:flex;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid #443e38;cursor:pointer;transition:background .12s}
.dark .ntc:hover{background:#211e1b}
.dark .chip.ok{background:#1b372a;color:#059669;border-color:#a7f3d0}
.dark .chip.rd{background:#371b1b;color:#dc2626;border-color:#fecaca}
.dark .chip.wn{background:#37311b;color:#fbbf24;border-color:#967903}
.dark .chip.lk{background:#1f1b37;color:#a87cf3;border-color:#1d0495}
.dark .tb{padding:4px 10px;font-size:12px;border-radius:8px;border:1px solid #544c44;color:#c9c3b8;background:#38322d;cursor:pointer;transition:all .12s}
.dark .tb:hover{background:#211e1b}
.dark .tb.on{color:#dc2626;border-color:#fecaca;background:#371b1b}
.dark .rng{padding:4px 10px;font-size:12px;border-radius:8px;border:1px solid #544c44;color:#c9c3b8;background:#38322d;cursor:pointer;transition:all .12s}
.dark .rng:hover{background:#211e1b}
.dark .rng.on{color:#dc2626;border-color:#fecaca;background:#371b1b}
.dark .eq-select{font-size:14px;border:1px solid #544c44;border-radius:8px;padding:6px 12px;background:#38322d;color:#dbd5c9;outline:none;max-width:22rem;min-width:0}
.dark .eq-select:focus{border-color:#ef4444}
.dark .err{display:flex;align-items:center;justify-content:center;gap:10px;padding:22px 12px;color:#b5aea2;font-size:13px;flex-wrap:wrap}
.dark .err button{font-size:12px;padding:4px 14px;border-radius:8px;border:1px solid #544c44;background:#38322d;color:#dbd5c9;cursor:pointer}
.dark .err button:hover{border-color:#655c53;background:#211e1b}
.dark .loading{padding:22px 12px;text-align:center;color:#948e83;font-size:13px}
.dark .empty{padding:26px 12px;text-align:center;color:#948e83;font-size:13px}
.dark .pillbtn{display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:12px;background:#443e38;color:#c9c3b8;padding:2px 8px;border-radius:999px;border:1px solid #544c44;cursor:pointer;transition:all .12s}
.dark .pillbtn:hover{background:#544c44;color:#fafaf9;border-color:#655c53}
.dark .pillbtn .pillx{font-size:11px;color:#948e83;transition:color .12s}
.dark .pillbtn:hover .pillx{color:#ef4444}
.dark .pillbtn.hasmore{background:#371b1b;color:#dc2626;border-color:#fecaca}
.dark .pillbtn.hasmore .pillx{color:#ef4444}
.dark .xw{position:fixed;left:0;top:0;width:760px;height:560px;min-width:320px;min-height:220px;background:#38322d;border:1px solid #544c44;border-radius:.875rem;box-shadow:0 24px 64px rgba(15,23,42,.28);display:flex;flex-direction:column;overflow:hidden;resize:both}
.dark .xw-head{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #443e38;background:#211e1b;cursor:move;user-select:none;-webkit-user-select:none;flex-shrink:0}
.dark .xw-title{margin:0;font-size:14px;font-weight:700;color:#fafaf9;white-space:nowrap}
.dark .xw-sub{font-size:12px;color:#948e83;white-space:nowrap}
.dark .xw-btn{width:26px;height:26px;border-radius:6px;border:1px solid #544c44;background:#38322d;color:#b5aea2;cursor:pointer;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center}
.dark .xw-btn:hover{background:#443e38;color:#fafaf9}
.dark .xw-foot{flex-shrink:0;padding:8px 14px;border-top:1px solid #443e38;font-size:11px;color:#948e83;background:#1b2437;display:flex;align-items:center;gap:8px}
.dark .xw-grip{margin-left:auto;flex-shrink:0;color:#948e83;font-size:11px;white-space:nowrap;border:1px dashed #655c53;border-radius:5px;padding:1px 7px;background:#38322d}
/* ---- 内联样式覆盖: forgot.html ---- */
.dark .alert-info{background:#452121;color:#7f1d1d;border:1px solid #fca5a5}
/* ---- 内联样式覆盖: global-indices.html ---- */
.dark .mock-tag{font-size:10px;color:#948e83;background:#443e38;padding:1px 6px;border-radius:4px;margin-left:4px;font-weight:400}
.dark .data-table th{position:sticky;top:0;background:#211e1b;z-index:5;font-weight:500;color:#948e83;padding:10px 12px;text-align:left;white-space:nowrap;cursor:pointer;user-select:none;font-size:11px;text-transform:uppercase;letter-spacing:0.03em;border-bottom:1px solid #544c44}
.dark .data-table td{padding:10px 12px;border-bottom:1px solid #443e38;color:#dbd5c9;vertical-align:middle;white-space:nowrap}
.dark .data-table tr:hover td{background:#211e1b}
/* ---- 内联样式覆盖: investor-structure.html ---- */
.dark .investor-table th{position:sticky;top:0;background:#211e1b;z-index:10}
/* ---- 内联样式覆盖: keys.html ---- */
.dark .site-header{position:sticky;top:0;z-index:100;height:60px;background:#38322ddb;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:0 2rem;display:flex;align-items:center;justify-content:space-between}
.dark .brand .logo{width:32px;height:32px;border-radius:9px;background:linear-gradient(135deg, var(--blue) 0%, #7c3aed 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:.75rem;letter-spacing:.5px;box-shadow:0 2px 6px #ef444459}
.dark .hero{position:relative;overflow:hidden;background:linear-gradient(128deg, #0f172a 0%, #7f1d1d 55%, #ef4444 100%);color:#fff;padding:2.5rem 2rem 5.5rem}
.dark .hero .chip{display:inline-flex;align-items:center;gap:.4375rem;font-size:.75rem;font-weight:500;color:#e0e7ff;background:#38322d17;border:1px solid #38322d24;border-radius:999px;padding:.3125rem .8125rem;backdrop-filter:blur(6px)}
.dark .ico-violet{background:#282145;color:#a87cf3}
.dark .key-title .k-ico{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg, var(--blue-soft), #282145);color:var(--blue);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dark .status-revoked{background:var(--red-soft);color:#dc2626}
.dark .usage-bar .fill.warn{background:linear-gradient(90deg, #d97706, #5a4d2b)}
.dark .empty-state .e-ico{width:64px;height:64px;margin:0 auto 1rem;border-radius:18px;background:linear-gradient(135deg, var(--blue-soft), #282145);display:flex;align-items:center;justify-content:center;color:var(--blue)}
.dark .copy-btn{position:absolute;top:.5rem;right:.5rem;background:#38322d14;border:1px solid #38322d1f;color:#948e83;border-radius:6px;padding:.3125rem .5rem;font-size:.6875rem;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:.3125rem}
.dark .copy-btn:hover{color:#fff;background:#38322d29}
.dark .guide-note{display:flex;gap:.625rem;margin-top:1rem;background:var(--amber-soft);border:1px solid #967903;border-radius:var(--r-md);padding:.6875rem .9375rem;font-size:.8125rem;color:#f1bb7e}
.dark .btn-primary{display:inline-flex;align-items:center;gap:.4375rem;background:linear-gradient(135deg, var(--blue), #ef4444);color:#fff;border:none;border-radius:10px;padding:.5625rem 1.25rem;font-size:.8438rem;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #ef444459;transition:all .18s;text-decoration:none}
.dark .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ef444473}
.dark .modal input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 4px #ef44441f}
.dark .one-time-tip{display:flex;gap:.625rem;background:var(--amber-soft);border:1px solid #967903;color:#f1bb7e;font-size:.8125rem;border-radius:var(--r-md);padding:.6875rem .9375rem;margin-bottom:.875rem}
.dark .login-mask .l-ico{width:68px;height:68px;border-radius:20px;background:linear-gradient(135deg, var(--blue-soft), #282145);color:var(--blue);display:flex;align-items:center;justify-content:center}
/* ---- 内联样式覆盖: lease-detail.html ---- */
.dark .lease-table th{position:sticky;top:0;background:#211e1b;z-index:10}
/* ---- 内联样式覆盖: market.html ---- */
.dark .sticky-filter{position:sticky;top:60px;z-index:30;background:#211e1bf2;backdrop-filter:blur(8px)}
/* ---- 内联样式覆盖: pages/asset-map.html ---- */
.dark #search-input{width:100%;padding:9px 12px 9px 36px;border:1px solid #544c44;border-radius:10px;font-size:13px;background:#38322dfa;backdrop-filter:blur(6px);box-shadow:0 4px 16px rgba(0,0,0,0.06);outline:none;transition:border-color 0.2s}
.dark #search-icon{position:absolute;left:11px;top:10px;color:#948e83}
.dark #search-results{display:none;position:absolute;top:44px;left:0;width:100%;max-height:260px;overflow-y:auto;background:#38322d;border:1px solid #544c44;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,0.1);z-index:80}
.dark #search-results .result-item{padding:9px 12px;cursor:pointer;border-bottom:1px solid #443e38;transition:background 0.15s}
.dark #search-results .result-item:hover{background:#211e1b}
.dark #search-results .result-code{font-size:12px;color:#b5aea2;font-family:'JetBrains Mono', monospace}
.dark #search-results .result-name{font-size:13px;color:#eae5da;font-weight:500}
.dark #search-results .result-meta{font-size:11px;color:#948e83;margin-top:2px}
.dark .panel-section-title{font-size:12px;font-weight:600;color:#b5aea2;text-transform:uppercase;letter-spacing:0.05em;margin-bottom:6px}
.dark .stat-item{background:#211e1b;border-radius:8px;padding:8px 10px}
.dark .stat-item .stat-value{font-size:18px;font-weight:700;color:#eae5da;line-height:1.2}
.dark .stat-item .stat-label{font-size:10px;color:#948e83;margin-top:2px}
.dark .prov-bar .prov-name{font-size:11px;color:#c9c3b8;width:52px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dark .prov-bar .prov-track{flex:1;height:5px;background:#544c44;border-radius:3px;overflow:hidden}
.dark .prov-bar .prov-count{font-size:11px;color:#b5aea2;width:16px;text-align:right}
.dark .coord-precise{background:#1b3724;color:#166534}
.dark .coord-city{background:#452121;color:#7f1d1d}
.dark .coord-province{background:#453e21;color:#f3a97d}
.dark .coord-fallback{background:#5a2b2b;color:#dc2626}
.dark .coord-legend{margin-top:8px;padding-top:8px;border-top:1px dashed #544c44;font-size:10px;color:#b5aea2}
.dark .coord-legend-dot{width:8px;height:8px;border-radius:50%;border:2px solid #38322d;box-shadow:0 1px 3px rgba(0,0,0,0.15)}
/* ---- 内联样式覆盖: portfolio.html ---- */
.dark ::-webkit-scrollbar-thumb:hover{background:#655c53}
.dark .fund-row:hover{background-color:#37341b}
.dark .search-item:hover{background:#371b1b !important}
.dark .search-item:active{background:#452121 !important}
/* ---- 内联样式覆盖: project-detail.html ---- */
.dark .h-timeline-line{position:absolute;top:24px;left:20px;right:20px;height:2px;background:#544c44;z-index:0}
.dark .h-timeline-dot{width:16px;height:16px;border-radius:50%;background:#38322d;border:3px solid #655c53;margin-bottom:8px;position:relative;z-index:2;transition:all 0.2s}
.dark .h-timeline-dot.current{border-color:#ef4444;background:#38322d;box-shadow:0 0 0 5px rgba(239,68,68,0.15)}
.dark .h-timeline-dot.future{border-color:#655c53;background:#38322d}
.dark .h-timeline-label{font-size:12px;color:#948e83;font-weight:500;text-align:center;word-break:break-all}
.dark .h-timeline-label.current{color:#dc2626;font-weight:700}
.dark .h-timeline-date.done{color:#b5aea2}
.dark .v-timeline::before{content:'';position:absolute;left:10px;top:4px;bottom:4px;width:2px;background:#544c44}
.dark .v-timeline-item::before{content:'';position:absolute;left:-24px;top:18px;width:10px;height:10px;border-radius:50%;background:#38322d;border:2px solid #ef4444;z-index:1}
.dark .v-timeline-item:last-child::before{background:#655c53;border-color:#655c53}
.dark .file-group-header{background:#443e38;padding:10px 16px;font-size:13px;font-weight:600;color:#c9c3b8;border-radius:8px 8px 0 0}
.dark .file-group-body{border:1px solid #544c44;border-top:none;border-radius:0 0 8px 8px}
.dark .file-item{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #443e38;transition:background 0.15s}
.dark .file-item:hover{background:#211e1b}
.dark .skeleton{background:linear-gradient(90deg, #443e38 25%, #544c44 50%, #443e38 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:4px}
.dark .tag-blue{background:#452121;color:#7f1d1d}
.dark .tag-green{background:#1b3724;color:#166534}
.dark .tag-purple{background:#282145;color:#ad86e9}
.dark .tag-amber{background:#453e21;color:#f3a97d}
.dark .tag-red{background:#452121;color:#dc2626}
.dark .child-row td{background-color:#291b37}
/* ---- 内联样式覆盖: projects.html ---- */
.dark ::-webkit-scrollbar-thumb{background:#655c53;border-radius:3px}
.dark .project-row:hover{background-color:#371b1b}
.dark .project-row.is-expansion{background-color:#291b37}
.dark .project-row.is-expansion:hover{background-color:#322145}
.dark .project-row.is-child{background-color:#1b2c37}
.dark .project-row.is-child:hover{background-color:#213745}
.dark .expand-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;border:1px solid #655c53;background:#38322d;cursor:pointer;font-size:11px;color:#b5aea2;transition:all 0.15s}
.dark .expand-btn:hover{background:#443e38;border-color:#655c53}
.dark .expand-btn.open{background:#371b1b;border-color:#ef4444;color:#ef4444}
.dark .badge-已受理{background:#452121;color:#7f1d1d}
.dark .badge-已反馈{background:#453e21;color:#f3a97d}
.dark .badge-已问询{background:#453621;color:#9a3412}
.dark .badge-注册生效{background:#214533;color:#065f46}
.dark .badge-新购入{background:#282145;color:#ad86e9}
.dark .badge-扩募{background:#452136;color:#ed82ad}
.dark .badge-终止{background:#452121;color:#dc2626}
.dark .badge-default{background:#443e38;color:#dbd5c9}
.dark .badge-default .status-badge-dot{background:#655c53}
.dark .seg-已上市{background:#22c55e}
.dark .filter-bar{position:sticky;top:60px;z-index:30;background:#211e1bf2;backdrop-filter:blur(8px)}
.dark .stat-card{background:#38322d;border-radius:10px;box-shadow:var(--sh-pop);padding:16px 20px;display:flex;align-items:center;gap:1rem;border:1px solid #544c44;transition:all 0.2s;text-align:center}
.dark .stat-label{font-size:12px;color:#b5aea2;margin-top:4px}
/* ---- 内联样式覆盖: register.html ---- */
html.dark{--color-dominant:#211e1b;--color-secondary:#38322d;--color-surface:#443e38;--color-text-primary:#fafaf9;--color-text-secondary:#c9c3b8;--color-border:#544c44;--color-reit-down:#22c55e;--blue:#E84563;--blue-dark:#C41E3A;--ink:#fafaf9;--ink-2:#dbd5c9;--ink-3:#b5aea2;--ink-4:#948e83;--bg:#443e38;--card:#38322d;--line:#544c44;--glass:#38322d0b;--glass-2:#38322d14;--line-2:#655c5347;--txt-2:#948e83;--txt-3:#b5aea2;--color-primary:#E84563;--color-primary-dark:#C41E3A;--color-bg:#38322d;--color-bg-secondary:#211e1b;--color-text:#fafaf9;--color-text-muted:#948e83;--color-success:#22c55e;--color-bg-tertiary:#443e38}
.dark .form-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #ef44441f}
.dark .alert-success{background:#214533;color:#065f46;border:1px solid #a7f3d0}
.dark .alert-error{background:#452121;color:#dc2626;border:1px solid #fecaca}
.dark .slider-btn{position:absolute;left:0;top:0;width:44px;height:42px;background:#38322d;border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;cursor:grab;font-size:1rem;color:var(--color-text-secondary);box-shadow:var(--shadow-sm);z-index:2}
/* ---- 内联样式覆盖: research-center.html ---- */
.dark p{font-size:13px;color:#b5aea2;margin:0 0 14px}
/* ---- 内联样式覆盖: risk-metrics.html ---- */
.dark .risk-score-card::before{content:'';position:absolute;top:-50%;right:-50%;width:100%;height:100%;background:radial-gradient(circle, #38322d1a 0%, transparent 70%);pointer-events:none}
.dark .metric-card{background:white;border-radius:12px;border:1px solid #544c44;padding:20px;transition:all 0.2s}
.dark .metric-card.danger{border-color:#fca5a5;background:linear-gradient(135deg, #38322d, #371b1b)}
.dark .metric-card.warning{border-color:#fdba74;background:linear-gradient(135deg, #38322d, #372a1b)}
.dark .metric-value{font-size:28px;font-weight:700;color:#eae5da}
.dark .metric-card.warning .metric-value{color:#fb923c}
.dark .metric-label{font-size:13px;color:#b5aea2;margin-bottom:8px}
.dark .metric-threshold{font-size:11px;color:#948e83;margin-top:8px}
.dark .status-badge.danger{background:#371b1b;color:#dc2626}
.dark .status-badge.warning{background:#372a1b;color:#fb923c}
.dark .status-badge.normal{background:#1b3723;color:#22c55e}
/* ---- 内联样式覆盖: vibe.html ---- */
html.dark body{font-family:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;background-color:#211e1b;color:#91b4de;background:#211e1b}
.dark .vibe-chat-box{flex:1;background:#38322d;border:1px solid #544c44;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}
.dark .vibe-welcome{text-align:center;color:#b5aea2;padding:40px 20px}
.dark .vibe-welcome h2{color:#fafaf9;font-size:20px;margin-bottom:8px}
.dark .vibe-quick-picks{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid #443e38}
.dark .vibe-input-row{display:flex;gap:8px;padding:12px 16px;border-top:1px solid #544c44}
.dark .vibe-input{flex:1;border:1px solid #544c44;border-radius:10px;padding:10px 14px;font-size:14px;outline:none}
.dark .vibe-input:focus{border-color:#ef4444}
.dark .vibe-send{background:#ef4444;color:#fff;border:none;border-radius:10px;padding:10px 20px;font-weight:500;cursor:pointer}
.dark .vibe-send:hover{background:#dc2626}
.dark .md-code{background:#452121;color:#dc2626;padding:0 4px;border-radius:4px;font-family:'JetBrains Mono', monospace;font-size:13px}
/* ---- 内联样式覆盖: weekly-insights.html ---- */
.dark .cover .deck{font-size:17px;line-height:1.85;color:#babab5;max-width:46em;margin-bottom:24px}
.dark .reader .body{font-size:17.5px;line-height:2;color:#babab6;text-align:justify}
.dark footer.wk-foot{margin-top:88px;background:var(--ink);color:#b9b9b6;font-family:var(--sans);font-size:12px;letter-spacing:.15em;padding:30px 0;display:flex;justify-content:center;gap:28px}

/* ---- 正文基色兜底（自动生成，勿手改；必须置于文件末尾） ----
   问题：process_css 会把各页内联 <style> 中的浅色硬编码（如 compare.html 的
   body{color:#1c3a5e} 藏青）原样加 .dark 前缀输出到"内联样式覆盖"段，
   该段位于 head 的 html.dark body{color:#fafaf9} 之后，同优先级下后者胜出，
   导致暗色态正文变成深蓝（实测 market.html 暗色下 216 个元素继承该色，
   在 #211f1b 暗底上几乎不可读）。
   处置：末尾兜底重设正文基色，覆盖任何来源的浅色硬编码残留。 */
html.dark body { color: #fafaf9; }

