/* ==========================================================================
   首页日报卡片共享样式
   来源：charts.py (.yz-* / .me-*)、board_sentiment.py (.lb-*)、
         yz_industry.py (.hybb-*)、theme_hot.py (.theme-zt-*)
   ========================================================================== */

/* ---------------------------------------------------------------------------
   游资堆叠图 (.yz-*)
   --------------------------------------------------------------------------- */
.yz-stacked-chart{margin-top:12px;padding:14px 12px 12px;border:1px solid var(--bd);border-radius:12px;background:var(--alt);}
.yz-chart-head{font-weight:700;font-size:.82rem;margin-bottom:8px;color:var(--title);}
.yz-chart-body{display:flex;flex-direction:column;gap:12px;}
.yz-chart-bars{display:flex;align-items:flex-end;gap:12px;min-height:180px;}
.yz-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;}
.yz-bar-stack{width:30px;height:160px;display:flex;flex-direction:column-reverse;justify-content:flex-start;border-radius:10px;background:linear-gradient(180deg,rgba(32,107,196,.06),rgba(32,107,196,.02));overflow:hidden;box-shadow:inset 0 0 0 1px rgba(32,107,196,.08);}
.yz-bar-segment{width:100%;display:flex;align-items:center;justify-content:center;position:relative;font-size:0;color:transparent;}
.yz-bar-segment.yz-buy{background:linear-gradient(180deg,#34d399,#059669);}
.yz-bar-segment.yz-sell{background:linear-gradient(180deg,#f87171,#dc2626);}
.yz-bar-date{font-size:.72rem;font-weight:600;color:var(--muted);}
.yz-bar-amount{font-size:.64rem;text-align:center;display:flex;flex-direction:column;gap:4px;align-items:center;}
.yz-amount-bubble{display:inline-flex;align-items:center;justify-content:center;padding:2px 10px;border-radius:999px;font-weight:600;}
.yz-amount-buy{color:#047857;background:rgba(16,185,129,.16);border:1px solid rgba(5,150,105,.35);}
.yz-amount-sell{color:#dc2626;background:rgba(248,113,113,.18);border:1px solid rgba(220,38,38,.35);}
.yz-chart-legend{display:flex;gap:16px;font-size:.68rem;color:var(--muted);}
.yz-legend-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:4px;}
.yz-legend-buy{background:linear-gradient(180deg,#34d399,#059669);}
.yz-legend-sell{background:linear-gradient(180deg,#f87171,#dc2626);}
@media (max-width:720px){.yz-chart-bars{gap:8px;min-height:140px;}.yz-bar-stack{width:24px;height:120px;}.yz-bar-amount{font-size:.6rem;} .yz-chart-head{font-size:.78rem;} }
[data-theme="dark"] .yz-stacked-chart{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.05);}

/* ---------------------------------------------------------------------------
   赚钱效应图 (.me-*)
   --------------------------------------------------------------------------- */
.me-chart{margin-top:10px;padding:12px;border:1px solid var(--bd);border-radius:12px;background:var(--alt);}
.me-body{display:flex;flex-direction:column;gap:10px;}
.me-bars{display:flex;align-items:flex-start;gap:12px;min-height:240px;}
.me-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:0;}
.me-up-area,.me-down-area{height:110px;display:flex;justify-content:center;}
.me-up-area{align-items:flex-end;}
.me-down-area{align-items:flex-start;}
.me-stack{width:30px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.04);background:linear-gradient(180deg,rgba(59,130,246,.05),rgba(59,130,246,.02));}
.me-stack.me-up{border-radius:10px 10px 0 0;}
.me-stack.me-down{flex-direction:column;justify-content:flex-start;border-radius:0 0 10px 10px;}
.me-seg{width:100%;}
.me-up-strong{background:linear-gradient(180deg,#10b981,#059669);}
.me-up-mid{background:linear-gradient(180deg,#34d399,#10b981);}
.me-up-weak{background:linear-gradient(180deg,#6ee7b7,#34d399);}
.me-down-strong{background:linear-gradient(180deg,#ef4444,#dc2626);}
.me-down-mid{background:linear-gradient(180deg,#f87171,#ef4444);}
.me-down-weak{background:linear-gradient(180deg,#fca5a5,#f87171);}
.me-axis{width:34px;height:0;border-top:1px solid var(--bd);border-radius:4px;opacity:.7;}
.me-label-group{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:.7rem;line-height:1.1;}
.me-label-group-up{margin-bottom:2px;}
.me-label-group-down{margin-top:2px;}
.me-label{font-weight:600;}
.me-label-up-strong{color:#059669;}
.me-label-up-mid{color:#10b981;}
.me-label-up-weak{color:#34d399;}
.me-label-up-total{color:#047857;}
.me-label-down-total{color:#dc2626;}
.me-label-down-weak{color:#fca5a5;}
.me-label-down-mid{color:#f87171;}
.me-label-down-strong{color:#ef4444;}
.me-date{font-size:.72rem;color:var(--muted);font-weight:600;}
.me-legend{display:flex;flex-wrap:wrap;gap:10px;font-size:.7rem;color:var(--muted);}
.me-dot{display:inline-block;width:10px;height:10px;border-radius:999px;margin-right:4px;}
.me-dot.me-up-strong{background:linear-gradient(180deg,#10b981,#059669);}
.me-dot.me-up-mid{background:linear-gradient(180deg,#34d399,#10b981);}
.me-dot.me-up-weak{background:linear-gradient(180deg,#6ee7b7,#34d399);}
.me-dot.me-down-strong{background:linear-gradient(180deg,#ef4444,#dc2626);}
.me-dot.me-down-mid{background:linear-gradient(180deg,#f87171,#ef4444);}
.me-dot.me-down-weak{background:linear-gradient(180deg,#fca5a5,#f87171);}
@media (max-width:720px){.me-bars{gap:8px;min-height:200px;}.me-stack{width:24px;}.me-up-area,.me-down-area{height:96px;}}
[data-theme="dark"] .me-chart{background:rgba(255,255,255,.03);border-color:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);}

/* ---------------------------------------------------------------------------
   连板天梯 (.lb-*)
   --------------------------------------------------------------------------- */
.lb-ladder{margin-top:10px;padding:10px 12px 12px;border:1px solid var(--bd);border-radius:12px;background:var(--alt);}
.lb-head-tags{display:flex;flex-wrap:wrap;gap:6px 8px;margin-bottom:8px;font-size:.72rem;}
.lb-tag{padding:2px 8px;border-radius:999px;font-weight:600;}
.lb-tag-area{background:rgba(248,171,45,.10);color:#c05621;border:1px solid rgba(251,191,36,.60);}
.lb-tag-concept{background:#e8f2ff;color:#1856a3;border:1px solid #cfe2ff;}
.lb-rows{display:flex;flex-direction:column;gap:6px;font-size:.78rem;}
.lb-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;}
.lb-row-label{width:auto;font-weight:700;color:var(--muted);font-size:.78rem;display:flex;align-items:center;gap:4px;}
.lb-lvl-badge{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:1px 8px;border-radius:999px;font-size:.72rem;font-weight:700;border:1px solid rgba(37,99,235,.70);background:rgba(59,130,246,.16);color:#1d4ed8;}
.lb-lvl-badge-strong{border-color:rgba(37,99,235,.95);background:rgba(59,130,246,.24);color:#1d4ed8;}
.lb-lvl-badge-mid{border-color:rgba(59,130,246,.70);background:rgba(59,130,246,.18);color:#2563eb;}
.lb-lvl-badge-weak{border-color:rgba(96,165,250,.60);background:rgba(191,219,254,.20);color:#1d4ed8;}
.lb-jjl{font-size:.7rem;}
.lb-row-body{flex:1;display:flex;flex-wrap:wrap;gap:6px;width:100%;}
.lb-cell{min-width:86px;max-width:120px;padding:4px 6px;border-radius:8px;border:1px solid rgba(148,163,184,.45);background:rgba(255,255,255,.96);box-shadow:0 1px 2px rgba(15,23,42,.06);position:relative;overflow:hidden;}
.lb-name-row{display:flex;align-items:center;gap:2px;margin-bottom:1px;}
.lb-name{font-weight:700;font-size:.78rem;color:var(--primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb-area-chip{margin-left:1px;padding:0 4px;border-radius:999px;font-size:.64rem;color:#be123c;background:rgba(248,113,113,.06);white-space:nowrap;}
.lb-line{font-size:.68rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb-line-metrics{font-size:.66rem;}
.lb-metric-num{font-weight:800;color:#111;}
.lb-line-industry{color:var(--muted);}
.lb-line-concept{color:#92400e;}
.lb-cell-fail{background:rgba(248,113,113,.04);border-style:dashed;border-color:rgba(220,38,38,.7);}
.lb-cell-fail::before,.lb-cell-fail::after{content:'';position:absolute;left:4px;right:4px;top:50%;height:1.1px;background:rgba(220,38,38,.9);transform-origin:center;}
.lb-cell-fail::before{transform:rotate(24deg);}
.lb-cell-fail::after{transform:rotate(-24deg);}
@media (max-width:760px){.lb-row-body{gap:4px;}.lb-cell{min-width:76px;max-width:112px;padding:3px 5px;}.lb-head-tags{font-size:.7rem;}}
[data-theme="dark"] .lb-cell{background:rgba(15,23,42,.94);box-shadow:0 1px 3px rgba(0,0,0,.45);border-color:rgba(148,163,184,.55);}
[data-theme="dark"] .lb-name{color:var(--primary);}
[data-theme="dark"] .lb-area-chip{background:rgba(248,113,113,.32);color:#fecaca;}
[data-theme="dark"] .lb-metric-num{color:#f8fafc;}
[data-theme="dark"] .lb-line-industry{color:var(--text-secondary);}
[data-theme="dark"] .lb-line-concept{color:#fbbf24;}
[data-theme="dark"] .lb-cell-fail{background:rgba(127,29,29,.6);border-color:rgba(248,113,113,.95);}
[data-theme="dark"] .lb-cell-fail::before,[data-theme="dark"] .lb-cell-fail::after{background:rgba(254,226,226,.98);}
[data-theme="dark"] .lb-ladder{background:rgba(15,23,42,.9);border-color:rgba(148,163,184,.45);}
[data-theme="dark"] .lb-lvl-badge{border-color:rgba(129,140,248,.85);background:rgba(31,41,55,.90);color:#e0e7ff;}
[data-theme="dark"] .lb-lvl-badge-strong{border-color:rgba(129,140,248,.98);background:rgba(79,70,229,.85);color:#eef2ff;}
[data-theme="dark"] .lb-lvl-badge-mid{border-color:rgba(129,140,248,.92);background:rgba(67,56,202,.78);color:#e0e7ff;}
[data-theme="dark"] .lb-lvl-badge-weak{border-color:rgba(129,140,248,.75);background:rgba(31,41,55,.86);color:#c7d2fe;}

/* ---------------------------------------------------------------------------
   行业板块双列 (.hybb-*)
   --------------------------------------------------------------------------- */
.hybb-block{margin-bottom:6px;}
.hybb-block:last-child{margin-bottom:2px;}
.hybb-block-head{font-size:.88rem;font-weight:700;margin-bottom:3px;color:var(--title);}
.hybb-dual-grid{display:flex;gap:2px;overflow-x:hidden;padding:0;-webkit-overflow-scrolling:touch;min-width:0;}
.hybb-col{flex:1 1 0;min-width:0;background:var(--alt);border:1px solid var(--bd);border-radius:6px;padding:3px 4px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);}
.hybb-col-title{font-size:.72rem;font-weight:600;letter-spacing:0;margin-bottom:2px;color:var(--muted);}
.hybb-item{padding:1px 0;border-bottom:1px solid var(--bd);}
.hybb-item:last-child{border-bottom:none;}
.hybb-row{display:flex;align-items:baseline;justify-content:space-between;gap:0;min-width:0;}
.hybb-name{display:inline-flex;align-items:center;padding:1px 2px;border-radius:3px;font-weight:600;font-size:.72rem;color:#fff;white-space:nowrap;max-width:42%;overflow:hidden;text-overflow:ellipsis;}
.hybb-name-pos{background:linear-gradient(135deg,#10b981,#059669);}
.hybb-name-neg{background:linear-gradient(135deg,#ef4444,#dc2626);}
.hybb-amt{font-weight:700;font-size:.88rem;color:var(--title);white-space:nowrap;text-align:right;flex-shrink:0;}
.hybb-amt-pos{color:#047857;}
.hybb-amt-neg{color:#dc2626;}
.hybb-lead{margin-top:1px;font-size:.7rem;color:var(--muted);}
.hybb-lead .stock-name{color:var(--primary);font-weight:700;}
.hybb-empty{padding:2px 0;font-size:.7rem;color:var(--muted);}
@media (max-width:760px){.hybb-dual-grid{gap:2px;overflow-x:auto;padding:0 2px;}.hybb-col{min-width:165px;padding:4px 5px;}.hybb-amt{font-size:.82rem;}.hybb-name{font-size:.68rem;max-width:50%;padding:1px 2px;}}
[data-theme="dark"] .hybb-col{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.08);}
[data-theme="dark"] .hybb-item{border-color:rgba(255,255,255,.08);}

/* ---------------------------------------------------------------------------
   题材涨停图 (.theme-zt-*)
   --------------------------------------------------------------------------- */
.theme-zt-chart{margin:6px 0 4px;padding:6px 6px 12px;border:1px solid var(--bd);border-radius:8px;background:var(--alt);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);}
.theme-zt-chart .zt-chart-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px;}
.theme-zt-chart .zt-title{font-size:.72rem;color:var(--muted);font-weight:700;}
.theme-zt-chart .zt-chart-note{display:flex;align-items:center;gap:6px;font-size:.66rem;font-weight:700;}
.theme-zt-chart .zt-chart-note span{display:inline-flex;align-items:center;padding:1px 8px;border-radius:999px;border:1px solid transparent;}
.theme-zt-chart .zt-chart-note .note-seat{color:#1d4ed8;background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.25);}
.theme-zt-chart .zt-chart-note .note-zt{color:#dc2626;background:rgba(220,38,38,.12);border-color:rgba(220,38,38,.28);font-weight:800;}
.theme-zt-chart .zt-bars{display:flex;align-items:flex-end;gap:4px;height:96px;}
.theme-zt-chart .zt-bar{position:relative;flex:1;min-width:0;border-radius:5px;background:linear-gradient(180deg,#dbeafe,#bfdbfe);border:1px solid rgba(59,130,246,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.6);}
.theme-zt-chart .zt-bar.latest{background:linear-gradient(180deg,#bbf7d0,#86efac);border-color:rgba(16,185,129,.5);}
.theme-zt-chart .zt-bar .bar-seat{position:absolute;top:-40px;left:50%;transform:translateX(-50%);font-size:.62rem;font-weight:700;color:#1d4ed8;background:rgba(59,130,246,.12);border:1px solid rgba(59,130,246,.28);padding:1px 6px;border-radius:999px;}
.theme-zt-chart .zt-bar .bar-tip{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:.72rem;font-weight:800;color:#dc2626;background:rgba(220,38,38,.12);border:1px solid rgba(220,38,38,.28);padding:1px 8px;border-radius:999px;}
@media (max-width:720px){.theme-zt-chart{padding:6px 6px 10px;}.theme-zt-chart .zt-bars{gap:3px;height:88px;}.theme-zt-chart .zt-chart-note{font-size:.62rem;}.theme-zt-chart .zt-bar .bar-seat{top:-38px;font-size:.60rem;}.theme-zt-chart .zt-bar .bar-tip{top:-18px;font-size:.68rem;}}
