:root{color-scheme:light;--ink:#183b35;--muted:#556961;--line:#cbd6cd;--paper:#fbfcf8;--bg:#f3f5ef;--green:#16583e}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 "Segoe UI",system-ui,sans-serif}
a{color:var(--green);text-underline-offset:.2em}button,input{font:inherit}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #337d95;outline-offset:3px}
.skip{position:absolute;left:-100vw}.skip:focus{left:1rem;top:.5rem;background:#fff;padding:.5rem;z-index:2}
.topbar{background:#173e32;color:#fff}.bar-inner{max-width:72rem;margin:auto;display:flex;align-items:center;gap:2rem;padding:.85rem 1.6rem;min-height:4.4rem}
.brand{color:#fff;text-decoration:none;font-weight:800;letter-spacing:.115em;line-height:1;font-size:1.32rem;display:inline-flex;align-items:center;gap:.22rem}.brand-dot{width:.34rem;height:.34rem;border-radius:50%;background:#b7d99e;align-self:flex-start}
nav{display:flex;gap:1.2rem}nav a{color:#e8f3e8;text-decoration:none;font-size:.93rem;padding:.35rem 0}nav a[aria-current=page]{border-bottom:2px solid #bbdf9d}
.identity{display:flex;align-items:center;gap:1.2rem;margin-left:auto;font-size:.91rem}.identity span{max-width:16rem;overflow-wrap:anywhere}.identity form{margin:0}
.text-action{background:transparent;border:0;color:#ebf3eb;text-decoration:underline;text-underline-offset:.19em;padding:.4rem 0}
main{max-width:68rem;margin:0 auto;padding:2.6rem 1.6rem 4rem}.title-block{margin-bottom:2.15rem}.eyebrow{color:var(--green);font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;font-weight:700;margin:0 0 .45rem}
h1,h2,p{margin:0}h1{font:600 clamp(2.4rem,5.7vw,4.25rem)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.05em}
h2,legend{font:600 1.35rem/1.25 Georgia,"Times New Roman",serif;letter-spacing:-.02em}.date-line,.section-note,.section-label,.empty,.course-help{color:var(--muted)}.date-line{margin-top:.6rem}.date-line span{margin:0 .6rem}
.sections{display:grid;gap:2.2rem}.section-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.section-label{font-size:.8rem}.section-note{font-size:.94rem;margin:.35rem 0 .7rem}
.ledger,.shortlist{list-style:none;margin:.75rem 0 0;padding:0}.ledger{border:1px solid var(--line);border-radius:8px;overflow:hidden}.ledger li,.shortlist li{background:var(--paper);display:flex;align-items:center;gap:1.05rem;min-width:0;padding:.8rem 1rem}.ledger li+li{border-top:1px solid var(--line)}
.shortlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.shortlist li{border:1px solid var(--line);border-radius:8px;padding:.9rem .8rem;gap:.65rem}.rank{font-size:.84rem;color:var(--muted);min-width:1.05rem}.runner{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.runner strong{line-height:1.28;font-weight:650}.runner span{color:var(--muted);font-size:.83rem;margin-top:.16rem}.prob,.race-clock,.rank{font-variant-numeric:tabular-nums}.prob{margin-left:auto;white-space:nowrap;color:var(--green);font-weight:650}.race-clock{font-weight:600;min-width:3.1rem}
.outcome{margin-left:auto;white-space:nowrap;font-size:.84rem;font-weight:600}.won{color:var(--green)}.lost{color:var(--muted)}.empty,.panel,.preferences fieldset{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:1rem 1.2rem}.empty{margin:.65rem 0}.login-layout{max-width:29rem;margin:clamp(1.5rem,7vh,5.5rem) auto}.login-head{margin-bottom:1.5rem}.login-head h1{font-size:clamp(2.3rem,6.8vw,3.25rem)}.login-form{display:grid;gap:.55rem;padding:1.5rem}.login-form label{font-weight:600}.login-form input{min-width:0;border:1px solid #98b0a3;border-radius:4px;background:white;color:var(--ink);padding:.62rem .7rem}.login-form label:not(:first-child){margin-top:.25rem}
.primary{border:0;background:var(--green);color:#fff;border-radius:5px;font-weight:650;padding:.65rem 1.2rem}.login-form .primary{margin-top:.65rem}.primary:hover{background:#0b422b}
.preferences{max-width:56rem}.preferences fieldset{margin:0 0 1.45rem;padding:.65rem 1.2rem 1.15rem}.preferences legend{padding:0 .4rem}
.choice{display:flex;gap:.7rem;align-items:flex-start;padding:.5rem .15rem;line-height:1.35;cursor:pointer}.choice input{accent-color:var(--green);width:1.1rem;height:1.1rem;margin:.12rem 0 0;flex:0 0 auto}.choice strong{font-size:.96rem;font-weight:600}.choice small{display:block;margin-top:.18rem;color:var(--muted)}
.course-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.1rem .7rem}.course-help{font-size:.9rem;margin:.25rem 0 .6rem}.alert{background:#e5efdf;border:1px solid #a1baa5;border-radius:5px;padding:.65rem .85rem;margin:0 0 .9rem}.alert.error{background:#fcf0e9;border-color:#ce9b7c;color:#76412c}
@media(max-width:800px){.shortlist{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:540px){.bar-inner{gap:1rem;padding:.8rem 1rem;flex-wrap:wrap}nav{gap:.75rem}.identity{gap:.6rem}.identity span{display:none}main{padding:1.65rem 1rem 3rem}.title-block{margin-bottom:1.55rem}.shortlist{grid-template-columns:1fr}.course-options{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger li{gap:.65rem}.date-line span{margin:0 .35rem}}

.day-select{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:-.8rem 0 1.9rem}.day-select label{font-weight:600;font-size:.9rem}.day-select input,.day-select button{border:1px solid #98b0a3;border-radius:4px;padding:.35rem .6rem;color:var(--ink);background:white}.day-select button{background:#e1ebdf;color:var(--green);font-weight:600}
