/* Compact first layer; the full disclosure and refusal live in Settings. */
.analytics-choice{color:inherit;background:none;border:0;border-bottom:1px solid currentColor;padding:5px 0;font:inherit;font-size:12px;cursor:pointer;opacity:.85}
.footer__bar:has(.analytics-choice){flex-wrap:wrap;gap:12px}
.analytics-consent,.analytics-consent *{box-sizing:border-box}
.analytics-consent [hidden],.analytics-consent[hidden]{display:none!important}
.analytics-consent{--consent-bg:#f7f6f2;--consent-fg:#22242a;--consent-muted:#595b63;--consent-line:#d3d2cf;--consent-accent:#b82b16;position:fixed;z-index:1200;bottom:max(16px,env(safe-area-inset-bottom));right:16px;width:min(460px,calc(100% - 32px));background:var(--consent-bg);color:var(--consent-fg);border:1px solid var(--consent-line);border-radius:12px;box-shadow:0 6px 30px #0002;font:14px/1.5 var(--font-sans,Arial,sans-serif);text-align:left;letter-spacing:normal}
.analytics-consent:has(.analytics-consent__bar:not([hidden])){width:max-content;min-width:176px;max-width:min(310px,calc(100% - 32px))}
.analytics-consent__bar{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 14px;min-height:0;text-align:center}
.analytics-consent__bar-actions{display:flex;align-items:center;justify-content:center;gap:8px}
.analytics-consent__summary{min-width:0;max-width:100%}
.analytics-consent .analytics-consent__summary h2{margin:0 0 2px;font:600 14px/1.25 var(--font-sans,Arial,sans-serif);letter-spacing:0}
.analytics-consent .analytics-consent__summary p{margin:0;color:var(--consent-muted);font-size:12px;line-height:1.3}
.analytics-consent button{min-height:44px;cursor:pointer;font:600 14px/1.2 var(--font-sans,Arial,sans-serif);letter-spacing:0;border-radius:7px;transition:background .18s ease,border-color .18s ease;color:inherit}
.analytics-consent__settings-button,.analytics-consent__close{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:10px;border:1px solid var(--consent-line);background:transparent}
.analytics-consent button svg{width:20px;height:20px;max-width:none;display:block}
.analytics-consent .analytics-consent__allow{padding:10px 14px;border:1px solid var(--consent-accent);background:var(--consent-accent);color:#fff;flex-shrink:0}
.analytics-consent__settings{display:flex;flex-direction:column;max-height:min(520px,calc(100svh - 32px - env(safe-area-inset-bottom)));max-height:min(520px,calc(100dvh - 32px - env(safe-area-inset-bottom)))}
.analytics-consent__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 10px 18px;border-bottom:1px solid var(--consent-line);flex:none}
.analytics-consent .analytics-consent__header h2{margin:0;font:600 18px/1.25 var(--font-sans,Arial,sans-serif);letter-spacing:-.2px}
.analytics-consent__close{border-color:transparent}
.analytics-consent__body{min-height:0;overflow:auto;overscroll-behavior:contain;padding:16px 18px;-webkit-overflow-scrolling:touch}
.analytics-consent__body p{margin:0;line-height:1.6}
.analytics-consent .analytics-consent__note{margin:14px 0 0;font-size:12px;color:var(--consent-muted)}
.analytics-consent__actions{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--consent-line);flex:none}
.analytics-consent__actions button{flex:1;min-width:0;padding:10px 12px}
.analytics-consent__decline{background:transparent;border:1px solid var(--consent-line)}
.analytics-consent button:disabled{opacity:.45;cursor:default}
.analytics-consent button:focus-visible,.analytics-consent__body:focus-visible,.analytics-choice:focus-visible{outline:2px solid var(--consent-accent,#b82b16);outline-offset:3px}
html[data-theme="dark"] .analytics-consent{--consent-bg:#1c1d23;--consent-fg:#f0f0f2;--consent-muted:#b5b6bd;--consent-line:#3a3b44;--consent-accent:#b82b16;box-shadow:0 6px 30px #0005}
@media(hover:hover){.analytics-consent button:not(:disabled):hover{filter:brightness(1.12);border-color:var(--consent-muted)}.analytics-consent__settings-button:hover,.analytics-consent__close:hover,.analytics-consent__decline:hover{background:#8881}}
@media(max-width:480px){.analytics-consent{right:10px;bottom:max(10px,env(safe-area-inset-bottom));width:calc(100% - 20px)}.analytics-consent:has(.analytics-consent__bar:not([hidden])){left:50%;right:auto;transform:translateX(-50%);max-width:calc(100% - 20px)}.analytics-consent__settings{max-height:min(480px,calc(100svh - 24px - env(safe-area-inset-bottom)));max-height:min(480px,calc(100dvh - 24px - env(safe-area-inset-bottom)))}.analytics-consent__actions button{font-size:13px}}
/* Center desktop consent and Settings; give the compact card a little more room. */
@media(min-width:768px){
  .analytics-consent{left:50%;right:auto;transform:translateX(-50%)}
  .analytics-consent:has(.analytics-consent__bar:not([hidden])){min-width:280px;border-radius:9px}
  .analytics-consent__bar{flex-direction:row;gap:14px;padding:8px 12px}
  .analytics-consent__summary{flex:1;text-align:left}
  .analytics-consent__bar-actions{flex:none}
}
@media(min-width:768px) and (hover:hover) and (pointer:fine){
  .analytics-consent__bar button{min-height:36px;font-size:13px}
  .analytics-consent__bar .analytics-consent__settings-button{flex-basis:36px;width:36px;height:36px;padding:8px}
  .analytics-consent__bar button svg{width:18px;height:18px}
  .analytics-consent__bar .analytics-consent__allow{padding:8px 11px}
}
@media(min-width:768px) and (any-pointer:coarse){
  .analytics-consent__bar button{min-height:44px}
  .analytics-consent__bar .analytics-consent__settings-button{flex-basis:44px;width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.analytics-consent button{transition:none}}
