:root{--primary-color:#fc0017;--primary-hover:#dc0013;--text-primary:#1a1a1a;--text-secondary:#5f6368;--surface-color:#fff;--background-color:#fafafa;--border-color:#e0e0e0;--card-radius:24px;--transition-speed:0.3s;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--accent-blue:#4285f4;--accent-yellow:#fbbc04;--accent-green:#34a853;--gradient-peak:linear-gradient(135deg,#fff1f2,#ffe4e6)}.marathon-cope-container{color:var(--text-primary);font-family:var(--font-family);margin:0 auto;max-width:1000px;padding:3rem 1.5rem}.cope-header{background:transparent;border:none;margin-bottom:0;padding:2rem 0 3rem;position:relative;text-align:center}.cope-title{color:var(--text-primary);font-family:var(--font-family);font-size:clamp(2rem,8vw,3.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 1rem}.cope-accent{background:linear-gradient(120deg,var(--primary-color),#ff5757);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;display:inline-block;position:relative}.cope-accent:after{background:rgba(252,0,23,.1);border-radius:2px;bottom:0;content:"";height:4px;left:0;position:absolute;transform:skewX(-10deg);width:100%}.cope-subtitle{color:var(--text-secondary);font-family:var(--font-family);font-size:1.25rem;font-weight:400;line-height:1.3;margin:0 auto;max-width:600px}.login-card,.message-card,.trends-widget{background:var(--surface-color);border:1px solid rgba(0,0,0,.04);border-radius:var(--card-radius);box-shadow:0 12px 40px -12px rgba(0,0,0,.06);overflow:hidden;transition:transform var(--transition-speed) cubic-bezier(.2,.8,.2,1),box-shadow var(--transition-speed) cubic-bezier(.2,.8,.2,1)}.message-card{margin-bottom:2rem;padding:3rem 2rem;text-align:center}.message-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1rem}.trends-widget{margin-bottom:.5rem;padding:2.5rem 2.5rem 1rem;position:relative}.chart-container{height:24rem;margin-bottom:0;position:relative;width:100%}.chart-container svg{touch-action:none}.loading-spinner{align-items:center;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.8);border-radius:var(--card-radius);display:flex;flex-direction:column;gap:1.5rem;inset:0;justify-content:center;position:absolute;z-index:10}.spinner{animation:spin .8s cubic-bezier(.4,0,.2,1) infinite;border:3px solid #f3f3f3;border-radius:50%;border-top:3px solid var(--primary-color);height:3rem;width:3rem}@keyframes spin{to{transform:rotate(1turn)}}.backfill-status{max-width:400px;text-align:center;width:90%}.backfill-status-text{color:var(--text-primary);font-size:1rem;font-weight:500;margin-bottom:.75rem}.backfill-progress-bar{background:rgba(0,0,0,.08);border-radius:4px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.backfill-progress-fill{background:linear-gradient(90deg,var(--primary-color),#ff5757);border-radius:4px;height:100%;transition:width .3s ease-out}.backfill-progress-fill.indeterminate{animation:indeterminate-slide 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent 0,var(--primary-color) 40%,#ff5757 60%,transparent 100%);background-size:200% 100%}@keyframes indeterminate-slide{0%{background-position:200% 0}to{background-position:-200% 0}}.backfill-status-detail{color:var(--text-secondary);font-size:.875rem;font-weight:400}.loading-bar-container{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsla(0,0%,100%,.35);border:1px solid hsla(0,0%,100%,.25);border-radius:20px;bottom:4rem;box-shadow:0 4px 20px rgba(0,0,0,.04);display:flex;flex-direction:column;left:50%;min-width:16rem;padding:.875rem 1.5rem;position:absolute;transform:translateX(-50%);width:auto;z-index:5}.loading-text{color:var(--text-secondary);font-family:var(--font-family);font-size:.75rem;font-weight:600;letter-spacing:.02em;margin-bottom:.5rem;text-transform:uppercase}.loading-bar{background:#f1f3f4;border-radius:2px;height:4px;overflow:hidden;width:12rem}.loading-bar-fill{animation:loading 1.5s ease-in-out infinite;background:var(--primary-color);height:100%;transform-origin:left}@keyframes loading{0%{transform:scaleX(0)}50%{transform:scaleX(.7)}to{transform:scaleX(0);transform-origin:right}}.chart-tooltip{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:hsla(0,0%,100%,.98);border:1px solid rgba(0,0,0,.06);border-radius:8px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);color:var(--text-primary);font-family:var(--font-family);font-size:.875rem;min-width:180px;opacity:0;padding:12px;pointer-events:none;position:fixed;transition:opacity .1s ease-out;z-index:var(--z-max)}.tooltip-header{border-bottom:1px solid rgba(0,0,0,.06);color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:8px;padding-bottom:8px;text-transform:uppercase}.tooltip-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.tooltip-row:last-child{margin-bottom:0}.tooltip-label{color:var(--text-secondary);font-weight:500}.tooltip-row:has(.tooltip-value.stretch) .tooltip-label{font-weight:var(--font-weight-regular);transform:scaleX(1.12);transform-origin:left}.tooltip-value{color:var(--text-primary-soft);font-variant-numeric:tabular-nums;font-weight:600}.toggle-optimism-btn{align-items:center;background:transparent;border:none;border-radius:100px;color:#86868b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.4rem;margin:.5rem auto 0;padding:.5rem 1rem;transition:all .2s ease}.toggle-optimism-btn:hover{background:rgba(0,0,0,.03);color:var(--text-primary)}.toggle-optimism-btn .chevron-icon{transition:transform .3s ease}.toggle-optimism-btn.active .chevron-icon{transform:rotate(180deg)}.optimism-container{background:#fbfbfd;border-top:1px solid rgba(0,0,0,.03);margin:1rem -2rem -2rem;max-height:200px;opacity:1;overflow:hidden;padding:1.5rem 2rem;transition:all .4s cubic-bezier(.4,0,.2,1);width:calc(100% + 4rem)}.optimism-container.collapsed{border-top-color:transparent;margin-bottom:-2rem;margin-top:0;max-height:0;opacity:0;padding-bottom:0;padding-top:0;pointer-events:none}@media (max-width:640px){.optimism-container{margin:1rem -1.5rem -1.5rem;padding:1.25rem 1.5rem;width:calc(100% + 3rem)}.optimism-container.collapsed{margin-bottom:-1.5rem}}.optimism-header{display:flex;justify-content:center;margin-bottom:.75rem}.optimism-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;opacity:.8;text-transform:uppercase}.optimism-slider{-webkit-appearance:none;appearance:none;background:#f1f3f4;border-radius:2px;height:3px;margin:.5rem 0;outline:none;width:100%}.optimism-labels{color:var(--text-secondary);display:flex;font-size:.65rem;font-weight:600;justify-content:space-between;letter-spacing:.02em;opacity:.6;text-transform:uppercase}.optimism-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:var(--primary-color);border-radius:50%;box-shadow:0 2px 6px rgba(252,0,23,.2);cursor:pointer;height:20px;transition:transform .1s ease;width:20px}.optimism-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.optimism-slider::-moz-range-thumb{background:var(--primary-color);border-radius:50%;box-shadow:0 2px 6px rgba(252,0,23,.2);cursor:pointer;height:14px;width:14px}.peak-stats-card{background:var(--surface-color);border:1px solid rgba(0,0,0,.05);border-radius:20px;box-shadow:0 4px 20px rgba(0,0,0,.04);margin-left:auto;margin-right:auto;margin-top:1.5rem;max-width:24rem;overflow:hidden;padding:2rem;position:relative;transition:all .3s cubic-bezier(.175,.885,.32,1.275);width:100%}.peak-stats-card:before{background:linear-gradient(90deg,var(--primary-color),#ff5757,var(--accent-yellow));content:"";height:4px;left:0;position:absolute;right:0;top:0}.peak-stats{font-family:var(--font-family);position:relative;text-align:center;z-index:1}.peak-label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.peak-time{color:var(--text-primary);font-size:3.5rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.04em;line-height:1;margin:.5rem 0}.peak-date-text{color:var(--text-secondary);font-size:1rem;font-weight:500;margin-top:.5rem}.share-button-container{align-items:center;display:flex;flex-direction:column;margin-top:1.5rem}.card-separator{background:rgba(0,0,0,.05);height:1px;margin:1.5rem -2rem .5rem;width:calc(100% + 4rem)}@media (max-width:640px){.card-separator{margin:1.5rem -1.5rem .5rem;width:calc(100% + 3rem)}}.share-button{align-items:center;background:var(--text-primary);border:none;border-radius:100px;box-shadow:0 4px 12px rgba(0,0,0,.15);color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.75rem;padding:.875rem 1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.share-button:hover{background:#333;box-shadow:0 6px 16px rgba(0,0,0,.2);transform:translateY(-1px)}.share-icon{height:1.125rem;width:1.125rem}.widget-footer{align-items:center;display:flex;justify-content:center;margin-top:2rem;opacity:.7;transition:opacity .2s}.widget-footer:hover{opacity:1}.model-info-link{border-bottom:1px dotted var(--text-secondary);color:var(--text-secondary);font-size:.875rem;text-decoration:none}.model-info-link:hover{border-bottom-style:solid;color:var(--text-primary)}.share-branding{font-family:var(--font-family);font-size:1.5rem}.branding-text{color:var(--text-secondary)}.branding-accent{color:var(--primary-color);font-weight:700}.branding-ai{color:var(--text-secondary)}.login-section{margin-top:3rem}.login-card{margin:0 auto;max-width:32rem;padding:3rem}.login-title{color:var(--text-primary);font-family:var(--font-family);font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .75rem;text-align:center}.login-subtitle{color:var(--text-secondary);font-family:var(--font-family);font-size:1rem;line-height:1.5;margin-bottom:2rem;text-align:center}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column}.form-input{background:#fafafa;border:1px solid var(--border-color);border-radius:12px;font-size:1rem;padding:1rem 1.25rem;transition:all .2s}.form-input:focus{background:#fff;border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(252,0,23,.08);outline:none}.cta-row{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem}.strava-connect-button{background:none;border:none;cursor:pointer;padding:0;transition:transform .2s cubic-bezier(.4,0,.2,1)}.strava-connect-button:hover{transform:scale(1.02)}.strava-connect-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.strava-connect-button:disabled .strava-button-image{filter:grayscale(100%);opacity:.4}.strava-button-image{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));height:52px;width:auto}.login-footer{border-top:1px solid var(--border-color);margin-top:2rem;padding-top:1.5rem;text-align:center}.footer-text{color:var(--text-secondary);font-size:.875rem;line-height:1.5}.footer-link{color:var(--text-primary);font-weight:600;text-decoration:none}.footer-link:hover{text-decoration:underline}.password-modal{backdrop-filter:blur(4px);inset:0;position:fixed;z-index:var(--z-header)}.modal-overlay{align-items:center;background:rgba(0,0,0,.4);display:flex;inset:0;justify-content:center;padding:1rem;position:absolute}.modal-content{background:#fff;border-radius:20px;box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);max-width:26rem;padding:2rem;width:100%}.modal-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.modal-subtitle{color:var(--text-secondary);font-size:.9375rem;margin:0 0 1.5rem}.modal-buttons{display:flex;gap:1rem;margin-top:1.5rem}.cancel-button,.submit-button{border-radius:12px;cursor:pointer;flex:1;font-size:.9375rem;font-weight:600;padding:.875rem 1rem;transition:all .2s}.cancel-button{background:transparent;border:1px solid var(--border-color);color:var(--text-primary)}.cancel-button:hover{background:#f3f4f6;border-color:#d1d5db}.submit-button{background:var(--text-primary);border:1px solid var(--text-primary);color:#fff}.submit-button:hover{background:#333;border-color:#333}@media (max-width:640px){.cope-subtitle{font-size:1.1rem}.marathon-cope-container{padding:1.5rem 1rem var(--scroll-padding-bottom-mobile) 1rem}.trends-widget{padding:1.5rem .5rem}.chart-container{height:18rem}.peak-stats-card{padding:1.5rem;width:100%}.login-card{padding:2rem 1.5rem}.loading-bar-container{border-radius:16px;bottom:3rem;min-width:10rem;padding:.5rem 1rem}.loading-text{font-size:.625rem;margin-bottom:.375rem}.loading-bar{height:3px;width:8rem}}.area-between{fill:var(--primary-color);opacity:.15}.line{fill:none;opacity:.8;stroke:#fc0017;stroke-width:3px}.stretch-line{fill:none;opacity:.6;stroke:var(--primary-color);stroke-dasharray:6,4;stroke-width:1.5px}.hover-line{opacity:0;stroke:var(--text-secondary);stroke-dasharray:4,4;stroke-width:1px;transition:opacity .2s}.hover-line.active{opacity:.8}.hover-point{fill:var(--surface-color);opacity:0;r:6;stroke:var(--primary-color);stroke-width:3px;transition:opacity .2s}.hover-point.active{opacity:1;r:8}.peak-line{opacity:0;stroke:#ba0202;stroke-dasharray:4,4;stroke-width:2px;transition:opacity .5s}.peak-highlight{fill:var(--primary-color);opacity:0;r:6;stroke:#e9d1d1;stroke-width:1px;transition:all .5s cubic-bezier(.175,.885,.32,1.275)}.demo-badge{background:var(--primary-color);border:none;border-radius:100px;box-shadow:0 4px 12px rgba(252,0,23,.2);color:#fff;font-size:.75rem;font-weight:800;letter-spacing:.08em;padding:.4rem 1.25rem;pointer-events:none;position:absolute;right:1rem;text-transform:uppercase;top:1rem;z-index:5}@media (min-width:641px){.demo-badge{right:2rem;top:2rem}}.scroll-indicator{align-items:center;color:var(--text-secondary);display:flex;flex-direction:column;justify-content:center;margin:0 0 1rem;transition:opacity .4s ease,visibility .4s ease;z-index:5}.scroll-caret{animation:bounce-caret 2s infinite;color:var(--text-secondary);opacity:.6}@keyframes bounce-caret{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}.x-axis line,.x-axis path,.y-axis line,.y-axis path{stroke:#e5e7eb}.x-axis text,.y-axis text{fill:var(--text-secondary);font-family:var(--font-family);font-size:12px;font-weight:500}.pulse{animation:bounce 2s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}#marathon-cope-share-overlay{z-index:var(--z-modal)}#marathon-cope-share-close-btn{z-index:1}.cope-empty-state{align-items:center;background:var(--bg-primary);border:1.5px solid var(--border-default);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-4);margin:2rem auto 0;max-width:32rem;padding:var(--space-8) var(--space-6);text-align:center}.cope-empty-state__icon{align-items:center;background:var(--bg-tertiary);border-radius:var(--radius-full);color:var(--text-muted);display:flex;height:64px;justify-content:center;width:64px}.cope-empty-state__icon .material-symbols-outlined{font-size:32px}.cope-empty-state__title{color:var(--text-body);font-size:var(--font-xl);font-weight:var(--weight-semibold);margin:0}.cope-empty-state__text{color:var(--text-muted);font-size:var(--font-base);line-height:1.5;margin:0}.cope-empty-state__actions{align-items:stretch;display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2);width:100%}.cope-empty-state__btn{width:100%}.marathon-cope-strava-modal__buttons{align-items:stretch;flex-direction:column}.marathon-cope-strava-modal__buttons .confirmation-btn{min-width:0;width:100%}.marathon-cope-strava-modal__dismiss{background:transparent;color:var(--text-muted);transition:background-color var(--duration-fast) var(--ease-default)}@media (hover:hover) and (pointer:fine){.marathon-cope-strava-modal__dismiss:hover{background:var(--bg-tertiary)}}.marathon-cope-strava-modal__dismiss:active{background:var(--bg-tertiary)}.hidden{display:none!important}