:root{--paper: #ffffff;--ink: #333333;--muted: #666666;--hairline: #e4e4e4;--rule: #141414;--forest: #26563a;--forest-ink: #ffffff;--indigo: #5e689e;--indigo-ink: #ffffff;--olive: #817828;--moss: #636c52;--sage: #aec88a;--sage-ink: #141414;--lime: #d3dd83;--scrim: rgba(20,20,20,.46);--photo-fade: rgba(20,20,20,.42);--race-giro: #e8588a;--race-tour: #f2c200;--race-vuelta: #d2232a;--race-other: #c9873b;--font-serif: "Eczar", Georgia, "Times New Roman", serif;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--type-wordmark: 400 22px/1 var(--font-serif);--track-wordmark: 0;--type-menu-item: 400 15px/1.4 var(--font-sans);--track-menu-item: 0;--type-headline: 400 18px/1.35 var(--font-sans);--track-headline: -.01em;--type-section: 500 16px/1.3 var(--font-sans);--track-section: -.005em;--type-title: 400 30px/1.2 var(--font-sans);--track-title: -.02em;--type-figure: 400 26px/1.1 var(--font-sans);--track-figure: 0;--type-bar: 400 15px/1.4 var(--font-sans);--track-bar: 0;--type-body: 400 15px/1.4 var(--font-sans);--track-body: 0;--type-strong: 400 15px/1.4 var(--font-sans);--track-strong: 0;--type-link: 400 14px/1.6 var(--font-sans);--track-link: 0;--type-caption: 400 13px/1.4 var(--font-sans);--track-caption: 0;--type-tick: 400 9.5px/1 var(--font-sans);--track-tick: 0;--space-4: 4px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-22: 22px;--radius-0: 0px;--radius-check: 2px;--header: 50px;--bar: 82px;--photo-today: 184px;--photo-route: 150px;--photo-pair: 120px;--drawer: 360px;--target: 44px;--arrow-s: 22px;--arrow-m: 30px;--arrow-l: 34px;color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--paper: #141414;--ink: #f5f5f2;--muted: #a3a39e;--hairline: #2a2a2a;--rule: #f5f5f2;--scrim: rgba(0,0,0,.6);--photo-fade: rgba(20,20,20,.55);color-scheme:dark}}:root[data-theme=dark]{--paper: #141414;--ink: #f5f5f2;--muted: #a3a39e;--hairline: #2a2a2a;--rule: #f5f5f2;--scrim: rgba(0,0,0,.6);--photo-fade: rgba(20,20,20,.55);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--paper);color:var(--ink);font:var(--type-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#app{min-height:100%;display:flex;flex-direction:column;max-width:560px;margin:0 auto;position:relative}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.header{position:fixed;top:0;left:50%;z-index:5;width:100%;max-width:560px;transform:translate(-50%);height:calc(var(--header) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--space-16) 0;display:flex;align-items:center;justify-content:flex-start;color:var(--ink)}.header:before{content:"";position:absolute;inset:0;background:var(--paper);z-index:-1;opacity:1;transition:opacity var(--base) var(--settle)}body[data-hero]:not([data-past]) .header{color:#fff}body[data-hero]:not([data-past]) .header:before{opacity:0}.header .icon-btn{width:var(--target);height:var(--target);margin:0 -3px 0 -10px;display:flex;align-items:center;justify-content:center;color:inherit}.wordmark{font:var(--type-wordmark);letter-spacing:var(--track-wordmark);color:inherit;padding-top:2px}body:not([data-hero]) #app{padding-top:calc(var(--header) + env(safe-area-inset-top,0px))}.hero{position:relative;overflow:hidden;background:var(--moss);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.hero-tall{height:min(84svh,760px)}.hero-mid{height:min(58svh,520px)}.hero img,.hero-blank{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:before{content:"";position:absolute;inset:0 0 auto;height:140px;background:linear-gradient(180deg,rgba(0,0,0,.38),transparent);z-index:1}.hero:after{content:"";position:absolute;inset:auto 0 0;height:55%;background:linear-gradient(180deg,transparent,rgba(0,0,0,.5))}.hero-cap{position:relative;z-index:2;padding:0 var(--space-16) 20px;display:flex;flex-direction:column;gap:6px}.hero-title{margin:0;font:var(--type-title);letter-spacing:var(--track-title)}.hero-line{font:var(--type-body)}.hero-link{display:flex;align-items:center;gap:16px;min-height:40px;font:var(--type-body)}.hero-end{position:absolute;top:-12px;left:0;width:1px;height:1px}.hero+.lede{padding-top:var(--space-16)}.screen{flex:1 1 auto;display:flex;flex-direction:column;padding-bottom:calc(var(--bar) + 8px)}.screen.no-bar{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.title-row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-12);padding:var(--space-16) var(--space-16) var(--space-12)}.title{margin:0;font:var(--type-title);letter-spacing:var(--track-title);white-space:nowrap}.title-row .caption{text-align:right}.caption{font:var(--type-caption);color:var(--muted)}.lede{margin:0;padding:0 var(--space-16) var(--space-12);font:var(--type-headline);letter-spacing:var(--track-headline);border-bottom:1px solid var(--hairline)}.section{display:flex;justify-content:space-between;align-items:baseline;margin:18px var(--space-16) 0;padding-bottom:6px;border-bottom:1px solid var(--rule)}.section h2{margin:0;font:var(--type-section)}.photo{position:relative;overflow:hidden;background:var(--hairline)}.photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,var(--photo-fade) 100%)}.photo .cap{position:absolute;left:var(--space-16);right:var(--space-16);bottom:10px;z-index:1;color:#fff;display:flex;flex-direction:column}.photo .cap .name{font:var(--type-strong);font-size:13px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:2px}.photo-pair .photo:after{display:none}.photo.empty{display:flex;align-items:flex-end;background:var(--moss)}.list{display:flex;flex-direction:column}.row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-12);min-height:var(--target);padding:var(--space-10) var(--space-16);border-bottom:1px solid var(--hairline)}.row .label{color:var(--muted);flex:none}.row .value{text-align:right}.row .value .muted,.muted{color:var(--muted)}.row .with-arrow{display:flex;align-items:center;gap:var(--space-12)}.figures{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--space-12);padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--hairline)}.figures>div{display:flex;flex-direction:column;gap:var(--space-4);min-width:0}.figure{font:var(--type-figure);font-variant-numeric:tabular-nums}.links{display:flex;justify-content:flex-end;gap:22px;padding:4px var(--space-16) 0}.links a,.links button{color:var(--muted);font:var(--type-link);min-height:40px;display:flex;align-items:center}.bar{position:fixed;left:0;right:0;bottom:0;z-index:6;max-width:560px;margin:0 auto;height:calc(var(--bar) + env(safe-area-inset-bottom,0px) - 22px);min-height:var(--bar);padding:0 var(--space-20) max(var(--space-22),env(safe-area-inset-bottom,0px));display:flex;justify-content:space-between;align-items:center;background:var(--forest);color:var(--forest-ink);font:var(--type-bar)}.bar .done{opacity:.9}.week-row{display:grid;grid-template-columns:44px 1fr 28px;gap:8px;align-items:start;padding:11px var(--space-16) 11px 12px;border-bottom:1px solid var(--hairline)}.week-row .day{font:var(--type-caption);color:var(--muted);padding-top:2px}.week-row .day b{display:block;font-weight:400;color:var(--ink)}.week-row .what{display:flex;flex-direction:column;gap:2px}.week-row .what strong{font:var(--type-strong)}.week-row.kept{color:var(--muted)}.tick{width:22px;height:22px;border:1px solid var(--ink);border-radius:var(--radius-check);display:flex;align-items:center;justify-content:center;margin-top:1px}.tick[aria-checked=true]{background:var(--forest);border-color:var(--forest);color:#fff}.scrim{position:fixed;inset:0;z-index:9;background:var(--scrim)}.drawer{position:fixed;top:0;bottom:0;left:0;z-index:10;width:min(360px,calc(100vw - 30px));background:var(--indigo);color:var(--indigo-ink);display:flex;flex-direction:column;overflow:hidden}.drawer-top{height:calc(var(--header) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) var(--space-16) 0;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.22);flex:none}.drawer-top .icon-btn{width:var(--target);height:var(--target);margin:0 -3px 0 -10px;display:flex;align-items:center;justify-content:center;color:inherit}.menu{display:flex;flex-direction:column;padding:11px 0}.menu-item{font:var(--type-menu-item);letter-spacing:var(--track-menu-item);min-height:43px;padding:0 var(--space-16);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12);color:inherit;text-align:left;width:100%}.menu-item[aria-current=page] span{border-bottom:1px solid currentColor;padding-bottom:1px}.menu-item:active{opacity:.68}.menu-quiet{border-top:1px solid rgba(255,255,255,.22);padding:16px var(--space-16) max(24px,env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:0;font:var(--type-body);color:#ffffffb8}.menu-quiet>a,.menu-quiet>span{min-height:46px;display:flex;align-items:center}.menu-button{justify-content:center;background:#fff;color:var(--ink)!important;margin-bottom:10px}.sublevel{position:absolute;inset:0;background:var(--lime);color:var(--ink);display:flex;flex-direction:column}.sublevel .drawer-top{border-bottom-color:#14141424}.sub-head{min-height:52px;padding:0 var(--space-16);display:flex;align-items:center;gap:18px;border-bottom:1px solid rgba(20,20,20,.14)}.sub-back{display:flex;align-items:center;min-height:44px}.sub-title{flex:1;font:var(--type-section);font-weight:400;font-size:18px}.sub-all{font:var(--type-body)}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--forest);margin-right:6px;vertical-align:1px}.race-band{height:6px}.empty-note{padding:var(--space-16);color:var(--muted)}.signin{display:flex;flex-direction:column;gap:var(--space-8, 8px);padding:var(--space-16)}.signin input{font:var(--type-link);padding:12px 0;border:0;border-bottom:1px solid var(--ink);border-radius:0;background:transparent;color:var(--ink);outline:none}.signin input:focus-visible{border-bottom-color:var(--forest)}.pad{padding:8px var(--space-16) 0;margin:0}.ready{padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--hairline);display:flex;flex-direction:column;gap:6px}.ready-top{display:flex;justify-content:space-between;gap:var(--space-12)}.ready-bar{position:relative;height:4px;background:var(--hairline);overflow:hidden}.ready-bar span{position:absolute;inset:0;background:var(--forest);transform-origin:left}.ramp-chart{margin:12px var(--space-16) 0}.note{padding:var(--space-12) var(--space-16);border-bottom:1px solid var(--hairline)}.note-top{display:flex;justify-content:space-between;align-items:baseline}.note p{margin:4px 0 0;color:var(--muted)}.dirs{display:flex;flex-direction:column}.dir{text-align:left;display:flex;flex-direction:column;gap:4px;padding:14px var(--space-16);border-bottom:1px solid var(--hairline);border-left:3px solid transparent}.dir[aria-pressed=true]{border-left-color:var(--forest)}.dir-title{font:var(--type-section)}.dir-line{color:var(--muted)}.prose{padding:var(--space-12) var(--space-16) 0}.prose p{margin:0 0 var(--space-12)}.tabs{display:flex;gap:22px;padding:0 var(--space-16) var(--space-12)}.tabs button{font:var(--type-body);color:var(--muted);min-height:32px}.tabs button[aria-selected=true]{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}:root{--fast: .12s;--quick: .16s;--base: .2s;--drawer: .28s;--draw: .6s;--ambient: 12s;--settle: cubic-bezier(.2, .8, .2, 1);--leave: cubic-bezier(.4, 0, 1, 1);--stagger: 40ms}.screen{animation:screen-in var(--base) var(--settle) 60ms both}@keyframes screen-in{0%{opacity:0}to{opacity:1}}.scrim{opacity:0;transition:opacity var(--drawer) var(--leave);pointer-events:none}.scrim[data-open=true]{opacity:1;transition-timing-function:var(--settle);pointer-events:auto}.drawer{transform:translate(calc(-100% - 2px));visibility:hidden;transition:transform var(--drawer) var(--leave),visibility 0s linear var(--drawer)}.drawer[data-open=true]{transform:translate(0);visibility:visible;transition:transform var(--drawer) var(--settle),visibility 0s linear 0s}.sublevel{transform:translate(100%);visibility:hidden;transition:transform var(--drawer) var(--leave),visibility 0s linear var(--drawer)}.sublevel[data-open=true]{transform:none;visibility:visible;transition:transform var(--drawer) var(--settle),visibility 0s linear 0s}.drawer .menu-item{opacity:0;transform:translateY(6px);transition:opacity var(--base) var(--settle),transform var(--base) var(--settle)}.drawer[data-open=true] .menu-item{opacity:1;transform:none;transition-delay:calc(80ms + var(--i, 0) * var(--stagger))}.pressable .arrow{transform:translate(0);transition:transform var(--quick) var(--settle)}.pressable:active .arrow{transform:translate(4px)}.list:has(.pressable:active)>.pressable:not(:active){opacity:.55;transition:opacity var(--quick) var(--settle)}.pressable:active .label{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.tick{transition:background-color var(--fast) var(--settle)}.bar{transform:translateY(0);transition:transform var(--drawer) var(--settle)}.bar[data-hidden=true]{transform:translateY(100%);transition-timing-function:var(--leave)}.strip-line{stroke-dasharray:400;stroke-dashoffset:400;animation:strip-draw var(--draw) var(--settle) forwards}.strip-dark{opacity:0;animation:fade-in var(--quick) var(--settle) var(--draw) forwards}[data-drawn=true] .strip-line{animation:none;stroke-dashoffset:0}[data-drawn=true] .strip-dark{animation:none;opacity:1}@keyframes strip-draw{to{stroke-dashoffset:0}}@keyframes fade-in{to{opacity:1}}.photo img{animation:pan var(--ambient) linear infinite alternate}.photo[data-still=false] img{animation-play-state:paused}@keyframes pan{0%{transform:scale(1.06) translate(-1.5%)}to{transform:scale(1.06) translate(1.5%)}}@media (prefers-reduced-motion: reduce){:root{--fast: 0ms;--quick: 0ms;--base: 0ms;--drawer: 0ms;--draw: 0ms;--stagger: 0ms}.photo img,.screen,.strip-line,.strip-dark{animation:none!important}.strip-line{stroke-dashoffset:0}.strip-dark{opacity:1}}
