.privacy-launcher{position:fixed;inset:auto .75rem .75rem auto;z-index:45;min-height:44px;padding:.65rem .9rem;border:1px solid var(--ink);border-radius:.35rem;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.privacy-launcher[hidden],.privacy-preferences[hidden]{display:none}
.privacy-preferences{position:fixed;inset:auto 1rem 1rem auto;z-index:50;width:min(42rem,calc(100vw - 2rem));max-height:85dvh;overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:1.25rem;border:2px solid var(--eagle);border-radius:.5rem;background:var(--paper);color:var(--text);box-shadow:0 .5rem 2rem #0b254530;font:inherit;overflow-wrap:anywhere}
.privacy-preferences h2{margin:0 0 .8rem;font-size:1.35rem;line-height:1.25;color:var(--ink)}
.privacy-preferences p{margin:.75rem 0;font-size:.95rem;line-height:1.5}
.privacy-preferences fieldset{min-width:0;margin:.8rem 0;padding:.8rem;border:1px solid var(--muted)}
.privacy-preferences legend{font-weight:600;color:var(--ink)}
.privacy-choice{display:flex;align-items:flex-start;gap:.8rem;min-height:44px;padding:.65rem 0;cursor:pointer}
.privacy-choice input{flex:0 0 1.5rem;inline-size:1.5rem;block-size:1.5rem;margin:.15rem 0 0;accent-color:var(--eagle)}
.privacy-choice span{display:block;min-width:0;font-size:.9rem;line-height:1.45}
.privacy-choice strong{display:block;font-size:1rem;color:var(--ink)}
.privacy-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.privacy-actions button{min-height:44px;max-width:100%;padding:.65rem .85rem;border:1px solid var(--ink);border-radius:.3rem;background:var(--paper);color:var(--ink);font:inherit;cursor:pointer}
.privacy-actions button:hover,.privacy-launcher:hover{background:var(--sky)}
.privacy-actions button:disabled,.privacy-choice input:disabled{opacity:.6;cursor:default}
.privacy-preferences :focus-visible,.privacy-launcher:focus-visible{outline:3px solid var(--eagle);outline-offset:3px}
.privacy-preferences .privacy-footnote{font-size:.85rem}
@media(max-width:30rem){.privacy-preferences{inset:auto .5rem .5rem;width:calc(100vw - 1rem);padding:1rem;max-height:88dvh}.privacy-actions button{flex:1 1 9rem}.privacy-choice{gap:.65rem}}
@media(prefers-reduced-motion:reduce){.privacy-preferences{scroll-behavior:auto}}
