.privacy-banner{position:fixed;z-index:100;bottom:20px;right:20px;width:min(480px,calc(100% - 32px));max-height:70vh;overflow:auto;padding:22px;background:#edf4fc;color:#142b49;border:1px solid #9bb7d4;border-radius:12px;box-shadow:0 8px 32px #142b4926;font:14px/1.55 system-ui,sans-serif;text-align:left;box-sizing:border-box}
.privacy-banner[hidden]{display:none}
.privacy-banner h2{font:600 19px/1.3 system-ui,sans-serif;letter-spacing:normal;margin:0 0 10px}
.privacy-banner p{margin:0 0 16px;color:inherit}
.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.privacy-actions button,.privacy-save,.privacy-open{font:inherit;cursor:pointer;color:inherit;border:1px solid currentColor;background:transparent;border-radius:5px;padding:10px 12px;min-height:44px}
.privacy-actions button{width:100%;margin:0;min-width:0}
.privacy-details{margin-top:8px}.privacy-details summary{cursor:pointer;min-height:44px;line-height:24px;padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.privacy-details .privacy-essential{font-size:13px;margin:0 0 8px}
.privacy-option{display:flex;align-items:center;gap:10px;min-height:44px;cursor:pointer}
.privacy-option input{width:18px;height:18px;flex-shrink:0;accent-color:#315f9f}
.privacy-save{margin:10px 0 16px}
.privacy-banner .privacy-duration{font-size:12px;margin:8px 0 10px}
.privacy-links{display:flex;gap:20px;flex-wrap:wrap}.privacy-links a{font:inherit;text-decoration:underline;text-underline-offset:4px}
.privacy-open{padding:0;border:0;border-radius:0;min-height:0;text-decoration:underline;text-underline-offset:4px}
.privacy-banner :focus-visible,.privacy-open:focus-visible{outline:3px solid #398bf0;outline-offset:4px}
[data-theme=dark] .privacy-banner{background:#203c5e;color:#e5effd;border-color:#6885a7}
@media(max-width:600px){.privacy-banner{bottom:12px;right:16px;padding:18px}.privacy-actions{gap:8px}}
