@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../media/31e5e20239562b7a-s.3ih7dxnymi4t5.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9a8b04342f903b9d-s.3uaqc_eim_oz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(../media/c6e2684784a55443-s.p.2w-eao_k5pziq.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/742f0fcf9aa5cfe6-s.1haaxlqnxotgo.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b524e3bdcc8dfcd3-s.2km9zhv-p9t3b.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a083361d37caf3d1-s.p.00u70rl5ce7ry.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b221c6d9681431a7-s.0p3m7ez1fl9bq.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/af7efeee822b8a1b-s.0owl_bf4j-7yx.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6c98c9fb873995d2-s.p.14sz-5zsn4k6e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Fallback;src:local(Arial);ascent-override:103.43%;descent-override:20.69%;line-gap-override:0.0%;size-adjust:96.68%}.barlow_ab61cacb-module__MsvSZW__className{font-family:Barlow,Barlow Fallback;font-style:normal}.barlow_ab61cacb-module__MsvSZW__variable{--font-body:"Barlow", "Barlow Fallback"}
@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbd88c7cbebcb5b-s.1gbavwjfxk-ql.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/e3c10b17cdb86a23-s.170qlghoxphjg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:500;font-display:swap;src:url(../media/612838607db3d51d-s.p.3rc77fqyyrg24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9710cef2a2a6ac70-s.1glkedkmkj4ol.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/a978fc28c69736ab-s.0jk2f-2yu65-t.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(../media/303804218d80822e-s.p.0j4ssjn_k8z58.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e37557cf0085218d-s.323_pd8dkinxn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/146a3e5eadafdf83-s.3o5kmmd3ujeri.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d9b5d46d9a89ffe6-s.p.0rkprfbp4mv-a.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed Fallback;src:local(Arial);ascent-override:130.73%;descent-override:26.15%;line-gap-override:0.0%;size-adjust:76.49%}.barlow_condensed_fa90efdf-module__BDOlPW__className{font-family:Barlow Condensed,Barlow Condensed Fallback;font-style:normal}.barlow_condensed_fa90efdf-module__BDOlPW__variable{--font-disp:"Barlow Condensed", "Barlow Condensed Fallback"}
:root{--paper:#eceee9;--card:#f7f8f5;--ink:#131a16;--ink-soft:#4a554e;--moss:#3e5c48;--moss-soft:#e2e9e1;--signal:#e9c217;--line:#c9cec4;--danger:#8a4b3b;--on-signal:#131a16;--shadow:#131a1624;--shadow-s:#131a1626;--heat-0:var(--card);--heat-edge:#d9ded6;--heat-1:#9dbea8;--heat-2:#3e5c48;--heat-miss:#b86f5c;--r:14px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--disp:var(--font-disp), "Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--body:var(--font-body), "Barlow", system-ui, -apple-system, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--paper:#151a17;--card:#1f2622;--ink:#eceee9;--ink-soft:#a9b2ab;--moss:#8fbb9d;--moss-soft:#25332a;--signal:#e9c217;--line:#3b453e;--danger:#d48f7c;--shadow:#00000073;--shadow-s:#00000080;--heat-edge:#2c3530;--heat-1:#3f6e51;--heat-2:#8fbb9d;--heat-miss:#c97c69}}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}button,.check,.row,summary{touch-action:manipulation}body{background:var(--paper);color:var(--ink);font-family:var(--body);padding:max(14px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));font-size:16px;line-height:1.45}.app{max-width:560px;margin:0 auto}.top{justify-content:space-between;align-items:baseline;gap:10px;padding:2px 4px 12px;display:flex}.top .race{font-family:var(--disp);letter-spacing:.06em;text-transform:uppercase;font-size:15px;font-weight:700}.top .race small{font-family:var(--mono);letter-spacing:.08em;color:var(--ink-soft);text-transform:none;margin-top:2px;font-size:11px;font-weight:400;display:block}.count{font-family:var(--mono);color:var(--ink);background:var(--card);border:1.5px solid var(--ink);white-space:nowrap;border-radius:999px;padding:5px 12px;font-size:13px}.nav{align-items:center;gap:8px;margin-bottom:10px;display:flex}.nav button{font-family:var(--disp);letter-spacing:.05em;text-transform:uppercase;background:var(--card);border:1.5px solid var(--ink);cursor:pointer;color:var(--ink);border-radius:10px;padding:11px 16px;font-size:14px;font-weight:600}.nav button:active{transform:translateY(1px)}.nav button:disabled{opacity:.35;cursor:default}.nav button:disabled:active{transform:none}.nav button:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.nav .spacer{flex:1}.nav .toToday{background:var(--signal);border-color:var(--ink);color:var(--on-signal);display:none}.nav .toToday.show{display:block}button.mini{font-family:var(--disp);letter-spacing:.05em;text-transform:uppercase;background:var(--paper);border:1.5px solid var(--ink);cursor:pointer;color:var(--ink);border-radius:8px;margin:2px 8px 2px 0;padding:7px 12px;font-size:12.5px;font-weight:600}button.mini:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.bib{background:var(--card);border:2px solid var(--ink);border-radius:var(--r);box-shadow:4px 4px 0 var(--shadow);padding:18px 18px 16px;position:relative;overflow:hidden}.bib .tab{background:0 0;width:52px;height:52px;position:absolute;top:0;right:0}.bib.today .tab{background:linear-gradient(225deg, var(--signal) 50%, transparent 50%)}.bib.race .tab{background:linear-gradient(225deg, var(--ink) 50%, transparent 50%)}.bib .dateline{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase;font-size:12px}.bib .daynum{font-family:var(--disp);letter-spacing:.01em;font-variant-numeric:tabular-nums;margin:6px 0 2px;font-size:64px;font-weight:700;line-height:1}.bib .daynum small{color:var(--ink-soft);letter-spacing:.04em;font-size:22px;font-weight:600}.bib .dow{font-family:var(--disp);text-transform:uppercase;letter-spacing:.14em;color:var(--moss);font-size:20px;font-weight:600}.chips{flex-wrap:wrap;gap:6px;margin:12px 0;display:flex}.chip{font-family:var(--mono);letter-spacing:.05em;border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:999px;padding:4px 10px;font-size:11px}.chip.phase{border-color:var(--moss);color:var(--moss);background:var(--moss-soft)}.chip.bb{border-color:var(--ink);color:var(--ink)}button.chip{cursor:pointer}button.chip:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.session{border-top:1.5px dashed var(--line);padding-top:10px;font-size:17.5px;font-weight:500;line-height:1.5}.session.rest{color:var(--ink-soft);font-weight:400}.bib.race .session{font-weight:600}.weeknote{background:var(--moss-soft);border-left:3px solid var(--moss);color:var(--ink);border-radius:0 8px 8px 0;margin-top:12px;padding:8px 12px;font-size:14px}.banner{font-family:var(--mono);background:var(--card);border:1.5px dashed var(--ink);border-radius:10px;margin-bottom:10px;padding:8px 12px;font-size:12.5px}.checks{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:14px;display:grid}.check{background:var(--paper);border:1.5px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;align-items:center;gap:12px;padding:12px;transition:transform 80ms;display:flex}.check:active{transform:scale(.985)}.check input{opacity:0;width:1px;height:1px;position:absolute}.check .box{border:2px solid var(--ink);background:var(--card);color:#0000;border-radius:7px;flex:0 0 26px;place-items:center;width:26px;height:26px;font-size:17px;font-weight:700;transition:background .12s;display:grid}.check input:checked+.box{background:var(--signal);color:var(--on-signal)}.check input:focus-visible+.box{outline:3px solid var(--signal);outline-offset:2px}.check .lbl{font-size:15px;font-weight:500}.check .lbl small{color:var(--ink-soft);font-size:12.5px;font-weight:400;display:block}h2{font-family:var(--disp);text-transform:uppercase;letter-spacing:.1em;color:var(--ink);margin:22px 4px 8px;font-size:15px;font-weight:700}.wk{grid-template-columns:minmax(0,1fr);gap:6px;display:grid}.row{background:var(--card);border:1.5px solid var(--line);cursor:pointer;text-align:left;width:100%;font-family:var(--body);border-radius:10px;align-items:center;gap:10px;padding:11px 10px;display:flex}.row:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.row:active{background:var(--moss-soft)}.row .d{font-family:var(--disp);letter-spacing:.06em;width:34px;color:var(--moss);flex:0 0 34px;font-size:15px;font-weight:700}.row .t{min-width:0;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13.5px;overflow:hidden}.row .t.rest{color:var(--ink-soft)}.row .dots{font-family:var(--mono);color:var(--moss);flex:none;font-size:11px}.row.cur{border-color:var(--ink);box-shadow:2px 2px 0 var(--shadow-s)}.row.cur .d{color:var(--ink)}.row.isToday{background:linear-gradient(0deg, #e9c21729, #e9c21729) , var(--card);border-color:var(--ink)}details{background:var(--card);border:1.5px solid var(--line);border-radius:12px;margin-top:10px;overflow:hidden}summary{cursor:pointer;font-family:var(--disp);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;padding:11px 14px;font-size:13.5px;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-weight:700}details[open] summary:after{content:"–"}details .inner{color:var(--ink);padding:0 14px 12px;font-size:14px}details .inner p{margin:6px 0}details .inner b{color:var(--moss)}details .inner a{color:var(--moss);text-underline-offset:3px;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}details .inner a:hover,details .inner a:focus-visible{text-decoration-style:solid}details .inner .hint{color:var(--ink-soft);font-size:12.5px}.flareL{border-left:3px solid var(--line);margin:6px 0;padding-left:10px}.flareL b{color:var(--ink)}.flareL.red{border-color:var(--danger)}.flareL.red b{color:var(--danger)}footer{text-align:center;font-family:var(--mono);color:var(--ink-soft);margin-top:22px;font-size:11.5px}footer .stat{color:var(--moss)}footer .sync{margin-top:4px;display:inline-block}footer .sync.ok{color:var(--moss)}footer .sync.off{color:var(--danger)}footer .signout{font:inherit;color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}footer .signout:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.login{max-width:400px;margin:8vh auto 0}.login .bib{padding:22px 20px 20px}.login h1{font-family:var(--disp);letter-spacing:.02em;text-transform:uppercase;margin:6px 0 4px;font-size:34px;font-weight:700;line-height:1}.login p{color:var(--ink-soft);margin:8px 0 14px;font-size:14px}.login label{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:12px 0 6px;font-size:11px;display:block}.login input{width:100%;font-family:var(--mono);letter-spacing:.06em;border:1.5px solid var(--ink);background:var(--paper);color:var(--ink);border-radius:10px;padding:12px 14px;font-size:20px}.login input:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.login button.go{width:100%;font-family:var(--disp);letter-spacing:.06em;text-transform:uppercase;background:var(--signal);border:1.5px solid var(--ink);cursor:pointer;color:var(--on-signal);border-radius:10px;margin-top:14px;padding:13px 16px;font-size:16px;font-weight:700}.login button.go:disabled{opacity:.5;cursor:default}.login button.go:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.login .err{color:var(--danger);margin-top:12px;font-size:13.5px;font-weight:500}.login .back{font:inherit;color:var(--ink-soft);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:12px;padding:0;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@media (min-width:480px){.bib .daynum{font-size:76px}}.grid{display:block}@media (min-width:920px){.app{max-width:1080px}.grid{grid-template-columns:500px minmax(0,1fr);align-items:start;gap:26px;display:grid}.col-a{position:sticky;top:14px}.col-b h2:first-child{margin-top:4px}.bib .daynum{font-size:84px}}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:10px;display:grid}.stats .tile{background:var(--card);border:1.5px solid var(--line);text-align:center;border-radius:10px;min-width:0;padding:9px 8px 8px}.stats .tile .n{font-family:var(--disp);letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--ink);font-size:26px;font-weight:700;line-height:1}.stats .tile .n small{color:var(--ink-soft);font-size:13px;font-weight:600}.stats .tile .l{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:10px;overflow:hidden}.stats .tile.bad .n{color:var(--danger)}.stats .tile.hot{border-color:var(--ink)}.heat{background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:10px 10px 8px}.heatGrid{grid-template-columns:repeat(29,minmax(0,1fr));grid-auto-rows:auto;gap:2px;display:grid}.heatGrid .mon{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);white-space:nowrap;padding-bottom:3px;font-size:9px;line-height:1;overflow:visible}.cell{aspect-ratio:1;cursor:pointer;background:var(--heat-0);width:100%;box-shadow:inset 0 0 0 1px var(--heat-edge);border:0;border-radius:2px;min-width:0;padding:0;display:block}.cell.future{background:var(--paper);box-shadow:inset 0 0 0 1px var(--line)}.cell.void{visibility:hidden}.cell.l1{background:var(--heat-1);box-shadow:none}.cell.l2{background:var(--heat-2);box-shadow:none}.cell.missed{background:repeating-linear-gradient(45deg, var(--heat-miss) 0 1.5px, transparent 1.5px 4px), var(--paper);box-shadow:inset 0 0 0 1px var(--heat-miss)}.cell.missed.l1{background:repeating-linear-gradient(45deg, var(--heat-miss) 0 1.5px, transparent 1.5px 4px), var(--heat-1)}.cell.today{box-shadow:0 0 0 2px var(--signal)}.cell.race{box-shadow:0 0 0 2px var(--ink)}.cell.today.race{box-shadow:0 0 0 2px var(--signal), 0 0 0 4px var(--ink)}.cell.sel{outline:2px solid var(--ink);outline-offset:1px}.cell:focus-visible{outline:3px solid var(--signal);outline-offset:2px}.heatKey{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-soft);flex-wrap:wrap;gap:4px 12px;margin-top:8px;font-size:10px;display:flex}.heatKey span{align-items:center;gap:5px;display:inline-flex}.heatKey i{aspect-ratio:auto;flex:0 0 10px;width:10px;height:10px}@media (min-width:920px){.heatGrid{gap:3px}.cell{border-radius:3px}}
