 /* Plot button click animation */
 #plotBtn {
   transition: background-color 0.2s ease, transform 0.15s ease;
 }

 #plotBtn.animate {
   background-color: var(--bs-primary);
   color: var(--bs-alternative);
   transform: scale(1.1);
 }

 .logo {
   height: 1.1em;
   /* tweak visually */
   vertical-align: -0.1em;
 }

 /* @keyframes blinkSelect {

    0%,
    100% {
      outline: 2px solid var(--bs-primary);
    }

    50% {
      outline: 2px solid transparent;
    }
  } */

 .demo-highlight {
   animation: blinkSelect 0.6s ease-in-out infinite;
 }

 #popupDiv.demo-popup {
   animation: fadeInPopup 0.5s ease forwards;
 }

 /* @keyframes fadeInPopup {
    from {
      opacity: 0;
      transform: scale(0.95);
    }

    to {
      opacity: 1;
      transform: scale(1);
    }
  } */

 #spreadsheet {
   /* position: fixed; */
   top: 50%;
   right: 10%;
   /* display: inline; */
   /* width: auto; */
   /* max-width: 400px;
    border-radius: 4px;  */
 }



 /* Hero Section */
 .hero {
   flex: 1;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   text-align: center;
   padding: 4rem 2rem;
 }

 .hero h1 {
   font-size: 3rem;
   font-weight: 700;
   color: var(--bs-primary);
   margin-bottom: 1rem;
 }

 .hero p {
   max-width: 600px;
   font-size: 1.2rem;
   color: var(--bs-dark-accent);
   margin-bottom: 2rem;
 }

 .hero .btn-primary {
   background-color: var(--bs-primary);
   border: none;
   padding: 0.8rem 2rem;
   border-radius: 6px;
   font-size: 1.1rem;
   transition: background-color 0.3s, transform 0.2s;
 }

 .hero .btn-primary:hover {
   background-color: var(--bs-secondary);
   transform: scale(1.03);
 }

 /* Decorative element */
 .hero::before {
   content: "";
   position: absolute;
   top: -10%;
   left: -10%;
   width: 250px;
   height: 250px;
   background: radial-gradient(var(--bs-break), transparent 70%);
   border-radius: 50%;
   z-index: -1;
 }



 .hero::after {
   content: "";
   position: absolute;
   bottom: -15%;
   right: -10%;
   width: 300px;
   height: 300px;
   background: radial-gradient(var(--bs-primary), transparent 70%);
   border-radius: 50%;
   opacity: 0.3;
   z-index: -1;
 }

 /* footer {
    text-align: center;
    padding: 1rem;
    background-color: var(--bs-dark);
    color: var(--bs-light);
    font-size: 0.9rem;
  } */

 /* Define some colors */
 .color1 {
   background-color: #ffcccb !important;
 }

 .color2 {
   background-color: #ffebcd !important;
 }

 .color3 {
   background-color: #d1e7dd !important;
 }

 .color4 {
   background-color: #c2e0f9 !important;
 }

 .color5 {
   background-color: #f2f9c2 !important;
 }

 .color6 {
   background-color: #f4c2f9 !important;
 }

 /* Add more colors as needed */

 body {
   font-family: Verdana, Geneva, Tahoma, sans-serif
 }


 /* keep your other behaviors */
 html {
   scroll-behavior: smooth;
 }


 .selected {
   background-color: #4b9154de;
 }

 .highlighted {
   background-color: rgb(175, 175, 133) !important;
 }


 /* CSS to style the fixed header and tabs */
 .fixed-header {
   position: sticky;
   top: 175px;
   left: 0px;
   right: 0px;
   /* width: 100vw; */
   /* left: 10px; */
   background-color: var(--bs-background);
   /* Background color for the fixed header */
   box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
   /* Add a shadow for a raised effect */
   z-index: 7;
 }

 .sticky-column {
   position: sticky !important;
   left: 0;
   width: 80px;
   background-color: var(--bs-background);
   /* Background color for the sticky column */
   box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
   /* Add a shadow for a raised effect */
   z-index: 6 !important;
   /* Ensure the z-index is set for the sticky column */
 }

 .spreadsheet-fill {
   position: absolute;
   left: 0;
   width: 800px;
   /* background-color: #ffffff; */
   /* Background color for the sticky column */
   /* box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1); */
   /* Add a shadow for a raised effect */
   /* z-index: 6 !important; */
   /* Ensure the z-index is set for the sticky column */
 }

 .sticky-header {
   position: sticky;
   left: 0;
   width: 80px;
   background-color: #ffffff;
   /* Background color for the sticky column */
   box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
   /* Add a shadow for a raised effect */
   z-index: 7;
   /* Ensure the z-index is set for the sticky column */
 }

 .popup {
   /* display: none; */
   position: absolute;
   background-color: var(--bs-background-accent);
   color: var(--bs-foreground);
   border: 1px solid var(--bs-foreground-accent);
   padding: 10px;
   flex: 1;
   width: 300px;
   z-index: 3;
 }

 .quickrange {
   display: none;
   position: absolute;
   background-color: var(--bs-background-accent);
   color: var(--bs-foreground);
   border: 1px solid var(--bs-foreground-accent);
   padding: 10px;
   flex: 1;
   flex-direction: column;
   /* Stack items vertically */
   width: 150px;
   z-index: 3;
 }

 .quickrange input {
   width: 100%;
   /* Makes inputs fit inside the div */
   height: 20px;
   box-sizing: border-box;
   /* Ensures padding/border don’t make inputs larger */
   max-width: 100%;
   /* Prevents overflow */
 }


 #enlargeButton {
   position: absolute;
   top: 0px;
   right: 0px;
   cursor: pointer;
 }

 /* .popup.enlarged {
            width: 90vw !important;
            height: 90vh !important;
        } */




 /* Hide scrollbar for WebKit browsers (Chrome, Safari) */
 /* .slideDiv::-webkit-scrollbar {
            display: none;
        } */

 /***************************************[ BUTTONS AND TABS ]************************************************/

 /* Fixed background bar */
 .back {
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   background: var(--bs-background);
   box-shadow: var(--shadow-subtle);
   z-index: 10;
   border-bottom: 1px solid var(--bs-background-accent);
 }

 /* Buttons container (top row) */
 .buttons-container {
   display: flex;
   align-items: center;
   gap: 6px;
   padding: 0.6rem 1rem;
   background: var(--bs-background);
   border-bottom: 1px solid var(--bs-background-accent);
   z-index: 5;
 }

 /* Buttons */
 /* button {
   padding: 0.45rem 0.9rem;
   font-size: 0.9rem;
   font-weight: 500;
   color: var(--bs-alternative);
   background: var(--bs-primary);
   border: none;
   border-radius: var(--radius-sm);
   cursor: pointer;
   transition: var(--transition-fast);
   box-shadow: var(--shadow-subtle);
   letter-spacing: 0.02em;
 } */

 /* button:hover {
   background: var(--bs-secondary);
   color: var(--bs-alternative);
 } */

 /* button:active {
   background: var(--bs-dark-accent);
   color: var(--bs-alternative);
 } */

 button.popupBtn {
   padding: 0.35rem 0.75rem;
   font-size: 0.85rem;
 }

 /* Horizontal tab bar */
 .fixed-tabs {
   display: flex;
   align-items: center;
   gap: 0.4rem;
   padding: 0.5rem 1rem;
   background: var(--bs-background);
   overflow-x: auto;
   scrollbar-width: thin;
   scrollbar-color: var(--bs-primary) transparent;
 }

 /* Optional subtle scrollbar for Chrome */
 .fixed-tabs::-webkit-scrollbar {
   height: 5px;
 }

 .fixed-tabs::-webkit-scrollbar-thumb {
   background: var(--bs-primary);
   border-radius: var(--radius-sm);
 }

 /* Tabs */
 .fixed-tabs div {
   flex-shrink: 0;
   padding: 0.45rem 0.9rem;
   background: var(--bs-background-accent);
   color: var(--bs-foreground);
   border: 1px solid var(--bs-background-accent);
   border-radius: var(--radius-sm);
   font-size: 0.9rem;
   font-weight: 500;
   cursor: pointer;
   transition: var(--transition-fast);
 }

 .fixed-tabs div:hover {
   background: var(--bs-break);
   color: var(--bs-dark);
   border-color: var(--bs-break);
 }

 .fixed-tabs div:active {
   background: var(--bs-secondary);
   color: var(--bs-alternative);
 }

 .tab.active_tab {
   background: var(--bs-primary);
   color: var(--bs-alternative);
   border-color: var(--bs-primary);
 }

 /* TAB SCROLLER */
 .slideDiv {
   transform: rotateX(180deg);
   overflow-x: auto;
   overflow-y: hidden;
   white-space: nowrap;
   background-color: var(--bs-background);
   position: relative;
 }

 /* CUSTOM TOP SCROLLBAR */
 .slideDiv::-webkit-scrollbar {
   height: 6px;
 }

 .slideDiv::-webkit-scrollbar-track {
   background: var(--bs-background-accent);
 }

 .slideDiv::-webkit-scrollbar-thumb {
   background: var(--bs-primary);
   border-radius: 3px;
 }

 .slideDiv::-webkit-scrollbar-thumb:hover {
   background: var(--bs-secondary);
 }

 .slideDiv::-webkit-scrollbar-button {
   display: none;
   /* remove arrows */
 }

 /* FIXED TABS
  .fixed-tabs div {
            flex-shrink: 0;
            padding: 0.45rem 0.9rem;
            background: var(--bs-background-accent);
            color: var(--bs-foreground);
            border: 1px solid var(--bs-background-accent);
            border-radius: var(--radius-sm);
            font-size: 0.9rem;
            font-weight: 500;
            cursor: pointer;
            transition: var(--transition-fast);
        } */

 /* .wrapper1{width: 300px; border: none 0px RED;
overflow-x: scroll; overflow-y:hidden;}
.wrapper1{height: 20px; }
.div1 {width:100%; height: 20px; } */

 /* INDIVIDUAL TAB */
 .fixed-tabs .tab {
   transform: rotateX(180deg);
   /* margin: 0 8px; */
   padding: 0.45rem 0.9rem;
   background-color: var(--bs-background-accent);
   color: var(--bs-foreground);
   font-weight: 500;
   cursor: pointer;
   border: 1px solid var(--bs-background-accent);
   border-radius: var(--radius-sm);
   transition: var(--transition-fast);
   position: relative;
 }

 /* Hover & Active Styles */
 .fixed-tabs .tab:hover {
   background-color: var(--bs-primary);
   color: #fff;
 }

 .fixed-tabs .tab.active_tab {
   background-color: var(--bs-background);
   color: var(--bs-primary);
   font-weight: 600;
 }

 /* UNDERLINE FOR ACTIVE TAB */
 /* .fixed-tabs::after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: 0;
            height: 3px;
            background: var(--bs-primary);
            opacity: 0.3;
        } */

 .fixed-tabs .tab.active_tab::after {
   content: "";
   position: absolute;
   left: 0;
   right: 0;
   bottom: -3px;
   height: 3px;
   background-color: var(--bs-primary);
   border-radius: 2px;
   box-shadow: 0 1px 4px rgba(178, 86, 13, 0.4);
 }


 /***************************************[ BUTTONS AND TABS END ]************************************************/

 /* DROPDOWN WRAPPER */
 .dropdown {
   position: relative;
   display: inline-block;
 }

 /* HAMBURGER BUTTON */
 .dropdown-toggle {
   background-color: var(--bs-primary);
   color: var(--bs-alternative);
   border: none;
   border-radius: 4px;
   padding: 7px 12px;
   font-size: 1.2rem;
   cursor: pointer;
   transition: background-color 0.3s ease;
 }

 .dropdown-toggle:hover {
   background-color: var(--bs-secondary);
 }

 /* DROPDOWN MENU */
 .dropdown-menu {
   display: none;
   position: absolute;
   right: 0;
   top: 110%;
   background-color: var(--bs-background);
   border: 1px solid var(--bs-background-accent);
   box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
   border-radius: 4px;
   z-index: 20;
   padding: 6px;
   min-width: 160px;
 }

 /* BUTTONS INSIDE MENU */
 .dropdown-menu button {
   display: block;
   width: 100%;
   text-align: left;
   background-color: var(--bs-background-accent);
   color: var(--bs-foreground);
   border: none;
   border-radius: 3px;
   padding: 8px 10px;
   margin: 3px 0;
   cursor: pointer;
   transition: background-color 0.2s ease;
 }

 .dropdown-menu button:hover {
   background-color: var(--bs-primary);
   color: #fff;
 }

 /* SHOW MENU */
 .dropdown-menu.show {
   display: block;
 }

 /* Default style for the button */
 #mobileButton {
   display: none;
   /* Hide the button by default */
 }

 .copyDiv {
   top: 50px;
   position: fixed;
   /* scroll-snap-type: y mandatory; */
   /* overflow: auto; */
   /* max-width: 90vw; */
   /* max-height: 90vh; */
   /* -webkit-overflow-scrolling: auto; */
   overflow-x: scroll;
   /* Enable horizontal scrolling */
   overflow-y: scroll;
   /* Enable horizontal scrolling */
   z-index: 1;
 }



 .no-select {
   -webkit-user-select: none;
   user-select: none;
 }

 /* .buttons-container {
            position: sticky;
            width: fit-content;
            top: 0px;
            /* Adjust the top position to leave space for the fixed header */
 /* background-color: #ffffff; */
 /* Background color for the fixed tabs */
 /* box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); */
 /* Add a shadow for a raised effect */
 /* } */

 #downloadContainer {
   margin: 2.5px;
   display: inline-block;
 }

 #fileExtension {
   width: 100px;
 }

 #downloadContainer select,
 #downloadContainer button {
   padding: 10px 20px;
   border: none;
   border-radius: 5px;
   cursor: pointer;
   transition: background-color 0.3s ease;
 }

 #downloadContainer select {
   margin-right: 2px;
   cursor: auto;
 }





 /* border: 1px solid #ccc;
            padding: 5px 10px;
            display: inline-block;
            cursor: pointer;
            background-color: #f2f2f2;
            /* margin-right: 5px; */
 /* margin-left: 5px;
            transition: background-color 0.3s ease;
        } */

 #insertBtn.active {
   background-color: #7ea380 !important;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2) !important;
 }


 .plus-button {
   border: 1px solid #ccc;
   padding: 2px 20px;
   background-color: #7f8d82;
   cursor: pointer;
   font-size: 20px;
   margin-left: 5px;
   display: inline-block;
 }

 .tabline {
   top: 10px;
   left: 0;
   right: 0;
   /* width: 100vw; */
   /* border-bottom: 2px solid #637a94; */
   border-bottom: 2px solid var(--bs-primary);
   /* Change the color to your preference */
 }





 .spaceline {
   position: sticky;
   top: 10px;
   left: 0;
   right: 0;
   width: 100%;
   height: 10px;
   bottom: 25px;
   /* width: 100%; */
   /* border-bottom: 2px solid #637a94; */
   /* Change the color to your preference */
 }

 .popup {
   padding: 10px;
   border: 1px solid #ccc;
 }

 .textarea-container {
   display: flex;

   line-height: 1em;
   /* height: 700px; */
 }

 #textarea-end-container {
   display: flex;
   /* display: none; */
   height: 100%;
   overflow: hidden;
 }

 .line-numbers {

   padding-right: 10px;
   text-align: right;
   color: #999;
 }



 textarea {
   width: 100%;
   /* flex: 1; */
   font-family: monospace;
   resize: none;
   border: none;
 }

 #scrollContainer {
   /* flex: 1; */
   display: flex;
   width: 25px;
   height: 100%;
   overflow-y: hidden;
   /* height: 600px; */
   /* display: none; */
   /* position: absolute; */
 }

 #popup_scrollbar {
   /* display: flex; */
   width: 10px;
   height: 100%;
   /* height: 600px; */
   background-color: #ccc;
   /* flex: 1; */
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0;
   /* display: none; */
 }

 #popup_content {
   /* display: flex; */
   /* flex: 1; */
   /* resize: none; */
   /* overflow-y: auto; */
   /* left: 0; */
   /* display: none; */
   height: 100%;
 }

 table {
   border-collapse: collapse;
   /* border: 2px solid #7f8fa5; */
   /* Set the border color and thickness */
   top: 180px;
   /* width: 100vw; */
   position: relative;
   /* touch-action: manipulation; */
   /* width: auto; */
   /* z-index: 1; */
   overflow: auto;
   /* Enable scrolling for the table */
   /* table-layout: fixed; Ensure consistent column widths */
   margin-bottom: 500px;

 }

 table.table {
   table-layout: auto;
 }

 .flux-video-preview {
   overflow: hidden;
   border-radius: 16px;
 }

 .flux-video-preview iframe {
   width: 100%;
   height: 320px;
   border: none;
   object-fit: cover;
 }

 /* Fade overlay */

 .flux-video-fade {
   position: absolute;
   left: 0;
   top: 0;
   height: 100%;
   width: 40%;

   pointer-events: none;

   background: linear-gradient(90deg,
       rgba(255, 255, 255, 0.95) 0%,
       rgba(255, 255, 255, 0.75) 35%,
       rgba(255, 255, 255, 0) 100%);
 }

 /* HERO TITLE */

 .flux-hero-title {
   font-size: 2.8rem;
   line-height: 1.2;
   font-weight: 600;

   letter-spacing: -0.02em;

   max-width: 520px;
   margin-bottom: 24px;

   color: var(--bs-break);
 }

 /* highlighted part */

 .flux-highlight {
   display: block;
   margin-top: 8px;

   color: var(--bs-alternative);
 }

 .flux-section-transition {
   position: relative;
   height: 120px;

   background: linear-gradient(to bottom,
       transparent 0%,
       rgba(255, 255, 255, 0.6) 40%,
       white 100%);

   display: flex;
   align-items: flex-end;
   justify-content: center;
 }

 .flux-divider-line {
   width: 120px;
   height: 3px;
   border-radius: 3px;

   background: rgba(0, 0, 0, 0.08);
   margin-bottom: 30px;
 }

 /* SUB TEXT */

 .flux-hero-sub {
   font-size: 1.75rem;
   line-height: 1.65;

   max-width: 520px;

   color: rgba(0, 0, 0, 0.65);
   margin-bottom: 14px;
 }


 /* CTA TEXT */

 .flux-cta-text {
   font-size: 1.05rem;
   color: rgba(0, 0, 0, 0.55);
   margin-bottom: 22px;
 }


 /* CTA BOX */

 .flux-cta-box {
   max-width: 420px;
 }


 /* Divider */

 .flux-divider {
   display: flex;
   align-items: center;
   gap: 12px;
   margin: 18px 0;
   color: rgba(0, 0, 0, 0.4);
 }

 .flux-divider::before,
 .flux-divider::after {
   content: "";
   flex: 1;
   height: 1px;
   background: rgba(0, 0, 0, 0.15);
 }


 /* Arrow */

 .flux-scroll-indicator {
   opacity: 0.45;
   margin-top: 40px;
 }


 /* Base: remove table grid lines but keep cell size and spacing control */
 #spreadsheet th,
 #spreadsheet td {
   border: none !important;
   color: var(--bs-foreground);
   /* remove old borders */
   width: 80px;
   height: 20px;
   padding: 8px;
   /* cell padding (keeps table spacing) */
   position: relative;
   /* needed for pseudo-element positioning */
   vertical-align: middle;
   box-sizing: border-box;
   /* background: transparent; */
   /* z-index: 1; */
 }

 .background-div {
   position: relative;
   width: 100%;
   top: 0;
   left: 0;
   height: 100%;
   /* z-index: -1; */
 }

 .background-wave {
   width: 100%;
   height: 120px;
   margin-top: -1px;
   display: block;
   line-height: 0;
   background-color: var(--bs-primary);
   /* pretty good! */
   /* background: linear-gradient(var(--bs-primary), transparent 70%); */
 }

 .background-wave svg {
   display: block;
   width: 100%;
   height: 100%;
 }

 /* top color */

 .background-top {
   height: 55vh;
   background: var(--bs-primary);
 }

 /* bottom color */

 .background-bottom {
   height: 100%;
   background: var(--bs-secondary);
   padding-top: 180px;
   padding-bottom: 80px;
   position: relative;
   
 }



 /* Create a "card" inside non-empty cells using a pseudo-element */
 #spreadsheet td:not(:empty)::before,
 #spreadsheet th:not(:empty)::before {
   content: "";
   position: absolute;
   /* inset margins inside the cell — increase to make the card smaller */
   top: 4px;
   left: 4px;
   right: 4px;
   bottom: 4px;

   background-color: var(--bs-background-accent);
   /* card color */
   border-radius: 8px;
   /* medium-sharp edges */
   box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
   /* soft floating shadow */
   z-index: -1;
   pointer-events: none;
   /* doesn't block clicks on content */
 }

 /* Remove floating card for headings */
 #spreadsheet td.section-heading::before,
 #spreadsheet th.section-heading::before,
 #spreadsheet td.section-subtitle::before,
 #spreadsheet th.section-subtitle::before {
   content: none !important;
 }

 /* Heading look */
 #spreadsheet td.section-heading,
 #spreadsheet th.section-heading {
   /* background: transparent !important; */
   box-shadow: none !important;
   font-weight: 700;
   font-size: 1.1rem;

   padding-left: 4px;
   padding-right: 4px;
   text-decoration: underline 2px;
   border-bottom: 2px solid #b0b9c6;
   /* underline */
   border-radius: 0;
   /* no card shape */
 }

 /* Focused interactive elements should remain fully visible (brought above if needed) */
 #spreadsheet td input:focus,
 #spreadsheet td textarea:focus,
 #spreadsheet td select:focus {
   position: relative;
   z-index: 2;
 }


 /* Ensure the cell content sits above the pseudo-element and has breathing room */
 #spreadsheet td:not(:empty)>*,
 #spreadsheet th:not(:empty)>* {
   position: relative;
   z-index: 1;
   /* optional: small padding so text doesn't touch the card edge */
   padding: 0 4px;
   display: block;
 }

 /* If the cell has plain text (no wrapper element), make text sit above the card */
 #spreadsheet td:not(:empty),
 #spreadsheet th:not(:empty) {
   /* raise z-index of content container */
   z-index: 1;
 }

 .fade-section {
   opacity: 0;
   transform: translateY(40px);
   transition: opacity 0.8s ease, transform 0.8s ease;
   max-width: 1600px;
   background: var(--bs-secondary);
 }



 .fade-section.visible {
   opacity: 1;
   transform: translateY(0);
 }

 .video-preview{
  position:relative;
  cursor:pointer;
  border-radius:14px;
  overflow:hidden;
  max-width:700px;
  margin:auto;

  box-shadow:0 25px 70px rgba(0,0,0,0.25);
  transition: transform 0.3s ease;
}

.video-preview:hover{
  transform:scale(1.02);
}

.video-thumbnail{
  width:100%;
  display:block;
}

.play-button{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%, -50%);
  font-size:42px;

  width:90px;
  height:90px;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:50%;
  background:rgba(0,0,0,0.65);
  color:white;

  backdrop-filter:blur(5px);
}

 /* Styles for the play button */
 /* .play-button {
   background-color: #4CAF50;
   border: none;
   color: white;
   text-align: center;
   text-decoration: none;
   display: inline-block;
   font-size: 20px;

   margin: 4px 2px;
   cursor: pointer;
   border-radius: 4px;
   margin-left: 5px;
 } */

.video-modal{

  position:fixed;
  inset:0;

  background:rgba(0,0,0,0.85);

  display:flex;
  align-items:center;
  justify-content:center;

  opacity:0;
  pointer-events:none;

  transition:opacity 0.35s ease;

  z-index:9999;
}

.video-modal.active{
  opacity:1;
  pointer-events:auto;
}

.video-container{

  width:90%;
  max-width:1100px;

  aspect-ratio:16/9;

  transform:scale(0.8);
  transition:transform 0.35s ease;
}

.video-modal.active .video-container{
  transform:scale(1);
}

.video-container iframe{
  width:100%;
  height:100%;
  border:0;
  border-radius:12px;
}

.video-close{

  position:absolute;
  top:30px;
  right:40px;

  font-size:28px;
  background:none;
  border:none;
  color:black;
  cursor:pointer;
}

 #spreadsheet td:not(:empty):hover {
   transform: translateY(-2px);
 }

 #spreadsheet .selected {
   background: var(--bs-primary);
 }

 /* Inputs must be above the card */
 #spreadsheet td input {
   width: 100%;
   border: none;
   outline: none;
   padding: 6px;
   background: transparent;
   position: relative;
   z-index: 3;
   box-sizing: border-box;
 }

 /* Focused input is lifted further */
 #spreadsheet td input:focus {
   z-index: 4;
   background: transparent;
 }



 #spreadsheet {
   transition: width 0.05s ease-out;
   transform-origin: 0 0;
   /* width: 1000px; */
 }

 #spreadsheet td {
   /* transition: width 0.05s ease-out;
            transform-origin: 0 0; */
   width: 400px;
 }

 /* .n_input {
            color: rgb(0, 0, 0);
            caret-color: black;
          
            font-family: "Palatino Linotype", serif;
            font-size: 16px;
            line-height: 1.5;
            padding: 5px;
            margin-left: 5px;
            flex-wrap: wrap;
           
            background-color: #ffffff;
            box-sizing: border-box;
        } */

 .n_input {
   /* width: 100%; */
   /* border: none;
            outline: none;
            padding: 6px;
            background: var(--bs-primary);
            position: relative;
            z-index: 3;
            box-sizing: border-box;
            width: auto; */
   border: none;
   outline: none;
   padding: 6px;
   background: white;
   position: relative;
   z-index: 3;
   /* box-sizing: border-box; */
   /* do NOT stretch full width */
   border-radius: 5px;
   border: 2px solid #000000;
   max-width: 100%;
   /* cannot overflow the cell */
 }

 /* Focused input is lifted further */
 .n_input input:focus {
   z-index: 4;
   background: transparent;
 }

 .section-heading {
   font-size: 1.3rem;
   font-weight: 700;
   color: var(--bs-foreground);
   margin-bottom: 4px;
 }

 .section-subtitle {
   font-size: 0.9rem;
   color: var(--bs-foreground-accent);
   margin-bottom: 12px;
 }

 .table-hover>tbody>tr:hover>*.section-heading:not(.selected):not(.highlighted) {
   color: var(--bs-foreground);
   background: var(--bs-background-accent);

 }


 .table-hover>tbody>tr:hover>*:not(.selected):not(.highlighted) {
   --bs-table-accent-bg: var(--bs-background-light);

 }

 .input_container {
   position: absolute;
   width: auto;
   display: flex;
   /* color: rgb(0, 0, 0); */
   /* caret-color: black; Set the caret color to black */
   /* Set the font color to white */
   /* font-family: "Palatino Linotype", serif; */
   /* font-size: 16px; */
   /* line-height: 1.5; */
   /* z-index: 5; */
   /* background-color: #ffffff; */
 }



 .overlay-text {
   position: absolute;
   color: rgba(255, 255, 255, 0.062);
   top: 0px;
   left: 5px;
   padding: 0px;
   pointer-events: none;
   font-size: 16px;
   line-height: 4.5;
   /* z-index: 2; */
   /* background-color: rgba(255, 0, 0, 0.5); */
   /* Allows clicks to go through the overlay to the input field */
 }

 .line-number {
   width: 40px;
   overflow: hidden;
   resize: none;
   border: none;
   background-color: #f0f0f0;
   padding: 4px;
   box-sizing: border-box;
   line-height: 1em;
   text-align: center;
   color: #666;
   font-family: monospace;
   /* height: 100%; */
   /* font-size: 14px; */
 }

 #extrax {
   flex: 1;
   border: 1px solid #ccc;
   /* padding: 4px; */
   line-height: 1em;
   color: #000000;
   /* overflow: hidden; */
   white-space: pre;
   /* preserve lines exactly */
   /* overflow-x: hidden; */
   /* 🔑 hide overflow instead of scroll */
   overflow-y: hidden;
   overflow-x: auto;
   box-shadow: inset -8px 0 8px -8px rgba(0, 0, 0, 0.3);
   /* optional: allow vertical scroll */
   /* safety net */
   /* Hide scrollbar */
   /* font-family: 'Courier New', Courier, monospace; */
 }

 #extrax_end {
   flex: 1;
   border: 1px solid #ccc;
   /* padding: 4px; */
   /* Hide scrollbar */
   line-height: 1em;
   color: #000000;
   overflow-y: hidden;
   overflow-x: auto;
   white-space: pre;
   field-sizing: content;
   /* preserve lines exactly */
   /* overflow-x: hidden; */
   box-shadow: inset -8px 0 8px -8px rgba(0, 0, 0, 0.3);
   /* font-family: 'Courier New', Courier, monospace; */
 }

 #reset_line_button {
   display: none;
 }



 #varNumber {
   display: flex;
   justify-content: center;
 }

 /* Styles for the input field */
 .number-input {
   padding: 4px;
   font-size: 16px;
   border: 1px solid #ccc;
   border-radius: 4px;
   margin-left: 10px;
   margin-bottom: 2px;
 }

 .center-btn {
   position: relative;
   /* top: 50%; */
   left: 50%;
   transform: translate(-50%, -50%);
   margin-top: 20px;
   /* Adjust the margin to create space between the div and the button */
 }



 .overlay-plot {
   display: none;
   position: fixed;
   top: 0;
   left: 0;
   width: 100vw;
   /* min-height: 800px; */
   height: 100vh;
   background-color: rgba(0, 0, 0, 0.7);
   justify-content: center;
   align-items: center;
   z-index: 10;
 }

 .overlay-plot-content {
   background-color: #fff;
   padding: 20px;
   border: 10px solid #333;
   box-sizing: border-box;
   /* top: 700px; */
   width: 95%;
   height: 95%;
   overflow-y: auto;
   /* max-width: 2000px; */
   /* min-height: 1000px; */
   /* position: relative; */
 }

 .offcanvas {
   background-color: var(--bs-background-accent);
   border-left: 3px solid var(--bs-primary);
 }

 .list-group-item {
   border: none;
   border-bottom: 1px solid #ddd;
 }

 .variable-display-panel {
   position: fixed;
   top: 0;
   right: -100%;
   width: calc(100% - 350px);
   height: 98vh;
   background-color: var(--bs-background);
   transition: right 0.4s ease;
   z-index: 1056;
   display: flex;
   flex-direction: column;
   overflow-x: auto;
   border: 3px solid var(--bs-primary);
 }


 .variable-display-panel.visible {
   right: 350px;
 }

 .variable-column textarea {
   resize: vertical;
   font-family: monospace;
   font-size: 0.9rem;
   height: 98%;
 }

 .variable-display-header {
   flex: 0 0 auto;
 }

 #variableColumns {
   flex: 1 1 auto;
   overflow: hidden;
   /* 🔴 remove scrolling */
 }

 .resize-div {
   width: 98%;
 }

 .close-btn {
   position: absolute;
   top: 5%;
   left: 95%;
   cursor: pointer;
   /* color: #333; */
   float: left;
   font-size: 28px;
   z-index: 30;
 }

 /* .close-btn:hover {
            color: #ffffff;
        } */








 /* Media query to show the button for mobile devices */
 @media (max-width: 768px) {

   .fade-section {

     max-width: 90vw;
   }

   .slideDiv::-webkit-scrollbar {
     height: 8px;
   }

   .close-btn {

     left: 90%;


     font-size: 36px;

   }

   #mobileButton {
     display: inline-block;

   }

   body {
     font-size: 18px;
     /* Adjust this value based on your preferences */
   }

   button {
     font-size: 1.5em;
   }

   /* textarea {
                font-size: 1em;
            } */

   .slideDiv {
     position: sticky;
     /* width: 100vw; */
     top: 220px;
     /* max-width: 100px; */

     overflow: auto;
     /* scrollbar-width: none; */
     /* Firefox */
     -ms-overflow-style: none;
     /* Internet Explorer and Edge */
     z-index: 0;
   }

   .fixed-tabs div {
     font-size: 1.5em;
   }

   .fixed-tabs {
     max-height: 100px;
     /* width: 100%; */
     width: max-content;
   }

   #popupDiv {
     flex: 1;
     flex-direction: column;
     /* Stack items vertically */
     width: 80vw;
     left: 0;
     z-index: 10;
     height: fit-content;
   }

   .toast {
     font-size: 1.5em;
   }

   /* #scrollContainer { */
   /* -webkit-overflow-scrolling: touch; */
   /* } */

   /* .back { */
   /* top: 0; */
   /* display: block; */
   /* position: fixed; */
   /* overflow-y: clip; */
   /* } */

   /* .line-numbers {
                /* line-height: 1.5em; */
   /* font-size: 1.5em; */
   /* line-height: 1em; */
   /* width: 200px; */
   /* } */

   textarea {
     font-size: 1em;
   }

   .line-number {
     /* line-height: 1.5em; */
     font-size: 1.34em;
     /* line-height: 1em; */
     /* width: 1000px; */
   }

   .buttons-container {
     /* position: fixed; */
     width: 100vw;
     background-color: #ffffff;
     box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
     /* display: flex; */
     padding: 10px;
   }

   /* #popupDiv { */
   /* position: fixed; */
   /* left: 10px; */
   /* } */


   /* Custom scrollbar styles */
   ::-webkit-scrollbar {
     width: 20px;
     /* Set the width of the scrollbar */
   }

   /* Track styles */
   ::-webkit-scrollbar-track {
     background-color: #f1f1f1;
     /* Set the background color of the track */
   }

   /* Handle styles */
   ::-webkit-scrollbar-thumb {
     background-color: #888;
     /* Set the color of the thumb/handle */
     border-radius: 10px;
     /* Set the border radius to make it rounder */
   }

   /* Handle on hover styles */
   ::-webkit-scrollbar-thumb:hover {
     background-color: #555;
     /* Set a different color on hover */
   }
 }

 @media (max-width: 768px) {

   #popupDiv {
     top: 200px;
     left: 200px;
   }

   .invisible-item {
     height: 200px !important;
     /* width: 2000px !important; */
   }
 }

 .resize-div {
   display: none;
   height: 500px;
   width: 350px;
 }

 .popup {
   transform: translate(-50%, -50%) scale(0.8);
   opacity: 0;
   top: 50%;
   left: 50%;
   display: block;
   /* position: fixed; */
   background-color: #f9f9f9;
   border: 1px solid #ccc;
   padding: 10px;
   flex: 1;
   width: 300px;
   z-index: 100;
   pointer-events: none;
   transition: transform 0.3s ease, opacity 0.3s ease;
 }

 /* .selected {
    background-color: #4b9154de;
    font-size: 36pt;
  } */

 .fixed-header {
   position: static;
 }

 .popup.show {
   opacity: 1;
   transform: translate(-50%, -50%) scale(1);
   pointer-events: all;
 }