/* ── CUSTOM SVG CURSOR ── */
html, body {
  /* URL-encoded inline SVG of a sleek crimson crosshair/pointer hybrid */
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 2L11 22L14 14L22 11L2 2Z' fill='%23e01010' stroke='%23ffffff' stroke-width='1.5' stroke-linejoin='round'/%3E%3C/svg%3E"), auto;
}

/* Force links and interactive components to maintain a themed cursor pointer */
a, button, .rick-card, .sidebar-toggle {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M2 2L11 22L14 14L22 11L2 2Z' fill='%23ff4040' stroke='%23ffffff' stroke-width='1.5' stroke-linejoin='round'/%3E%3Ccircle cx='14' cy='14' r='3' fill='%23ffffff'/%3E%3C/svg%3E"), pointer !important;
}

/* ── TYPOGRAPHY ARCHITECTURE (h3 - h6 Descriptions) ── */
h3, h4, h5, h6 {
  font-family: 'Space Mono', monospace;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.05em;
  line-height: 1.5;
  margin-bottom: 8px;
}

h3 { font-size: 1rem; color: #ff4040; text-transform: uppercase; letter-spacing: 0.15em; }
h4 { font-size: 0.9rem; color: var(--white); }
h5 { font-size: 0.8rem; color: rgba(255, 255, 255, 0.5); }
h6 { font-size: 0.7rem; color: rgba(255, 255, 255, 0.35); font-style: italic; }

/* ── CUSTOM SIDEBAR ── */
.sidebar-toggle {
  position: fixed;
  top: 22px;
  left: 36px;
  z-index: 100;
  background: transparent;
  border: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sidebar-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  background-color: var(--white);
  transition: transform 0.3s, background-color 0.3s;
}

.sidebar-toggle:hover span {
  background-color: var(--red);
}

#sidebar {
  position: fixed;
  top: 0;
  left: -300px;
  width: 300px;
  height: 100%;
  background: cubic-bezier(0.16, 1, 0.3, 1), rgba(8, 8, 8, 0.95);
  border-right: 1px solid rgba(255, 40, 40, 0.2);
  backdrop-filter: blur(20px);
  z-index: 99;
  padding: 90px 24px 32px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  transition: left 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

#sidebar.open {
  left: 0;
  box-shadow: 20px 0 80px rgba(0, 0, 0, 0.7);
}

.sidebar-menu {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.sidebar-menu a {
  color: rgba(255, 255, 255, 0.6);
  text-decoration: none;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  transition: color 0.2s, padding-left 0.2s;
  display: block;
}

.sidebar-menu a:hover {
  color: var(--red);
  padding-left: 6px;
}

.sidebar-footer {
  margin-top: auto;
}
