:root {
  --bg:var(--app-page);--bg2:var(--app-soft);--panel:var(--app-panel);--panel2:var(--app-soft);
  --white:var(--app-ink);--muted:var(--app-muted);--line:var(--app-line);--shadow:var(--app-line);
  --green:#167852;--red:#be3549;--gold:#8b5a11;
  color-scheme:light;
}
body {background:var(--app-sidebar);color:var(--app-ink);font-family:var(--app-font)}
#basketballWorkspace .topbar {background:var(--app-sidebar);border:0;box-shadow:none;z-index:21}
.brand-lockup .team-logo {border:0;border-radius:12px}
.brand-name {letter-spacing:-.025em}
#basketballWorkspace .team-tools {justify-content:flex-start}
#teamSwitch {border:1px solid var(--app-line);border-radius:10px;background:var(--app-panel);color:var(--app-ink)}
.app {background:var(--app-panel);border-radius:26px 0 0 0;min-height:calc(100vh - 76px);max-width:none}
.titlebar h1,.home-welcome h1,.gr-titlebar h1 {font-size:clamp(1.55rem,3vw,2.25rem);letter-spacing:-.045em}
.panel,.player-card,.modal,.welcome-card {border-radius:var(--app-radius);box-shadow:var(--app-shadow)}
.panel,.player-card,.welcome-card,.modal {border-color:var(--app-line)}
.player-card,.home-shortcut,.home-stat,.stat-btn,.profile-person {background:var(--app-soft);color:var(--app-ink)}
.btn,.navtabs button,.gr-tab {border-radius:11px;color:var(--app-ink);border-color:var(--app-line);background:var(--app-soft)}
.btn.primary {background:linear-gradient(#bd5335,#9e3924);border-color:#b94428;color:#fff}
.btn.red {background:#be3549;border-color:#be3549;color:white}
.btn.active,.navtabs button.active,.gr-tab.active,.profile-person.active,.live-grade-buttons .btn[aria-pressed="true"] {background:var(--app-accent-soft);border-color:var(--app-accent);color:var(--app-ink)}
.btn:disabled {opacity:.52}
.field input,.field select,.field textarea,.gr-notes textarea {color:var(--app-ink);background:var(--app-panel);border-color:var(--app-line)}
.field :is(input,select,textarea):focus-visible {outline:2px solid var(--app-accent)}
.nav-btn {color:var(--app-muted)}
.nav-btn:hover,.nav-btn.active {background:var(--app-panel);color:var(--app-ink);border-color:var(--app-line)}
.nav-btn.active {box-shadow:var(--app-shadow)}
.nav-btn::before {content:attr(data-icon);display:inline-grid;width:1.4em;margin-right:.35em;place-items:center;color:var(--app-accent);font-size:1.08em}
body .home-hero,body .home-hero,.gr-hero {background:linear-gradient(125deg,var(--app-accent-soft),var(--app-soft));color:var(--app-ink);box-shadow:none}
body[data-home-theme="court"] .home-hero {background:linear-gradient(125deg,#dcefe7,var(--app-soft))}
body[data-home-theme="crimson"] .home-hero {background:linear-gradient(125deg,#f5dce2,var(--app-soft))}
body .home-hero .home-tag,body[data-home-theme] .home-hero .home-tag {background:var(--app-panel);color:var(--app-accent)}
.home-game-mark {background:var(--app-accent-soft);color:var(--app-accent)}
.home-hero::after {border-color:#b45a3927;box-shadow:0 0 0 32px #bb643610,0 0 0 68px #bb643609}
.stat-btn {border-radius:16px;border:1px solid var(--app-line)}
.stat-btn.scoring {background:#e0f1e9;border-color:#167852;color:#174d36}
.stat-btn.opposing {background:#fce6e9;border-color:#be3549;color:#8d2534}
.stat-btn:hover {filter:brightness(.97);transform:none}
.resume-game-banner {background:#e6f3eb;color:#1c4736;border-color:#acd4be;box-shadow:none}
.resume-game-banner small {color:#345d4b}
.live-rules-tag {color:#245443}
#loginGate .panel {background:var(--app-panel);padding:26px}
.workspace-menu {background:var(--app-panel);border-color:var(--app-line);box-shadow:0 10px 30px #32202b24}
@media screen and (min-width:1000px) {
  #basketballWorkspace {display:grid;grid-template-columns:226px minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start;overflow:visible}
  #basketballWorkspace .topbar {grid-column:1;grid-row:1/3;position:sticky;top:0;height:auto;max-height:100dvh;min-height:0;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:15px;padding:22px 14px;overflow:visible}
  #basketballWorkspace .topbar .brand-lockup {min-width:0}
  #basketballWorkspace .topbar .team-tools {order:1;flex-wrap:wrap}
  #basketballWorkspace .topbar .app-nav {order:2;display:grid;width:100%;justify-content:stretch;overflow:visible;gap:5px;border:0;padding:6px 0}
  #basketballWorkspace .topbar .app-nav .nav-btn {text-align:left;padding:10px;min-height:42px;font-size:.9rem}
  #basketballWorkspace .app {grid-column:2;grid-row:2;width:100%;margin:0;min-height:100vh;padding:28px clamp(18px,3vw,46px) 46px}
  #resumeGameBar {grid-column:2;grid-row:1;margin:8px 16px;width:auto;max-width:none}
  #basketballWorkspace .workspace-menu {left:0;right:auto}
  body:is([data-screen="welcomeView"],[data-screen="onboardingView"]) #basketballWorkspace .app-nav {display:none}
}
@media (max-width:999px) {
  #basketballWorkspace .topbar {position:sticky;top:0}
  #basketballWorkspace .nav-btn {min-height:42px}
  .app {border-radius:20px 20px 0 0}
}
@media (prefers-reduced-motion:reduce) {*,*::before,*::after{transition-duration:.01ms!important}}
#loginGate img {border-radius:14px}
#loginGate h1 {font-size:1.85rem;letter-spacing:-.04em;margin:12px 0 6px}
#loginStatus {color:var(--app-muted)}
.welcome-card {background:var(--app-panel)}
.gr-tab,.navtabs button {min-height:42px}
.gr-table th,.gr-table th:first-child,.gr-table tr.gr-total td {background:var(--app-soft);color:var(--app-ink)}
.live-grade-buttons .btn.primary {background:var(--app-accent-soft);border-color:var(--app-accent);color:var(--app-ink)}
@media (max-width:780px) {
  #basketballWorkspace .topbar .app-nav .nav-btn {min-height:44px}
  #basketballWorkspace .team-tools {flex-wrap:wrap}
  #basketballWorkspace .topbar .brand-name {overflow-wrap:anywhere}
}

.tryout-detail-layout .profile-main {min-width:0}
.tryout-picker .profile-list {max-height:min(55vh,520px);overflow-y:auto}
.tryout-picker .profile-person b {overflow-wrap:anywhere}
.tryout-picker .avatar {display:grid;place-items:center}
.tryout-add {margin-top:14px}
.tryout-add .form-grid {grid-template-columns:minmax(0,1fr)}
.tryout-review {margin-top:14px}
.tryout-add summary,.tryout-review summary {cursor:pointer;font-weight:700}
#tryoutPlayerProfile {scroll-margin-top:160px}
@media (min-width:781px) {
  .tryout-picker {position:sticky;top:16px}
}
@media (max-width:780px) {
  .tryout-picker .profile-list {max-height:175px}
}
@media (min-width:781px) {
  .tryout-picker {max-height:calc(100dvh - 32px);overflow:auto}
}
.player-access {margin-top:14px;padding-top:12px;border-top:1px solid var(--app-line)}
.player-access h3 {margin:0 0 4px}
.player-access .top-actions {margin-top:8px}
.player-access a[hidden] {display:none}
.player-access [hidden] {display:none}
.player-access #playerInviteLink {flex:1 1 220px;min-width:0}

#basketballWorkspace .btn.primary,.modal .btn.primary,#loginGate .btn.primary {
  background:var(--app-accent);border-color:var(--app-accent);color:var(--app-on-accent);
}
body .home-hero,.gr-hero {
  background:linear-gradient(125deg,var(--app-accent-soft),var(--app-team-secondary-soft));
}
.home-hero::after {border-color:var(--app-line);box-shadow:none}
:root[data-appearance="white"] :is(.app,.home-hero,.gr-hero),
:root[data-appearance="contrast"] :is(.app,.home-hero,.gr-hero) {background:#fff}
:root[data-appearance="contrast"] :is(.btn.active,.profile-person.active,.nav-btn.active) {outline:2px solid var(--app-accent);outline-offset:-2px}
:root[data-appearance="team"] #basketballWorkspace .app {
  background:color-mix(in srgb,var(--app-accent-soft) 38%,var(--app-panel));
}
:root[data-appearance] #basketballWorkspace .home-hero {
  background:linear-gradient(125deg,var(--app-accent-soft),var(--app-team-secondary-soft));
}
:root:is([data-appearance="white"],[data-appearance="contrast"]) #basketballWorkspace .home-hero {background:#fff}

#teamCoachList {display:grid;gap:8px;margin:10px 0}
#teamCoachList .coach-profile-card {display:flex;align-items:center;gap:12px;text-align:left}
.coach-profile-card small {display:block;margin-top:4px;color:var(--app-muted)}
.coach-profile-card .avatar {width:42px;height:42px;flex:none}
