/* A non-modal consent card; full preferences open only on explicit request. */
[data-analytics-consent-slot] { display: none; }
#analytics-preference, #analytics-dialog {
  --analytics-bg: #f8fafc;
  --analytics-text: #172131;
  --analytics-muted: #495c73;
  --analytics-border: #b9c9d5;
  --analytics-button: #fff;
  --analytics-accent: #00796c;
  --analytics-shadow: 0 6px 26px #203a5124;
  box-sizing: border-box;
  background: var(--analytics-bg);
  color: var(--analytics-text);
  border: 1px solid var(--analytics-border);
  text-align: left;
  font-family: 'DM Sans', system-ui, sans-serif;
}
html[data-theme="dark"] #analytics-preference, html[data-theme="dark"] #analytics-dialog {
  --analytics-bg: #111a29;
  --analytics-text: #e7eef8;
  --analytics-muted: #aebdd1;
  --analytics-border: #42546a;
  --analytics-button: #182334;
  --analytics-accent: #5de2c9;
  --analytics-shadow: 0 6px 26px #0005;
}
#analytics-preference { width: 100%; padding: 16px; border-radius: 12px; }
#analytics-preference[hidden], #analytics-preference [hidden] { display: none !important; }
#analytics-preference.analytics-prompt {
  position: fixed;
  z-index: 100;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(52px, calc(env(safe-area-inset-bottom) + 20px));
  width: min(360px, calc(100vw - 32px));
  max-height: calc(100dvh - 80px);
  overflow: auto;
  box-shadow: var(--analytics-shadow);
  animation: analytics-enter 160ms ease-out;
}
.analytics-heading { display: flex; align-items: center; gap: 8px; }
.analytics-mark { width: 18px; height: 18px; flex: none; color: var(--analytics-accent); }
#analytics-preference h2 { margin: 0; padding: 0; color: inherit; font: 650 14px/1.4 'DM Sans', system-ui, sans-serif; letter-spacing: 0; }
#analytics-preference p { margin: 10px 0 0; color: var(--analytics-muted); font: 400 12px/1.55 'DM Sans', system-ui, sans-serif; }
#analytics-preference a { color: var(--analytics-accent); font: 400 11px/1.5 'DM Sans', system-ui, sans-serif; text-underline-offset: 3px; }
.analytics-heading a { margin-left: auto; white-space: nowrap; }
.analytics-choice-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 14px; }
#analytics-preference button { cursor: pointer; border: 1px solid var(--analytics-border); border-radius: 7px; background: var(--analytics-button); color: inherit; font: 600 12px/1.4 'DM Sans', system-ui, sans-serif; transition: background-color 150ms, border-color 150ms; }
#analytics-preference .analytics-choice-actions button { flex: 1 1 0; min-height: 38px; padding: 9px 12px; }
#analytics-preference button:hover { border-color: var(--analytics-accent); background: color-mix(in srgb, var(--analytics-accent) 8%, var(--analytics-button)); }
#analytics-preference :focus-visible, [data-analytics-settings]:focus-visible { outline: 2px solid var(--analytics-accent, #008f7c); outline-offset: 3px; }
#analytics-preference button:disabled { opacity: .6; cursor: wait; }
#analytics-preference .analytics-choice-status { margin: 10px 0 0; font-size: 11px; }
#analytics-preference .analytics-choice-status:empty { display: none; }
#analytics-dialog { width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border-radius: 16px; overflow: auto; box-shadow: 0 20px 70px #0003; }
#analytics-dialog::backdrop { background: #07122270; }
#analytics-dialog #analytics-preference { position: relative; border: 0; border-radius: 0; padding: 28px; }
#analytics-dialog .analytics-heading { display: block; padding-right: 20px; }
#analytics-dialog .analytics-mark { display: none; }
#analytics-dialog h2 { font-size: 21px; margin-bottom: 6px; }
#analytics-dialog p { font-size: 13px; }
#analytics-preference .analytics-close { position: absolute; top: 12px; right: 12px; border: 0; background: transparent; font-size: 24px; width: 36px; height: 36px; padding: 0; }
#analytics-dialog [data-details] { border-top: 1px solid var(--analytics-border); margin-top: 16px; padding-top: 8px; }
.analytics-announcement { position: absolute; top: 0; left: 0; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#screen-input .legal-tag { max-width: calc(100% - 190px); flex-wrap: wrap; }
html.atlas-desktop-required #analytics-preference.analytics-prompt[data-atlas="true"] { display: none; }
@media (max-width: 720px) {
  #analytics-preference.analytics-prompt[data-atlas="true"] { display: none; }
  #screen-input .legal-tag { display: flex; left: 18px; bottom: 18px; gap: 12px; max-width: calc(100% - 150px); }
  #screen-input .legal-tag > :not([href="/privacy"]):not([data-analytics-settings]) { display: none; }
}
@media (max-width: 480px) {
  #analytics-preference.analytics-prompt { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
  #analytics-dialog #analytics-preference { padding: 24px 18px; }
}
@media (pointer: coarse) {
  #analytics-preference .analytics-choice-actions button { min-height: 44px; }
}
@keyframes analytics-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  #analytics-preference.analytics-prompt { animation: none; }
  #analytics-preference button { transition: none; }
}
