/* Shared public privacy UI; existing Amethyst palette and Golos typography. */
.privacy-banner,.privacy-dialog{--privacy-bg:#21162f;--privacy-text:#f3edff;--privacy-muted:#cec2dc;--privacy-line:#76618b;--privacy-accent:#d6b4ff;color:var(--privacy-text);font-family:Golos,Arial,sans-serif;font-size:15px;line-height:1.55;letter-spacing:normal}
.privacy-banner{position:fixed;z-index:1000;inset:auto 16px max(16px,env(safe-area-inset-bottom));background:var(--privacy-bg);border:1px solid var(--privacy-line);border-radius:18px;padding:14px 16px;max-width:1280px;max-height:55dvh;overflow:auto;margin:0 auto;display:grid;gap:10px;box-sizing:border-box;box-shadow:0 12px 40px #08051066}.privacy-banner[hidden]{display:none}.privacy-banner p{margin:0;color:var(--privacy-muted);font-size:14px;line-height:1.5}.privacy-banner .privacy-actions{justify-content:flex-end}.privacy-banner .privacy-actions button{flex:0 1 auto;font-size:14px;padding:10px 12px;white-space:nowrap}
html:has(.privacy-banner:not([hidden])){scroll-padding-bottom:var(--privacy-banner-space,280px)}
body:has(.privacy-banner:not([hidden]))::after{content:"";display:block;height:var(--privacy-banner-space,280px)}
.privacy-banner a,.privacy-dialog a,.privacy-note a,.privacy-footer a,.privacy-document a{text-decoration:underline;text-underline-offset:4px}
.privacy-actions{display:flex;gap:10px;flex-wrap:wrap}.privacy-actions button,.privacy-heading button{font:inherit;min-height:44px;padding:10px 16px;border:1px solid var(--privacy-line);border-radius:12px;color:var(--privacy-text);background:transparent;cursor:pointer;line-height:1.4;box-shadow:none;transform:none}.privacy-actions button:focus-visible,.privacy-heading button:focus-visible,.privacy-option input:focus-visible{outline:3px solid var(--privacy-accent);outline-offset:3px}
.privacy-dialog{box-sizing:border-box;width:min(580px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:auto;padding:28px;background:var(--privacy-bg);border:1px solid var(--privacy-line);border-radius:24px;overflow:auto}.privacy-dialog::backdrop{background:#100b1acc}.privacy-heading{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:20px}.privacy-heading h2{font-size:26px;line-height:1.2;letter-spacing:-.5px;margin:0}.privacy-heading button{flex:none;font-size:24px;width:44px;padding:3px}.privacy-dialog>p{color:var(--privacy-muted);margin:0 0 20px}.privacy-option{display:block;position:relative;border-top:1px solid var(--privacy-line);padding:20px 0;cursor:default}.privacy-option:has(input){cursor:pointer;padding-right:40px}.privacy-option p{color:var(--privacy-muted);margin:7px 0 0;font-size:14px}.privacy-option span{display:block;color:var(--privacy-muted);font-size:13px}.privacy-option input{position:absolute;right:2px;top:20px;width:24px;height:24px;accent-color:var(--privacy-accent);cursor:pointer}.privacy-dialog .privacy-links{font-size:13px}.privacy-feedback{font-size:14px;text-align:center;color:#cec2dc;padding:0 20px}.privacy-feedback:empty{display:none}.privacy-footer{display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;font-size:14px;color:#cec2dc}.privacy-footer button{font:inherit;color:inherit;background:none;border:0;padding:10px 0;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:4px}.privacy-note{font-size:14px!important;line-height:1.55;color:#cec2dc;margin:16px 0!important;max-width:680px}.privacy-storage{font-size:13px;color:#cec2dc;margin-top:14px}.privacy-document{max-width:850px;padding:60px 0 80px}.privacy-document h1{font-size:clamp(32px,5vw,54px);line-height:1.12;overflow-wrap:anywhere}.privacy-document h2{font-size:25px;line-height:1.3;letter-spacing:-.4px;margin:36px 0 14px}.privacy-document p,.privacy-document li{color:#cec2dc}.privacy-document li{margin:8px 0}.privacy-document .document-card{border:1px solid #76618b;background:#21162f;border-radius:18px;padding:24px;margin:24px 0}.privacy-document .document-draft{border-left:3px solid #d6b4ff;padding-left:18px}.privacy-document table{border-collapse:collapse;width:100%;font-size:14px}.privacy-document td,.privacy-document th{padding:14px 8px;border-bottom:1px solid #76618b;text-align:left;vertical-align:top}.privacy-document td{color:#cec2dc}.privacy-document caption{text-align:left;margin-bottom:12px}
@media(hover:hover) and (pointer:fine){.privacy-actions button:hover,.privacy-heading button:hover{background:#382547}}

@media(max-width:600px){.privacy-banner{inset-inline:12px;bottom:max(12px,env(safe-area-inset-bottom));padding:12px;gap:10px}.privacy-banner .privacy-actions{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:6px}.privacy-banner .privacy-actions button{font-size:13px;padding:8px 6px;white-space:normal}.privacy-dialog{padding:22px}.privacy-document{padding-top:36px}.privacy-footer{gap:8px 20px}.privacy-dialog .privacy-actions{flex-direction:column}.privacy-document .document-card{padding:18px}.privacy-document table{font-size:13px}.privacy-document td,.privacy-document th{padding:10px 4px}}
/* The quiz's older generic dialog rules must not change the settings layout. */
#privacy-dialog{width:min(580px,calc(100% - 32px));max-width:580px;max-height:calc(100dvh - 32px);height:auto;padding:28px;margin:auto;border-radius:24px;background:#21162f;border:1px solid #76618b;overflow:auto;box-shadow:none}
#privacy-dialog::backdrop{background:#100b1acc;backdrop-filter:none}
#privacy-dialog .privacy-heading h2{font-size:26px;line-height:1.2;letter-spacing:-.5px;margin:0}
@media(max-width:600px){#privacy-dialog{padding:22px}#privacy-dialog .privacy-heading h2{font-size:24px}}

/* A separate visible row for all three privacy controls. */
.footer .privacy-footer{flex-basis:100%;width:100%;padding-top:18px;border-top:1px solid #76618b}
.footer .privacy-footer a{display:inline-flex;align-items:center;min-height:44px}

.storage-table{max-width:100%;overflow-x:auto}.storage-table:focus-visible{outline:3px solid #d6b4ff;outline-offset:3px}.storage-table table{min-width:520px}.storage-table code{font-size:12px;overflow-wrap:anywhere}

#privacy-dialog .privacy-heading h2{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){#privacy-dialog .privacy-heading h2{font-size:22px}}

/* Text and choices share one row when there is enough room. */
@media(min-width:1100px){.privacy-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px}.privacy-banner .privacy-actions{flex-wrap:nowrap}}

/* Actions retain button styling; legal copy follows all transfer controls. */
.header .text-button,.header .text-button:hover,.footer [data-action="reset"],.footer [data-action="reset"]:hover{text-decoration:none}
.result-cta .result-privacy-note{font-size:12px!important;font-style:italic;line-height:1.5;margin:16px 0 0!important;padding:0}

/* A quiet, consistent underline for actual inline and legal links. */
.privacy-banner a,.privacy-dialog a,.privacy-note a,.privacy-footer a,.privacy-document a,.privacy-footer button{ text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:#8d759f;text-decoration-skip-ink:auto }
