/* Glass surfaces: high-opacity tint keeps content legible over changing scenery. */
:root{--glass-tint:23,43,56;--glass-edge:rgba(205,239,255,.35);--glass-shine:rgba(255,255,255,.09);--glass-shadow:rgba(0,8,20,.24)}
html[data-theme=pink]{--glass-tint:58,35,54;--glass-edge:rgba(255,214,240,.38)}
html[data-theme][data-appearance=day]{--glass-tint:255,255,255;--glass-edge:rgba(85,113,147,.4);--glass-shine:rgba(255,255,255,.72);--glass-shadow:rgba(47,68,101,.12)}
html[data-theme=pink][data-appearance=day]{--glass-tint:255,250,253;--glass-edge:rgba(150,92,125,.4)}
html[data-theme] body :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog,.privacy-center,.privacy-dialog,.cookie-banner,.partner-notifications-panel){
 background:var(--privacy-surface);
 background-image:linear-gradient(145deg,var(--glass-shine),transparent 44%);
 border:1px solid var(--glass-edge);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.24),inset 0 -1px 0 rgba(255,255,255,.04),0 10px 30px var(--glass-shadow);
 color:var(--privacy-text);
}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
 html[data-theme] body :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog,.privacy-center,.privacy-dialog,.cookie-banner,.partner-notifications-panel){
 background-color:rgba(var(--glass-tint),.94);
 -webkit-backdrop-filter:blur(18px) saturate(125%);backdrop-filter:blur(18px) saturate(125%);
 }
}
/* Retain original action colors and selected states beneath a specular finish. */
html[data-theme] body button:not(.quick-card):not(.card):not(.cal-day):not(.text-button):not(.home-cat):not(#greetLeft):not(#greetRight){
 background-image:linear-gradient(160deg,rgba(255,255,255,.22),transparent 48%,rgba(255,255,255,.04));
 box-shadow:inset 0 1px 0 rgba(255,255,255,.42),inset 0 -1px 0 rgba(0,0,0,.1),0 3px 9px var(--glass-shadow);
}
html[data-theme] body :is(.quick-card .symbol,nav button>span){
 display:inline-flex;align-items:center;justify-content:center;
 width:40px;height:40px;border-radius:13px;flex-shrink:0;
 color:var(--privacy-accent);background-color:var(--privacy-surface);
 background-image:linear-gradient(140deg,rgba(255,255,255,.22),rgba(255,255,255,.02) 55%,rgba(255,255,255,.09));
 border:1px solid var(--glass-edge);
 box-shadow:inset 0 1px 1px rgba(255,255,255,.4),0 4px 10px var(--glass-shadow);
}
html[data-theme] body #nav{background:rgba(var(--glass-tint),.96);border-color:var(--glass-edge);box-shadow:0 -6px 24px var(--glass-shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
html[data-theme] body #nav button{background:transparent;box-shadow:none;color:var(--privacy-muted)}
html[data-theme] body #nav button>span{display:flex;margin:0 auto 4px}
html[data-theme] body #nav button.active{color:var(--privacy-accent);font-weight:800}
html[data-theme] body #nav button.active>span{border:2px solid var(--privacy-accent);box-shadow:inset 0 1px 2px #fff5,0 0 12px var(--glass-shadow)}
html[data-theme] body .privacy-footer button{background:none;box-shadow:none}
@media(hover:hover){html[data-theme] body .quick-card:hover{border-color:var(--privacy-accent);box-shadow:inset 0 1px 0 #fff5,0 14px 32px var(--glass-shadow)}}
/* Avoid additional motion and preserve the existing visible focus ring. */
html[data-theme] body :focus-visible{outline:3px solid var(--privacy-accent)!important;outline-offset:4px!important;box-shadow:0 0 0 6px var(--privacy-surface)!important}
@media(prefers-reduced-transparency:reduce){html[data-theme] body :is(.card,.dash-panel,.quick-card,.place-tile,.plan-card,.gift-card,.album-card,.movie-dialog,.theme-dialog,.privacy-center,.privacy-dialog,.cookie-banner,.partner-notifications-panel,#nav){background-color:var(--privacy-surface);backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(forced-colors:active){html[data-theme] body :is(button,.card,.dash-panel,.symbol,nav button>span){background-image:none;box-shadow:none;border:1px solid ButtonText}}

/* Character hit targets are invisible artwork controls, not glass buttons. */
html[data-theme] body :is(.home-cat,.character-greetings button){background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html[data-theme] body :is(.home-cat,.character-greetings button):focus-visible{outline:3px solid var(--privacy-accent)!important;outline-offset:4px!important}
