    .section {
      background: #fff;
      border: 1px solid #e5e7eb;
      border-radius: 12px;
      padding: 24px;
      margin-bottom: 24px;
    }
    .rec-ico {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      font-size: 11px;
      font-weight: 700;
      line-height: 1;
      color: #fff;
      flex-shrink: 0;
    }
    .rec-ico-st { background: #dc2626; border-radius: 4px; }
    .rec-ico-am { background: #f43f5e; border-radius: 50%; }
    .rec-ico-pm { background: #9f1239; border-radius: 4px 10px; }
    .name-wrap {
      display: inline-flex;
      align-items: center;
      gap: 4px;
    }
    .name-marks {
      display: inline-flex;
      justify-content: flex-start;
      align-items: center;
      width: 16px;
      flex-shrink: 0;
    }
    .name-crown {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      max-width: 16px;
      max-height: 16px;
      font-size: 12px;
      line-height: 1;
      overflow: hidden;
    }
    .name-help {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 16px;
      height: 16px;
      padding: 0;
      border: 1px solid #d1d5db;
      border-radius: 50%;
      background: #f9fafb;
      color: #6b7280;
      font-size: 11px;
      cursor: pointer;
      flex-shrink: 0;
    }
    .name-help-ico {
      border: 0;
      background: transparent;
      border-radius: 0;
    }
    .name-tip {
      position: fixed;
      z-index: 80;
      width: 260px;
      padding: 10px 12px;
      background: #111827;
      color: #f9fafb;
      font-size: 12px;
      line-height: 1.7;
      border-radius: 8px;
      box-shadow: 0 8px 24px rgba(0,0,0,.18);
    }
    .name-tip b { color: #fecaca; }
    .name-text {
      padding: 1px 6px;
      background: #111827;
      color: #fff;
      border-radius: 4px;
      font-weight: 600;
      line-height: 1.4;
      white-space: nowrap;
    }
    .trends-section tbody td:nth-child(2) { overflow: visible !important; }
    #trendsList thead th:nth-child(2) { padding-left: calc(8px + 16px + 4px) !important; }
    .section-title {
      font-size: 18px;
      font-weight: 600;
      color: #111827;
      margin-bottom: 16px;
      padding-bottom: 12px;
      border-bottom: 2px solid #f3f4f6;
    }
    .search-section {
      display: flex;
      gap: 12px;
      align-items: center;
      flex-wrap: wrap;
    }
    .search-section input {
      flex: 1;
      min-width: 200px;
      padding: 10px 16px;
      border: 1px solid #d1d5db;
      border-radius: 8px;
      font-size: 14px;
    }
    .search-section input:focus {
      outline: none;
      border-color: #3b82f6;
      box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
    }
    .button-group {
      display: flex;
      gap: 8px;
    }
    .button {
      padding: 10px 20px;
      border-radius: 8px;
      border: none;
      font-size: 14px;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.2s;
    }
    .button.primary {
      background: #3b82f6;
      color: white;
    }
    .button.primary:hover {
      background: #2563eb;
    }
    .button.secondary {
      background: #f3f4f6;
      color: #374151;
      border: 1px solid #d1d5db;
    }
    .button.secondary:hover {
      background: #e5e7eb;
    }
    .button.danger {
      background: #ef4444;
      color: white;
    }
    .button.danger:hover {
      background: #dc2626;
    }
    .button:disabled {
      opacity: 0.5;
      cursor: not-allowed;
    }
    .empty-state {
      text-align: center;
      padding: 48px;
      color: #6b7280;
    }
    .message {
      padding: 12px 16px;
      border-radius: 8px;
      margin-bottom: 16px;
    }
    .message.success {
      background: #dcfce7;
      color: #166534;
      border: 1px solid #86efac;
    }
    .message.error {
      background: #fee2e2;
      color: #991b1b;
      border: 1px solid #fca5a5;
    }
    .message.info {
      background: #dbeafe;
      color: #1e40af;
      border: 1px solid #93c5fd;
    }
    /* 表格区域样式 */
    .trends-section {
      padding: 32px;
    }
    .trends-section .section-title {
      font-size: 20px;
      margin-bottom: 20px;
    }
    #trendsList {
      min-height: 400px;
      max-height: calc(100vh - 350px);
      overflow-x: auto;
      overflow-y: auto;
      padding: 4px;
      -webkit-overflow-scrolling: touch; /* iOS 平滑滚动 */
      /* 确保 sticky 定位在夸克浏览器中正常工作 */
      position: relative;
    }
    .trends-lazy-footer {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      padding: 16px 0 8px;
    }
    .trends-lazy-sentinel {
      width: 100%;
      height: 1px;
    }
    .trends-lazy-hint {
      font-size: 12px;
      color: #9ca3af;
    }
    #trendsList table {
      width: 100%;
      min-width: 1280px;
      font-size: 13px;
    }
    #trendsList th {
      padding: 14px 10px;
      font-size: 13px;
      white-space: nowrap;
      position: -webkit-sticky; /* 夸克浏览器兼容 */
      position: sticky;
      top: 0;
      z-index: 10;
      background: #f9fafb !important;
      /* 确保在夸克浏览器中固顶显示 */
      will-change: transform;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
    }
    #trendsList td {
      padding: 10px 8px;
      font-size: 13px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    #trendsList tr:hover {
      background-color: #f9fafb !important;
    }
    /* 移动端响应式调整 - iPhone 17 (430px) 及以下 */
    @media (max-width: 480px) {
      body {
        margin: 0;
        padding: 0;
        padding-bottom: env(safe-area-inset-bottom);
      }
      .container {
        padding: 6px;
        padding-left: max(6px, env(safe-area-inset-left));
        padding-right: max(6px, env(safe-area-inset-right));
      }
      .page-title {
        margin: 8px 0 6px;
        padding: 0 6px;
      }
      .page-title h2 {
        font-size: 16px;
        margin: 0;
      }
      .section {
        padding: 10px;
        margin-bottom: 8px;
        border-radius: 6px;
      }
      .section-title {
        font-size: 13px;
        margin-bottom: 8px;
        padding-bottom: 4px;
      }
      .trends-section {
        padding: 6px;
      }
      .trends-section .section-title {
        font-size: 13px;
        margin-bottom: 8px;
      }
      #trendsList {
        min-height: 200px;
        max-height: calc(100dvh - 140px);
        padding: 0;
        margin: 0;
        overflow: visible;
      }
      #trendsList table,
      #trendsList tbody {
        display: block;
        width: 100%;
        min-width: 0;
        font-size: 13px;
        border-spacing: 0;
      }
      #trendsList th {
        padding: 6px 4px;
        font-size: 13px;
        font-weight: 600;
        white-space: normal;
        word-wrap: break-word;
        line-height: 1.4;
        /* 移动端也支持 sticky（如果表头显示） */
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 10;
        background: #f9fafb !important;
      }
      #trendsList td {
        padding: 4px 4px;
        font-size: 13px;
        white-space: normal;
        word-wrap: break-word;
        line-height: 1.4;
        vertical-align: top;
      }
      /* 移动端：隐藏表头，使用卡片式布局 */
      #trendsList thead {
        display: none;
      }
      #trendsList tbody tr {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        column-gap: 8px;
        row-gap: 6px;
        align-items: center;
        border: 1px solid #e5e7eb;
        border-radius: 10px;
        margin-bottom: 8px;
        padding: 10px;
        background: #fff;
        box-shadow: 0 1px 2px rgba(0,0,0,0.05);
      }
      #trendsList tbody tr:hover {
        background-color: #f9fafb !important;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
      }
      #trendsList tbody tr > td {
        display: grid;
        grid-template-columns: 2.25em minmax(0, 1fr);
        align-items: center;
        column-gap: 4px;
        width: 100%;
        min-width: 0;
        padding: 0 !important;
        border: none;
        font-size: 13px;
        line-height: 1.35;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
      }
      .score-line { white-space: nowrap; }
      #trendsList tbody tr > td:nth-child(n+4)::before {
        font-weight: 600;
        color: #6b7280;
      }
      #trendsList tbody tr > td:nth-child(1) { display: none !important; }
      #trendsList tbody tr > td:nth-child(2) {
        grid-column: 1;
        grid-row: 1;
        grid-template-columns: minmax(0, 1fr);
        font-weight: 600;
      }
      #trendsList tbody tr > td:nth-child(3) {
        grid-column: 2;
        grid-row: 1;
        grid-template-columns: minmax(0, 1fr);
        font-weight: 600;
        color: #6b7280;
        font-variant-numeric: tabular-nums;
      }
      #trendsList tbody tr > td:nth-child(2)::before,
      #trendsList tbody tr > td:nth-child(3)::before { content: none; }
      #trendsList tbody tr > td:nth-child(4) { grid-column: 3; grid-row: 1; }
      #trendsList tbody tr > td:nth-child(5) { grid-column: 1; grid-row: 2; }
      #trendsList tbody tr > td:nth-child(7) { grid-column: 2; grid-row: 2; }
      #trendsList tbody tr > td:nth-child(8) { grid-column: 3; grid-row: 2; }
      #trendsList tbody tr > td:nth-child(9) { grid-column: 1; grid-row: 3; }
      #trendsList tbody tr > td:nth-child(6) { grid-column: 2; grid-row: 3; }
      #trendsList tbody tr > td:nth-child(10) { grid-column: 3; grid-row: 3; }
      #trendsList tbody tr::after {
        content: '';
        grid-column: 1 / -1;
        grid-row: 4;
        height: 0;
        border-top: 1px solid #e5e7eb;
        align-self: start;
        pointer-events: none;
      }
      #trendsList tbody tr > td:nth-child(11) {
        grid-column: 1;
        grid-row: 4;
        grid-template-columns: 14px minmax(0, 1fr);
        padding-top: 8px !important;
      }
      #trendsList tbody tr > td:nth-child(4)::before { content: '板块'; }
      #trendsList tbody tr > td:nth-child(5)::before { content: '趋势'; }
      #trendsList tbody tr > td:nth-child(6)::before { content: '卖点'; }
      #trendsList tbody tr > td:nth-child(7)::before { content: '价值'; }
      #trendsList tbody tr > td:nth-child(8)::before { content: '情绪'; }
      #trendsList tbody tr > td:nth-child(9)::before { content: '买点'; }
      #trendsList tbody tr > td:nth-child(10)::before { content: '建议'; }
      #trendsList tbody tr > td:nth-child(11)::before {
        content: '';
        width: 14px;
        height: 14px;
        background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3.5 2'/%3E%3C/svg%3E") center / contain no-repeat;
      }
      #trendsList tbody tr > td:nth-child(12) {
        display: flex;
        grid-column: 2 / -1;
        grid-row: 4;
        align-items: center;
        flex-wrap: nowrap;
        gap: 6px;
        padding-top: 8px !important;
        overflow: visible;
        white-space: nowrap;
      }
      #trendsList tbody tr > td:nth-child(12)::before { content: none; }
      #trendsList tbody tr > td:nth-child(12) button {
        font-size: 13px !important;
        padding: 6px 10px !important;
        min-width: 44px !important;
        min-height: 36px !important;
        flex: 1;
      }
      #trendsList tbody tr > td:nth-child(12) button:nth-child(-n+2) {
        min-width: 36px !important;
        min-height: 36px !important;
        font-size: 14px !important;
        padding: 4px !important;
        flex: 0;
      }
      .name-wrap { display: flex; width: 100%; min-width: 0; align-items: center; }
      .name-marks:empty { display: none; }
      .search-section {
        flex-direction: column;
        gap: 6px;
      }
      .search-section input {
        min-width: 100%;
        font-size: 16px; /* 防止iOS自动缩放 */
        padding: 10px 12px;
      }
      .search-section input::placeholder {
        font-size: 13px;
      }
      .pb-layer-title {
        font-size: 13px;
      }
      .button-group {
        width: 100%;
        flex-direction: row;
        gap: 6px;
      }
      .button-group .button {
        flex: 1;
        padding: 10px 12px;
        font-size: 14px; /* 防止iOS自动缩放 */
      }
      .button {
        padding: 10px 12px;
        font-size: 14px;
      }
    }
    /* 中等屏幕响应式调整 */
    @media (min-width: 481px) and (max-width: 768px) {
      .trends-section {
        padding: 20px;
      }
      #trendsList table {
        min-width: 1100px;
        font-size: 12px;
      }
      #trendsList th,
      #trendsList td {
        padding: 10px 8px;
        font-size: 12px;
      }
    }
    /* 大屏幕响应式调整 */
    @media (min-width: 1400px) {
      .trends-section {
        padding: 40px;
      }
      #trendsList table {
        min-width: 100%;
        font-size: 14px;
      }
      #trendsList th,
      #trendsList td {
        padding: 12px 10px;
        font-size: 14px;
      }
    }
    /* 建仓算法信息框 */
    .pb-title {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .pb-refresh-btn {
      font-size: 12px;
      padding: 4px 12px;
    }
    .pb-summary {
      display: flex;
      align-items: center;
      gap: 12px;
      margin-bottom: 8px;
      min-width: 0;
    }
    .pb-score-ring {
      display: flex;
      flex-direction: row;
      align-items: baseline;
      justify-content: center;
      gap: 6px;
      flex-shrink: 0;
      min-width: 0;
      padding: 6px 12px;
      border-radius: 10px;
      background: linear-gradient(135deg, #eef2ff 0%, #e0e7ff 100%);
      border: 1px solid #c7d2fe;
    }
    .pb-score-value {
      font-size: 22px;
      font-weight: 700;
      line-height: 1;
      color: #1e3a8a;
    }
    .pb-score-label {
      font-size: 12px;
      color: #4b5563;
      margin-top: 0;
    }
    .pb-score-delta {
      margin-top: 0 !important;
    }
    .pb-meta {
      min-width: 0;
      flex: 1;
      display: flex;
      flex-direction: row;
      align-items: center;
      flex-wrap: nowrap;
      gap: 10px;
    }
    .pb-zone {
      font-size: 13px;
      color: #374151;
      white-space: nowrap;
      flex-shrink: 0;
    }
    .pb-badge {
      display: inline-block;
      padding: 2px 10px;
      border-radius: 999px;
      font-size: 13px;
      font-weight: 600;
      color: #fff;
      background: #6366f1;
      flex-shrink: 0;
    }
    .pb-badge.strong { background: #dc2626; }
    .pb-badge.heavy { background: #ea580c; }
    .pb-badge.half { background: #d97706; }
    .pb-badge.light { background: #2563eb; }
    .pb-badge.empty { background: #6b7280; }
    .pb-stars { color: #f59e0b; margin-left: 0; font-size: 13px; flex-shrink: 0; }
    .pb-signal {
      font-size: 13px;
      color: #374151;
      line-height: 1.3;
      min-width: 0;
      flex: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .pb-signal .ok { color: #16a34a; font-weight: 600; }
    .pb-signal .no { color: #6b7280; }
    .pb-layers {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 8px;
      margin-bottom: 16px;
    }
    .pb-layer {
      background: #f9fafb;
      border: 1px solid #e5e7eb;
      border-radius: 8px;
      padding: 0;
      overflow: hidden;
    }
    .pb-layer-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      width: 100%;
      margin: 0;
      padding: 8px 12px;
      border: none;
      background: transparent;
      font-weight: 600;
      color: #111827;
      font-size: 14px;
      cursor: pointer;
      text-align: left;
      font-family: inherit;
      -webkit-tap-highlight-color: transparent;
    }
    .pb-layer-head:hover { background: #f3f4f6; }
    .pb-layer-head-right {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      flex-shrink: 0;
    }
    .pb-layer-score { color: #4f46e5; font-variant-numeric: tabular-nums; }
    .pb-layer-chevron {
      color: #9ca3af;
      font-size: 12px;
      line-height: 1;
      transition: transform 0.15s ease;
    }
    .pb-layer:not(.is-collapsed) .pb-layer-chevron { transform: rotate(90deg); }
    .pb-layer-body {
      padding: 0 12px 12px;
      border-top: 1px solid #e5e7eb;
    }
    .pb-layer.is-collapsed .pb-layer-body { display: none; }
    .pb-layer-item {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      font-size: 12px;
      color: #4b5563;
      padding: 4px 0;
    }
    .pb-layer-item .val {
      font-weight: 600;
      color: #111827;
      text-align: right;
      flex-shrink: 0;
      font-variant-numeric: tabular-nums;
    }
    @media (max-width: 480px) {
      .pb-layers {
        grid-template-columns: 1fr;
      }
      .pb-layer-item {
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        gap: 2px;
      }
      .pb-layer-item .val {
        width: 100%;
        flex-shrink: 1;
        text-align: left;
        white-space: normal;
        overflow-wrap: anywhere;
      }
    }
    .pb-layer-title { min-width: 0; }
    .pb-candidates .pb-layer-title {
      display: flex;
      align-items: baseline;
      flex-wrap: wrap;
      gap: 8px;
    }
    .pb-date {
      font-size: 12px;
      font-weight: 400;
      color: #6b7280;
      white-space: nowrap;
    }
    .pb-chips {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 10px;
    }
    .pb-chip {
      display: flex;
      flex-direction: column;
      gap: 4px;
      min-width: 0;
      max-width: 100%;
      box-sizing: border-box;
      padding: 8px 12px;
      border: 1px solid #d1d5db;
      border-radius: 10px;
      background: #fff;
      font-size: 13px;
    }
    .pb-chip-row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      min-width: 0;
    }
    .pb-chip-name {
      flex: 1;
      min-width: 0;
      font-weight: 600;
      color: #111827;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .pb-chip-meta {
      color: #6b7280;
      font-size: 12px;
    }
    .pb-chip .code {
      color: #6b7280;
      min-width: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .pb-chip .score {
      color: #4f46e5;
      font-weight: 600;
      flex-shrink: 0;
    }
    .pb-chip button {
      border: none;
      background: #eef2ff;
      color: #4f46e5;
      border-radius: 999px;
      padding: 2px 10px;
      font-size: 12px;
      cursor: pointer;
      flex-shrink: 0;
      white-space: nowrap;
      -webkit-tap-highlight-color: transparent;
    }
    .pb-chip button:disabled { opacity: 0.5; cursor: default; }
    @media (max-width: 900px) {
      .pb-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 640px) {
      .pb-chips { grid-template-columns: 1fr; }
      .pb-chip { padding: 10px 12px; }
    }
