/* Device-local presentation settings; game data and simulation are unchanged. */
.display-settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:16px 0; }
/* VLB2 compact contract: PC density; touch uses a 1280px viewport and pinch zoom. */
@media (pointer: fine) {
  html.vlb-density--compact body { max-width:none; zoom:.6666667; }
}
.display-settings-grid label { display:block; font-size:.875rem; }
.display-settings-grid select { display:block; width:100%; min-height:44px; margin-top:6px; }
.display-settings #vlb-theme-status { font-size:.875rem; margin-top:16px; }
html:is(.vlb-fill--solid,.vlb-quality--ultra,.vlb-quality--xp) {
  --vlb-theme-panel:var(--vlb-theme-panel-solid);
  --vlb-theme-panel-alt:var(--vlb-theme-panel-alt-solid);
  --vlb-theme-panel-soft:var(--vlb-theme-panel-soft-solid);
  --vlb-theme-button:var(--vlb-theme-button-solid);
  --vlb-theme-button-hover:var(--vlb-theme-button-hover-solid);
}
html:is(.vlb-quality--standard,.vlb-quality--light,.vlb-quality--minimum,.vlb-quality--ultra,.vlb-quality--xp) body * {
  backdrop-filter:none !important; -webkit-backdrop-filter:none !important;
}
html:is(.vlb-quality--light,.vlb-quality--minimum,.vlb-quality--ultra,.vlb-quality--xp) body *,
html:is(.vlb-quality--light,.vlb-quality--minimum,.vlb-quality--ultra,.vlb-quality--xp) body *::before,
html:is(.vlb-quality--light,.vlb-quality--minimum,.vlb-quality--ultra,.vlb-quality--xp) body *::after {
  box-shadow:none !important; text-shadow:none !important; filter:none !important;
  animation:none !important; transition:none !important; scroll-behavior:auto !important;
}
html.vlb-quality--light body { background-attachment:scroll; }
html:is(.vlb-quality--light,.vlb-quality--minimum,.vlb-quality--ultra,.vlb-quality--xp) body::before {
  content:none; background-image:none;
}
html:is(.vlb-quality--minimum,.vlb-quality--ultra,.vlb-quality--xp) body {
  background-image:none !important; background-color:var(--vlb-theme-field); background-attachment:scroll;
}
html:is(.vlb-fill--solid,.vlb-quality--ultra,.vlb-quality--xp) body :is(.home-section-head,.operation,.phase-action,.metric,.community-post,.record-tabs a,.organizer-heading,.organizer-zone,.pregame-heading,.pregame-matchup,.pregame-controls,.pregame-alert,.pregame-strength,.pregame-roster,.pregame-strength>header,.game-start-result>header,.game-start-matchup,.game-final-score,.game-linescore,.game-decisions,.game-highlights,.game-boxscores details,.game-start-summary,.rookie-candidate,.triple-crown-record,.milestone-record,.champion-hero,.allstar-news-item) {
  background-image:none; background-color:var(--vlb-theme-panel-solid);
}
html:is(.vlb-fill--solid,.vlb-quality--ultra,.vlb-quality--xp) body .pregame-strength-bar i b {
  background-image:none; background-color:var(--vlb-theme-link);
}
html:is(.vlb-quality--ultra,.vlb-quality--xp) body * { background-image:none !important; }
/* Result dialogs must stay opaque when low-cost rendering removes gradients. */
html:is(.vlb-quality--ultra,.vlb-quality--xp) body :is(.vlb2-game-modal__window,.vlb2-game-modal__body) {
  background-color:#0d2d46 !important; color:#edf2f7;
}
html:is(.vlb-quality--ultra,.vlb-quality--xp) body .vlb2-game-modal__window>header {
  background-color:#081e33 !important; color:#edf2f7;
}
/* Pitch details and team previews also float above game content. */
html:is(.vlb-quality--ultra,.vlb-quality--xp) body :is(.vlb2-game-pitch-story-popover,.vlb2-game-team-preview) {
  background-color:#0d2d46 !important; color:#edf2f7;
}
html.vlb-quality--xp body * { border-radius:0 !important; }
@media(max-width:650px) { .display-settings-grid { grid-template-columns:minmax(0,1fr); } }
