#campaign-consent {
  position: fixed;
  z-index: 99999;
  right: 24px;
  bottom: 24px;
  width: min(440px, calc(100% - 48px));
  padding: 24px;
  color: #f7f9ff;
  background: linear-gradient(145deg, rgba(20, 35, 76, .98), rgba(8, 15, 38, .98));
  border: 1px solid rgba(190, 210, 255, .18);
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, .28);
  font-family: 'Pretendard Variable', 'Inter', 'Pretendard', -apple-system, BlinkMacSystemFont, sans-serif;
  box-sizing: border-box;
}
#campaign-consent[hidden] { display: none; }
#campaign-consent h2 { margin: 0 0 8px; font-size: 17px; line-height: 1.35; font-weight: 650; letter-spacing: -.02em; }
#campaign-consent p { margin: 0; color: rgba(237, 243, 255, .75); font-size: 13px; line-height: 1.65; }
#campaign-consent a { color: #b8ceff; text-underline-offset: 3px; }
#campaign-consent .campaign-actions { display: flex; gap: 10px; margin-top: 20px; }
#campaign-consent button { flex: 1; min-height: 42px; border-radius: 10px; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; transition: background .2s, border-color .2s; }
#campaign-reject { color: #eff4ff; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.16); }
#campaign-reject:hover { background: rgba(255,255,255,.12); }
#campaign-accept { color: #fff; background: #5b8def; border: 1px solid #5b8def; }
#campaign-accept:hover { background: #74a1f5; border-color: #74a1f5; }
#campaign-consent button:focus-visible, #campaign-preferences:focus-visible { outline: 2px solid #b8ceff; outline-offset: 3px; }
#campaign-preferences { display: block; margin: 20px auto 0; padding: 4px 0; color: rgba(255,255,255,.6); background: none; border: 0; font: inherit; font-size: 12px; font-weight: 500; cursor: pointer; }
#campaign-preferences:hover { color: #fff; }
html.light #campaign-preferences { color: rgba(20,28,48,.65); }
html.light #campaign-preferences:hover { color: #141b2e; }
.campaign-en { display: none; }
html[lang="en"] .campaign-en { display: inline; }
html[lang="en"] .campaign-ko { display: none; }
@media (max-width: 600px) {
  #campaign-consent { right: 16px; bottom: 16px; width: calc(100% - 32px); padding: 20px; border-radius: 16px; }
}
@media (prefers-reduced-motion: reduce) { #campaign-consent button { transition: none; } }
