/* Navigation */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: transparent;
    padding: 10px 0;
    z-index: 1000;
    box-shadow: inset 0 -2px 1px rgba(0, 255, 255, 0.7);
    display: flex;
    justify-content: center;
    box-shadow: none;
}

nav {
    background: rgba(0, 0, 0, 0.3);
    backdrop-filter: blur(10px);
    /*border: 2px solid #fffb00;
    border-radius: 10px;*/
    padding: 10px 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    /*box-shadow: 0 0 10px rgba(255, 0, 60, 0.5), 0 0 20px rgba(255, 0, 60, 0.3);*/
}

nav ul {
    list-style: none;
    display: flex;
    gap: 30px;
    margin: 0;
    padding: 0;
}

nav ul li {
    display: inline-block;
}

nav ul li a {
    color: #0ff;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    padding: 10px 16px;
    /*border: 2px solid rgba(255, 0, 60, 0.6);*/
    border-radius: 8px;
    background: rgba(10, 245, 245, 0.301);
    transition: all 0.3s ease;
    box-shadow: 0 0 6px rgba(0, 255, 255, 0.2);
}

nav ul li a:hover  {
    color: #ff003c;
    background: rgba(255, 0, 60, 0.1);
    box-shadow:
        0 0 6px rgba(255, 0, 60, 0.4),
        0 0 10px rgba(255, 0, 60, 0.6),
        0 0 14px rgba(255, 0, 60, 0.8);
    border-color: #ff003c;
}

/* Make fixed header play nice with notches the ensure content isn't hidden */
:root {
  --header-h: 54px; /* mobile header height */
}

@supports (padding: max(0px)) {
  header {
    padding-top: max(6px, env(safe-area-inset-top));
  }
}
/* Hide mobile drawer/button by default (desktop/tablet) */
.mnav-btn, .mnav-drawer, .mnav-backdrop { display: none; }
@media (max-width: 480px) {
    :root { --header-h: 92px; }


  /* ---------- Floating action button (FAB) ---------- */
  .nav-fab {
    position: fixed;
    right: 14px;
    bottom: 18px;
    z-index: 1100;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 26px;
    font-size: 22px;
    line-height: 52px;
    background: rgba(0,255,255,0.18);
    color: #00ffff;
    box-shadow: 0 6px 18px rgba(0,0,0,0.35), 0 0 12px rgba(0,255,255,0.35);
    backdrop-filter: blur(6px);
    cursor: pointer;
  }
  .nav-fab:active { transform: scale(.98); }

  /* ---------- Slide-in drawer ---------- */
  .mobile-drawer {
    position: fixed;
    inset: 0 auto 0 0;               /* left side slide-in */
    width: min(78vw, 320px);
    transform: translateX(-100%);
    transition: transform .28s ease;
    background: rgba(5, 20, 30, 0.9);
    backdrop-filter: blur(10px);
    border-right: 1px solid rgba(0,255,255,0.25);
    z-index: 1200;
    padding-top: max(10px, env(safe-area-inset-top));
  }
  .mobile-drawer.open { transform: translateX(0); }

  .drawer-nav ul {
    list-style: none;
    margin: 16px 0;
    padding: 0 12px 22px 12px;
    display: grid;
    gap: 10px;
  }
  .drawer-nav a {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    color: #0ff;
    text-decoration: none;
    background: rgba(10,245,245,0.18);
    box-shadow: inset 0 0 0 1px rgba(0,255,255,0.20);
    font-weight: 600;
  }
  .drawer-nav a:active {
    background: rgba(255, 0, 60, 0.12);
    color: #ff003c;
  }

  /* ---------- Backdrop behind drawer ---------- */
  .drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1150;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
  }
/* Ensure page content sits below the (now taller) fixed header */
  body { padding-top: calc(var(--header-h) + 8px); }

  /* ---------- Floating action button (FAB) ---------- */
  .nav-fab {
    position: fixed;
    right: 14px;
    bottom: 18px;
    z-index: 1100;
    width: 52px;
    height: 52px;
    border: 0;
    border-radius: 26px;
    font-size: 22px;
    line-height: 52px;
    background: rgba(0,255,255,0.18);
    color: #00ffff;
    box-shadow: 0 6px 18px rgba(0,0,0,0.35), 0 0 12px rgba(0,255,255,0.35);
    backdrop-filter: blur(6px);
    cursor: pointer;
  }
  .nav-fab:active { transform: scale(.98); }

  /* ---------- Slide-in drawer ---------- */
  .mobile-drawer {
    position: fixed;
    inset: 0 auto 0 0;               /* left side slide-in */
    width: min(78vw, 320px);
    transform: translateX(-100%);
    transition: transform .28s ease;
    background: rgba(5, 20, 30, 0.9);
    backdrop-filter: blur(10px);
    border-right: 1px solid rgba(0,255,255,0.25);
    z-index: 1200;
    padding-top: max(10px, env(safe-area-inset-top));
  }
  .mobile-drawer.open { transform: translateX(0); }

  .drawer-nav ul {
    list-style: none;
    margin: 16px 0;
    padding: 0 12px 22px 12px;
    display: grid;
    gap: 10px;
  }
  .drawer-nav a {
    display: block;
    padding: 12px 14px;
    border-radius: 10px;
    color: #0ff;
    text-decoration: none;
    background: rgba(10,245,245,0.18);
    box-shadow: inset 0 0 0 1px rgba(0,255,255,0.20);
    font-weight: 600;
  }
  .drawer-nav a:active {
    background: rgba(255, 0, 60, 0.12);
    color: #ff003c;
  }

  /* ---------- Backdrop behind drawer ---------- */
  .drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1150;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
  }
  /* Show mobile trigger + drawer/backdrop */
  .mnav-btn, .mnav-drawer, .mnav-backdrop { display: initial; }
.nav-fab{position:fixed;left:14px;top:24px;z-index:1100;width:42px;height:42px;border:0;border-radius:26px;font-size:22px;line-height:52px;background:rgba(0,255,255,.18);color:#0ff;box-shadow:0 6px 18px rgba(0,0,0,.35),0 0 12px rgba(0,255,255,.35);backdrop-filter:blur(6px);cursor:pointer}
  .mobile-drawer{position:fixed;inset:0 auto 0 0;width:min(78vw,320px);transform:translateX(-100%);transition:transform .28s ease;background:rgba(5,20,30,.9);backdrop-filter:blur(10px);border-right:1px solid rgba(0,255,255,.25);z-index:1200;padding-top:max(10px,env(safe-area-inset-top))}
  .mobile-drawer.open{transform:translateX(0)}
  .drawer-backdrop{position:fixed;inset:0;z-index:1150;background:rgba(0,0,0,.45);backdrop-filter:blur(2px)}
  /* Top-left hamburger */
  .mnav-btn {
    position: fixed;
    top: max(45px, env(safe-area-inset-top));
    left: max(15px, env(safe-area-inset-left));
    z-index: 14000;
    width: 48px; height: 48px;
    border: 0; border-radius: 10px;
    font-size: 22px; line-height: 46px;
    background: rgba(0,255,255,0.18);
    color: #00ffff;
    box-shadow: 0 6px 18px rgba(0,0,0,0.35), 0 0 12px rgba(0,255,255,0.35);
    backdrop-filter: blur(6px);
  }

  /* Drawer (left slide-in) */
  .mnav-drawer {
    position: fixed; inset: 0 auto 0 0;
    width: min(78vw, 320px);
    transform: translateX(-100%);
    transition: transform .28s ease;
    background: rgba(5, 20, 30, 0.93);
    backdrop-filter: blur(10px);
    border-right: 1px solid rgba(0,255,255,0.25);
    z-index: 13900;
    padding-top: max(12px, env(safe-area-inset-top));
  }
  .mnav-drawer.is-open { transform: translateX(0); }

  .mnav-list {
    display: grid; gap: 10px;
    padding: 10px 10px 12px;
  }
  .mnav-list a {
    display: block; padding: 9px 14px;
    border-radius: 10px; text-decoration: none;
    color: #0ff; font-weight: 600;
    background: rgba(10,245,245,0.18);
    box-shadow: inset 0 0 0 1px rgba(0,255,255,0.20);
  }
  .mnav-list a:active { background: rgba(255,0,60,0.12); color: #ff003c; }

  /* Backdrop */
  .mnav-backdrop {
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.45);
    backdrop-filter: blur(2px);
    opacity: 0; pointer-events: none;
    transition: opacity .2s ease;
    z-index: 13850;
  }
  .mnav-backdrop.is-open {
    opacity: 1; pointer-events: auto;
  }
}


/* Desktop stays as-is; tighten at tablet */
@media (max-width: 900px) {
  header {
    background: rgba(0,0,0,0.45);
    box-shadow: 0 2px 12px rgba(0,0,0,0.35);
  }
  nav {
    padding: 8px 10px;
    overflow: hidden; /* desktop/tablet: no scroll yet */
  }
  nav ul {
    gap: 14px;
  }
  nav ul li a {
    font-size: .95rem;
    padding: 8px 12px;
  }
}

/* PHONE: turn into horizontal scroll pills with snap */
@media (max-width: 600px) {
:root { --header-h: 92px; }
  header {
    background: rgba(0,0,0,0.55);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
  }

  nav {
    padding: 8px 8px;
    overflow-x: auto;                 /* enable horizontal scroll */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;    /* snap */
    scrollbar-width: none;            /* Firefox hide scrollbar */
  }
  nav::-webkit-scrollbar { display: none; } /* WebKit hide scrollbar */

  /* optional subtle edge fade so pills don’t look “cut off” */
  nav {
    mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 16px), transparent 100%);
  }

  nav ul {
    display: inline-flex;        /* keep in one row */
    flex-wrap: nowrap;
    gap: 10px;                   /* ← HORIZONTAL SPACE between items */
  }

  nav ul li { scroll-snap-align: start; }

  nav ul li a {
    padding: 9px 12px;
    font-size: .9rem;
    border-radius: 10px;
    white-space: nowrap;         /* keep each link on one line */
    background: rgba(10,245,245,0.22);
    box-shadow: 0 0 6px rgba(0,255,255,0.18) inset, 0 0 0 rgba(0,0,0,0);
    transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
  }

  /* nicer tap feedback */
  nav ul li a:active {
    transform: scale(0.98);
    box-shadow: 0 0 10px rgba(0,255,255,0.35);
  }

  /* improve focus visibility for keyboard/AT users */
  nav ul li a:focus-visible {
    outline: 2px solid #00ffff;
    outline-offset: 2px;
  }
}

/* Make sure page content starts below fixed header on small screens */
@media (max-width: 600px) {
  body { padding-top: calc(var(--header-h) + 8px); }
}
