/* Wikipedia-style custom styles */
body {
  font-family: 'Times New Roman', Georgia, serif;
  line-height: 1.6;
}

h1, h2, h3 {
  font-family: 'Times New Roman', Georgia, serif;
}

/* Smooth scrolling for the entire page */
html {
  scroll-behavior: smooth;
}

/* Table of contents styling */
.toc-link {
  transition: all 0.2s ease;
}

.toc-link:hover {
  padding-left: 0.5rem;
}

/* Image hover effects */
img {
  transition: transform 0.2s ease;
}

img:hover {
  transform: scale(1.02);
}

/* Quantum simulator glow effect */
.quantum-glow {
  animation: quantumPulse 2s ease-in-out infinite alternate;
}

@keyframes quantumPulse {
  from {
    box-shadow: 0 0 20px rgba(255, 255, 150, 0.5);
  }
  to {
    box-shadow: 0 0 40px rgba(255, 255, 150, 0.8);
  }
}

/* Range slider styling */
input[type="range"] {
  -webkit-appearance: none;
  appearance: none;
  height: 8px;
  background: linear-gradient(to right, #3b82f6, #8b5cf6);
  border-radius: 4px;
  outline: none;
}

input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  background: #ffffff;
  border: 2px solid #3b82f6;
  border-radius: 50%;
  cursor: pointer;
}

input[type="range"]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  background: #ffffff;
  border: 2px solid #3b82f6;
  border-radius: 50%;
  cursor: pointer;
}

/* Wikipedia link styling */
a {
  color: #0645ad;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

a:visited {
  color: #0b0080;
}

/* Dark mode adjustments */
.dark a {
  color: #58a6ff;
}

.dark a:visited {
  color: #8b949e;
}

/* Modal styling */
.modal-backdrop {
  backdrop-filter: blur(4px);
}

/* Print styles */
@media print {
  .no-print {
    display: none !important;
  }
  
  body {
    background: white !important;
    color: black !important;
  }
  
  .border {
    border-color: #000 !important;
  }
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .float-right, .float-left {
    float: none !important;
    margin: 0 0 1rem 0 !important;
    width: 100% !important;
  }
  
  .lg\:col-span-3, .lg\:col-span-1 {
    grid-column: span 1 / span 1;
  }
}

/* Citation styling */
.citation {
  font-size: 0.8em;
  vertical-align: super;
  color: #0645ad;
}

/* Wikipedia-style borders and spacing */
.wiki-table {
  border-collapse: collapse;
  margin: 1em 0;
}

.wiki-table th,
.wiki-table td {
  border: 1px solid #a2a9b1;
  padding: 0.5em;
}

.wiki-table th {
  background-color: #eaecf0;
  font-weight: bold;
}