/* CSS is how you can add style to your website, such as colors, fonts, and positioning of your
   HTML content. To learn how to do something, just try searching Google for questions like
   "how to change link color." */



/* -- Font -- */
@font-face {
  font-family: 'CHNOPixel';
  src: url(https://humantooth.neocities.org/fonts/CHNOPixelCodePro-Regular.woff) format('woff');
}

/* -- Base -- */
:root {
  --bg: #fbf7f0;
  --card: #ffffff;
  --ink: #2f2a26;
  --muted: #7a7168;
  --accent: #e07a5f;
  --accent-soft: #f2cc8f;
  --border: #e8ded0;
  --radius: 14px;
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  position: relative;
  min-height: 100vh;
  background-color: var(--bg);
  background-image: url('windowsday.png');
  background-size: 100% 100%;
  background-position: center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  color: var(--ink);
  font-family: 'CHNOPixel', monospace;
  line-height: 1.6;
}

a {
  color: var(--accent);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* ---------- Layout ---------- */
.wrapper {
  max-width: 680px;
  margin: 0 auto;
  padding: 48px 20px 80px;
}

/* ---------- Header ---------- */
.site-header {
  text-align: center;
  margin-bottom: 28px;
}

.site-header h1 {
  font-size: 2rem;
  margin: 0 0 8px;
}

.name {
  color: var(--accent);
}

.tagline {
  color: var(--muted);
  margin: 0;
  font-size: 1.05rem;
}

/* ---------- Nav ---------- */
.site-nav {
  display: flex;
  justify-content: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 36px;
}

.site-nav a {
  padding: 6px 16px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--card);
  font-size: 0.95rem;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.site-nav a:hover {
  text-decoration: none;
  background: var(--accent-soft);
  border-color: var(--accent-soft);
}

/* ---------- Cards ---------- */
.card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px 28px;
  margin-bottom: 20px;
}

.card h2 {
  margin-top: 0;
  font-size: 1.3rem;
}

.card p {
  margin-bottom: 0;
}

/* ---------- Lists ---------- */
.now-list,
.link-list {
  margin: 0;
  padding-left: 1.2em;
}

.now-list li,
.link-list li {
  margin-bottom: 6px;
}

/* ---------- Footer ---------- */
.site-footer {
  text-align: center;
  color: var(--muted);
  font-size: 0.9rem;
  margin-top: 40px;
}

/* ---------- Centered cow + text ---------- */
.center-cow {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10;
  text-align: center;
}

#shakey {
  display: block;
  margin: 0 0 8px;
  padding: 4px;
  font-family: "Comic Neue", "Comic Sans MS", "Comic Sans", cursive;
  font-weight: 700;
  font-size: 1.8rem;
  color: #ffffff;
  text-decoration: none;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.6);
  animation: shake 0.5s infinite;
  transition: filter 0.5s ease;
}

#shakey:hover {
  filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.9));
}

@keyframes shake {
  0% { transform: translate(1px, 1px) rotate(0deg); }
  10% { transform: translate(-1px, -2px) rotate(-1deg); }
  20% { transform: translate(-3px, 0px) rotate(1deg); }
  30% { transform: translate(3px, 2px) rotate(0deg); }
  40% { transform: translate(1px, -1px) rotate(1deg); }
  50% { transform: translate(-1px, 2px) rotate(-1deg); }
  60% { transform: translate(-3px, 1px) rotate(0deg); }
  70% { transform: translate(3px, 1px) rotate(-1deg); }
  80% { transform: translate(-1px, -1px) rotate(1deg); }
  90% { transform: translate(1px, 2px) rotate(0deg); }
  100% { transform: translate(1px, -2px) rotate(0deg); }
}

/* ---------- Background toggle button ---------- */
#bg-toggle {
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 100;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.85);
  border: 1px solid var(--border);
  border-radius: 999px;
  cursor: pointer;
  color: var(--ink);
  font-family: 'CHNOPixel', monospace;
  font-size: 1rem;
  line-height: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: background 0.15s ease, transform 0.1s ease;
}

#bg-toggle:hover {
  background: rgba(255, 255, 255, 1);
}

#bg-toggle:active {
  transform: scale(0.97);
}

.toggle-icon {
  width: 20px;
  height: 20px;
  display: block;
}

.toggle-label {
  white-space: nowrap;
}

/* ---------- Responsive ---------- */
@media (max-width: 480px) {
  .site-header h1 {
    font-size: 1.6rem;
  }
  .card {
    padding: 20px;
  }
}
