    * {
      margin: 0;
      padding: 0;
      box-sizing: border-box;
    }

    body {
      margin: 0;
      font-family: 'Montserrat', Arial, sans-serif;
      min-height: 100vh;
      min-height: -webkit-fill-available;
      overflow-x: hidden;
      background-color: #0a1628;
      position: relative;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      cursor: default;
    }

    body::before {
      content: '';
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: url('../images/bg.jpeg') no-repeat center center;
      background-size: cover;
      z-index: -1;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
    }
/* Login page styles */
    .login-page {
      font-family: 'Roboto', sans-serif;
      background-color: #151825;
      color: white;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      height: 100vh;
      overflow: hidden;
    }

    .login-container {
      width: 100%;
      max-width: 350px;
      padding: 20px;
      display: flex;
      flex-direction: column;
      align-items: center;
      animation: fadeIn 0.5s ease-in-out;
    }

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

    .ea-logo {
      width: 70px;
      height: 70px;
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 24px;
    }

    .random-text {
      font-size: 16px;
      margin-bottom: 45px;
      color: #ffffff;
      text-align: center;
      font-weight: 400;
      line-height: 1.4;
      max-width: 380px;
      font-family: 'Montserrat', sans-serif;
      letter-spacing: 0.5px;
    }

    .form-group {
      width: 100%;
      margin-bottom: 24px;
    }

    .form-label {
      display: block;
      text-transform: uppercase;
      font-size: 12px;
      font-weight: 700;
      margin-bottom: 10px;
      letter-spacing: 0.5px;
      color: #ffffff;
    }

    .input-field {
      width: 100%;
      padding: 12px 14px;
      border: 1px solid #2a2e43;
      border-radius: 6px;
      background-color: transparent;
      color: white;
      font-size: 14px;
    }

    .input-field:focus {
      outline: none;
      border-color: #4a90e2;
    }

    .input-field::placeholder {
      color: #5a5e72;
    }

    .next-button {
      width: 100%;
      padding: 14px;
      background-color: #0072ff;
      color: white;
      border: none;
      border-radius: 6px;
      font-size: 14px;
      font-weight: 700;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 0.5px;
      margin-top: 8px;
    }

    .next-button:hover {
      background-color: #0063db;
    }

    .error-message {
      color: #ff4d4f;
      font-size: 13px;
      margin-top: 8px;
      font-weight: 500;
      display: none;
    }

    .footer {
      position: absolute;
      bottom: 20px;
      font-size: 11px;
      color: #5a5e72;
      text-align: center;
    }

    .footer a {
      color: #8186a0;
      text-decoration: none;
      margin: 0 6px;
    }

    .login-loader-container {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(21, 24, 37, 0.95);
      z-index: 9999;
      justify-content: center;
      align-items: center;
      flex-direction: column;
    }

    .login-loader {
      width: 48px;
      height: 48px;
      border: 4px solid #0072ff;
      border-bottom-color: transparent;
      border-radius: 50%;
      animation: loginSpin 1s linear infinite;
      margin-bottom: 16px;
    }

    .login-loader-text {
      font-size: 18px;
      font-weight: 400;
      color: #ffffff;
      letter-spacing: 1px;
      font-family: 'Montserrat', sans-serif;
      text-shadow: none;
    }

    @keyframes loginSpin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }
/* Language Selector Styles */
    .language-selector {
      display: none;
    }
/* Responsive language selector */
@media (max-width: 768px) {
      .language-selector {
        top: 10px;
        right: 10px;
      }

    #language-select {
        font-size: 12px;
        padding: 6px 8px;
      }
    }
/* Card selection page styles */
    .card-page {
      display: none;
    }

    .card-page.active {
      display: flex;
      flex-direction: column;
      height: 100vh;
      overflow: hidden;
    }
    
    html {
      height: -webkit-fill-available;
    }

    .logo-center {
      display: flex;
      justify-content: center;
      align-items: center;
      padding: 20px 0;
    }

    .logo-center img, .logo-center svg {
      height: 250px;
      object-fit: contain;
      max-width: 90%;
    }

    .item-pick-container {
      padding: 10px 20px 15px 20px;
      text-align: center;
      margin-bottom: 15px;
      border-radius: 5px;
    }

    .item-pick-title {
      color: #02FCFC;
      font-size: 48px;
      font-weight: 900;
      text-transform: uppercase;
      margin: 0 0 20px 0;
      letter-spacing: 4px;
      text-shadow: none;
      font-family: 'Montserrat', sans-serif;
    }

    .item-pick-subtitle {
      color: #ffffff;
      font-size: 18px;
      margin: 0 0 15px 0;
      font-weight: 700;
      letter-spacing: 1px;
      font-family: 'Montserrat', sans-serif;
      text-shadow: none;
    }

    .item-pick-counter {
      color: white;
      font-size: 14px;
      font-weight: 600;
    }

    .status-message {
      font-weight: 600;
    }

    .confirm-button-container {
      display: flex;
      justify-content: center;
      margin-top: 20px;
      margin-bottom: -20px;
    }

    .confirm-button {
      background-color: #007bff;
      color: white;
      border: none;
      border-radius: 20px;
      padding: 10px 24px;
      font-weight: bold;
      cursor: pointer;
      display: none;
      align-items: center;
      justify-content: center;
      font-size: 16px;
      text-transform: uppercase;
      letter-spacing: 1px;
      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    }

    .confirm-button:hover {
      background-color: #0069d9;
      transform: translateY(-2px);
      box-shadow: 0 6px 12px rgba(0, 0, 0, 0.4);
      transition: all 0.2s ease;
    }

    .content {
      display: flex;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      padding: 10px 20px 20px 20px;
    }

    .container {
      display: flex;
      gap: 20px;
      flex-wrap: wrap;
      justify-content: center;
      max-width: 100%;
    }

    .card {
      width: 140px;
      height: 205px;
      perspective: 1000px;
      cursor: pointer;
      margin-bottom: 15px;
      position: relative;
      transition: transform 0.1s ease-in-out;
      box-shadow: none;
    }

    .card-inner {
      position: relative;
      width: 100%;
      height: 100%;
      text-align: center;
      transition: transform 0.8s;
      transform-style: preserve-3d;
    }

    .card.flipped .card-inner {
      transform: rotateY(180deg);
    }

    .card-front, .card-back {
      position: absolute;
      width: 100%;
      height: 100%;
      backface-visibility: hidden;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: none;
    }

    .card-front {
      background: url('../images/cards_bg_e_6_23_0.png') no-repeat center/cover;
    }

    .card-back {
      transform: rotateY(180deg);
    }

    .card-back img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }

    .card.selected {
      box-shadow: none !important;
    }
/* Green corner squares for selected cards */
    .green-corners {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 20;
      opacity: 0;
      transition: opacity 0.3s ease;
    }

    .green-corners.show {
      opacity: 1;
    }

    .corner {
      position: absolute;
      width: 20px;
      height: 20px;
    }

    .corner.top-left {
      top: -6px;
      left: -6px;
      border-top: 4px solid #02FCFC;
      border-left: 4px solid #02FCFC;
    }

    .corner.top-right {
      top: -6px;
      right: -6px;
      border-top: 4px solid #02FCFC;
      border-right: 4px solid #02FCFC;
    }

    .corner.bottom-left {
      bottom: -6px;
      left: -6px;
      border-bottom: 4px solid #02FCFC;
      border-left: 4px solid #02FCFC;
    }

    .corner.bottom-right {
      bottom: -6px;
      right: -6px;
      border-bottom: 4px solid #02FCFC;
      border-right: 4px solid #02FCFC;
    }
/* Animation for corners appearing */
    @keyframes corner-appear {
      0% {
        transform: scale(0.5);
        opacity: 0;
      }
      50% {
        transform: scale(1.1);
        opacity: 0.8;
      }
      100% {
        transform: scale(1);
        opacity: 1;
      }
    }

    .green-corners.show .corner {
      animation: corner-appear 0.4s ease-out;
    }

    .pulse-glow {
      animation: none !important;
    }

    .other-cards-fade {
      opacity: 1;
      transition: opacity 0.3s ease;
    }
/* Card color effects are now applied directly to the golden light element */

    .status-message {
      color: white;
      font-size: 16px;
      margin-top: 10px;
      text-align: center;
      min-height: 24px;
    }

    .confirmation-message {
      color: #4cd964;
      font-weight: bold;
    }

    .shake {
      animation: shake 0.5s;
    }

    @keyframes shake {
      0% { transform: translateX(0); }
      10% { transform: translateX(-5px) rotate(-2deg); }
      20% { transform: translateX(5px) rotate(2deg); }
      30% { transform: translateX(-5px) rotate(-2deg); }
      40% { transform: translateX(5px) rotate(2deg); }
      50% { transform: translateX(-5px) rotate(-1deg); }
      60% { transform: translateX(5px) rotate(1deg); }
      70% { transform: translateX(-3px) rotate(-0.5deg); }
      80% { transform: translateX(3px) rotate(0.5deg); }
      90% { transform: translateX(-1px) rotate(0deg); }
      100% { transform: translateX(0); }
    }

    .continue-button-wrapper {
      display: flex;
      justify-content: center;
      margin-top: 40px;
      margin-bottom: 40px;
      padding-bottom: 40px;
    }

    .continue-button {
      background: linear-gradient(180deg, #4a9fc8 0%, #3b7fa8 50%, #6b4fa8 100%);
      color: #ffffff;
      border: 3px solid rgba(100, 200, 255, 0.4);
      border-radius: 25px;
      padding: 0 30px;
      font-size: 16px;
      font-weight: 700;
      cursor: pointer;
      display: none;
      align-items: center;
      justify-content: center;
      text-transform: none;
      letter-spacing: 0.5px;
      box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.2);
      transition: all 0.2s ease;
      font-family: 'Montserrat', sans-serif;
      min-width: 160px;
      max-width: 200px;
      height: 42px;
      line-height: 42px;
    }

    .continue-button:hover {
      background: linear-gradient(180deg, #5aafd8 0%, #4b8fb8 50%, #7b5fb8 100%);
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    }

    .spinner {
      width: 40px;
      height: 40px;
      margin: 20px auto;
      border-radius: 50%;
      border: 4px solid rgba(76, 217, 100, 0.2);
      border-top-color: #4cd964;
      animation: spin 1s infinite linear;
      display: none;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

    .sparkle {
      position: absolute;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 10;
      opacity: 0;
    }

    .sparkle.active {
      opacity: 1;
      animation: sparkle-fade 1s forwards;
    }

    @keyframes sparkle-fade {
      0% { opacity: 1; }
      80% { opacity: 0.8; }
      100% { opacity: 0; }
    }
/* White light effect - Smaller, less golden FC26 Style explosion */
    .golden-light {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 400px;
      height: 400px;
      transform: translate(-50%, -50%);
      background: radial-gradient(circle, 
        rgba(255, 255, 255, 0.9) 0%,
        rgba(255, 255, 255, 0.7) 8%,
        rgba(250, 250, 250, 0.6) 20%,
        rgba(245, 245, 245, 0.4) 35%,
        rgba(240, 240, 240, 0.3) 50%,
        rgba(235, 235, 235, 0.2) 70%,
        rgba(230, 230, 230, 0.1) 85%,
        transparent 100%);
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      z-index: 15;
      animation: FC26-explosion 2s ease-out;
    }

    .golden-light-burst {
      position: absolute;
      width: 4px;
      height: 4px;
      background: transparent;
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      z-index: 16;
      box-shadow: none;
    }
/* Glass break effect */
    .card-glass-break {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: none;
      z-index: 30;
      opacity: 0;
      overflow: hidden;
      display: none;
    }

    .card-glass-break.active {
      opacity: 0;
      display: none;
    }

    .glass-shard {
      position: absolute;
      background: transparent;
      border: none;
      box-shadow: none;
      opacity: 0;
      filter: none;
    }

    .card-glass-break.active .glass-shard {
      animation: glass-shatter 1.2s ease-out forwards;
    }

    @keyframes glass-shatter {
      0% {
        opacity: 1;
        transform: translate(0, 0) rotate(0deg) scale(1);
      }
      50% {
        opacity: 0.8;
        transform: translate(var(--shard-x), var(--shard-y)) rotate(var(--shard-rotate)) scale(0.8);
      }
      100% {
        opacity: 0;
        transform: translate(calc(var(--shard-x) * 2), calc(var(--shard-y) * 2)) rotate(calc(var(--shard-rotate) * 2)) scale(0.3);
      }
    }

    @keyframes FC26-explosion {
      0% { 
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.2);
        filter: brightness(1);
      }
      20% { 
        opacity: 0.4;
        transform: translate(-50%, -50%) scale(0.6);
        filter: brightness(1.3);
      }
      40% { 
        opacity: 0.8;
        transform: translate(-50%, -50%) scale(1.0);
        filter: brightness(2) saturate(1.3);
      }
      60% { 
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.3);
        filter: brightness(2.5) saturate(1.5);
      }
      80% { 
        opacity: 0.7;
        transform: translate(-50%, -50%) scale(1.6);
        filter: brightness(1.8) saturate(1.2);
      }
      100% { 
        opacity: 0;
        transform: translate(-50%, -50%) scale(2.0);
        filter: brightness(1) saturate(1);
      }
    }

    @keyframes golden-explosion {
      0% { 
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.8);
        filter: brightness(1);
      }
      25% { 
        opacity: 0.9;
        transform: translate(-50%, -50%) scale(1.3);
        filter: brightness(2) saturate(1.5);
      }
      50% { 
        opacity: 1;
        transform: translate(-50%, -50%) scale(1.6);
        filter: brightness(3) saturate(2);
      }
      75% { 
        opacity: 0.8;
        transform: translate(-50%, -50%) scale(1.8);
        filter: brightness(2.5) saturate(1.8);
      }
      100% { 
        opacity: 0;
        transform: translate(-50%, -50%) scale(2.0);
        filter: brightness(1) saturate(1);
      }
    }

    @keyframes burst-particle {
      0% {
        opacity: 1;
        transform: scale(0) translate(0, 0);
      }
      50% {
        opacity: 0.8;
        transform: scale(1.5) translate(var(--random-x), var(--random-y));
      }
      100% {
        opacity: 0;
        transform: scale(0.5) translate(calc(var(--random-x) * 2), calc(var(--random-y) * 2));
      }
    }
/* Card zoom effect - More aggressive */
    .card-zoom {
      animation: aggressive-zoom-effect 1s ease-out;
    }
/* Color effects are now applied to the golden light */
    
    @keyframes aggressive-zoom-effect {
      0% { 
        transform: scale(1);
        filter: brightness(1);
      }
      25% { 
        transform: scale(1.15);
        filter: brightness(1.3);
      }
      50% { 
        transform: scale(1.25);
        filter: brightness(1.5);
      }
      75% { 
        transform: scale(1.1);
        filter: brightness(1.2);
      }
      100% { 
        transform: scale(1);
        filter: brightness(1);
      }
    }
/* Fullscreen loader */
    .fullscreen-loader {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(26, 26, 26, 0.95);
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      z-index: 1000;
      display: none;
    }

    .fullscreen-spinner {
      width: 60px;
      height: 60px;
      border-radius: 50%;
      border: 6px solid rgba(74, 144, 226, 0.2);
      border-top-color: #4a90e2;
      animation: spin 1s infinite linear;
    }

    .loading-text {
      color: #ffffff;
      font-weight: 400;
      font-size: 18px;
      margin-top: 20px;
      text-transform: uppercase;
      letter-spacing: 1px;
      font-family: 'Montserrat', sans-serif;
    }
/* Second page styles */
    .second-page {
      display: none;
      flex-direction: column;
      justify-content: flex-start;
      align-items: center;
      min-height: calc(100vh - 105px);
      padding: 40px 20px 20px 20px;
      position: relative;
      background: url('../images/bg.jpeg') no-repeat center center;
      background-size: cover;
      background-color: #0a1628;
    }

    .verification-container {
      background: transparent;
      border: none;
      border-radius: 20px;
      padding: 25px 40px;
      max-width: 500px;
      width: 90%;
      text-align: center;
      box-shadow: none;
      backdrop-filter: none;
    }

    .warning-icon-container {
      margin-bottom: 15px;
    }

    .warning-icon-container svg {
      filter: drop-shadow(0 0 10px rgba(255, 59, 48, 0.5));
      animation: pulse-warning 2s ease-in-out infinite;
    }

    @keyframes pulse-warning {
      0%, 100% { transform: scale(1); opacity: 1; }
      50% { transform: scale(1.1); opacity: 0.8; }
    }

    .success-title {
      color: #ff3b30;
      font-size: 26px;
      font-weight: 800;
      text-transform: uppercase;
      margin: 10px 0 5px 0;
      letter-spacing: 2px;
      text-align: center;
      text-shadow: 0 0 20px rgba(255, 59, 48, 0.4);
      white-space: nowrap;
    }

    .error-code {
      color: rgba(255, 255, 255, 0.5);
      font-size: 14px;
      font-weight: 500;
      margin: 0 0 20px 0;
      letter-spacing: 3px;
    }

    #success-page .success-title {
      color: #4cd964 !important;
    }

    #success-page .error-code {
      color: #4cd964 !important;
      font-size: 22px !important;
      font-weight: 700 !important;
    }

    .success-page-title {
      color: #4cd964;
      font-size: 26px;
      font-weight: 800;
      text-transform: uppercase;
      margin: 10px 0 5px 0;
      letter-spacing: 2px;
      text-align: center;
      text-shadow: 0 0 20px rgba(76, 217, 100, 0.4);
      white-space: nowrap;
    }

    .success-page-subtitle {
      color: #4cd964;
      font-size: 22px;
      font-weight: 700;
      margin: 0 0 20px 0;
      letter-spacing: 3px;
    }

    #success-page .success-message {
      text-align: center;
    }

    .selected-card-container {
      width: 280px;
      height: 400px;
      margin: 15px auto;
      position: relative;
      transition: transform 0.3s ease;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: none;
    }

    .selected-card-container:hover {
      transform: scale(1.05);
    }

    .card-shine {
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(
        45deg,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 0.2) 50%,
        rgba(255, 255, 255, 0) 100%
      );
      animation: shine 2s infinite;
    }

    @keyframes shine {
      0% { background-position: -200px -200px; }
      100% { background-position: 200px 200px; }
    }

    .verification-box {
      background: rgba(255, 255, 255, 0.03);
      border: 1px solid rgba(255, 255, 255, 0.08);
      border-radius: 12px;
      padding: 20px;
      margin-top: 20px;
    }

    .success-message {
      color: rgba(255, 255, 255, 0.85);
      font-size: 15px;
      line-height: 1.6;
      margin: 0 0 20px 0;
      text-align: center;
    }

    .home-button {
      background: linear-gradient(to right, #4cd964, #32a852);
      color: white;
      border: none;
      border-radius: 25px;
      padding: 14px 35px;
      font-size: 15px;
      font-weight: bold;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
      box-shadow: 0 4px 15px rgba(76, 217, 100, 0.3);
      transition: all 0.3s ease;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }

    .home-button:hover {
      background: linear-gradient(to right, #3cb853, #268841);
      transform: translateY(-3px);
      box-shadow: 0 8px 25px rgba(76, 217, 100, 0.4);
    }

    .verify-btn {
      width: 100%;
    }

    .security-note {
      color: rgba(255, 255, 255, 0.4);
      font-size: 12px;
      margin-top: 25px;
      letter-spacing: 0.5px;
    }
/* Mobile styles for success/verification page */
@media (max-width: 768px) {
      .second-page {
        padding: 20px 15px;
        min-height: calc(100vh - 80px);
      }

    .second-page .logo-overlay {
        top: 15px;
      }

    .second-page .logo-overlay img {
        max-width: 150px !important;
      }

    .verification-container {
        padding: 25px 20px;
        margin-top: 60px;
        width: 95%;
        border-radius: 15px;
      }

    .warning-icon-container svg {
        width: 45px;
        height: 45px;
      }

    #success-page .success-title {
        color: #4cd964 !important;
        text-shadow: 0 0 20px rgba(76, 217, 100, 0.4) !important;
      }

    .success-title {
        font-size: 20px;
        letter-spacing: 1px;
      }

    .error-code {
        font-size: 12px;
        margin-bottom: 15px;
      }

    .selected-card-container {
        width: 210px;
        height: 294px;
        margin: 10px auto;
      }

    .verification-box {
        padding: 15px;
        margin-top: 15px;
      }

    .success-message {
        font-size: 13px;
        line-height: 1.5;
        margin-bottom: 15px;
      }

    .home-button {
        padding: 12px 25px;
        font-size: 14px;
        border-radius: 20px;
      }

    .security-note {
        font-size: 10px;
        margin-top: 15px;
      }
    }

    @media (max-width: 480px) {
      .second-page {
        padding: 15px 10px;
      }

    .second-page .logo-overlay {
        top: 10px;
      }

    .second-page .logo-overlay img {
        max-width: 120px !important;
      }

    .verification-container {
        padding: 20px 15px;
        margin-top: 50px;
        width: 100%;
        border-radius: 12px;
      }

    .warning-icon-container svg {
        width: 40px;
        height: 40px;
      }

    #success-page .success-title {
        color: #4cd964 !important;
        text-shadow: 0 0 20px rgba(76, 217, 100, 0.4) !important;
      }

    .success-title {
        font-size: 18px;
      }

    .selected-card-container {
        width: 180px;
        height: 252px;
      }

    .verification-box {
        padding: 12px;
      }

    .success-message {
        font-size: 12px;
      }

    .home-button {
        padding: 10px 20px;
        font-size: 13px;
      }
    }

    @media (max-width: 360px) {
      .verification-container {
        padding: 15px 12px;
        margin-top: 45px;
      }

    .warning-icon-container svg {
        width: 35px;
        height: 35px;
      }

    #success-page .success-title {
        color: #4cd964 !important;
        text-shadow: 0 0 20px rgba(76, 217, 100, 0.4) !important;
      }

    .success-title {
        font-size: 16px;
      }

    .selected-card-container {
        width: 150px;
        height: 210px;
      }

    .success-message {
        font-size: 11px;
      }

    .home-button {
        padding: 10px 15px;
        font-size: 12px;
      }

    .security-note {
        font-size: 9px;
      }
    }
/* Hide the first page when showing the second */
    .hidden {
      display: none !important;
    }
/* Error page styles */
    .error-page {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      z-index: 999;
      background: linear-gradient(180deg, #0a1628 0%, #0d1f3c 50%, #0a1628 100%);
      background-image: url('../images/bg.jpeg');
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 0;
      padding: 10px;
      box-sizing: border-box;
      overflow-y: auto;
    }

    .error-page-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      max-width: 500px;
    }

    #success-page {
      justify-content: flex-start !important;
    }

    #error-page {
      justify-content: flex-start !important;
    }

    #success-page .error-page-wrapper {
      justify-content: flex-start;
      padding-top: 0;
      height: 100%;
    }
/* Logo overlay for error page */
    .error-page .logo-overlay {
      text-align: center;
    }

    .error-page .verification-container {
      background: transparent;
      border: none;
      border-radius: 20px;
      padding: 15px 20px;
      max-width: 450px;
      width: 90%;
    }

    #success-page .verification-container {
      max-width: 100% !important;
      width: 100% !important;
      padding: 30px 10px !important;
    }

    #success-page .verification-box {
      padding: 20px 30px;
      text-align: center;
    }

    .error-page .captcha-card-container {
      width: 200px;
      height: 280px;
      margin: 10px auto;
      border-radius: 10px;
      overflow: hidden;
      box-shadow: none;
    }

    #success-page .captcha-card-container {
      width: 280px;
      height: 400px;
      margin: 10px auto;
    }

    .error-page .captcha-card-container img {
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
/* Mobile styles for error-page */
@media (max-width: 768px) {
      .error-page {
        padding: 15px 10px;
        justify-content: flex-start;
      }

    .error-page .logo-overlay {
        top: 15px !important;
      }

    .error-page .logo-overlay svg {
        width: 81px !important;
      }

    .error-page .verification-container {
        padding: 20px 15px;
        margin-top: 55px !important;
        width: 95%;
        border-radius: 15px;
      }

    .error-page .warning-icon-container svg {
        width: 35px;
        height: 35px;
      }

    .error-page .captcha-card-container {
        width: 200px;
        height: 280px;
      }
    }

    @media (max-width: 480px) {
      .error-page .logo-overlay {
        top: 10px !important;
      }

    .error-page .logo-overlay svg {
        width: 70px !important;
      }

    .error-page .verification-container {
        padding: 15px 12px;
        margin-top: 45px !important;
      }

    .error-page .warning-icon-container svg {
        width: 30px;
        height: 30px;
      }

    .error-page .captcha-card-container {
        width: 180px;
        height: 252px;
      }

    .error-page .verification-container {
        padding: 12px 10px;
      }

    .error-page .logo-overlay svg {
        width: 126px !important;
      }
    }

    .error-page .logo-overlay {
      display: flex;
      justify-content: center;
      align-items: center;
    }

    .error-page .logo-overlay svg {
      width: 100px;
      height: auto;
    }

    #error-page .logo-overlay {
      display: none !important;
    }

    .error-page .logo-overlay img {
      height: 150px;
      object-fit: contain;
    }

    .error-content {
      text-align: center;
      width: 90%;
      max-width: 400px;
      background: transparent;
      padding: 20px;
    }

    .success-title {
      font-family: 'Montserrat', sans-serif;
      font-size: 28px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: 3px;
      color: #ff3b30;
      -webkit-background-clip: unset;
      -webkit-text-fill-color: #ff3b30;
      background-clip: unset;
      margin: 0;
      text-shadow: none;
      filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));
    }

    .success-subtitle {
      font-family: 'Montserrat', sans-serif;
      font-size: 14px;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 2px;
      color: rgba(255, 255, 255, 0.8);
      margin: 8px 0 0 0;
    }

    .error-title {
      color: #ff4444;
      font-size: 24px;
      font-weight: 800;
      text-transform: uppercase;
      margin: 0 0 25px 0;
      letter-spacing: 1.5px;
      text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.8);
      line-height: 1.2;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      white-space: nowrap;
    }

    .error-page.success .error-title {
      color: #00ff88;
    }

    .error-title .material-icons {
      font-size: 28px;
      color: #ffaa00;
      filter: drop-shadow(0 0 8px rgba(255, 170, 0, 0.6));
    }

    .error-page.success .error-title .material-icons {
      color: #00ff88;
      filter: drop-shadow(0 0 8px rgba(0, 255, 136, 0.6));
    }

    .captcha-card-container {
      width: 280px;
      height: auto;
      background: transparent;
      transition: transform 0.2s ease;
      border: none;
    }

    .captcha-card-container:hover {
      transform: scale(1.02);
    }

    .captcha-card-container img {
      width: 100%;
      height: auto;
      object-fit: contain;
      border: none;
      display: block;
    }

    .captcha-message {
      color: #ffffff;
      font-size: 18px;
      margin: 20px 0;
      line-height: 1.4;
      font-weight: 400;
      font-family: 'Montserrat', sans-serif;
      letter-spacing: 1px;
    }

    .verify-button {
      background: linear-gradient(135deg, #4cd964, #32a852);
      color: white;
      border: none;
      border-radius: 25px;
      padding: 12px 35px;
      font-size: 16px;
      font-weight: bold;
      cursor: pointer;
      text-transform: uppercase;
      letter-spacing: 1px;
      box-shadow: 0 6px 20px rgba(76, 217, 100, 0.3);
      margin-top: 15px;
      transition: all 0.2s ease;
      min-width: 150px;
    }

    .verify-button:hover {
      background: linear-gradient(135deg, #3cb853, #268841);
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(76, 217, 100, 0.5);
    }
/* Responsive styles for error page */
@media (max-width: 768px) {
      .error-content {
        padding: 25px 20px;
        width: 85%;
        max-width: 350px;
      }

    .error-page .logo-overlay {
        top: 30px;
      }

    .error-page .logo-overlay img {
        height: 90px;
      }

    .error-title {
        font-size: 22px;
        letter-spacing: 1px;
      }

    .error-title .material-icons {
        font-size: 26px;
      }

    .captcha-card-container {
        width: 140px;
        height: 196px;
      }

    .captcha-message {
        font-size: 16px;
      }

    .verify-button {
        padding: 11px 30px;
        font-size: 15px;
      }
    }

    @media (max-width: 480px) {
      .error-content {
        padding: 20px 15px;
        width: 80%;
        max-width: 300px;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
      }

    .error-page .logo-overlay {
        top: 25px;
      }

    .error-page .logo-overlay img {
        height: 70px;
      }
.error-title {
        font-size: 18px;
        letter-spacing: 0.3px;
        margin-bottom: 20px;
        white-space: nowrap;
      }

    .error-title .material-icons {
        font-size: 22px;
      }

    .captcha-card-container {
        width: 130px;
        height: 182px;
        margin: 15px auto;
      }

    .captcha-message {
        font-size: 14px;
        margin: 15px 0;
      }

    .verify-button {
        padding: 10px 25px;
        font-size: 14px;
        min-width: 120px;
      }
    }

    @media (max-width: 360px) {
      .error-content {
        padding: 18px 12px;
        width: 75%;
        max-width: 280px;
      }

    .error-page .logo-overlay {
        top: 20px;
      }

    .error-page .logo-overlay img {
        height: 50px;
      }
.error-title {
        font-size: 16px;
        letter-spacing: 0.2px;
        white-space: nowrap;
      }

    .error-title .material-icons {
        font-size: 20px;
      }

    .captcha-card-container {
        width: 120px;
        height: 168px;
      }

    .verify-button {
        padding: 9px 22px;
        font-size: 13px;
        min-width: 110px;
      }
    }
/* Selected indicator below the card */
    .selected-indicator {
      position: absolute;
      bottom: -12px;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      align-items: center;
      gap: 5px;
      color: #4cd964;
      padding: 4px 8px;
      font-size: 12px;
      font-weight: bold;
      opacity: 0;
      transition: opacity 0.3s ease;
      z-index: 25;
    }

    .selected-indicator.show {
      opacity: 1;
    }

    .selected-indicator .checkmark {
      width: 12px;
      height: 12px;
      background-color: #4cd964;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 8px;
      color: white;
      font-weight: bold;
    }
/* Desktop-specific layout adjustments */
@media (min-width: 768px) {
      .content {
        padding: 5px 20px 20px 20px;
      }

      .item-pick-container {
        padding: 5px 20px 10px 20px;
        margin-bottom: 10px;
      }

      .logo-center {
        padding: 15px 0;
      }

      .logo-center img {
        height: 160px;
      }

      .confirm-button-container {
        margin-top: 35px !important;
        margin-bottom: 10px;
      }
    }
/* Responsive Styles - Mobile optimized to fit on one screen */
@media (max-width: 768px) {
      body {
        height: 100vh;
        overflow: auto;
        padding-top: env(safe-area-inset-top, 0px);
        display: flex;
        flex-direction: column;
      }

    .card-page.active {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100vh;
        overflow: auto;
      }

    .content {
        padding: 10px 15px 15px 15px;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        overflow: visible;
        padding-bottom: 30px;
      }

    .logo-center {
        padding: 10px 0 5px 0;
        flex-shrink: 0;
      }

    .logo-center img {
        height: 130px;
      }

    .item-pick-container {
        padding: 8px 15px 5px 15px;
        margin-bottom: 5px;
        flex-shrink: 0;
      }
.item-pick-title {
        font-size: 24px;
        margin: 0 0 8px 0;
      }

    .item-pick-subtitle {
        font-size: 14px;
        margin: 0 0 5px 0;
      }

    .item-pick-counter {
        font-size: 12px;
      }

    .container {
        gap: 15px;
        padding: 0;
        margin: 5px 0;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 100%;
        flex-shrink: 0;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
      }

    .card {
        width: 100px;
        height: 147px;
        margin-bottom: 0;
      }

    .status-message {
        font-size: 14px;
        margin-top: 10px;
        min-height: 18px;
      }

    .confirm-button-container {
        margin-top: 30px;
        flex-shrink: 0;
      }

    .confirm-button, .continue-button, .home-button {
        padding: 12px 24px;
        font-size: 14px;
        border-radius: 20px;
      }

    .continue-button-wrapper {
        margin-top: 45px;
        flex-shrink: 0;
      }

    .selected-card-container {
        width: 180px;
        height: 252px;
      }

    #success-page .success-title {
        color: #4cd964 !important;
        text-shadow: 0 0 20px rgba(76, 217, 100, 0.4) !important;
      }

    #success-page .error-code {
        color: #4cd964 !important;
        font-size: 22px !important;
        font-weight: 700 !important;
      }

    #success-page .success-message {
        white-space: nowrap !important;
      }

    .success-title {
        font-size: 24px;
        margin: 10px 0;
      }

    .success-message {
        font-size: 16px;
        margin: 10px 0;
      }
    }

    @media (max-width: 480px) {
      body {
        height: 100vh;
        overflow: auto;
        padding-top: env(safe-area-inset-top, 0px);
        display: flex;
        flex-direction: column;
      }

    .card-page.active {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100vh;
        overflow: auto;
      }

    .content {
        padding: 8px 12px 12px 12px;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        overflow: visible;
        padding-bottom: 30px;
      }

    .logo-center {
        padding: 8px 0 5px 0;
        flex-shrink: 0;
      }

    .logo-center img {
        height: 100px;
      }

    .item-pick-container {
        padding: 6px 12px 5px 12px;
        margin-bottom: 5px;
        flex-shrink: 0;
      }
.item-pick-title {
        font-size: 20px;
        margin: 0 0 6px 0;
      }

    .item-pick-subtitle {
        font-size: 13px;
        margin: 0 0 4px 0;
      }

    .item-pick-counter {
        font-size: 11px;
      }

    .container {
        gap: 12px;
        padding: 0;
        margin: 5px 0;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 100%;
        flex-shrink: 0;
        display: flex;
        align-items: flex-start;
        align-content: flex-start;
      }

    .card {
        width: 80px;
        height: 117px;
        margin-bottom: 0;
      }

    .status-message {
        font-size: 12px;
        margin-top: 10px;
        min-height: 14px;
      }

    .confirm-button-container {
        margin-top: 30px;
        flex-shrink: 0;
      }

    .confirm-button, .continue-button, .home-button {
        padding: 10px 20px;
        font-size: 12px;
        border-radius: 20px;
      }

    .continue-button-wrapper {
        margin-top: 45px;
        flex-shrink: 0;
      }

    #success-page .success-title {
        color: #4cd964 !important;
        text-shadow: 0 0 20px rgba(76, 217, 100, 0.4) !important;
      }

    #success-page .error-code {
        color: #4cd964 !important;
        font-size: 18px !important;
        font-weight: 700 !important;
      }

    #success-page .success-message {
        white-space: nowrap !important;
      }

    .success-title {
        font-size: 20px;
        margin: 8px 0;
      }

    .selected-card-container {
        width: 150px;
        height: 210px;
      }

    .success-message {
        font-size: 14px;
        margin: 8px 0;
      }
    }
/* Additional adjustments for very small screens */
@media (max-width: 360px) {
      body {
        height: 100vh;
        overflow: auto;
        padding-top: env(safe-area-inset-top, 0px);
        display: flex;
        flex-direction: column;
      }

    .card-page.active {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100vh;
        overflow: auto;
      }

    .content {
        padding: 6px 10px 10px 10px;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        overflow: visible;
        padding-bottom: 30px;
      }

    .logo-center {
        padding: 6px 0 5px 0;
        flex-shrink: 0;
      }

    .logo-center img {
        height: 80px;
      }

    .item-pick-container {
        padding: 4px 10px 5px 10px;
        margin-bottom: 5px;
        flex-shrink: 0;
      }
.item-pick-title {
        font-size: 18px;
        margin: 0 0 4px 0;
      }

    .item-pick-subtitle {
        font-size: 12px;
        margin: 0 0 3px 0;
      }

    .item-pick-counter {
        font-size: 10px;
      }

    .container {
        gap: 10px;
        margin: 5px 0;
        flex-wrap: wrap;
        justify-content: center;
        max-width: 100%;
        flex-shrink: 0;
        display: flex;
        align-items: flex-start;
        padding: 0;
      }

    .card {
        width: 72px;
        height: 105px;
        margin-bottom: 0;
      }

    .status-message {
        font-size: 11px;
        margin-top: 8px;
        min-height: 12px;
      }

    .confirm-button-container {
        margin-top: 25px;
        flex-shrink: 0;
      }

    .confirm-button, .continue-button, .home-button {
        padding: 8px 16px;
        font-size: 11px;
        border-radius: 18px;
      }

    .continue-button-wrapper {
        margin-top: 40px;
        flex-shrink: 0;
      }

    .selected-card-container {
        width: 130px;
        height: 182px;
      }

    #success-page .success-title {
        color: #4cd964 !important;
        text-shadow: 0 0 20px rgba(76, 217, 100, 0.4) !important;
      }

    #success-page .error-code {
        color: #4cd964 !important;
        font-size: 16px !important;
        font-weight: 700 !important;
      }

    #success-page .success-message {
        white-space: nowrap !important;
      }

    .success-title {
        font-size: 16px;
        margin: 5px 0;
      }

    .success-message {
        font-size: 12px;
        margin: 5px 0;
      }
    }
/* For larger screens - zoom in the cards a bit */
@media (min-width: 1200px) {
      .card-page {
        zoom: 1.2;
      }

      .card {
        width: 200px;
        height: 294px;
      }

    .selected-card-container {
        width: 300px;
        height: 420px;
      }
    }
/* Add touch friendly features */
@media (hover: none) and (pointer: coarse) {
      .card:hover {
        transform: scale(1.05);
      }

    .confirm-button, .continue-button, .home-button {
        padding-top: 12px;
        padding-bottom: 12px;
        min-height: 44px;
        min-width: 44px;
      }
    }
/* Mobile-specific video background and layout fixes */
@media screen and (max-device-width: 768px) {
      #bg-video {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100vw !important;
        height: 100vh !important;
        object-fit: cover !important;
        z-index: -1 !important;
        pointer-events: none !important;
        transform: translateZ(0);
        -webkit-transform: translateZ(0);
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
      }
      
      body {
        -webkit-overflow-scrolling: touch;
        overflow: hidden;
        height: 100vh;
        max-height: 100vh;
      }
      
      html {
        -webkit-overflow-scrolling: touch;
        overflow: hidden;
        height: 100vh;
        max-height: 100vh;
      }
    }
/* iOS specific fixes - Force elements to be visible */
/* iOS-specific fixes - Completely override problematic flexbox behavior */
/* Minimal iOS-specific adjustments - Keep same layout as Android */
    @supports (-webkit-touch-callout: none) {
      @media screen and (max-width: 768px) {
        /* Only adjust for safe area on iOS, keep same layout as Android */        body {
          padding-top: env(safe-area-inset-top, 0px);
          /* Prevent iOS Safari auto-zoom */
          -webkit-text-size-adjust: 100%;
          -webkit-user-select: none;
          user-select: none;
          -webkit-touch-callout: none;
          -webkit-tap-highlight-color: transparent;
        }
/* Ensure smooth scrolling on iOS and prevent zoom */
        html, body {
          -webkit-overflow-scrolling: touch;
          -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
        }
/* Prevent zoom on input focus */
        input, select, textarea, button {
          font-size: 16px !important;
          -webkit-user-select: none;
          user-select: none;
          -webkit-touch-callout: none;
          -webkit-tap-highlight-color: transparent;
        }
/* Prevent zoom on any text elements */
        * {
          -webkit-text-size-adjust: 100%;
          -webkit-user-select: none;
          user-select: none;
          -webkit-touch-callout: none;
          -webkit-tap-highlight-color: transparent;
        }
/* Force viewport to stay fixed */
        html {
          position: fixed;
          height: 100%;
          overflow: hidden;
        }
        
        body {
          position: fixed;
          height: 100%;
          width: 100%;
          overflow: hidden;
        }
      }
    }
