/*=====================
  Base & Body
  ===================== */
       *, *:before, *:after {
            box-sizing: border-box;
        }
      /* Main Container Styling */
        body {
            font-family: "IBM Plex Serif", serif;
            max-width: 100%; 
            color: black;
            background-color: antiquewhite;
            margin: 0;
            padding: 0;
        }
/*=====================
  Header
  ===================== */
        .header-bg {
        background-color: #f1ffff;
        }
        .header-logo {
        max-height: 200px;
        width: auto;
        max-width: 100%;
        }

/*=====================
    Navbar - Responsive
    ===================== */
        .site-nav {
          background-color: #333333;
          position: relative;
        }
        .site-nav ul {
          list-style-type: none;
          margin: 0;
          padding: 0;
          display: flex;
          flex-wrap: wrap;
        }
        .site-nav ul li a {
          display: block;
          color: white;
          padding: 14px 16px;
          text-decoration: none;;
        }
        .site-nav ul li a:hover:not(.active) {
          background-color: #111111;
        }
        .site-nav ul li a.active {
          background-color: #04AA6D;
        }
        /* Hamburger menu - hidden on desktop */
        .nav-toggle {
          display: none;
          background: none;
          border: none;
          color: white;
          font-size: 24px;
          padding: 12px 16px;
          cursor: pointer;
          width: auto;
          height: auto;
        }
        @media screen and (max-width: 600px) {
          .nav-toggle {
            display: block;
          }
          .site-nav ul {
            display: none;
            flex-direction: column;
          }
          .site-nav ul.open {
            display: flex;
          }
        }

/* =====================
   Team Grid — Responsive
   ===================== */
   .team-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    padding: 0 16px 32px;
   }

   /* 3 columns on tablets */
   @media screen and (max-width: 1100px) {
    .team-grid {
      grid-template-columns: repeat(3, 1fr);
    }
   }

   /* 2 columns on small tablets */
   @media screen and (max-width: 700px) {
    .team-grid {
      grid-template-columns: repeat(2, 1fr);
    }
   }

   /* 1 column on phones */
   @media screen and (max-width: 480px) {
    .team-grid {
      grid-template-columns: 1fr;
    }
   }

   .cardteam {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
    background-color: #fff;
    border-radius: 4px;
    overflow: hidden;
   }

   .cardteam img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover; /* keeps faces centered, no distortion*/
    display: block;
   }

   .containerteam {
    padding: 12px 16px 16px;
    text-align: center;
   }

   .containerteam h2 {
    font-size: clamp(1rem, 2vw, 1.3rem);
    margin-bottom: 4px;
   }

   .containerteam p:last-child {
    text-align: center;
    padding: 0 16px 16px;
   }

   .titleteam {
    color: grey;
    font-size: 0.85rem;
   }

   .buttonteam {
    border: none;
    outline: 0;
    display: inline-block;
    padding: 10px 24px;
    color: white;
    background-color: #0072b1;
    text-align: center;
    cursor: pointer;
    width: auto;
    min-width: 120px;
    font-size: 1rem;
    border-radius: 2px;
    transition: background-color 0.2s;
   }

   .buttonteam a {
    color: white;
    text-decoration: none;
    display: block;
   }
  /*=====================
    Health Tracker Controls
    ===================== */
        /*Player card styling*/
        .player {
            border: 1px solid #ccc;
            padding: 15px;
            margin: 10px 20px;
            border-radius: 5px;
        }
        /*Container for health +HP Value-*/
        .health-control {
            display: flex;
            align-items: center;
            gap: 15px;
            margin-top: 10px;
        }
        .special-control {
          display: flex;
          align-items: center;
          gap: 10px;
          margin-top: 10px;
        }
        .special-label {
          font-weight: bold;
        }
        .special-value {
          min-width: 30px;
          text-align: center;
          font-size: 18px;
        }
        .toggle-button {
          padding: 5px 15px;
          min-width: 100px;
        }
        /*Styling for + and -*/
        button {
            width: 40px;
            height: 40px;
            font-size: 20px;
            cursor: pointer; /*show pointer cursor on hover*/
            font-weight: bold;
        }
        /*health number display*/
        .health-value {
            font-size: 24px;
            font-weight: bold;
            min-width: 50px;
            text-align: center;
        }
                /*Text input for player name*/
        input {
            padding: 12px 15px;
            font-size: 18px;
            border-radius: 4px;
            border: 1px solid #ccc;
            width: 250px; /* fixed width, change later for mobile */
        }
        .button-group {
          margin-top: 10px;
          display: flex;
          gap: 10px; /*space between buttons*/
        }
        /*The Add Player button*/
        #add-player {
            padding: 12px 24px;
            font-size: 18px;
            background-color: darkgreen;
            color: white;
            border: none;
            cursor: pointer;
            border-radius: 4px;
            font-weight: 600;
            white-space: nowrap; /* prevent text from wrapping */
            margin: 0; /* reset default margin */
            width: 200px;
        }
        #clear-all {
          padding: 12px 24px;
          font-size: 18px;
          background-color: #dc3545;
          color: white;
          border: none;
          cursor: pointer;
          border-radius: 4px;
          font-weight: 600;
          white-space: nowrap; /* prevent text from wrapping */
          margin: 0;
          width: 200px;
        }
        #clear-all:hover {
          background-color: #c82333;
        }
        /* Dropdown container */
        .dropbtn {
          padding: 12px 24px;
          font-size: 18px;
          background-color: #007bff;
          color: white;
          border: none;
          cursor: pointer;
          border-radius: 4px;
          font-weight: 600;
          white-space: nowrap; /* prevent text from wrapping */
          margin: 0;
          width: 200px;
        }
        .dropdown {
          position: relative;
          display: inline-block;
        }
        .dropdown-content {
          display: none;
          position: absolute;
          background-color: #f9f9f9;
          min-width: 200px;
          box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
          z-index: 1;
        }
        .dropdown-content a {
          color: black;
          padding: 12px 16px;
          text-decoration: none;
          display: block;
        }
        .dropdown-content a:hover {
          background-color: #f1f1f1;
        }
        .dropdown:hover .dropdown-content {
          display: block;
        }
        .dropdown:hover .dropbtn {
          background-color: #0056b3;
        }

*, *:before, *:after {
  box-sizing: inherit;
}

needle-engine {
    position: absolute;
    width: 100%;
    height: 100%;
}

.padd {
  padding: 10px 20px;
}



/* =====================
   IBM Plex Serif Variants
   ===================== */
.ibm-plex-serif-thin        { font-family: "IBM Plex Serif", serif; font-weight: 100; font-style: normal; }
.ibm-plex-serif-extralight  { font-family: "IBM Plex Serif", serif; font-weight: 200; font-style: normal; }
.ibm-plex-serif-light       { font-family: "IBM Plex Serif", serif; font-weight: 300; font-style: normal; }
.ibm-plex-serif-regular     { font-family: "IBM Plex Serif", serif; font-weight: 400; font-style: normal; }
.ibm-plex-serif-medium      { font-family: "IBM Plex Serif", serif; font-weight: 500; font-style: normal; }
.ibm-plex-serif-semibold    { font-family: "IBM Plex Serif", serif; font-weight: 600; font-style: normal; }
.ibm-plex-serif-bold        { font-family: "IBM Plex Serif", serif; font-weight: 700; font-style: normal; }

.ibm-plex-serif-thin-italic       { font-family: "IBM Plex Serif", serif; font-weight: 100; font-style: italic; }
.ibm-plex-serif-extralight-italic { font-family: "IBM Plex Serif", serif; font-weight: 200; font-style: italic; }
.ibm-plex-serif-light-italic      { font-family: "IBM Plex Serif", serif; font-weight: 300; font-style: italic; }
.ibm-plex-serif-regular-italic    { font-family: "IBM Plex Serif", serif; font-weight: 400; font-style: italic; }
.ibm-plex-serif-medium-italic     { font-family: "IBM Plex Serif", serif; font-weight: 500; font-style: italic; }
.ibm-plex-serif-semibold-italic   { font-family: "IBM Plex Serif", serif; font-weight: 600; font-style: italic; }
.ibm-plex-serif-bold-italic       { font-family: "IBM Plex Serif", serif; font-weight: 700; font-style: italic; }
