  .survey-backdrop {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, .45);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 9999;
  }
  .survey-modal {
      width: min(480px, 92vw);
      background: #fff;
      border-radius: 14px;
      box-shadow: 0 10px 40px rgba(0, 0, 0, .25);
      overflow: hidden;
      font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  }
  .survey-header {
      padding: 16px 18px;
      border-bottom: 1px solid #eee;
      display: flex;
      align-items: center;
      justify-content: space-between;
  }
  .survey-title {
      font-weight: 700;
      font-size: 16px;
      margin: 0;
  }
  .survey-close {
      border: 0;
      background: transparent;
      font-size: 18px;
      line-height: 1;
      cursor: pointer;
      padding: 6px;
      border-radius: 8px;
  }
  .survey-close:focus-visible {
      outline: 2px solid #1a73e8;
      outline-offset: 2px;
  }
  .survey-body {
      padding: 18px;
  }
  .survey-body p {
      color: #333;
  }
  .survey-question {
      font-weight: 600;
      margin: 0 0 12px;
  }
  .survey-options {
      display: grid;
      gap: 10px;
      margin: 12px 0 4px;
  }
  div#survey-field span {
      color: #333;
  }
  .survey-radio,
  .survey-check {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px;
      border: 1px solid #e9e9e9;
      border-radius: 10px;
      cursor: pointer;
  }
  .survey-input,
  .survey-other {
      width: 100%;
      padding: 10px 12px;
      border: 1px solid #e3e3e3;
      border-radius: 10px;
      font: inherit;
  }
  .survey-footer {
      padding: 16px 18px;
      border-top: 1px solid #eee;
      display: flex;
      gap: 10px;
      justify-content: flex-end;
  }
  .survey-btn {
      appearance: none;
      border: 0;
      border-radius: 10px;
      padding: 10px 14px;
      font-weight: 600;
      cursor: pointer;
  }
  .survey-btn.primary {
      background: #1a73e8;
      color: #fff;
  }
  .survey-btn.secondary {
      background: #f3f4f6;
      color: #111;
  }
  .survey-hint {
      color: #6b7280;
      font-size: 12px;
      margin-top: 8px;
  }
  .survey-error {
      color: #b91c1c;
      font-size: 13px;
      margin-top: 8px;
      display: none;
  }
  @media (prefers-reduced-motion:no-preference) {
      .survey-modal {
          transform: translateY(8px);
          opacity: 0;
          transition: transform .2s ease, opacity .2s ease;
      }
      .survey-backdrop.show .survey-modal {
          transform: translateY(0);
          opacity: 1;
      }
  }