:root{color-scheme:light;font-family:Avenir Next,Trebuchet MS,sans-serif;color:#18251e;background:#f3f6ef}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(rgba(24,37,30,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(24,37,30,.04) 1px,transparent 1px),#f3f6ef;background-size:32px 32px}.app-shell{min-height:100vh}.site-header{position:relative;z-index:10;display:flex;min-height:72px;align-items:center;justify-content:space-between;padding:0 2rem;background:#fffef9;border-bottom:1px solid #cdd8cf}.site-brand{color:#183d2f;font-family:Georgia,serif;font-size:1.4rem;font-weight:700;text-decoration:none}.main-menu{display:flex;align-items:stretch;align-self:stretch;gap:1.75rem}.main-menu a{display:flex;align-items:center;border-bottom:3px solid transparent;color:#526159;font-weight:700;text-decoration:none}.main-menu a:hover,.main-menu a.is-active{border-bottom-color:#e34f2f;color:#18251e}.menu-toggle{display:none;width:44px;height:44px;place-content:center;gap:5px;padding:0;background:transparent;border:0;cursor:pointer}.menu-toggle span{display:block;width:24px;height:2px;background:#183d2f}.menu-toggle:focus-visible,.main-menu a:focus-visible,.site-brand:focus-visible{outline:3px solid #f0a332;outline-offset:3px}.page{min-height:100vh;display:grid;place-items:center;padding:2rem 1.25rem}.app-page{min-height:calc(100vh - 72px)}.login-panel,.profile-panel,.status-panel,.onboarding-panel{width:min(520px,100%);padding:clamp(2rem,7vw,4rem);background:#fffef9;border:1px solid #cdd8cf;border-radius:8px;box-shadow:12px 12px #dbe5d7}.onboarding-page{background:linear-gradient(rgba(227,79,47,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(227,79,47,.08) 1px,transparent 1px);background-size:32px 32px}.onboarding-panel{width:min(620px,100%)}.sync-status{display:grid;grid-template-columns:18px minmax(0,1fr);gap:1rem;align-items:start;padding:1.25rem;background:#f3f6ef;border-left:3px solid #e34f2f}.sync-status strong{display:block;margin-bottom:.35rem}.sync-status p{margin:0;color:#526159;line-height:1.5}.sync-indicator{width:14px;height:14px;margin-top:.2rem;background:#183d2f;border-radius:50%}.sync-indicator.is-active{background:transparent;border:2px solid #cdd8cf;border-top-color:#e34f2f;animation:spin .8s linear infinite}.sync-actions{margin-top:1.5rem}@keyframes spin{to{transform:rotate(360deg)}}.brand-mark{display:grid;width:48px;height:48px;place-items:center;margin-bottom:2rem;background:#183d2f;color:#fffef9;font-family:Georgia,serif;font-size:1.65rem}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:0;color:#e34f2f;font-size:.8rem;font-weight:700}h1{max-width:12ch;margin:.65rem 0 1rem;font-family:Georgia,serif;font-size:2.35rem;font-weight:500;line-height:1.08}.intro,.username{margin:0 0 1.75rem;color:#526159;font-size:1.05rem;line-height:1.6}.username{margin-bottom:.5rem;color:#e34f2f;font-weight:700}.strava-button,.secondary-button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border:0;border-radius:4px;padding:.8rem 1.2rem;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}.strava-button{width:100%;background:#fc4c02;color:#fff}.strava-button:hover{background:#d83f00}.secondary-button{background:#183d2f;color:#fff}.secondary-button:hover{background:#0f2d22}.strava-button:focus-visible,.secondary-button:focus-visible{outline:3px solid #f0a332;outline-offset:3px}.privacy-note{margin:1rem 0 0;color:#718078;font-size:.82rem;line-height:1.5;text-align:center}.error{margin:0 0 1.25rem;color:#a62f1b;line-height:1.5}.loading{color:#526159;font-weight:700}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.analysis-view{width:min(1180px,100%);align-self:start}.analysis-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.analysis-heading h1{max-width:none;margin-bottom:0}.result-count{padding-bottom:.35rem;color:#526159;font-weight:700}.analysis-filters{display:grid;grid-template-columns:minmax(260px,1.5fr) repeat(2,minmax(150px,.65fr)) auto;gap:1rem 1.5rem;align-items:end;padding:1.5rem;background:#fffef9;border:1px solid #cdd8cf;border-top:4px solid #183d2f}.filter-title{grid-column:1 / -1;display:flex;align-items:center;gap:.5rem;color:#183d2f}.distance-filter{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;min-width:0;margin:0;padding:0;border:0}.distance-filter legend,.date-filter span,.axis-controls span{margin-bottom:.5rem;color:#526159;font-size:.82rem;font-weight:700}.distance-filter legend{grid-column:1 / -1;padding:0}.distance-filter label,.date-filter,.axis-controls label{display:grid}.distance-filter label span{color:#718078;font-size:.75rem}input[type=range]{width:100%;accent-color:#e34f2f}input[type=date],select{width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid #aebdb2;border-radius:4px;background:#fff;color:#18251e;font:inherit}input[type=date]:focus-visible,input[type=range]:focus-visible,select:focus-visible,.analysis-tabs button:focus-visible,.activity-row:focus-visible{outline:3px solid #f0a332;outline-offset:3px}.filter-button{white-space:nowrap}.filter-actions{display:flex;gap:.75rem;align-items:center}.period-button{display:inline-flex;min-height:48px;align-items:center;gap:.5rem;padding:.75rem 1rem;background:transparent;border:1px solid #183d2f;border-radius:4px;color:#183d2f;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}.period-button:hover{background:#f3f6ef}.period-button:focus-visible{outline:3px solid #f0a332;outline-offset:3px}.analysis-tabs{display:grid;grid-template-columns:repeat(4,64px);gap:.25rem;margin-top:1.5rem;border-bottom:1px solid #aebdb2}.analysis-tabs button{display:grid;width:64px;height:56px;place-items:center;padding:0;background:transparent;border:0;border-bottom:3px solid transparent;color:#718078;cursor:pointer}.analysis-tabs button:hover,.analysis-tabs button.is-active{border-bottom-color:#e34f2f;color:#183d2f}.analysis-tabs svg{width:23px;height:23px}.analysis-content{min-height:430px;padding-top:1.5rem}.analysis-message{margin:2rem 0;color:#526159}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.metric-card{min-height:190px;padding:2rem;background:#fffef9;border:1px solid #cdd8cf;border-radius:8px}.metric-card-accent{background:#183d2f;border-color:#183d2f;color:#fff}.metric-card span,.metric-card small{display:block;color:#718078}.metric-card-accent span,.metric-card-accent small{color:#dbe5d7}.metric-card strong{display:block;margin:1rem 0 .35rem;color:#e34f2f;font-family:Georgia,serif;font-size:clamp(2rem,5vw,3.6rem);font-weight:500}.metric-card-accent strong{color:#fffef9}.axis-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;width:min(700px,100%);margin-bottom:.75rem}.chart-note{color:#718078;font-size:.85rem}.chart-frame{min-width:680px;padding:1rem 0;background:#fffef9;border:1px solid #cdd8cf;border-radius:8px}.weekly-chart{min-width:760px}.period-selector{display:inline-grid;grid-template-columns:repeat(2,minmax(88px,1fr));margin-bottom:1rem;padding:3px;background:#dbe5d7;border-radius:4px}.period-selector button{min-height:40px;padding:.5rem .9rem;background:transparent;border:0;border-radius:3px;color:#526159;font:inherit;font-weight:700;cursor:pointer}.period-selector button:hover,.period-selector button.is-active{background:#fffef9;color:#183d2f}.period-selector button:focus-visible{outline:3px solid #f0a332;outline-offset:3px}.activity-list{border-top:1px solid #cdd8cf}.activity-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;min-height:78px;padding:1rem .75rem;border-bottom:1px solid #cdd8cf;color:#18251e;text-decoration:none}.activity-row:hover{background:#fffef9}.activity-row strong,.activity-row span{display:block}.activity-row span{margin-top:.3rem;color:#718078;font-size:.85rem}.activity-values{text-align:right}@media (max-width: 840px){.analysis-filters{grid-template-columns:1fr 1fr}.distance-filter{grid-column:1 / -1}.filter-actions{grid-column:1 / -1;justify-self:start}.analysis-content{overflow-x:auto}}@media (max-width: 520px){.site-header{min-height:64px;padding:0 1.25rem}.menu-toggle{display:grid}.main-menu{position:absolute;top:100%;right:0;left:0;display:none;align-items:stretch;gap:0;padding:.5rem 1.25rem 1rem;background:#fffef9;border-bottom:1px solid #cdd8cf;box-shadow:0 8px 16px #18251e14}.main-menu.is-open{display:grid}.main-menu a{min-height:48px;border-bottom:0;border-left:3px solid transparent;padding:0 1rem}.main-menu a:hover,.main-menu a.is-active{border-bottom-color:transparent;border-left-color:#e34f2f;background:#f3f6ef}.app-page{min-height:calc(100vh - 64px);padding:1.5rem 1rem}.login-panel,.profile-panel,.status-panel,.onboarding-panel{box-shadow:7px 7px #dbe5d7}h1{font-size:2rem}.analysis-heading{align-items:start;flex-direction:column;margin-bottom:1rem}.analysis-filters{grid-template-columns:1fr;gap:1rem;padding:1rem}.distance-filter,.filter-title,.filter-actions{grid-column:1}.filter-actions{width:100%;align-items:stretch;flex-direction:column}.date-filter{grid-column:1}.analysis-tabs{grid-template-columns:repeat(4,minmax(52px,1fr))}.analysis-tabs button{width:100%}.overview-grid,.axis-controls{grid-template-columns:1fr}.metric-card{min-height:160px;padding:1.5rem}.activity-row{grid-template-columns:1fr}.activity-values{text-align:left}}
