
/* Base styles for Grasmueck.vip */
:root {
  --bg: #f9f9f9;
  --fg: #222;
  --card: #fff;
  --link: #007aff;
  --shadow: 0 2px 8px rgba(0,0,0,0.05);
  --radius: 1rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --bg: #0b0b0b;
    --fg: #f5f5f5;
    --card: #161616;
    --link: #4da3ff;
  }
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--bg);
  color: var(--fg);
}

header, footer {
  padding: 1rem 2rem;
  background: var(--card);
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

header .logo {
  font-weight: 700;
  font-size: 1.2rem;
}

nav ul {
  list-style: none;
  display: flex;
  gap: 1rem;
  padding: 0;
  margin: 0;
}

nav a {
  text-decoration: none;
  color: var(--fg);
  transition: color .2s ease;
}

nav a:hover, nav a:focus {
  color: var(--link);
  outline: none;
}

main {
  padding: 2rem;
  display: grid;
  gap: 3rem;
}

section {
  background: var(--card);
  border-radius: var(--radius);
  padding: 1rem;
  box-shadow: var(--shadow);
  overflow: hidden;
}

h2 { margin-top: 0; }

.media-container {
  display: grid;
  gap: 1.5rem;
}

video, img {
  width: 100%;
  border-radius: .75rem;
  transition: transform .6s ease;
}

@media (prefers-reduced-motion: reduce) {
  video, img { transition: none; }
}

video:hover, img:hover {
  transform: scale(1.03);
}

details { margin: .5rem 0; }
summary { cursor: pointer; font-weight: 700; }

footer { text-align: center; margin-top: 2rem; }
