:root {
  /* Colors */
  --color-white: #ffffff;
  --color-black: #000000;
  --color-text-muted: #666666;

  /* Spacing */
  --space-xs: 5px;
  --space-sm: 8px;
  --space-md: 15px;
  --space-lg: 20px;
  --space-xl: 25px;
  --space-2xl: 30px;

  /* Border radius */
  --radius-sm: 5px;
  --radius-md: 5px;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-medium: 0.3s ease;
  --transition-slow: 1s ease-in-out;

  /* Typography */
  --font-mono: "Courier New", monospace;
  --font-size-base: 0.95em;
  --font-size-small: 0.9em;
  --letter-spacing-wide: 0.5px;

  /* Card */
  --card-max-width: 370px;

  /* blur container */
  --blur-bg: rgba(255, 255, 255, 0.6);
  --blur-blur: 10px;
  --blur-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);

  /* Controls */
  --control-bg: rgba(255, 255, 255, 0.3);
  --control-bg-hover: rgba(255, 255, 255, 0.5);
  --control-border: rgba(255, 255, 255, 0.5);
  --control-blur: 10px;

  /* Button */
  --btn-border-width: 0.3rem;
  --btn-shadow: 0.3rem 0.3rem 0rem rgba(0, 0, 0, 0.85);
}

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

body,
html {
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: var(--font-mono);
}

.hide-mobile {
  @media (max-width: 768px) {
    display: none;
  }
}

.bg-container {
  position: fixed;
  inset: 0;
  z-index: -1;
}

.bg-layer {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity var(--transition-slow);

  &.active {
    opacity: 1;
  }
}

.blur-container {
  background: var(--blur-bg);
  backdrop-filter: blur(var(--blur-blur));
  border: 1px solid var(--color-black);
  border-radius: var(--radius-md);
  box-shadow: var(--blur-shadow);
}

.info-card {
  position: fixed;
  top: var(--space-2xl);
  left: var(--space-2xl);
  padding: var(--space-2xl);
  max-width: var(--card-max-width);
  z-index: 100;

  h1 {
    font-size: 3em;
    font-weight: bold;
    margin-bottom: var(--space-lg);
    letter-spacing: -2px;
  }

  p {
    font-size: var(--font-size-base);
    line-height: 1.6;
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wide);
  }

  .contact {
    margin-top: var(--space-lg);
    margin-bottom: var(--space-xl);
  }

  .email {
    font-size: var(--font-size-small);
  }

  .cta {
    margin-top: var(--space-xs);
  }
}

.shop,
.shop:visited {
  color: var(--color-black);
  font-weight: bold;
  text-transform: uppercase;
  font-size: var(--font-size-small);
  letter-spacing: var(--letter-spacing-wide);
  &:hover,
  &:active {
    text-decoration: underline;
  }
}

.btn-shop {
  display: inline-block;
  padding: 12px 28px;
  background: var(--color-white);
  border: var(--btn-border-width) solid var(--color-black);
  border-radius: var(--radius-sm);
  text-decoration: none;
  color: var(--color-black);
  font-weight: bold;
  font-size: var(--font-size-small);
  text-transform: uppercase;
  letter-spacing: var(--letter-spacing-wide);
  transition: all var(--transition-fast);
  cursor: pointer;
  filter: drop-shadow(var(--btn-shadow));

  &:hover {
    background: var(--color-black);
    color: var(--color-white);
    transform: translate(0.2rem, 0.2rem);
    filter: drop-shadow(0.1rem 0.1rem 0rem rgba(0, 0, 0, 0.85));
  }

  &:active {
    transform: translate(0.3rem, 0.3rem);
    filter: drop-shadow(0 0 0 rgba(0, 0, 0, 0.85));
  }
}

.controls {
  position: fixed;
  bottom: var(--space-2xl);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: var(--space-md);
  z-index: 100;

  button {
    color: var(--color-white);
    padding: 8px 16px 16px;
    font-size: 46px;
    cursor: pointer;
    transition: all var(--transition-medium);
    font-weight: 600;
    font-family: var(--font-mono);
    white-space: nowrap;
    text-shadow: 0px 0px 2px black;
    line-height: 0.5;

    &:hover {
      background: var(--control-bg-hover);
      transform: translateY(-2px);
    }

    &:active {
      transform: translateY(0);
    }
  }
}

@media (max-width: 768px) {
  :root {
    --space-2xl: 20px;
  }

  .info-card {
    right: var(--space-lg);
    max-width: none;
    padding: var(--space-sm) var(--space-md);
    display: flex;
    gap: 10px;
    justify-content: space-between;
    align-items: baseline;
    h1 {
      font-size: 2em;
      margin-bottom: var(--space-sm);
    }

    p {
      font-size: 0.75em;
      line-height: 1.4;
      margin-bottom: 0;
    }

    .contact {
      margin: 0;
    }
  }

  .controls {
    bottom: var(--space-lg);
    gap: 10px;
  }

  .btn-shop,
  .btn-shop:hover,
  .btn-shop:active {
    background: none;
    border: none;
    filter: none;
    display: inline;
    padding: 0;
  }
}
