/* Main CSS - Neo-Brutalist Portfolio */

/* Import Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700;900&display=swap');

/* Import CSS Files */
@import 'reset.css';
@import 'variables.css';
@import 'utilities.css';

/* Import Components */
@import 'components/header.css';
@import 'components/hero.css';
@import 'components/about.css';
@import 'components/projects.css';
@import 'components/skills.css';
@import 'components/contact.css';
@import 'components/footer.css';
@import 'components/loading.css';
@import 'components/scroll-reveal.css';

/* Base Styles */
body {
  font-family: var(--font-primary);
  background: var(--bg-primary);
  color: var(--color-black);
  overflow-x: hidden;
}

/* Selection */
::selection {
  background: var(--color-accent);
  color: var(--color-white);
}

/* Scrollbar */
::-webkit-scrollbar {
  width: 12px;
}

::-webkit-scrollbar-track {
  background: var(--color-white);
  border-left: var(--border-width) solid var(--color-black);
}

::-webkit-scrollbar-thumb {
  background: var(--color-accent);
  border: 2px solid var(--color-black);
}

::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary);
}

/* Loading Animation */
.loading {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

.loading.hidden {
  opacity: 0;
  visibility: hidden;
}

.loading__spinner {
  width: 100px;
  height: 100px;
  border: var(--border-width-thick) solid var(--color-black);
  border-top-color: var(--color-accent);
  border-radius: 0;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

/* Reveal Animation */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.6s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Cursor (optional) */
.custom-cursor {
  width: 20px;
  height: 20px;
  border: 3px solid var(--color-black);
  background: var(--color-primary);
  position: fixed;
  pointer-events: none;
  z-index: 9999;
  transition: all 0.1s ease;
  display: none;
}

@media (min-width: 1024px) {
  .custom-cursor {
    display: block;
  }
}

.custom-cursor.active {
  transform: scale(1.5);
  background: var(--color-accent);
}

/* Print Styles */
@media print {
  .header,
  .footer,
  .contact {
    display: none;
  }
}
