/* DOGGS clarity: visual tokens only; scrolling, safe areas and player geometry stay owned by their modules. */
:root:root[data-theme="dark"] {
  --p8-ink:#FAFAFC; --p8-ink-2:#CDD0D8; --p8-ink-3:#A4A9B5;
  --p8-hair:rgba(218,229,255,.12); --p8-edge:rgba(218,229,255,.24);
  --p8-accent:#59BDFF; --p8-accent-ink:#7CCBFF; --p8-on-accent:#06131F;
  --p8-accent-soft:rgba(72,186,255,.13); --p8-accent-edge:rgba(89,189,255,.48);
  --text-primary:#FAFAFC; --text-secondary:#CDD0D8; --text-muted:#A4A9B5;
  --border-subtle:rgba(218,229,255,.12); --border-strong:rgba(218,229,255,.24);
  --accent-primary:#7CCBFF; --accent-fill:#59BDFF; --accent-fill-hover:#7CCBFF;
  --accent-wash:rgba(72,186,255,.13); --accent-edge:rgba(89,189,255,.48); --on-accent:#06131F;
  --focus-ring:#7CCBFF;
}
:root:root[data-theme="light"] {
  --p8-ink:#181C24; --p8-ink-2:#414A58; --p8-ink-3:#566171;
  --p8-hair:rgba(24,35,52,.14); --p8-edge:rgba(24,35,52,.28);
  --p8-accent:#8F3044; --p8-accent-ink:#8F3044; --p8-on-accent:#FFFFFF;
  --p8-accent-soft:rgba(143,48,68,.08); --p8-accent-edge:rgba(143,48,68,.34);
  --text-primary:#181C24; --text-secondary:#414A58; --text-muted:#566171;
  --border-subtle:rgba(24,35,52,.14); --border-strong:rgba(24,35,52,.28);
  --accent-primary:#8F3044; --accent-fill:#8F3044; --accent-fill-hover:#782438;
  --accent-wash:rgba(143,48,68,.08); --accent-edge:rgba(143,48,68,.34); --on-accent:#FFFFFF;
  --focus-ring:#8F3044;
}
/* Less visual weight without shrinking the touch target or reshaping circular controls. */
html:root .login-page .btn,
body.p8-active .p8-root.p8-v4 :is(.p8-page-body,.p8-admin-dialog) .btn:not(.btn-icon):not(.home-event-button) {
  border-radius:10px; font-weight:500; letter-spacing:0; box-shadow:none;
}
html:root body.login-page .btn.btn-primary {
  background:var(--accent-fill)!important; color:var(--on-accent)!important;
  border-color:var(--accent-edge)!important; box-shadow:none!important;
}
body.p8-active .p8-root.p8-v4 .voice-entry>.voice-button {
  border-radius:10px; font-weight:500;
}
body.p8-active .p8-root.p8-v4 .voice-channel:not(.selected),
body.p8-active .p8-root.p8-v4 .nav-item:not(.active) { color:var(--p8-ink-2); }
body.p8-active .p8-root.p8-v4 .voice-channel strong { font-weight:500; }
body.p8-active .p8-root.p8-v4 .voice-channel.selected { box-shadow:inset 2px 0 var(--p8-accent); }
/* Inputs remain opaque enough for their text to survive the glass behind them. */
body.p8-active .p8-root.p8-v4 :is(input:not([type=range]):not([type=checkbox]):not([type=radio]),select,textarea),
html:root .login-page :is(input:not([type=checkbox]),select) {
  color:var(--text-primary); border-color:var(--border-strong);
}
body.p8-active .p8-root.p8-v4 :is(input,textarea)::placeholder,
html:root .login-page input::placeholder { color:var(--text-muted); opacity:1; }
body.p8-active .p8-root.p8-v4 :is(button,input,select,textarea,a):focus-visible,
html:root .login-page :is(button,input,a):focus-visible {
  outline:2px solid var(--focus-ring); outline-offset:3px;
}
/* Keep the existing glass and wolf artwork; add a crisp edge, not another glow layer. */
body.p8-active .p8-root.p8-v4 :is(.voice-workspace,.voice-participant,.voice-settings-panel) { border-color:var(--p8-hair); }
body.p8-active .p8-root.p8-v4 .vs-section h3 { color:var(--p8-ink); font-weight:500; }
body.p8-active .p8-root.p8-v4 .voice-settings :is(.field-label,label,summary) { font-weight:400; }
body.p8-active .p8-root.p8-v4 .voice-settings input[type=range] {
  appearance:none; accent-color:var(--p8-accent); background:transparent; border:0; box-shadow:none;
}
body.p8-active .p8-root.p8-v4 .voice-settings input[type=range]::-webkit-slider-runnable-track { height:4px; background:var(--p8-edge); border-radius:2px; }
body.p8-active .p8-root.p8-v4 .voice-settings input[type=range]::-webkit-slider-thumb { appearance:none; width:14px; height:14px; margin-top:-5px; border:0; border-radius:50%; background:var(--p8-accent); }
body.p8-active .p8-root.p8-v4 .voice-settings input[type=range]::-moz-range-track { height:4px; background:var(--p8-edge); border-radius:2px; }
body.p8-active .p8-root.p8-v4 .voice-settings input[type=range]::-moz-range-thumb { width:14px; height:14px; border:0; border-radius:50%; background:var(--p8-accent); }
body.p8-active .p8-root.p8-v4 .voice-settings meter {
  appearance:none; border:0; background:transparent; height:18px;
}
body.p8-active .p8-root.p8-v4 .voice-settings meter::-webkit-meter-bar {
  border:0; border-radius:0; background:repeating-linear-gradient(to right,var(--p8-edge) 0 4px,transparent 4px 8px);
}
body.p8-active .p8-root.p8-v4 .voice-settings meter::-webkit-meter-optimum-value,
body.p8-active .p8-root.p8-v4 .voice-settings meter::-webkit-meter-suboptimum-value {
  background:repeating-linear-gradient(to right,var(--p8-accent) 0 4px,transparent 4px 8px);
}
body.p8-active .p8-root.p8-v4 .voice-settings meter::-webkit-meter-even-less-good-value {
  background:repeating-linear-gradient(to right,var(--status-error) 0 4px,transparent 4px 8px);
}
body.p8-active .p8-root.p8-v4 .voice-settings meter::-moz-meter-bar { background:var(--p8-accent); }
@media(hover:hover) {
  body.p8-active .p8-root.p8-v4 :is(.voice-channel,.nav-item):hover:not(.selected):not(.active) { color:var(--p8-ink); }
}
