:root {
  --background: #fafaf8;
  --foreground: #1a1a1a;
  --card: #ffffff;
  --card-foreground: #1a1a1a;
  --primary: #1a1a1a;
  --primary-foreground: #fafaf8;
  --secondary: #f0efec;
  --secondary-foreground: #1a1a1a;
  --muted: #f0efec;
  --muted-foreground: #6b6b6b;
  --accent: #f0efec;
  --accent-foreground: #1a1a1a;
  --destructive: #c53030;
  --destructive-foreground: #fafaf8;
  --border: #e0dfdb;
  --input: #e0dfdb;
  --ring: #1a1a1a;
  --radius: 0.125rem;
  --faint: #9a9a9a;
  --subtle: #f5f5f2;
}

/* Custom radio styling */
input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  width: 16px;
  height: 16px;
  border: 1.5px solid var(--faint);
  border-radius: 50%;
  background: var(--background);
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}
input[type="radio"]:checked {
  border-color: var(--foreground);
}
input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--foreground);
}
input[type="radio"]:focus-visible {
  outline: 2px solid var(--foreground);
  outline-offset: 2px;
}

/* Hide scrollbar */
.scrollbar-hide {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.scrollbar-hide::-webkit-scrollbar {
  display: none;
}
