@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@300&display=swap');

@font-face {
  font-family: hyperSuperFast; /* set name */
  src: url(/fonts/HyperSuperFast.ttf); /* url of the font */
}

:root{
  --page-bg: #ffffff;
  --text-color: #181818;
  --link-color: #181818;

  /* light “chip” background used by current-points headers */
  --soft-chip-bg: rgba(0,0,0,0.05);
  --soft-chip-text: #181818;

  /* table wrapper / misc white panels */
  --panel-bg: #ffffff;
}

.darkmode{
  --h2-color: #ebebeb;

  /* NEW: general theme */
  --page-bg: #0f0f10;
  --text-color: #ebebeb;
  --link-color: #ebebeb;

  --soft-chip-bg: rgba(255,255,255,0.08);
  --soft-chip-text: #ffffff;

  --panel-bg: #151515;
}

.logo {

    margin: 1.5rem;

    width: 5rem;

    height: 5rem;

}



.primary-header {

    align-items: center;

    justify-content: space-between;

    background-color: black;

    margin: 0;

    padding: 0;

    width: 100%;

    height: 7rem;

}



.primary-navigation {

    list-style: none;

    padding: 0;

    margin: 0;



    background: hsl(0 0% 0% / 0.75);

}



.mobile-nav-toggle {

    display: none;

}



@supports (backdrop-filter: blue(1rem)) {

    .primary-navigation {

        background: hsl(0 0% 0% / 0.75);

        backdrop-filter: blue(4rem);

    }

}



.primary-navigation a {

    text-decoration: none;

    font-weight: 300;

    font-family:  "Titillium Web", sans-serif;

    font-size: 20px;

    margin-inline-end: .75rem;

    color: white;

    white-space: nowrap;

}



@media (max-width: 35em) {

    .primary-navigation {

        --gap: 3em;

        

        position: fixed;

        z-index: 1000;

        inset: 0 0 0 40%;



        flex-direction: column;

        padding: min(30vh, 10rem) 2em;



        background: hsl(0 0% 0% / 0.75);

        backdrop-filter: blue(4rem);



        transform: translateX(100%);

        transition: transform 350ms ease-out;

    }



    .primary-header {

        width: 100%;

    }



    .primary-navigation[data-visible="true"] {

        transform: translateX(0%);

    }



    .mobile-nav-toggle {

        display: block;

        position: absolute;

        z-index: 9999;

        background-color: transparent;

        background-image: url("/images/icon-hamburger.png");

        background-repeat: no-repeat;



        width: 2rem;

        border: 0;

        aspect-ratio: 1;

        top: 2.5rem;

        right: 2rem;

    }



    .mobile-nav-toggle[aria-expanded="true"]{

        background-image: url("/images/icon-closed.png");

    }

}



@media (min-width: 35em) and (max-width: 55em)

{

    .primary-navigation a > [aria-hidden] {

        display: none;

    }

}



@media (min-width: 35em) {

    .primary-navigation {

        --gap: 3rem;

        padding: 1rem;

        padding-inline: clamp(2rem, 9vw, 8rem);

    }

}

h2 {

    text-align: center;

    color: var(--text-color);

    font-family:  "Titillium Web", sans-serif;

    font-weight: 300;

    font-size: 34px;

    text-decoration: none;

}


.flex {

    display: flex;

    gap: var(--grap, 1rem);

}



body {

    overflow-x: hidden;

    margin: 0;

    padding: 0;

    background: var(--page-bg);
    color: var(--text-color);

}

.theme-toggle-wrap{
  width: 700px;
  max-width: 100%;
  margin: 10px auto 0;
  padding: 0 12px;
  display: flex;
  justify-content: flex-end;
  box-sizing: border-box;
}

.theme-toggle{
  font-family: "hyperSuperFast";
  background: rgba(0,0,0,0.85);
  color: #fff;
  border: 1px solid rgba(92,192,179,0.45);
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  line-height: 1;
}

.darkmode .theme-toggle{
  background: rgba(255,255,255,0.06);
  color: #fff;
}