:root{
    --bg:#0a0f1e;--card:#121b36;--card2:#18234a;--line:#26325c;--txt:#e9eefb;--sub:#9db0d8;--dim:#6b7ca6;
    --up:#ff4d5e;--gold:#f0b429;--blue:#4f8cff;--cyan:#31d0d4;--green:#26c281;--purple:#a77bff;
  }
  *{box-sizing:border-box}
  body{margin:0;background:radial-gradient(1100px 520px at 12% -8%,#1a2a5e 0%,transparent 60%),
     radial-gradient(900px 480px at 100% 0%,#2a1a46 0%,transparent 55%),var(--bg);
     color:var(--txt);font-family:"Segoe UI","PingFang SC","Microsoft YaHei",system-ui,sans-serif;padding:22px 16px 60px;-webkit-font-smoothing:antialiased}
  .wrap{max-width:1180px;margin:0 auto}
  a{color:var(--blue);text-decoration:none}
  h1{font-size:24px;margin:0 0 8px}
  .hero{background:linear-gradient(135deg,#16224a,#101a36 60%,#1c1636);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
  .meta{color:var(--sub);font-size:13px;line-height:1.85}
  .chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
  .chip{font-size:12px;padding:4px 10px;border-radius:999px;background:rgba(79,140,255,.12);border:1px solid #33456f;color:#bcd0ff}
  .chip.g{background:rgba(240,180,41,.12);border-color:#5b4718;color:#ffe0a3}
  section{margin-top:22px}
  .sec{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;margin-bottom:10px}
  .sec i{width:5px;height:16px;border-radius:3px;background:linear-gradient(180deg,var(--gold),var(--blue))}
  .sec em{margin-left:auto;font-style:normal;font-size:12px;color:var(--dim);font-weight:400}
  .card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}

  /* 日历 */
  .cal-head,.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
  .cal-head div{text-align:center;font-size:12px;color:var(--sub);padding:4px 0}
  .cell{background:var(--card);border:1px solid var(--line);border-radius:11px;min-height:96px;padding:8px;position:relative;transition:.15s}
  .cell.off{opacity:.38}
  .cell.clickable{cursor:pointer}
  .cell.clickable:hover{border-color:var(--gold);transform:translateY(-2px)}
  .cell .d{font-size:13px;color:var(--sub)}
  .cell .cnt{font-size:22px;font-weight:700;color:var(--up);line-height:1.2;margin-top:2px}
  .cell .cnt small{font-size:11px;color:var(--sub);font-weight:400;margin-left:3px}
  .cell .sub{font-size:11px;color:var(--dim);line-height:1.5;margin-top:2px}
  .cell .hb{position:absolute;left:8px;right:8px;bottom:8px;height:4px;background:#1d2750;border-radius:3px;overflow:hidden}
  .cell .hb i{display:block;height:100%;background:linear-gradient(90deg,var(--up),var(--gold))}
  .cell .top{position:absolute;right:8px;top:8px;font-size:10px;color:#ffe0a3;background:rgba(240,180,41,.14);border:1px solid #5b4718;border-radius:6px;padding:1px 5px}
  .legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--sub);margin-top:10px}

  /* 弹层 */
  .mask{position:fixed;inset:0;background:rgba(4,8,18,.72);backdrop-filter:blur(3px);display:none;align-items:flex-start;justify-content:center;padding:30px 14px;overflow:auto;z-index:50}
  .mask.on{display:flex}
  .modal{background:#101a36;border:1px solid var(--line);border-radius:16px;max-width:1020px;width:100%;padding:18px 20px 22px;position:relative}
  .modal h2{margin:0 0 6px;font-size:19px}
  .close{position:absolute;right:14px;top:12px;background:#1b2550;border:1px solid var(--line);color:var(--sub);border-radius:8px;width:30px;height:30px;cursor:pointer;font-size:16px;line-height:1}
  .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
  .stat{background:var(--card2);border:1px solid var(--line);border-radius:11px;padding:10px 12px}
  .stat b{display:block;font-size:18px;margin-top:3px}
  .stat i{font-style:normal;font-size:11.5px;color:var(--dim)}
  table{width:100%;border-collapse:collapse;font-size:12.5px}
  th,td{padding:7px 8px;border-bottom:1px solid #1d2850;text-align:right;vertical-align:middle}
  th:first-child,td:first-child,th:nth-child(2),td:nth-child(2){text-align:left}
  th{color:var(--sub);font-weight:500;font-size:11.5px}
  tr.row{cursor:pointer}
  tr.row:hover{background:rgba(79,140,255,.09)}
  .lb{display:inline-block;font-size:11px;padding:1px 6px;border-radius:5px;font-weight:600}
  .lb1{background:#1c2b52;color:#a8bde8}
  .lb2{background:#243a6b;color:#cfe0ff}
  .lb3{background:#4a3410;color:#ffd98a}
  .lb4{background:#5c1f2b;color:#ffc0c8}
  .lb5{background:#7a1424;color:#ffd7dd}
  .lgl{color:var(--sub);font-size:12px;line-height:1.5}
  .btn{background:linear-gradient(135deg,#2b62d8,#4f8cff);border:0;color:#fff;font-size:11.5px;padding:5px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}
  .btn.ghost{background:#1b2550;border:1px solid var(--line);color:var(--sub)}

  /* ============ 涨停列表 · H5 卡片模式（窄屏） ============ */
  .zt-cards{display:flex;flex-direction:column;gap:10px}
  .zt-card{background:var(--card);border:1px solid var(--line);border-radius:13px;padding:12px 13px;
    box-shadow:0 1px 2px rgba(16,24,40,.05);cursor:pointer;transition:.15s}
  .zt-card:active{border-color:var(--blue)}
  .zt-card-h{margin-bottom:9px}
  .zt-name{font-size:15.5px;font-weight:700;color:var(--txt);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
  .zt-sub{font-size:11.5px;color:var(--sub);margin-top:3px;line-height:1.5}
  .zt-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 9px;margin-bottom:10px}
  .zt-m{background:var(--card2);border:1px solid var(--line);border-radius:9px;padding:6px 9px;min-width:0}
  .zt-m span{display:block;font-size:10.5px;color:var(--sub);line-height:1.3}
  .zt-m b{display:block;font-size:14.5px;font-weight:700;color:var(--txt);margin-top:2px;line-height:1.2;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .zt-m small{display:block;font-size:10px;color:var(--dim);margin-top:1px;line-height:1.3}
  .zt-brief{font-size:12.5px;line-height:1.75;color:var(--txt);background:var(--card2);
    border:1px solid var(--line);border-radius:9px;padding:9px 11px;margin-bottom:10px;word-break:break-word;overflow-wrap:anywhere}
  .zt-brief-t{display:block;font-size:11.5px;font-weight:700;color:var(--sub);margin-bottom:4px}
  .zt-open{width:100%}
  @media(max-width:380px){.zt-metrics{grid-template-columns:repeat(2,1fr)}}

  /* 研报页 */
  #report{display:none}
  #report.on{display:block}
  .rep-head{background:linear-gradient(135deg,#16224a,#131c38);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
  .rep-head h1{font-size:23px;margin:0}
  .rep-head h1 small{font-size:13px;color:var(--sub);font-weight:400;margin-left:8px}
  .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:12px}
  .kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:11px 13px}
  .kpi .k{font-size:11.5px;color:var(--sub)}
  .kpi .v{font-size:19px;font-weight:650;margin-top:4px}
  .kpi .n{font-size:10.5px;color:var(--dim);margin-top:3px}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  @media(max-width:900px){.grid2{grid-template-columns:1fr}}
  .mb{margin:8px 0}
  .mb .lbl{display:flex;justify-content:space-between;font-size:12px;color:var(--sub);margin-bottom:3px}
  .mb .bar{height:9px;background:#1b2550;border-radius:5px;overflow:hidden}
  .mb .bar i{display:block;height:100%;border-radius:5px}
  .ruler{position:relative;height:34px;background:#1b2550;border-radius:8px;margin-top:8px}
  .ruler .tk{position:absolute;top:0;bottom:0;width:1px;background:#33456f}
  .ruler .tk span{position:absolute;top:3px;left:4px;font-size:10px;color:var(--dim)}
  .ruler .mk{position:absolute;top:50%;width:12px;height:12px;border-radius:50%;background:var(--gold);transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(240,180,41,.2)}
  .bullets{margin:0;padding-left:18px;font-size:13.5px;line-height:1.95;color:#d5dff7}
  .bullets li::marker{color:var(--gold)}
  .bullets li b{color:#ffe0a3}
  .tagline{font-size:12px;color:var(--gold);border-left:3px solid var(--gold);padding-left:9px;margin:10px 0 4px;line-height:1.7}
  .appchips{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
  .appchip{font-size:11.5px;padding:3px 8px;border-radius:999px;background:#1b2550;border:1px solid var(--line);color:#c7d6f5}
  .appchip.hi{background:rgba(255,77,94,.14);border-color:#7a1424;color:#ffc9d0}
  footer{margin-top:26px;color:var(--dim);font-size:12px;line-height:1.85;border-top:1px solid #1c2748;padding-top:14px}
  .warn{color:var(--gold)}

  /* ============ 浅色（白底）主题覆盖层 ============ */
  /* 白底强制层：即使浏览器/客户端对 var() 或渐变支持不佳、或开启深色模式，也保持白底 */
  html,body{background:#ffffff !important;background-color:#ffffff !important}
  :root{
    color-scheme:light;
    --bg:#ffffff;--card:#ffffff;--card2:#f7f9fd;--line:#e4e9f3;--txt:#1a2233;--sub:#5b6b8c;--dim:#93a0b8;
    --up:#e03131;--gold:#c8860d;--blue:#2563eb;--cyan:#0e9f9f;--green:#12a05c;--purple:#7c4ddb;
  }
  body{background:#ffffff}
  .hero{background:linear-gradient(135deg,#f3f7ff 0%,#ffffff 55%,#f9f5ff 100%);border-color:#e4e9f3;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .chip{background:#eef4ff;border-color:#d7e4fb;color:#2c5bb5}
  .chip.g{background:#eef2f9;border-color:#dde5f2;color:#8a5c00}
  .card{border-color:#e4e9f3;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .sec i{background:linear-gradient(180deg,#c8860d,#2563eb)}
  .cell{border-color:#e7ecf4;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .cell.clickable:hover{border-color:#c8860d;box-shadow:0 6px 18px rgba(16,24,40,.10)}
  .cell .hb{background:#eef2f9}
  .cell .top{background:#eef2f9;border-color:#dde5f2;color:#8a5c00}
  .mask{background:rgba(15,23,42,.42)}
  .modal{background:#ffffff;border-color:#e4e9f3;box-shadow:0 24px 60px rgba(15,23,42,.22)}
  .close{background:#f3f6fc;border-color:#e4e9f3;color:#5b6b8c}
  .stat{background:#f7f9fd;border-color:#e8edf6}
  table th,table td{border-bottom-color:#eef1f7}
  .lb1{background:#eef2fb;color:#4a5f8f}
  .lb2{background:#e3ecff;color:#22509b}
  .lb3{background:#eef2f9;color:#8a5c00}
  .lb4{background:#eef2f9;color:#b3261e}
  .lb5{background:#e6ecf9;color:#a01924}
  tr.row:hover{background:#f5f8ff}
  .btn{box-shadow:0 1px 2px rgba(37,99,235,.18);background:linear-gradient(135deg,#1d4ed8,#2563eb)}
  .btn.ghost{background:#f4f7fc;border-color:#e4e9f3;color:#4a5b7d}
  .rep-head{background:linear-gradient(135deg,#f3f7ff 0%,#ffffff 60%);border-color:#e4e9f3;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .kpi{border-color:#e4e9f3;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .mb .bar{background:#eef2f9}
  .ruler{background:#f3f6fc}
  .ruler .tk{background:#dbe3f0}
  .bullets{color:#33405c}
  .bullets li b{color:#8a5c00}
  .bullets li::marker{color:#c8860d}
  .tagline{color:#8a5c00}
  .appchip{background:#f3f6fc;border-color:#e4e9f3;color:#45557a}
  .appchip.hi{background:#eef2f9;border-color:#dde5f2;color:#b3261e}
  footer{border-top-color:#eef1f7;color:#93a0b8}
  /* 个股逻辑拆解：一句话本质 + 分节（结构参照个股深度研报） */
  .essence{background:#fbfcfe;border:1px solid #e4e9f3;border-left:4px solid #c8860d;border-radius:10px;
    padding:12px 14px;font-size:14.5px;font-weight:600;color:#8a5c00;line-height:1.8;margin-bottom:12px}
  .essence b{color:#7a5200}
  .secblock{margin-top:12px;padding-top:10px;border-top:1px dashed #e6ebf5}
  .secblock:first-of-type{border-top:0;padding-top:2px}
  .secblock-h{font-size:13.5px;font-weight:700;color:#1a2233;margin-bottom:7px}
  .secblock-h:before{content:"▍";color:#2563eb;margin-right:6px}
  /* 可勾选跟踪清单 + 复盘工作表 */
  .chklist{display:flex;flex-direction:column;gap:6px}
  .chkitem{display:flex;gap:9px;align-items:flex-start;font-size:13.5px;color:#33405c;line-height:1.7;
    background:#fbfcfe;border:1px solid #e8edf6;border-radius:9px;padding:8px 11px;cursor:pointer}
  .chkitem:hover{border-color:#cfe0fb}
  .chkitem input{margin-top:3px;width:15px;height:15px;accent-color:#2563eb;cursor:pointer;flex:0 0 auto}
  .chkitem input:checked + span{color:#93a0b8;text-decoration:line-through}
  .chkbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:10px}
  .copyarea{width:100%;background:#fbfcfe;border:1px solid #e4e9f3;border-radius:10px;color:#1a2233;
    font-family:Consolas,Menlo,monospace;font-size:12.5px;line-height:1.7;padding:10px 12px;resize:vertical}

  /* ============ 兼容性加固：去掉背景渐变 + 拒绝环境改色 ============ */
  .hero,.rep-head,.modal,.card,.stat,.kpi{background:#ffffff !important;background-image:none !important}
  .btn{background:#2563eb !important;background-image:none !important;color:#ffffff !important}
  .btn.ghost{background:#f4f7fc !important;background-image:none !important;color:#4a5b7d !important;border:1px solid #e4e9f3 !important}
  .sec i{background:#2563eb !important;background-image:none !important}
  .cell .hb i{background:#e03131 !important;background-image:none !important}
  .tl:before{background:#c8860d !important;background-image:none !important}
  .barwrap i,.mb .bar i{background-image:none !important}
  html{filter:none !important;background:#ffffff !important}
  body{filter:none !important;mix-blend-mode:normal !important;opacity:1 !important;forced-color-adjust:none;-webkit-forced-color-adjust:none;color-scheme:only light;background:#ffffff !important}
  .wrap,#home,#report{background:#ffffff}
  #safetyBtn{position:fixed;right:14px;bottom:14px;z-index:999;font-size:12px;padding:7px 12px;border-radius:999px;
    background:#ffffff;border:1px solid #dbe3f0;color:#5b6b8c;cursor:pointer;box-shadow:0 2px 8px rgba(16,24,40,.10)}
  #safetyBtn:hover{border-color:#c8860d;color:#8a5c00}
  /* 月份切换条 + 站内搜索 */
  .calmeta{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:10px}
  .searchbox{margin-top:14px;max-width:620px}
  #q{width:100%;box-sizing:border-box;padding:10px 12px;font-size:13.5px;color:#1a2233;background:#ffffff;
    border:1px solid #dbe3f0;border-radius:10px;outline:none}
  #q:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.10)}
  .qres{margin-top:6px}
  .qrow{padding:7px 10px;border:1px solid #eef1f7;border-radius:8px;margin-top:5px;cursor:pointer;background:#ffffff}
  .qrow:hover{border-color:#2563eb;background:#f7faff}

/* ============ 股价与事件脉络（.evlist / .evrow） ============ */
.evlist{margin-top:4px}
.evrow{display:flex;align-items:baseline;gap:9px;padding:6px 0;border-bottom:1px dashed #eef1f7;font-size:12.5px}
.evrow:last-child{border-bottom:none}
.evd{flex:none;width:44px;font-family:Consolas,Monaco,monospace;font-size:11.5px;color:#93a0b8;text-align:right}
.evb{flex:none;display:inline-block;min-width:52px;text-align:center;color:#ffffff;font-size:10.5px;font-weight:700;
  padding:2px 7px;border-radius:4px;letter-spacing:.3px}
.evx{flex:1;color:#3d4c6b;line-height:1.55}
.evx b{color:#1a2233}

/* ============ 题材逻辑（涨停原因）标签 chips ============ */
.tchip{display:inline-block;padding:3px 9px;margin:0 5px 5px 0;border-radius:12px;font-size:12px;
  background:#eef4fd;color:#1c5fb8;border:1px solid #d6e4f8;line-height:1.4}
.tchip.hot{background:#fff0f0;color:#c92a2a;border-color:#ffd9d9;font-weight:600}
.tchip.hot:nth-child(1){background:#ffe3e3;border-color:#ffc9c9}

/* ============ 深度复盘按钮（个股页 → 当日全市场深度复盘） ============ */
.btn.deep{background:#8b0000 !important;background-image:none !important;color:#ffffff !important;
  border:1px solid #8b0000 !important}
.btn.deep:hover{background:#a31212 !important;border-color:#a31212 !important}

/* ============ 深度雷达按钮（个股页 → 全A股·季报机构与成长雷达） ============ */
.btn.radar{background:#0b6b5a !important;background-image:none !important;color:#ffffff !important;
  border:1px solid #0b6b5a !important}
.btn.radar:hover{background:#0e8570 !important;border-color:#0e8570 !important}
