:root{
  --privacy-surface-dark:var(--surface-dark,#0b0b0c);
  --privacy-surface-light:var(--surface-light,#f7f5f2);
  --privacy-surface-light-2:var(--surface-light-2,#f1efeb);
  --privacy-text-dark:var(--text-primary-dark,#f4f2ee);
  --privacy-text-dark-secondary:var(--text-secondary-dark,#d3d0ca);
  --privacy-text-light:var(--text-primary-light,#121214);
  --privacy-text-light-secondary:var(--text-secondary-light,#43434a);
  --privacy-text-light-muted:var(--text-muted-light,#68686f);
  --privacy-border-light:var(--border-subtle-light,rgba(18,18,20,.16));
  --privacy-accent:var(--accent-primary,#4a52ff);
  --privacy-font:var(--font-body,"Inter",-apple-system,"Segoe UI",Helvetica,Arial,sans-serif);
}
.privacy-banner{
  position:fixed;z-index:180;left:50%;bottom:max(16px,env(safe-area-inset-bottom,0px));
  width:min(720px,calc(100vw - 32px));transform:translateX(-50%);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px 24px;align-items:center;
  padding:20px 22px;border:1px solid rgba(255,255,255,.16);border-radius:6px;
  background:rgba(11,11,12,.96);color:var(--privacy-text-dark);
  box-shadow:0 18px 54px rgba(0,0,0,.28);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
}
.privacy-banner[hidden]{display:none}
.privacy-banner__copy h2{margin:0 0 4px;font:600 16px/1.3 var(--privacy-font);color:var(--privacy-text-dark)}
.privacy-banner__copy p{margin:0;max-width:500px;font:400 13px/1.55 var(--privacy-font);color:var(--privacy-text-dark-secondary)}
.privacy-banner__copy a,.privacy-dialog__intro a{color:inherit;text-decoration:underline;text-underline-offset:.18em}
.privacy-banner__actions,.privacy-dialog__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.privacy-preferences-link{appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.privacy-preferences-link:hover{opacity:.72}
.privacy-button{
  appearance:none;min-height:40px;padding:9px 14px;border:1px solid rgba(255,255,255,.24);
  border-radius:6px;background:transparent;color:var(--privacy-text-dark);
  font:600 13px/1.2 var(--privacy-font);cursor:pointer;
  transition:background .2s ease-out,border-color .2s ease-out,color .2s ease-out;
}
.privacy-button:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.42)}
.privacy-button--primary{background:var(--privacy-text-dark);border-color:var(--privacy-text-dark);color:var(--privacy-surface-dark)}
.privacy-button--primary:hover{background:#fff;border-color:#fff}
.privacy-dialog{
  width:min(560px,calc(100vw - 32px));max-height:min(720px,calc(100vh - 32px));
  padding:0;border:1px solid var(--privacy-border-light);border-radius:6px;
  background:var(--privacy-surface-light);color:var(--privacy-text-light);
  box-shadow:0 24px 72px rgba(0,0,0,.30);
}
.privacy-dialog::backdrop{background:rgba(11,11,12,.72);backdrop-filter:blur(4px)}
.privacy-dialog__form{margin:0;padding:28px}
.privacy-dialog__header{display:flex;gap:20px;align-items:flex-start;justify-content:space-between}
.privacy-dialog__header h2{margin:0;font:600 clamp(24px,5vw,32px)/1.15 var(--privacy-font);color:var(--privacy-text-light)}
.privacy-dialog__close{position:relative;flex:0 0 40px;width:40px;height:40px;border:1px solid var(--privacy-border-light);border-radius:4px;background:transparent;color:var(--privacy-text-light);cursor:pointer}
.privacy-dialog__close::before,.privacy-dialog__close::after{content:"";position:absolute;left:11px;top:19px;width:18px;height:1px;background:currentColor}
.privacy-dialog__close::before{transform:rotate(45deg)}
.privacy-dialog__close::after{transform:rotate(-45deg)}
.privacy-dialog__intro{margin:14px 0 24px;color:var(--privacy-text-light-secondary);font:400 14px/1.6 var(--privacy-font)}
.privacy-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start;padding:18px 0;border-top:1px solid var(--privacy-border-light)}
.privacy-option:last-of-type{border-bottom:1px solid var(--privacy-border-light)}
.privacy-option h3{margin:0 0 4px;font:600 16px/1.3 var(--privacy-font);color:var(--privacy-text-light)}
.privacy-option p{margin:0;color:var(--privacy-text-light-secondary);font:400 13px/1.55 var(--privacy-font)}
.privacy-option__required{font:600 12px/1.4 var(--privacy-font);color:var(--privacy-text-light-muted);text-transform:uppercase;letter-spacing:.08em}
.privacy-option input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--privacy-accent);cursor:pointer}
.privacy-dialog__actions{justify-content:flex-end;margin-top:24px}
.privacy-dialog .privacy-button{border-color:var(--privacy-border-light);color:var(--privacy-text-light)}
.privacy-dialog .privacy-button:hover{background:var(--privacy-surface-light-2);border-color:rgba(18,18,20,.32)}
.privacy-dialog .privacy-button--primary{background:var(--privacy-text-light);border-color:var(--privacy-text-light);color:var(--privacy-text-dark)}
.privacy-dialog .privacy-button--primary:hover{background:#000;border-color:#000}
@media (max-width:640px){
  .privacy-banner{grid-template-columns:1fr;padding:18px}
  .privacy-banner__actions,.privacy-dialog__actions{justify-content:flex-start}
  .privacy-dialog__form{padding:22px 20px}
}
