    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
      background: #f5f7fa;
      color: #1a1a2e;
      line-height: 1.6;
      padding: 2rem 1rem;
    }

    .container {
      max-width: 1060px;
      margin: 0 auto;
    }

    h1 {
      font-size: 1.65rem;
      color: #0f2b46;
      margin-bottom: 0.25rem;
    }

    .subtitle {
      color: #5a6a7a;
      font-size: 0.92rem;
      margin-bottom: 2rem;
      border-bottom: 2px solid #d0dbe6;
      padding-bottom: 1rem;
    }

    .section-header {
      background: #0f2b46;
      color: #fff;
      padding: 0.75rem 1.25rem;
      font-size: 1.05rem;
      font-weight: 600;
      border-radius: 8px 8px 0 0;
      margin-top: 2rem;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      margin-bottom: 1.5rem;
      background: #fff;
      border-radius: 0 0 8px 8px;
      overflow: hidden;
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
    }

    th {
      background: #e8f0f7;
      color: #0f2b46;
      text-align: left;
      padding: 0.65rem 0.85rem;
      font-weight: 600;
      font-size: 0.78rem;
      text-transform: uppercase;
      letter-spacing: 0.03em;
      border-bottom: 2px solid #cdd9e5;
    }

    td {
      padding: 0.65rem 0.85rem;
      border-bottom: 1px solid #e9eef3;
      vertical-align: top;
      font-size: 0.86rem;
    }

    tr:last-child td {
      border-bottom: none;
    }

    tr:hover td {
      background: #f0f5fa;
    }

    .source {
      display: block;
      color: #2a7ab5;
      font-weight: 500;
      font-size: 0.76rem;
      margin-top: 2px;
    }

    .sn {
      display: inline-block;
      background: #2a7ab5;
      color: #fff;
      font-size: 0.63rem;
      font-weight: 700;
      border-radius: 50%;
      width: 15px;
      height: 15px;
      text-align: center;
      line-height: 15px;
      margin-right: 2px;
      vertical-align: middle;
    }

    .stat {
      font-weight: 700;
      color: #0f2b46;
    }

    .caution {
      background: #fff5f5;
    }

    .caution td:first-child {
      border-left: 3px solid #d9534f;
    }

    .good {
      background: #f0faf0;
    }

    .good td:first-child {
      border-left: 3px solid #3aaa5b;
    }

    .neutral {
      background: #fffbe6;
    }

    .neutral td:first-child {
      border-left: 3px solid #d9a534;
    }

    .takeaway {
      background: linear-gradient(135deg, #e8f4fd, #dfeef8);
      border-left: 4px solid #2a7ab5;
      padding: 0.9rem 1.15rem;
      margin: 1.25rem 0;
      border-radius: 0 8px 8px 0;
      font-size: 0.9rem;
    }

    .takeaway strong {
      color: #0f2b46;
    }

    .question-label {
      background: #2a7ab5;
      color: #fff;
      display: inline-block;
      padding: 2px 10px;
      border-radius: 3px;
      font-size: 0.75rem;
      font-weight: 700;
      margin-bottom: 4px;
      letter-spacing: 0.05em;
    }

    .footer {
      margin-top: 2rem;
      padding-top: 1rem;
      border-top: 1px solid #d0dbe6;
      color: #7a8a9a;
      font-size: 0.76rem;
    }

    .footer ol {
      margin-left: 1.5rem;
      margin-top: 0.5rem;
    }

    .footer li {
      margin-bottom: 0.2rem;
    }

    .badge {
      display: inline-block;
      background: #3aaa5b;
      color: #fff;
      font-size: 0.63rem;
      font-weight: 700;
      padding: 2px 6px;
      border-radius: 3px;
      margin-left: 6px;
      vertical-align: middle;
    }
