/* ===== ROOT VARIABLES ===== */

:root {
  --accent-green: rgb(181, 222, 181);
  --accent-purple: #d4bfff;
  --black: #0b0b0b;
  --white: #ddd;
  --accent-font: "Trona";
  --header-height: 120px;
  --sidebar-width: 240px;
}

/* ===== BASE ===== */

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "PP-Neue-Montreal", sans-serif;
  background: #050505;
  color: var(--white);
  line-height: 1.6;

  /* CURSOR RETRO */
  cursor: url("cursor.png"), auto;
}

/* ===== FONTS ===== */

@font-face {
  font-family: "Trona";
  src: url("fonts/trona-regular.otf");
}

@font-face {
  font-family: "PP-Neue-Montreal";
  src: url("fonts/PP_Neue_Montreal_Book.otf");
}

/* ===== LAYOUT GRID ===== */

.container {
  display: grid;
  grid-template-columns: var(--sidebar-width) 1fr;
  grid-template-rows: var(--header-height) 1fr;
  grid-template-areas:
    "header header"
    "sidebar main";
  min-height: 100vh;
}

/* ===== HEADER ===== */

.header {
  grid-area: header;
  position: fixed;
  width: 100%;
  height: var(--header-height);
  background: #050505;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
  border-bottom: 1px solid #222;
}

.site-name {
  font-family: var(--accent-font);
  font-size: 3rem;
  color: var(--accent-purple);
  text-shadow: 0 0 8px rgba(212,191,255,.5);
}

/* ===== SIDEBAR ===== */

.sidebar {
  grid-area: sidebar;
  position: fixed;
  top: var(--header-height);
  left: 0;
  width: var(--sidebar-width);
  bottom: 0;
  background: #0a0a0a;
  border-right: 1px solid #222;
  padding: 40px 20px;
}

.sidebar ul {
  list-style: none;
  padding: 0;
}

.sidebar a {
  display: block;
  text-decoration: none;
  font-family: var(--accent-font);
  color: var(--accent-purple);
  font-size: 1.5rem;
  margin-bottom: 20px;
  transition: .3s;
}

.sidebar a:hover {
  color: var(--accent-green);
  transform: translateX(5px);
}

/* ===== MAIN CONTENT — BIG PROFESSIONAL FIX ===== */

.main-content {
  grid-area: main;
  margin-left: var(--sidebar-width);
  margin-top: var(--header-height);

  max-width: 900px;
  margin-right: auto;
  margin-left: calc(var(--sidebar-width) + auto);

  padding: 50px;

  background: rgba(15,15,15,0.85);
  border: 1px solid #222;
  border-radius: 10px;

  box-shadow:
    0 0 40px rgba(0,0,0,.7),
    inset 0 0 20px rgba(255,255,255,.02);

  backdrop-filter: blur(6px);
}

/* ===== TEXT SPACING ===== */

.main-content h1 {
  font-family: var(--accent-font);
  color: var(--accent-green);
  font-size: 2.8rem;
  margin-bottom: 30px;
}

.main-content h2 {
  font-family: var(--accent-font);
  color: var(--accent-purple);
  margin-bottom: 25px;
}

.main-content p {
  margin-bottom: 1.6em;
  line-height: 1.8;
}

/* ===== LINKS ===== */

a {
  color: var(--accent-green);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* ===== SCROLLBAR ===== */

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #050505;
}

::-webkit-scrollbar-thumb {
  background: #333;
}

/* ===== RESPONSIVE ===== */

@media (max-width: 900px) {
  .container {
    grid-template-columns: 1fr;
    grid-template-areas:
      "header"
      "main";
  }

  .sidebar {
    display: none;
  }

  .main-content {
    margin: var(--header-height) auto 0;
  }
}