:root {
  font-size: 24px;
  --content-width: 640px;

  /* Win98 UI colors, matching the divider bevel on the other site */
  --win98-light: #ffffff;
  --win98-bg: #c0c0c0;
  --win98-shadow: #808080;
  --win98-dark: #000000;
}

/* ==================================================
   1. GLOBAL & GEOCITIES BACKDROP
   ================================================== */
* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  /* Classic GeoCities Lime Green Background */
  background-color: #C0EEBA;
  background-image: url('../media/background.gif');
  color: #000000;
  font-family: "Times New Roman", Times, serif;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden; /* the whole page never scrolls — only .scroll-frame does */
}

/* Width-constrained content wrapper, centered inside the full-width
   .scroll-frame. This is what used to hold the header too — now the
   header lives outside it (directly on body) so its divider line can
   run edge-to-edge instead of stopping at this container's width. */
.site-container {
  width: min(94vw, 1100px);
  margin: 0 auto;
  text-align: center;
  padding: 10px 10px 30px 10px;
}

/* Keeps retro pixel graphics and photos sharp */
img {
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  max-width: var(--content-width);
  height: auto;
}

.hero-img {
}

.bordered-img {
}

/* ==================================================
   2. TYPOGRAPHY & HEADERS
   ================================================== */

/* Header frame: full viewport width, pinned at the top, never
   scrolls (flex-shrink: 0 keeps it from being squeezed or included
   in .scroll-frame's scroll area). Sits directly on body — outside
   .site-container — so its bevel divider runs the full width of the
   page instead of stopping at the content column's max-width. */
.site-header {
  flex-shrink: 0;
  position: relative;
  width: 100%;
  padding: 0px 0px 0px 0px;
  text-align: center;
  border-bottom: 5px solid transparent; /* reserves space for the ::after line below */
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -6px;
  height: 6px;
  background: linear-gradient(
    to bottom,
    var(--win98-light) 0%, var(--win98-light) 16.6%,
    var(--win98-bg) 16.6%, var(--win98-bg) 66.6%,
    var(--win98-shadow) 66.6%, var(--win98-shadow) 83.3%,
    var(--win98-dark) 83.3%, var(--win98-dark) 100%
  );
}

.flame-title {
  margin: 0;
  padding: 5px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px
}

.site-logo {
  padding: 10px 0; /* adjust to taste — space above/below the logo only */
}

/* Scrollable content frame: everything except the header lives here
   and scrolls independently, like .frame-rbottom on the other site.
   min-height: 0 is required — without it, a flex child won't shrink
   below its content size and this would just grow the whole page
   instead of scrolling internally. */
.scroll-frame {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.tagline {
  color: #FF00FF;
  font-weight: bold;
  font-size: 24px;
  margin: 15px auto;
  max-width: var(--content-width);
}

.intro-text {
  font-size: 24px;
  line-height: 1.4;
  max-width: var(--content-width);
  margin-left: auto;
  margin-right: auto;
}

/* Blink Animations */

.blink-link {
  animation: blink 0.2s infinite;
  display: inline-block;
  color: darkgreen
}

@keyframes blink {
  0%, 15%  { opacity: 0; }
  16%, 100% { opacity: 1; }
}

/* Idea Section Headers (#1, #2, etc.) */
.idea-title {
  color: #FF00FF;
  font-size: 24px;
  font-weight: bold;
  text-align: left;
  margin: 15px auto 10px auto;
  max-width: var(--content-width);
  line-height: 1.4;
}

.idea-description {
  font-size: 24px;
  line-height: 1.3;
  text-align: left;
  margin: 10px auto;
  max-width: var(--content-width);
}

/* Horizontal Rules between content sections */
hr {
  border: none;
  border-top: 2px solid #000000;
  margin: 25px 0;
}

/* Retro Links */
a {
  color: #0000FF;
  font-weight: bold;
  text-decoration: underline;
}

a:visited {
  color: #800080;
}

a:hover {
  color: #FF0000;
}

/* ==================================================
   3. LAYOUT & RETRO WIDGETS
   ================================================== */
.hero-flex {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 50px;
  margin: 5px 0;
}

.halftime-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

.halftime-flex--stretch {
  align-items: stretch; /* lets child dew-stacks match the tallest sibling's height */
}

.dew-stack {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}

.dew-stack--wide {
  justify-content: space-between; /* spreads balls evenly to fill the stretched height */
  gap: 0;
}

.dollar-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 70px; /* adjust to taste — replaces chains of &nbsp; */
  flex-wrap: wrap;
}

.corner-frame {
  position: relative;
  display: inline-block;
  margin: 25px 0; /* room for the corner icons to poke outside the image */
}

.corner-dollar {
  position: absolute;
  width: 60px; /* adjust to taste */
  height: auto;
  z-index: 1;
}

.corner-tl { top: -20px; left: -20px; }
.corner-tr { top: -20px; right: -20px; }
.corner-bl { bottom: -20px; left: -60px; }
.corner-br { bottom: -20px; right: -60px; }

.under-construction {
  color: #FF0000;
  font-weight: bold;
  font-size: 18px;
  margin-bottom: 10px;
}

.ad-banner {
  display: inline-block;
  padding: 0px;
  margin: 0px 0;
}

.footer-area {
  margin-top: 30px;
}

.visitor-label {
  font-size: 0.9rem;
}

/* Classic Counter Box */
.hit-counter {
  background-color: #000000;
  color: #00FF00;
  font-family: "Courier New", monospace;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 4px;
  padding: 3px 8px;
  border: 2px inset #808080;
  display: inline-block;
  margin-top: 5px;
}