@keyframes sparkle {
        0%, 100% { opacity: 0.3; }
        50% { opacity: 1; }
      }

      @keyframes fadeInDown {
        from {
          opacity: 0;
          transform: translateY(-30px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      .hero-content {
        animation: fadeInDown 0.8s ease-out;
      }
      /* Sizing only — liquid glass from css/index.css */
      .cosmic-btn-new {
        padding: 1.8em 4.5em;
        font-size: 1.4em;
        letter-spacing: 1px;
        text-transform: uppercase;
        margin: 0.5em;
      }


      .programs-input-section {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 20px;
        margin: 60px 0;
      }

      @keyframes rotate-border {
        to {
          transform: rotate(1turn);
        }
      }

      @keyframes gradient-pulse {
        0%, 100% {
          border-color: #ffb3b3;
          box-shadow: 0 0 20px rgba(255, 179, 179, 0.3), inset 0 0 20px rgba(255, 179, 179, 0.1);
        }
        25% {
          border-color: #ffff99;
          box-shadow: 0 0 20px rgba(255, 255, 153, 0.3), inset 0 0 20px rgba(255, 255, 153, 0.1);
        }
        50% {
          border-color: #b3b3ff;
          box-shadow: 0 0 20px rgba(179, 179, 255, 0.3), inset 0 0 20px rgba(179, 179, 255, 0.1);
        }
        75% {
          border-color: #d9b3ff;
          box-shadow: 0 0 20px rgba(217, 179, 255, 0.3), inset 0 0 20px rgba(217, 179, 255, 0.1);
        }
      }

      @keyframes fadeInUp {
        from {
          opacity: 0;
          transform: translateY(10px);
        }
        to {
          opacity: 1;
          transform: translateY(0);
        }
      }

      .bullet {
        animation: fadeInUp 0.4s ease-out;
      }

      .bullet.fade-out {
        animation: none;
        opacity: 0;
      }

      .program-input {
        width: 120px;
        height: 120px;
        border-radius: 50%;
        border: 2px solid;
        background: transparent;
        text-align: center;
        font-size: 2em;
        font-weight: 700;
        color: #d9a0ff;
        outline: none;
        font-family: 'Montserrat Alternates', sans-serif;
        appearance: none;
        -moz-appearance: textfield;
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        line-height: 120px;
        vertical-align: middle;
        animation: gradient-pulse 4s ease-in-out infinite;
        transition: all 0.3s ease;
      }

      .program-input::-webkit-outer-spin-button,
      .program-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
      }

      .program-input::placeholder {
        color: transparent;
      }

      .program-input:hover {
        box-shadow: 0 0 35px rgba(217, 160, 255, 0.6), inset 0 0 20px rgba(217, 160, 255, 0.2) !important;
      }

      .program-input:focus {
        box-shadow: 0 0 45px rgba(217, 160, 255, 0.8), inset 0 0 25px rgba(217, 160, 255, 0.3) !important;
        animation: none;
      }

      .circle-connector {
        height: 3px;
        width: 40px;
        background: linear-gradient(90deg, rgba(201, 168, 232, 0.4) 0%, rgba(201, 168, 232, 0.7) 50%, rgba(201, 168, 232, 0.4) 100%);
      }

      .results-table-container {
        display: none;
        margin-top: 40px;
        padding: 25px 15px;
        border-top: 2px solid rgba(201, 168, 232, 0.3);
        background: linear-gradient(135deg, rgba(201, 168, 232, 0.08) 0%, rgba(201, 168, 232, 0.03) 100%);
        backdrop-filter: blur(12px) saturate(125%);
        -webkit-backdrop-filter: blur(12px) saturate(125%);
        border-radius: 15px;
        isolation: isolate;
      }

      .results-table-container.active {
        display: block;
      }

      .results-table-scroll {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
      }

      .results-table-container h2 {
        background: linear-gradient(90deg, 
          #ffb3b3, 
          #ffd9b3, 
          #ffff99, 
          #b3ffb3, 
          #b3b3ff, 
          #d9b3ff, 
          #ffb3b3);
        background-size: 200% 100%;
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: gradient-shift 6s ease-in-out infinite;
        text-align: center;
        margin-bottom: 15px;
        font-size: 1.8em;
      }
.programs-results-table {
        width: 100%;
        border-collapse: collapse;
        background: transparent;
      }

      .programs-results-table th:first-child,
      .programs-results-table td:first-child {
        color: #d9a0ff;
        font-weight: 600;
      }

      .programs-results-table th,
      .programs-results-table td {
        border: 1px solid rgba(201, 168, 232, 0.3);
        padding: 20px;
        text-align: left;
        color: #f5f0ff;
        background: rgba(24, 14, 44, 0.42);
        backdrop-filter: blur(8px) saturate(115%);
        -webkit-backdrop-filter: blur(8px) saturate(115%);
      }

      .switch {
        position: relative;
        display: inline-block;
        width: 60px !important;
        min-width: 60px !important;
        max-width: 60px !important;
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        flex: 0 0 60px;
        box-sizing: border-box;
      }

      .switch input {
        opacity: 0;
        width: 0;
        height: 0;
      }

      .slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(201, 168, 232, 0.3);
        transition: .4s;
        border-radius: 34px;
        overflow: hidden;
        box-sizing: border-box;
        width: 100%;
        height: 100%;
      }

      .slider:before {
        position: absolute;
        content: "";
        height: 26px;
        width: 26px;
        left: 3.5px;
        bottom: 3.5px;
        background-color: white;
        transition: .4s;
        border-radius: 50%;
        z-index: 2;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
      }

      .energy-value {
        position: absolute;
        width: 26px;
        height: 26px;
        left: 3.5px;
        bottom: 3.5px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #5b21b6;
        font-weight: 700;
        font-size: 0.95em;
        font-family: 'Montserrat Alternates', sans-serif;
        z-index: 3;
        pointer-events: none;
        transition: .4s;
      }

      input:not(:checked) + .slider .energy-value {
        transform: translateX(0);
      }

      input:checked + .slider .energy-value {
        transform: translateX(26px);
      }

      input:not(:checked) + .slider {
        background-color: #d4f4a8;
      }

      input:not(:checked) + .slider::after {
        content: '+';
        position: absolute;
        right: 15px;
        top: 50%;
        transform: translateY(-50%);
        color: #7cb825;
        font-weight: 700;
        font-size: 1.6em;
        font-family: 'Montserrat Alternates', sans-serif;
      }

      input:checked + .slider {
        background-color: #ffa8a8;
      }

      input:checked + .slider::after {
        content: '−';
        position: absolute;
        left: 15px;
        top: 50%;
        transform: translateY(-50%);
        color: #c84040;
        font-weight: 700;
        font-size: 1.6em;
        font-family: 'Montserrat Alternates', sans-serif;
      }

      input:not(:checked) + .slider:before {
        transform: translateX(0);
      }

      input:focus + .slider {
        box-shadow: 0 0 8px rgba(217, 160, 255, 0.6);
      }

      input:checked + .slider:before {
        transform: translateX(26px);
        background-color: white;
      }

      .programs-results-table th {
        background: rgba(201, 168, 232, 0.14);
        color: #d9a0ff;
        font-weight: 600;
        text-align: center;
      }

      .programs-results-table td:first-child {
        color: #b895d4;
        font-weight: 600;
        width: 25%;
      }

      .programs-results-table th:first-child {
        width: 25%;
      }

      .programs-results-table th:not(:first-child),
      .programs-results-table td:not(:first-child) {
        width: 25%;
      }

      .programs-results-table td {
        text-align: center;
      }

      .bullet {
        padding: 8px 4px;
        text-align: left;
        font-size: 0.9em;
        line-height: 1.4;
        margin: 4px 0;
        color: #e0d5f0;
        font-weight: 500;
      }

      .test-mode-label {
        font-size: 0.7em !important;
        letter-spacing: 2px;
        color: #c9a8e8;
        text-transform: uppercase;
        font-weight: 600;
        text-shadow: none;
        padding: 0.8em 1.5em;
        border: 1.5px solid rgba(201, 168, 232, 0.4);
        border-radius: 25px;
        background: rgba(201, 168, 232, 0.08);
        display: inline-block;
        margin: 0 auto 1em auto;
      }

      .hero-subtitle {
        font-size: 1.3em !important;
        color: #ffffff !important;
        text-align: center;
        margin: 1.2em auto 0;
        line-height: 1.5;
        font-weight: 400;
        text-shadow: none;
        text-transform: none;
        max-width: 860px;
        opacity: 0.9;
        padding: 0 1em;
        box-sizing: border-box;
      }

      .desteny-container {
        flex-direction: column;
      }

      .results-hint,
      .results-swipe-hint {
        font-size: 0.95em;
        color: #f3e8ff;
        font-weight: 600;
        text-shadow: 0 0 8px rgba(217, 179, 255, 0.35);
        text-align: center;
        margin: 0.3em 0 0.7em 0;
        padding: 0.9em 1em;
        background: rgba(120, 80, 180, 0.24);
        border: 1px solid rgba(220, 190, 255, 0.6);
        border-left: 4px solid rgba(220, 190, 255, 0.85);
        border-radius: 8px;
        box-shadow: 0 0 16px rgba(180, 130, 245, 0.22);
        line-height: 1.5;
      }

      .results-swipe-hint {
        display: none;
      }

      .programs-hero-area {
        position: relative;
        overflow: hidden;
        isolation: isolate;
        padding-top: 0.1px;
      }

      .programs-hero-decor {
        position: absolute;
        z-index: -1;
        pointer-events: none;
        user-select: none;
        opacity: 0.32;
        filter: drop-shadow(0 0 30px rgba(201, 168, 232, 0.28));
      }

      .programs-hero-decor--first {
        width: clamp(210px, 22vw, 410px);
        top: 1.5em;
        left: clamp(-0.8em, 2vw, 4em);
        transform: rotate(-10deg);
      }

      .programs-hero-decor--second {
        width: clamp(200px, 21vw, 390px);
        top: 4.8em;
        right: clamp(-0.8em, 2vw, 4em);
        transform: rotate(9deg);
      }

      @media (max-width: 900px) {
        .programs-hero-area {
          margin-left: -20px;
          margin-right: -20px;
          padding-left: 20px;
          padding-right: 20px;
        }

        .programs-hero-decor {
          opacity: 0.3;
        }

        .programs-hero-decor--first {
          width: 165px;
          top: 1.8em;
          left: -34px;
        }

        .programs-hero-decor--second {
          width: 155px;
          top: 5.5em;
          right: -32px;
        }

        .hero-subtitle {
          font-size: 1.05em !important;
          line-height: 1.5;
          padding: 0 0.5rem;
          margin-top: 0.95em;
        }

        #calculate-btn {
          width: 200px;
          height: 50px;
          padding: 5px;
          font-size: 16px;
        }

        .programs-input-section {
          gap: 12px;
          margin: 34px 0 24px;
        }

        .program-input {
          width: 69px;
          height: 69px;
          min-width: 69px;
          min-height: 69px;
          aspect-ratio: 1 / 1;
          border-radius: 50%;
          padding: 0 !important;
          line-height: 1;
          font-size: 1.3em;
          display: flex;
          align-items: center;
          justify-content: center;
          appearance: textfield;
          -webkit-appearance: none;
        }

        .circle-connector {
          width: 20px;
        }

        .results-table-container {
          margin-top: 20px;
          padding: 15px 8px;
        }

        .results-swipe-hint {
          display: block;
        }

        .programs-results-table {
          min-width: 700px;
          table-layout: fixed;
        }

        .programs-results-table th,
        .programs-results-table td {
           padding: 4px 2px;
           font-size: 1.08em;
           line-height: 1.05;
        }

        .programs-results-table th:not(:first-child),
        .programs-results-table td:not(:first-child) {
          width: auto !important;
          min-width: 0 !important;
        }

        .programs-results-table thead th:nth-child(2),
        .programs-results-table thead th:nth-child(3),
        .programs-results-table thead th:nth-child(4),
        .programs-results-table tbody td:nth-child(2),
        .programs-results-table tbody td:nth-child(3),
        .programs-results-table tbody td:nth-child(4) {
          width: 29% !important;
          min-width: 84px !important;
        }

        .programs-results-table tbody td:first-child {
          position: sticky;
          left: 0;
          z-index: 3;
          width: 28px !important;
          min-width: 28px !important;
          max-width: 28px !important;
          padding: 6px 4px;
          background-color: #180e2c !important;
          background-image: linear-gradient(#180e2c, #180e2c);
          background-size: 100% 100%;
          background-position: 0 0;
          writing-mode: vertical-lr;
          text-orientation: mixed;
          transform: rotate(180deg);
          transform-origin: center center;
          text-align: center;
          vertical-align: middle;
          white-space: normal;
          line-height: 1.2;
          letter-spacing: normal;
          font-size: 1.02em;
          font-weight: 700;
          color: #f3e8ff !important;
          -webkit-text-fill-color: #f3e8ff !important;
          animation: none;
          border-right: 1px solid rgba(201, 168, 232, 0.42);
        }

        .programs-results-table thead th:first-child {
          position: static;
          z-index: 1;
          width: 28px !important;
          min-width: 28px !important;
          max-width: 28px !important;
          padding: 8px 4px !important;
          border: 1px solid rgba(201, 168, 232, 0.3);
          background: #201238;
        }
      }

      @media (max-width: 480px) {
        .program-input {
          width: 62px;
          height: 62px;
          min-width: 62px;
          min-height: 62px;
          font-size: 1.2em;
        }

        .circle-connector {
          width: 14px;
        }

        .results-table-container h2 {
          font-size: 1.45em;
        }
      }

      @media screen and (max-width: 810px) {

        .desteny-container {
          padding: 1.8em 0 1.2em 0 !important;
        }

        .desteny-container p.test-mode-label {
          font-size: 0.65em !important;
          padding: 0.4em 0.8em !important;
          margin: 0 auto 0.5em auto !important;
          font-weight: 600 !important;
        }

        .desteny-container h1.gradient-text {
          font-size: 1.6em !important;
          margin: 0.15em 0 0 0 !important;
        }

        .hero-content > p:first-of-type {
          font-size: 0.65em !important;
          margin-bottom: 0.2em !important;
          margin-top: 0 !important;
        }

        .hero-content > h1.gradient-text {
          font-size: 2em !important;
          margin-bottom: 0.6em !important;
          line-height: 1.5 !important;
        }

      }

      .duplicate-energy-hint {
        font-size: 0.95em;
        color: #ffe0f0;
        font-weight: 600;
        text-shadow: 0 0 8px rgba(255, 150, 200, 0.3);
        text-align: center;
        margin: 0.3em 0 0.7em 0;
        padding: 0.9em 1.2em;
        background: rgba(160, 60, 100, 0.18);
        border: 1px solid rgba(255, 160, 200, 0.5);
        border-left: 4px solid rgba(255, 160, 200, 0.85);
        border-radius: 8px;
        box-shadow: 0 0 16px rgba(220, 120, 170, 0.2);
        line-height: 1.6;
      }

      .duplicate-energy-hint strong {
        color: #ffb3d9;
        font-weight: 700;
      }

      