.analytics-consent { position: fixed; inset: auto 16px 16px; z-index: 1000; max-width: 640px; max-height: 75vh; overflow: auto; padding: 22px; border: 1px solid var(--rule); background: var(--paper); color: var(--ink); font: 16px/1.5 Spectral, Georgia, serif; box-shadow: 0 4px 24px #16130f22; }
.analytics-consent[hidden] { display: none !important; }
.analytics-consent h2 { margin: 0 0 8px; font: 500 23px/1.2 Spectral, Georgia, serif; }
.analytics-consent p { margin: 0 0 12px; }
.analytics-consent details { margin-bottom: 16px; }
.analytics-consent summary { cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.analytics-consent details p { margin-top: 12px; }
.analytics-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.analytics-actions button { flex: 1; min-height: 44px; padding: 10px 16px; border: 1px solid var(--ink); background: var(--paper); color: var(--ink); cursor: pointer; font: inherit; white-space: nowrap; }
.analytics-actions button:hover { background: var(--ink); color: var(--paper); }
.analytics-settings { display: block; margin: 16px 24px; padding: 10px 12px; min-height: 44px; border: 0; background: var(--paper); color: var(--ink); font: 16px/1.5 Spectral, Georgia, serif; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.analytics-consent :focus-visible, .analytics-settings:focus-visible { outline: 2px solid var(--rubric); outline-offset: 3px; }
@media (max-width: 400px) { .analytics-consent { inset: auto 10px 10px; padding: 16px; } .analytics-actions { gap: 8px; } }

.analytics-options { display: grid; gap: 8px; margin-bottom: 16px; }
.analytics-options label { display: flex; align-items: center; gap: 10px; min-height: 44px; cursor: pointer; }
.analytics-options input { width: 20px; height: 20px; accent-color: var(--rubric); flex-shrink: 0; }
