/* Leeway Coaching palette; existing layout and optional accents preserved. */
 :root{--bg:#111111;--card:#202020;--surface:#171717;--inset:#171717;--input:#171717;--text:#F4F4F0;--secondary:#C6C6C3;--muted:#B5B5B2;--line:#383838;--strong-line:#454545;--accent:#B51F2D;--accent2:#D2B779;--accent-text:#FFFFFF;--brand-gold:#D2B779;--accent-ink:#D2B779;--danger:#ffaaa6;--danger-bg:#321719;--success:#85d7a0;--success-bg:#132b1c;--warning-bg:#332713;--warning-text:#ffe0a6;--ink:var(--text);--paper:var(--bg);--green:var(--accent-ink);--mint:var(--surface);--orange:var(--accent2);--red:var(--danger);color-scheme:dark;background:var(--bg);color:var(--text)}
:root[data-appearance="light"]{--bg:#F4F4F0;--card:#FFFFFF;--surface:#E7E7E1;--inset:#E7E7E1;--input:#FFFFFF;--text:#111111;--secondary:#555555;--muted:#555555;--line:#C6C6C2;--strong-line:#C6C6C2;--accent-ink:#8C5C16;--danger:#b5222c;--danger-bg:#fff0ef;--success:#17613a;--success-bg:#e6f4eb;--warning-bg:#fff2d9;--warning-text:#674300;color-scheme:light}
:root[data-accent="rally"]{--accent:#ff3b30;--accent2:#ff6b63;--accent-text:#230504}
:root[data-accent="rally"][data-appearance="light"]{--accent-ink:#bb241c}
:root[data-accent="ocean"]{--accent:#1769c2;--accent2:#3583d7;--accent-text:#fff}
:root[data-accent="forest"]{--accent:#187345;--accent2:#278654;--accent-text:#fff}
:root[data-accent="violet"]{--accent:#7543c4;--accent2:#9872df;--accent-text:#fff}
:root[data-accent="pink"]{--accent:#bc2469;--accent2:#df609a;--accent-text:#fff}
:root[data-accent="teal"]{--accent:#087c7b;--accent2:#2ca4a0;--accent-text:#fff}
:root[data-accent="orange"]{--accent:#F97316;--accent2:#FB923C;--accent-text:#0B0F14}
:root[data-accent="gold"]{--accent:#D2B779;--accent2:#D2B779;--accent-text:#111111}
:root[data-accent="indigo"]{--accent:#4945b8;--accent2:#7e78dd;--accent-text:#fff}
:root[data-accent="slate"]{--accent:#526071;--accent2:#7f8c9c;--accent-text:#fff}
body,.topbar,#nav{background:var(--bg);color:var(--text)}
.card,.session-row,.serve-call,dialog,.setup-actions,.voice-card{background:var(--card);color:var(--text)}
.btn,.datebox,.tag,.stat,.chip,.avatar,.icon-circle,.voice-panel{background:var(--surface);color:var(--text)}
.btn.primary,.brand-mark,.chip.selected{background:var(--accent);color:var(--accent-text)}
.brand-mark span{color:inherit}
.btn.light{background:var(--accent);color:var(--accent-text)}
.btn.outline,.hero .btn.outline.light{background:transparent;color:var(--text);border-color:var(--line)}
.btn.danger,.listening{color:var(--danger)!important;background:var(--danger-bg)!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-color:var(--accent-ink)}
.hero,.complete-banner{background:var(--card);color:var(--text);border:1px solid var(--line)}
.hero{border-top:3px solid var(--accent)}
.hero p,.hero .eyebrow,.hero small,.complete-banner p,.complete-banner .eyebrow{color:var(--muted)}
.hero .ball{background:var(--accent);color:var(--accent-text);box-shadow:0 12px 0 var(--inset)}
.court-art,.court-art:before,.court-art:after{border-color:var(--line)}
.empty{border-color:var(--line)}
input,select,textarea{background:var(--input);color:var(--text);border-color:var(--line);accent-color:var(--accent)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}
.tag.live{background:var(--surface);color:var(--accent-ink)}.tag.live:before{background:currentColor}
.team-setup,.score-target{background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--text);border:1px solid var(--accent)}
.team-setup.orange,.score-target.team-b{background:var(--surface);color:var(--text);border:1px solid var(--line)}
.court{background:var(--inset);color:var(--text);border-color:var(--line)}
.court-half:first-child,.court-half:after,.court-half:last-child:after,.position:first-child{border-color:var(--line)}
.court-half:after{background:var(--surface)}.position{position:relative;z-index:1}
.position.serving strong{background:var(--accent);color:var(--accent-text)}.position small{color:var(--muted)}
.icon-btn.is-favorite{background:var(--surface);color:var(--accent-ink)}
.warning{background:var(--warning-bg);color:var(--warning-text);border-color:color-mix(in srgb,var(--warning-text) 40%,var(--warning-bg))}
dialog::backdrop{background:#000a}
#toast{background:var(--text);color:var(--bg)}.skip:focus{background:var(--card);color:var(--text)}
#nav a.active{background:var(--surface);color:var(--text);box-shadow:inset 3px 0 var(--accent-ink)}
.appearance-fields{margin-top:18px}.appearance-fields label{font-size:14px}
@media(max-width:700px){#nav a.active{background:var(--surface);color:var(--text);box-shadow:inset 0 2px var(--accent-ink)}}

/* Fixed identity artwork; selectable accents remain available in Settings. */
.brand-lockup{display:flex;flex-direction:column;gap:6px;min-width:0}.brand-wordmark{display:flex;align-items:center;gap:9px;font-size:34px;font-weight:850;letter-spacing:-1.5px;line-height:1;white-space:nowrap}.brand-lockup small{font-size:10px;letter-spacing:3px;font-weight:650}.brand-ball{display:block;flex-shrink:0;object-fit:contain;background:transparent!important;box-shadow:none!important;border-radius:0!important}.brand-wordmark .brand-ball{width:36px;height:36px}.hero .brand-ball{background:transparent;box-shadow:none}
@media(max-width:700px){.brand-wordmark{font-size:26px;gap:6px}.brand-wordmark .brand-ball{width:28px;height:28px}.brand-lockup small{font-size:8px;letter-spacing:2.5px}.brand{gap:0}.build-tag{max-width:88px}}
@media(max-width:360px){.brand-wordmark{font-size:23px}.brand-wordmark .brand-ball{width:25px;height:25px}.topbar{padding-inline:14px}.build-tag{max-width:72px}}

/* Shared default: red actions, gold emphasis. */
:root[data-accent="leeway"]{--accent:#B51F2D;--accent2:#D2B779;--accent-text:#FFFFFF}
:root[data-accent="leeway"] .btn.primary:hover,:root[data-accent="leeway"] .btn.light:hover{background:#961923}
:root[data-accent="leeway"] .hero{border-top-color:var(--brand-gold)}
:root[data-accent="leeway"] .team-setup.orange,:root[data-accent="leeway"] .score-target.team-b{background:color-mix(in srgb,var(--brand-gold) 12%,var(--card));border-color:var(--brand-gold)}
.card,.session-row,dialog,.voice-card{border-color:var(--strong-line)}
.subtitle,.hero p,.session-row p,.player-row p,.serve-call p,.complete-banner p{color:var(--secondary)}
.tag.live{background:var(--success-bg);color:var(--success)}
