/* VLB-II palette/frame tokens, applied to the independent VLB interface. */
html { background:#dae8df; color-scheme:dark; }
body {
  --text:var(--vlb-theme-text); --muted:var(--vlb-theme-muted); --line:var(--vlb-theme-rule);
  --panel:var(--vlb-theme-panel); --panel-2:var(--vlb-theme-field); --accent:var(--vlb-theme-link); --accent-2:var(--vlb-theme-link);
  color:var(--vlb-theme-text); min-height:100vh;
  background:linear-gradient(180deg,rgba(230,246,240,.42),rgba(196,224,214,.3)),url('stadium.jpg') center center / cover no-repeat fixed;
}
html:is(.vlb-theme--modern_gray,.vlb-theme--xp_gray,.vlb-theme--windows10_gray) { color-scheme:light; }
.appearance-bar { box-sizing:border-box; display:flex; flex-wrap:wrap; gap:10px 16px; align-items:center; width:fit-content; max-width:calc(100% - 32px); margin:16px auto; padding:12px 18px; border:var(--vlb-theme-border-width) solid var(--vlb-theme-border); border-radius:var(--vlb-theme-radius); background:var(--vlb-theme-panel); color:var(--vlb-theme-text); box-shadow:var(--vlb-theme-shadow); }
.appearance-bar label { font-size:.9rem; font-weight:700; }
.appearance-bar select { width:auto; max-width:100%; min-height:40px; padding:8px 12px; font-size:.9rem; }
.appearance-bar span,.appearance-bar noscript { font-size:.8rem; }
body :is(.card,.workspace-panel,.game-header,.team-card,.side-menu,.standings,.home-league,.home-leader,.home-sidebar .card,.home-season,.home-masthead,.home-footer,.home-guide) {
  color:var(--vlb-theme-text); background:var(--vlb-theme-panel);
  border:var(--vlb-theme-border-width) solid var(--vlb-theme-border); border-radius:var(--vlb-theme-radius); box-shadow:var(--vlb-theme-shadow);
}
body :is(.home-leader:nth-child(even),.home-league:nth-child(even)) { background:var(--vlb-theme-panel-alt); }
body :is(button,.button-link,.game-nav a) { color:var(--vlb-theme-text); border:var(--vlb-theme-border-width) solid var(--vlb-theme-border); border-radius:var(--vlb-theme-radius); background:var(--vlb-theme-button); }
body :is(button,.button-link,.game-nav a):hover { color:var(--vlb-theme-link-hover); background:var(--vlb-theme-button-hover); }
body :is(input,select,textarea) { color:var(--vlb-theme-text); border-color:var(--vlb-theme-border); border-radius:var(--vlb-theme-radius); background:var(--vlb-theme-field); }
body :is(a,.game-nav a,.home-more,.home-guide a,.home-footer a,.home-masthead nav a) { color:var(--vlb-theme-link); }
body a:hover { color:var(--vlb-theme-link-hover); }
body :is(.muted,.lead,.eyebrow,.home-caption,.home-empty,.home-player-meta,.home-player-meta>span,.home-player-team,.home-player-price,.home-player-name>span,.home-season dt,.home-season h1 span,.home-abilities dt,.home-section-head>span) { color:var(--vlb-theme-muted); }
body :is(th,td,.home-leader>header,.home-abilities,.home-more,.home-player-price) { border-color:var(--vlb-theme-rule); }
body :is(thead th,.home-league>header) { background:var(--vlb-theme-subtle); color:var(--vlb-theme-text); }
body :is(.home-table-scroll tbody th,.home-table-scroll td,.home-abilities dd,.home-player-price strong,.home-wordmark span,.home-leader .eyebrow,.home-league>header>span,.home-section-head .eyebrow) { color:var(--vlb-theme-text); }
body .league-home { max-width:1540px; --home-green:#77e7bc; --home-gold:#ffe68c; color:var(--vlb-theme-text); }
.league-home .home-masthead { padding:20px 24px; margin-bottom:20px; }
.league-home .home-season { padding:22px 24px; margin-bottom:24px; }
.league-home .home-footer { padding:22px 24px; }
.league-home .home-guide { padding:18px; }
.league-home .home-section-head { padding:18px; color:#f3f9ff; background:linear-gradient(135deg,#09283e,#104766); border:1px solid #52849a; border-radius:var(--vlb-theme-radius); }
.league-home .home-section-head :is(.eyebrow,h2,span) { color:#eef8ff; }
.league-home .home-caption { background:var(--vlb-theme-panel-soft); border-radius:var(--vlb-theme-radius); padding:10px 14px; color:var(--vlb-theme-text); }
.league-home .home-more:hover { background:var(--vlb-theme-subtle); }
.league-home .home-leader { border-top:3px solid #68e8bc; }
.league-home .home-leader--pitcher { border-top-color:#a3b4ff; }
.league-home .home-leader>header { background:transparent; }
.league-home .home-ability-track { background:var(--vlb-theme-rule); }
.league-home .home-ability-track>span { background:#f84e91; }
.league-home .home-leader--pitcher .home-ability-track>span { background:#f84e91; }
html:is(.vlb-theme--modern_gray,.vlb-theme--xp_gray,.vlb-theme--windows10_gray) .league-home { --home-gold:#674400; --home-green:#005d45; }
html:is(.vlb-theme--modern_gray,.vlb-theme--xp_gray,.vlb-theme--windows10_gray) .home-wordmark { color:#005d45; }
body :is(.appearance-bar select,a,button,input,textarea):focus-visible { outline:3px solid var(--vlb-theme-link); outline-offset:3px; }
@media(max-width:760px) {
  .appearance-bar { width:calc(100% - 32px); padding:12px; }
  .appearance-bar span { flex-basis:100%; }
  .league-home .home-masthead,.league-home .home-season { padding:20px; }
  body { background-attachment:scroll; }
}
@media print { body { background:#fff; } .appearance-bar { display:none; } }
