:root{--tint:#2f7d4f;--track:#1f5e3b;--accent-base:#1d6b45;--bg:color-mix(in srgb,var(--tint) 7%,#f7f8fa);--surface:#ffffff;--ink:#15212b;--muted:#5d6b77;--line:color-mix(in srgb,var(--tint) 14%,#dce2e7);--accent:var(--accent-base);--accent-ink:#ffffff;--good:#2e7d4f;--warn:#b26a00;--bad:#b3261e;--chip-white:#ffffff;--chip-red:#d7322d;--chip-yellow:#f2c40f;--chip-green:#2f9e44;--chip-purple:#7b3fa0;--chip-blue:#2462c9;--chip-black:#1b1b1b;--chip-bronze:#b06a2c;--chip-silver:#a7adb3;--chip-gold:#d4a21a;--s-outdoor:#2a78d6;--s-indoor:#eb6834;--blk1:#2a78d6;--blk2:#1baf7a;--blk3:#eda100;--blk4:#eb6834;--blk5:#e87ba4;--blk6:#7b3fa0;--blk-off:#a7adb3;--display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--body:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;--r:10px}:root[data-scheme=navy]{--tint:#1d3557;--track:#1d3557;--accent-base:#2b5fb3}:root[data-scheme=red]{--tint:#b8432f;--track:#b8432f;--accent-base:#1f5fa8}:root[data-scheme=purple]{--tint:#5b3a96;--track:#4b2a7b;--accent-base:#6a3fb5}:root[data-scheme=teal]{--tint:#0e7c86;--track:#0e6170;--accent-base:#0b6e8a}:root[data-scheme=charcoal]{--tint:#8a7a4a;--track:#22262b;--accent-base:#8a5f00}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:color-mix(in srgb,var(--tint) 12%,#0d1318);--surface:color-mix(in srgb,var(--tint) 8%,#172029);--ink:#e6edf2;--muted:#98a6b2;--line:color-mix(in srgb,var(--tint) 18%,#2a3540);--accent:color-mix(in srgb,var(--accent-base) 55%,#ffffff);--accent-ink:#0b1420;--good:#5cc386;--warn:#e0a33c;--bad:#ef6b62;--chip-white:#e9eef2;--chip-black:#050505;--s-outdoor:#3987e5;--s-indoor:#d95926;--blk1:#3987e5;--blk2:#199e70;--blk3:#c98500;--blk4:#d95926;--blk5:#d55181;--blk6:#9b6bc4;--blk-off:#5d6b77;color-scheme:dark}}:root[data-theme=dark]{--bg:color-mix(in srgb,var(--tint) 12%,#0d1318);--surface:color-mix(in srgb,var(--tint) 8%,#172029);--ink:#e6edf2;--muted:#98a6b2;--line:color-mix(in srgb,var(--tint) 18%,#2a3540);--accent:color-mix(in srgb,var(--accent-base) 55%,#ffffff);--accent-ink:#0b1420;--good:#5cc386;--warn:#e0a33c;--bad:#ef6b62;--chip-white:#e9eef2;--chip-black:#050505;--s-outdoor:#3987e5;--s-indoor:#d95926;--blk1:#3987e5;--blk2:#199e70;--blk3:#c98500;--blk4:#d95926;--blk5:#d55181;--blk6:#9b6bc4;--blk-off:#5d6b77;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--track)}button,select,input{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{max-width:560px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.app.wide{max-width:1100px}header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--track);color:#fff;padding-block:10px 12px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background-image:repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.28) 46px 48px)}.toprow{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase;line-height:1}.brand .tagline{display:block;margin-top:3px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:none;font-style:italic;background:linear-gradient(90deg,#fff 0% 30%,#f2c94c);-webkit-background-clip:text;background-clip:text;color:transparent}.brand small{margin-top:2px;display:block;font-size:12px;font-weight:600;letter-spacing:.12em;opacity:.85}.role{display:flex;background:#00000038;border-radius:999px;padding:3px}.role button{border:0;background:transparent;color:#fff;padding:6px 12px;border-radius:999px;font-weight:700;font-size:14px}.role button[aria-pressed=true]{background:#fff;color:var(--track)}.proto{font-size:12px;margin-top:8px;opacity:.92}main{flex:1;padding-block:16px 96px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;gap:16px}h1,h2,h3{font-family:var(--display);text-wrap:balance;margin:0;line-height:1.1}h1{font-size:30px;font-weight:800;text-transform:uppercase;letter-spacing:.01em}h2{font-size:21px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}h3{font-size:18px;font-weight:700}p{margin:0}.muted{color:var(--muted)}.small{font-size:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.stack{display:flex;flex-direction:column;gap:10px}.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.between{justify-content:space-between}.btn{border:0;border-radius:8px;padding:10px 14px;font-weight:700;background:var(--accent);color:var(--accent-ink)}.btn.ghost{background:transparent;color:var(--accent);border:1.5px solid var(--accent)}.btn.small{padding:6px 10px;font-size:14px}.btn:disabled{opacity:.5;cursor:default}.btn.danger{background:var(--bad);color:#fff}.link{background:none;border:0;padding:0;color:var(--accent);font-weight:700;text-align:left}.back{background:none;border:0;padding:0;color:var(--accent);font-weight:700;align-self:flex-start}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase;padding:3px 9px 3px 4px;border-radius:999px;border:1px solid var(--line);background:var(--surface);white-space:nowrap}.chip i{width:14px;height:14px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.25)}.band{height:8px;border-radius:999px;display:flex;overflow:hidden;background:var(--line)}.band span{flex:1;border-right:2px solid var(--surface)}.band span:last-child{border-right:0}.band span.off{opacity:.18}.grouptabs{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.grouptabs button{flex:0 0 auto;border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 13px;font-weight:700;font-size:14px}.grouptabs button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.eventbtn{display:flex;flex-direction:column;gap:8px;text-align:left;width:100%;border:1px solid var(--line);background:var(--surface);border-radius:var(--r);padding:12px 14px}.eventbtn:hover{border-color:var(--accent)}.bar{height:10px;border-radius:999px;background:var(--line);overflow:hidden;position:relative}.bar b{position:absolute;inset:0 auto 0 0;background:var(--accent);border-radius:999px}.bar .tick{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--ink);opacity:.55}.pill{display:inline-block;font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.03em}.pill.good{background:color-mix(in srgb,var(--good) 16%,transparent);color:var(--good)}.pill.warn{background:color-mix(in srgb,var(--warn) 18%,transparent);color:var(--warn)}.pill.pt{background:color-mix(in srgb,var(--chip-purple, #7b3fa0) 16%,transparent);color:var(--chip-purple, #7b3fa0)}.pill.bad{background:color-mix(in srgb,var(--bad) 16%,transparent);color:var(--bad)}.pill.info{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}.stagehead{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:6px}.ch{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:10px 0;border-top:1px solid var(--line)}.ch:first-of-type{border-top:0}.tickbox{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:14px}.tickbox.done{background:var(--good);border-color:var(--good);color:#fff}.tickbox.req{border-color:var(--warn);color:var(--warn)}.ch .cc{font-size:14px;color:var(--muted)}.ch .acts{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.ph{font-size:11px;font-weight:700;color:var(--warn);text-transform:uppercase;letter-spacing:.06em}nav.tabs{position:fixed;left:0;right:0;bottom:0;z-index:6;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(8px,env(safe-area-inset-left,0px));padding-right:max(8px,env(safe-area-inset-right,0px))}nav.tabs .in{max-width:560px;margin:0 auto;display:flex}nav.tabs button{flex:1;border:0;background:none;padding:10px 4px 12px;font-weight:700;font-size:13px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:3px}nav.tabs button[aria-current=page]{color:var(--accent)}nav.tabs svg{width:22px;height:22px}.gridwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface)}table.grid{border-collapse:collapse;font-size:14px;min-width:100%}table.grid th,table.grid td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}table.grid th{font-family:var(--display);font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);position:sticky;top:0;background:var(--surface)}table.grid td:first-child,table.grid th:first-child{position:sticky;left:0;background:var(--surface);z-index:1}.dot{width:16px;height:16px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.25);vertical-align:middle}label.f{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:700}label.f select,label.f input{font-weight:400;border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:9px 10px;min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:420px){.two{grid-template-columns:1fr}}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(78px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:999px;font-weight:700;z-index:9;max-width:calc(100% - 32px)}.empty{padding:16px;text-align:center;color:var(--muted)}.signin{max-width:420px;margin:40px auto;width:100%}.coachgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.count{font-family:var(--display);font-weight:800;font-size:34px;line-height:1}.tabular{font-variant-numeric:tabular-nums}.gbar{display:flex;gap:6px;overflow-x:auto;margin-top:12px;scrollbar-width:none;align-items:center}.gbar::-webkit-scrollbar{display:none}.gbar button{flex:0 0 auto;border:1.5px solid rgba(255,255,255,.6);background:transparent;color:#fff;border-radius:999px;padding:5px 14px;font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.05em;text-transform:uppercase}.gbar button[aria-pressed=true]{background:#fff;color:var(--track);border-color:#fff}.gbar .gear{margin-left:auto;border-style:dashed;font-family:var(--body);text-transform:none;font-size:13px;letter-spacing:0;padding:6px 12px}.alerts{display:flex;gap:8px;flex-wrap:wrap}.alert{display:inline-flex;gap:6px;align-items:baseline;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:14px}.alert b{font-family:var(--display);font-size:19px}.alert.bad b{color:var(--bad)}.alert.warn b{color:var(--warn)}.cell{background:none;border:0;padding:4px 6px;margin:-4px -6px;border-radius:6px;display:inline-flex;gap:6px;align-items:center}.cell:hover{background:color-mix(in srgb,var(--accent) 12%,transparent)}.feed{gap:0}.feed .item{padding:9px 0;border-top:1px solid var(--line)}.feed .item:first-child{border-top:0;padding-top:0}.feed .chip{font-size:12px;padding:1px 7px 1px 3px}.feed .chip i{width:11px;height:11px}.pickgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px}.pick{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px solid var(--line);border-radius:8px;cursor:pointer}.pick:has(input:checked){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 9%,transparent)}.pick input{width:18px;height:18px;margin:0;accent-color:var(--accent)}.savebar{position:sticky;bottom:calc(12px + env(safe-area-inset-bottom,0px));display:flex;justify-content:flex-end;gap:8px}.savebar .btn{box-shadow:0 4px 14px #0003}.savebar .btn.ghost{background:var(--surface)}.wsplit{display:grid;gap:16px;grid-template-columns:minmax(0,1fr)}.badge{display:inline-block;min-width:18px;padding:0 5px;border-radius:999px;background:var(--bad);color:#fff;font-size:11px;line-height:18px}nav.tabs .in{max-width:1100px}.schemes{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:12px;flex-wrap:wrap}.schemes button{width:26px;height:26px;border-radius:50%;border:2px solid rgba(255,255,255,.7);padding:0;position:relative;overflow:hidden}.schemes button span{position:absolute;inset:0 0 50%}.schemes button[aria-pressed=true]{outline:3px solid #fff;outline-offset:2px}.schemes .name{font-weight:700}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}@media (min-width:700px){.tiles{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.eventbtn.tile{gap:6px;align-items:flex-start;height:100%}.eventbtn.tile .band{width:100%}.clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tiles .pick{height:100%}.cols{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width:760px){.cols{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.cols.even{grid-template-columns:repeat(2,minmax(0,1fr))}}.stagegrid{display:grid;gap:16px;grid-template-columns:minmax(0,1fr);align-items:start}@media (min-width:760px){.stagegrid{grid-template-columns:repeat(2,minmax(0,1fr))}}.alerts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.alert{flex-direction:column;align-items:flex-start;gap:2px;border-radius:var(--r);padding:10px 12px;text-align:left}.alert b{font-size:30px;line-height:1}.alert span{font-size:13px;color:var(--muted)}@media (min-width:760px){.wsplit{grid-template-columns:minmax(0,1fr) 320px;align-items:start}}@media (min-width:900px){body.side{padding-left:210px}body.side .app{max-width:1100px}body.side nav.tabs{top:0;bottom:0;right:auto;width:210px;border-top:0;border-right:1px solid var(--line);padding:24px 10px 16px}body.side nav.tabs .in{flex-direction:column;gap:4px;max-width:none}body.side nav.tabs button{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 14px;font-size:15px;border-radius:8px}body.side nav.tabs button[aria-current=page]{background:color-mix(in srgb,var(--accent) 12%,transparent)}body.side main{padding-bottom:32px}body.side .toast{bottom:24px}}.seg{display:inline-flex;border:1.5px solid var(--line);border-radius:999px;padding:3px;background:var(--surface)}.seg button{border:0;background:none;padding:6px 14px;border-radius:999px;font-weight:700;font-size:14px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.pbmark{font-family:var(--display);font-weight:800;font-size:28px;line-height:1}.legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font-size:14px}.legend span{display:inline-flex;gap:6px;align-items:center}.sw{width:12px;height:12px;display:inline-block}.sw.outdoor{background:var(--s-outdoor);border-radius:50%}.sw.indoor{background:var(--s-indoor);border-radius:2px}.chartwrap svg{width:100%;height:auto;display:block;overflow:visible}.chartwrap .grid{stroke:var(--line);stroke-width:1}.chartwrap .base{stroke:var(--muted);stroke-width:1}.chartwrap .ax{fill:var(--muted);font-size:12px;font-family:var(--body)}.chartwrap .ln{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.chartwrap .ln.outdoor{stroke:var(--s-outdoor)}.chartwrap .ln.indoor{stroke:var(--s-indoor)}.chartwrap .mk{stroke:var(--surface);stroke-width:2}.chartwrap .mk.outdoor{fill:var(--s-outdoor)}.chartwrap .mk.indoor{fill:var(--s-indoor)}.chartwrap .hit{fill:transparent}.chartwrap .pt:hover .mk,.chartwrap .pt:focus .mk{stroke:var(--ink)}.chartwrap .pt:focus{outline:none}.chartwrap .pbl{fill:var(--ink);font-size:12px;font-weight:700;font-family:var(--body)}.tip{position:fixed;z-index:20;pointer-events:none;background:var(--ink);color:var(--bg);font-size:13px;padding:6px 10px;border-radius:8px;max-width:240px}.drill{padding:10px 0;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:4px}.drill:first-of-type{border-top:0;padding-top:0}.grow{flex:1 1 200px}.tiles.wide{grid-template-columns:minmax(0,1fr)}@media (min-width:600px){.tiles.wide{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}nav.tabs button{min-width:0}nav.tabs button span{white-space:nowrap}@media (max-width:420px){nav.tabs button{font-size:12px}}.note{border-color:var(--warn);background:color-mix(in srgb,var(--warn) 8%,var(--surface))}.seg.scroll{display:flex;overflow-x:auto;max-width:100%;scrollbar-width:none}.seg.scroll button{flex:0 0 auto}.yeargrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px}.wk{border:1px solid var(--line);border-top:5px solid var(--bk);background:var(--surface);border-radius:6px;padding:3px 1px;display:flex;flex-direction:column;align-items:center;gap:1px;font-size:11px;color:var(--muted)}.wk b{font-size:14px;color:var(--ink)}.wk span{font-size:10px;white-space:nowrap}.wk.on{outline:2px solid var(--accent);outline-offset:1px}.blockbar{border-left:6px solid var(--bk)}.dayrow{gap:8px}.dayrow.today{border-color:var(--accent)}.sess{padding:8px 0;border-top:1px solid var(--line)}.sess.cancelled p b{text-decoration:line-through;color:var(--muted)}details summary{cursor:pointer}details.sess summary{list-style:none;display:flex}details.sess summary::-webkit-details-marker{display:none}details[open]>summary{margin-bottom:6px}.chartwrap .pace{stroke:var(--muted);stroke-width:2;stroke-dasharray:5 4}.chartwrap .today{stroke:var(--line);stroke-width:1;stroke-dasharray:2 3}.chartwrap .mk.goal{fill:var(--surface);stroke:var(--muted);stroke-width:2}.sw.dash{width:16px;height:0;border-top:2px dashed var(--muted)}.teamsel{flex:0 0 auto;border:0;border-radius:999px;padding:6px 10px;font-weight:700;font-size:14px;background:#fff;color:var(--track);max-width:46vw}.teamname{flex:0 0 auto;font-weight:700;font-size:14px;color:#fff;padding-right:4px}.av{width:36px;height:36px;border-radius:50%;display:inline-grid;place-items:center;background:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--accent);font-weight:800;font-size:14px;object-fit:cover;flex:0 0 auto}.av.big{width:64px;height:64px;font-size:22px}.code{font-family:ui-monospace,Menlo,monospace;font-size:28px;font-weight:800;letter-spacing:.12em}.inj{padding:8px 10px;border-radius:8px;background:var(--bg);display:flex;flex-direction:column;gap:2px}.inj.active{border-left:3px solid var(--bad)}.contact{flex-wrap:wrap;gap:6px}#medText{font:inherit;color:inherit;border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:9px 10px;width:100%}.filebtn{display:inline-flex;align-self:flex-start;cursor:pointer}.net{border:1px solid rgba(255,255,255,.7);background:transparent;color:#fff;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700;margin-left:4px;cursor:pointer}.net:before{content:"● "}.net.off{background:#fff;color:var(--bad)}.gbar .asst{flex:0 0 auto;background:#fff}.center{text-align:center}.role button{padding:6px 10px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.net.plain:before{content:none}input.price{width:7em;min-height:36px;padding:4px 8px}.overlay{position:fixed;inset:0;z-index:50;background:#00000073;display:flex;align-items:center;justify-content:center;padding:16px}.overlay>.card{width:100%;max-width:400px}.nudge{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-top:8px;padding:10px 12px;border-radius:8px;background:var(--surface);color:var(--ink);border:1.5px solid var(--line);font-size:14px}.nudge .btn{padding:6px 12px;font-size:14px}
