/* Editorial Light Theme Custom CSS */

@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@300;400;500;600;700&display=swap');

:root {
  --font-serif: 'Instrument Serif', Georgia, serif;
  --font-sans: 'Inter', system-ui, -apple-system, sans-serif;
}

body {
  font-family: var(--font-sans);
  background-color: #fafafa;
  color: #171717;
  -webkit-font-smoothing: antialiased;
}

.font-serif {
  font-family: var(--font-serif);
}

/* Lightbox Modal Backdrop */
dialog::backdrop {
  background: rgba(15, 23, 42, 0.4);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}

/* Responsive Modal Max-Height & Animation */
dialog {
  max-height: 90vh;
}

dialog[open] {
  animation: modal-appear 0.25s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes modal-appear {
  from {
    opacity: 0;
    transform: scale(0.96) translateY(8px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

/* Smooth Focus Rings */
:focus-visible {
  outline: 2px solid #171717;
  outline-offset: 3px;
}

/* Inverted focus rings on dark surfaces */
.bg-neutral-900 :focus-visible,
.bg-neutral-950 :focus-visible,
#modal-banner :focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #f5f5f5;
}

::-webkit-scrollbar-thumb {
  background: #d4d4d4;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #a3a3a3;
}
