.privacy-consent { box-sizing: border-box; width: min(440px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 24px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid var(--line); border-radius: 22px; color: var(--ink); background: var(--panel); box-shadow: 0 24px 90px #0004; font: 14px/1.6 ui-sans-serif, system-ui, -apple-system, sans-serif; }
.privacy-consent::backdrop { background: #06100dcc; backdrop-filter: blur(4px); }
.privacy-consent:not([open]) { display: none; }
.privacy-consent__heading { display: flex; align-items: center; gap: 12px; }
.privacy-consent__heading svg { flex: 0 0 28px; width: 28px; height: 28px; color: var(--accent); }
.privacy-consent__heading h2 { margin: 0; font-size: 21px; letter-spacing: -.025em; line-height: 1.3; }
.privacy-consent p { margin: 16px 0; }
.privacy-consent .privacy-consent__essential { margin: 0; font-weight: 600; font-size: 13px; }
.privacy-consent__links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 10px; }
.privacy-consent__links a { color: inherit; text-underline-offset: 3px; padding-block: 4px; }
.privacy-consent .privacy-consent__current { font-size: 12px; color: var(--muted); margin: 10px 0 0; }
.privacy-consent__actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
.privacy-consent__actions button { min-height: 46px; padding: 10px 12px; border: 1px solid var(--accent); border-radius: 12px; font: inherit; font-weight: 650; line-height: 1.35; color: var(--ink); background: var(--control-bg); cursor: pointer; }
.privacy-consent__actions button:hover { background: color-mix(in srgb, var(--accent) 18%, var(--panel)); }
.privacy-consent__actions button:disabled { cursor: not-allowed; opacity: .55; }
.privacy-consent :focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; }
/* Initial focus introduces the dialog without highlighting either response. */
.privacy-consent__heading h2:focus { outline: none; }
.privacy-settings { border: 0; padding: 7px 0; background: none; color: inherit; font: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.privacy-settings:focus-visible { outline: 2px solid var(--ink); outline-offset: 4px; }
.privacy-consent-status { position: fixed; z-index: 1100; bottom: 90px; left: 50%; transform: translateX(-50%); width: min(360px, calc(100vw - 32px)); padding: 16px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); color: var(--ink); font: 14px/1.5 system-ui, sans-serif; }
.privacy-consent [hidden], .privacy-consent-status[hidden] { display: none; }
@media (max-width: 380px) { .privacy-consent { padding: 20px; } .privacy-consent__actions { grid-template-columns: 1fr; } }
@media print { .privacy-consent, .privacy-consent-status, .privacy-settings { display: none !important; } }
