    :root {
      --bg-gradient: linear-gradient(160deg, #1e1a12 0%, #1a1712 30%, #1d1210 55%, #1a1410 75%, #1e1a12 100%);
      --text-main: #f5f0e8;
      --text-muted: #9a8e7e;
      --text-accent: #c9a96e;
      --surface: #201d18;
      --card: #252119;
      --input-bg: #252119;
      --border: rgba(201, 169, 110, 0.12);
      --border-focus: rgba(201, 169, 110, 0.4);
      --crimson: #c8102e;
      --crimson-hover: #a00d24;
    }

    body.theme-light {
      --bg-gradient: linear-gradient(160deg, #fdfcf9 0%, #f7f3ed 50%, #fdfcf9 100%);
      --text-main: #1a1712;
      --text-muted: #6b5f4f;
      --text-accent: #9a7440;
      --surface: #ffffff;
      --card: #ffffff;
      --input-bg: #fcfbf9;
      --border: rgba(154, 116, 64, 0.15);
      --border-focus: rgba(154, 116, 64, 0.4);
    }

    body {
      background: var(--bg-gradient);
      color: var(--text-main);
      font-family: 'Nunito Sans', sans-serif;
      min-height: 100vh;
      transition: background 0.3s ease, color 0.3s ease;
    }

    .custom-input {
      background-color: var(--input-bg);
      border: 1px solid var(--border);
      color: var(--text-main);
      transition: all 0.2s ease;
    }

    .custom-input:focus {
      outline: none;
      border-color: var(--text-accent);
      box-shadow: 0 0 0 1px var(--text-accent);
    }

    .btn-red {
      background: var(--crimson);
      color: #fff;
    }

    .btn-red:hover {
      background: var(--crimson-hover);
    }

    .btn-red:disabled {
      background: #4a1c1c;
      cursor: not-allowed;
      opacity: 0.6;
    }

    .card-style {
      background-color: var(--surface);
      border: 1px solid var(--border);
      box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.3);
    }

    body.theme-light .card-style {
      box-shadow: 0 10px 30px -15px rgba(0, 0, 0, 0.1);
    }

    .upload-box {
      border: 2px dashed var(--border);
      background-color: rgba(0, 0, 0, 0.05);
    }

    body.theme-light .upload-box {
      background-color: rgba(0, 0, 0, 0.02);
    }

    .upload-box:hover {
      border-color: var(--text-accent);
    }

    .glow-btn {
      --glow-c: #c9a96e;
      --bg-c: rgba(255, 255, 255, 0.03);
      --t-c: var(--text-main);
      --ht-c: #fff;

      position: relative;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      padding: 0.65rem 1.4rem;
      background-color: var(--bg-c);
      color: var(--text-accent);
      font-size: 0.7rem;
      font-family: "Nunito Sans", sans-serif;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      text-decoration: none;
      border: 1px solid rgba(201, 169, 110, 0.25);
      border-radius: 12px;
      cursor: pointer;
      overflow: hidden;
      transition: all 0.3s ease;
      z-index: 10;
      gap: 0.6rem;
      will-change: color, border-color, transform;
    }

    body.theme-light .glow-btn {
      --bg-c: rgba(154, 116, 64, 0.05);
      --glow-c: #9A7440;
      border-color: rgba(154, 116, 64, 0.2);
    }

    .glow-btn:hover {
      color: var(--ht-c);
      border-color: rgba(201, 169, 110, 0.4);
    }

    body.theme-light .glow-btn:hover {
      border-color: rgba(154, 116, 64, 0.4);
    }

    .glow-btn-effect {
      position: absolute;
      width: 200px;
      height: 200px;
      background: radial-gradient(circle, var(--glow-c) 0%, transparent 70%);
      border-radius: 50%;
      opacity: 0;
      pointer-events: none;
      transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
      transform: translate(-50%, -50%) scale(0);
      z-index: 0;
      left: var(--x, 50%);
      top: var(--y, 50%);
    }

    @media (max-width: 640px) {
      .glow-btn {
        padding: 0.55rem 1rem;
        font-size: 0.6rem;
        gap: 0.4rem;
      }
    }


    .glow-btn:hover .glow-btn-effect {
      opacity: 0.35;
      transform: translate(-50%, -50%) scale(1.2);
    }

    .glow-btn span {
      position: relative;
      z-index: 2;
      pointer-events: none;
      display: flex;
      align-items: center;
      gap: 0.5rem;
    }

    /* Modal Styles */
    .modal-overlay {
      position: absolute; 
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 1000;
      background: rgba(0,0,0,0.7); 
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      display: flex; 
      align-items: flex-start !important; 
      justify-content: center;
      padding: 2rem 1rem !important;
      overflow-y: auto;
      min-height: 100%;
    }.modal-overlay.hidden {
      display: none;
    }

    .modal-content {
      width: 100%;
      max-height: 90vh;
      overflow-y: auto;
      transform: scale(0.95);
      opacity: 0;
      animation: modalIn 0.3s forwards cubic-bezier(0.2, 0.8, 0.2, 1);
    }

    @keyframes modalIn {
      to {
        transform: scale(1);
        opacity: 1;
      }
    }

    /* Custom Scrollbar for Modal inside iframe */
    .modal-content::-webkit-scrollbar {
      width: 6px;
    }

    .modal-content::-webkit-scrollbar-thumb {
      background: rgba(201, 169, 110, 0.3);
      border-radius: 4px;
    }

    /* ORBITAL LOADER (VANILLA CSS) */
    .orbital-wrapper {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: 1.5rem;
      padding: 4rem 1rem;
      width: 100%;
    }

    .orbital-loader {
      position: relative;
      width: 64px;
      height: 64px;
    }

    .orbital-ring {
      position: absolute;
      inset: 0;
      border: 2px solid transparent;
      border-top-color: var(--text-accent);
      border-radius: 50%;
    }

    .orbital-ring:nth-child(1) {
      animation: rotateClockwise 1s linear infinite;
    }

    .orbital-ring:nth-child(2) {
      inset: 8px;
      border-top-color: var(--text-muted);
      animation: rotateCounterClockwise 1.5s linear infinite;
    }

    .orbital-ring:nth-child(3) {
      inset: 16px;
      border-top-color: var(--crimson);
      animation: rotateClockwise 0.8s linear infinite;
    }

    @keyframes rotateClockwise {
      to {
        transform: rotate(360deg);
      }
    }

    @keyframes rotateCounterClockwise {
      to {
        transform: rotate(-360deg);
      }
    }

    .loading-msg {
      font-size: 0.7rem;
      color: var(--text-muted);
      text-transform: uppercase;
      letter-spacing: 0.15em;
      font-weight: 600;
    }

    /* FLUID DROPDOWN CUSTOM CSS (VANILLA) */
    .filter-container {
      position: relative;
      z-index: 30;
    }

    .filter-menu {
      position: absolute;
      right: 0;
      top: 120%;
      width: 220px;
      background: rgba(28, 25, 20, 0.98);
      backdrop-filter: blur(25px);
      -webkit-backdrop-filter: blur(25px);
      border: 1px solid rgba(201, 169, 110, 0.15);
      border-radius: 14px;
      padding: 8px;
      box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6);
      opacity: 0;
      visibility: hidden;
      transform: scale(0.95) translateY(-10px);
      transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      transform-origin: top right;
    }

    .filter-menu.open {
      opacity: 1;
      visibility: visible;
      transform: scale(1) translateY(0);
    }

    .filter-item {
      width: 100%;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 8px 12px;
      font-size: 0.75rem;
      color: #9a8e7e;
      border-radius: 6px;
      cursor: pointer;
      border: none;
      background: transparent;
      transition: color 0.2s;
      position: relative;
      z-index: 2;
    }

    .filter-item:hover,
    .filter-item.active {
      color: #f5f0e8;
    }

    .filter-highlight {
      position: absolute;
      left: 6px;
      right: 6px;
      height: 32px;
      background: rgba(255, 255, 255, 0.04);
      border-radius: 6px;
      z-index: 1;
      transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
      pointer-events: none;
    }

    .divider {
      height: 1px;
      background: rgba(255, 255, 255, 0.05);
      margin: 6px 12px;
    }