.activities-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.activities-header h1{margin:0}.activities-add-btn{color:#ccc;cursor:pointer;white-space:nowrap;background:#1a1a1a;border:1px solid #444;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.activities-add-btn:hover,.activities-add-btn--active{color:#fff;background:#222;border-color:#666}.strava-picker{background:#111;border:1px solid #333;border-radius:12px;margin-bottom:2rem;padding:1.25rem;animation:.2s ease-out picker-slide-in}.activities-calendar-overlay{z-index:110}.activities-calendar-modal.strava-picker{align-items:stretch;gap:.9rem;width:min(980px,96vw);max-width:980px;max-height:92vh;margin-bottom:0;animation:none}@keyframes picker-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.strava-picker-header{margin-bottom:1rem}.strava-picker-header-top{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.strava-picker-title{color:#fff;margin:0 0 .25rem;font-size:1rem;font-weight:600}.strava-picker-desc{color:#888;margin:0;font-size:.8rem}.strava-picker-focus-hint{color:#63e2f2;margin:.45rem 0 0;font-size:.78rem}.activities-picker-close-btn{color:#a5a5a5;cursor:pointer;touch-action:manipulation;background:#161616;border:1px solid #343434;border-radius:8px;justify-content:center;align-items:center;width:2rem;height:2rem;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.activities-picker-close-btn:hover{color:#ececec;background:#1f1f1f;border-color:#555}.activities-picker-close-btn:focus-visible{outline-offset:2px;outline:2px solid #22d3eeb3}.strava-picker-count{margin-bottom:.5rem}.strava-picker-loading{gap:.6rem;padding:.25rem 0;display:grid}.strava-picker-loading-label{color:#9a9a9a;margin:0;font-size:.78rem}.strava-calendar-loading{background:#0f0f0f;border:1px solid #2d2d2d;border-radius:10px;gap:.4rem;padding:.55rem;display:grid}.strava-calendar-day-skeleton{background:linear-gradient(90deg,#ffffff05,#ffffff14,#ffffff05) 0 0/220% 100%;border:1px solid #232323;border-radius:7px;min-height:5.2rem;animation:1.3s linear infinite activities-skeleton-shimmer}@keyframes activities-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.strava-picker-empty{color:#888;text-align:center;padding:1.5rem 0;font-size:.9rem}.strava-picker-calendar{gap:.8rem;display:grid}.strava-calendar-scroll{overscroll-behavior:contain;scrollbar-width:thin;background:#0f0f0f;border:1px solid #2d2d2d;border-radius:10px;gap:.4rem;max-height:30rem;padding:.55rem;display:grid;overflow-y:auto}.strava-calendar-day-anchor:focus-visible,.strava-calendar-run-action:focus-visible{outline-offset:2px;outline:2px solid #22d3eeb3}.strava-calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;margin-bottom:.15rem;display:grid}.strava-calendar-weekdays span{text-align:center;letter-spacing:.03em;text-transform:uppercase;color:#6f6f6f;font-size:.64rem}.strava-calendar-weeks{gap:.22rem;display:grid}.strava-calendar-week{grid-template-columns:repeat(7,minmax(0,1fr));gap:.25rem;display:grid}.strava-calendar-day{color:#8e8e8e;background:#111318;border:1px solid #2d2d2d;border-radius:7px;align-content:start;gap:.28rem;min-height:5.4rem;padding:.3rem;transition:background .15s,border-color .15s,color .15s;display:grid}.strava-calendar-day-anchor{width:100%;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.4rem;padding:0;display:flex}.strava-calendar-day:hover{background:#181c24;border-color:#4a4f59}.strava-calendar-day--has-runs{color:#e3e7ef;background:linear-gradient(#386d8738,#111318f2);border-color:#58afd499}.strava-calendar-day--selected{color:#f1fdff;background:#22d3ee2e;border-color:#22d3ee9e}.strava-calendar-day--today{box-shadow:inset 0 0 0 1px #22d3ee52}.strava-calendar-day-number{font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700}.strava-calendar-day-count{color:#63e2f2;font-variant-numeric:tabular-nums;background:#22d3ee33;border:1px solid #345a68;border-radius:999px;justify-content:center;align-items:center;min-width:1.05rem;height:1.05rem;padding:0 .2rem;font-size:.6rem;font-weight:700;line-height:1;display:inline-flex}.strava-calendar-run-list{gap:.16rem;margin:0;padding:0;list-style:none;display:grid}.strava-calendar-run-item{background:#1a1f28;border:1px solid #394251;border-radius:6px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.25rem;padding:.16rem .22rem;display:grid}.strava-calendar-run-item--focused{background:#22d3ee2e;border-color:#22d3ee94}.strava-calendar-run-line{color:#ecf2ff;white-space:nowrap;text-overflow:ellipsis;font-size:.61rem;line-height:1.1;display:block;overflow:hidden}.strava-calendar-run-stats{color:#bcc8de;font-variant-numeric:tabular-nums;border:1px solid #4f5b72;border-radius:999px;flex:none;padding:.04rem .32rem;font-size:.52rem;line-height:1}.strava-calendar-run-action{color:#b8f5ff;cursor:pointer;touch-action:manipulation;background:#22d3ee2e;border:1px solid #345a68;border-radius:5px;flex:none;min-height:1.1rem;padding:.05rem .3rem;font-size:.52rem;font-weight:700;text-decoration:none}.strava-calendar-run-action:hover{background:#22d3ee38;border-color:#4a7d91}.strava-calendar-run-action:disabled{opacity:.58;cursor:default}.strava-calendar-run-action--view{color:#e5ebf8;background:#262c38;border-color:#5e6779}.strava-calendar-run-action--view:hover{background:#222;border-color:#666}.strava-calendar-run-more{color:#8a95aa;margin:0;padding-left:.1rem;font-size:.56rem}.strava-calendar-day-empty-inline{color:#7f8795;margin:0;padding-left:.1rem;font-size:.58rem}.strava-picker-load-more{justify-self:flex-start}.stats-overview{margin-bottom:2rem}.stats-overview-title{color:#fff;margin:0 0 1rem;font-size:1.1rem;font-weight:600}.stats-overview-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.75rem;display:grid}.stats-overview-card{text-align:center;background:#141414;border:1px solid #2a2a2a;border-radius:10px;padding:1rem;transition:border-color .15s}.stats-overview-card:hover{border-color:#444}.stats-overview-card--accent{background:#22d3ee0a;border-color:#22d3ee40}.stats-overview-card--accent:hover{border-color:#22d3ee80}.stats-overview-value{color:#fff;font-size:1.5rem;font-weight:700;line-height:1.2;display:block}.stats-overview-card--accent .stats-overview-value{color:var(--accent,#22d3ee)}.stats-overview-label{color:#888;text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem;font-size:.72rem;display:block}.stats-overview-skeleton{background:#141414;border:1px solid #2a2a2a;border-radius:10px;height:100px;animation:1.5s ease-in-out infinite pulse}.stats-overview-empty{color:#666;text-align:center;background:#111;border:1px dashed #333;border-radius:10px;padding:1.5rem;font-size:.85rem}.stats-activities-title{color:#fff;margin:0 0 .75rem;font-size:1.1rem;font-weight:600}@media (max-width:480px){.stats-overview-grid{grid-template-columns:repeat(2,1fr)}}.strava-picker-list .activity-item--picker{background:0 0;border-color:#282828;padding:.6rem .75rem}.strava-picker-list .activity-item--picker:hover{background:#ffffff05;border-color:#444}.strava-picker-list .activity-item--picker.activity-item--focused{background:#22d3ee14;border-color:#22d3ee99;animation:2.8s ease-out activity-focus-pulse;box-shadow:0 0 0 1px #22d3ee2e}.activity-focus-badge{color:#63e2f2;letter-spacing:.05em;text-transform:uppercase;background:linear-gradient(#22d3ee26,#22d3ee0f);border:1px solid #22d3ee52;border-radius:6px;justify-content:center;align-items:center;min-height:1.35rem;padding:.12rem .44rem;font-size:.66rem;font-weight:700;display:inline-flex}@keyframes activity-focus-pulse{0%{transform:translateY(0);box-shadow:0 0 #22d3ee42}40%{transform:translateY(-1px);box-shadow:0 0 0 6px #22d3ee00}to{transform:translateY(0);box-shadow:0 0 #22d3ee00}}@media (prefers-reduced-motion:reduce){.strava-picker-list .activity-item--picker.activity-item--focused,.strava-calendar-day-skeleton{animation:none}}.activity-item--saved{background:#141414;border-color:#2a2a2a}.activity-item--saved:hover{background:#181818;border-color:#444}.activities-count{color:#888;margin-bottom:.75rem;font-size:.85rem}.activities-empty{text-align:center;color:#888;padding:3rem 1rem}.activities-empty-icon{opacity:.6;margin-bottom:1rem}.activities-empty p{margin:.25rem 0}.activities-empty-cta{margin-top:1.5rem;display:inline-block}.activities-week-filter{color:#aaa;background:#22d3ee0f;border:1px solid #22d3ee33;border-radius:8px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.5rem .75rem;font-size:.8rem;display:flex}.activities-week-filter strong{color:#fff}.activities-week-clear{color:#22d3ee;white-space:nowrap;font-size:.75rem;text-decoration:none}.activities-week-clear:hover{text-decoration:underline}.activity-item--saved .activity-saved-stats{background:#ffffff05;border:1px solid #2f2f2f;border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-width:0;margin-top:.2rem;display:grid;overflow:hidden}.activity-item--saved .activity-saved-stat{white-space:normal;flex-direction:column;gap:.2rem;min-width:0;padding:.45rem .6rem;display:flex}.activity-item--saved .activity-saved-stat+.activity-saved-stat{border-left:1px solid #2f2f2f}.activity-item--saved .activity-saved-stat-label{letter-spacing:.05em;text-transform:uppercase;color:#7f7f7f;font-size:.62rem;line-height:1.2}.activity-item--saved .activity-saved-stat-value{color:#e8e8e8;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;line-height:1.2;overflow:hidden}@media (min-width:960px){.activity-item--saved .activity-info{flex:auto;grid-template-rows:auto auto;grid-template-columns:minmax(200px,1fr) minmax(240px,1.25fr);align-items:center;gap:.22rem .75rem;width:100%;display:grid}.activity-item--saved .activity-info>strong{grid-area:1/1;min-width:0}.activity-item--saved .activity-info>.activity-details{text-overflow:ellipsis;white-space:nowrap;grid-area:2/1;min-width:0;overflow:hidden}.activity-item--saved .activity-info>.activity-saved-stats{grid-area:1/2/span 2;align-self:center;margin-top:0}.activity-item--saved .activity-actions{margin-left:auto}}@media (max-width:920px){.activity-item--saved .activity-saved-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-item--saved .activity-saved-stat:nth-child(odd){border-left:none}.activity-item--saved .activity-saved-stat:nth-child(n+3){border-top:1px solid #2f2f2f}}@media (max-width:680px){.activity-item--saved{flex-wrap:wrap;align-items:flex-start;gap:.75rem;padding:.85rem}.activity-item--saved .route-preview,.activity-item--saved .route-preview-empty{flex:0 0 56px;width:56px;height:56px}.activity-item--saved .activity-info{flex:1 1 0;gap:.4rem}.activity-item--saved .activity-details{line-height:1.35}.activity-item--saved .activity-actions{justify-content:flex-end;gap:.6rem;width:100%;margin-top:.1rem}.activity-item--saved .activity-actions .activity-analyze-btn{flex:auto;min-height:2.5rem}.strava-picker-list .activity-item--picker{align-items:flex-start}.strava-picker-list .activity-item--picker .activity-details{line-height:1.35}.strava-picker-list .activity-item--picker .activity-analyze-btn{min-height:2.5rem;padding:.5rem .85rem}.strava-calendar-scroll{max-height:26rem;padding:.42rem}.strava-calendar-weekdays span{font-size:.6rem}.strava-calendar-day{border-radius:7px;min-height:4.2rem;padding:.22rem}.strava-calendar-run-line{font-size:.58rem}.strava-calendar-run-stats{display:none}.strava-calendar-run-action{min-height:1.1rem;padding:.05rem .24rem;font-size:.54rem}}html[data-theme=light] .activities-add-btn,html[data-theme=light] .strava-picker,html[data-theme=light] .strava-calendar-scroll,html[data-theme=light] .strava-calendar-day,html[data-theme=light] .strava-calendar-day-skeleton,html[data-theme=light] .strava-calendar-run-item,html[data-theme=light] .strava-calendar-run-action,html[data-theme=light] .strava-calendar-run-stats,html[data-theme=light] .activities-picker-close-btn,html[data-theme=light] .stats-overview-card,html[data-theme=light] .stats-overview-skeleton,html[data-theme=light] .stats-overview-empty,html[data-theme=light] .strava-picker-list .activity-item--picker,html[data-theme=light] .activity-item--saved,html[data-theme=light] .save-badge,html[data-theme=light] .save-analysis-btn,html[data-theme=light] .activity-item--saved .activity-saved-stats{background:var(--surface-card);border-color:var(--border-default)}html[data-theme=light] .activities-add-btn:hover,html[data-theme=light] .activities-add-btn--active,html[data-theme=light] .activities-picker-close-btn:hover,html[data-theme=light] .strava-picker-list .activity-item--picker:hover,html[data-theme=light] .activity-item--saved:hover,html[data-theme=light] .save-analysis-btn:hover{background:var(--surface-muted);border-color:var(--border-contrast)}html[data-theme=light] .strava-calendar-day--selected{background:#22d3ee1f;border-color:#22d3ee59}html[data-theme=light] .strava-picker-title,html[data-theme=light] .stats-overview-title,html[data-theme=light] .stats-activities-title,html[data-theme=light] .stats-overview-value,html[data-theme=light] .activities-week-filter strong,html[data-theme=light] .activity-item--saved .activity-saved-stat-value{color:var(--text-strong)}html[data-theme=light] .activities-add-btn,html[data-theme=light] .save-analysis-btn,html[data-theme=light] .save-badge,html[data-theme=light] .strava-picker-desc,html[data-theme=light] .strava-picker-loading-label,html[data-theme=light] .strava-picker-empty,html[data-theme=light] .strava-calendar-weekdays span,html[data-theme=light] .strava-calendar-run-more,html[data-theme=light] .strava-calendar-day-empty-inline,html[data-theme=light] .stats-overview-label,html[data-theme=light] .activities-count,html[data-theme=light] .activities-empty,html[data-theme=light] .activities-week-filter,html[data-theme=light] .save-badge.saving,html[data-theme=light] .save-delete-btn,html[data-theme=light] .activity-item--saved .activity-saved-stat-label{color:var(--text-muted)}html[data-theme=light] .strava-picker-list .activity-item--picker{border-color:var(--border-default)}html[data-theme=light] .strava-calendar-day--has-runs,html[data-theme=light] .strava-calendar-run-line,html[data-theme=light] .strava-calendar-day-number{color:var(--text-strong)}html[data-theme=light] .strava-calendar-day-count{color:var(--accent,#22d3ee)}html[data-theme=light] .save-delete-btn{border-color:var(--border-strong)}html[data-theme=light] .activity-item--saved .activity-saved-stat+.activity-saved-stat,html[data-theme=light] .activity-item--saved .activity-saved-stat:nth-child(n+3){border-color:var(--border-default)}
