/* Final presentation rules: readable text and explicit light/dark surfaces. */
:root { --ink:#000; --muted:#111; --soft:#f4f4f5; --wa-text:#000; --wa-surface:#fff; --wa-panel:#f4f4f5; --wa-border:#c6c6cc; }
html[data-theme="dark"] { --ink:#fff; --muted:#fff; --soft:#252528; --wa-text:#fff; --wa-surface:#111113; --wa-panel:#252528; --wa-border:#74747c; }
html body { color:var(--wa-text); background:var(--wa-surface); }
html body :is(h1,h2,h3,h4,p,small,label,legend,strong,b,dt,dd,.count,.age,.empty,.page-empty,.settings-note,.setting-value,.acc-value,.settings-version,.auth-small,.auth-progress,.friend-meta span,.friend-person-main span,.profile-bday,.secret-meta,.secret-step,.support-footnote,.notification-time,.wish-detail-meta,.wish-detail-privacy,.crop-help,.privacy-small,.giving-empty,.admin-kicker) {
  color:var(--wa-text)!important;
  -webkit-text-fill-color:currentColor!important;
}
html body :is(h1,h2,h3,h4,label,legend,.auth-brand) { font-weight:700; }
html body :is(input,textarea,select) { color:var(--wa-text)!important; -webkit-text-fill-color:currentColor!important; background:var(--wa-surface)!important; border-color:var(--wa-border)!important; }
html body :is(input,textarea)::placeholder { color:var(--wa-text)!important; -webkit-text-fill-color:currentColor; opacity:1; }
html body :is(button,input,textarea,select,a):focus-visible { outline:3px solid #4169e1; outline-offset:3px; }
html body button :is(p,small,strong,b,label,span) { color:inherit!important; -webkit-text-fill-color:currentColor!important; }
html body :is(.wa-toast,.reset-panel,.crop-panel,.group-sheet,.secret-panel,.v24-sheet,.v24-modal,.modal,.settings-sub,.settings-drawer,.app-page,.notifications-page,dialog) {
  background:var(--wa-surface)!important; color:var(--wa-text)!important;
}
html body :is(.card,.setting-card,.about-card,.privacy-block,.auth-choice,.notification-card,.secret-card,.secret-hero,.support-menu,.support-bubble,.ticket-user-card,.admin-conversation,.profile-wish-card,.wish-detail-privacy) {
  color:var(--wa-text)!important; background:var(--wa-surface)!important; border-color:var(--wa-border)!important;
}
html body :is(.subhead,.settings-sub .subhead) { background:var(--wa-surface)!important; }
html body :is(.iconbtn,.close,.settings-close,.crop-cancel,.crop-head button,.auth-secondary,.group-assign,.sort,.design-tabs button,.theme-options button,.friend-filter button,.purchase-filters button,.secret-action,.mini-btn,.cover-upload,.chip:not(.active)) {
  background:var(--wa-panel)!important; color:var(--wa-text)!important; -webkit-text-fill-color:currentColor!important;
}
html body :is(.auth-primary,.save,.fab,.crop-use,.v24-primary,.v24-danger,.primary,.friend-search button,.design-tabs button.active,.theme-options button.active,.friend-filter button.active,.purchase-filters button.active,.chip.active,.group-sheet button.active,.admin-actions button:not(.secondary):not(.danger),.delete-confirm) {
  background:#090909!important; color:#fff!important; -webkit-text-fill-color:#fff!important;
}
html body :is(.auth-primary,.save,.v24-primary,.v24-danger,.primary,.delete-confirm) :is(span,strong,b,small) { color:#fff!important; -webkit-text-fill-color:#fff!important; }
html body .nav button { color:var(--wa-text)!important; -webkit-text-fill-color:currentColor!important; }
html body :is(#friendWishlistCount,#friendProfileBirthday,#homeHandleBirthday,.tag,.wish-view-count,.giving-status,.secret-empty,.secret-step,.notification-copy,.ticket-pill),html body #friendWishlistTab,html body #friendAboutTab,html body #friendWishlistTab.active,html body #friendAboutTab.active { color:var(--wa-text)!important; -webkit-text-fill-color:currentColor!important; }
html body .group-card.group-cover :is(h1,h2,h3,p,small,strong,b,span),html body .crop-card-overlay { color:#fff!important; -webkit-text-fill-color:#fff!important; }
html body :is(.auth-inline-status.error,.auth-message.error,.wa-toast.error,.delete-error) { color:#b42318!important; -webkit-text-fill-color:currentColor!important; }
html[data-theme="dark"] body :is(.auth-inline-status.error,.auth-message.error,.wa-toast.error,.delete-error) { color:#ffb4ab!important; }
html body :is(button:disabled,input:disabled) { opacity:1!important; cursor:not-allowed; border-style:dashed; }
/* Authentication remains a light surface even if the signed-in app uses dark mode. */
html body #authScreen { background:#fff!important; color:#000!important; --wa-text:#000; --wa-surface:#fff; --wa-panel:#f4f4f5; --wa-border:#777; color-scheme:light; }
html body #authScreen :is(h1,h2,h3,p,small,label,.auth-brand,.auth-progress,.auth-small) { color:#000!important; -webkit-text-fill-color:#000!important; opacity:1!important; }
html body #authScreen :is(input,select) { color:#000!important; background:#fff!important; -webkit-text-fill-color:#000!important; }
html body #authScreen .auth-primary { color:#fff!important; -webkit-text-fill-color:#fff!important; }
html body #authScreen .auth-inline-status.error { color:#b42318!important; }
/* Welcome screen: every visible label is bold, including supporting copy and footer. */
html body #authScreen .auth-brand,
html body #authScreen #authWelcome,
html body #authScreen #authWelcome *,
html body #authScreen #continuePrototype {
  font-weight:700!important;
  opacity:1!important;
}
html body #authScreen #authWelcome :is(h1,h2,p),
html body #authScreen #continuePrototype {
  color:#000!important;
  -webkit-text-fill-color:#000!important;
}
.delete-account-panel { width:min(94vw,440px); padding:24px; border-radius:20px; }
.delete-account-panel::backdrop { background:#0009; }
.delete-account-panel button { min-height:44px; padding:12px 16px; border-radius:12px; border:1px solid var(--wa-border); font:inherit; font-weight:700; }
.delete-account-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }
.delete-error { min-height:24px; margin:12px 0; }
.account-delete-entry { width:100%; padding:14px; margin-top:20px; border:1px solid var(--wa-border); border-radius:14px; background:var(--wa-surface); color:var(--wa-text); font:inherit; font-weight:700; }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }

html[data-theme="dark"] body #settingsButton,html[data-theme="dark"] body .subhead button,html[data-theme="dark"] body .page-back,html[data-theme="dark"] body .friend-return-control {color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body :is(.avatar,.friend-avatar,.profile-big-avatar,.stack-avatar,.settings-avatar,.occasion-avatar) {color:#000!important;-webkit-text-fill-color:#000!important;}
html body #add {color:#fff!important;-webkit-text-fill-color:#fff!important;}
html body .secret-person {background:var(--wa-panel)!important;color:var(--wa-text)!important;}
