.privacy-panel {
  position: fixed;
  z-index: 50;
  inset: auto 1rem 1rem;
  width: min(42rem, calc(100% - 2rem));
  max-height: calc(100dvh - 2rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  margin-left: auto;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 1px solid var(--color-text-primary);
  background: var(--color-surface-raised);
  color: var(--color-text-primary);
  font: 400 1rem/1.5 var(--font-body);
}
.privacy-panel[hidden] { display: none; }
.privacy-panel h2, .privacy-dialog h2 { margin: 0 0 1rem; font: 400 2rem/1.1 var(--font-display); }
.privacy-panel p, .privacy-dialog p { margin: 0 0 1rem; }
.privacy-panel a, .privacy-dialog a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.privacy-panel__actions { display: flex; gap: .75rem; flex-wrap: wrap; }
.privacy-button { padding: .8rem 1rem; border: 1px solid currentColor; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.privacy-button:hover { background: var(--color-surface-subtle); }
.privacy-button--primary { background: var(--color-privacy-action-primary); border-color: var(--color-privacy-action-primary); color: var(--color-text-on-action); }
.privacy-button--primary:hover { background: var(--color-privacy-action-primary-hover); border-color: var(--color-privacy-action-primary-hover); }
.privacy-panel .privacy-panel__status { margin: 1rem 0 0; }
.privacy-panel__status:empty { display: none; }
.privacy-panel :focus-visible, .privacy-dialog :focus-visible { outline: 2px solid var(--color-focus-ring); outline-offset: 4px; }
.privacy-panel__actions .privacy-button, .privacy-dialog__actions .privacy-button { flex: 1 1 12rem; }
.privacy-dialog { width: min(43rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; border: 1px solid var(--color-text-primary); background: var(--color-surface-raised); color: var(--color-text-primary); font: 400 1rem/1.5 var(--font-body); overscroll-behavior: contain; }
.privacy-dialog::backdrop { background: var(--color-privacy-backdrop); }
.privacy-dialog__body { padding: clamp(1.25rem, 3vw, 2rem); }
.privacy-dialog__header { display: flex; justify-content: space-between; align-items: start; gap: 1rem; }
.privacy-dialog__close { flex: none; border: 0; padding: 0 .25rem; background: transparent; color: inherit; font: inherit; font-size: 1.75rem; line-height: 1; cursor: pointer; }
.privacy-dialog__actions { display: flex; flex-wrap: wrap; gap: .75rem; position: sticky; bottom: 0; padding: 1rem clamp(1.25rem, 3vw, 2rem); border-top: 1px solid var(--color-border-subtle); background: var(--color-surface-raised); }
.privacy-panel__categories { display: grid; gap: 1.25rem; min-width: 0; margin: 1.25rem 0; padding: 0; border: 0; }
.privacy-panel__categories legend { margin-bottom: 1rem; font-weight: 500; }
.privacy-category { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .75rem; cursor: pointer; }
.privacy-category input { margin: .25rem 0 0; width: 1.15rem; height: 1.15rem; accent-color: var(--color-privacy-action-primary); }
.privacy-category strong, .privacy-category span > span { display: block; }
.privacy-category strong { margin-bottom: .25rem; font-weight: 500; }
.privacy-category span > span { font-size: .875rem; }
.privacy-dialog .privacy-dialog__links { margin: 0 0 .75rem; }
.privacy-dialog .privacy-dialog__hint { font-size: .875rem; margin-bottom: 0; }
.privacy-panel__close { display: block; margin: 1rem 0 0 auto; padding: .25rem; border: 0; background: transparent; color: inherit; font: inherit; text-decoration: underline; cursor: pointer; }
.privacy-panel__close[hidden] { display: none; }
