:root {
      --bg: #f4f6f8;
      --panel: #ffffff;
      --border: #d7dde3;
      --text: #1f2933;
      --muted: #5d6b78;
      --accent: #0f766e;
      --accent-soft: #e6fffb;
      --soft: #eef2f7;
      --warning: #b45309;
      --media: #2563eb;
      --media-soft: #eff6ff;
      --shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    }
    * { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
      background: var(--bg);
      color: var(--text);
      line-height: 1.55;
      letter-spacing: 0;
    }
    a {
      color: var(--accent);
      text-decoration: none;
    }
    a:hover {
      text-decoration: underline;
    }
    .wrap {
      max-width: 1180px;
      margin: 0 auto;
      padding: 24px;
    }
    header {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 12px;
    }
    h1 {
      margin: 0;
      font-size: 28px;
      line-height: 1.2;
      letter-spacing: 0;
    }
    .summary {
      margin-top: 8px;
      color: var(--muted);
      font-size: 14px;
    }
    .nav-tabs {
      position: sticky;
      top: 0;
      z-index: 30;
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-end;
      gap: 6px;
      margin: 0 -24px 18px;
      padding: 8px 24px 0;
      overflow-x: auto;
      overscroll-behavior-x: contain;
      scroll-snap-type: x proximity;
      background: rgba(244, 246, 248, 0.96);
      border-bottom: 1px solid var(--border);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      scrollbar-width: thin;
    }
    .nav-tabs a,
    .nav-tabs span[aria-current="page"] {
      display: inline-flex;
      flex: 0 0 auto;
      align-items: center;
      scroll-snap-align: start;
      min-height: 38px;
      padding: 8px 13px;
      border: 1px solid var(--border);
      border-bottom: 0;
      border-radius: 7px 7px 0 0;
      text-decoration: none;
      color: var(--text);
      background: var(--panel);
      font-size: 14px;
      font-weight: 650;
      white-space: nowrap;
    }
    .nav-tabs a:hover {
      color: var(--accent);
      background: var(--accent-soft);
      text-decoration: none;
    }
    .nav-tabs span[aria-current="page"] {
      color: #fff;
      border-color: var(--accent);
      background: var(--accent);
      cursor: default;
    }
    .nav-tabs a:focus-visible {
      outline: 2px solid var(--accent);
      outline-offset: -2px;
    }
    .stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 12px;
      margin: 18px 0 24px;
    }
    .total-stats {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .stat {
      min-width: 0;
      padding: 14px 16px;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }
    .stat .label { color: var(--muted); font-size: 12px; letter-spacing: 0; }
    .stat .value { margin-top: 4px; font-size: 22px; font-weight: 700; overflow-wrap: anywhere; }
    .stat.compact .value { font-size: 16px; }
    .stat.wide { grid-column: 1 / -1; }
    .stat .value a {
      display: inline-block;
      margin: 2px 8px 2px 0;
    }
    .span-all {
      grid-column: 1 / -1;
      min-width: 0;
    }
    .link-list {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      margin-top: 4px;
    }
    .link-list a {
      font-weight: 600;
    }
    section.day {
      margin-bottom: 24px;
      padding: 16px;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }
    section.day h2 {
      margin: 0 0 8px;
      font-size: 20px;
    }
    .day-meta {
      color: var(--muted);
      font-size: 13px;
      margin-bottom: 12px;
    }
    .day-meta a {
      display: inline-block;
      margin: 2px 8px 2px 0;
      font-weight: 600;
    }
    .issue {
      padding: 14px 0;
      border-top: 1px solid var(--soft);
    }
    .issue:first-of-type { border-top: 0; padding-top: 0; }
    .issue h3 {
      margin: 0;
      font-size: 17px;
    }
    .issue h3 a {
      color: var(--text);
      text-decoration: none;
    }
    .issue h3 a:hover {
      color: var(--accent);
      text-decoration: underline;
    }
    .issue-meta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 6px;
      margin-top: 4px;
      color: var(--muted);
      font-size: 13px;
    }
    .version-chip,
    .chat-version {
      display: inline-flex;
      align-items: center;
      width: max-content;
      padding: 2px 7px;
      border-radius: 999px;
      background: #e8f1ff;
      color: #1d4ed8;
      font-size: 11px;
      font-weight: 700;
      line-height: 1.35;
      white-space: nowrap;
    }
    .chat-version {
      margin-left: 5px;
      vertical-align: 1px;
    }
    .version-list {
      display: flex;
      flex-wrap: wrap;
      gap: 5px;
      align-items: center;
    }
    .section {
      margin-bottom: 24px;
      padding: 16px;
      background: var(--panel);
      border: 1px solid var(--border);
      border-radius: 8px;
      box-shadow: var(--shadow);
    }
    .section-head {
      display: flex;
      gap: 12px;
      align-items: baseline;
      justify-content: space-between;
      margin-bottom: 12px;
    }
    .section-head h2 {
      margin: 0;
      font-size: 20px;
    }
    .section-meta {
      color: var(--muted);
      font-size: 13px;
    }
    .table-wrap {
      overflow-x: auto;
    }
    table.bug-table {
      width: 100%;
      border-collapse: collapse;
      min-width: 860px;
    }
    .bug-table th,
    .bug-table td {
      padding: 12px 10px;
      border-top: 1px solid var(--soft);
      vertical-align: top;
      text-align: left;
    }
    .bug-table thead th {
      border-top: 0;
      color: var(--muted);
      font-size: 12px;
      letter-spacing: 0;
      font-weight: 600;
    }
    .bug-table td.num {
      width: 88px;
      white-space: nowrap;
      font-weight: 700;
    }
    .table-title {
      font-weight: 700;
      font-size: 15px;
    }
    .table-title a {
      display: inline-block;
      max-width: 100%;
      color: var(--text);
      text-decoration: none;
    }
    .table-title a:hover {
      color: var(--accent);
      text-decoration: underline;
    }
    .table-sub {
      margin-top: 4px;
      color: var(--muted);
      font-size: 12px;
    }
    .badges {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin-top: 8px;
      align-items: center;
      max-width: 100%;
    }
    .badge {
      display: inline-flex;
      align-items: center;
      width: max-content;
      max-width: 100%;
      padding: 3px 8px;
      border-radius: 999px;
      background: var(--accent-soft);
      color: var(--accent);
      font-size: 12px;
      font-weight: 600;
      overflow-wrap: anywhere;
      white-space: normal;
      line-height: 1.35;
    }
    .badge.secondary {
      background: var(--soft);
      color: var(--muted);
    }
    .badge.warn {
      background: #fff4e5;
      color: #9a3412;
    }
    .badge.media {
      background: var(--media-soft);
      color: var(--media);
    }
    .badge.version {
      background: #e8f1ff;
      color: #1d4ed8;
    }
    .media-label {
      margin-top: 12px;
      color: var(--muted);
      font-size: 13px;
      font-weight: 600;
    }
    .media-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
      gap: 10px;
      margin-top: 8px;
    }
    .media-grid.detail {
      grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
      gap: 16px;
    }
    .media-card {
      display: block;
      min-width: 0;
      min-height: 88px;
      border: 1px solid var(--border);
      border-radius: 8px;
      overflow: hidden;
      background: #f8fafc;
      color: var(--text);
    }
    .media-card img {
      display: block;
      width: 100%;
      max-height: 220px;
      object-fit: contain;
      background: #0f172a;
    }
    .media-card video {
      display: block;
      width: 100%;
      max-height: 520px;
      background: #0f172a;
    }
    .media-grid.detail .media-card img {
      max-height: 680px;
    }
    .media-grid.detail .media-card video {
      max-height: 78vh;
    }
    .media-caption {
      display: block;
      padding: 8px 10px;
      color: var(--muted);
      font-size: 12px;
      overflow-wrap: anywhere;
    }
    .media-ocr {
      display: block;
      padding: 0 10px 10px;
      color: var(--text);
      font-size: 12px;
      line-height: 1.45;
      overflow-wrap: anywhere;
    }
    .media-missing {
      padding: 12px;
      color: var(--warning);
      font-size: 13px;
    }
    ul.evidence {
      margin: 10px 0 0;
      padding-left: 18px;
    }
    ul.evidence li {
      margin: 4px 0;
      word-break: break-word;
    }
    .chat-log li {
      white-space: pre-wrap;
    }
    .chat-time {
      color: var(--muted);
      font-weight: 600;
    }
    .chat-details {
      margin-top: 10px;
      border: 1px solid var(--border);
      border-radius: 8px;
      background: #f8fafc;
      overflow: hidden;
    }
    .chat-details summary {
      cursor: pointer;
      padding: 10px 12px;
      color: var(--accent);
      font-weight: 700;
      list-style-position: inside;
      outline-offset: 2px;
    }
    .chat-details[open] summary {
      border-bottom: 1px solid var(--border);
      background: var(--accent-soft);
    }
    .chat-details ul.evidence {
      margin: 0;
      padding: 10px 16px 12px 30px;
    }
    .empty {
      padding: 14px 0;
      color: var(--warning);
    }
    @media (max-width: 720px) {
      body {
        line-height: 1.5;
        -webkit-text-size-adjust: 100%;
      }
      .wrap {
        width: 100%;
        padding: 12px;
      }
      header {
        display: block;
        margin-bottom: 10px;
      }
      h1 {
        font-size: 22px;
        line-height: 1.25;
        overflow-wrap: anywhere;
      }
      .summary {
        margin-top: 6px;
        font-size: 13px;
      }
      .nav-tabs {
        top: 0;
        margin: 0 -12px 12px;
        padding: 7px 12px 0;
        gap: 5px;
      }
      .nav-tabs a {
        min-height: 34px;
        padding: 7px 9px;
        font-size: 12px;
        border-radius: 6px 6px 0 0;
      }
      .stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        margin: 12px 0 18px;
      }
      .total-stats {
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .stat {
        padding: 10px 11px;
        border-radius: 7px;
      }
      .stat.wide,
      .span-all {
        grid-column: 1 / -1;
      }
      .stat .label {
        font-size: 11px;
      }
      .stat .value {
        font-size: 20px;
        line-height: 1.25;
      }
      .stat.compact .value {
        font-size: 13px;
        line-height: 1.35;
      }
      .link-list {
        gap: 6px;
      }
      .link-list a {
        padding: 2px 0;
        overflow-wrap: anywhere;
      }
      section.day,
      .section {
        margin-bottom: 14px;
        padding: 12px;
        border-radius: 7px;
      }
      section.day h2,
      .section-head h2 {
        font-size: 18px;
        line-height: 1.3;
      }
      .section-head {
        display: block;
        margin-bottom: 10px;
      }
      .section-meta { margin-top: 4px; }
      .table-wrap { overflow: visible; }
      table.bug-table,
      .bug-table tbody,
      .bug-table tr,
      .bug-table td {
        display: block;
        width: 100%;
      }
      table.bug-table {
        min-width: 0;
        max-width: 100%;
      }
      .bug-table thead {
        display: none;
      }
      .bug-table tr {
        margin-bottom: 10px;
        border: 1px solid var(--border);
        border-radius: 8px;
        background: #fff;
        overflow: hidden;
      }
      .bug-table td {
        border-top: 0;
        padding: 8px 10px 7px;
      }
      .bug-table td:first-child {
        padding-top: 10px;
      }
      .bug-table td:not(:first-child)::before {
        content: attr(data-label);
        display: block;
        margin-bottom: 2px;
        color: var(--muted);
        font-size: 12px;
        font-weight: 600;
      }
      .bug-table td.num {
        width: auto;
        white-space: normal;
      }
      .table-title {
        font-size: 15px;
        line-height: 1.4;
      }
      .badges {
        gap: 5px;
        margin-top: 7px;
      }
      .badge {
        padding: 3px 7px;
        font-size: 11px;
      }
      .issue {
        padding: 12px 0;
      }
      .issue h3 {
        font-size: 16px;
        line-height: 1.35;
      }
      .issue-meta,
      .day-meta,
      .media-label {
        font-size: 12px;
      }
      ul.evidence {
        margin-top: 8px;
        padding-left: 0;
        list-style-position: inside;
      }
      ul.evidence li {
        margin: 5px 0;
        padding-left: 0;
      }
      .chat-time {
        display: inline-block;
        margin-right: 2px;
      }
      .chat-details {
        border-radius: 7px;
      }
      .chat-details summary {
        padding: 9px 10px;
        font-size: 13px;
      }
      .chat-details ul.evidence {
        padding: 9px 10px 10px;
        list-style-position: inside;
      }
      .media-grid {
        grid-template-columns: 1fr;
        gap: 8px;
      }
      .media-card {
        border-radius: 7px;
      }
      .media-card img {
        max-height: 58vh;
      }
      .media-card video {
        max-height: 64vh;
      }
      .media-grid.detail .media-card img {
        max-height: 78vh;
      }
      .media-grid.detail .media-card video {
        max-height: 78vh;
      }
      .media-caption,
      .media-ocr {
        font-size: 11px;
        line-height: 1.45;
      }
    }
    @media (max-width: 430px) {
      .wrap {
        padding: 10px;
      }
      h1 {
        font-size: 20px;
      }
      .nav-tabs {
        margin-left: -10px;
        margin-right: -10px;
        padding-left: 10px;
        padding-right: 10px;
      }
      .stats {
        grid-template-columns: 1fr;
      }
      .stat .value {
        font-size: 19px;
      }
      .stat.compact .value {
        font-size: 13px;
      }
      section.day,
      .section {
        padding: 10px;
      }
      .bug-table tr {
        margin-bottom: 9px;
      }
      .media-card img {
        max-height: 62vh;
      }
      .media-card video {
        max-height: 70vh;
      }
    }
