/* =============================================
   🎨 EASY CUSTOMIZATION SECTION
   Edit these variables to change the whole site!
   ============================================= */

:root {
  /* === MAIN COLORS === */
  --color-primary: #000080;      /* Main blue (navbar, windows) */
  --color-secondary: #1084d0;    /* Lighter blue */
  --color-accent: #ffe600;       /* Yellow highlights */
  --color-text-light: #ffffff;   /* Light text */
  --color-text-dark: #000000;    /* Dark text */
  
  /* === NEON COLORS === */
  --neon-yellow: #ffe600;
  --neon-lime: #39ff14;
  --neon-cyan: #00ffff;
  --neon-magenta: #ff00ff;
  --neon-pink: #ff69b4;
  --neon-orange: #ff6600;
  
  /* === WINDOWS 98 COLORS === */
  --win-gray: #c0c0c0;
  --win-dark-gray: #808080;
  --win-light-gray: #dfdfdf;
  --win-white: #ffffff;
  
  /* === SIZING === */
  --topnav-height: 46px;
  --marquee-height: 36px;
  --picker-height: 70px;
  
  /* === ANIMATION SPEEDS === */
  --marquee-speed: 18s;          /* Slower = easier to read */
  --bg-animation-speed: 10s;     /* Background animation speed */
  
  /* === FONTS === */
  --font-main: 'VT323', 'Courier New', monospace;
  --font-pixel: 'Press Start 2P', monospace;
  --font-comic: 'Comic Neue', 'Comic Sans MS', cursive;
  --font-windows: 'Trebuchet MS', 'Arial', sans-serif;
}


/* =============================================
   🖼️ BACKGROUND IMAGES - EDIT THESE URLs!
   
   HOW TO ADD A NEW BACKGROUND:
   1. Find a tiling GIF you like
   2. Copy its URL
   3. Add a new section below following the pattern
   4. Add a button in index.html with matching data-bg
   5. Add the name to the array in script.js
   ============================================= */

/* --- YOUR CUSTOM GIF BACKGROUNDS --- */

/* BRICKS - From GeoCities Archive */
.background-layer.bricks {
  background-image: url('https://web.archive.org/web/20090829191118im_/http://geocities.com/Area51/Realm/7496/brick.gif');
  background-repeat: repeat;
  background-color: #4a3728; /* Fallback color if image fails */
}

/* SPACE - Animated spaceship */
.background-layer.space {
  background-image: url('https://web.archive.org/web/20090829191118im_/http://geocities.com/Area51/Realm/7496/ani-gifs/gshtshp.gif');
  background-repeat: repeat;
  background-color: #000033; /* Fallback */
}

/* SPARKLES - Pink sparkle pattern */
.background-layer.sparkles {
  background-image: url('https://web.archive.org/web/20090830074919im_/http://www.geocities.com/twfs_sweetheart_baby/1093114700_pinksparkle.gif');
  background-repeat: repeat;
  background-color: #ffccdd; /* Fallback */
}

/* https://file.garden/ZWlUCY4S7Xz2vypS/archived%20backgrounds/!!!%20NEW%20!!!/tiles/bgbeach.gif */
.background-layer.sea {
  background-image: url('https://file.garden/ZWlUCY4S7Xz2vypS/archived%20backgrounds/!!!%20NEW%20!!!/tiles/bgbeach.gif');
  background-repeat: repeat;
  background-color: #ffccdd; /* Fallback */
}


/* --- ADD MORE GIF BACKGROUNDS HERE --- */
/* 
.background-layer.yourname {
  background-image: url('YOUR_GIF_URL_HERE');
  background-repeat: repeat;
  background-color: #000000;
}
*/


/* =============================================
   🔤 WORDART STYLES
   Add class to .wordart-text in HTML
   ============================================= */

/* Default WordArt (gold/red gradient) */
.wordart-text {
  display: inline-block;
  font-family: 'Impact', 'Arial Black', sans-serif;
  font-size: clamp(40px, 10vw, 80px);
  font-weight: bold;
  letter-spacing: 4px;
  
  background: linear-gradient(
    180deg,
    #ffd700 0%,
    #ff8c00 25%,
    #ff4500 50%,
    #ff0000 75%,
    #8b0000 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  
  transform: perspective(500px) rotateX(15deg) scaleY(1.1);
  filter: drop-shadow(3px 3px 0 #000) drop-shadow(5px 5px 3px rgba(0,0,0,0.4));
}

/* Rainbow - scrolling colors */
.wordart-text.rainbow {
  background: linear-gradient(
    90deg,
    #ff0000, #ff7f00, #ffff00, #00ff00,
    #0000ff, #9400d3, #ff0000
  );
  background-size: 200%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: wordart-rainbow 3s linear infinite;
}

@keyframes wordart-rainbow {
  0% { background-position: 0% 50%; }
  100% { background-position: 200% 50%; }
}

/* Chrome - shiny metal */
.wordart-text.chrome {
  background: linear-gradient(
    180deg,
    #e8e8e8 0%,
    #ffffff 15%,
    #a0a0a0 30%,
    #ffffff 50%,
    #a0a0a0 70%,
    #ffffff 85%,
    #c0c0c0 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
}

/* Fire - flickering effect */
.wordart-text.fire {
  background: linear-gradient(
    180deg,
    #ffff00 0%,
    #ffcc00 20%,
    #ff8c00 40%,
    #ff4500 60%,
    #ff0000 80%,
    #8b0000 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
  animation: wordart-fire 0.4s ease-in-out infinite alternate;
}

@keyframes wordart-fire {
  0% { filter: drop-shadow(3px 3px 0 #000) brightness(1); }
  100% { filter: drop-shadow(3px 3px 0 #000) brightness(1.2); }
}

/* Ocean - cool blues */
.wordart-text.ocean {
  background: linear-gradient(
    180deg,
    #00ffff 0%,
    #00ccff 25%,
    #0099cc 50%,
    #006699 75%,
    #003366 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
}

/* Outline - hollow text */
.wordart-text.outline {
  background: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 3px var(--neon-magenta);
  filter: drop-shadow(3px 3px 0 var(--neon-cyan)) drop-shadow(-2px -2px 0 var(--neon-yellow));
}

/* Vaporwave - aesthetic pink/blue */
.wordart-text.vaporwave {
  background: linear-gradient(
    180deg,
    #ff71ce 0%,
    #01cdfe 50%,
    #b967ff 100%
  );
  -webkit-background-clip: text;
  background-clip: text;
}


/* =============================================
   🪟 WINDOW COLOR THEMES
   Add class to .win98-window in HTML
   ============================================= */

/* Default: Blue */
.window-titlebar {
  background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%);
}

/* Purple */
.win98-window.purple .window-titlebar {
  background: linear-gradient(90deg, #4b0082 0%, #9932cc 100%);
}

/* Green */
.win98-window.green .window-titlebar {
  background: linear-gradient(90deg, #006400 0%, #228b22 100%);
}

/* Red */
.win98-window.red .window-titlebar {
  background: linear-gradient(90deg, #8b0000 0%, #dc143c 100%);
}

/* Pink */
.win98-window.pink .window-titlebar {
  background: linear-gradient(90deg, #c71585 0%, #ff69b4 100%);
}

/* Teal */
.win98-window.teal .window-titlebar {
  background: linear-gradient(90deg, #008080 0%, #20b2aa 100%);
}

/* Orange */
.win98-window.orange .window-titlebar {
  background: linear-gradient(90deg, #cc5500 0%, #ff8c00 100%);
}


/* =============================================
   🪟 WINDOW BODY STYLES
   Add class to .window-body in HTML
   ============================================= */

/* Default: White */
.window-body {
  background: #fff;
  color: #000;
  font-family: var(--font-windows);
  font-size: 14px;
}

/* Terminal: Black with green text */
.window-body.terminal {
  background: #000;
  color: var(--neon-lime);
  font-family: var(--font-main);
  font-size: 16px;
}

/* Notepad: Yellow paper */
.window-body.notepad {
  background: #ffffcc;
  background-image: linear-gradient(#ccc 1px, transparent 1px);
  background-size: 100% 24px;
  color: #000;
  font-family: 'Courier New', monospace;
  line-height: 24px;
}

/* Dark: Dark gray */
.window-body.dark {
  background: #1a1a1a;
  color: #fff;
}

/* Pink: Cute style */
.window-body.pink {
  background: #ffeeee;
  color: #880044;
}


/* =============================================
   🪟 WINDOW SIZES
   Add class to .win98-window in HTML
   ============================================= */

.win98-window { max-width: 500px; }
.win98-window.small { max-width: 300px; }
.win98-window.large { max-width: 700px; }
.win98-window.full { max-width: 100%; }


/* =============================================
   📍 REST OF THE STYLES (Don't edit unless you know what you're doing!)
   ============================================= */

/* Reset */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  overflow-x: hidden;
  font-family: var(--font-main);
  font-size: 18px;
  color: #fff;
}

a {
  color: inherit;
  text-decoration: none;
}

/* Top Navigation */
.topnav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--topnav-height);
  z-index: 1000;
  
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 100%);
  border-bottom: 3px ridge var(--win-gray);
  
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 20px;
}

.topnav nav {
  display: flex;
  gap: 28px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
}

.topnav a {
  font-family: var(--font-main);
  font-size: 20px;
  color: var(--neon-yellow);
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 2px 2px 0 #000;
  transition: all 0.2s ease;
  padding: 5px 0;
}

.topnav a:hover {
  color: var(--neon-cyan);
  text-shadow: 
    0 0 10px var(--neon-cyan),
    0 0 20px var(--neon-cyan),
    2px 2px 0 #000;
}

.topnav a.active {
  color: #fff;
  border-bottom: 2px solid var(--neon-yellow);
}

/* Marquee */
.marquee {
  position: fixed;
  top: var(--topnav-height);
  left: 0;
  width: 100vw;
  height: var(--marquee-height);
  z-index: 999;
  
  overflow: hidden;
  background: #000;
  border-top: 2px solid var(--neon-magenta);
  border-bottom: 2px solid var(--neon-cyan);
  
  display: flex;
  align-items: center;
}

.marquee span {
  display: inline-block;
  white-space: nowrap;
  padding-left: 100%;
  
  font-family: var(--font-comic);
  font-weight: bold;
  font-size: 18px;
  color: var(--neon-lime);
  text-shadow: 
    2px 2px 0 #000,
    -2px 2px 0 #000,
    2px -2px 0 #000,
    -2px -2px 0 #000;
  
  animation: marquee-scroll var(--marquee-speed) linear infinite;
}

@keyframes marquee-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* Background Layer */
.background-layer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  transition: background 0.3s ease;
}

/* Main Content */
.main-content {
  position: relative;
  z-index: 10;
  
  max-width: 800px;
  margin: 0 auto;
  padding-top: calc(var(--topnav-height) + var(--marquee-height) + 20px);
  padding-bottom: calc(var(--picker-height) + 40px);
  padding-left: 20px;
  padding-right: 20px;
}

/* WordArt Container */
.wordart {
  text-align: center;
  margin-bottom: 30px;
  perspective: 500px;
}

/* Window Styling */
.win98-window {
  background: var(--win-gray);
  margin: 0 auto 20px auto;
  
  border: 2px solid;
  border-color: var(--win-white) var(--win-dark-gray) var(--win-dark-gray) var(--win-white);
  
  box-shadow:
    inset 1px 1px 0 var(--win-light-gray),
    inset -1px -1px 0 #0a0a0a,
    4px 4px 8px rgba(0,0,0,0.4);
}

.window-titlebar {
  padding: 3px 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}

.window-title {
  color: #fff;
  font-family: var(--font-windows);
  font-size: 13px;
  font-weight: bold;
}

.window-controls {
  display: flex;
  gap: 2px;
}

.win-btn {
  width: 16px;
  height: 14px;
  padding: 0;
  
  background: var(--win-gray);
  border: 1px solid;
  border-color: var(--win-white) var(--win-dark-gray) var(--win-dark-gray) var(--win-white);
  
  font-family: monospace;
  font-size: 11px;
  font-weight: bold;
  line-height: 1;
  
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.win-btn:active {
  border-color: var(--win-dark-gray) var(--win-white) var(--win-white) var(--win-dark-gray);
}

.win-btn.close:hover {
  background: #c00;
  color: #fff;
}

.window-body {
  margin: 3px;
  padding: 16px;
  line-height: 1.5;
  
  border: 2px solid;
  border-color: var(--win-dark-gray) var(--win-white) var(--win-white) var(--win-dark-gray);
}

.window-body p {
  margin-bottom: 10px;
}

.window-body p:last-child {
  margin-bottom: 0;
}

.construction-gif {
  display: block;
  margin: 10px auto 0;
  max-width: 120px;
  image-rendering: pixelated;
}

.cool-list {
  list-style: square;
  margin-left: 25px;
}

.cool-list li {
  margin: 8px 0;
}

/* Blinking cursor for terminal */
.blink {
  animation: blink-cursor 1s step-end infinite;
}

@keyframes blink-cursor {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

/* Visitor Counter */
.visitor-counter {
  text-align: center;
  margin: 30px 0;
  font-family: var(--font-comic);
  font-size: 16px;
  color: var(--neon-yellow);
  text-shadow: 2px 2px 0 #000;
}

.counter-digits {
  display: inline-block;
  background: #000;
  color: var(--neon-lime);
  font-family: 'Courier New', monospace;
  font-weight: bold;
  padding: 4px 10px;
  border: 2px inset var(--win-gray);
  letter-spacing: 2px;
}

/* 88x31 Buttons */
.button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 20px 0;
}

.button-container img {
  height: 31px;
  width: auto;
  image-rendering: pixelated;
  border: 1px solid #000;
}

.button-container img:hover {
  transform: scale(1.1);
  transition: transform 0.1s;
}

/* Background Picker */
.bg-picker {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: var(--picker-height);
  z-index: 1000;
  
  background: linear-gradient(180deg, var(--win-gray) 0%, #a0a0a0 100%);
  border-top: 3px ridge var(--win-light-gray);
  
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px;
}

.picker-title {
  font-family: var(--font-comic);
  font-size: 14px;
  font-weight: bold;
  color: var(--color-primary);
  text-shadow: 1px 1px 0 #fff;
  margin-bottom: 6px;
}

.picker-buttons {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  justify-content: center;
}

.bg-btn {
  width: 34px;
  height: 34px;
  
  background: #fff;
  border: 2px solid;
  border-color: var(--win-white) var(--win-dark-gray) var(--win-dark-gray) var(--win-white);
  
  font-size: 16px;
  cursor: pointer;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  transition: transform 0.1s ease;
}

.bg-btn:hover {
  transform: scale(1.15);
}

.bg-btn:active {
  border-color: var(--win-dark-gray) var(--win-white) var(--win-white) var(--win-dark-gray);
}

.bg-btn.active {
  background: var(--neon-yellow);
  border-color: var(--win-dark-gray) var(--win-white) var(--win-white) var(--win-dark-gray);
}

/* Mobile Responsive */
@media (max-width: 640px) {
  :root {
    --marquee-speed: 12s;
  }
  
  .topnav {
    padding: 0 10px;
  }
  
  .topnav nav {
    gap: 12px;
  }
  
  .topnav a {
    font-size: 14px;
    letter-spacing: 1px;
  }
  
  .wordart-text {
    font-size: 36px !important;
  }
  
  .win98-window {
    margin-left: 0;
    margin-right: 0;
    max-width: 100% !important;
  }
  
  .bg-btn {
    width: 30px;
    height: 30px;
    font-size: 14px;
  }
  
  .picker-buttons {
    gap: 4px;
  }
}