/* A GeoCities-era personal homepage, circa 1997, rebuilt in CSS.
   No images: the starfield tile, rainbow rules, bevelled panel, diamond
   bullets and LED counter are all drawn with gradients and borders. */

html {
  background-color: #000033;
}

/* Tiled starfield background — the single most GeoCities thing there is. */
body {
  margin: 0;
  padding: 18px 8px 28px;
  background-color: #000033;
  background-image:
    radial-gradient(1.5px 1.5px at 12px 22px, #ffffff, transparent),
    radial-gradient(1.5px 1.5px at 88px 46px, #ffffff, transparent),
    radial-gradient(1px 1px at 140px 90px, #ccccff, transparent),
    radial-gradient(1.5px 1.5px at 55px 128px, #ffffff, transparent),
    radial-gradient(1px 1px at 176px 150px, #aaaaff, transparent),
    radial-gradient(1px 1px at 30px 170px, #ffffff, transparent);
  background-size: 200px 200px;
  color: #000000;
  font-family: "Times New Roman", Times, serif;
  font-size: 16px;
  line-height: 1.35;
}

/* The content panel: ivory, with a chunky bevelled border. */
.page {
  max-width: 620px;
  margin: 0 auto;
  padding: 18px 22px 24px;
  background: #fffff0;
  border: 5px ridge #c0c0c0;
}

/* WordArt-style rainbow heading. */
h1 {
  margin: 0.3em 0 0.15em;
  font-family: "Comic Sans MS", "Chalkboard SE", cursive, sans-serif;
  font-size: 2.1em;
  text-align: center;
  background: linear-gradient(90deg,
    #ff0000, #ff7f00, #ccaa00, #00a000, #0000ff, #4b0082, #8b00ff);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

h2 {
  margin: 0.9em 0 0.2em;
  font-family: "Comic Sans MS", "Chalkboard SE", cursive, sans-serif;
  font-size: 1.35em;
  color: #0000cc;
}

.tagline {
  margin: 0 0 0.5em;
  text-align: center;
  font-size: 0.85em;
  color: #cc0066;
  letter-spacing: 0.05em;
}

/* Rainbow divider bar, in place of the old rainbow-line GIF. */
hr {
  border: 0;
  height: 6px;
  margin: 0.7em 0;
  background: linear-gradient(90deg,
    #ff0000, #ff7f00, #ffff00, #00c000, #0000ff, #4b0082, #8b00ff);
}

dl {
  margin: 0.8em 0 0.4em;
}

dt {
  margin-top: 1.1em;
  font-weight: bold;
}

/* Diamond bullet, in place of the old coloured bullet GIF. */
dt::before {
  content: "";
  display: inline-block;
  width: 0.5em;
  height: 0.5em;
  margin-right: 0.55em;
  background: #ff0000;
  transform: rotate(45deg);
}

dd {
  margin-left: 34px;
  margin-bottom: 0.9em;
  font-weight: normal;
}

a {
  text-decoration: underline;
}

a:link { color: #0000ee; }
a:visited { color: #551a8b; }
a:active { color: #ff0000; }

.byline {
  font-weight: normal;
  font-size: 0.8em;
  color: #660000;
}

/* Blinking "NEW!" flag. */
.new {
  margin-left: 0.4em;
  color: #ff0000;
  font-size: 0.72em;
  font-family: "Comic Sans MS", "Chalkboard SE", cursive, sans-serif;
  animation: blink 1.1s steps(1, end) infinite;
}

@keyframes blink {
  50% { opacity: 0; }
}

/* Yellow-and-black hazard tape, in place of the digging-man GIF. */
.construction {
  margin: 0.9em 0 0.8em;
  padding: 5px 0;
  text-align: center;
  font-family: "Courier New", Courier, monospace;
  font-size: 0.78em;
  font-weight: bold;
  color: #000000;
  background: repeating-linear-gradient(45deg,
    #ffcc00 0 10px, #1a1a1a 10px 20px);
  border: 2px outset #999999;
}

.construction span {
  padding: 2px 8px;
  background: #ffcc00;
  border: 1px solid #000000;
}

.footer {
  margin: 0.6em 0 0;
  text-align: center;
  font-size: 0.78em;
  color: #333333;
  line-height: 1.7;
}

/* LED-style visitor counter. */
.counter {
  padding: 1px 6px;
  background: #000000;
  color: #33ff33;
  font-family: "Courier New", Courier, monospace;
  letter-spacing: 0.22em;
  border: 2px inset #808080;
}

@media (max-width: 620px) {
  .page { padding: 14px 14px 18px; }
  h1 { font-size: 1.6em; }
  dd { margin-left: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .new { animation: none; }
}
