/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: 'Poppins', sans-serif;
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-6xl: 3.75rem;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --tracking-tight: -0.025em;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --blur-lg: 16px;
    --blur-2xl: 40px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-80 {
    top: calc(var(--spacing) * 80);
  }
  .-right-20 {
    right: calc(var(--spacing) * -20);
  }
  .left-1 {
    left: calc(var(--spacing) * 1);
  }
  .left-1\/2 {
    left: calc(1/2 * 100%);
  }
  .left-1\/3 {
    left: calc(1/3 * 100%);
  }
  .-z-20 {
    z-index: calc(20 * -1);
  }
  .z-50 {
    z-index: 50;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-10 {
    margin-block: calc(var(--spacing) * 10);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .mt-12 {
    margin-top: calc(var(--spacing) * 12);
  }
  .mt-14 {
    margin-top: calc(var(--spacing) * 14);
  }
  .mt-20 {
    margin-top: calc(var(--spacing) * 20);
  }
  .mt-32 {
    margin-top: calc(var(--spacing) * 32);
  }
  .mt-40 {
    margin-top: calc(var(--spacing) * 40);
  }
  .ml-auto {
    margin-left: auto;
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .line-clamp-3 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .table {
    display: table;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .size-3 {
    width: calc(var(--spacing) * 3);
    height: calc(var(--spacing) * 3);
  }
  .size-3\.5 {
    width: calc(var(--spacing) * 3.5);
    height: calc(var(--spacing) * 3.5);
  }
  .size-4 {
    width: calc(var(--spacing) * 4);
    height: calc(var(--spacing) * 4);
  }
  .size-4\.5 {
    width: calc(var(--spacing) * 4.5);
    height: calc(var(--spacing) * 4.5);
  }
  .size-5 {
    width: calc(var(--spacing) * 5);
    height: calc(var(--spacing) * 5);
  }
  .size-6 {
    width: calc(var(--spacing) * 6);
    height: calc(var(--spacing) * 6);
  }
  .size-6\.5 {
    width: calc(var(--spacing) * 6.5);
    height: calc(var(--spacing) * 6.5);
  }
  .size-8 {
    width: calc(var(--spacing) * 8);
    height: calc(var(--spacing) * 8);
  }
  .size-8\.5 {
    width: calc(var(--spacing) * 8.5);
    height: calc(var(--spacing) * 8.5);
  }
  .size-10 {
    width: calc(var(--spacing) * 10);
    height: calc(var(--spacing) * 10);
  }
  .size-130 {
    width: calc(var(--spacing) * 130);
    height: calc(var(--spacing) * 130);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-8\.5 {
    height: calc(var(--spacing) * 8.5);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .h-auto {
    height: auto;
  }
  .max-h-0 {
    max-height: calc(var(--spacing) * 0);
  }
  .max-h-80 {
    max-height: calc(var(--spacing) * 80);
  }
  .w-0 {
    width: calc(var(--spacing) * 0);
  }
  .w-0\.5 {
    width: calc(var(--spacing) * 0.5);
  }
  .w-auto {
    width: auto;
  }
  .w-full {
    width: 100%;
  }
  .w-max {
    width: max-content;
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-80 {
    max-width: calc(var(--spacing) * 80);
  }
  .max-w-88 {
    max-width: calc(var(--spacing) * 88);
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .-translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * -0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-1 {
    --tw-translate-x: calc(var(--spacing) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-1\/2 {
    --tw-translate-x: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .-translate-x-full {
    --tw-translate-x: -100%;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .translate-x-0 {
    --tw-translate-x: calc(var(--spacing) * 0);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-10 {
    gap: calc(var(--spacing) * 10);
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-20 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 20) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 20) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-x-10 {
    :where(& > :not(:last-child)) {
      --tw-space-x-reverse: 0;
      margin-inline-start: calc(calc(var(--spacing) * 10) * var(--tw-space-x-reverse));
      margin-inline-end: calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-x-reverse)));
    }
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .scroll-smooth {
    scroll-behavior: smooth;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-white {
    border-color: var(--color-white);
  }
  .border-white\/20 {
    border-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-\[\#2E08CF\] {
    background-color: #2E08CF;
  }
  .bg-\[\#D10A8A\] {
    background-color: #D10A8A;
  }
  .bg-\[\#F26A06\] {
    background-color: #F26A06;
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-black\/15 {
    background-color: color-mix(in srgb, #000 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 15%, transparent);
    }
  }
  .bg-black\/20 {
    background-color: color-mix(in srgb, #000 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 20%, transparent);
    }
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/15 {
    background-color: color-mix(in srgb, #fff 15%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }
  .bg-linear-to-b {
    --tw-gradient-position: to bottom;
    @supports (background-image: linear-gradient(in lab, red, red)) {
      --tw-gradient-position: to bottom in oklab;
    }
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-gradient-to-b {
    --tw-gradient-position: to bottom in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-transparent {
    --tw-gradient-from: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-white {
    --tw-gradient-via: var(--color-white);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-6 {
    padding-block: calc(var(--spacing) * 6);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-16 {
    padding-top: calc(var(--spacing) * 16);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-6 {
    padding-bottom: calc(var(--spacing) * 6);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-4xl\/13 {
    font-size: var(--text-4xl);
    line-height: calc(var(--spacing) * 13);
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-base\/7 {
    font-size: var(--text-base);
    line-height: calc(var(--spacing) * 7);
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-sm\/6 {
    font-size: var(--text-sm);
    line-height: calc(var(--spacing) * 6);
  }
  .text-sm\/7 {
    font-size: var(--text-sm);
    line-height: calc(var(--spacing) * 7);
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .text-gray-100 {
    color: var(--color-gray-100);
  }
  .text-gray-200 {
    color: var(--color-gray-200);
  }
  .text-gray-300 {
    color: var(--color-gray-300);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-white {
    color: var(--color-white);
  }
  .underline {
    text-decoration-line: underline;
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .blur-\[100px\] {
    --tw-blur: blur(100px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur-2xl {
    --tw-backdrop-blur: blur(var(--blur-2xl));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-lg {
    --tw-backdrop-blur: blur(var(--blur-lg));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-all {
    transition-property: all;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .duration-300 {
    --tw-duration: 300ms;
    transition-duration: 300ms;
  }
  .duration-400 {
    --tw-duration: 400ms;
    transition-duration: 400ms;
  }
  .hover\:-translate-y-0\.5 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-1 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -1);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:bg-white\/10 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .hover\:text-gray-300 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gray-300);
      }
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .active\:scale-90 {
    &:active {
      --tw-scale-x: 90%;
      --tw-scale-y: 90%;
      --tw-scale-z: 90%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
  .max-md\:w-full {
    @media (width < 48rem) {
      width: 100%;
    }
  }
  .max-sm\:justify-center {
    @media (width < 40rem) {
      justify-content: center;
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:hidden {
    @media (width >= 48rem) {
      display: none;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:flex-row-reverse {
    @media (width >= 48rem) {
      flex-direction: row-reverse;
    }
  }
  .md\:gap-3 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 3);
    }
  }
  .md\:gap-20 {
    @media (width >= 48rem) {
      gap: calc(var(--spacing) * 20);
    }
  }
  .md\:space-y-30 {
    @media (width >= 48rem) {
      :where(& > :not(:last-child)) {
        --tw-space-y-reverse: 0;
        margin-block-start: calc(calc(var(--spacing) * 30) * var(--tw-space-y-reverse));
        margin-block-end: calc(calc(var(--spacing) * 30) * calc(1 - var(--tw-space-y-reverse)));
      }
    }
  }
  .md\:px-6 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .md\:px-16 {
    @media (width >= 48rem) {
      padding-inline: calc(var(--spacing) * 16);
    }
  }
  .md\:text-4xl {
    @media (width >= 48rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .md\:text-6xl\/19 {
    @media (width >= 48rem) {
      font-size: var(--text-6xl);
      line-height: calc(var(--spacing) * 19);
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:px-24 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 24);
    }
  }
}
body {
  background-color: var(--color-black);
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
  color: var(--color-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@layer components {
  .glass {
    border-style: var(--tw-border-style);
    border-width: 1px;
    border-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
    background-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .btn {
    cursor: pointer;
    border-radius: calc(infinity * 1px);
    padding-inline: calc(var(--spacing) * 8);
    padding-block: calc(var(--spacing) * 2.5);
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
    color: var(--color-white);
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
    &:hover {
      @media (hover: hover) {
        opacity: 90%;
      }
    }
    &:active {
      --tw-scale-x: 98%;
      --tw-scale-y: 98%;
      --tw-scale-z: 98%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-space-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-space-y-reverse: 0;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
    }
  }
}
  /* ── MODAL BASE ── */
            #authModal {
                font-family: inherit;
            }

            /* Glow ring behind card */
            .nx-modal-glow {
                position: absolute;
                inset: -3px;
                border-radius: 28px;
                background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 50%, #f97316 100%);
                opacity: 0.5;
                filter: blur(18px);
                z-index: -1;
                animation: glowPulse 3s ease-in-out infinite alternate;
            }
            @keyframes glowPulse {
                from { opacity: 0.35; filter: blur(18px); }
                to   { opacity: 0.6;  filter: blur(24px); }
            }

            /* Card - NO SCROLLBAR */
            .nx-card {
                background: rgba(6, 4, 14, 0.82);
                backdrop-filter: blur(32px) saturate(1.4);
                -webkit-backdrop-filter: blur(32px) saturate(1.4);
                border: 1px solid rgba(255,255,255,0.09);
                border-radius: 24px;
                padding: 28px 28px 28px;
                position: relative;
                overflow: hidden;
            }

            /* Inner ambient glows */
            .nx-card::before {
                content: '';
                position: absolute;
                width: 260px; height: 260px;
                border-radius: 50%;
                background: radial-gradient(circle, rgba(236,72,153,0.18) 0%, transparent 70%);
                top: -80px; left: -60px;
                pointer-events: none;
            }
            .nx-card::after {
                content: '';
                position: absolute;
                width: 220px; height: 220px;
                border-radius: 50%;
                background: radial-gradient(circle, rgba(249,115,22,0.14) 0%, transparent 70%);
                bottom: -60px; right: -40px;
                pointer-events: none;
            }
            .nx-card-glow-purple {
                position: absolute;
                width: 180px; height: 180px;
                border-radius: 50%;
                background: radial-gradient(circle, rgba(139,92,246,0.18) 0%, transparent 70%);
                top: 0; right: 0;
                pointer-events: none;
            }
.result-wrapper {
    display: flex !important;
    justify-content: center !important;
    margin: 1.5rem 0;
}

.result-count {
    display: inline-flex;
    align-items: center;
    padding: 8px 24px;
    border-radius: 50px;
    background: linear-gradient(90deg, #D10A8A, #2E08CF, #F26A06) !important;;
    font-size: 13px;
    font-weight: 600;
    color: #fff  !important;;
}
            /* Logo icon */
            .nx-logo-icon {
                width: 52px; height: 52px;
                border-radius: 16px;
                background: linear-gradient(135deg, #ec4899, #8b5cf6, #f97316);
                display: flex; align-items: center; justify-content: center;
                margin: 0 auto 16px;
                box-shadow: 0 8px 28px rgba(139,92,246,0.35), 0 2px 8px rgba(236,72,153,0.25);
                position: relative; z-index: 1;
            }

            /* Brand title */
            .nx-brand {
                font-size: 22px;
                font-weight: 800;
                letter-spacing: 0.1em;
                background: linear-gradient(90deg, #f472b6 0%, #c084fc 50%, #fb923c 100%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
                background-clip: text;
                text-align: center;
                position: relative; z-index: 1;
            }
            .nx-brand-sub {
                text-align: center;
                font-size: 11.5px;
                color: #9ca3af;
                margin-top: 4px;
                letter-spacing: 0.04em;
                position: relative; z-index: 1;
            }

            /* Tab switcher */
            .nx-tabs {
                display: flex;
                position: relative;
                background: rgba(255,255,255,0.04);
                border: 1px solid rgba(255,255,255,0.07);
                border-radius: 14px;
                padding: 4px;
                margin: 20px 0 22px;
                position: relative;
                z-index: 1;
            }
            .nx-tab-pill {
                position: absolute;
                top: 4px;
                left: 4px;
                height: calc(100% - 8px);
                width: calc(50% - 4px);
                background: linear-gradient(90deg, rgba(236,72,153,0.85), rgba(139,92,246,0.85), rgba(249,115,22,0.85));
                border-radius: 10px;
                transition: left 0.32s cubic-bezier(0.4,0,0.2,1), width 0.32s cubic-bezier(0.4,0,0.2,1);
                box-shadow: 0 2px 16px rgba(139,92,246,0.28), 0 1px 4px rgba(236,72,153,0.2);
            }
            .nx-tab-btn {
                flex: 1;
                padding: 8px 0;
                background: none;
                border: none;
                font-size: 13px;
                font-weight: 600;
                cursor: pointer;
                position: relative;
                z-index: 2;
                border-radius: 10px;
                transition: color 0.25s;
                letter-spacing: 0.01em;
            }
            .nx-tab-btn.nx-active { color: #ffffff; }
            .nx-tab-btn.nx-inactive { color: #6b7280; }
            .nx-tab-btn.nx-inactive:hover { color: #9ca3af; }

            /* Field group */
            .nx-field { margin-bottom: 14px; position: relative; z-index: 1; }
            .nx-label {
                display: block;
                font-size: 11px;
                font-weight: 600;
                color: #9ca3af;
                letter-spacing: 0.05em;
                text-transform: uppercase;
                margin-bottom: 6px;
            }
            .nx-field-wrap { position: relative; }

            /* Crystal input - FIXED for visibility */
            .nx-input {
                width: 100%;
                padding: 11px 14px 11px 40px;
                background: rgba(20, 20, 30, 0.9) !important;
                border: 1px solid rgba(255,255,255,0.12);
                border-radius: 12px;
                color: #ffffff !important;
                font-size: 13.5px;
                font-family: inherit;
                outline: none;
                transition: border-color 0.22s, background 0.22s, box-shadow 0.22s;
                box-sizing: border-box;
                caret-color: #ec4899;
            }
            
            .nx-input:-webkit-autofill,
            .nx-input:-webkit-autofill:hover,
            .nx-input:-webkit-autofill:focus,
            .nx-input:-webkit-autofill:active {
                -webkit-box-shadow: 0 0 0 100px rgba(20, 20, 30, 0.95) inset !important;
                -webkit-text-fill-color: #ffffff !important;
                caret-color: #ec4899;
                border-color: rgba(236,72,153,0.4);
            }
            
            .nx-input::placeholder {
                color: #6b7280 !important;
                font-size: 12.5px;
                opacity: 1 !important;
            }
            
            .nx-input:focus {
                border-color: rgba(236,72,153,0.7);
                background: rgba(25, 25, 35, 0.95) !important;
                box-shadow: 0 0 0 3px rgba(236,72,153,0.12), 0 1px 12px rgba(139,92,246,0.08);
            }
            
            .nx-input.nx-purple:focus {
                border-color: rgba(139,92,246,0.7);
                background: rgba(25, 25, 35, 0.95) !important;
                box-shadow: 0 0 0 3px rgba(139,92,246,0.12), 0 1px 12px rgba(139,92,246,0.08);
                caret-color: #8b5cf6;
            }
            
            .nx-input.nx-purple:-webkit-autofill,
            .nx-input.nx-purple:-webkit-autofill:hover,
            .nx-input.nx-purple:-webkit-autofill:focus {
                -webkit-box-shadow: 0 0 0 100px rgba(20, 20, 30, 0.95) inset !important;
                -webkit-text-fill-color: #ffffff !important;
                border-color: rgba(139,92,246,0.4);
            }

            /* Field icon */
            .nx-field-icon {
                position: absolute;
                left: 12px;
                top: 50%;
                transform: translateY(-50%);
                color: #6b7280;
                pointer-events: none;
                transition: color 0.22s;
                display: flex;
                align-items: center;
            }
            .nx-field-wrap:focus-within .nx-field-icon { color: #ec4899; }
            .nx-field-wrap:focus-within .nx-field-icon.nx-purple { color: #8b5cf6; }

            /* Eye toggle */
            .nx-eye {
                position: absolute;
                right: 12px;
                top: 50%;
                transform: translateY(-50%);
                background: none;
                border: none;
                color: #6b7280;
                cursor: pointer;
                padding: 4px;
                display: flex;
                align-items: center;
                transition: color 0.2s;
                border-radius: 6px;
            }
            .nx-eye:hover { color: #9ca3af; }

            /* Strength meter */
            .nx-strength {
                display: flex;
                gap: 5px;
                margin-top: 6px;
            }
            .nx-strength-bar {
                flex: 1;
                height: 3px;
                border-radius: 999px;
                background: rgba(255,255,255,0.08);
                transition: background 0.3s ease;
            }
            .nx-strength-label {
                font-size: 9px;
                color: #6b7280;
                margin-top: 4px;
                text-align: right;
                transition: color 0.3s;
            }

            /* Forgot link */
            .nx-forgot {
                display: block;
                text-align: right;
                font-size: 11px;
                color: #6b7280;
                margin-top: -4px;
                margin-bottom: 6px;
                text-decoration: none;
                cursor: pointer;
                transition: color 0.2s;
            }
            .nx-forgot:hover { color: #f472b6; }

            /* Submit button */
            .nx-submit {
                width: 100%;
                padding: 12px 0;
                border-radius: 12px;
                border: none;
                background: linear-gradient(90deg, #ec4899 0%, #8b5cf6 50%, #f97316 100%);
                color: #ffffff;
                font-size: 13px;
                font-weight: 700;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                gap: 8px;
                transition: opacity 0.2s, transform 0.15s, box-shadow 0.2s;
                box-shadow: 0 4px 20px rgba(139,92,246,0.28), 0 2px 8px rgba(236,72,153,0.2);
                letter-spacing: 0.02em;
                margin-top: 6px;
                position: relative;
                overflow: hidden;
            }
            .nx-submit::before {
                content: '';
                position: absolute;
                inset: 0;
                background: linear-gradient(90deg, #f472b6, #a78bfa, #fb923c);
                opacity: 0;
                transition: opacity 0.25s;
            }
            .nx-submit:hover { transform: scale(1.008); box-shadow: 0 6px 28px rgba(139,92,246,0.4); }
            .nx-submit:hover::before { opacity: 1; }
            .nx-submit:active { transform: scale(0.992); }
            .nx-submit span { position: relative; z-index: 1; display: flex; align-items: center; gap: 8px; }
            .nx-submit svg { position: relative; z-index: 1; transition: transform 0.2s; }
            .nx-submit:hover svg { transform: translateX(2px); }

            .nx-submit.nx-purple-grad {
                background: linear-gradient(90deg, #8b5cf6 0%, #ec4899 50%, #f97316 100%);
            }

            /* Divider */
            .nx-divider {
                display: flex;
                align-items: center;
                gap: 10px;
                margin: 14px 0 12px;
                position: relative;
                z-index: 1;
            }
            .nx-divider-line { flex: 1; height: 1px; background: rgba(255,255,255,0.07); }
            .nx-divider-text { font-size: 10px; color: #4b5563; letter-spacing: 0.04em; }

            /* Switch text */
            .nx-switch-text {
                text-align: center;
                font-size: 11px;
                color: #6b7280;
                position: relative;
                z-index: 1;
            }
            .nx-switch-link {
                background: none;
                border: none;
                cursor: pointer;
                font-size: 11px;
                font-weight: 700;
                color: #f472b6;
                transition: color 0.2s, opacity 0.2s;
                padding: 0;
                margin-left: 3px;
            }
            .nx-switch-link:hover { opacity: 0.8; }
            .nx-switch-link.nx-purple-link { color: #a78bfa; }

            /* Auth message */
            #authMessage {
                border-radius: 10px;
                padding: 8px 12px;
                font-size: 11px;
                font-weight: 500;
                margin-top: 12px;
                position: relative;
                z-index: 1;
            }
            #authMessage.nx-error {
                background: rgba(239,68,68,0.1);
                border: 1px solid rgba(239,68,68,0.25);
                color: #fca5a5;
            }
            #authMessage.nx-success {
                background: rgba(34,197,94,0.1);
                border: 1px solid rgba(34,197,94,0.25);
                color: #86efac;
            }
            #authMessage.nx-info {
                background: rgba(139,92,246,0.1);
                border: 1px solid rgba(139,92,246,0.25);
                color: #c4b5fd;
            }

            /* Modal open animation */
            #authModalInner {
                transform: scale(0.93) translateY(12px);
                opacity: 0;
                transition: transform 0.38s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease;
            }
            #authModalInner.nx-visible {
                transform: scale(1) translateY(0);
                opacity: 1;
            }

            /* Close button */
            .nx-close {
                position: absolute;
                top: 14px;
                right: 14px;
                width: 28px;
                height: 28px;
                border-radius: 50%;
                background: rgba(255,255,255,0.06);
                border: 1px solid rgba(255,255,255,0.1);
                color: #6b7280;
                cursor: pointer;
                display: flex;
                align-items: center;
                justify-content: center;
                transition: background 0.2s, color 0.2s;
                z-index: 10;
            }
            .nx-close:hover { background: rgba(255,255,255,0.12); color: #fff; }

            /* form sections */
            .nx-form { position: relative; z-index: 1; }
            .nx-form.nx-hidden { display: none; }
            
            /* Register form - compact spacing */
            #registerForm .nx-field {
                margin-bottom: 12px;
            }
            
            #registerForm .nx-strength {
                margin-top: 4px;
            }
            
            #registerForm .nx-submit {
                margin-top: 8px;
            }
            
            #registerForm .nx-divider {
                margin: 10px 0 8px;
            }
            
            /* ── CUSTOM COLORFUL SCROLLBAR ── */
            ::-webkit-scrollbar {
                width: 10px;
                height: 10px;
            }
            ::-webkit-scrollbar-track {
                background: #0a0a0f;
                border-radius: 10px;
            }
            ::-webkit-scrollbar-thumb {
                background: linear-gradient(135deg, #ec4899, #8b5cf6, #f97316);
                border-radius: 10px;
            }
            ::-webkit-scrollbar-thumb:hover {
                background: linear-gradient(135deg, #f472b6, #a78bfa, #fb923c);
            }
            * {
                scrollbar-width: thin;
                scrollbar-color: #8b5cf6 #0a0a0f;
            }
              *, *::before, *::after { box-sizing: border-box; }
        body { font-family: 'Poppins', system-ui, sans-serif; background: #05030a; margin: 0; padding: 0; }

        ::-webkit-scrollbar { width: 6px; }
        ::-webkit-scrollbar-track { background: #06040e; }
        ::-webkit-scrollbar-thumb { background: linear-gradient(135deg,#ec4899,#8b5cf6,#f97316); border-radius: 999px; }

        .glass {
            background: rgba(255,255,255,0.05);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255,255,255,0.08);
        }
        .btn {
            padding: 10px 24px;
            border-radius: 999px;
            font-weight: 500;
            transition: all 0.2s;
            cursor: pointer;
        }
        .btn:hover { opacity: 0.85; transform: scale(1.02); }

        /* Navbar scroll effect */
        .navbar-scrolled {
            background: rgba(5, 3, 10, 0.95) !important;
            backdrop-filter: blur(16px) !important;
            box-shadow: 0 4px 20px rgba(0,0,0,0.3);
        }

        /* Search Bar */
        .nx-search-wrap {
            background: rgba(12, 10, 22, 0.9);
            backdrop-filter: blur(16px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 50px;
            padding: 4px 4px 4px 20px;
            display: flex;
            align-items: center;
            gap: 8px;
            max-width: 520px;
            margin: 0 auto;
        }
        .nx-search-input {
            flex: 1;
            background: transparent;
            border: none;
            outline: none;
            color: #fff;
            font-size: 13px;
            padding: 10px 0;
            font-family: 'Poppins', sans-serif;
        }
        .nx-search-input::placeholder { color: rgba(255,255,255,0.35); }
        .nx-search-btn {
            padding: 7px 22px;
            border-radius: 40px;
            border: none;
            cursor: pointer;
            background: linear-gradient(90deg, #D10A8A, #2E08CF, #F26A06);
            color: #fff;
            font-size: 12px;
            font-weight: 600;
            transition: all 0.2s;
            white-space: nowrap;
        }
        .nx-search-btn:hover { opacity: 0.9; transform: scale(1.02); }

        /* Category Chips */
        .nx-cat-chip {
            display: inline-flex;
            align-items: center;
            padding: 8px 20px;
            border-radius: 40px;
            cursor: pointer;
            background: rgba(255,255,255,0.08);
            border: 1px solid rgba(255,255,255,0.12);
            color: rgba(255,255,255,0.85);
            font-size: 13px;
            font-weight: 600;
            transition: all 0.2s;
        }
        .nx-cat-chip:hover {
            background: rgba(255,255,255,0.18);
            color: #fff;
            transform: translateY(-1px);
        }
        .nx-cat-chip.active {
            background: linear-gradient(90deg, #D10A8A, #2E08CF, #F26A06);
            border-color: transparent;
            color: #fff;
            box-shadow: 0 4px 12px rgba(209,10,138,0.3);
        }

        /* Job Cards Grid */
        .jobs-grid {
            display: grid;
            grid-template-columns: 1fr;
            gap: 24px;
        }
        @media (min-width: 768px) {
            .jobs-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        .nx-job-card {
            background: rgba(20, 18, 38, 0.85);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255,255,255,0.1);
            border-radius: 20px;
            overflow: hidden;
            transition: all 0.25s ease;
            height: 100%;
            display: flex;
            flex-direction: column;
        }
        .nx-job-card:hover {
            transform: translateY(-4px);
            border-color: rgba(209,10,138,0.4);
            box-shadow: 0 15px 30px -12px rgba(139,92,246,0.3);
        }
        .nx-job-poster {
            width: 100%;
            height: 160px;
            object-fit: cover;
            background: linear-gradient(135deg, #1a1635, #0d0a1c);
        }
        .nx-job-content { padding: 18px; flex: 1; display: flex; flex-direction: column; }
        .nx-job-title { font-size: 18px; font-weight: 700; color: #fff; margin-bottom: 6px; }
        .nx-job-company { font-size: 12px; color: rgba(255,255,255,0.5); margin-bottom: 12px; display: flex; align-items: center; gap: 12px; }
        .nx-badge { display: inline-flex; padding: 4px 12px; border-radius: 40px; font-size: 10px; font-weight: 600; }
        .nx-badge.pink { background: rgba(209,10,138,0.2); color: #f472b6; }
        .nx-badge.blue { background: rgba(46,8,207,0.2); color: #818cf8; }
        .nx-badge.orange { background: rgba(242,106,6,0.2); color: #fb923c; }
        .nx-desc { font-size: 12.5px; color: rgba(255,255,255,0.7); line-height: 1.5; margin: 12px 0; }
        .nx-skills { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
        .nx-skill-tag { padding: 4px 10px; border-radius: 8px; font-size: 10px; font-weight: 500; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.6); }
        .nx-salary-notice { font-size: 11px; font-weight: 500; color: #fb923c; background: rgba(242,106,6,0.1); padding: 8px 10px; border-radius: 10px; margin: 8px 0; border: 1px solid rgba(242,106,6,0.2); text-align: center; }
        .nx-apply-btn { padding: 10px 20px; border-radius: 40px; background: linear-gradient(90deg, #D10A8A, #2E08CF, #F26A06); border: none; color: #fff; font-size: 12px; font-weight: 600; cursor: pointer; transition: all 0.2s; width: 100%; margin-top: 12px; }
        .nx-apply-btn:hover { opacity: 0.9; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(209,10,138,0.4); }
        .result-count { display: inline-block; background: rgba(255,255,255,0.06); padding: 6px 18px; border-radius: 40px; font-size: 13px; color: rgba(255,255,255,0.6); }

        /* FAQ Styles */
        .faq-item {
            background: rgba(255,255,255,0.03);
            border: 1px solid rgba(255,255,255,0.08);
            border-radius: 16px;
            padding: 20px;
            cursor: pointer;
            transition: all 0.3s;
        }
        .faq-item:hover {
            background: rgba(255,255,255,0.06);
            border-color: rgba(209,10,138,0.3);
        }
        .faq-question {
            font-size: 16px;
            font-weight: 600;
            color: #fff;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .faq-answer {
            font-size: 14px;
            color: rgba(255,255,255,0.6);
            margin-top: 12px;
            display: none;
            line-height: 1.6;
        }
        .faq-item.active .faq-answer {
            display: block;
        }
        .faq-icon {
            transition: transform 0.3s;
        }
        .faq-item.active .faq-icon {
            transform: rotate(180deg);
        }

        /* Modal Styles */
        .nx-modal-glow {
            position: absolute; inset: -3px; border-radius: 28px;
            background: linear-gradient(135deg, #ec4899 0%, #8b5cf6 50%, #f97316 100%);
            opacity: 0.5; filter: blur(18px); z-index: -1;
            animation: glowPulse 3s ease-in-out infinite alternate;
        }
        @keyframes glowPulse {
            from { opacity: 0.35; filter: blur(18px); }
            to { opacity: 0.6; filter: blur(24px); }
        }
        .nx-card {
            background: rgba(6, 4, 14, 0.82);
            backdrop-filter: blur(32px) saturate(1.4);
            border: 1px solid rgba(255,255,255,0.09);
            border-radius: 24px;
            padding: 28px;
            position: relative;
            overflow: hidden;
        }
        .nx-brand { font-size: 22px; font-weight: 800; letter-spacing: 0.1em; background: linear-gradient(90deg, #f472b6 0%, #c084fc 50%, #fb923c 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; text-align: center; }
        .nx-brand-sub { text-align: center; font-size: 11.5px; color: #9ca3af; margin-top: 4px; }
        .nx-tabs { display: flex; position: relative; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 4px; margin: 20px 0 22px; }
        .nx-tab-pill { position: absolute; top: 4px; left: 4px; height: calc(100% - 8px); width: calc(50% - 4px); background: linear-gradient(90deg, rgba(236,72,153,0.85), rgba(139,92,246,0.85), rgba(249,115,22,0.85)); border-radius: 10px; transition: left 0.32s cubic-bezier(0.4,0,0.2,1); }
        .nx-tab-btn { flex: 1; padding: 8px 0; background: none; border: none; font-size: 13px; font-weight: 600; cursor: pointer; position: relative; z-index: 2; border-radius: 10px; transition: color 0.25s; color: #6b7280; }
        .nx-tab-btn.nx-active { color: #ffffff; }
        .nx-field { margin-bottom: 14px; }
        .nx-label { display: block; font-size: 11px; font-weight: 600; color: #9ca3af; text-transform: uppercase; margin-bottom: 6px; }
        .nx-field-wrap { position: relative; }
        .nx-input { width: 100%; padding: 11px 14px 11px 40px; background: rgba(20,20,30,0.9) !important; border: 1px solid rgba(255,255,255,0.12); border-radius: 12px; color: #ffffff !important; font-size: 13.5px; font-family: 'Poppins', sans-serif; outline: none; }
        .nx-input:focus { border-color: rgba(236,72,153,0.7); background: rgba(25,25,35,0.95) !important; box-shadow: 0 0 0 3px rgba(236,72,153,0.12); }
        .nx-field-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #6b7280; pointer-events: none; }
        .nx-eye { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: #6b7280; cursor: pointer; padding: 4px; }
        .nx-submit { width: 100%; padding: 12px 0; border-radius: 12px; border: none; background: linear-gradient(90deg, #ec4899 0%, #8b5cf6 50%, #f97316 100%); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; transition: opacity 0.2s, transform 0.15s; margin-top: 6px; }
        .nx-submit:hover { transform: scale(1.008); opacity: 0.95; }
        .nx-divider { display: flex; align-items: center; gap: 10px; margin: 14px 0 12px; }
        .nx-divider-line { flex: 1; height: 1px; background: rgba(255,255,255,0.07); }
        .nx-switch-text { text-align: center; font-size: 11px; color: #6b7280; }
        .nx-switch-link { background: none; border: none; cursor: pointer; font-size: 11px; font-weight: 700; color: #f472b6; margin-left: 3px; }
        #authMessage { border-radius: 10px; padding: 8px 12px; font-size: 11px; font-weight: 500; margin-top: 12px; }
        #authMessage.nx-error { background: rgba(239,68,68,0.1); border: 1px solid rgba(239,68,68,0.25); color: #fca5a5; }
        #authMessage.nx-success { background: rgba(34,197,94,0.1); border: 1px solid rgba(34,197,94,0.25); color: #86efac; }
        .nx-form.nx-hidden { display: none; }
        #authModalInner { transform: scale(0.93) translateY(12px); opacity: 0; transition: transform 0.38s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease; }
        #authModalInner.nx-visible { transform: scale(1) translateY(0); opacity: 1; }
        .nx-close { position: absolute; top: 14px; right: 14px; width: 28px; height: 28px; border-radius: 50%; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: #6b7280; cursor: pointer; display: flex; align-items: center; justify-content: center; z-index: 10; }
        
        /* Page visibility */
        .page {
            display: none;
        }
        .page.active-page {
            display: block;
        }
        /* Project Card Styles - Clean & Professional */
.project-card {
    background: rgba(20, 18, 38, 0.85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    overflow: hidden;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.project-card:hover {
    transform: translateY(-4px);
    border-color: rgba(236, 72, 153, 0.4);
    box-shadow: 0 20px 35px -12px rgba(139, 92, 246, 0.25);
}

.project-card-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.project-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.project-card:hover .project-card-image img {
    transform: scale(1.02);
}

.project-card-content {
    padding: 1.5rem;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.project-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.project-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.4;
    margin: 0;
}

.project-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.25rem 0.75rem;
    border-radius: 40px;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.badge-paid {
    background: rgba(52, 211, 153, 0.15);
    color: #34d399;
    border: 1px solid rgba(52, 211, 153, 0.3);
}

.badge-unpaid {
    background: rgba(251, 146, 60, 0.15);
    color: #fb923c;
    border: 1px solid rgba(251, 146, 60, 0.3);
}

.badge-purpose {
    background: rgba(139, 92, 246, 0.15);
    color: #a78bfa;
    border: 1px solid rgba(139, 92, 246, 0.3);
}

.project-description {
    font-size: 0.85rem;
    color: #cbd5e1;
    line-height: 1.5;
    margin: 0;
}

/* Progress Section */
.progress-section {
    margin: 0.25rem 0;
}

.progress-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.5rem;
    font-size: 0.7rem;
    color: #94a3b8;
}

.progress-percent {
    font-weight: 600;
    color: #f472b6;
}

.progress-track {
    width: 100%;
    height: 6px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    overflow: hidden;
}

.progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #ec4899, #a855f7, #f97316);
    border-radius: 10px;
    transition: width 0.5s ease;
}

/* Document Link */
.doc-section {
    margin: 0;
}

.doc-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.75rem;
    color: #38bdf8;
    text-decoration: none;
    transition: color 0.2s;
}

.doc-link:hover {
    color: #7dd3fc;
    text-decoration: underline;
}

/* Roles Info */
.roles-info {
    margin: 0;
}

.roles-count {
    font-size: 0.7rem;
    color: #64748b;
}

/* Notice Section */
.notice-section {
    background: rgba(251, 146, 60, 0.08);
    border: 1px solid rgba(251, 146, 60, 0.15);
    border-radius: 12px;
    padding: 0.6rem 0.8rem;
    font-size: 0.7rem;
    color: #fb923c;
    text-align: center;
}

/* Apply Button */
.apply-btn {
    width: 100%;
    background: linear-gradient(90deg, #ec4899, #a855f7);
    border: none;
    border-radius: 40px;
    padding: 0.75rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: 0.25rem;
}

.apply-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(236, 72, 153, 0.3);
}

/* Grid Layout */
.jobs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 1.5rem;
    margin-top: 1rem;
}

@media (max-width: 640px) {
    .jobs-grid {
        grid-template-columns: 1fr;
    }
    
    .project-card-content {
        padding: 1.2rem;
    }
    
    .project-title {
        font-size: 1.1rem;
    }
}
/* Action Buttons */
.action-buttons {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    margin-top: 0.5rem;
}

.btn-doc {
    width: 100%;
    background: rgba(56, 189, 248, 0.1);
    border: 1px solid rgba(56, 189, 248, 0.3);
    border-radius: 40px;
    padding: 0.7rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #38bdf8;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-doc:hover {
    background: rgba(56, 189, 248, 0.2);
    transform: translateY(-2px);
}

.btn-apply {
    width: 100%;
    background: linear-gradient(90deg, #ec4899, #a855f7);
    border: none;
    border-radius: 40px;
    padding: 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-apply:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(236, 72, 153, 0.3);
}
/* Notice Section - Dynamic Styling */
.notice-section {
    border-radius: 12px;
    padding: 0.7rem 0.9rem;
    font-size: 0.7rem;
    line-height: 1.5;
    text-align: center;
    margin: 0.5rem 0;
}

.notice-paid {
    background: rgba(52, 211, 153, 0.08);
    border: 1px solid rgba(52, 211, 153, 0.2);
    color: #6ee7b7;
}

.notice-unpaid {
    background: rgba(251, 146, 60, 0.08);
    border: 1px solid rgba(251, 146, 60, 0.2);
    color: #fdba74;
}
/* Roles Grid */
.roles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 1.5rem;
    margin-top: 1.5rem;
}

/* Role Card */
.role-card {
    background: rgba(20, 18, 38, 0.85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 1.5rem;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.role-card:hover {
    transform: translateY(-4px);
    border-color: rgba(236, 72, 153, 0.4);
    box-shadow: 0 20px 35px -12px rgba(139, 92, 246, 0.25);
}

.role-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.role-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.role-category-badge {
    background: linear-gradient(135deg, rgba(236, 72, 153, 0.2), rgba(168, 85, 247, 0.2));
    border: 1px solid rgba(236, 72, 153, 0.3);
    border-radius: 40px;
    padding: 0.25rem 0.8rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: #f472b6;
}

.role-description {
    font-size: 0.85rem;
    color: #cbd5e1;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.role-techstack {
    margin-bottom: 1.25rem;
}

.tech-label {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.05em;
}

.tech-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.tech-chip {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 0.25rem 0.7rem;
    font-size: 0.7rem;
    color: #a78bfa;
}

.apply-role-btn {
    width: 100%;
    background: linear-gradient(90deg, #ec4899, #a855f7);
    border: none;
    border-radius: 40px;
    padding: 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: auto;
}

.apply-role-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(236, 72, 153, 0.3);
}

/* Back Header */
.back-header {
    margin-bottom: 1.5rem;
}

.btn-back-to-projects {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 40px;
    padding: 0.5rem 1.2rem;
    font-size: 0.8rem;
    color: #cbd5e1;
    cursor: pointer;
    transition: all 0.2s;
    margin-bottom: 1rem;
}

.btn-back-to-projects:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

/* Project Context Card */
.project-context-card {
    background: rgba(20, 18, 38, 0.6);
    border-radius: 20px;
    padding: 1rem;
    display: flex;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
    border: 1px solid rgba(255, 255, 255, 0.06);
}

.project-context-image {
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    flex-shrink: 0;
}

.project-context-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.project-context-info h3 {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.25rem;
}

.project-context-info p {
    font-size: 0.75rem;
    color: #94a3b8;
    margin-top: 0.5rem;
}

/* Button View Roles */
.btn-view-roles {
    width: 100%;
    background: rgba(168, 85, 247, 0.15);
    border: 1px solid rgba(168, 85, 247, 0.3);
    border-radius: 40px;
    padding: 0.7rem;
    font-size: 0.8rem;
    font-weight: 500;
    color: #c084fc;
    cursor: pointer;
    transition: all 0.2s ease;
}

.btn-view-roles:hover {
    background: rgba(168, 85, 247, 0.25);
    transform: translateY(-2px);
}
/* Role Card with Project Info */
.role-card-project-info {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
}

.role-project-image {
    width: 60px;
    height: 60px;
    border-radius: 12px;
    object-fit: cover;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.role-project-details {
    flex: 1;
}

.role-project-name {
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 0.25rem;
}

.role-project-badges {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.role-card-divider {
    height: 1px;
    background: rgba(255, 255, 255, 0.08);
    margin: 1rem 0;
}

/* Rest of role card styles remain same */
.role-card {
    background: rgba(20, 18, 38, 0.85);
    backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 24px;
    padding: 1.5rem;
    transition: all 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.role-card:hover {
    transform: translateY(-4px);
    border-color: rgba(236, 72, 153, 0.4);
    box-shadow: 0 20px 35px -12px rgba(139, 92, 246, 0.25);
}

.role-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.role-title {
    font-size: 1.2rem;
    font-weight: 700;
    color: #fff;
    margin: 0;
}

.role-category-badge {
    background: linear-gradient(135deg, rgba(236, 72, 153, 0.2), rgba(168, 85, 247, 0.2));
    border: 1px solid rgba(236, 72, 153, 0.3);
    border-radius: 40px;
    padding: 0.25rem 0.8rem;
    font-size: 0.7rem;
    font-weight: 600;
    color: #f472b6;
}

.role-description {
    font-size: 0.85rem;
    color: #cbd5e1;
    line-height: 1.5;
    margin-bottom: 1rem;
}

.role-techstack {
    margin-bottom: 1.25rem;
}

.tech-label {
    font-size: 0.65rem;
    font-weight: 600;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.05em;
}

.tech-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-top: 0.5rem;
}

.tech-chip {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 20px;
    padding: 0.25rem 0.7rem;
    font-size: 0.7rem;
    color: #a78bfa;
}

.apply-role-btn {
    width: 100%;
    background: linear-gradient(90deg, #ec4899, #a855f7);
    border: none;
    border-radius: 40px;
    padding: 0.7rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    transition: all 0.2s ease;
    margin-top: auto;
}

.apply-role-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(236, 72, 153, 0.3);
}

/* Back Button */
.btn-back-to-projects {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 40px;
    padding: 0.5rem 1.2rem;
    font-size: 0.8rem;
    color: #cbd5e1;
    cursor: pointer;
    transition: all 0.2s;
    margin-bottom: 1rem;
}

.btn-back-to-projects:hover {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}

.back-header {
    margin-bottom: 1rem;
}

/* Roles Grid */
.roles-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
    gap: 1.5rem;
    margin-top: 0rem;
}
/* Profile Dropdown Styles */
.profile-dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    position: absolute;
    right: 0;
    top: 45px;
    background: rgba(10, 10, 20, 0.95);
    backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 16px;
    min-width: 160px;
    z-index: 100;
    display: none;
}

.dropdown-content.show {
    display: block;
}

.dropdown-content a {
    display: flex;
    align-items: center;
    padding: 10px 16px;
    color: #e5e7eb;
    text-decoration: none;
    font-size: 13px;
    transition: background 0.2s;
}

.dropdown-content a:hover {
    background: rgba(255, 255, 255, 0.08);
}

.avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: linear-gradient(135deg, #ec4899, #8b5cf6);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-weight: bold;
    color: white;
    font-size: 16px;
    transition: transform 0.2s;
}

.avatar:hover {
    transform: scale(1.05);
}

.hidden {
    display: none !important;
}

.flex {
    display: flex;
}

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

.gap-3 {
    gap: 12px;
}
#applyModalInner {
    transform: scale(0.93) translateY(12px);
    opacity: 0;
    transition: transform 0.38s cubic-bezier(0.34,1.56,0.64,1), opacity 0.3s ease;
}
#applyModalInner.nx-visible {
    transform: scale(1) translateY(0);
    opacity: 1;
}
/* ── MOBILE RESPONSIVE FIXES ── */
nav .flex.items-center.justify-center.gap-8 { display: none; }
@media (min-width: 768px) {
    nav .flex.items-center.justify-center.gap-8 { display: flex; }
}
#menu-btn { display: flex; }
@media (min-width: 768px) { #menu-btn { display: none; } }

#mobile-menu {
    display: none;
    flex-direction: column;
    position: fixed;
    top: 60px; left: 0; right: 0;
    z-index: 49;
    background: rgba(5, 3, 10, 0.97);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding: 1.25rem 1.5rem 1.5rem;
}
#mobile-menu.open { display: flex; }
#mobile-menu a {
    display: block;
    padding: 0.85rem 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    font-size: 15px;
    font-weight: 500;
    color: rgba(255,255,255,0.85);
    text-decoration: none;
    transition: color 0.2s;
}
#mobile-menu a:last-child { border-bottom: none; }
#mobile-menu a:hover { color: #fff; }

body, html { overflow-x: hidden; }

@media (max-width: 767px) {
    h1 { font-size: 2rem !important; line-height: 1.25 !important; }
    .jobs-grid, .roles-grid { grid-template-columns: 1fr; }
    .project-card-content { padding: 1rem; }
    .nx-search-wrap { margin: 0 0.5rem; }
    .faq-question { font-size: 14px; }
    footer .flex.flex-wrap { gap: 1rem; font-size: 13px; }
}
@media (max-width: 500px) {
    .nx-card { padding: 20px 16px; border-radius: 18px; }
    #authModalInner, #profileModalInner, #applyModalInner { margin: 0 0.5rem; }
}