/* ============================================
   BODYGUARD PANEL — SCOPED RESET
   Only applies under .ds-v2 (fully migrated pages)
   ============================================ */

.ds-v2,
.ds-v2 *,
.ds-v2 *::before,
.ds-v2 *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.ds-v2 {
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}

.ds-v2 body {
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: var(--leading-normal);
  color: var(--text-primary);
  background-color: var(--page-bg);
  min-height: 100vh;
}

.ds-v2 img,
.ds-v2 svg {
  display: block;
  max-width: 100%;
}

.ds-v2 a {
  color: var(--text-link);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.ds-v2 a:hover {
  color: var(--brand-600);
}

.ds-v2 button {
  cursor: pointer;
  font-family: inherit;
  border: none;
  background: none;
}

.ds-v2 input,
.ds-v2 textarea,
.ds-v2 select {
  font-family: inherit;
  font-size: inherit;
}

.ds-v2 select:not([multiple]) {
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-3) center;
  background-size: 12px;
  padding-right: var(--space-8);
}

.ds-v2 ul,
.ds-v2 ol {
  list-style: none;
}

/* --- Typography --- */
.ds-v2 h1, .ds-v2 h2, .ds-v2 h3, .ds-v2 h4, .ds-v2 h5, .ds-v2 h6 {
  color: var(--text-primary);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-tight);
}

.ds-v2 h1 { font-size: var(--text-2xl); }
.ds-v2 h2 { font-size: var(--text-xl); }
.ds-v2 h3 { font-size: var(--text-lg); }
.ds-v2 h4 { font-size: var(--text-base); }

.ds-v2 p {
  color: var(--text-secondary);
  line-height: var(--leading-relaxed);
}

.ds-v2 code, .ds-v2 pre {
  font-family: var(--font-mono);
}

.ds-v2 code {
  font-size: 0.9em;
  padding: 2px 6px;
  background: var(--gray-100);
  border-radius: var(--radius-sm);
  color: var(--text-primary);
}

/* --- Utility classes --- */
.ds-v2 .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.ds-v2 .truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ds-v2 .font-mono {
  font-family: var(--font-mono);
}
