/* DOGGS r25 — tonal correction only. No geometry, input, media or scrolling changes.
   Dark reference: black canvas, separated neutral surfaces, crisp text, vivid accents.
   Specificity makes these shared tokens independent of lazy-loaded legacy sheets. */
html:root:root[data-theme="dark"],
html:root:root[data-theme="dark"] .p8-root.p8-v4 {
  --bg-canvas:#050608; --bg-surface:#101216; --bg-elevated:#1B1E24;
  --bg-input:#0B0D11; --surface-glass:#101318ed; --surface-focal:#0C0F14f5;
  --text-primary:#E3E7EE; --text-secondary:#C2CAD6; --text-muted:#A3AEBD;
  --border-subtle:#ffffff1f; --border-strong:#ffffff3d;
  --accent-primary:#55C8FF; --accent-fill:#30B8FF; --accent-fill-hover:#65CEFF;
  --accent-wash:#30b8ff1f; --accent-edge:#30b8ff8c; --on-accent:#04131E;
  --focus-ring:#65CEFF;
  --p8-bg:#050608; --p8-studio:#050608; --p8-card:#101216; --p8-card-2:#1B1E24;
  --p8-surface:#101216; --p8-ink:#E3E7EE; --p8-ink-2:#C2CAD6; --p8-ink-3:#A3AEBD;
  --p8-on-image:#E3E7EE;
  --p8-hair:#ffffff1f; --p8-edge:#ffffff3d;
  --p8-accent:#30B8FF; --p8-accent-ink:#55C8FF; --p8-on-accent:#04131E;
  --p8-accent-soft:#30b8ff1f; --p8-accent-edge:#30b8ff8c;
  --p8-accent-glow:#009dff33;
  --p8-glass:linear-gradient(145deg,#171D26ed,#0C0F14f5);
  --p8-glass-strong:#101318f5; --p8-reflect:#e5f5ff26;
}
/* Retain DOGGS glass edges and wolf assets. Neutral fill clarifies hierarchy. */
html:root:root[data-theme="dark"] body.p8-active .p8-root.p8-v4 :is(.voice-workspace,.voice-settings-panel,.voice-chat,.card) {
  background-color:var(--p8-card); border-color:var(--p8-hair);
}
html:root:root[data-theme="dark"] body.p8-active .p8-root.p8-v4 .voice-channel.selected {
  background-color:var(--p8-accent-soft); color:var(--p8-accent-ink);
}
html:root:root[data-theme="dark"] body.p8-active .p8-root.p8-v4 .nav-item.active { color:var(--p8-accent-ink); }
html:root:root[data-theme="dark"] body.p8-active .p8-root.p8-v4 :is(.voice-channel,.nav-item):not(.selected):not(.active) {
  color:var(--p8-ink-2);
}
html:root:root[data-theme="dark"] :is(.login-page,.p8-root.p8-v4) :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea) {
  background-color:var(--bg-input); color:var(--text-primary); border-color:var(--border-strong);
}
html:root:root[data-theme="dark"] :is(.login-page,.p8-root.p8-v4) :is(input,textarea)::placeholder {
  color:var(--text-muted); opacity:1;
}
/* Status colors remain semantic. No global saturation/contrast/image filter. */
@media(hover:hover) {
  html:root:root[data-theme="dark"] body.p8-active .p8-root.p8-v4 :is(.voice-channel,.nav-item):hover:not(.selected):not(.active) {
    background-color:var(--p8-card-2); color:var(--p8-ink);
  }
}
