/* TRACK EDGE public theme. Palette lives here; keep semantic state/horse colors local. */
:root{
 color-scheme:dark;
 --te-bg:#0B1018;--te-card:#182231;--te-gold:#D4AF37;
 --te-text:#F5F5F2;--te-muted:#98A2B3;
 --te-border:#8C763D;--te-divider:color-mix(in srgb,var(--te-gold) 28%,var(--te-card));
 --te-hover:color-mix(in srgb,var(--te-card) 94%,var(--te-text));
 --te-gold-tint:color-mix(in srgb,var(--te-gold) 10%,var(--te-card));
 --bg:var(--te-bg);--panel:var(--te-card);--panel2:var(--te-card);
 --gold:var(--te-gold);--text:var(--te-text);--muted:var(--te-muted);
 --line:var(--te-divider);--border:var(--te-divider);
 --edge-bg:var(--te-bg);--edge-gold:var(--te-gold);--edge-border:var(--te-border);
}
html,body{background:var(--te-bg);color:var(--te-text)}
body{font-size:16px;line-height:1.8}
body h1,body h3,body h4{color:var(--te-text)}
body h2,.section h2,.forecast-browser>h2,.feature-card h2,.te-main-menu h2{color:var(--te-gold);text-shadow:none}
body a{color:var(--te-gold)}
body p,body li,body dd{overflow-wrap:anywhere}
body :is(.muted,.note,.source,.eyebrow,.kicker,.ticket-note,.ticket-separator,.race-alias,.race-formal,.race-source,.month-instruction,.month-grade-context,.month-none small,.search-meta p){color:var(--te-muted)}
body :is(.eyebrow,.kicker){color:var(--te-gold)}
body small,body dt{color:var(--te-muted)}
body :is(.card,.panel,.feature-card,.race-card,.race-month,.finder,.fact,.race-facts>div,.ticket-market,.empty-forecasts,.edge-page article,.edge-page section){background:var(--te-card);border-color:var(--te-divider);box-shadow:none}
body :is(.card,.panel,.race-card,.feature-card) p{color:var(--te-text)}
body :is(.card,.panel,.race-card,.feature-card) :is(.muted,.note,.source,.ticket-note){color:var(--te-muted)}
body .feature-card p{color:var(--te-muted)}
body :is(.card,.race-card):hover{border-color:var(--te-gold)}
body .race-card:hover{background:var(--te-hover)}
body :is(.section,.hero,.race-overview,footer,[data-site-policies],.system-details,.month-races,.month-races li+li,.guide-accordion .accordion-body,th,td){border-color:var(--te-divider)}
body .facts{background:var(--te-divider);border-color:var(--te-divider)}
body :is(.note,.outsider,.ticket-candidates){background:var(--te-card);border-color:var(--te-border)}
body :is(.tag,.pill){background:var(--te-gold-tint);border-color:var(--te-border);color:var(--te-gold)}
/* Shared navigation: neutral cards, one primary action. */
body .te-header{background:var(--te-bg);border-color:var(--te-divider)}
body .te-brand,body .brand{color:var(--te-gold);text-shadow:none}
body .te-brand small{color:var(--te-muted);font-size:13px}
body .te-menu-card{background:var(--te-card);border-color:var(--te-border);color:var(--te-text)!important}
body .te-menu-card span{color:var(--te-muted);font-size:13px}
body .te-menu-card:hover{background:var(--te-hover);border-color:var(--te-gold)}
body .te-menu-card.te-menu-primary{background:var(--te-gold);border-color:var(--te-gold);color:var(--te-bg)!important}
body .te-menu-primary span{color:var(--te-bg)}
body .te-nav-disclosure>summary{color:var(--te-gold);border-color:var(--te-border)}
body [data-site-policies] a{color:var(--te-gold)}
body footer,body .footer{background:var(--te-bg);color:var(--te-muted)}
/* Keep homepage structure; replace accumulated brown/green decoration. */
body.te-home main>.hero{background:var(--te-bg);border-color:var(--te-divider)}
body.te-home .hero::before{background:none}
body.te-home main>.hero h1{color:var(--te-text);text-shadow:none}
body.te-home main>.hero h1 span{color:var(--te-gold)!important;-webkit-text-fill-color:var(--te-gold);background:none}
body.te-home .hero p{color:var(--te-text);text-shadow:none}
body.te-home .section:nth-of-type(even){background:var(--te-bg)}
body.te-home #lab-statistics .card{background:var(--te-card)}
body.te-home .card h3{color:var(--te-text)}
body .section h2::after{background:var(--te-gold)}
/* Controls retain their existing geometry and interactions. */
body :is(button,.btn,.support-btn,.quick-actions a){background:var(--te-gold);border-color:var(--te-gold);color:var(--te-bg);box-shadow:none;text-shadow:none}
body :is(button,.btn,.quick-actions a):hover{background:var(--te-gold);filter:brightness(1.08)}
body :is(.btn.alt,.choice,.grade-tabs a,.venue-buttons a,.date-tabs button,.venue-tabs button,.race-buttons a,.ticket-nav a){background:var(--te-card);border-color:var(--te-border);color:var(--te-gold)}
body :is(.choice,.grade-tabs a,.venue-buttons a,.date-tabs button,.venue-tabs button,.race-buttons a,.ticket-nav a):hover{background:var(--te-hover);color:var(--te-gold)}
body :is(.choice.active,.choice[aria-current=true],.grade-tabs a[aria-current=true],.venue-buttons a[aria-current=true],.date-tabs button[aria-pressed=true],.venue-tabs button[aria-selected=true],.race-buttons a[aria-current=true]){background:var(--te-gold);border-color:var(--te-gold);color:var(--te-bg)}
body :is(.grade-tabs a[aria-current=true],.choice.active) small{color:var(--te-bg)}
body :is(.month-tabs){background:var(--te-bg)}
body :is(.race-month[open],.guide-accordion[open],.guide-accordion:target,.guide-ui #value){border-color:var(--te-gold)}
body :is(.race-month summary,.guide-accordion summary)::after,body .race-card::after{color:var(--te-gold)}
body :is(.race-facts dt,.race-facts dd small){color:var(--te-muted)}
body :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background:var(--te-bg);color:var(--te-text);border:1px solid var(--te-border);border-radius:8px;font-size:16px}
body input::placeholder,body textarea::placeholder{color:var(--te-muted);opacity:1}
body :is(input[type=checkbox],input[type=radio]){accent-color:var(--te-gold)}
body .horse-number{background:var(--te-bg);color:var(--te-text);border-color:var(--te-muted)}
body :is(.horse-mark,.column-label,.ticket-count,.ticket-total){color:var(--te-gold)}
body :is(a,button,input,textarea,select,summary):focus-visible{outline:3px solid var(--te-gold);outline-offset:4px}
body :is(button,.btn,.choice,summary){min-height:44px}
@media(max-width:700px){
 body .te-menu-card span{font-size:14px}
 body :is(.muted,.note,.source,.ticket-note,.feature-card p,.horse-copy p){font-size:14px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body *{transition:none!important}}
body :is(.te-header,.te-main-menu){color:var(--te-text)}
body :is(.month-alias,.guide-index-links summary){color:var(--te-gold)}
body .guide-intro summary{color:var(--te-muted)}
body .guide-search input{background:var(--te-bg);color:var(--te-text);border-color:var(--te-border)}
body .search-meta button{background:transparent;color:var(--te-gold)}
body>main:only-child{max-width:1080px;margin:auto;padding:24px 20px}
