﻿html {
      scroll-behavior: smooth
    }

    html,
    body {
      height: 100%;
      margin: 0;
      background: #000;
      color: #fff;
      font-family: 'Tajawal', 'Cairo', 'Inter', 'Poppins', system-ui, Segoe UI, Helvetica, Arial, sans-serif;
      font-weight: 400;
      letter-spacing: .01em;
      line-height: 1.7;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale
    }

    [dir="rtl"] body {
      font-family: 'Tajawal', 'Cairo', 'Inter', system-ui, Segoe UI, Helvetica, Arial, sans-serif
    }

    [dir="ltr"] body {
      font-family: 'Inter', 'Poppins', 'Tajawal', 'Cairo', system-ui, Segoe UI, Helvetica, Arial, sans-serif
    }

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

    .container {
      max-width: 1120px;
      margin: 0 auto;
      padding: 0 16px
    }

    header {
      position: sticky;
      top: 0;
      z-index: 1000;
      background: linear-gradient(135deg, rgba(0, 0, 0, .85), rgba(0, 0, 0, .75));
      backdrop-filter: blur(20px) saturate(180%);
      border-bottom: 1px solid rgba(255, 255, 255, .08);
      box-shadow: 0 8px 32px rgba(0, 0, 0, .3), inset 0 1px 0 rgba(255, 255, 255, .05);
      transition: all .3s ease;
      position: relative;
      overflow: visible
    }

    header:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(16, 185, 129, .03), rgba(45, 212, 191, .02), transparent);
      pointer-events: none;
      z-index: 0
    }

    header:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(16, 185, 129, .4), transparent);
      opacity: .6;
      opacity: 0.5;
    }

    @keyframes headerGlow {

      0%,
      100% {
        opacity: .3
      }

      50% {
        opacity: .8
      }
    }

    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 16px 0;
      position: relative;
      z-index: 1;
      overflow: visible
    }

    .brand {
      display: flex;
      gap: 12px;
      align-items: center;
      transition: transform .3s ease;
      position: relative
    }

    .brand:hover {
      transform: scale(1.02)
    }

    .brand a {
      font-weight: 700;
      font-size: 18px;
      background: linear-gradient(135deg, #fff, #34d399);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      transition: all .3s ease;
      position: relative
    }

    .brand:hover a {
      background: linear-gradient(135deg, #34d399, #22d3ee);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      text-shadow: 0 0 20px rgba(52, 211, 153, .3)
    }

    .dot {
      width: 12px;
      height: 12px;
      border-radius: 9999px;
      background: linear-gradient(135deg, #10b981, #34d399);
      display: inline-block;
      position: relative;
      box-shadow: 0 0 10px rgba(16, 185, 129, .5), 0 0 20px rgba(16, 185, 129, .3);
      opacity: 0.8;
    }

    .dot:before {
      content: "";
      position: absolute;
      inset: -4px;
      border-radius: 9999px;
      background: radial-gradient(circle, #10b981, transparent);
      opacity: .4;
      opacity: 0.6;
    }

    @keyframes dotPulse {

      0%,
      100% {
        transform: scale(1);
        box-shadow: 0 0 10px rgba(16, 185, 129, .5), 0 0 20px rgba(16, 185, 129, .3)
      }

      50% {
        transform: scale(1.1);
        box-shadow: 0 0 15px rgba(16, 185, 129, .7), 0 0 30px rgba(16, 185, 129, .5)
      }
    }

    @keyframes dotRipple {
      0% {
        transform: scale(.8);
        opacity: .4
      }

      100% {
        transform: scale(1.5);
        opacity: 0
      }
    }

    .links {
      display: flex;
      gap: 8px;
      color: rgba(255, 255, 255, .8);
      font-size: 15px;
      align-items: center;
      position: relative
    }

    .links a {
      position: relative;
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      padding: 8px 16px;
      border-radius: 10px;
      font-weight: 500;
      overflow: hidden;
      background: rgba(255, 255, 255, .02);
      backdrop-filter: blur(5px);
      border: 1px solid transparent
    }

    .links a:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(16, 185, 129, .15), rgba(45, 212, 191, .1));
      opacity: 0;
      transition: opacity .3s ease;
      z-index: -1;
      border-radius: 10px
    }

    .links a:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%) scaleX(0);
      width: 60%;
      height: 2px;
      background: linear-gradient(90deg, transparent, #34d399, transparent);
      transition: transform .4s cubic-bezier(.4, 0, .2, 1);
      border-radius: 2px
    }

    .links a:hover {
      color: #34d399;
      transform: translateY(-2px);
      background: rgba(52, 211, 153, .08);
      border-color: rgba(52, 211, 153, .2);
      box-shadow: 0 4px 12px rgba(16, 185, 129, .2), 0 0 20px rgba(16, 185, 129, .1)
    }

    .links a:hover:before {
      opacity: 1
    }

    .links a:hover:after {
      transform: translateX(-50%) scaleX(1)
    }

    .links a:active {
      transform: translateY(0)
    }

    .lang-dropdown {
      position: relative;
      margin-right: 12px;
      z-index: 1002;
      isolation: isolate
    }

    .lang-toggle {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 14px;
      border-radius: 12px;
      background: linear-gradient(135deg, rgba(255, 255, 255, .08), rgba(255, 255, 255, .04));
      backdrop-filter: blur(10px);
      border: 1px solid rgba(255, 255, 255, .12);
      cursor: pointer;
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      position: relative;
      overflow: visible;
      box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
      z-index: 1
    }

    .lang-toggle:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(16, 185, 129, .15), rgba(45, 212, 191, .1));
      opacity: 0;
      transition: opacity .3s ease;
      z-index: 0;
      border-radius: 12px
    }

    .lang-toggle:hover:before {
      opacity: 1
    }

    .lang-toggle:hover {
      background: linear-gradient(135deg, rgba(255, 255, 255, .12), rgba(255, 255, 255, .08));
      border-color: rgba(52, 211, 153, .3);
      transform: translateY(-2px);
      box-shadow: 0 4px 16px rgba(16, 185, 129, .3), 0 0 20px rgba(16, 185, 129, .15)
    }

    .lang-toggle span {
      font-size: 14px;
      font-weight: 600;
      color: rgba(255, 255, 255, .85);
      transition: color .3s;
      position: relative;
      z-index: 1
    }

    .lang-toggle:hover span {
      color: #34d399
    }

    .lang-menu {
      position: absolute;
      top: calc(100% + 8px);
      right: 0;
      min-width: 160px;
      background: rgba(0, 0, 0, .98);
      backdrop-filter: blur(20px) saturate(180%);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 14px;
      padding: 8px;
      opacity: 0;
      visibility: hidden;
      transform: translateY(-10px) scale(.95);
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      z-index: 9999;
      box-shadow: 0 12px 40px rgba(0, 0, 0, .8), 0 0 40px rgba(16, 185, 129, .3), inset 0 1px 0 rgba(255, 255, 255, .1);
      overflow: visible;
      pointer-events: none
    }

    .lang-menu:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(16, 185, 129, .05), transparent);
      pointer-events: none;
      z-index: 0;
      border-radius: 14px
    }

    .lang-dropdown.open .lang-menu {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
      pointer-events: auto
    }

    .lang-option {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px 16px;
      cursor: pointer;
      transition: all .25s cubic-bezier(.4, 0, .2, 1);
      color: rgba(255, 255, 255, .8);
      border-radius: 10px;
      position: relative;
      z-index: 1;
      margin: 2px 0
    }

    .lang-option:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(16, 185, 129, .15), rgba(45, 212, 191, .1));
      opacity: 0;
      transition: opacity .25s ease;
      border-radius: 10px;
      z-index: -1
    }

    .lang-option:hover:before {
      opacity: 1
    }

    .lang-option:hover {
      background: rgba(52, 211, 153, .1);
      color: #34d399;
      transform: translateX(-4px);
      box-shadow: 0 4px 12px rgba(16, 185, 129, .2)
    }

    .lang-option.active {
      color: #34d399;
      background: linear-gradient(135deg, rgba(52, 211, 153, .15), rgba(52, 211, 153, .08));
      border: 1px solid rgba(52, 211, 153, .2);
      box-shadow: 0 2px 8px rgba(16, 185, 129, .15)
    }

    .lang-option .flag-icon {
      font-size: 20px;
      transition: all .3s ease;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      line-height: 1;
      filter: drop-shadow(0 2px 4px rgba(0, 0, 0, .2))
    }

    .lang-option:hover .flag-icon {
      transform: scale(1.15) rotate(3deg);
      filter: drop-shadow(0 4px 8px rgba(52, 211, 153, .4))
    }

    .lang-option.active .flag-icon {
      transform: scale(1.1);
      filter: drop-shadow(0 0 10px rgba(52, 211, 153, .6))
    }

    .lang-toggle i {
      transition: transform .3s ease;
      color: rgba(255, 255, 255, .7)
    }

    .lang-toggle:hover i {
      transform: rotate(15deg);
      color: #34d399
    }

    body {
      position: relative;
      overflow-x: hidden
    }

    body:before {
      content: "";
      position: fixed;
      inset: 0;
      background: radial-gradient(ellipse at top, rgba(16, 185, 129, .05), transparent 50%), radial-gradient(ellipse at bottom, rgba(45, 212, 191, .05), transparent 50%);
      z-index: -1;
      pointer-events: none
    }

    .blob {
      position: absolute;
      filter: blur(80px);
      border-radius: 9999px;
      z-index: -1
    }

    .blob-1 {
      top: -100px;
      left: -100px;
      width: 400px;
      height: 400px;
      background: rgba(16, 185, 129, .15);
      transition: transform 0.3s ease;
    }

    .blob-2 {
      top: 30%;
      right: -80px;
      width: 350px;
      height: 350px;
      background: rgba(45, 212, 191, .12);
      transition: transform 0.3s ease;
    }

    .blob-3 {
      bottom: -100px;
      left: 40%;
      width: 500px;
      height: 500px;
      background: linear-gradient(135deg, rgba(16, 185, 129, .1), rgba(45, 212, 191, .08));
      transition: transform 0.3s ease;
    }

    @keyframes floatSlow {

      0%,
      100% {
        transform: translate(0, 0) scale(1)
      }

      33% {
        transform: translate(30px, -30px) scale(1.1)
      }

      66% {
        transform: translate(-30px, 30px) scale(.9)
      }
    }

    @keyframes float {

      0%,
      100% {
        transform: translate(0, 0)
      }

      50% {
        transform: translate(20px, -20px)
      }
    }

    .auth-section {
      min-height: 80vh;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 80px 0;
      position: relative
    }

    .auth-card {
      background: rgba(0, 0, 0, .75);
      backdrop-filter: blur(20px) saturate(180%);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 28px;
      padding: 60px 50px;
      max-width: 480px;
      width: 100%;
      box-shadow: 0 25px 80px rgba(0, 0, 0, .6), 0 0 60px rgba(16, 185, 129, .15);
      position: relative;
      overflow: hidden;
      opacity: 0;
      transform: translateY(40px) scale(.95);
      animation: fadeInUp .8s ease-out forwards
    }

    .auth-card:before {
      content: "";
      position: absolute;
      inset: -2px;
      border-radius: 28px;
      padding: 2px;
      background: linear-gradient(135deg, rgba(16, 185, 129, .5), rgba(45, 212, 191, .3), rgba(16, 185, 129, .5));
      -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      -webkit-mask-composite: xor;
      mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
      mask-composite: exclude;
      opacity: 0;
      transition: opacity .4s;
      z-index: -1;
      opacity: 1;
    }

    .auth-card:hover:before {
      opacity: 1
    }

    @keyframes borderRotate {
      0% {
        background-position: 0% 50%
      }

      50% {
        background-position: 100% 50%
      }

      100% {
        background-position: 0% 50%
      }
    }

    .auth-card:after {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, rgba(16, 185, 129, .05), transparent);
      opacity: 0;
      transition: opacity .4s;
      pointer-events: none;
      z-index: -1
    }

    .auth-card:hover:after {
      opacity: 1
    }

    @keyframes fadeInUp {
      to {
        opacity: 1;
        transform: translateY(0) scale(1)
      }
    }

    .auth-header {
      text-align: center;
      margin-bottom: 40px;
      opacity: 0;
      animation: fadeInUp .8s ease-out .2s both
    }

    .auth-header h1 {
      font-size: 42px;
      margin: 0 0 16px;
      color: #34d399;
      background: linear-gradient(135deg, #34d399, #22d3ee);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      background-size: 200% 200%;
      /* removed */
    }

    @keyframes gradientShift {

      0%,
      100% {
        background-position: 0% 50%
      }

      50% {
        background-position: 100% 50%
      }
    }

    .auth-header p {
      font-size: 16px;
      color: rgba(255, 255, 255, .7);
      margin: 0
    }

    .form-group {
      margin-bottom: 28px;
      position: relative;
      opacity: 0;
      animation: fadeInUp .6s ease-out forwards
    }

    .form-group:nth-child(1) {
      animation-delay: .3s
    }

    .form-group:nth-child(2) {
      animation-delay: .4s
    }

    .form-group:nth-child(3) {
      animation-delay: .5s
    }

    .form-group:nth-child(4) {
      animation-delay: .6s
    }

    .form-group label {
      display: block;
      margin-bottom: 10px;
      color: rgba(255, 255, 255, .85);
      font-weight: 600;
      font-size: 15px
    }

    .form-group input {
      width: 100%;
      padding: 16px 20px;
      background: rgba(255, 255, 255, .05);
      border: 1px solid rgba(255, 255, 255, .15);
      border-radius: 12px;
      color: #fff;
      font-size: 15px;
      transition: all .3s cubic-bezier(.4, 0, .2, 1);
      box-sizing: border-box;
      font-family: inherit
    }

    .form-group input:focus {
      outline: none;
      border-color: #34d399;
      background: rgba(16, 185, 129, .1);
      box-shadow: 0 0 0 4px rgba(16, 185, 129, .2), 0 8px 24px rgba(16, 185, 129, .15)
    }

    .form-group input::placeholder {
      color: rgba(255, 255, 255, .4)
    }

    .form-group i {
      position: absolute;
      right: 18px;
      top: 50%;
      transform: translateY(-50%);
      color: rgba(255, 255, 255, .5);
      pointer-events: none;
      margin-top: 10px
    }

    .form-group input {
      padding-right: 50px
    }

    .form-options {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 32px;
      opacity: 0;
      animation: fadeInUp .6s ease-out .7s both
    }

    .form-checkbox {
      display: flex;
      align-items: center;
      gap: 8px;
      cursor: pointer
    }

    .form-checkbox input {
      width: auto;
      margin: 0;
      cursor: pointer
    }

    .form-checkbox label {
      margin: 0;
      cursor: pointer;
      font-size: 14px;
      color: rgba(255, 255, 255, .7)
    }

    .auth-btn {
      width: 100%;
      padding: 18px;
      background: linear-gradient(135deg, #10b981, #34d399);
      border: none;
      border-radius: 12px;
      color: #000;
      font-weight: 700;
      font-size: 16px;
      cursor: pointer;
      transition: all .4s cubic-bezier(.4, 0, .2, 1);
      position: relative;
      overflow: hidden;
      box-shadow: 0 8px 24px rgba(16, 185, 129, .3);
      opacity: 0;
      animation: fadeInUp .6s ease-out .8s both
    }

    .auth-btn:before {
      content: "";
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, #34d399, #22d3ee);
      opacity: 0;
      transition: opacity .4s;
      z-index: -1
    }

    .auth-btn:hover:before {
      opacity: 1
    }

    .auth-btn:hover {
      transform: translateY(-3px) scale(1.02);
      box-shadow: 0 12px 32px rgba(16, 185, 129, .5);
      color: #000
    }

    .auth-btn:active {
      transform: translateY(-1px) scale(1)
    }

    .auth-btn i {
      margin-left: 10px;
      margin-right: 10px
    }

    .auth-divider {
      text-align: center;
      margin: 32px 0;
      position: relative;
      opacity: 0;
      animation: fadeInUp .6s ease-out .9s both
    }

    .auth-divider:before {
      content: "";
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .2), transparent)
    }

    .auth-divider span {
      background: #000;
      padding: 0 20px;
      position: relative;
      color: rgba(255, 255, 255, .5);
      font-size: 14px
    }

    .auth-footer {
      text-align: center;
      margin-top: 32px;
      opacity: 0;
      animation: fadeInUp .6s ease-out 1s both
    }

    .auth-footer p {
      color: rgba(255, 255, 255, .6);
      font-size: 14px;
      margin: 0
    }

    .auth-footer a {
      color: #34d399;
      font-weight: 600;
      transition: color .3s;
      text-decoration: none;
      margin-right: 8px
    }

    .auth-footer a:hover {
      color: #22d3ee;
      text-decoration: underline
    }

    .auth-footer span {
      margin-left: 8px
    }

    .error-message {
      background: rgba(239, 68, 68, .15);
      border: 1px solid rgba(239, 68, 68, .3);
      color: #fca5a5;
      padding: 14px 18px;
      border-radius: 10px;
      margin-bottom: 24px;
      display: none;
      font-size: 14px;
      animation: fadeInUp .4s ease-out
    }

    .success-message {
      background: rgba(16, 185, 129, .15);
      border: 1px solid rgba(16, 185, 129, .3);
      color: #34d399;
      padding: 14px 18px;
      border-radius: 10px;
      margin-bottom: 24px;
      display: none;
      font-size: 14px;
      animation: fadeInUp .4s ease-out
    }


