  .gd-wrap {
      border: 1px solid #eee;
      border-radius: 16px;
      padding: 16px;
      max-width: 680px;
      margin: 24px 0;
  }

  .gd-wrap h2 {
      margin: 0 0 8px;
      font-size: 1.4rem;
  }

  .gd-lead {
      margin: 0 0 16px;
      opacity: .85;
  }

  .gd-q {
      margin: 16px 0;
      padding: 12px;
      border: 1px dashed #ddd;
      border-radius: 12px;
  }

  .gd-q legend {
      font-weight: 700;
      margin-bottom: 8px;
  }

  .gd-q label {
      display: block;
      padding: 6px 8px;
      border-radius: 8px;
      cursor: pointer;
  }

  .gd-q input[type="radio"] {
      margin-right: .5em;
  }

  .gd-q label:hover {
      background: #fafafa;
  }

  .gd-actions {
      display: flex;
      gap: 8px;
      margin-top: 8px;
  }

  .gd-reset {
      background: #f5f5f5;
      border: 1px solid #e5e5e5;
      padding: 6px 12px;
      border-radius: 8px;
      cursor: pointer;
  }

  .gd-reset:hover {
      background: #eee;
  }

  .gd-result {
      display: block;
      margin-top: 16px;
      padding: 14px;
      border-radius: 12px;
      background: #f7fafc;
      border: 1px solid #e8eef4;
      min-height: 56px;
  }

  .gd-card {
      display: grid;
      gap: 4px;
  }

  .gd-badge {
      display: inline-block;
      font-weight: 700;
      padding: 2px 8px;
      font-size: 32px;
      border-radius: 999px;
      text-align: center;
  }

  .gd-title {
      font-size: 1.1rem;
      font-weight: 800;
      text-align: center;
  }

  .gd-desc {
      margin-top: 2px;
      line-height: 1.7;
  }

  .gd-hint {
      opacity: .6;
  }

  .gd-share {
      margin-top: 10px;
  }

  .gd-share a {
      text-decoration: none;
      border: 1px solid #111;
      padding: 6px 10px;
      border-radius: 999px;
      display: inline-block;
  }

  /* スマホ配慮 */
  @media (max-width: 480px) {
      .gd-wrap {
          padding: 14px;
          border-radius: 12px;
      }

      .gd-q {
          padding: 10px;
      }
  }

  /* 選択時の視覚フィードバック */
  .gd-q input[type="radio"]:checked+* {
      font-weight: 700;
  }