html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}

@layer components {
  .card-surface {
    background-color: #161b22;
    border: 0.5px solid #21262d;
    transition: border-color 0.15s ease;
  }

  .card-surface:hover {
    border-color: #30363d;
  }

  .tech-badge {
    display: inline-flex;
    align-items: center;
    font-family: var(--font-mono);
    font-size: 0.75rem;
    line-height: 1.5;
    padding: 0.125rem 0.5rem;
    border-radius: 0.25rem;
    background-color: rgba(88, 166, 255, 0.1);
    border: 0.5px solid rgba(88, 166, 255, 0.2);
    color: #58a6ff;
  }

  .status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    font-size: 0.75rem;
    color: var(--color-base-content);
  }

  .status-pill::before {
    content: '';
    flex-shrink: 0;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 9999px;
    background-color: var(--status-color, currentColor);
  }

  .status-pill--live {
    --status-color: #3fb950;
  }

  .status-pill--in-progress {
    --status-color: #d29922;
  }

  .status-pill--archived {
    --status-color: #8b949e;
  }

  .status-pill--default {
    --status-color: #a371f7;
  }

  .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-family: var(--font-mono);
    color: var(--color-base-content);
    transition: color 0.15s ease;
  }

  .nav-link::before {
    content: '';
    display: inline-block;
    width: 1.5rem;
    height: 0.5px;
    background-color: currentColor;
    transition: width 0.15s ease;
  }

  .nav-link:hover,
  .nav-link.active {
    color: var(--color-accent);
  }

  .nav-link:hover::before,
  .nav-link.active::before {
    width: 2.5rem;
  }
}
