body {
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}

.transparency-banner {
  background-color: #ffe6e6;
  text-align: center;
  padding: 8px;
  border-bottom: 2px solid #b30000;
}

.transparency-banner a {
  color: #b30000;
  text-decoration: none;
  font-weight: bold;
}

.transparency-banner a:hover {
  text-decoration: underline;
}

footer {
  position: relative;
  bottom: 0;
  width: 100%;
}
/* Quote styling */
.blockquote {
  font-size: 1.5rem;
  font-style: italic;
  max-width: 600px;
  margin: 0 auto 2rem;
  position: relative;
}
.quote-mark {
  font-size: 3rem;
  position: relative;
  top: 0.2rem;
}
/* ===== History “gear” scroll wheel ===== */
.wheel-wrap {
  /* Tweak these to taste */
  --item-min-h: 56px; /* baseline minimum height per item */
  --gap: 8px; /* space between items */
  --radius: 12px; /* card rounding */
  --viewport-h: 360px; /* total visible height (~3 items) */
  --pad-snap: 72px; /* top/bottom padding so first/last can center */

  position: relative;
  width: min(640px, 92vw);
  margin-inline: auto;
}

.wheel-viewport {
  height: var(--viewport-h);
  overflow-y: auto;
  scroll-snap-type: y mandatory;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE/Edge */
  border-radius: 16px;
  position: relative;
  background: transparent;
}
.wheel-viewport::-webkit-scrollbar {
  display: none;
} /* Chrome/Safari */

.wheel-list {
  display: flex;
  flex-direction: column;
  gap: var(--gap);
  /* Ensure first/last items can snap to center */
  padding-block: var(--pad-snap);
  margin: 0;
}

/* Cards */
.wheel-item {
  /* No fixed height; allow multi-line content */
  min-height: var(--item-min-h);
  display: grid;
  align-items: center;
  grid-auto-flow: column;
  gap: 12px;
  justify-content: start;

  padding: 12px 16px;
  background: rgb(50, 136, 55);
  color: #e6eaf5;
  border-radius: var(--radius);

  scroll-snap-align: center;
  transform-origin: center;
  transition: transform 140ms ease, opacity 140ms ease, filter 140ms ease;
  background: 140ms ease;

  line-height: 1.35;
  text-align: left;
  white-space: normal; /* allow wrapping */
}

.wheel-item strong {
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.3px;
  flex-shrink: 0;
}

/* Active + neighbors for the “gear” look */
.wheel-item.is-active {
  transform: scale(1);
  opacity: 1;
  filter: none;
  background: #27692aff;
}
.wheel-item.is-prev,
.wheel-item.is-next {
  transform: scale(0.96);
  opacity: 0.7;
  filter: saturate(0.7);
}
.wheel-item.is-far {
  transform: scale(0.92);
  opacity: 0.45;
  filter: saturate(0.5) blur(0.2px);
}

/* Optional: faint center notch line */
.wheel-viewport::after {
  content: "";
  position: sticky;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  height: 0;
  border-top: 1px dashed rgba(230, 234, 245, 0.25);
  margin-inline: 12px;
  pointer-events: none;
}

/* Top/bottom gradient fade to emphasize center */
.wheel-wrap::before,
.wheel-wrap::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 22%;
  pointer-events: none;
  z-index: 2;
}
.wheel-wrap::before {
  top: 0;
  background: linear-gradient(#ffffff, rgba(255, 255, 255, 0));
}
.wheel-wrap::after {
  bottom: 0;
  background: linear-gradient(rgba(255, 255, 255, 0), #ffffff);
}

/* Buttons (if you’re using the ▲/▼ controls) */
.wheel-controls {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 10px;
}
.wheel-btn {
  border: 1px solid #27692aff;
  background: #27692aff;
  color: #cfd6ee;
  padding: 8px 12px;
  border-radius: 8px;
  cursor: pointer;
}
.wheel-btn:focus-visible {
  outline: 2px solid #6da7ff;
  outline-offset: 2px;
}

/* Accessibility focus for items when tabbing */
.wheel-item:focus-visible {
  outline: 2px solid #6da7ff;
  outline-offset: 2px;
}

/* Responsive tweaks */
@media (max-width: 480px) {
  .wheel-wrap {
    width: 94vw;
  }
  .wheel-viewport {
    height: 320px;
  } /* slightly shorter on small screens */
}