
  /* ChatGPT Podcast Edition Pro — v2 现代化版本 */
  .gpt-article {
    /* ---- 设计变量 ---- */
    --color-text: #2b2b2b;
    --color-heading: #111111;
    --color-muted: #6b6b6b;
    --color-faint: #8a8a8a;
    --color-border: #e6e6e6;
    --color-surface: #f7f7f8;
    --color-surface-strong: #efeff1;
    --color-accent: #2563eb;
    --color-accent-hover: #1d4ed8;
    --radius-lg: 14px;
    --radius-md: 10px;
    --radius-sm: 6px;

    max-width: 900px;
    margin: auto;
    padding: 32px 20px;
    box-sizing: border-box;
    font-family:
      ui-sans-serif,
      -apple-system,
      "Segoe UI",
      Roboto,
      Ubuntu,
      Cantarell,
      "Noto Sans",
      "PingFang SC",
      "Microsoft YaHei",
      sans-serif,
      "Helvetica Neue",
      Arial;
    font-size: 16px;
    line-height: 1.72;
    color: var(--color-text);
  }

  .gpt-article *,
  .gpt-article *::before,
  .gpt-article *::after {
    box-sizing: border-box;
  }

  .gpt-article ::selection {
    background: color-mix(in srgb, var(--color-accent) 20%, transparent);
  }

  /* 标题 */
  .gpt-article h1 {
    font-size: 26px;
    font-weight: 650;
    line-height: 1.35;
    color: var(--color-heading);
    margin: 0 0 22px;
  }
  .gpt-article h2 {
    font-size: 20px;
    font-weight: 600;
    margin: 32px 0 14px;
    color: var(--color-heading);
  }
  .gpt-article h3 {
    font-size: 16px;
    font-weight: 600;
    margin: 24px 0 10px;
    color: var(--color-heading);
  }

  /* 正文 */
  .gpt-article p {
    margin: 1.25em 0;
    text-wrap: pretty;
    overflow-wrap: break-word;
  }
  .gpt-article strong {
    font-weight: 650;
    color: var(--color-heading);
  }

  /* 超链接 */
  .gpt-article a {
    color: var(--color-accent);
    text-decoration: none;
    text-underline-offset: 2px;
    transition:
      color 0.15s ease,
      text-decoration-color 0.15s ease;
  }
  .gpt-article a:hover {
    color: var(--color-accent-hover);
    text-decoration: underline;
  }
  .gpt-article a:visited {
    color: var(--color-accent);
    opacity: 0.85;
  }
  .gpt-article a:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
    border-radius: 2px;
  }

  /* 列表 */
  .gpt-article ul,
  .gpt-article ol {
    margin: 0 0 16px;
    padding-left: 1.4em;
  }
  .gpt-article li {
    margin-bottom: 6px;
  }
  .gpt-article li::marker {
    color: var(--color-muted);
  }
  .gpt-article ul ul,
  .gpt-article ul ol,
  .gpt-article ol ul,
  .gpt-article ol ol {
    margin: 6px 0 6px;
  }

  /* 小字 */
  .gpt-article small {
    font-size: 10px;
    color: var(--color-muted);
    line-height: 1.6;
  }

  /* 图片 */
  .article-image {
    margin: 24px 0;
    text-align: center;
  }
  .article-image img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius-lg);
    display: block;
    margin: auto;
    cursor: zoom-in;
    border: 1px solid var(--color-border);
    transition: opacity 0.15s ease;
  }
  .article-image img:hover {
    opacity: 0.95;
  }
  .article-image figcaption {
    margin-top: 10px;
    font-size: 13px;
    color: var(--color-faint);
    line-height: 1.5;
  }

  .img-lightbox-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease;
    z-index: 9999;
    cursor: zoom-out;
    padding: 24px;
  }
  .img-lightbox-overlay.active {
    opacity: 1;
    visibility: visible;
  }
  .img-lightbox-content {
    width: 92vw;
    height: 92vh;
    object-fit: contain;
    border-radius: var(--radius-md);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.4);
  }

  /* 代码区域 */
  .code-box {
    margin: 24px 0;
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--color-border);
    background: var(--color-surface);
  }
  .code-header {
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    background: var(--color-surface-strong);
    font-size: 13px;
    color: var(--color-muted);
  }
  .copy-code {
    border: 0;
    background: none;
    cursor: pointer;
    padding: 5px 8px;
    border-radius: var(--radius-sm);
    font-size: 13px;
    color: var(--color-muted);
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition:
      background 0.15s ease,
      color 0.15s ease;
  }
  .copy-code .copy-icon {
    flex-shrink: 0;
  }
  .copy-code:hover {
    background: var(--color-border);
    color: var(--color-heading);
  }
  .code-box pre {
    margin: 0;
    padding: 0;
    background: var(--color-surface);
    overflow: auto;
  }
  .code-box code {
    display: block;
    padding: 18px;
    font-family:
      "Söhne Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas,
      "Liberation Mono", "Cascadia Mono", monospace;
    font-size: 14px;
    line-height: 1.65;
    color: #24292f;
  }

  /* Prism 高亮 */
  .token.comment {
    color: #6a737d;
  }
  .token.keyword {
    color: #d73a49;
  }
  .token.string {
    color: #032f62;
  }
  .token.function {
    color: #6f42c1;
  }
  .token.number {
    color: #005cc5;
  }
  .token.boolean {
    color: #e36209;
  }
  .token.operator {
    color: #d73a49;
  }
  .token.class-name {
    color: #22863a;
  }
  .token.property {
    color: #005cc5;
  }

  /* 引用 */
  .gpt-article blockquote {
    margin: 20px 0;
    padding: 4px 0 4px 16px;
    border-left: 3px solid var(--color-border);
    color: var(--color-muted);
    font-size: 16px;
  }

  /* 金句 */
  .quote-highlight {
    margin: 24px 0;
    padding: 18px 20px;
    background: var(--color-surface);
    border-radius: var(--radius-lg);
    font-size: 17px;
    font-weight: 500;
    color: var(--color-heading);
  }

  /* 表格 */
  .gpt-article table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    border-radius: var(--radius-md);
    overflow: hidden;
  }
  .gpt-article .table-wrap {
    overflow-x: auto;
    margin: 20px 0;
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border);
  }
  .gpt-article .table-wrap table {
    margin: 0;
  }
  .gpt-article th,
  .gpt-article td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
  }
  .gpt-article th {
    background: var(--color-surface);
    color: var(--color-heading);
    font-weight: 600;
  }
  .gpt-article tr:last-child td {
    border-bottom: none;
  }

  /* 手机 */
  @media (max-width: 768px) {
    .gpt-article {
      padding: 22px 16px;
      font-size: 15px;
    }
    .gpt-article h1 {
      font-size: 23px;
    }
    .gpt-article h2 {
      font-size: 18px;
      margin: 26px 0 12px;
    }
    .gpt-article h3 {
      font-size: 15px;
      margin: 20px 0 8px;
    }
    .gpt-article ul,
    .gpt-article ol {
      padding-left: 1.2em;
    }
    .quote-highlight {
      font-size: 16px;
      padding: 14px 16px;
    }
    .article-image img {
      border-radius: var(--radius-md);
    }
    .code-box code {
      font-size: 13px;
    }
    .copy-code {
      padding: 8px 10px;
    }
    .gpt-article th,
    .gpt-article td {
      padding: 8px 10px;
      font-size: 13.5px;
    }
    .img-lightbox-overlay {
      padding: 12px;
    }
  }

  /* 暗色模式 */
  @media (prefers-color-scheme: dark) {
    .gpt-article {
      --color-text: #d8d8d8;
      --color-heading: #f2f2f2;
      --color-muted: #a0a0a0;
      --color-faint: #8a8a8a;
      --color-border: #333333;
      --color-surface: #1f1f1f;
      --color-surface-strong: #262626;
      --color-accent: #6ea8fe;
      --color-accent-hover: #8fb9ff;
    }
    .code-box code {
      color: #e6edf3;
    }

    /* Prism 高亮 — 暗色适配 */
    .token.comment {
      color: #8b949e;
    }
    .token.keyword {
      color: #ff7b72;
    }
    .token.string {
      color: #a5d6ff;
    }
    .token.function {
      color: #d2a8ff;
    }
    .token.number {
      color: #79c0ff;
    }
    .token.boolean {
      color: #ffa657;
    }
    .token.operator {
      color: #ff7b72;
    }
    .token.class-name {
      color: #7ee787;
    }
    .token.property {
      color: #79c0ff;
    }

    /* 行内代码 */
    .gpt-article :not(pre) > code {
      color: #ff7b72;
    }
  }
