:root {
  --bg-color: #000000;
  --text-primary: #ffffff;
  --text-secondary: #aaaaaa;
  --border-color: #ffffff;
}

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

body {
  font-family: 'Space Mono', monospace;
  background-color: var(--bg-color);
  color: var(--text-primary);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow-x: hidden;
}

/* CRT Scanline effect */
body::before {
  content: " ";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.01), rgba(255, 255, 255, 0.03));
  z-index: 1000;
  background-size: 100% 2px, 3px 100%;
  pointer-events: none;
}

.container {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 2rem;
  width: 100%;
  margin: 0 auto;
}

/* Generic Logo Style */
.dasw-logo-small {
  width: 60px;
  height: 60px;
  border: 2px solid var(--text-primary);
  padding: 5px;
  background: var(--text-primary);
  box-shadow: 4px 4px 0px var(--text-primary);
  margin-bottom: 2rem;
  transition: all 0.2s ease;
}

.dasw-logo-small:hover {
  transform: translate(-2px, -2px);
  box-shadow: 6px 6px 0px var(--text-primary);
}

/* Animations */
.fade-in-up {
  opacity: 0;
  animation: retroFadeIn 0.8s cubic-bezier(0.1, 1, 0.1, 1) forwards;
}

@keyframes retroFadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Accessibility */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Footer */
footer {
  padding: 2rem;
  text-align: center;
  font-size: 0.9rem;
  border-top: 2px dashed var(--border-color);
  margin-top: auto;
}
