:root{--bg: #f3f5f9;--surface: #ffffff;--surface-2: #f7f9fc;--border: #e3e8f0;--text: #13233a;--muted: #5b6b80;--subtle: #8a97a8;--primary: #fc4c02;--primary-hover: #e04300;--primary-soft: #fff1ea;--navy: #13233a;--navy-2: #1f3a5c;--info: #1d4ed8;--info-soft: #e8efff;--success: #15803d;--success-soft: #e6f6ec;--danger: #b42318;--danger-soft: #fdecea;--gold: #e5a50a;--silver: #94a3b8;--bronze: #c2703d;--radius: 16px;--radius-sm: 10px;--shadow: 0 1px 2px rgba(19, 35, 58, .06), 0 4px 16px rgba(19, 35, 58, .06);--shadow-lg: 0 2px 4px rgba(19, 35, 58, .06), 0 12px 32px rgba(19, 35, 58, .12);--header-h: 60px;--tabbar-h: 64px;--font: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--primary-text: #e04300;--surface-3: #eef2f7;--border-strong: #d3dae5;--track: #e9edf3;--switch-off: #cfd6e1;--ghost-hover: rgba(19, 35, 58, .06);--danger-hover: #fbdcd8;--tabbar-bg: rgba(255, 255, 255, .96);--chart-grid: #eef1f5;--logo-plate: transparent;color-scheme:light}:root[data-theme=dark]{--bg: #0f1722;--surface: #182331;--surface-2: #1f2c3d;--border: #2c3b4f;--text: #e8edf4;--muted: #a4b1c3;--subtle: #8190a4;--primary-soft: rgba(252, 76, 2, .16);--navy: #0b121c;--navy-2: #182a42;--info: #8db4ff;--info-soft: rgba(96, 141, 255, .16);--success: #5fd38d;--success-soft: rgba(52, 199, 110, .14);--danger: #ff9d92;--danger-soft: rgba(255, 99, 82, .14);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .25);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .3), 0 12px 32px rgba(0, 0, 0, .4);--primary-text: #ff9568;--surface-3: #27364a;--border-strong: #3b4d65;--track: #2c3b4f;--switch-off: #46586f;--ghost-hover: rgba(255, 255, 255, .08);--danger-hover: rgba(255, 99, 82, .24);--tabbar-bg: rgba(24, 35, 49, .96);--chart-grid: #2c3b4f;--logo-plate: #ffffff;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);font-size:16px;line-height:1.5;color:var(--text);background-color:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}a{color:var(--primary)}button,input,select,textarea{font:inherit}:focus-visible{outline:3px solid rgba(252,76,2,.45);outline-offset:2px}.page,.home-container,.challenges-container,.settings-container,.add-challenge-container,.challenge-detail-container{max-width:1120px;margin:0 auto;padding:28px 20px 40px}@media(max-width:640px){.page,.home-container,.challenges-container,.settings-container,.add-challenge-container,.challenge-detail-container{padding:16px 16px 28px}}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.page-title{font-size:clamp(1.5rem,1.2rem + 1.2vw,2rem);font-weight:800;letter-spacing:-.02em;line-height:1.2}.page-subtitle{margin-top:2px;color:var(--muted)}.section-title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin-bottom:14px}.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.card-pad{padding:20px}@media(max-width:640px){.card-pad{padding:16px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:999px;font-size:.95rem;font-weight:600;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 12px #fc4c0240}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary,.btn-soft{background:var(--surface-2);border-color:var(--border);color:var(--text)}.btn-secondary:hover:not(:disabled),.btn-soft:hover:not(:disabled){background:var(--surface-3);border-color:var(--border-strong)}.btn-ghost{background:transparent;color:var(--muted)}.btn-ghost:hover:not(:disabled){background:var(--ghost-hover);color:var(--text)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-sm{min-height:36px;padding:6px 14px;font-size:.875rem}.btn-icon{width:44px;padding:0}.strava-link{display:inline-flex;align-items:center;gap:4px;font-size:.8rem;font-weight:700;color:#fc5200;text-decoration:none;white-space:nowrap}.strava-link:hover{text-decoration:underline}.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:700;line-height:1.5;white-space:nowrap;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.pill-success{background:var(--success-soft);color:var(--success);border-color:transparent}.pill-info{background:var(--info-soft);color:var(--info);border-color:transparent}.pill-primary{background:var(--primary-soft);color:var(--primary-text);border-color:transparent}.pill-dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.switch{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-weight:600;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}.switch input{appearance:none;position:relative;width:42px;height:24px;flex-shrink:0;border-radius:999px;background:var(--switch-off);cursor:pointer;transition:background-color .15s ease}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .15s ease}.switch input:checked{background:var(--primary)}.switch input:checked:after{transform:translate(18px)}.pos-badge{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-weight:800;font-size:.9rem;background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.pos-badge.gold{background:var(--gold);color:#fff;border-color:transparent}.pos-badge.silver{background:var(--silver);color:#fff;border-color:transparent}.pos-badge.bronze{background:var(--bronze);color:#fff;border-color:transparent}.state{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;text-align:center;color:var(--muted)}.state h2{color:var(--text);font-size:1.25rem}.state-icon{font-size:2.25rem;line-height:1}.spinner{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.alert{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:14px 16px;margin:16px 0;border-radius:var(--radius-sm);background:var(--danger-soft);color:var(--danger);font-weight:600}.alert-success{background:var(--success-soft);color:var(--success)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
