:root {
    --vcb-bg: #0D1F28;
    --vcb-bg-card: rgba(16, 36, 48, 0.92);
    --vcb-bg-elevated: #132E3B;
    --vcb-border: rgba(64, 192, 192, 0.12);
    --vcb-border-hover: rgba(64, 192, 192, 0.28);
    --vcb-text: #A8D4DB;
    --vcb-text-strong: #E8F4F8;
    --vcb-text-muted: #5C8A98;
    --vcb-accent-gold: #F0B44F;
    --vcb-accent-teal: #40C0C0;
    --vcb-gradient: linear-gradient(135deg, #F0B44F 0%, #40C0C0 100%);
    --vcb-gradient-subtle: linear-gradient(135deg, rgba(240, 180, 79, 0.08) 0%, rgba(64, 192, 192, 0.08) 100%);
    --vcb-shadow: 0 20px 60px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(64, 192, 192, 0.06);
    --vcb-shadow-btn: 0 4px 20px rgba(240, 180, 79, 0.2);
    --vcb-radius: 20px;
    --vcb-radius-sm: 12px;
    --vcb-radius-xs: 8px;
    --vcb-ease: cubic-bezier(0.4, 0, 0.2, 1);
    --vcb-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  }
  .light-mode {
    --vcb-bg: #F7FAFB; --vcb-bg-card: rgba(255, 255, 255, 0.96); --vcb-bg-elevated: #FFFFFF;
    --vcb-border: rgba(42, 72, 83, 0.1); --vcb-border-hover: rgba(42, 72, 83, 0.22);
    --vcb-text: #3A5E6B; --vcb-text-strong: #0A2329; --vcb-text-muted: #6B8D99;
    --vcb-shadow: 0 20px 60px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(42, 72, 83, 0.08);
    --vcb-shadow-btn: 0 4px 20px rgba(240, 180, 79, 0.15);
  }
  #viqus-consent-banner { position: fixed; bottom: 24px; right: 24px; width: 400px; max-width: calc(100vw - 48px); z-index: 99999; font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; opacity: 0; visibility: hidden; transform: translateY(24px) scale(0.97); transition: opacity 0.45s var(--vcb-ease), transform 0.45s var(--vcb-spring), visibility 0s 0.45s; }
  #viqus-consent-banner.vcb-visible { opacity: 1; visibility: visible; transform: translateY(0) scale(1); transition: opacity 0.45s var(--vcb-ease), transform 0.55s var(--vcb-spring), visibility 0s 0s; }
  .vcb-card { background: var(--vcb-bg-card); border: 1px solid var(--vcb-border); border-radius: var(--vcb-radius); box-shadow: var(--vcb-shadow); backdrop-filter: blur(32px) saturate(1.3); -webkit-backdrop-filter: blur(32px) saturate(1.3); overflow: hidden; }
  .vcb-card::before { content: ''; display: block; height: 3px; background: var(--vcb-gradient); border-radius: var(--vcb-radius) var(--vcb-radius) 0 0; }
  .vcb-body { padding: 1.35rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: 1.15rem; }
  .vcb-header { display: flex; align-items: flex-start; gap: 0.85rem; }
  .vcb-icon-wrap { flex-shrink: 0; width: 44px; height: 44px; border-radius: var(--vcb-radius-sm); background: var(--vcb-gradient); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(240, 180, 79, 0.22); position: relative; }
  .vcb-icon-wrap::after { content: ''; position: absolute; inset: -4px; border-radius: 16px; background: var(--vcb-gradient); opacity: 0; filter: blur(10px); animation: vcb-glow 4s ease-in-out infinite; z-index: -1; }
  @keyframes vcb-glow { 0%, 100% { opacity: 0; } 50% { opacity: 0.3; } }
  .vcb-icon-wrap svg { width: 22px; height: 22px; color: #fff; }
  .vcb-text-group { flex: 1; min-width: 0; }
  .vcb-title { font-family: 'JetBrains Mono', 'Fira Code', monospace; font-size: 0.92rem; font-weight: 700; color: var(--vcb-text-strong); margin: 0 0 0.3rem; letter-spacing: -0.03em; }
  .vcb-desc { font-size: 0.795rem; line-height: 1.65; color: var(--vcb-text); margin: 0; }
  .vcb-desc a { color: var(--vcb-accent-gold); text-decoration: none; font-weight: 600; transition: color 0.25s var(--vcb-ease); }
  .vcb-desc a:hover { color: var(--vcb-accent-teal); }
  .vcb-actions { display: flex; flex-direction: column; gap: 0.55rem; }
  .vcb-btn { font-family: 'Inter', sans-serif; font-size: 0.82rem; font-weight: 600; border: none; cursor: pointer; border-radius: var(--vcb-radius-xs); padding: 0.8rem 1rem; display: flex; align-items: center; justify-content: center; gap: 0.45rem; transition: all 0.3s var(--vcb-ease); position: relative; overflow: hidden; width: 100%; }
  .vcb-btn-accept { background: var(--vcb-gradient); color: #fff; box-shadow: var(--vcb-shadow-btn); letter-spacing: 0.01em; }
  .vcb-btn-accept::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.15) 50%, transparent 100%); transform: translateX(-110%); transition: transform 0.6s var(--vcb-ease); }
  .vcb-btn-accept:hover::after { transform: translateX(110%); }
  .vcb-btn-accept:hover { box-shadow: 0 6px 28px rgba(240, 180, 79, 0.3); transform: translateY(-1px); }
  .vcb-btn-accept:active { transform: translateY(0); }
  .vcb-btn-row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.55rem; }
  .vcb-btn-ghost { background: var(--vcb-gradient-subtle); border: 1px solid var(--vcb-border); color: var(--vcb-text); backdrop-filter: blur(8px); }
  .vcb-btn-ghost:hover { border-color: var(--vcb-border-hover); color: var(--vcb-text-strong); background: rgba(64, 192, 192, 0.08); transform: translateY(-1px); box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15); }
  .vcb-btn-ghost:active { transform: translateY(0); }
  #viqus-consent-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(6, 16, 22, 0.82); backdrop-filter: blur(10px); opacity: 0; visibility: hidden; transition: opacity 0.35s var(--vcb-ease), visibility 0s 0.35s; }
  .light-mode #viqus-consent-modal { background: rgba(10, 35, 41, 0.5); }
  #viqus-consent-modal.vcm-visible { opacity: 1; visibility: visible; transition: opacity 0.35s var(--vcb-ease), visibility 0s 0s; }
  .vcm-dialog { background: var(--vcb-bg-elevated); border: 1px solid var(--vcb-border); border-radius: var(--vcb-radius); width: 100%; max-width: 520px; max-height: 85vh; overflow: hidden; display: flex; flex-direction: column; transform: scale(0.94) translateY(16px); transition: transform 0.4s var(--vcb-spring); box-shadow: 0 30px 80px -16px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(64, 192, 192, 0.06); }
  .light-mode .vcm-dialog { box-shadow: 0 30px 80px -16px rgba(0, 0, 0, 0.12), 0 0 0 1px rgba(42, 72, 83, 0.1); }
  #viqus-consent-modal.vcm-visible .vcm-dialog { transform: scale(1) translateY(0); }
  .vcm-dialog::before { content: ''; display: block; height: 3px; background: var(--vcb-gradient); }
  .vcm-header { padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--vcb-border); display: flex; align-items: center; justify-content: space-between; }
  .vcm-header-left { display: flex; align-items: center; gap: 0.75rem; }
  .vcm-header-icon { width: 36px; height: 36px; background: var(--vcb-gradient); border-radius: 10px; display: flex; align-items: center; justify-content: center; }
  .vcm-header-icon svg { width: 18px; height: 18px; color: #0D1F28; }
  .vcm-title { font-family: 'JetBrains Mono', monospace; font-size: 1.05rem; font-weight: 700; color: var(--vcb-text-strong); margin: 0; letter-spacing: -0.03em; }
  .vcm-close { background: transparent; border: none; color: var(--vcb-text-muted); cursor: pointer; padding: 0.4rem; border-radius: var(--vcb-radius-xs); transition: all 0.25s var(--vcb-ease); display: flex; align-items: center; justify-content: center; }
  .vcm-close:hover { background: rgba(64, 192, 192, 0.08); color: var(--vcb-text-strong); }
  .vcm-body { padding: 1.25rem 1.5rem; overflow-y: auto; flex: 1; }
  .vcm-intro { font-size: 0.82rem; color: var(--vcb-text); line-height: 1.7; margin: 0 0 1.25rem; }
  .vcm-category { background: var(--vcb-gradient-subtle); border: 1px solid var(--vcb-border); border-radius: var(--vcb-radius-sm); padding: 1rem 1.1rem; margin-bottom: 0.7rem; transition: border-color 0.25s var(--vcb-ease), box-shadow 0.25s var(--vcb-ease); }
  .vcm-category:last-child { margin-bottom: 0; }
  .vcm-category:hover { border-color: var(--vcb-border-hover); box-shadow: 0 0 0 1px rgba(64, 192, 192, 0.05); }
  .vcm-category-header { display: flex; align-items: center; justify-content: space-between; gap: 0.85rem; }
  .vcm-category-info { flex: 1; min-width: 0; }
  .vcm-category-name { font-size: 0.85rem; font-weight: 600; color: var(--vcb-text-strong); margin: 0 0 0.25rem; display: flex; align-items: center; gap: 0.55rem; }
  .vcm-badge { font-size: 0.58rem; font-weight: 700; padding: 0.18rem 0.5rem; border-radius: 20px; text-transform: uppercase; letter-spacing: 0.6px; background: rgba(240, 180, 79, 0.12); color: var(--vcb-accent-gold); }
  .vcm-category-desc { font-size: 0.74rem; color: var(--vcb-text-muted); margin: 0; line-height: 1.55; }
  .vcm-toggle { position: relative; width: 46px; height: 26px; flex-shrink: 0; }
  .vcm-toggle input { opacity: 0; width: 0; height: 0; position: absolute; }
  .vcm-slider { position: absolute; cursor: pointer; inset: 0; background: rgba(92, 138, 152, 0.2); border: 1px solid var(--vcb-border); border-radius: 26px; transition: all 0.3s var(--vcb-ease); }
  .vcm-slider::before { content: ''; position: absolute; height: 20px; width: 20px; left: 2px; bottom: 2px; background: var(--vcb-text-muted); border-radius: 50%; transition: all 0.3s var(--vcb-ease); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.25); }
  .vcm-toggle input:checked + .vcm-slider { background: var(--vcb-gradient); border-color: var(--vcb-accent-teal); }
  .vcm-toggle input:checked + .vcm-slider::before { transform: translateX(20px); background: #0D1F28; }
  .vcm-toggle input:disabled + .vcm-slider { opacity: 0.45; cursor: not-allowed; }
  .vcm-toggle input:disabled:checked + .vcm-slider { background: var(--vcb-accent-teal); opacity: 0.6; }
  .vcm-footer { padding: 1rem 1.5rem; border-top: 1px solid var(--vcb-border); display: flex; gap: 0.6rem; }
  .vcm-footer .vcb-btn { flex: 1; }
  .vcm-footer .vcb-btn-ghost { flex: 0.7; }
  .vcb-footer-link { cursor: pointer; color: var(--vcb-text-muted, #5C8A98); transition: color 0.25s ease; }
  .vcb-footer-link:hover { color: var(--vcb-accent-gold, #F0B44F); }
  @media (max-width: 480px) {
    #viqus-consent-banner { bottom: 12px; right: 12px; max-width: calc(100vw - 24px); width: 100%; }
    .vcb-body { padding: 1.1rem 1.15rem 1.25rem; }
    .vcb-header { flex-direction: co center; }
    .vcb-desc { max-width: 100%; }
    .vcm-footer { flex-direction: column; }
    .vcm-footer .vcb-btn-ghost { flex: 1; }
  }
