  :root {
      --bg: #0a0a0f;
      --bg2: #111118;
      --bg3: #18181f;
      --surface: #1e1e28;
      --border: rgba(255, 255, 255, 0.07);
      --border2: rgba(255, 255, 255, 0.12);
      --text: #f0eff5;
      --text2: #9997aa;
      --text3: #5e5c72;
      --accent: #7f6bfc;
      --accent2: #5b49d6;
      --accent-glow: rgba(127, 107, 252, 0.18);
      --green: #38d9a9;
      --green-dim: rgba(56, 217, 169, 0.12);
      --amber: #fcc419;
      --amber-dim: rgba(252, 196, 25, 0.12);
      --blue: #74c0fc;
      --blue-dim: rgba(116, 192, 252, 0.1);
      --font-head: 'Syne', sans-serif;
      --font-body: 'DM Sans', sans-serif;
      --font-mono: 'DM Mono', monospace;
      --r: 10px;
      --r-lg: 16px;
      --r-xl: 24px;
  }

  html {
      scroll-behavior: smooth;
  }

  body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-body);
      font-size: 15px;
      line-height: 1.65;
      -webkit-font-smoothing: antialiased;
      overflow-x: hidden;
  }

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

  /* noise overlay */
  body::before {
      content: '';
      position: fixed;
      inset: 0;
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
      opacity: 0.025;
      pointer-events: none;
      z-index: 9999;
  }

  /* navbar overrides */
  .navbar {
      background: rgba(10, 10, 15, 0.85) !important;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border-bottom: 1px solid var(--border);
      min-height: 62px;
  }

  .nav-logo {
      font-family: var(--font-head);
      font-size: 1.35rem;
      font-weight: 800;
      letter-spacing: -0.02em;
      color: #b392ff !important;
      transition: all 0.22s ease-in-out;
  }

  .nav-logo:hover {
      color: #d1bfff !important;
      text-shadow: 0 0 10px rgba(179, 146, 255, 0.45);
  }

  .bolt-icon {
      width: 28px;
      height: 28px;
      background: var(--accent);
      border-radius: 7px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 14px;
  }

  .navbar-nav .nav-link {
      color: var(--text2) !important;
      font-size: 0.875rem;
      font-weight: 500;
      border-radius: var(--r);
      padding: 6px 14px !important;
      transition: color 0.18s, background 0.18s;
  }

  .navbar-nav .nav-link:hover {
      color: var(--text) !important;
      background: var(--surface);
  }

  .navbar-toggler {
      border-color: var(--border2);
  }

  .navbar-toggler-icon {
      filter: invert(1);
  }

  /* buttons */
  .btn-ghost {
      border: 1px solid var(--border2);
      color: var(--text2);
      background: transparent;
      font-size: 0.875rem;
      font-weight: 500;
      border-radius: var(--r);
      font-family: var(--font-body);
      transition: all 0.18s;
  }

  .btn-ghost:hover {
      color: var(--text);
      border-color: var(--accent);
  }

  .btn-accent {
      background: var(--accent);
      color: #fff;
      border: none;
      font-size: 0.875rem;
      font-weight: 600;
      border-radius: var(--r);
      font-family: var(--font-body);
      letter-spacing: 0.01em;
      transition: all 0.18s;
  }

  .btn-accent:hover {
      background: var(--accent2);
      transform: translateY(-1px);
      color: #fff;
  }

  /* hero */
  .hero {
      position: relative;
      padding: 7rem 0 5rem;
      overflow: hidden;
  }

  .hero-glow {
      position: absolute;
      top: -80px;
      left: 50%;
      transform: translateX(-50%);
      width: 700px;
      height: 400px;
      background: radial-gradient(ellipse at center, rgba(127, 107, 252, 0.22) 0%, transparent 70%);
      pointer-events: none;
  }

  .hero-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--accent-glow);
      border: 1px solid rgba(127, 107, 252, 0.3);
      border-radius: 999px;
      padding: 5px 14px;
      font-size: 0.78rem;
      font-family: var(--font-mono);
      color: #a89ffc;
      letter-spacing: 0.04em;
      text-transform: uppercase;
  }

  .hero-badge::before {
      content: '●';
      font-size: 8px;
      color: var(--green);
  }

  .hero h1 {
      font-family: var(--font-head);
      font-size: clamp(2.6rem, 6vw, 5rem);
      font-weight: 800;
      letter-spacing: -0.04em;
      line-height: 1.08;
  }

  .hero h1 em {
      font-style: normal;
      color: var(--accent);
  }

  .hero-sub {
      color: var(--text2);
      font-size: 1.05rem;
      max-width: 520px;
  }

  .hero-search {
      max-width: 560px;
      background: var(--surface);
      border: 1px solid var(--border2);
      border-radius: var(--r-lg);
      padding: 6px 6px 6px 18px;
      transition: border-color 0.2s;
  }

  .hero-search:focus-within {
      border-color: var(--accent);
  }

  .hero-search input {
      flex: 1;
      background: none;
      border: none;
      outline: none;
      font-family: var(--font-body);
      font-size: 0.95rem;
      color: var(--text);
  }

  .hero-search input::placeholder {
      color: var(--text3);
  }

  .hero-search button {
      padding: 9px 22px;
      background: var(--accent);
      border: none;
      border-radius: 10px;
      color: #fff;
      font-weight: 600;
      font-size: 0.875rem;
      cursor: pointer;
      font-family: var(--font-body);
      transition: background 0.18s;
  }

  .hero-search button:hover {
      background: var(--accent2);
  }

  .hero-stat .val {
      font-family: var(--font-head);
      font-size: 1.6rem;
      font-weight: 700;
      letter-spacing: -0.02em;
  }

  .hero-stat .lbl {
      font-size: 0.8rem;
      color: var(--text3);
  }

  /* section */
  .sec {
      padding: 3.5rem 0;
  }

  .sec-header {
      margin-bottom: 1.75rem;
  }

  .sec-header h2 {
      font-family: var(--font-head);
      font-size: 1.45rem;
      font-weight: 700;
      letter-spacing: -0.02em;
  }

  .sec-header a {
      font-size: 0.82rem;
      color: var(--accent);
      font-weight: 500;
  }

  .sec-header a:hover {
      text-decoration: underline;
  }

  .label-tag {
      display: inline-block;
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 3px 11px;
      font-size: 0.72rem;
      font-family: var(--font-mono);
      color: var(--text3);
      text-transform: uppercase;
      letter-spacing: 0.06em;
  }

  /* trust bar */
  .trust-bar {
      background: var(--bg2);
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
  }

  .trust-item {
      color: var(--text2);
      font-size: 0.85rem;
  }

  /* cards  -  shared */
  .vc-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      transition: border-color 0.2s, transform 0.2s;
      cursor: pointer;
      overflow: hidden;
      position: relative;
  }

  .vc-card::before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 2px;
      background: linear-gradient(90deg, transparent, var(--accent), transparent);
      opacity: 0;
      transition: opacity 0.2s;
  }

  .vc-card:hover {
      border-color: var(--border2);
      transform: translateY(-2px);
  }

  .vc-card:hover::before {
      opacity: 1;
  }

  /* rec cards */
  .rec-img {
      background: var(--bg3);
      border-radius: var(--r);
      height: 130px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 3rem;
  }

  .rec-category {
      font-size: 0.72rem;
      color: var(--accent);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
  }

  .rec-name {
      font-weight: 600;
      font-size: 0.9rem;
      line-height: 1.4;
  }

  .rec-rating {
      font-size: 0.78rem;
      color: var(--amber);
  }

  .rec-reviews {
      font-size: 0.72rem;
      color: var(--text3);
  }

  .rec-price {
      font-family: var(--font-head);
      font-size: 1.05rem;
      font-weight: 700;
  }

  /* feat cards */
  .feat-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      transition: border-color 0.2s, transform 0.18s;
      cursor: pointer;
  }

  .feat-card:hover {
      border-color: var(--border2);
      transform: translateY(-1px);
  }

  .feat-icon {
      width: 52px;
      height: 52px;
      flex-shrink: 0;
      background: var(--bg3);
      border-radius: 12px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.7rem;
  }

  .feat-cat {
      font-size: 0.68rem;
      color: var(--text3);
      text-transform: uppercase;
      letter-spacing: 0.07em;
      font-family: var(--font-mono);
  }

  .feat-name {
      font-weight: 600;
      font-size: 0.88rem;
      line-height: 1.35;
  }

  .feat-specs {
      font-size: 0.75rem;
      color: var(--text2);
  }

  .feat-price {
      font-family: var(--font-head);
      font-weight: 700;
      font-size: 0.98rem;
  }

  /* badges */
  .badge-verified {
      background: var(--green-dim);
      color: var(--green);
      border: 1px solid rgba(56, 217, 169, 0.2);
      font-size: 0.68rem;
      font-weight: 600;
      border-radius: 999px;
      padding: 3px 9px;
  }

  .badge-hot {
      background: var(--accent-glow);
      color: #a89ffc;
      border: 1px solid rgba(127, 107, 252, 0.25);
      font-size: 0.68rem;
      font-weight: 600;
      border-radius: 999px;
      padding: 3px 9px;
  }

  .cond-mint {
      background: var(--green-dim);
      color: var(--green);
      border: 1px solid rgba(56, 217, 169, 0.2);
      font-size: 0.68rem;
      font-weight: 600;
      border-radius: 999px;
      padding: 2px 9px;
  }

  .cond-good {
      background: var(--blue-dim);
      color: var(--blue);
      border: 1px solid rgba(116, 192, 252, 0.2);
      font-size: 0.68rem;
      font-weight: 600;
      border-radius: 999px;
      padding: 2px 9px;
  }

  .cond-fair {
      background: var(--amber-dim);
      color: var(--amber);
      border: 1px solid rgba(252, 196, 25, 0.2);
      font-size: 0.68rem;
      font-weight: 600;
      border-radius: 999px;
      padding: 2px 9px;
  }

  /* cat tabs */
  .cat-tab {
      padding: 6px 16px;
      border-radius: 999px;
      border: 1px solid var(--border);
      background: var(--surface);
      color: var(--text2);
      font-size: 0.82rem;
      font-weight: 500;
      cursor: pointer;
      transition: all 0.18s;
      font-family: var(--font-body);
  }

  .cat-tab.active,
  .cat-tab:hover {
      border-color: var(--accent);
      color: var(--accent);
      background: var(--accent-glow);
  }

  /* benchmark */
  .benchmark-wrap {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-xl);
      overflow: hidden;
  }

  .bench-header {
      padding: 1.25rem 1.5rem;
      border-bottom: 1px solid var(--border);
  }

  .bench-title {
      font-family: var(--font-head);
      font-weight: 700;
      font-size: 1rem;
  }

  .bench-dot {
      width: 8px;
      height: 8px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 6px var(--green);
      display: inline-block;
  }

  .bench-pill {
      padding: 4px 12px;
      border-radius: 999px;
      font-size: 0.72rem;
      font-weight: 600;
      cursor: pointer;
      transition: all 0.18s;
      font-family: var(--font-mono);
      border: 1px solid var(--border);
      background: var(--bg3);
      color: var(--text2);
  }

  .bench-pill.active {
      background: var(--accent-glow);
      color: var(--accent);
      border-color: rgba(127, 107, 252, 0.3);
  }

  .bench-iframe-container {
      height: 480px;
      background: var(--bg);
      position: relative;
  }

  .bench-overlay {
      position: absolute;
      inset: 0;
      background: var(--bg2);
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 1rem;
  }

  .bench-overlay h3 {
      font-family: var(--font-head);
      font-size: 1.15rem;
      font-weight: 700;
  }

  .bench-overlay p {
      color: var(--text2);
      font-size: 0.875rem;
      max-width: 320px;
      text-align: center;
  }

  .bench-overlay button {
      padding: 10px 24px;
      background: var(--accent);
      color: #fff;
      border: none;
      border-radius: var(--r);
      font-weight: 600;
      font-size: 0.875rem;
      cursor: pointer;
      font-family: var(--font-body);
      transition: background 0.18s;
  }

  .bench-overlay button:hover {
      background: var(--accent2);
  }

  /* news */
  .news-main {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      overflow: hidden;
      cursor: pointer;
      transition: border-color 0.2s;
  }

  .news-main:hover {
      border-color: var(--border2);
  }

  .news-img-hero {
      height: 200px;
      background: linear-gradient(135deg, #1a1035 0%, #0e0e20 50%, #0a1a2e 100%);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 4rem;
      position: relative;
  }

  .news-img-hero::after {
      content: 'FEATURED';
      position: absolute;
      top: 12px;
      left: 12px;
      background: var(--accent);
      color: #fff;
      font-size: 0.62rem;
      font-weight: 700;
      letter-spacing: 0.1em;
      font-family: var(--font-mono);
      padding: 3px 9px;
      border-radius: 999px;
  }

  .news-tag {
      font-size: 0.72rem;
      color: var(--accent);
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
  }

  .news-h {
      font-family: var(--font-head);
      font-weight: 700;
      font-size: 1.05rem;
      letter-spacing: -0.01em;
      line-height: 1.35;
  }

  .news-excerpt {
      font-size: 0.82rem;
      color: var(--text2);
      line-height: 1.65;
  }

  .news-meta {
      font-size: 0.72rem;
      color: var(--text3);
      font-family: var(--font-mono);
  }

  .news-small {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      cursor: pointer;
      transition: border-color 0.2s;
  }

  .news-small:hover {
      border-color: var(--border2);
  }

  .news-small-icon {
      width: 44px;
      height: 44px;
      flex-shrink: 0;
      background: var(--bg3);
      border-radius: 10px;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.4rem;
  }

  .news-small-tag {
      font-size: 0.68rem;
      color: var(--text3);
      text-transform: uppercase;
      letter-spacing: 0.06em;
      font-family: var(--font-mono);
  }

  .news-small-h {
      font-size: 0.83rem;
      font-weight: 600;
      line-height: 1.4;
  }

  .news-small-date {
      font-size: 0.7rem;
      color: var(--text3);
  }

  /* footer */
  footer {
      background: var(--bg2);
      border-top: 1px solid var(--border);
  }

  .footer-brand .logo {
      font-family: var(--font-head);
      font-size: 1.15rem;
      font-weight: 800;
  }

  .footer-brand .bolt-sm {
      width: 22px;
      height: 22px;
      background: var(--accent);
      border-radius: 6px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-size: 11px;
  }

  .footer-brand p {
      font-size: 0.82rem;
      color: var(--text3);
      line-height: 1.65;
  }

  .footer-support {
      font-size: 0.82rem;
      color: var(--accent);
      font-family: var(--font-mono);
  }

  .footer-col h4 {
      font-weight: 600;
      font-size: 0.82rem;
      text-transform: uppercase;
      letter-spacing: 0.07em;
      color: var(--text3);
      font-family: var(--font-mono);
  }

  .footer-col ul {
      list-style: none;
      padding: 0;
  }

  .footer-col li a {
      font-size: 0.85rem;
      color: var(--text2);
      transition: color 0.15s;
  }

  .footer-col li a:hover {
      color: var(--accent);
  }

  .footer-copy {
      font-size: 0.78rem;
      color: var(--text3);
  }

  .footer-addr {
      font-size: 0.78rem;
      color: var(--text3);
      font-family: var(--font-mono);
  }

  .feat-section {
      border-top: 1px solid var(--border);
  }

  /* reveal animation */
  .reveal {
      opacity: 0;
      transform: translateY(22px);
      transition: opacity 0.55s ease, transform 0.55s ease;
  }

  .reveal.visible {
      opacity: 1;
      transform: none;
  }

  /* global components (scroll-to-top & cart fab) */
  .scroll-to-top-btn {
      position: fixed;
      bottom: 25px;
      right: 25px;
      width: 48px;
      height: 48px;
      border-radius: 50%;
      background: rgba(30, 30, 40, 0.7);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border: 1px solid var(--border2);
      color: var(--text);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.25rem;
      cursor: pointer;
      opacity: 0;
      visibility: hidden;
      transform: scale(0.8) translateY(10px);
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      z-index: 1000;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3), inset 0 1px 1px rgba(255, 255, 255, 0.1);
  }

  .scroll-to-top-btn.visible {
      opacity: 1;
      visibility: visible;
      transform: scale(1) translateY(0);
  }

  .scroll-to-top-btn:hover {
      background: var(--accent);
      border-color: var(--accent);
      color: #fff;
      transform: translateY(-5px);
      box-shadow: 0 12px 35px var(--accent-glow);
  }

  .cart-fab {
      position: fixed;
      bottom: 88px;
      right: 25px;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: rgba(127, 107, 252, 0.85);
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
      cursor: pointer;
      z-index: 999;
      box-shadow: 0 10px 35px var(--accent-glow);
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }

  .cart-fab:hover {
      transform: scale(1.08) translateY(-3px);
      background: var(--accent2);
      box-shadow: 0 14px 40px rgba(127, 107, 252, 0.4);
  }

  .cart-fab .cart-badge {
      position: absolute;
      top: -4px;
      right: -4px;
      background: var(--green);
      color: #000;
      font-size: 0.72rem;
      font-weight: 700;
      border-radius: 999px;
      min-width: 19px;
      height: 19px;
      display: flex;
      align-items: center;
      justify-content: center;
      border: 2px solid var(--bg);
      font-family: var(--font-mono);
  }

  /* premium dark toasts */
  .toast-container {
      z-index: 2000 !important;
  }

  .vc-toast {
      background: rgba(30, 30, 40, 0.85) !important;
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid var(--border2) !important;
      border-left: 4px solid var(--accent) !important;
      color: var(--text) !important;
      border-radius: var(--r) !important;
      box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5) !important;
  }

  .vc-toast.toast-error {
      border-left: 4px solid #ff6b6b !important;
  }

  .vc-toast.toast-success {
      border-left: 4px solid var(--green) !important;
  }

  .vc-toast .toast-header {
      background: transparent !important;
      border-bottom: 1px solid var(--border) !important;
      color: var(--text) !important;
  }

  .vc-toast .btn-close {
      filter: invert(1);
  }

  /* common subpage structure */
  .subpage-hero {
      padding: 4.5rem 0 2.5rem;
      position: relative;
      border-bottom: 1px solid var(--border);
  }

  .subpage-container {
      padding: 3.5rem 0;
      min-height: 60vh;
  }

  .glass-card {
      background: rgba(30, 30, 40, 0.45);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      border: 1px solid var(--border);
      border-radius: var(--r-lg);
      padding: 2.2rem;
      box-shadow: 0 15px 45px rgba(0, 0, 0, 0.2);
  }

  /* floating orders fab */
  .orders-fab {
      position: fixed;
      bottom: 151px;
      right: 25px;
      width: 52px;
      height: 52px;
      border-radius: 50%;
      background: rgba(252, 196, 25, 0.85); /* amber yellow */
      backdrop-filter: blur(15px);
      -webkit-backdrop-filter: blur(15px);
      border: 1px solid rgba(255, 255, 255, 0.15);
      color: #000;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 1.35rem;
      cursor: pointer;
      z-index: 999;
      box-shadow: 0 10px 35px rgba(252, 196, 25, 0.25);
      transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  }

  .orders-fab:hover {
      transform: scale(1.08) translateY(-3px);
      background: #fcc419;
      box-shadow: 0 14px 40px rgba(252, 196, 25, 0.4);
  }

  @keyframes pulseGlow {
      0% {
          box-shadow: 0 0 0 0 rgba(252, 196, 25, 0.4);
      }
      70% {
          box-shadow: 0 0 0 12px rgba(252, 196, 25, 0);
      }
      100% {
          box-shadow: 0 0 0 0 rgba(252, 196, 25, 0);
      }
  }

  .animate-pulse-glow {
      animation: pulseGlow 2.5s infinite;
  }

  /* hover shake effect for dangerous buttons */
  .animate-hover-shake:hover {
      animation: buttonShake 0.4s ease;
  }

  @keyframes buttonShake {
      0%, 100% { transform: translateX(0); }
      25% { transform: translateX(-2px) rotate(-1deg); }
      75% { transform: translateX(2px) rotate(1deg); }
  }

  /* Custom Webkit Scrollbars (Slidebars) & Firefox compatibility */
  html {
      scrollbar-width: auto;
      scrollbar-color: rgba(127, 107, 252, 0.22) #0a0a0f;
  }

  ::-webkit-scrollbar {
      width: 16px;
      height: 16px;
  }

  ::-webkit-scrollbar-track {
      background: var(--bg);
      border-left: 1px solid var(--border);
  }

  ::-webkit-scrollbar-thumb {
      background-color: rgba(127, 107, 252, 0.15);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%237f6bfc'><path d='M20 18c1.1 0 1.99-.9 1.99-2L22 4c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2H0v2h24v-2h-4zM4 4h16v12H4V4z'/></svg>");
      background-repeat: no-repeat;
      background-position: center;
      background-size: 11px;
      border-radius: var(--r);
      border: 2px solid var(--bg);
      box-shadow: inset 0 0 5px rgba(127, 107, 252, 0.1);
      transition: background 0.25s ease-in-out;
  }

  ::-webkit-scrollbar-thumb:hover {
      background-color: var(--accent);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'><path d='M20 18c1.1 0 1.99-.9 1.99-2L22 4c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2H0v2h24v-2h-4zM4 4h16v12H4V4z'/></svg>");
  }

  /* hero changing word text rotator */
  .changing-word {
      display: inline-block;
      position: relative;
      transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
      opacity: 1;
      transform: translateY(0);
      color: var(--accent);
      text-shadow: 0 0 15px var(--accent-glow);
  }

  .changing-word.fade-out {
      opacity: 0;
      transform: translateY(-12px);
  }

  .changing-word.fade-in-prepare {
      opacity: 0;
      transform: translateY(12px);
      transition: none !important;
  }

  /* ==========================================
     TIMELINE THEMES & ACCENTS
     ========================================== */

  /* 1. Umamusume Derby Turf Mode */
  body.theme-umamusume {
      --bg: #05120a;
      --bg2: #0b1f13;
      --bg3: #122c1b;
      --surface: #183a24;
      --border: rgba(56, 217, 169, 0.08);
      --border2: rgba(56, 217, 169, 0.18);
      --text: #f0fdf4;
      --text2: #a7f3d0;
      --text3: #34d399;
      --accent: #ff8c00; /* Carrot Orange */
      --accent2: #e07b00;
      --accent-glow: rgba(255, 140, 0, 0.18);
      scrollbar-color: rgba(255, 140, 0, 0.3) #05120a;
  }

  body.theme-umamusume .glass-card {
      background: rgba(24, 58, 36, 0.45) !important;
  }

  body.theme-umamusume .modal-content {
      background: rgba(11, 31, 19, 0.96) !important;
  }

  body.theme-umamusume .nav-logo {
      color: #ff8c00 !important;
  }

  body.theme-umamusume .nav-logo:hover {
      color: #ffb85c !important;
      text-shadow: 0 0 10px rgba(255, 140, 0, 0.5);
  }

  body.theme-umamusume .bolt-icon {
      background: #ff8c00;
  }

  body.theme-umamusume ::-webkit-scrollbar-thumb {
      background-color: rgba(255, 140, 0, 0.25);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ff8c00'><path d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4 6h-2v2h2v2h-2v2h2v2h-4V7h4v2z'/></svg>");
  }

  body.theme-umamusume ::-webkit-scrollbar-thumb:hover {
      background-color: #ff8c00;
  }

  /* 2. Re:Zero Witch's Shadow Mode */
  body.theme-rezero {
      --bg: #05000a;
      --bg2: #0d0017;
      --bg3: #18002a;
      --surface: #22003c;
      --border: rgba(179, 146, 255, 0.12);
      --border2: rgba(179, 146, 255, 0.25);
      --text: #fdf2f8;
      --text2: #e2d9f3;
      --text3: #b392ff;
      --accent: #d63384; /* Witch's neon pink */
      --accent2: #b11d67;
      --accent-glow: rgba(214, 51, 132, 0.2);
      scrollbar-color: rgba(214, 51, 132, 0.3) #05000a;
  }

  body.theme-rezero .glass-card {
      background: rgba(34, 0, 60, 0.45) !important;
  }

  body.theme-rezero .modal-content {
      background: rgba(13, 0, 23, 0.96) !important;
  }

  body.theme-rezero .nav-logo {
      color: #b392ff !important;
  }

  body.theme-rezero .nav-logo:hover {
      color: #d1bfff !important;
      text-shadow: 0 0 10px rgba(179, 146, 255, 0.5);
  }

  body.theme-rezero .bolt-icon {
      background: #d63384;
  }

  body.theme-rezero ::-webkit-scrollbar-thumb {
      background-color: rgba(214, 51, 132, 0.25);
      background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d63384'><path d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/></svg>");
  }

  body.theme-rezero ::-webkit-scrollbar-thumb:hover {
      background-color: #d63384;
  }


  /* ==========================================
     TIMELINE SYNCHRONIZER FLOATING SELECTOR
     ========================================== */

  .timeline-sync-widget {
      position: fixed;
      bottom: 25px;
      left: 25px;
      width: 260px;
      background: rgba(15, 15, 25, 0.9);
      border: 1px solid var(--border2);
      border-radius: var(--r-lg);
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.55), 0 0 20px var(--accent-glow);
      backdrop-filter: blur(20px);
      -webkit-backdrop-filter: blur(20px);
      z-index: 10000;
      overflow: hidden;
      transform: translateY(40px) scale(0.95);
      opacity: 0;
      transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
      pointer-events: none;
  }

  .timeline-sync-widget.visible {
      transform: translateY(0) scale(1);
      opacity: 1;
      pointer-events: auto;
  }

  .timeline-sync-header {
      padding: 12px 14px;
      background: rgba(255, 255, 255, 0.02);
      border-bottom: 1px solid var(--border);
      display: flex;
      justify-content: space-between;
      align-items: center;
      font-family: var(--font-head);
      font-weight: 700;
      font-size: 0.82rem;
      color: var(--text);
      letter-spacing: 0.02em;
  }

  .timeline-sync-close {
      background: none;
      border: none;
      color: var(--text3);
      font-size: 1.15rem;
      cursor: pointer;
      line-height: 1;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: color 0.18s;
  }

  .timeline-sync-close:hover {
      color: var(--text);
  }

  .timeline-sync-body {
      padding: 8px;
      display: flex;
      flex-direction: column;
      gap: 6px;
  }

  .timeline-option {
      padding: 8px 12px;
      border-radius: var(--r);
      display: flex;
      align-items: center;
      gap: 10px;
      cursor: pointer;
      transition: all 0.18s ease-in-out;
      border: 1px solid transparent;
  }

  .timeline-option:hover {
      background: rgba(255, 255, 255, 0.03);
      border-color: var(--border);
  }

  .timeline-option.active {
      background: var(--accent-glow);
      border-color: var(--accent);
      box-shadow: 0 0 10px var(--accent-glow);
  }

  .timeline-dot {
      width: 10px;
      height: 10px;
      border-radius: 50%;
      flex-shrink: 0;
      position: relative;
  }

  .timeline-dot::after {
      content: '';
      position: absolute;
      inset: -3px;
      border-radius: 50%;
      border: 1px solid currentColor;
      opacity: 0.4;
      animation: pulseCircle 1.6s infinite ease-in-out;
  }

  @keyframes pulseCircle {
      0% { transform: scale(1); opacity: 0.6; }
      100% { transform: scale(1.6); opacity: 0; }
  }

  .timeline-dot.alpha {
      background: #7f6bfc;
      color: #7f6bfc;
  }

  .timeline-dot.beta {
      background: #ff8c00;
      color: #ff8c00;
  }

  .timeline-dot.omega {
      background: #d63384;
      color: #d63384;
  }

  .timeline-details {
      display: flex;
      flex-direction: column;
      line-height: 1.25;
  }

  .timeline-name {
      font-size: 0.78rem;
      font-weight: 600;
      color: var(--text);
  }

  .timeline-desc {
      font-size: 0.65rem;
      color: var(--text2);
      font-family: var(--font-mono);
  }

  /* ==========================================
     LIGHT THEME OVERRIDES
     ========================================== */
  body.light-theme {
      --bg: #f5f5fa;
      --bg2: #ededf5;
      --bg3: #e2e2ec;
      --surface: #ffffff;
      --border: rgba(0, 0, 0, 0.08);
      --border2: rgba(0, 0, 0, 0.15);
      --text: #111115;
      --text2: #525068;
      --text3: #8a88a0;
      --accent: #5b49d6;
      --accent2: #4332b8;
      --accent-glow: rgba(91, 73, 214, 0.12);
      --green-dim: rgba(56, 217, 169, 0.2);
      --amber-dim: rgba(252, 196, 25, 0.2);
      --blue-dim: rgba(116, 192, 252, 0.2);
      scrollbar-color: rgba(91, 73, 214, 0.22) #f5f5fa;
  }

  /* Navbar override */
  body.light-theme .navbar {
      background: rgba(245, 245, 250, 0.85) !important;
      border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  }
  body.light-theme .nav-logo {
      color: var(--accent) !important;
  }
  body.light-theme .navbar-toggler-icon {
      filter: invert(0);
  }
  body.light-theme .dropdown-menu-dark {
      background: rgba(245, 245, 250, 0.98) !important;
      border-color: rgba(0, 0, 0, 0.15) !important;
      color: var(--text) !important;
  }
  body.light-theme .dropdown-menu-dark .dropdown-item {
      color: var(--text2) !important;
  }
  body.light-theme .dropdown-menu-dark .dropdown-item:hover {
      background: var(--bg3) !important;
      color: var(--text) !important;
  }
  body.light-theme .dropdown-menu-dark .dropdown-header {
      color: var(--text3) !important;
  }

  /* Glass Card adjustments */
  body.light-theme .glass-card,
  body.light-theme .vc-card,
  body.light-theme .slot-row,
  body.light-theme .slot-card,
  body.light-theme .visualizer-container,
  body.light-theme .timeline-sync-widget {
      background: rgba(255, 255, 255, 0.75) !important;
      backdrop-filter: blur(20px) !important;
      border: 1px solid rgba(0, 0, 0, 0.08) !important;
      box-shadow: 0 8px 32px rgba(0, 0, 0, 0.05) !important;
  }
  body.light-theme .timeline-sync-widget {
      box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15), 0 0 20px rgba(91, 73, 214, 0.08) !important;
  }

  body.light-theme .slot-row:hover,
  body.light-theme .vc-card:hover,
  body.light-theme .feat-card:hover,
  body.light-theme .news-main:hover,
  body.light-theme .news-small:hover {
      background: #ffffff !important;
      border-color: rgba(91, 73, 214, 0.3) !important;
      box-shadow: 0 8px 32px rgba(91, 73, 214, 0.08) !important;
  }

  body.light-theme .slot-row.active {
      border-color: var(--accent) !important;
      background: rgba(91, 73, 214, 0.04) !important;
  }

  body.light-theme .slot-row.empty .slot-content {
      color: rgba(0, 0, 0, 0.35) !important;
  }

  body.light-theme .vc-compat-alert {
      background: rgba(0, 0, 0, 0.02) !important;
      border: 1px solid rgba(0, 0, 0, 0.08) !important;
      border-left: 4px solid var(--accent) !important;
      color: var(--text) !important;
  }
  body.light-theme .vc-compat-alert.alert-success {
      background: rgba(56, 217, 169, 0.08) !important;
  }
  body.light-theme .vc-compat-alert.alert-danger {
      background: rgba(255, 107, 107, 0.08) !important;
  }

  /* Inputs overrides */
  body.light-theme .vc-input {
      background: #ffffff !important;
      border-color: rgba(0, 0, 0, 0.15) !important;
      color: var(--text) !important;
  }
  body.light-theme .vc-input:focus {
      background: #ffffff !important;
      border-color: var(--accent) !important;
      box-shadow: 0 0 12px rgba(91, 73, 214, 0.15) !important;
  }

  body.light-theme .btn-google {
      background: #ffffff !important;
      border-color: rgba(0, 0, 0, 0.15) !important;
      color: var(--text) !important;
  }
  body.light-theme .btn-google:hover {
      background: rgba(0, 0, 0, 0.03) !important;
  }

  /* Table styles */
  body.light-theme .table-dark {
      --bs-table-bg: transparent !important;
      --bs-table-hover-bg: rgba(0, 0, 0, 0.02) !important;
      color: var(--text) !important;
  }
  body.light-theme .table-dark tr {
      border-color: rgba(0, 0, 0, 0.08) !important;
  }
  body.light-theme .modal-content {
      background: #ffffff !important;
      color: var(--text) !important;
      border-color: rgba(0, 0, 0, 0.15) !important;
  }
  body.light-theme .modal-header,
  body.light-theme .modal-footer {
      border-color: rgba(0, 0, 0, 0.08) !important;
  }
  body.light-theme .btn-close {
      filter: invert(1);
  }

  /* Specific typography fixes */
  body.light-theme .text-light-50 {
      color: var(--text2) !important;
  }
  body.light-theme .text-light-30 {
      color: var(--text3) !important;
  }
  body.light-theme .text-light-70 {
      color: var(--text) !important;
  }
  body.light-theme .text-light-40 {
      color: var(--text3) !important;
  }
  body.light-theme .slot-item-spec {
      color: var(--text2) !important;
  }
  body.light-theme .slot-item-name {
      color: var(--text) !important;
  }
  body.light-theme .slot-label {
      color: var(--text3) !important;
  }
  body.light-theme .slot-title {
      color: var(--text) !important;
  }
  body.light-theme .slot-row.empty .slot-icon {
      color: var(--text) !important;
      opacity: 0.6;
  }
  body.light-theme .visualizer-container canvas {
      filter: invert(0.9) hue-rotate(180deg);
  }
  body.light-theme .timeline-name {
      color: var(--text) !important;
  }
  body.light-theme .timeline-desc {
      color: var(--text2) !important;
  }

  /* Cinematic Theme Switch Transition */
  body.theme-transition-active * {
      transition: opacity 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                  transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94), 
                  background-color 0.8s ease, 
                  color 0.8s ease, 
                  border-color 0.8s ease, 
                  box-shadow 0.8s ease !important;
  }

  body.theme-fade-out h1,
  body.theme-fade-out h2,
  body.theme-fade-out h3,
  body.theme-fade-out h4,
  body.theme-fade-out h5,
  body.theme-fade-out h6,
  body.theme-fade-out p,
  body.theme-fade-out span:not(.bolt-icon),
  body.theme-fade-out a,
  body.theme-fade-out label,
  body.theme-fade-out input,
  body.theme-fade-out button:not(#themeToggleBtn),
  body.theme-fade-out td,
  body.theme-fade-out th,
  body.theme-fade-out li,
  body.theme-fade-out select,
  body.theme-fade-out .glass-card,
  body.theme-fade-out .slot-row,
  body.theme-fade-out .vc-card,
  body.theme-fade-out .slot-card {
      opacity: 0 !important;
      transform: translateY(8px) !important;
  }

  /* ==========================================
     PAGE-SPECIFIC LIGHT THEME OVERRIDES
     ========================================== */
  /* Dashboard & Control Panel overrides */
  body.light-theme .profile-card {
      background: var(--surface) !important;
      border-color: var(--border) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
  }
  body.light-theme .product-thumb {
      background: var(--bg2) !important;
  }
  body.light-theme .order-items-box {
      background: var(--bg2) !important;
  }
  body.light-theme .table tr:hover td {
      background: rgba(0, 0, 0, 0.02) !important;
  }
  body.light-theme .sidebar {
      background: var(--bg2) !important;
      border-right-color: var(--border) !important;
      box-shadow: 5px 0 25px rgba(0, 0, 0, 0.02) !important;
  }
  body.light-theme .sidebar-link:hover {
      background: rgba(0, 0, 0, 0.04) !important;
      color: var(--text) !important;
  }

  /* Chat & Messages overrides */
  body.light-theme .chat-container {
      background: var(--bg2) !important;
      border-color: var(--border) !important;
  }
  body.light-theme .messages-sidebar,
  body.light-theme .chat-box,
  body.light-theme .chat-header {
      background: #ffffff !important;
      border-color: rgba(0, 0, 0, 0.08) !important;
  }
  body.light-theme .message-bubble.incoming {
      background: var(--bg3) !important;
      color: var(--text) !important;
  }
  body.light-theme .message-bubble.outgoing {
      background: var(--accent) !important;
      color: #ffffff !important;
  }
  body.light-theme .message-input-area {
      background: #ffffff !important;
      border-top-color: rgba(0, 0, 0, 0.08) !important;
  }
  body.light-theme .contact-item:hover {
      background: rgba(0, 0, 0, 0.03) !important;
  }
  body.light-theme .contact-item.active {
      background: rgba(91, 73, 214, 0.08) !important;
  }

  /* Build Checker specific overrides */
  body.light-theme .diagnostics-container {
      background: var(--bg2) !important;
      border-color: var(--border) !important;
  }
  body.light-theme .glass-modal {
      background: #ffffff !important;
      border-color: rgba(0, 0, 0, 0.15) !important;
      color: var(--text) !important;
  }
  body.light-theme .part-row-item {
      border-color: rgba(0, 0, 0, 0.08) !important;
      background: rgba(0, 0, 0, 0.01) !important;
      color: var(--text) !important;
  }
  body.light-theme .part-row-item:hover {
      background: rgba(91, 73, 214, 0.04) !important;
  }
  body.light-theme .part-row-name {
      color: var(--text) !important;
  }
  body.light-theme .part-row-specs {
      color: var(--text2) !important;
  }

  /* Support Page overrides */
  body.light-theme .support-card,
  body.light-theme .quick-link-card {
      background: #ffffff !important;
      border-color: rgba(0, 0, 0, 0.08) !important;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.03) !important;
  }
  body.light-theme .quick-link-card:hover {
      background: var(--accent-glow) !important;
      border-color: var(--accent) !important;
  }
  body.light-theme .upload-preview {
      background: var(--bg2) !important;
      border-color: rgba(0, 0, 0, 0.12) !important;
  }
  body.light-theme .quick-link-card h5,
  body.light-theme .support-card h4,
  body.light-theme .support-card .text-white {
      color: var(--text) !important;
  }


