/* Shared presentation tokens; team, jersey, drawing and pitch colors are independent. */
:root{color-scheme:light;--bg-page:#f5f6f3;--bg-surface:#fff;--bg-elevated:#edf1e8;--text-primary:#18231d;--text-secondary:#53634f;--border:#c5cebf;--control-bg:#fff;--control-hover:#e9f0df;--selected-bg:#e4f0cf;--selected-text:#263e1c;--focus:#587d29;--action-bg:#182e20;--action-text:#d0f488;--error:#ab3038;--notice:#655019;--shadow:0 12px 35px #18231d18;--auth-glow:#e7efdf;--ink:var(--text-primary);--muted:var(--text-secondary);--line:var(--border);--paper:var(--bg-page)}
:root[data-theme=dark]{color-scheme:dark;--bg-page:#101713;--bg-surface:#19231d;--bg-elevated:#233028;--text-primary:#edf3e9;--text-secondary:#b6c5af;--border:#52634f;--control-bg:#152019;--control-hover:#30412e;--selected-bg:#344927;--selected-text:#def3be;--focus:#c7f36b;--action-bg:#283e24;--action-text:#dcf5b1;--error:#ff9399;--notice:#edda9c;--shadow:0 12px 35px #0005;--auth-glow:#203b29}
html{background:var(--bg-page);color:var(--text-primary)}
input,select,textarea{color:var(--text-primary);color-scheme:inherit}
dialog{background:var(--bg-surface)}
input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:1}
:focus-visible{outline-color:var(--focus)}
.theme-toggle,.route-nav .theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:auto;min-height:38px;margin:0;padding:8px 12px;border:1px solid var(--border);border-radius:7px;background:var(--control-bg);color:var(--text-primary);font:600 12px/1.3 system-ui,sans-serif;letter-spacing:0;cursor:pointer;white-space:nowrap}
.theme-toggle:hover{background:var(--control-hover)}.theme-toggle:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.auth-theme-controls{display:flex;justify-content:flex-end;margin:0 0 18px}
.header:has(>.theme-toggle){gap:12px;flex-wrap:wrap;height:auto;min-height:68px;padding-block:12px}
/* Dark pitch chrome intentionally stays dark in either site theme. */
.share-dialog input,.expanded-dialog select{background:#14231a;color:#edf3e9;border-color:#52634f}
/* Animated theme switch uses the existing data-theme / aria-pressed state. */
.theme-toggle{position:relative;width:70px!important;min-width:70px!important;height:36px!important;padding:0!important;border-radius:22px!important;background-color:var(--control-bg)!important;background-image:radial-gradient(circle,var(--text-primary) 0 12px,transparent 13px)!important;background-size:28px 28px!important;background-repeat:no-repeat!important;background-position:3px center!important;transition:none}
:root[data-theme=dark] .theme-toggle{background-position:39px center!important}.theme-toggle[data-theme-animate=true]{transition:background-position .18s ease}.theme-toggle::before,.theme-toggle::after{position:absolute;top:8px;font-size:17px;line-height:18px;color:var(--text-secondary)}.theme-toggle::before{content:'☀';left:8px}.theme-toggle::after{content:'☾';right:8px}:root[data-theme=light] .theme-toggle::before,:root[data-theme=dark] .theme-toggle::after{color:var(--bg-surface)}
.route-nav{flex-wrap:wrap}.route-nav>a,.route-nav>span>a{white-space:nowrap}
@media(prefers-reduced-motion:reduce){.theme-toggle[data-theme-animate=true]{transition:none}}
/* MOBILE1: iOS Safari zooms the page when a focused text field is under 16px; touch devices get 16px fields. */
@media (hover:none) and (pointer:coarse){:root :is(input:not([type=checkbox],[type=radio],[type=color],[type=range],[type=file],[type=hidden],[type=button],[type=submit],[type=reset],[type=image]),select,textarea),:root .studio-controls #playerForm :is(input,select),:root .profile-card .account-delete-form input{font-size:16px}}
/* MOBILE1.1: larger touch areas for navigation links; padding offset by negative margins so the layout does not move. */
@media (hover:none) and (pointer:coarse){.route-nav a{padding:10px 7px;margin:-10px -7px}.route-nav>span{row-gap:20px}.match-studio-back{padding-block:10px;margin-top:-10px;margin-bottom:2px}.match-studio-topbar .match-studio-back{margin-block:-10px}.match-back{padding-block:10px;margin-top:-10px;margin-bottom:12px}.footnote a{padding-block:10px}.legal-links{row-gap:12px}.legal-links a{padding:6px 7px;margin:-6px -7px}}
