/* =========================================
   RESET & ROOT
   ========================================= */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --ink: #111111;
  --ink-light: #555555;
  --bg: #ffffff;
  --rule: rgba(0,0,0,0.1);
  --header-h: 56px;
  --font-mono: 'DM Mono', 'Courier New', monospace;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  color: var(--ink);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

/* =========================================
   SR ONLY
   ========================================= */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
}

/* =========================================
   HEADER
   ========================================= */
.header-wrapper {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 100;
  background: var(--bg);
  border-bottom: 1px solid var(--rule);
}

.header-container {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  height: var(--header-h);
  padding: 0 24px;
  max-width: 100%;
}

/* TAO Logo */
.tao-logo a {
  display: flex;
  align-items: center;
  color: var(--ink);
  text-decoration: none;
  transition: opacity 0.2s;
}
.tao-logo a:hover { opacity: 0.6; }
.tao-logo svg { display: block; }

/* Desktop nav */
.menu-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
}

.nav-link {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--ink);
  text-decoration: none;
  transition: opacity 0.2s;
}
.nav-link:hover { opacity: 0.45; }

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

/* Hamburger */
.hamburger-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--ink);
  padding: 6px;
  display: none;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s;
}
.hamburger-btn:hover { opacity: 0.5; }

@media (max-width: 768px) {
  .hamburger-btn { display: flex; }
}

/* Right spacer — mirrors logo for center alignment of nav */
.right-spacer {
  width: 24px;
}

@media (max-width: 768px) {
  .right-spacer { display: none; }
  .header-container {
    grid-template-columns: auto 1fr auto;
  }
}

/* =========================================
   MOBILE MENU
   ========================================= */
.mobile-menu {
  position: fixed;
  top: var(--header-h);
  left: 0; right: 0; bottom: 0;
  z-index: 99;
  background: var(--bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.35s cubic-bezier(0.22,1,0.36,1), opacity 0.25s ease;
}

.mobile-menu.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: all;
}

.mobile-nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.mobile-nav-link {
  font-family: var(--font-mono);
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: var(--ink);
  text-decoration: none;
  transition: opacity 0.2s;
}
.mobile-nav-link:hover { opacity: 0.45; }

/* =========================================
   MAIN + CANVAS
   ========================================= */
.main-container {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.canvas-wrap {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

#bittensor-canvas {
  display: block;
  /* Actual size set via JS */
}
