/* Shared palette. Existing light-mode components retain their own styles. */
:root {
  --pb-dark-bg:#191c20;
  --pb-dark-card:#23272d;
  --pb-dark-header:#252a30;
  --pb-dark-nav:#1f2227;
  --pb-dark-outline:#3c444e;
  --pb-dark-secondary:#c9c5cc;
  --pb-dark-raised:#533c50;
  --pb-dark-text:#f4f1f4;
  --pb-dark-muted:#a39fa8;
  --pb-dark-accent:#dcbcd8;
  --pb-dark-primary:#775973;
  --pb-dark-border:#313840;
  --pb-dark-notes:#2b2520;
  --pb-dark-honey:#efc980;
  --pb-dark-warm:#f6e9d8;
  --pb-dark-danger:#ffb6bf;
  --pb-dark-success:#b9d8b4;
}
.pb-account-wrap .pb-appearance-control {border:0;padding:0;margin:24px 0 0;min-width:0;}
.pb-account-wrap .pb-appearance-control legend {font-weight:700;font-size:14px;padding:0;margin:0 0 8px;}
.pb-account-wrap .pb-appearance-options {display:flex;gap:4px;border:1px solid #e5dcd2;background:#f1ebee;padding:4px;border-radius:18px;max-width:440px;}
.pb-account-wrap .pb-appearance-options label {position:relative;flex:1;margin:0;cursor:pointer;}
.pb-account-wrap .pb-appearance-options input {position:absolute;opacity:0;width:1px;height:1px;}
.pb-account-wrap .pb-appearance-options span {display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:13px;color:#775973;font-weight:600;}
.pb-account-wrap .pb-appearance-options input:checked + span {background:#fff;color:#4a2f3d;box-shadow:0 1px 4px rgba(74,47,61,.09);}
.pb-account-wrap .pb-appearance-options input:focus-visible + span {outline:2px solid #775973;outline-offset:2px;}
.pb-account-wrap .pb-appearance-options input:disabled + span {cursor:wait;}
.pb-account-wrap .pb-appearance-hint,.pb-account-wrap .pb-appearance-status {font-size:13px;line-height:1.5;margin:12px 0 0;color:#6c6269;}
.pb-account-wrap .pb-appearance-status:empty {display:none;}
@media (max-width:1024px) {
  html.pb-native-app[data-pb-large-text] .pb-account-wrap .pb-appearance-options {flex-direction:column;}
  html.pb-native-app[data-pb-large-text] .pb-account-wrap .pb-appearance-options span {white-space:nowrap;min-height:52px;line-height:1.4;padding:4px 12px;}
}
@media screen {
  html[data-pb-theme="dark"] {color-scheme:dark;background:var(--pb-dark-bg);color:var(--pb-dark-text);}
  html[data-pb-theme="dark"] .pb-account-wrap .pb-appearance-options {background:var(--pb-dark-card);border-color:var(--pb-dark-border);}
  html[data-pb-theme="dark"] .pb-account-wrap .pb-appearance-options span {color:var(--pb-dark-muted);}
  html[data-pb-theme="dark"] .pb-account-wrap .pb-appearance-options input:checked + span {background:var(--pb-dark-raised);color:var(--pb-dark-text);box-shadow:none;}
  html[data-pb-theme="dark"] .pb-account-wrap .pb-appearance-options input:focus-visible + span {outline-color:var(--pb-dark-accent);}
  html[data-pb-theme="dark"] .pb-account-wrap :is(.pb-appearance-hint,.pb-appearance-status) {color:var(--pb-dark-muted);}
}

/* One dark loading palette across full pages and lazy-mounted sheets. */
@media screen {
  html[data-pb-theme="dark"] {
    --pb-loading-base:var(--pb-dark-card);
    --pb-loading-highlight:var(--pb-dark-raised);
    --pb-loading-gradient:linear-gradient(90deg,var(--pb-loading-base) 25%,var(--pb-loading-highlight) 37%,var(--pb-loading-base) 63%);
  }
  html[data-pb-theme="dark"] body :is(
    .pbcm-skel-sh,.pbcm-skel-hero,.pbrm-skel-sh,.pbrm-skel-hero,
    .pbmp-ov-sk,.pbgl-ov-sk,.pbt-ov-sk,.pbcalc-ov-sk,
    .pbrv-skeleton-block,.pbrv-skeleton-lines,.pbpv-skeleton,.pb-movement-placeholder,
    .pbpk-skel-img,.pbpk-skel-line,.pbf-skel-img,.pbf-skel-line,.pbf-saved-placeholder,
    .pba-skeleton-label,.pba-skeleton-icon,.pba-skeleton-line,
    .pbcw-skeleton,.pb-lb__owner-skeleton span,.hc-shimmer
  ),
  html[data-pb-theme="dark"] body .pbcw-image-pending::after {
    background-image:var(--pb-loading-gradient) !important;
    background-color:var(--pb-loading-base) !important;
    background-size:400% 100% !important;
    animation:pb-theme-loading 1.4s ease infinite !important;
  }
  html[data-pb-theme="dark"] :is(.pbcm-skel-hero,.pbrm-skel-hero) {color:var(--pb-dark-muted);}
  /* Keep the gaps in text-line placeholders when adding the shared shimmer. */
  html[data-pb-theme="dark"] #pb-recipes-view .pbrv-skeleton-lines {
    -webkit-mask-image:repeating-linear-gradient(to bottom,#000 0,#000 .7em,transparent .7em,transparent 1.2em);
    mask-image:repeating-linear-gradient(to bottom,#000 0,#000 .7em,transparent .7em,transparent 1.2em);
  }
  html[data-pb-theme="dark"] #pb-recipes-view .pbrv-skeleton-action {--pbrv-skeleton-fill:var(--pb-loading-highlight);}
  html[data-pb-theme="dark"] #pb-recipes-view :is(.pbrv-skeleton-photo,.pbrv-skeleton-circle) {border-color:var(--pb-dark-border);}

  /* These body-mounted messages previously retained inline light colors. */
  html[data-pb-theme="dark"] :is(#pb-hn-tool-toast,#pbf-inline-toast,.pb-toast) {
    background:var(--pb-dark-card) !important;
    color:var(--pb-dark-text) !important;
    border:1px solid var(--pb-dark-outline);
    box-shadow:none !important;
  }
  html[data-pb-theme="dark"] :is(.pbf-my-recipes-error,.pbrm-error-state) {color:var(--pb-dark-danger) !important;}
  html[data-pb-theme="dark"] .pbf-my-recipes-error__text {color:var(--pb-dark-danger) !important;}
  html[data-pb-theme="dark"] :is(#pba-account-panel,#pb-recipes-view,#pb-plans-view,#pb-posts-view,#pb-movement-overlay) [role="alert"] {color:var(--pb-dark-danger);}
  html[data-pb-theme="dark"] #pba-account-panel [data-pba-retry] {background:var(--pb-dark-card);color:var(--pb-dark-text);border:1px solid var(--pb-dark-outline);}
  html[data-pb-theme="dark"] .pb-account-wrap .ac-danger__error {color:var(--pb-dark-danger);}
  html[data-pb-theme="dark"] .pbrm-error-close {background:var(--pb-dark-card);color:var(--pb-dark-text);border-color:var(--pb-dark-outline);}
}
@keyframes pb-theme-loading {
  0% {background-position:100% 0;}
  100% {background-position:0 0;}
}
@media screen and (prefers-reduced-motion:reduce) {
  html[data-pb-theme="dark"] body :is(
    .pbcm-skel-sh,.pbcm-skel-hero,.pbrm-skel-sh,.pbrm-skel-hero,
    .pbmp-ov-sk,.pbgl-ov-sk,.pbt-ov-sk,.pbcalc-ov-sk,
    .pbrv-skeleton-block,.pbrv-skeleton-lines,.pbpv-skeleton,.pb-movement-placeholder,
    .pbpk-skel-img,.pbpk-skel-line,.pbf-skel-img,.pbf-skel-line,.pbf-saved-placeholder,
    .pba-skeleton-label,.pba-skeleton-icon,.pba-skeleton-line,
    .pbcw-skeleton,.pb-lb__owner-skeleton span,.hc-shimmer
  ),
  html[data-pb-theme="dark"] body .pbcw-image-pending::after {animation:none !important;}
}
