
body {
  margin: 0;
  background-color: #8b8b8b;
  font-family: Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100vh;
}

.glassy-bg 
{
        background:
          radial-gradient(circle at top right, rgba(45,212,191,0.18), transparent 45%),
          radial-gradient(circle at bottom left, rgba(56,189,248,0.15), transparent 45%),
          linear-gradient(135deg, #0f2f33, #0b3f46);
  }

 .glass-card 
 {
        background: rgba(255, 255, 255, 0.10);
        border: 1px solid rgba(255, 255, 255, 0.18);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        box-shadow: 0 20px 45px rgba(0,0,0,0.35);
        border-radius: 18px;
  }

/* 🔘 Scenario buttons */
.scenario-btn 
{
        width: 100%;
        padding: 14px 16px;
        border-radius: 14px;
        font-weight: 500;
        background: rgba(13,148,136,0.88);
        color: white;
        border: 1px solid rgba(255,255,255,0.2);
        box-shadow: 0 10px 25px rgba(0,0,0,0.25);
        transition: all 0.2s ease;
}
.scenario-btn:hover 
{
        background: rgba(13,148,136,1);
        transform: translateY(-1px);
}

/* ✅ Fixed placement near very top-right corner */
.fixed-actions
{
        position: fixed;
        top: 14px;
        right: 14px;
        z-index: 9999;

        display: flex;
        flex-direction: row;      /* ✅ side-by-side */
        gap: 12px;                /* spacing between buttons */
        align-items: center;
}

.frame {
  position: relative;
  width: 90vw;
  aspect-ratio: 1622 / 907; /* Maintain image's natural ratio */
  background-color: black;
  overflow: hidden;
}

.background {
  position: relative;
  height: 100%;
  width: 100%;
  background-image: url('../assets/background.png'); 
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.background-img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  
}

/* Wrapper used for background image + hotspots */
.background-wrapper {
  position: relative;
  width: 100%;
  height: auto;
}

/* Hotspot Regions */
.hotspot {
  position: absolute;
  background: rgba(255, 0, 0, 0.0); /* set 0.2 while tuning */
  cursor: pointer;
  z-index: 20;
}

/* Full-width glass tooltip */
.hotspot::after {
  content: attr(data-tooltip);
  position: absolute;

  /* Tooltip placed fully above hotspot */
  bottom: 110%;
  left: 0;                     /* start at left edge */
  width: 100%;                 /* << FULL WIDTH tooltip */
  transform: translateY(12px); /* slide up on hover */

  /* Frosted Siemens Mint Style */
  background: rgba(185, 255, 235, 0.16);
  backdrop-filter: blur(12px) brightness(1.12) saturate(1.25);
  -webkit-backdrop-filter: blur(12px) brightness(1.12) saturate(1.25);

  padding: 12px 16px;
  border-radius: 12px;
  border: 1px solid rgba(120, 255, 215, 0.4);

  box-shadow:
    0 6px 22px rgba(0, 0, 0, 0.45),
    inset 0 0 14px rgba(120, 255, 215, 0.12);

  color: #000000;
  font-size: clamp(0.65rem, 0.9vw, 0.85rem);
  font-weight: 500;
  letter-spacing: 0.3px;
  line-height: 1.35rem;
  text-align: center;

  /* Enable wrapping */
  white-space: normal;

  /* Animation start state */
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.25s ease-out,
    transform 0.25s ease-out;

  z-index: 9999;
}

/* Fade + Slide animation */
.hotspot:hover::after {
  opacity: 1;
  transform: translateY(0);
}


/* ---------- Responsive Hint (no wrap, auto-scaling) ---------- */
.hint-overlay {
  position: absolute;
  top: 3vh;
  right: 11vw;
  background: rgba(255, 255, 255, 0.85);
  color: #1f2937;
  font-weight: 600;
  font-size: clamp(0.7rem, 0.9vw, 1rem); /* scales with screen size */
  padding: clamp(0.6rem, 1.2vh, 1rem) clamp(1rem, 1.5vw, 2rem);
  border-radius: clamp(6px, 0.6vw, 12px);
  box-shadow: 0 0.4vw 1vw rgba(0, 0, 0, 0.25);
  border-right: 0.5vw solid #f59e0b;
  backdrop-filter: blur(6px);
  text-align: right;
  white-space: nowrap;      /* ✅ single line only */
  width: fit-content;       /* ✅ adjust width to text content */
  max-width: 90vw;          /* ✅ safe limit so it never overflows screen */
  z-index: 5;
  line-height: 1.3;
}


/* ---------- Responsive Buttons Container ---------- */
.top-buttons {
  position: absolute;
  top: 4vh;
  right: 3vw;
  display: flex;
  gap: clamp(0.4rem, 1vw, 1rem);
  flex-wrap: wrap;
  z-index: 5;
}


/* Entry Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translate(-50%, -20px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}

/* 🎥 Training button — position near bottom-right neatly */
.training-btn {
  position: absolute;
  bottom: 6%;
  right: 4%;
  background: rgba(255, 255, 255, 0.9);
  color: #1f2937;
  font-weight: 600;
  font-size: clamp(0.9rem, 1vw, 1.1rem);
  padding: 10px 20px;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25);
  border-left: 5px solid #2563eb;
  transition: transform 0.2s ease, background 0.3s ease;
  white-space: nowrap;
}

.training-btn:hover {
  background: rgba(255, 255, 255, 0.95);
  transform: scale(1.05);
}

/* 🎬 Small video modal styling */
#videoModal {
  backdrop-filter: blur(4px);
  justify-content: center;   /* center horizontally */
  align-items: center; 
  position: fixed; 
  inset: 0;
   z-index: 999999; 
   display: none;
}

#videoModal video {
  max-height: 70vh;
  border-radius: 8px;
  background-color: black;
  -webkit-transform: translateZ(0); /* Ensure GPU rendering */
  transform: translateZ(0);
}

#videoModal.show { display: flex; }
.button-panel {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;           /* even space between buttons */
  margin-top: 20px;
}

/* 🔹 Common style for both buttons */
#startPID,
#viewVideoBtn {
  display: inline-flex;                 /* for vertical centering */
  justify-content: center;
  align-items: center;
  height: 48px;                         /* identical height */
  min-width: 230px;                     /* identical width */
  background-color: #374151;            /* same dark blue-gray */
  color: white;
  font-family: 'Segoe UI', sans-serif;  /* consistent font rendering */
  font-size: 16px;                      /* same font size */
  font-weight: 600;                     /* bold */
  border: none;
  border-radius: 8px;                   /* same corners */
  box-shadow: 0 4px 8px rgba(0,0,0,0.25);
  cursor: pointer;
  transition: background 0.25s ease, transform 0.15s ease;
  padding: 0 24px;                      /* even horizontal padding */
  text-align: center;
  white-space: nowrap;                  /* prevent text wrapping */
}

/* 🔹 Hover & active states */
#startPID:hover,
#viewVideoBtn:hover {
  background-color: #1f2937;
  transform: translateY(-2px);
}

/* 🎬 Hint shown when video not completed */
#videoHintContainer {
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
  min-height: 28px; /* Reserve space even if empty */
}

/* Apply animation when hint appears */
.video-hint-message {
  display: inline-block;
  background: rgba(255, 245, 157, 0.9);
  border-left: 5px solid #f59e0b;
  color: #3b3b3b;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 10px 16px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  animation: fadeSlideUp 0.6s ease-out, fadePulse 2s infinite ease-in-out; /* 🔹 combine smooth entry + gentle pulse */
}

/* PID simulation hint styling */
#pidHintContainer {
  position: absolute;
  top: 15%;              /* adjust position as needed */
  left: 78%;
  transform: translateX(-50%);
  z-index: 50;
  text-align: center;
}

#pidHintContainerFurnaceCombustion {
  position: absolute;
  top: 8%;              /* adjust position as needed */
  left: 25%;
  transform: translateX(-50%);
  z-index: 50;
  text-align: center;
}

#pidHintContainerFurnaceFuel {
  position: absolute;
  top: 8%;              /* adjust position as needed */
  left: 25%;
  transform: translateX(-50%);
  z-index: 50;
  text-align: center;
}

#pidHintContainerFurnaceAir {
  position: absolute;
  top: 8%;              /* adjust position as needed */
  left: 25%;
  transform: translateX(-50%);
  z-index: 50;
  text-align: center;
}

#pidHintContainerFurnaceProcess{
  position: absolute;
  top: 8%;              /* adjust position as needed */
  left: 25%;
  transform: translateX(-50%);
  z-index: 50;
  text-align: center;
}

.pid-hint-message {
  display: inline-block;
  background: rgba(255, 245, 157, 0.9);
  border-left: 5px solid #f59e0b;
  color: #3b3b3b;
  font-size: 0.95rem;
  font-weight: 500;
  padding: 10px 16px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  animation: fadeSlideUp 0.6s ease-out, fadePulse 2s infinite ease-in-out;
  white-space: nowrap;
}

/* 🎬 Smooth fade + slide-up animation */
@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#startPID:active,
#viewVideoBtn:active {
  transform: translateY(0);
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}

/* Prevent seek bar interactions when locked */
.no-seek-lock::-webkit-media-controls-timeline,
.no-seek-lock::-webkit-media-controls-current-time-display,
.no-seek-lock::-webkit-media-controls-time-remaining-display {
  pointer-events: none !important;
  opacity: 0.6 !important;
}


#startPID[disabled] {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; /* Prevent clicks entirely */
}






/* ---------- Responsive Buttons ---------- */
.app-btn {
  /* Padding scales with viewport */
  padding: clamp(0.4rem, 0.8vh, 1rem) clamp(0.8rem, 1.2vw, 1.5rem);
  
  /* Background and border */
  background-color: #374151 !important;
  width: 260px;
  text-align: center;
  white-space: nowrap;
  color: white !important;
  border: none;
  border-radius: clamp(6px, 0.5vw, 10px);
  box-shadow: 0 0.3vw 0.8vw rgba(0, 0, 0, 0.25);
  
  /* Font scales with screen size */
  font-size: clamp(0.7rem, 1vw, 1rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
  opacity: 1 !important;
  color: #ffffff !important;

  
}

.app-btn:hover {
  background-color: #111827;
  transform: scale(1.03);
}

.app-btn:focus {
  outline: none;
  box-shadow: 0 0 0 0.2vw white, 0 0 0 0.4vw #6b7280;
}

.admin-glass-btn
{
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 10px 14px;
        border-radius: 14px;
        font-weight: 700;
        white-space: nowrap;
}

/* Shared glass base */
        .icon-glass-btn,
        .admin-glass-btn{
        background: linear-gradient(135deg, rgba(255,255,255,0.18), rgba(255,255,255,0.08));
        border: 1px solid rgba(255,255,255,0.22);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
        box-shadow:
            0 10px 30px rgba(0,0,0,0.25),
            inset 0 1px 0 rgba(255,255,255,0.15);
        color: #fff;
        cursor: pointer;
        transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
        }

        .icon-glass-btn:hover,
        .admin-glass-btn:hover{
        transform: translateY(-1px);
        box-shadow:
            0 14px 40px rgba(0,0,0,0.35),
            inset 0 1px 0 rgba(255,255,255,0.20);
        }

       

        /* Logout = icon only */
        .icon-glass-btn{
        position: relative;
        width: 46px;
        height: 46px;
        border-radius: 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        }

        .icon-glass-btn svg,
        .admin-glass-btn svg{
        opacity: 0.92;
        transition: transform 0.15s ease;
        }

        .icon-glass-btn:hover svg{
        transform: translateX(2px);
        }
/* 🏷 Tooltip BELOW the icon */
        .icon-tooltip{
        position: absolute;
        top: calc(100% + 10px);   /* ⬇ below the button */
        left: 50%;
        transform: translateX(-50%) translateY(-6px);
        z-index: 10000;

        padding: 6px 14px;
        border-radius: 12px;

        background: rgba(5, 18, 22, 0.94);  /* darker glass */
        border: 1px solid rgba(255,255,255,0.18);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);

        color: #ffffff;
        font-size: 0.75rem;
        font-weight: 600;
        letter-spacing: 0.3px;
        white-space: nowrap;

        box-shadow:
            0 12px 30px rgba(0,0,0,0.45),
            inset 0 1px 0 rgba(255,255,255,0.12);

        opacity: 0;
        pointer-events: none;
        transition: opacity 0.15s ease, transform 0.15s ease;
        }

        /* Show on hover */
        .icon-glass-btn:hover .icon-tooltip{
        opacity: 1;
        transform: translateX(-50%) translateY(0);
        }

                /* 🔑 Allow tooltip to escape */
        .fixed-actions,
        .icon-glass-btn {
        overflow: visible !important;
        }
/* =========================
   Login-style Admin Table
========================= */

.login-table-wrapper {
  background: rgba(255, 255, 255, 0.92);
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
}

/* Table */
.login-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

/* Header */
.login-table thead tr {
  background: #e5e7eb; /* same soft gray as login inputs */
}

.login-table th {
  padding: 10px;
  text-align: left;
  font-weight: 600;
  color: #1f2937;
  border-bottom: 1px solid #d1d5db;
}

/* Rows */
.login-table td {
  padding: 10px;
  border-bottom: 1px solid #e5e7eb;
  color: #1f2937;
}

/* Hover effect */
.login-table tbody tr:hover {
  background: rgba(13, 148, 136, 0.08); /* teal hover */
}

/* Action buttons inside table */
.login-table button {
  background: #ef4444;
  color: white;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 600;
}

.login-table button:hover {
  background: #dc2626;
}

/* 🔹 Hint banner at the top of the modal */
.scroll-hint-top {
  margin: 10px 0 20px 0;
  padding: 10px 16px;
  background: rgba(255, 245, 157, 0.8); /* soft yellow tone */
  border-left: 5px solid #f59e0b;        /* amber accent bar */
  border-radius: 8px;
  font-size: 0.95rem;
  color: #3b3b3b;
  text-align: center;
  font-weight: 500;
  
}

/* subtle attention pulse */
@keyframes fadePulse {
  0%, 100% { opacity: 0.6; }
  50% { opacity: 1; }
}
/* 🔹 Modal overlay */
.training-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 200;
  backdrop-filter: blur(4px);

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.6s ease; /* smooth fade-in */
}

/* Show state */
.training-modal.show {
  display: flex;
  opacity: 1;
  pointer-events: all;
}

/* 🔹 Modal content (scrollable inside) */
.training-modal-content {
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  padding: 36px 48px;
  border-radius: 16px;
  width: 80%;
  max-width: 900px;
  color: #1f2937;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
  position: relative;

  /* Scrollable area */
  max-height: 85vh;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #f1f5f9;

  font-family: "Poppins", sans-serif;
  line-height: 1.75;
  text-align: justify;
  transition: box-shadow 0.3s ease;
}

.training-modal-content:hover {
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
}

/* Turn modal into "slides" layout */
.training-modal-content.training-slides{
  max-width: 920px;
  width: 90%;
  padding: 22px 22px 18px;
  position: relative;
}

/* Header */
.ts-header{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding-right: 42px; /* space for close */
}

.ts-title{
  margin: 0;
  font-size: 1.35rem;
  font-weight: 700;
  color: #0f172a;
  text-align: left;
}


/* Slides viewport */
.ts-viewport{
  margin-top: 14px;
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff 0%, #f9fafb 100%);
  box-shadow: 0 10px 24px rgba(0,0,0,0.12);
  overflow: hidden;
}

.ts-track{
  display:flex;
  width:100%;
  transform: translateX(0%);
  transition: transform 280ms ease;
}

.ts-slide{
  min-width:100%;
  padding: 22px 26px 18px;
}

.ts-card{
  border-radius: 14px;
  background: rgba(255,255,255,0.9);
}

/* Slide typography (keep your indent + clean look) */
.ts-slide h3{
  margin: 0 0 10px;
  font-size: 1.15rem;
  font-weight: 700;
  color:#075985;
  border-left: 5px solid #0ea5e9;
  padding-left: 12px;
}

.ts-slide p{
  margin: 0 0 12px;
  text-indent: 2em;
  line-height: 1.75;
  color:#111827;
  text-align: justify;
}

.ts-slide ul{
  margin: 8px 0 0 2.6rem;
  list-style-type: disc;
}

.ts-slide li{
  margin-bottom: 6px;
  line-height: 1.65;
}

/* Optional image inside slide */
.ts-media{
  margin: 12px 0 10px;
  width:100%;
  border-radius: 12px;
  box-shadow: 0 6px 16px rgba(15,23,42,0.15);
  display:block;
}

.ts-caption{
  margin-top:6px;
  font-size:.85rem;
  color:#64748b;
  text-align:center;
}

/* Dots */
.ts-dots{
  flex: 1;
  display:flex;
  justify-content:center;
  gap:8px;
}

.ts-dot{
 width: 9px;
  height: 9px;
  border-radius: 999px;
  background:#cbd5e1;
  cursor:pointer;
  transition: transform 180ms ease, background 180ms ease;
}
.ts-dot.active{
  background:#0ea5e9;
  transform: scale(1.2);
}

/* Footer nav */
.ts-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding: 0 48px;
  margin-top: 12px;
}

/* Center block: dots + 1/8 */
.ts-center{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  flex:1;
}

/* 1 / 8 text */
.ts-step-text{
  font-size:0.85rem;
  font-weight:600;
  color:#64748b;
  letter-spacing:0.3px;
}
/* Text-style navigation (Back / Next) */
.ts-nav-link{
  background: none;
  border: none;
  padding: 4px 6px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #0ea5e9;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  border-radius: 6px;
  transition: color 0.15s ease, background 0.15s ease, transform 0.1s ease;
}

/* Hover / focus */
.ts-nav-link:hover{
  color: #0369a1;
  background: rgba(14,165,233,0.08);
}

.ts-nav-link:focus{
  outline: none;
  box-shadow: 0 0 0 2px rgba(14,165,233,0.25);
}

/* Disabled state (Back on first slide) */
.ts-nav-link:disabled{
  color: #94a3b8;
  cursor: default;
  background: none;
}

/* Slight emphasis for Next */
.ts-next{
  font-weight: 700;
}

/* Optional subtle motion */
.ts-nav-link:active{
  transform: translateY(1px);
}

.ts-footer-right{
  display:flex;
  gap:10px;
  align-items:center;
}

.ts-nav.primary{
  background: linear-gradient(135deg, #22c55e, #0ea5e9);
  color:#0b1120;
}

/* Actions only on last slide */
.ts-actions{
  margin-top: 12px;
  display:none;
}
.ts-actions.show{
  display:flex;
}

/* Close button */
.training-slides .close-btn{
  position:absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: none;
  background: rgba(15,23,42,0.08);
  cursor:pointer;
  font-size: 22px;
  line-height: 1;
}

/* Responsive */
@media (max-width: 768px){
  .ts-title{ font-size: 1.15rem; }
  .ts-slide{ padding: 18px 16px 14px; }
  .ts-slide p{ text-indent: 1.4em; }
}

.ts-subtitle{
  margin: 14px 0 8px;
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(14,165,233,0.10);
  border: 1px solid rgba(14,165,233,0.20);
}


/* ───────────────────────────────
   Typography & Hierarchy
────────────────────────────────*/

.training-modal-content h1 {
  font-size: 1.8rem;
  font-weight: 700;
  color: #0f172a;
  text-align: center;
  margin-bottom: 1.2rem;
  letter-spacing: 0.3px;
}

.training-modal-content h2 {
  font-size: 1.25rem;
  font-weight: 600;
  color: #075985;
  margin-top: 2rem;
  margin-bottom: 0.8rem;
  border-left: 5px solid #0ea5e9;
  padding-left: 12px;
}

.training-modal-content h3 {
  font-size: 1.1rem;
  font-weight: 600;
  color: #1e3a8a;
  margin-top: 0.5rem;
  margin-bottom: 0.6rem;
}

/* Optional subtle divider between sections */
.training-modal-content h2:not(:first-child)::before {
  content: "";
  display: block;
  height: 1px;
  background: #e2e8f0;
  margin: 1.5rem 0;
}

/* ───────────────────────────────
   Paragraphs & Lists
────────────────────────────────*/

.training-modal-content p {
  font-size: 1rem;
  margin-bottom: 1rem;
  margin-left: 0;
  text-indent: 2.2em;      /* First-line indentation like Word */
  text-align: justify;
  line-height: 1.75;
}

/* Reset indentation for bullet lists */
.training-modal-content li p,
.training-modal-content ul,
.training-modal-content ol {
  text-indent: 0;
  margin-left: 2.5rem;
}

.training-modal-content ul {
  margin: 0.8rem 0 1rem 3.2rem;
  list-style-type: disc;
}

.training-modal-content li {
  margin-bottom: 0.5rem;
  line-height: 1.65;
  padding-left: 0.3rem;
}

/* Divider line (for optional section breaks) */
.training-modal-content hr {
  border: none;
  border-top: 1px solid #e2e8f0;
  margin: 24px 0;
}

/* ───────────────────────────────
   Scrollbar Styling
────────────────────────────────*/

.training-modal-content::-webkit-scrollbar {
  width: 8px;
}

.training-modal-content::-webkit-scrollbar-track {
  background: #f1f5f9;
  border-radius: 10px;
}

.training-modal-content::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 10px;
}

.training-modal-content::-webkit-scrollbar-thumb:hover {
  background: #64748b;
}

/* ───────────────────────────────
   Responsive Adjustment
────────────────────────────────*/
@media (max-width: 768px) {
  .training-modal-content {
    padding: 24px;
    line-height: 1.6;
  }

  .training-modal-content h1 {
    font-size: 1.4rem;
  }

  .training-modal-content p {
    font-size: 0.95rem;
    text-indent: 1.5em;
  }
}

/* Make sure the video modal is always on top */
#videoModal { z-index: 99999 !important; }

/* Training modal below the video modal when both exist */
#trainingmodal { z-index: 9990 !important; }

/* Utility if you're not using Tailwind's `hidden` */
.hidden { display: none !important; }

.ffgas {
  position: absolute;
  top: 73%;
  left: 12.8%;
  width: 4.7%;
  height: 3.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size:x-small;
}
.pid-block {
  position: absolute;
  top: 58%;
  left: 59.7%;
  width: 2.8%;
  height: 7%;
  background-color: transparent;
  cursor: pointer;
  border: 3px solid green;
}


.ttavg-input {
  position: absolute;
  top: 69.1%;
  left: 63.9%;
  width: 4%;
  height: 3.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size:x-small;
}
.pid-output {
  position: absolute;
  top: 58.5%;
  left: 24.5%;
  width: 3.2%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}


.damper-img {
  position: absolute;
  top: 56.4%;
  left: 21.5%;
  width: 1.5%;
  transform: rotate(90deg);
  transform-origin: center;
  height: auto;
}
.damper-state {
  position: absolute;
  top: 62.3%; 
  left: 21%;
  color: white;
  font-weight: bold;
  font-size: x-small;
  background-color: rgba(0, 0, 0, 0.5); /* Optional: dark background for better readability */
  padding: 2px 6px;
  border-radius: 4px;
}



.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); 
  background-repeat: no-repeat; 
  background-position: center;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  
}

.chart-panel {
  position: absolute;
  top: 55%;  /* adjust to line up with white panel */
  left: 2%;
  width: 96%;
  height: 44%;
  background-color: white;
  border-radius: 6px;
  box-shadow: inset 0 0 4px rgba(0,0,0,0.2);
  padding: 10px;
}

.chart-panel canvas {
  width: auto;
  height: auto;
}

.modal-content, .modal-content-bpr,.modal-content-idfan {
  position: relative;
  width: 600px;
  height: auto;
  background-color: #f0f0f0;
  padding: 20px;
  border-radius: 8px;
}

.modal-image-container {
  position: relative;
  width: 100%;
}

.modal-img {
  width: 100%;
  display: block;
}

.modal-image-container input {
  position: absolute;
  background-color: white;
  border: 2px solid green;
  font-weight: bold;
  text-align: center;
  font-size: x-small;
}


.pvValue-input      { top: 46.1%; left: 3.4%; width: 56px; height: 27px;}
.setpoint-input     { top: 46.4%; left: 22%; width: 56px; height: 27px; }
.pid-percentage     { top: 46.4%; left: 41.7%; width: 55px; height: 27px; }

.kpValue-input      { top: 25%; left: 80%; width: 52px; height: 25px; }
.kiValue-input      { top: 30%; left: 80%; width: 52px; height: 25px; }
.kdValue-input      { top: 35%; left: 80%; width: 52px; height: 25px; }



.close-btn{
  position: absolute;
  top: 0.1%;
  left:95%;
  font-size: 24px;
  font-weight: bold;
  color: #000;

  cursor: pointer;
  z-index: 1000;
}

.pid-block-bpr {
  position: absolute;
  top: 23.5%;
  left: 25.5%;
  width: 2.8%;
  height: 7%;
  background-color: transparent;
  cursor: pointer;
  border: 3px solid green;
}

.wcbpr {
  position: absolute;
  top: 28%;
  left: 40.4%;
  width: 3.1%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.dmpbpr {
  position: absolute;
  top: 26%;
  left: 34%;
  width: 3.2%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.damperbpr-img {
  position: absolute;
  top: 17.8%;
  left: 31.2%;
  width: 1.5%;
  transform-origin: center;
  height:auto;
}
.damperbpr-state {
  position: absolute;
  top: 23.5%; 
  left: 44%;
  color: white;
  font-weight: bold;
  font-size: x-small;
  background-color: rgba(0, 0, 0, 0.5); /* Optional: dark background for better readability */
  padding: 2px 6px;
  border-radius: 4px;
}
.modalbackpressure {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Dark overlay */
  background-repeat: no-repeat; /* Prevents repeating */
  background-size: auto; /* Ensures the image covers the whole area */
  background-position: center; /* Centers the background image */
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.wcidfan {
  position: absolute;
  top: 41.2%;
  left: 79.2%;
  width: 4%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.idfanspd {
  position: absolute;
  top: 38.6%;
  left: 53.3%;
  width: 3.2%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.pid-block-idfan {
  position: absolute;
  top: 39.7%;
  left: 61.8%;
  width: 2.8%;
  height: 7%;
  background-color: transparent;
  cursor: pointer;
  border: 3px solid green;
}
.idfan-img {
  position: absolute;
  top: 32.7%;
  left: 55.3%;
  width :2% ;
  height:auto;
}
.modalidfan {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* Dark overlay */
  background-repeat: no-repeat; /* Prevents repeating */
  background-size: auto; /* Ensures the image covers the whole area */
  background-position: center; /* Centers the background image */
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.dryermoisture {
  position: absolute;
  top: 90.5%;
  left: 88.2%;
  width: 4%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.dryerfeedrate {
  position: absolute;
  top: 43%;
  left: 31.4%;
  width: 4%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.infeed-img {
  position: absolute;
  top: 54.5%;
  left: 32.8%;
  width :2% ;
  height:auto;
}

.outfeed-img {
  position: absolute;
  top: 74.7%;
  left: 84.7%;
  width :2% ;
  height:auto;
}

.dryerinletpressure {
  position: absolute;
  top: 81.5%;
  left: 31.5%;
  width: 4%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.dryerinlettmp {
  position: absolute;
  top: 87.5%;
  left: 31.3%;
  width: 4%;
  height: 3%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.pid-block-furnace {
  position: absolute;
  top: 30.7%;
  left: 54.3%;
  width: 2.9%;
  height: 7%;
  background-color: transparent;
  cursor: pointer;
  border: 3px solid green;
}

.firingratecontrol {
  position: absolute;
  top: 27.1%;
  left: 44%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-large;
}

.firingratefurnace {
  position: absolute;
  top: 32%;
  left: 41.8%;
  width: 8.5%;
  height: 3.5%;
  background-color: transparent;
  cursor: pointer;
  border: 3px solid green;
}

.close-btn-furnace{
  position: absolute;
  top: 0.1%;
  left:96%;
  font-size: 24px;
  font-weight: bold;
  color: #000;

  cursor: pointer;
  z-index: 1000;
}

.firingrate      { top: 51.3%; left: 4.3%; width: 62px; height: 27px;}

.firingprifangain      { top: 12.1%; left: 29.5%; width: 62px; height: 27px;}
.firingprifanoffset    { top: 12.1%; left: 44%; width: 62px; height: 27px;}
.firingprifan          { top: 12.1%; left: 58%; width: 62px; height: 27px;}

.firingsecdmpgain      { top: 18%; left: 29.5%; width: 62px; height: 27px;}
.firingsecdmpoffset    { top: 18%; left: 44%; width: 62px; height: 27px;}
.firingsecdmp         { top: 17.8%; left: 58%; width: 62px; height: 27px;}

.firinggrate1gain          { top: 25.2%; left: 29.5%; width: 62px; height: 27px;}
.firinggrate2gain          { top: 31%; left: 29.5%; width: 62px; height: 27px;}
.firinggrate3gain          { top: 36.7%; left: 29.5%; width: 62px; height: 27px;}
.firinggrate4gain          { top: 42.4%; left: 29.5%; width: 62px; height: 27px;}

.firinggrate1offset          { top: 25.2%; left: 44%; width: 62px; height: 27px;}
.firinggrate2offset          { top: 31%; left: 44%; width: 62px; height: 27px;}
.firinggrate3offset          { top: 36.7%; left: 44%; width: 62px; height: 27px;}
.firinggrate4offset          { top: 42.4%; left: 44%; width: 62px; height: 27px;}

.firinggrate1          { top: 25.2%; left: 58%; width: 62px; height: 27px;}
.firinggrate2          { top: 31%; left: 58%; width: 62px; height: 27px;}
.firinggrate3          { top: 36.7%; left: 58%; width: 62px; height: 27px;}
.firinggrate4          { top: 42.4%; left: 58%; width: 62px; height: 27px;}

.firingfuelfdr1gain          { top: 49.6%; left: 29.5%; width: 62px; height: 27px;}
.firingfuelfdr2gain          { top: 55.4%; left: 29.5%; width: 62px; height: 27px;}
.firingfuelfdr3gain          { top: 61.1%; left: 29.5%; width: 62px; height: 27px;}
.firingfuelfdr4gain          { top: 66.8%; left: 29.5%; width: 62px; height: 27px;}

.firingfuelfdr1offset          { top: 49.6%; left: 44%; width: 62px; height: 27px;}
.firingfuelfdr2offset          { top: 55.4%; left: 44%; width: 62px; height: 27px;}
.firingfuelfdr3offset          { top: 61.1%; left: 44%; width: 62px; height: 27px;}
.firingfuelfdr4offset          { top: 66.8%; left: 44%; width: 62px; height: 27px;}

.firingfuelfdr1          { top: 49.6%; left: 58%; width: 62px; height: 27px;}
.firingfuelfdr2          { top: 55.4%; left: 58%; width: 62px; height: 27px;}
.firingfuelfdr3          { top: 61.1%; left: 58%; width: 62px; height: 27px;}
.firingfuelfdr4          { top: 66.8%; left: 58%; width: 62px; height: 27px;}

.firingpridmp1gain          { top: 74%; left: 29.5%; width: 62px; height: 27px;}
.firingpridmp2gain          { top: 79.8%; left: 29.5%; width: 62px; height: 27px;}
.firingpridmp3gain          { top: 85.5%; left: 29.5%; width: 62px; height: 27px;}
.firingpridmp4gain          { top: 91.2%; left: 29.5%; width: 62px; height: 27px;}

.firingpridmp1offset          { top: 74%; left: 44%; width: 62px; height: 27px;}
.firingpridmp2offset          { top: 79.8%; left: 44%; width: 62px; height: 27px;}
.firingpridmp3offset          { top: 85.5%; left: 44%; width: 62px; height: 27px;}
.firingpridmp4offset          { top: 91.2%; left: 44%; width: 62px; height: 27px;}

.firingpridmp1          { top: 74.2%; left: 58%; width: 62px; height: 27px;}
.firingpridmp2          { top: 80%; left: 58%; width: 62px; height: 27px;}
.firingpridmp3          { top: 85.7%; left: 58%; width: 62px; height: 27px;}
.firingpridmp4          { top: 91.4%; left: 58%; width: 62px; height: 27px;}



.wcfurnace {
  position: absolute;
  top: 40.5%;
  left: 52.2%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-large;
}
.furnacesecdmp {
  position: absolute;
  top: 42.1%;
  left: 78.6%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnaceprifan {
  position: absolute;
  top: 75%;
  left: 15%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.furnaceuppertmp {
  position: absolute;
  top: 20.5%;
  left: 53.7%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.furnacesectmp {
  position: absolute;
  top: 22.8%;
  left: 68.3%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacedryerload{
  position: absolute;
  top: 18%;
  left: 80%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;

}
.prifurnace-img {
  position: absolute;
  top: 79.6%;
  left: 16.1%;
  width :2% ;
  height:auto;
}
.secfurnace-img {
  position: absolute;
  top: 36.3%;
  left: 73.9%;
  width :2% ;
  height:auto;
}
.furnacefuelpusher1 {
  position: absolute;
  top: 53%;
  left: 9.6%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacefuelpusher2 {
  position: absolute;
  top: 53%;
  left: 15.5%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacefuelpusher3 {
  position: absolute;
  top: 53%;
  left: 21.5%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacefuelpusher4 {
  position: absolute;
  top: 53%;
  left: 27.5%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacegrates1 {
  position: absolute;
  top: 51.7%;
  left: 34.3%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacegrates2 {
  position: absolute;
  top: 56.7%;
  left: 34.3%;
  width: 3.5%;
  height:2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacegrates3 {
  position: absolute;
  top: 61.7%;
  left: 34.3%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnacegrates4 {
  position: absolute;
  top: 66.7%;
  left: 34.3%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}

.furnaceundergratesdmp1 {
  position: absolute;
  top: 83.5%;
  left: 47.4%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnaceundergratesdmp2 {
  position: absolute;
  top: 83.5%;
  left: 55.4%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnaceundergratesdmp3 {
  position: absolute;
  top: 83.5%;
  left: 63.3%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.furnaceundergratesdmp4 {
  position: absolute;
  top: 83.5%;
  left: 71.1%;
  width: 3.5%;
  height: 2.5%;
  background-color: rgb(206,210,206);
  border: 2px solid green;
  font-weight:bold;
  text-align: center;
  font-size: x-small;
}
.quiz-container {
  background: rgba(255, 255, 255, 0.93);
  padding: 40px 50px;
  border-radius: 14px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.25);
  width: 85%;
  max-width: 700px;
  color: #111;
  overflow-y: auto;
  max-height: 90vh;
}

.quiz-question {
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

.quiz-question p {
  font-weight: 600;
  color: #1f2937;
}

/* Ensure each option (radio) is on its own line */
.quiz-question label {
  display: block;                 /* 🔹 Forces each option to appear on a new line */
  margin-left: 10px;              /* Indent options slightly for readability */
  margin-bottom: 6px;             /* Add space between options */
  cursor: pointer;                /* Makes clicking the label easier */
  color: #374151;                 /* Matches your modal text tone */
  font-size: 0.95rem;             /* Keep consistent with training text */
  line-height: 1.5;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Optional: subtle hover effect */
.quiz-question label:hover {
  background-color: rgba(15, 118, 110, 0.08);
  border-radius: 6px;
}

/* Adjust the radio button alignment */
.quiz-question input[type="radio"] {
  margin-right: 8px;
  accent-color: #0f766e; /* Matches your theme teal */
}

/* Progress bar */
.progress-bar-bg {
  width: 100%;
  height: 20px;
  background: #e5e7eb;
  border-radius: 10px;
  margin-top: 20px;
  overflow: hidden;
}

.progress-bar {
  width: 0%;
  height: 100%;
  background: linear-gradient(90deg, #0d9488, #10b981);
  border-radius: 10px;
  transition: width 1s ease-out;
}

.score-text {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  color: #065f46;
  margin-top: 10px;
}

.result-text {
  text-align: center;
  font-size: 1rem;
  color: #1f2937;
  margin-top: 10px;
}

.result-section {
  margin-top: 30px;
}

/* Smooth slide-in animation for results */
@keyframes slideUpFade {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.result-section {
  animation: slideUpFade 0.8s ease-out forwards;
}


/* #submitQuizBtn {
  background-color: #374151 !important;  
  color: #ffffff !important;             
  opacity: 1 !important;                 
  margin-top: 1.5rem;                    
  display: block;
}


#submitQuizBtn:hover {
  background-color: #111827 !important;
  transform: scale(1.03);
}


#submitQuizBtn:disabled {
  background-color: #9ca3af !important;
  color: #f9fafb !important;
  cursor: not-allowed;
  opacity: 1 !important;
} */
.button-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(0.6rem, 1vw, 1rem);
  margin-top: 1.5rem;
}

/* Optional: subtle color variation between back & submit */
.qbackBtn {
  background-color: #6b7280; /* medium gray */
}
.qbackBtn:hover {
  background-color: #4b5563; /* darker gray on hover */
}

.submitQuizBtn {
  background-color: #374151; /* your existing dark gray */
}
.submitQuizBtn:hover {
  background-color: #111827;
}

/* keep text visible */
.qbackBtn,
.submitQuizBtn {
  color: #fff;
}
/* 🔹 Tick / Cross mark styling */
.icon-mark {
  margin-left: 8px;
  font-size: 1.1rem;
  vertical-align: middle;
}

/* ✅ Green tick */
label .icon-mark:contains("✅"),
label .icon-mark:has-text("✅") {
  color: #16a34a;
}

/* ❌ Red cross */
label .icon-mark:contains("❌"),
label .icon-mark:has-text("❌") {
  color: #dc2626;
}

/* 🔹 Quiz Page Heading */
.quiz-container h1 {
  text-align: center;
  color: #1e3a8a;;                 /* Blue-500: same as training modals */
  font-weight: 500;
  font-size: clamp(1.1rem, 1.5vw, 1.4rem);
  margin-bottom: 0.5rem;
  letter-spacing: 0.02em;
  position: relative;
}

/* Optional: subtle underline accent */
.quiz-container h1::after {
  content: "";
  display: block;
  width: 70px;
  height: 3px;
  background-color: #1e3a8a;;
  margin: 0.4rem auto 0;
  border-radius: 2px;
  opacity: 0.9;
}

/* Subtitle / subtext */
.quiz-container .subtext {
  text-align: center;
  font-size: clamp(0.85rem, 1vw, 1rem);
  color: #374151;
  margin-bottom: 1.4rem;
}



/*
! tailwindcss v3.1.8 | MIT License | https://tailwindcss.com
*/

/*
1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)
2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)
*/

*,
::before,
::after {
  box-sizing: border-box;
  /* 1 */
  border-width: 0;
  /* 2 */
  border-style: solid;
  /* 2 */
  border-color: #e5e7eb;
  /* 2 */
}

::before,
::after {
  --tw-content: '';
}

/*
1. Use a consistent sensible line-height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
3. Use a more readable tab size.
4. Use the user's configured `sans` font-family by default.
*/

html {
  line-height: 1.5;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -moz-tab-size: 4;
  /* 3 */
  -o-tab-size: 4;
  tab-size: 4;
  /* 3 */
  font-family: Poppins, sans-serif;
  /* 4 */
}

/*
1. Remove the margin in all browsers.
2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.
*/

body {
  margin: 0;
  /* 1 */
  line-height: inherit;
  /* 2 */
  overflow: hidden;
}

/*
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
3. Ensure horizontal rules are visible by default.
*/

hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */
  border-top-width: 1px;
  /* 3 */
}

/*
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

/*
Remove the default font size and weight for headings.
*/

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: inherit;
}

/*
Reset links to optimize for opt-in styling instead of opt-out.
*/

a {
  color: inherit;
  text-decoration: inherit;
}

/*
Add the correct font weight in Edge and Safari.
*/

b,
strong {
  font-weight: bolder;
}

/*
1. Use the user's configured `mono` font family by default.
2. Correct the odd `em` font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    'Liberation Mono', 'Courier New', monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/*
Add the correct font size in all browsers.
*/

small {
  font-size: 80%;
}

/*
Prevent `sub` and `sup` elements from affecting the line height in all browsers.
*/

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/*
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
3. Remove gaps between table borders by default.
*/

table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */
  border-collapse: collapse;
  /* 3 */
}

/*
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
3. Remove default padding in all browsers.
*/

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  font-weight: inherit;
  /* 1 */
  line-height: inherit;
  /* 1 */
  color: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
  padding: 0;
  /* 3 */
}

/*
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
  text-transform: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Remove default button styles.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {

  /* 1 */
  background-color: transparent;
  /* 2 */
  background-image: none;
  /* 2 */
}

/*
Use the modern Firefox focus style for all focusable elements.
*/

:-moz-focusring {
  outline: auto;
}

/*
Remove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)
*/

:-moz-ui-invalid {
  box-shadow: none;
}

/*
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
  vertical-align: baseline;
}

/*
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
 
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to `inherit` in Safari.
*/

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
Add the correct display in Chrome and Safari.
*/

summary {
  display: list-item;
}

/*
Removes the default spacing and border for appropriate elements.
*/

blockquote,
dl,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
hr,
figure,
p,
pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol,
ul,
menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/*
Prevent resizing textareas horizontally by default.
*/

textarea {
  resize: vertical;
}

/*
1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)
2. Set the default placeholder color to the user's configured gray 400 color.
*/

input::-moz-placeholder,
textarea::-moz-placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

input::placeholder,
textarea::placeholder {
  opacity: 1;
  /* 1 */
  color: #9ca3af;
  /* 2 */
}

/*
Set the default cursor for buttons.
*/

button,
[role='button'] {
  cursor: pointer;
}

/*
Make sure disabled buttons don't get the pointer cursor.
*/

:disabled {
  cursor: default;
}

/*
1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)
2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)
   This can trigger a poorly considered lint error in some tools but is included by design.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
  display: block;
  /* 1 */

  /* 2 */
}

/*
Constrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)
*/

img,
video {
  max-width: 100%;
  height: auto;
}

*,
::before,
::after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
}

::-webkit-backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgb(59 130 246 / 0.5);
  --tw-ring-offset-shadow: 0 0 #0000;
  --tw-ring-shadow: 0 0 #0000;
  --tw-shadow: 0 0 #0000;
  --tw-shadow-colored: 0 0 #0000;
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
}

.m-auto {
  margin: auto;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mb-5 {
  margin-bottom: 1.25rem;
}

.mt-2 {
  margin-top: 0.5rem;
}

.mt-6 {
  margin-top: 1.5rem;
}

.mt-1 {
  margin-top: 0.25rem;
}

.mt-4 {
  margin-top: 1rem;
}

.block {
  display: block;
}

.flex {
  display: flex;
}

.hidden {
  display: none;
}

.h-screen {
  height: 100vh;
}

.w-full {
  width: 100%;
}

.w-64 {
  width: 16rem;
}

.w-80 {
  width: 20rem;
}

.max-w-xl {
  max-width: 36rem;
}

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

.flex-col {
  flex-direction: column;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.rounded-lg {
  border-radius: 0.5rem;
}

.rounded-md {
  border-radius: 0.375rem;
}

.border {
  border-width: 1px;
}

.border-gray-300 {
  --tw-border-opacity: 1;
  border-color: rgb(209 213 219 / var(--tw-border-opacity));
}

.border-transparent {
  border-color: transparent;
}

.bg-teal-700 {
  --tw-bg-opacity: 1;
  background-color: rgb(15 118 110 / var(--tw-bg-opacity));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity));
}

.bg-teal-500 {
  --tw-bg-opacity: 1;
  background-color: rgb(20 184 166 / var(--tw-bg-opacity));
}

.p-3 {
  padding: 0.75rem;
}

.px-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}

.py-2 {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.text-center {
  text-align: center;
}

.font-mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
    'Liberation Mono', 'Courier New', monospace;
}

.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: 0.875rem;
  line-height: 1.25rem;
}

.text-lg {
  font-size: 3.5rem;

}

.font-medium {
  font-weight: 500;
}

.uppercase {
  text-transform: uppercase;
}

.leading-normal {
  line-height: 1.5;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.text-teal-100 {
  --tw-text-opacity: 1;
  color: rgb(204 251 241 / var(--tw-text-opacity));
}

.text-teal-300 {
  --tw-text-opacity: 1;
  color: rgb(94 234 212 / var(--tw-text-opacity));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgb(255 255 255 / var(--tw-text-opacity));
}

.shadow-lg {
  --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1),
    0 4px 6px -4px rgb(0 0 0 / 0.1);
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color),
    0 4px 6px -4px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000),
    var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.hover\:bg-teal-900:hover {
  --tw-bg-opacity: 1;
  background-color: rgb(19 78 74 / var(--tw-bg-opacity));
}

.hover\:text-teal-800:hover {
  --tw-text-opacity: 1;
  color: rgb(17 94 89 / var(--tw-text-opacity));
}

.focus\:outline-none:focus {
  outline: 2px solid transparent;
  outline-offset: 2px;
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0
    var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0
    calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow),
    var(--tw-shadow, 0 0 #0000);
}

.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}
