.ad-preferences { padding: 1rem; text-align: center; }
@media (max-width: 767px) { .ui-app .ad-preferences { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); } }
.ad-preferences button { color: rgb(var(--c-ink)); text-decoration: underline; min-height: 44px; padding: .5rem; }
.ad-consent { position: fixed; bottom: max(16px, env(safe-area-inset-bottom)); right: 16px; width: 380px; max-width: calc(100vw - 32px); box-sizing: border-box; z-index: 10000; background: rgb(var(--c-bg)); color: rgb(var(--c-ink)); border: 1px solid rgb(var(--c-rule)); border-radius: 0; padding: 1rem; font-family: 'Source Serif 4', Georgia, serif; font-size: .875rem; line-height: 1.5; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; overflow-wrap: anywhere; }
.ad-consent[hidden] { display: none; }
.ad-consent h2 { font-family: inherit; font-size: 1rem; font-weight: 600; }
.ad-consent-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.ad-consent-header h2 { margin: 0; }
#ad-close { min-width: 44px; min-height: 44px; color: inherit; font: inherit; }
#ad-configure { background: rgb(var(--c-gold)); color: rgb(var(--c-on-gold)); border-color: rgb(var(--c-gold)); }
#ad-settings[hidden], #ad-notice[hidden] { display: none; }
.ad-category { display: flex; align-items: center; gap: .5rem; min-height: 44px; margin: .5rem 0; }
.ad-category input { width: 20px; height: 20px; flex: none; accent-color: rgb(var(--c-oxblood)); }
.ad-category input:focus-visible { outline: 2px solid rgb(var(--c-focus)); outline-offset: 3px; }
.ad-back { min-height: 44px; color: inherit; font: inherit; text-decoration: underline; }
.ad-consent .ad-policy { margin: .75rem 0 0; }
.ad-consent p, .ad-consent h2 { margin: 0 0 .5rem; }
.ad-consent a { color: rgb(var(--c-link)); text-decoration: underline; }
.ad-consent-actions { display: flex; gap: .5rem; margin: .75rem 0 0; }
.ad-consent-actions button { flex: 1; min-width: 0; border: 1px solid rgb(var(--c-ink)); padding: .5rem; color: inherit; font: inherit; background: transparent; border-radius: 0; min-height: 44px; overflow-wrap: anywhere; }
.ad-consent-actions button:hover { background: rgb(var(--c-surface)); }
.ad-consent button:focus-visible, .ad-preferences button:focus-visible { outline: 2px solid rgb(var(--c-focus)); outline-offset: 3px; }
#ad-consent-status { margin: .75rem 0 0; }
#ad-consent-status:empty { display: none; }
@media (max-width: 480px) { .ad-consent { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px); } }
@media print { .ad-consent, .ad-preferences { display: none; } }
