/* Measured high-contrast pairs for both palettes and appearances. */
:root{--privacy-surface:#172b38;--privacy-text:#f4f7fb;--privacy-muted:#d4dfeb;--privacy-accent:#bce9dc;--privacy-border:#8aabba}
html[data-theme=pink]{--privacy-surface:#3a2336;--privacy-text:#fff2f9;--privacy-muted:#ecd4e3;--privacy-accent:#ffdaea;--privacy-border:#c79bb5}
html[data-theme][data-appearance=day]{--privacy-surface:#fff;--privacy-text:#24344b;--privacy-muted:#46546a;--privacy-accent:#244f79;--privacy-border:#697b90}
html[data-theme=pink][data-appearance=day]{--privacy-surface:#fffafd;--privacy-text:#432c3c;--privacy-muted:#68465a;--privacy-accent:#78344f;--privacy-border:#99687f}
[hidden]{display:none!important}.skip-link{position:fixed;left:12px;top:-100px;z-index:10000;background:#fff;color:#172b38!important;padding:12px}.skip-link:focus{top:12px}
:focus-visible{outline:3px solid var(--privacy-accent)!important;outline-offset:4px!important;box-shadow:0 0 0 6px var(--privacy-surface)!important}
html[data-theme] :is(.hint,.muted,.home-note,.welcome,label,small,.section-intro p){color:var(--privacy-muted)}
html[data-theme] :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog){color:var(--privacy-text);background:var(--privacy-surface)}
html[data-theme] :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog) :is(.hint,.muted,small,p,label){color:var(--privacy-muted)}
html[data-theme] :is(input,textarea,select){border-color:var(--privacy-border)}
html[data-theme] :is(input,textarea)::placeholder{color:var(--privacy-muted);opacity:1}
html[data-theme] :is(a,.text-button){color:var(--privacy-accent)!important}
html[data-theme] .theme-pink{background:#713e61!important;color:#fff!important}
html[data-theme] .theme-blue{background:#223f54!important;color:#fff!important}
html[data-theme] :is(.privacy-center,.privacy-dialog,.cookie-banner){background:var(--privacy-surface);color:var(--privacy-text);border:1px solid var(--privacy-border)}
.privacy-footer{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:32px;padding:24px 0;line-height:1.5;border-top:1px solid var(--privacy-border)}
.privacy-footer a,.privacy-footer button{font:inherit;font-size:13px;text-decoration:underline;background:none;padding:6px 0;color:var(--privacy-accent);border:0;min-height:32px}
.cookie-banner{position:fixed;z-index:90;bottom:85px;left:16px;right:16px;max-width:620px;margin:auto;padding:18px;border-radius:18px;box-shadow:0 8px 40px #0005;max-height:50vh;overflow:auto}
.cookie-banner p,.privacy-center p,.privacy-dialog p{line-height:1.6;font-size:14px}.privacy-actions{display:flex;gap:12px;flex-wrap:wrap}.privacy-actions button{flex:1;min-width:160px}
html[data-theme] :is(.privacy-center,.privacy-dialog,.cookie-banner) button{background:var(--privacy-surface);color:var(--privacy-text);border:1px solid var(--privacy-border);padding:12px;border-radius:12px;min-height:44px}
.privacy-dialog{max-width:560px;width:calc(100% - 32px);max-height:85vh;overflow:auto;border-radius:20px;padding:24px}.privacy-dialog::backdrop{background:#0009}.privacy-center{scroll-margin-top:20px}.privacy-center li{margin-bottom:16px;overflow-wrap:anywhere}.privacy-center .account-check{align-items:flex-start}.privacy-footer a{text-underline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

html[data-theme][data-appearance=day] :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog) :is(.hint,.muted,small,p,label){color:var(--privacy-muted)!important}
