/* Lightweight styles for theme-switcher component and drop-in markup */
theme-switcher,
.theme-switcher {
  display: inline-block;
  font-family: system-ui, -apple-system, Segoe UI, sans-serif;
}

theme-switcher button,
.theme-switcher button {
  border: none;
  background: transparent;
  cursor: pointer;
  color: inherit;
}

theme-switcher button:focus-visible,
.theme-switcher button:focus-visible {
  outline: 2px solid #3b82f6;
  outline-offset: 2px;
}

theme-switcher .sr-only,
.theme-switcher .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

theme-switcher .flex,
.theme-switcher .flex { display: flex; }
theme-switcher .items-center,
.theme-switcher .items-center { align-items: center; }
theme-switcher .justify-center,
.theme-switcher .justify-center { justify-content: center; }
theme-switcher .gap-2\.5,
.theme-switcher .gap-2\.5 { gap: 0.625rem; }
theme-switcher .px-3\.5,
.theme-switcher .px-3\.5 { padding-left: 0.875rem; padding-right: 0.875rem; }
theme-switcher .py-2\.5,
.theme-switcher .py-2\.5 { padding-top: 0.625rem; padding-bottom: 0.625rem; }
theme-switcher .p-3,
.theme-switcher .p-3 { padding: 0.75rem; }
theme-switcher .rounded-full,
.theme-switcher .rounded-full { border-radius: 9999px; }
theme-switcher .shadow-md,
.theme-switcher .shadow-md { box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1), 0 2px 4px -2px rgba(0,0,0,0.1); }
theme-switcher .shadow-sm,
.theme-switcher .shadow-sm { box-shadow: 0 1px 2px 0 rgba(0,0,0,0.08); }
theme-switcher .bg-gray-200,
.theme-switcher .bg-gray-200 { background-color: #e5e7eb; }
theme-switcher .bg-gray-200\/90,
.theme-switcher .bg-gray-200\/90 { background-color: rgba(229,231,235,0.9); }
theme-switcher .bg-white\/90,
.theme-switcher .bg-white\/90 { background-color: rgba(255,255,255,0.9); }
theme-switcher .bg-gray-700,
.theme-switcher .bg-gray-700 { background-color: #374151; }
theme-switcher .border,
.theme-switcher .border { border-width: 1px; border-style: solid; border-color: #e5e7eb; }
theme-switcher .border-transparent,
.theme-switcher .border-transparent { border-color: transparent; }
theme-switcher .border-gray-200,
.theme-switcher .border-gray-200 { border-color: #e5e7eb; }
theme-switcher .text-gray-500,
.theme-switcher .text-gray-500 { color: #6b7280; }
theme-switcher .text-gray-400,
.theme-switcher .text-gray-400 { color: #9ca3af; }
theme-switcher .text-gray-100,
.theme-switcher .text-gray-100 { color: #f3f4f6; }
theme-switcher .text-yellow-600,
.theme-switcher .text-yellow-600 { color: #d97706; }
theme-switcher .text-amber-500,
.theme-switcher .text-amber-500 { color: #f59e0b; }
theme-switcher .text-amber-500\/70,
.theme-switcher .text-amber-500\/70 { color: rgba(245,158,11,0.7); }
theme-switcher .text-blue-500,
.theme-switcher .text-blue-500 { color: #3b82f6; }
theme-switcher .text-blue-500\/80,
.theme-switcher .text-blue-500\/80 { color: rgba(59,130,246,0.8); }
theme-switcher .opacity-80,
.theme-switcher .opacity-80 { opacity: 0.8; }
theme-switcher .transition,
.theme-switcher .transition { transition: all 150ms ease; }
theme-switcher .hover\:scale-105:hover,
.theme-switcher .hover\:scale-105:hover { transform: scale(1.05); }
theme-switcher .hover\:bg-gray-100\/70:hover,
.theme-switcher .hover\:bg-gray-100\/70:hover { background-color: rgba(243,244,246,0.7); }
theme-switcher .backdrop-blur,
.theme-switcher .backdrop-blur { -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
theme-switcher .w-10,
.theme-switcher .w-10 { width: 2.5rem; }
theme-switcher .h-10,
.theme-switcher .h-10 { height: 2.5rem; }
theme-switcher .w-6,
.theme-switcher .w-6 { width: 1.5rem; }
theme-switcher .h-6,
.theme-switcher .h-6 { height: 1.5rem; }
theme-switcher .w-5,
.theme-switcher .w-5 { width: 1.25rem; }
theme-switcher .h-5,
.theme-switcher .h-5 { height: 1.25rem; }
theme-switcher .ring-2,
.theme-switcher .ring-2 { box-shadow: 0 0 0 2px var(--ring-color, rgba(209,213,219,0.9)); }
theme-switcher .ring-gray-300\/90,
.theme-switcher .ring-gray-300\/90 { --ring-color: rgba(209,213,219,0.9); }

theme-switcher .active-button,
.theme-switcher .active-button { background-color: rgba(229,231,235,0.9); }
.dark theme-switcher .active-button,
.dark .theme-switcher .active-button { background-color: #374151; }

theme-switcher .binary-toggle [data-icon],
.theme-switcher .binary-toggle [data-icon] { display: none; }
theme-switcher .binary-toggle[data-theme-icon="light"] [data-icon="sun"],
.theme-switcher .binary-toggle[data-theme-icon="dark"] [data-icon="moon"],
.theme-switcher .binary-toggle[data-theme-icon="light"] [data-icon="sun"],
.theme-switcher .binary-toggle[data-theme-icon="dark"] [data-icon="moon"] { display: block; }

/* Dark variants scoped to .dark on html/body */
.dark theme-switcher .dark\:bg-gray-700,
.dark .theme-switcher .dark\:bg-gray-700 { background-color: #374151; }
.dark theme-switcher .dark\:bg-gray-800\/80,
.dark .theme-switcher .dark\:bg-gray-800\/80 { background-color: rgba(31,41,55,0.8); }
.dark theme-switcher .dark\:border-gray-700\/60,
.dark .theme-switcher .dark\:border-gray-700\/60 { border-color: rgba(55,65,81,0.6); }
.dark theme-switcher .dark\:text-gray-400,
.dark .theme-switcher .dark\:text-gray-400 { color: #9ca3af; }
.dark theme-switcher .dark\:ring-gray-500\/80,
.dark .theme-switcher .dark\:ring-gray-500\/80 { --ring-color: rgba(107,114,128,0.8); }
.dark theme-switcher .dark\:hover\:bg-gray-700\/60:hover,
.dark .theme-switcher .dark\:hover\:bg-gray-700\/60:hover { background-color: rgba(55,65,81,0.6); }
.dark theme-switcher .dark\:text-amber-300\/70,
.dark .theme-switcher .dark\:text-amber-300\/70 { color: rgba(252,211,77,0.7); }
.dark theme-switcher .dark\:text-gray-100,
.dark .theme-switcher .dark\:text-gray-100 { color: #f3f4f6; }
