.toast-container{bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:10000;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;display:flex;position:fixed;left:50%;transform:translate(-50%)}@media (width>=769px){.toast-container{bottom:24px}}.toast{background:var(--panel-dark,#2a2a2a);border:1px solid var(--border-color,#3a3a3a);pointer-events:auto;border-radius:8px;align-items:flex-start;gap:12px;padding:14px 16px;animation:.3s ease-out toastSlideIn;display:flex;box-shadow:0 4px 20px #0006,0 0 20px #0003,inset 0 1px #ffffff0d}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.toast-message{font-family:var(--font-mono,monospace);color:var(--text-primary,#fff);letter-spacing:.02em;flex:1;font-size:13px;line-height:1.5}.toast-close{width:28px;height:28px;color:var(--text-muted,#888);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin:-4px -4px -4px 0;padding:0;transition:all .15s;display:flex}.toast-close:hover{color:var(--text-primary,#fff);background:#ffffff1a}.toast-close:active{transform:scale(.9)}.toast-success{border-color:var(--status-completed,#10b981);background:linear-gradient(135deg, #10b98126 0%, var(--panel-dark,#2a2a2a) 100%)}.toast-success .toast-icon{color:var(--status-completed,#10b981);filter:drop-shadow(0 0 6px #10b98166)}.toast-success:before{content:"";background:linear-gradient(90deg, transparent, var(--status-completed,#10b981), transparent);height:2px;position:absolute;top:0;left:0;right:0}.toast-error{border-color:var(--vector-coral,#e6524a);background:linear-gradient(135deg, #e6524a26 0%, var(--panel-dark,#2a2a2a) 100%)}.toast-error .toast-icon{color:var(--vector-coral,#e6524a);filter:drop-shadow(0 0 6px #e6524a66)}.toast-error:before{content:"";background:linear-gradient(90deg, transparent, var(--vector-coral,#e6524a), transparent);height:2px;position:absolute;top:0;left:0;right:0}.toast-warning{border-color:var(--performance-yellow,#ffd447);background:linear-gradient(135deg, #ffd4471f 0%, var(--panel-dark,#2a2a2a) 100%)}.toast-warning .toast-icon{color:var(--performance-yellow,#ffd447);filter:drop-shadow(0 0 6px #ffd44766)}.toast-warning:before{content:"";background:linear-gradient(90deg, transparent, var(--performance-yellow,#ffd447), transparent);height:2px;position:absolute;top:0;left:0;right:0}.toast-info{border-color:var(--accent-primary,#00c2ff);background:linear-gradient(135deg, #00c2ff1f 0%, var(--panel-dark,#2a2a2a) 100%)}.toast-info .toast-icon{color:var(--accent-primary,#00c2ff);filter:drop-shadow(0 0 6px #00c2ff66)}.toast-info:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-primary,#00c2ff), transparent);height:2px;position:absolute;top:0;left:0;right:0}.toast{position:relative;overflow:hidden}[data-theme=light] .toast{background:var(--bg-primary,#fff);border-color:var(--border-color,#e0e0e0);box-shadow:0 4px 20px #00000026,0 0 10px #0000000d}[data-theme=light] .toast-success{background:linear-gradient(135deg, #05966914 0%, var(--bg-primary,#fff) 100%);border-color:var(--status-completed,#059669)}[data-theme=light] .toast-error{background:linear-gradient(135deg, #dc262614 0%, var(--bg-primary,#fff) 100%);border-color:var(--crimson-drive,#dc2626)}[data-theme=light] .toast-warning{background:linear-gradient(135deg, #d9770614 0%, var(--bg-primary,#fff) 100%);border-color:var(--performance-yellow,#d97706)}[data-theme=light] .toast-info{background:linear-gradient(135deg, #0891b214 0%, var(--bg-primary,#fff) 100%);border-color:var(--accent-primary,#0891b2)}[data-theme=banana] .toast{background:var(--bg-primary,#fffbeb);border-color:var(--border-color,#fcd34d);box-shadow:0 4px 20px #78350f26,0 0 10px #f59e0b1a}[data-theme=banana] .toast-success{background:linear-gradient(135deg, #65a30d1f 0%, var(--bg-primary,#fffbeb) 100%)}[data-theme=banana] .toast-error{background:linear-gradient(135deg, #dc26261a 0%, var(--bg-primary,#fffbeb) 100%)}[data-theme=banana] .toast-warning,[data-theme=banana] .toast-info{background:linear-gradient(135deg, #f59e0b1f 0%, var(--bg-primary,#fffbeb) 100%)}@media (width<=768px){.toast-container{width:calc(100% - 24px)}.toast{padding:12px 14px}.toast-message{font-size:12px}}@media (width<=375px){.toast{gap:10px;padding:10px 12px}.toast-icon{width:20px;height:20px}.toast-icon svg{width:16px;height:16px}.toast-message{font-size:11px}.toast-close{width:24px;height:24px}}.theme-controls{align-items:center;gap:4px;display:flex}.theme-toggle{align-items:center;gap:var(--space-sm);background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);border-radius:4px;font-size:10px;display:flex;position:relative;overflow:hidden}.theme-toggle:before{content:"";background:linear-gradient(135deg, transparent 0%, var(--accent-glow) 50%, transparent 100%);opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);position:absolute;top:0;left:0}.theme-toggle:hover{border-color:var(--accent-primary);transform:translateY(-1px)}.theme-toggle:hover:before{opacity:.1}.theme-toggle:active{transform:translateY(0)}.theme-icon{transition:transform var(--transition-normal);font-size:16px;line-height:1}.theme-toggle:hover .theme-icon{transform:rotate(15deg)scale(1.1)}.theme-label{color:var(--accent-primary);font-weight:600}.theme-indicator{margin-left:var(--space-xs);gap:3px;display:flex}.indicator-dot{background:var(--text-dim);width:6px;height:6px;transition:all var(--transition-fast);border-radius:50%}.indicator-dot.active{background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary)}.theme-toggle.theme-light{border-color:var(--border-color);background:#ffffffe6}.theme-toggle.theme-dark{background:var(--panel-dark)}.theme-toggle.theme-banana{border-color:var(--accent-primary);background:#ffd70026}.hc-toggle{background:var(--panel-dark);border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);color:var(--text-muted);border-radius:4px;justify-content:center;align-items:center;display:flex}.hc-toggle:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.hc-toggle.active{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary)}.font-scale-controls{align-items:center;gap:2px;display:flex}.font-scale-btn{background:var(--panel-dark);border:1px solid var(--border-color);cursor:pointer;width:32px;height:32px;transition:all var(--transition-fast);color:var(--text-primary);font-family:var(--font-segment);letter-spacing:0;border-radius:4px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.font-scale-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.font-scale-btn:disabled{opacity:.35;cursor:default}@media (width<=768px){.theme-toggle{padding:var(--space-xs) var(--space-sm)}.theme-label,.theme-indicator{display:none}.theme-icon{font-size:18px}.hc-toggle{width:36px;min-width:44px;height:36px;min-height:44px}.font-scale-btn{width:36px;min-width:44px;height:36px;min-height:44px;font-size:12px}}.user-menu{position:relative}.user-menu-trigger{align-items:center;gap:var(--space-sm);background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-xs) var(--space-md);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);border-radius:4px;font-size:10px;display:flex;position:relative;overflow:hidden}.user-menu-trigger:before{content:"";background:linear-gradient(135deg, transparent 0%, var(--accent-glow) 50%, transparent 100%);opacity:0;width:100%;height:100%;transition:opacity var(--transition-fast);position:absolute;top:0;left:0}.user-menu-trigger:hover,.user-menu-trigger.active{border-color:var(--accent-primary);transform:translateY(-1px)}.user-menu-trigger:hover:before,.user-menu-trigger.active:before{opacity:.1}.user-menu-trigger:active{transform:translateY(0)}.user-avatar{background:var(--bg-tertiary);border:1px solid var(--accent-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%}.user-avatar svg{color:var(--accent-primary)}.user-name{color:var(--accent-primary);text-overflow:ellipsis;white-space:nowrap;max-width:100px;font-weight:600;overflow:hidden}.chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.chevron.rotated{transform:rotate(180deg)}.user-menu-dropdown{background:var(--bg-secondary);border:1px solid var(--border-color);z-index:10000;border-radius:8px;min-width:220px;animation:.15s ease-out dropdownSlide;position:fixed;overflow:hidden;box-shadow:0 8px 32px #0006}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary);display:flex}.user-avatar-large{background:var(--bg-primary);border:2px solid var(--accent-primary);width:40px;height:40px;box-shadow:0 0 12px var(--accent-glow);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.user-avatar-large img{object-fit:cover;width:100%;height:100%}.user-avatar-large svg{color:var(--accent-primary)}.user-info{flex-direction:column;gap:2px;min-width:0;display:flex}.user-display-name{font-family:var(--font-segment);color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase;font-size:12px;font-weight:600}.user-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.user-menu-divider{background:linear-gradient(90deg, transparent 0%, var(--border-color) 20%, var(--border-color) 80%, transparent 100%);height:1px}.user-menu-items{padding:var(--space-sm)}.user-menu-item{align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-segment);letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);transition:all var(--transition-fast);text-align:left;background:0 0;border:none;border-radius:4px;font-size:11px;display:flex}.user-menu-item:hover{background:var(--bg-tertiary);color:var(--text-primary)}.user-menu-item svg{color:var(--accent-primary);flex-shrink:0}.user-menu-item.logout:hover{color:#ef4444;background:#ef444426}.user-menu-item.logout:hover svg{color:#ef4444}.user-menu-footer{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-top:1px solid var(--border-color);color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;font-size:9px;display:flex}.status-indicator{background:var(--status-completed);width:6px;height:6px;box-shadow:0 0 8px var(--status-completed);border-radius:50%;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}@media (width<=768px){.user-menu-trigger{padding:var(--space-xs) var(--space-sm)}.user-name,.chevron{display:none}.user-menu-dropdown{min-width:200px;right:-8px}}[data-theme=light] .user-menu-trigger{background:#ffffffe6}[data-theme=light] .user-menu-dropdown{box-shadow:0 8px 32px #00000026}[data-theme=banana] .user-menu-trigger{border-color:var(--accent-primary);background:#ffd70026}.bottom-tab-navigation{background:var(--bg-tertiary);border-top:2px solid var(--accent-primary);z-index:1000;padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.bottom-tab-navigation:before{content:"";background:var(--accent-primary);width:100%;height:2px;box-shadow:0 0 10px var(--accent-primary), 0 0 20px var(--accent-glow);position:absolute;top:-2px;left:0}.tab-container{background:var(--bg-tertiary);justify-content:space-around;align-items:center;max-width:500px;min-height:64px;margin:0 auto;padding:6px 8px;display:flex}.bottom-tab-navigation.simplified .tab-container{justify-content:center;gap:8px}.bottom-tab-navigation.simplified .tab-item{min-width:52px;padding:8px}.bottom-tab-navigation.simplified .tab-icon{margin-bottom:3px}.bottom-tab-navigation.simplified .tab-label{font-size:10px;font-weight:600}.tab-item{cursor:pointer;-webkit-tap-highlight-color:transparent;min-width:44px;min-height:44px;color:var(--text-muted);background:0 0;border:none;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:8px 12px;transition:all .15s;display:flex;position:relative}.tab-item:active{background:var(--accent-glow);transform:scale(.95)}.tab-item.active{color:var(--accent-primary)}.tab-icon{margin-bottom:2px;transition:transform .15s}.tab-item:active .tab-icon{transform:scale(.9)}.tab-item.active .tab-icon{filter:drop-shadow(0 0 4px var(--accent-primary));transform:scale(1.1)}.tab-label{font-family:var(--font-segment);text-align:center;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;user-select:none;font-size:11px;font-weight:600;line-height:1}.tab-item.active .tab-label{color:var(--accent-primary);text-shadow:var(--glow-cyan);font-weight:600}.active-indicator{background:var(--accent-primary);width:20px;height:3px;box-shadow:0 0 6px var(--accent-primary);border-radius:2px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}@media (width>=768px){.bottom-tab-navigation{display:none}}[data-contrast=high] .bottom-tab-navigation{border-top-width:3px}[data-contrast=high] .tab-item.active{background:var(--accent-primary);color:var(--bg-primary);border-radius:4px}[data-contrast=high] .bottom-tab-navigation:before{box-shadow:none}@media (prefers-reduced-motion:reduce){.tab-item,.tab-icon,.active-indicator{transition:none}.tab-item:active{transform:none}.tab-item.active .tab-icon{filter:none;transform:none}}.mobile-search-overlay{background:var(--bg-primary);z-index:2000;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);animation:.3s ease-out slideInFromTop;position:fixed;inset:0}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.mobile-search-container{flex-direction:column;height:100%;display:flex}.search-header{border-bottom:2px solid var(--accent-primary);background:var(--bg-tertiary);justify-content:space-between;align-items:center;padding:16px 20px;display:flex;position:relative}.search-header:after{content:"";background:var(--accent-primary);width:100%;height:2px;box-shadow:var(--glow-cyan);position:absolute;bottom:-2px;left:0}.search-header h2{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;text-shadow:var(--glow-cyan);margin:0;font-size:16px;font-weight:600}.close-search-btn{border:1px solid var(--text-dim);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px;transition:all .15s;display:flex}.close-search-btn:active{border-color:var(--vector-coral);color:var(--vector-coral);background:#e6524a33;transform:scale(.95)}.search-content{-webkit-overflow-scrolling:touch;background:var(--bg-primary);flex:1;padding:20px;overflow-y:auto}.search-input-container{margin-bottom:32px}.mobile-search-input{width:100%;font-size:16px;font-family:var(--font-mono);border:2px solid var(--border-color);background:var(--panel-dark);color:var(--text-primary);appearance:none;border-radius:4px;padding:16px;transition:all .2s}.mobile-search-input::placeholder{color:var(--text-dim)}.mobile-search-input:focus{border-color:var(--accent-primary);background:var(--bg-primary);box-shadow:var(--glow-cyan);outline:none}.filter-section{margin-bottom:32px}.filter-header{color:var(--accent-primary);font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:600;display:flex}.filter-header svg{color:var(--performance-yellow)}.workout-type-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px;display:grid}.workout-type-btn{background:var(--panel-dark);border:1px solid var(--border-color);cursor:pointer;color:var(--text-muted);border-radius:4px;flex-direction:column;align-items:center;min-height:44px;padding:14px 8px;transition:all .15s;display:flex}.workout-type-btn:active{transform:scale(.95)}.workout-type-btn.selected{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--bg-primary);box-shadow:var(--glow-cyan)}.workout-type-btn:not(.selected):hover,.workout-type-btn:not(.selected):active{border-color:var(--accent-primary);background:var(--bg-tertiary)}.type-emoji{margin-bottom:4px;font-size:18px}.type-label{font-family:var(--font-segment);text-align:center;letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:500;line-height:1.2}.workout-type-btn.selected .type-label{color:var(--bg-primary);font-weight:600}.search-actions{gap:12px;margin-top:auto;padding-top:20px;display:flex}.search-action-btn{font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;border-radius:4px;flex:1;min-height:48px;padding:16px;font-size:12px;font-weight:600;transition:all .15s}.search-action-btn:active{transform:scale(.98)}.search-action-btn.secondary{background:var(--bg-tertiary);color:var(--text-muted);border:1px solid var(--text-dim)}.search-action-btn.secondary:active{background:var(--panel-hover);border-color:var(--vector-coral);color:var(--vector-coral)}.search-action-btn.primary{background:var(--accent-primary);color:var(--bg-primary)}.search-action-btn.primary:active{background:var(--accent-secondary);box-shadow:var(--glow-cyan)}@media (prefers-reduced-motion:reduce){.mobile-search-overlay{animation:none}.close-search-btn,.workout-type-btn,.search-action-btn,.mobile-search-input{transition:none}.close-search-btn:active,.workout-type-btn:active,.search-action-btn:active{transform:none}}[data-contrast=high] .mobile-search-input{box-shadow:none;border-width:2px}[data-contrast=high] .mobile-search-input:focus{box-shadow:none;border-width:3px}[data-contrast=high] .workout-type-btn{border-width:2px}[data-contrast=high] .workout-type-btn.selected{border-width:3px;font-weight:700}[data-contrast=high] .search-action-btn{border-width:2px;font-weight:700}[data-contrast=high] .close-search-btn{border-width:2px}.simple-month-calendar{width:100%;padding:0 var(--space-sm);-webkit-user-select:none;user-select:none}.smc-header{padding:var(--space-md) 0;justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.smc-nav-btn{border:1px solid var(--border-color);background:var(--bg-secondary);width:44px;min-width:44px;height:44px;min-height:44px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.smc-nav-btn:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.smc-nav-btn:active{transform:scale(.93)}.smc-month-title{flex-direction:column;flex:1;align-items:center;gap:4px;min-width:0;display:flex}.smc-month-title h2{font-family:var(--font-segment,var(--font-mono));color:var(--text-primary);white-space:nowrap;letter-spacing:.02em;margin:0;font-size:1.25rem;font-weight:600}.smc-today-btn{font-family:var(--font-mono);color:var(--accent-primary);border:1px solid var(--accent-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:12px;padding:2px 12px;font-size:.75rem;font-weight:500;transition:all .15s}.smc-today-btn:hover{background:var(--accent-primary);color:#fff}.smc-today-btn:active{transform:scale(.95)}.smc-day-headers{padding-bottom:var(--space-xs,4px);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(7,1fr);margin-bottom:2px;display:grid}.smc-day-header{text-align:center;font-family:var(--font-mono);color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 0;font-size:.7rem;font-weight:600}.smc-grid{grid-template-columns:repeat(7,1fr);gap:1px;transition:opacity .2s;display:grid}.smc-grid.smc-loading{opacity:.5;pointer-events:none}.smc-day{cursor:default;-webkit-tap-highlight-color:transparent;border-radius:8px;flex-direction:column;align-items:center;min-height:56px;padding:6px 2px;transition:background .12s;display:flex;position:relative}.smc-day.smc-has-workout{cursor:pointer}.smc-day.smc-has-workout:active{background:var(--bg-tertiary);transform:scale(.97)}.smc-day.smc-other-month{opacity:.3}.smc-day.smc-today{background:var(--bg-secondary)}.smc-day-number{font-family:var(--font-mono);color:var(--text-primary);margin-bottom:4px;font-size:.8rem;font-weight:500;line-height:1}.smc-today-number{background:var(--accent-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:inline-flex}.smc-day.smc-other-month .smc-day-number{color:var(--text-dim)}.smc-workout-info{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;display:flex}.smc-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.smc-day.completed .smc-type-dot{box-shadow:0 0 0 2px var(--status-completed)}.smc-day.missed .smc-type-dot{opacity:.5}.smc-rpe{font-family:var(--font-mono);color:#fff;border-radius:3px;padding:1px 3px;font-size:.6rem;font-weight:700;line-height:1}.smc-rpe.rpe-easy{background:#10b981}.smc-rpe.rpe-moderate{background:#f59e0b}.smc-rpe.rpe-hard{background:#f97316}.smc-rpe.rpe-max{background:#ef4444}.smc-streak{font-size:.65rem;line-height:1}.smc-day.completed{border-left:2px solid var(--status-completed)}.smc-day.missed{border-left:2px solid var(--status-delayed,#e6524a)}.smc-day.smc-in-streak{background:#f59e0b0f}.smc-day.intensity-light{background:#10b9810d}.smc-day.intensity-moderate{background:#f59e0b0f}.smc-day.intensity-hard{background:#f9731614}.smc-day.intensity-max{background:#ef444414}@media (width<=374px){.smc-month-title h2{font-size:1.05rem}.smc-day{min-height:48px;padding:4px 1px}.smc-day-number{font-size:.7rem}.smc-type-dot{width:6px;height:6px}.smc-rpe{font-size:.55rem}}@media (width>=375px) and (width<=480px){.smc-day{min-height:60px}}@media (width>=481px){.smc-day{min-height:72px;padding:8px 4px}.smc-type-dot{width:10px;height:10px}.smc-rpe{padding:2px 4px;font-size:.65rem}.smc-month-title h2{font-size:1.5rem}}.exercise-logger{border-top:1px solid var(--border-primary,#374151);padding:12px 0}.exercise-logger-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#9ca3af);align-items:center;gap:6px;margin-bottom:12px;font-size:.8rem;font-weight:600;display:flex}.exercise-presets{margin-bottom:12px}.exercise-presets.inline{margin-top:8px;margin-bottom:0}.presets-label{color:var(--text-secondary,#9ca3af);margin-bottom:6px;font-size:.72rem;display:block}.presets-grid{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.preset-btn{border:1px solid var(--border-primary,#374151);background:var(--bg-secondary,#1f2937);color:var(--text-primary,#f9fafb);cursor:pointer;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:10px 8px;transition:border-color .15s,background .15s;display:flex}.preset-btn:hover,.preset-btn:active{border-color:var(--accent-primary,#22d3ee);background:var(--bg-tertiary,#111827)}.preset-btn.small{min-height:36px;padding:6px}.preset-icon{flex-shrink:0;font-size:1rem}.preset-name{text-align:left;font-size:.7rem;font-weight:500;line-height:1.2}.exercise-entry{border:1px solid var(--border-primary,#374151);background:var(--bg-secondary,#1f2937);border-radius:10px;margin-bottom:10px;padding:12px;transition:border-color .2s}.exercise-entry.saved{opacity:.85;border-color:#10b981}.exercise-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.exercise-name-input{border:1px solid var(--border-primary,#374151);background:var(--bg-primary,#111827);color:var(--text-primary,#f9fafb);border-radius:6px;flex:1;min-height:44px;padding:8px 10px;font-size:.85rem;font-weight:600}.exercise-name-input::placeholder{color:var(--text-muted,#6b7280)}.exercise-type-toggle{border:1px solid var(--border-primary,#374151);border-radius:6px;display:flex;overflow:hidden}.type-btn{background:var(--bg-primary,#111827);width:36px;height:36px;color:var(--text-secondary,#9ca3af);cursor:pointer;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.type-btn.active{background:var(--accent-primary,#22d3ee);color:#000}.remove-exercise-btn{border:1px solid var(--border-primary,#374151);width:36px;height:36px;color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.remove-exercise-btn:hover{color:#ef4444;border-color:#ef4444}.remove-exercise-btn.delete-saved{color:#ef4444;border-color:#ef44444d}.remove-exercise-btn.delete-saved:hover{background:#ef44441a;border-color:#ef4444}.sets-container{margin-bottom:8px}.sets-header{grid-template-columns:32px 1fr 1.2fr 60px;align-items:center;gap:6px;padding:0 4px 4px;display:grid}.set-col-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7280);font-size:.6rem;font-weight:600}.set-row{border-radius:6px;grid-template-columns:32px 1fr 1.2fr 60px;align-items:center;gap:6px;padding:4px;transition:background .15s;display:grid}.set-row.done{background:#10b98114}.set-number{color:var(--text-secondary,#9ca3af);text-align:center;font-size:.75rem;font-weight:700}.set-input{border:1px solid var(--border-primary,#374151);background:var(--bg-primary,#111827);color:var(--text-primary,#f9fafb);text-align:center;border-radius:6px;width:100%;min-height:44px;padding:8px;font-size:.9rem;font-weight:600}.set-input::placeholder{color:var(--text-muted,#6b7280);font-weight:400}.weight-input-group{align-items:center;gap:4px;display:flex}.weight-input{flex:1;min-width:0}.weight-unit{color:var(--text-muted,#6b7280);flex-shrink:0;font-size:.7rem}.set-actions{align-items:center;gap:2px;display:flex}.set-done-btn{border:2px solid var(--border-primary,#374151);width:36px;height:36px;color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.set-done-btn.checked{color:#fff;background:#10b981;border-color:#10b981}.set-remove-btn{width:24px;height:24px;color:var(--text-muted,#6b7280);cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:opacity .15s,color .15s;display:flex}.set-remove-btn:hover{opacity:1;color:#ef4444}.add-set-btn{border:1px dashed var(--border-primary,#374151);width:100%;color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:4px;min-height:44px;margin-top:6px;padding:8px;font-size:.75rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.add-set-btn:hover{border-color:var(--accent-primary,#22d3ee);color:var(--accent-primary,#22d3ee)}.cardio-container{margin-bottom:8px}.cardio-inputs{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cardio-field label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#6b7280);margin-bottom:4px;font-size:.65rem;font-weight:600;display:block}.cardio-input-group{align-items:center;gap:6px;display:flex}.cardio-input{border:1px solid var(--border-primary,#374151);background:var(--bg-primary,#111827);color:var(--text-primary,#f9fafb);text-align:center;border-radius:6px;flex:1;min-height:44px;padding:10px;font-size:1rem;font-weight:600}.cardio-input::placeholder{color:var(--text-muted,#6b7280);font-weight:400}.cardio-unit{color:var(--text-muted,#6b7280);flex-shrink:0;min-width:24px;font-size:.75rem}.cardio-pace{color:var(--accent-primary,#22d3ee);text-align:center;margin-top:8px;font-size:.8rem;font-weight:600}.exercise-notes-input{border:1px solid var(--border-primary,#374151);background:var(--bg-primary,#111827);width:100%;color:var(--text-primary,#f9fafb);border-radius:6px;min-height:36px;margin:8px 0;padding:8px 10px;font-size:.78rem}.exercise-notes-input::placeholder{color:var(--text-muted,#6b7280)}.save-exercise-btn{border:1px solid var(--accent-primary,#22d3ee);width:100%;color:var(--accent-primary,#22d3ee);cursor:pointer;background:#22d3ee1a;border-radius:8px;min-height:44px;padding:10px;font-size:.8rem;font-weight:600;transition:background .15s}.save-exercise-btn:hover:not(:disabled){background:#22d3ee33}.save-exercise-btn:disabled{opacity:.5;cursor:not-allowed}.save-exercise-btn.saved{color:#10b981;background:#10b9811a;border-color:#10b981}.add-exercise-btn{border:1px dashed var(--border-primary,#374151);width:100%;color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:48px;padding:12px;font-size:.8rem;font-weight:500;transition:border-color .15s,color .15s;display:flex}.add-exercise-btn:hover{border-color:var(--accent-primary,#22d3ee);color:var(--accent-primary,#22d3ee)}.show-presets-btn{color:var(--text-muted,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:4px;margin:8px auto 0;padding:4px 12px;font-size:.7rem;text-decoration:underline;display:block}@media (width<=768px){.presets-grid{grid-template-columns:repeat(2,1fr)}.sets-header,.set-row{grid-template-columns:28px 1fr 1.2fr 56px}}@media (width<=380px){.presets-grid{grid-template-columns:1fr 1fr;gap:4px}.preset-btn{padding:8px 6px}.preset-name{font-size:.62rem}}.wpr{--wpr-accent:var(--accent-primary,#00c2ff);--wpr-injury:#f59e0b;--wpr-nutrition:#10b981;color:var(--text-primary);font-size:13px;line-height:1.6}.wpr-spacer{height:8px}.wpr-block-label{font-family:var(--font-segment,monospace);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);opacity:.75;margin-bottom:8px;padding:4px 0;font-size:10px;font-weight:600}.wpr-purpose{background:color-mix(in srgb, var(--wpr-accent) 10%, transparent);border-left:3px solid var(--wpr-accent);color:var(--text-primary);border-radius:0 8px 8px 0;align-items:flex-start;gap:8px;margin:4px 0 10px;padding:10px 14px;font-size:13px;font-weight:500;display:flex}.wpr-purpose-icon{flex-shrink:0;margin-top:1px;font-size:14px}.wpr-section-header{background:color-mix(in srgb, var(--wpr-accent) 7%, transparent);border-left:3px solid var(--wpr-accent);border-radius:0 6px 6px 0;justify-content:space-between;align-items:center;margin:14px 0 6px;padding:7px 12px;display:flex}.wpr-section-left{flex-direction:column;gap:2px;min-width:0;display:flex}.wpr-section-name{font-family:var(--font-segment,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--wpr-accent);font-size:10px;font-weight:700}.wpr-section-subtitle{color:var(--text-primary);letter-spacing:0;text-transform:none;font-size:13px;font-weight:600;line-height:1.3}.wpr-section-time{font-family:var(--font-segment,monospace);background:var(--wpr-accent);color:#fff;letter-spacing:.05em;white-space:nowrap;border-radius:10px;padding:2px 9px;font-size:10px;font-weight:700}.wpr-subheader{font-family:var(--font-segment,monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color);margin:12px 0 4px;padding-bottom:4px;font-size:10px;font-weight:700}.wpr-note{color:var(--text-secondary);border-left:2px solid var(--border-color);margin:4px 0;padding:4px 0 4px 10px;font-size:12px;font-style:italic}.wpr-target-rpe{align-items:center;gap:6px;margin:8px 0;display:inline-flex}.wpr-rpe-label{font-family:var(--font-segment,monospace);letter-spacing:.14em;color:var(--text-muted);font-size:9px;font-weight:700}.wpr-rpe-value{font-family:var(--font-segment,monospace);color:var(--wpr-accent);background:color-mix(in srgb, var(--wpr-accent) 12%, transparent);border:1px solid var(--wpr-accent);border-radius:4px;padding:2px 9px;font-size:12px;font-weight:700}.wpr-injury-card{background:color-mix(in srgb, var(--wpr-injury) 8%, transparent);border-left:3px solid var(--wpr-injury);border-radius:0 8px 8px 0;margin:10px 0;padding:10px 12px}.wpr-injury-header{font-family:var(--font-segment,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--wpr-injury);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.wpr-injury-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.wpr-injury-list li{color:var(--text-secondary);padding-left:14px;font-size:12px;line-height:1.5;position:relative}.wpr-injury-list li:before{content:"·";color:var(--wpr-injury);font-weight:700;position:absolute;left:0}.wpr-nutrition-card{background:color-mix(in srgb, var(--wpr-nutrition) 8%, transparent);border-left:3px solid var(--wpr-nutrition);border-radius:0 8px 8px 0;margin:10px 0;padding:10px 12px}.wpr-nutrition-header{font-family:var(--font-segment,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--wpr-nutrition);align-items:center;gap:6px;margin-bottom:10px;font-size:10px;font-weight:700;display:flex}.wpr-nutrition-label{color:var(--text-muted);letter-spacing:.04em;text-transform:none;font-family:inherit;font-size:10px;font-weight:400}.wpr-macro-row{flex-wrap:wrap;gap:6px;display:flex}.wpr-macro-pill{border:1px solid #ffffff14;border-radius:8px;flex-direction:column;align-items:center;min-width:54px;padding:6px 10px;display:flex}.wpr-pill-cal{background:#10b98126;border-color:#10b9814d}.wpr-pill-protein{background:#3b82f61f;border-color:#3b82f640}.wpr-pill-carbs{background:#f59e0b1f;border-color:#f59e0b40}.wpr-pill-fat{background:#a855f71f;border-color:#a855f740}.wpr-pill-val{font-family:var(--font-segment,monospace);color:var(--text-primary);font-size:13px;font-weight:700}.wpr-pill-lbl{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:1px;font-size:9px;font-weight:600}.wpr-list{margin:4px 0 6px;padding-left:20px}.wpr-list li{color:var(--text-primary);margin-bottom:3px;font-size:13px;line-height:1.65}.wpr-ol{list-style-type:decimal}.wpr-ul{list-style-type:disc}.wpr-list strong{font-weight:700}.wpr-table-wrap{border:1px solid var(--border-color);border-radius:6px;margin:8px 0;overflow-x:auto}.wpr-table{border-collapse:collapse;width:100%;font-size:12px}.wpr-table th{background:color-mix(in srgb, var(--wpr-accent) 10%, transparent);color:var(--text-secondary);font-family:var(--font-segment,monospace);letter-spacing:.08em;text-transform:uppercase;text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:7px 10px;font-size:10px;font-weight:700}.wpr-table td{color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:top;padding:6px 10px;font-size:12px}.wpr-table tr:last-child td{border-bottom:none}.wpr-text{color:var(--text-primary);margin:3px 0;font-size:13px;line-height:1.65}.wpr-text strong,.wpr-list strong{color:var(--text-primary);font-weight:700}[data-theme=light] .wpr-macro-pill{border-color:#00000014}[data-theme=light] .wpr-pill-cal{background:#10b9811a}[data-theme=light] .wpr-pill-protein{background:#3b82f614}[data-theme=light] .wpr-pill-carbs{background:#f59e0b14}[data-theme=light] .wpr-pill-fat{background:#a855f714}[data-theme=light] .wpr-note{border-left-color:var(--text-dim)}[data-theme=banana] .wpr-injury-card{background:#b4530914}.update-notification{z-index:10001;animation:.3s ease-out slideUp;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.update-notification-content{background:var(--bg-secondary,#16162a);border:1px solid var(--accent,#00d4ff);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 4px 20px #00d4ff33,0 2px 8px #0000004d}.update-notification-icon{font-size:1.2rem}.update-notification-text{color:var(--text-primary,#fff);font-size:.9rem;font-weight:500}.update-notification-button{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:500;transition:all .2s}.update-notification-button.update-now{background:var(--accent,#00d4ff);color:var(--bg-primary,#1a1a2e)}.update-notification-button.update-now:hover{background:#00b8e6;transform:scale(1.02)}.update-notification-button.dismiss{color:var(--text-secondary,#888);background:0 0;padding:6px 8px}.update-notification-button.dismiss:hover{color:var(--text-primary,#fff);background:#ffffff1a}@media (width<=480px){.update-notification{bottom:10px;left:10px;right:10px;transform:none}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.update-notification-content{flex-wrap:wrap;justify-content:center;gap:8px;width:100%}.update-notification-text{flex:1;min-width:0}}.skeleton{background:linear-gradient(90deg, var(--bg-tertiary,#3c3c3c) 0%, var(--panel-hover,#4a4a4a) 50%, var(--bg-tertiary,#3c3c3c) 100%);background-size:200% 100%;animation:1.5s ease-in-out infinite skeletonShimmer;position:relative;overflow:hidden}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00c2ff05 2px 4px);position:absolute;inset:0}.skeleton-icon{box-shadow:0 0 10px #00c2ff1a}.today-card-skeleton{background:var(--panel-dark,#2a2a2a);border:1px solid var(--border-color,#3a3a3a);margin:var(--space-md,16px);border-radius:16px;overflow:hidden;box-shadow:0 0 20px #0003}.skeleton-header{padding:var(--space-md,16px) var(--space-lg,20px);border-bottom:1px solid var(--border-color,#3a3a3a);justify-content:space-between;align-items:center;display:flex}.skeleton-date{flex-direction:column;gap:6px;display:flex}.skeleton-main{padding:var(--space-md,16px) var(--space-lg,20px);justify-content:space-between;align-items:center;display:flex}.skeleton-workout-info{align-items:center;gap:12px;display:flex}.skeleton-accordion{padding:12px var(--space-lg,20px);border-top:1px solid var(--border-color,#3a3a3a);flex-direction:column;gap:8px;display:flex}.skeleton-content{flex-direction:column;gap:6px;padding-top:8px;display:flex}.skeleton-rpe{padding:var(--space-md,16px) var(--space-lg,20px);border-top:1px solid var(--border-color,#3a3a3a);flex-direction:column;gap:10px;display:flex}.skeleton-rpe-buttons{gap:4px;display:flex}.calendar-day-skeleton{background:var(--panel-dark,#2a2a2a);border:1px solid var(--border-color,#3a3a3a);flex-direction:column;gap:8px;min-height:80px;padding:6px;display:flex}.calendar-day-skeleton .skeleton-workout{flex-direction:column;align-items:center;gap:4px;margin-top:auto;display:flex}.infinite-calendar-skeleton{flex-direction:column;gap:2px;display:flex}.skeleton-day-headers{background:var(--bg-tertiary,#3c3c3c);border-bottom:2px solid var(--accent-primary,#00c2ff);grid-template-columns:repeat(7,1fr);gap:1px;padding:8px 4px;display:grid}.skeleton-week-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.upcoming-strip-skeleton{padding:var(--space-md,16px)}.skeleton-strip-header{margin-bottom:var(--space-sm,8px)}.skeleton-strip-days{gap:var(--space-sm,8px);padding-bottom:var(--space-sm,8px);display:flex;overflow-x:auto}.skeleton-strip-day{padding:var(--space-sm,8px) var(--space-md,16px);background:var(--panel-dark,#2a2a2a);border:1px solid var(--border-color,#3a3a3a);border-radius:12px;flex-direction:column;align-items:center;gap:6px;min-width:70px;display:flex}[data-theme=light] .skeleton{background:linear-gradient(90deg, var(--bg-tertiary,#edf2f7) 0%, var(--panel-hover,#e2e8f0) 50%, var(--bg-tertiary,#edf2f7) 100%);background-size:200% 100%}[data-theme=light] .skeleton:after{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#0891b205 2px 4px)}[data-theme=light] .today-card-skeleton,[data-theme=light] .calendar-day-skeleton,[data-theme=light] .skeleton-strip-day{background:var(--bg-secondary,#f8f9fa);border-color:var(--border-color,#e2e8f0)}[data-theme=banana] .skeleton{background:linear-gradient(90deg, var(--bg-tertiary,#fde68a) 0%, var(--panel-hover,#fef3c7) 50%, var(--bg-tertiary,#fde68a) 100%);background-size:200% 100%}[data-theme=banana] .skeleton:after{background:repeating-linear-gradient(0deg,#0000,#0000 2px,#f59e0b05 2px 4px)}[data-theme=banana] .today-card-skeleton,[data-theme=banana] .calendar-day-skeleton,[data-theme=banana] .skeleton-strip-day{background:var(--bg-secondary,#fef3c7);border-color:var(--border-color,#fcd34d)}@media (width<=768px){.today-card-skeleton{margin:var(--space-sm,8px);border-radius:12px}.skeleton-header,.skeleton-main,.skeleton-accordion,.skeleton-rpe{padding-left:var(--space-md,16px);padding-right:var(--space-md,16px)}.calendar-day-skeleton{min-height:65px;padding:5px}}@media (width<=375px){.calendar-day-skeleton{min-height:58px;padding:4px}.skeleton-rpe-buttons .skeleton{width:24px!important;height:32px!important}}.today-card{background:var(--panel-dark,#1e1e3f);border:1px solid var(--border-color,#2a2a4a);border-left:6px solid var(--workout-type-color,var(--accent-primary,#00d4ff));margin:var(--space-md,16px);border-radius:16px;transition:all .2s;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000004d,inset 0 1px #ffffff0d}.today-card.completed{border-left-color:var(--status-completed,#10b981);box-shadow:0 4px 24px #0000004d,0 0 12px #10b98126,inset 0 1px #ffffff0d}.today-card.completed:before{content:"";background:linear-gradient(90deg,#10b981,#059669);height:3px;position:absolute;top:0;left:0;right:0}.today-card-header{padding:var(--space-md,16px) var(--space-lg,20px);border-bottom:1px solid var(--border-color,#2a2a4a);justify-content:space-between;align-items:center;display:flex}.today-date{flex-direction:column;gap:2px;display:flex}.today-label{font-family:var(--font-segment,monospace);letter-spacing:.15em;color:var(--accent-primary,#00d4ff);text-transform:uppercase;font-size:10px;font-weight:700}.today-date-full{font-family:var(--font-segment,monospace);color:var(--text-primary,#fff);font-size:14px;font-weight:600}.streak-badge{background:linear-gradient(135deg,#ff960033,#ff640026);border:1px solid #ff960066;border-radius:20px;align-items:center;gap:4px;padding:6px 14px;display:flex;box-shadow:0 0 12px #ff960033,inset 0 1px #ffffff1a}.streak-icon{filter:drop-shadow(0 0 6px #ff960099);font-size:16px;animation:2s ease-in-out infinite flicker}@keyframes flicker{0%,to{opacity:1}50%{opacity:.7}}.streak-count{font-family:var(--font-segment,monospace);color:#ff9500;text-shadow:0 0 8px #ff960066;font-size:14px;font-weight:700}.today-header-right{align-items:center;gap:8px;display:flex}.today-status-badge{font-family:var(--font-segment,monospace);letter-spacing:.14em;text-transform:uppercase;border-radius:4px;padding:8px 16px;font-size:14px;font-weight:700}.today-status-badge.status-scheduled{color:var(--accent-primary,#00d4ff);background:#00d4ff26;border:1px solid #00d4ff66}.today-status-badge.status-completed{color:#10b981;background:#10b98133;border:1px solid #10b98166}.today-card-action{padding:0}.depart-btn{background:var(--workout-type-color,var(--accent-primary,#00d4ff));border:none;border-top:1px solid var(--border-color,#2a2a4a);color:#fff;width:100%;height:56px;font-family:var(--font-segment,monospace);letter-spacing:.15em;cursor:pointer;text-transform:uppercase;justify-content:center;align-items:center;gap:10px;font-size:16px;font-weight:700;transition:all .15s;display:flex}.depart-btn:hover{filter:brightness(1.1)}.depart-btn:active{filter:brightness(.95);transform:scale(.98)}.depart-btn.completed{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-top-color:#059669}.depart-btn.completed:hover{background:linear-gradient(135deg,#059669,#047857)}.today-card-main{padding:var(--space-md,16px) var(--space-lg,20px)}.workout-type-row{justify-content:space-between;align-items:center;gap:var(--space-sm,8px);flex-wrap:wrap;display:flex}.workout-type-info{align-items:center;gap:12px;display:flex}.workout-icon-large{filter:drop-shadow(0 2px 4px #0000004d);font-size:36px;line-height:1}.workout-type-label{font-family:var(--font-segment,monospace);letter-spacing:.12em;color:var(--text-primary,#fff);text-transform:uppercase;font-size:22px;font-weight:700}.workout-type-text{flex-direction:column;gap:2px;display:flex}.complete-btn{border:2px solid var(--accent-primary,#00d4ff);color:var(--accent-primary,#00d4ff);font-family:var(--font-segment,monospace);letter-spacing:.1em;cursor:pointer;background:#00d4ff1a;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:10px 16px;font-size:12px;font-weight:700;transition:all .15s;display:flex;box-shadow:0 0 10px #00d4ff33}.complete-btn:hover{background:#00d4ff33;box-shadow:0 0 15px #00d4ff4d}.complete-btn:active{transform:scale(.95)}.complete-btn.completed{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981;box-shadow:0 0 15px #10b9814d}.complete-btn.completed:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 0 20px #10b98166}.accordion-section{border-top:1px solid var(--border-color,#2a2a4a)}.accordion-header{width:100%;padding:12px var(--space-lg,20px);cursor:pointer;color:var(--text-secondary,#888);background:0 0;border:none;justify-content:space-between;align-items:center;transition:all .15s;display:flex}.accordion-header:hover{background:#ffffff05}.accordion-header:active{background:#ffffff0d}.accordion-title{font-family:var(--font-segment,monospace);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:600;display:flex}.accordion-icon{font-size:14px}.accordion-content{opacity:0;max-height:0;transition:max-height .25s,opacity .25s;overflow:hidden}.accordion-content.expanded{opacity:1;-webkit-overflow-scrolling:touch;max-height:4000px;overflow-y:auto}.plan-preview,.plan-full{padding:0 var(--space-lg,20px) var(--space-md,16px)}.plan-preview .preview-text{color:var(--text-primary,#fff);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.plan-full p{color:var(--text-primary,#fff);margin:0 0 8px;font-size:14px;line-height:1.6}.plan-full p:last-child{margin-bottom:0}.more-indicator{color:var(--accent-primary,#00d4ff);margin-top:4px;font-size:11px;font-style:italic;display:block}.log-preview,.log-full{padding:0 var(--space-lg,20px) var(--space-md,16px)}.log-preview .preview-text{color:var(--text-primary,#fff);-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0;font-size:14px;line-height:1.5;display:-webkit-box;overflow:hidden}.preview-placeholder{color:var(--text-muted,#666);margin:0;font-size:13px;font-style:italic}.log-textarea{background:var(--bg-tertiary,#161630);border:1px solid var(--border-color,#2a2a4a);width:100%;min-height:100px;color:var(--text-primary,#fff);resize:vertical;border-radius:8px;padding:12px;font-family:inherit;font-size:14px;line-height:1.5;transition:border-color .2s}.log-textarea:focus{border-color:var(--accent-primary,#00d4ff);outline:none}.log-textarea::placeholder{color:var(--text-muted,#666)}.rpe-section{padding:var(--space-md,16px) var(--space-lg,20px);border-top:1px solid var(--border-color,#2a2a4a)}.rpe-header{align-items:center;gap:8px;margin-bottom:10px;display:flex}.rpe-icon{font-size:14px}.rpe-label{font-family:var(--font-segment,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary,#888);font-size:11px;font-weight:600}.rpe-current{font-family:var(--font-segment,monospace);border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px;font-weight:700}.rpe-current.rpe-easy{color:#4caf50;background:#4caf5033}.rpe-current.rpe-moderate{color:#ffc107;background:#ffc10733}.rpe-current.rpe-hard{color:#ff9800;background:#ff980033}.rpe-current.rpe-max{color:#f44336;background:#f4433633}.rpe-buttons{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.rpe-btn{background:var(--bg-tertiary,#161630);border:1px solid var(--border-color,#2a2a4a);min-width:0;height:44px;color:var(--text-secondary,#888);font-family:var(--font-segment,monospace);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .15s;display:flex}.rpe-btn:active{transform:scale(.95)}.rpe-btn.selected{border-width:2px}.rpe-btn.rpe-easy.selected{color:#4caf50;background:#4caf5033;border-color:#4caf50}.rpe-btn.rpe-moderate.selected{color:#ffc107;background:#ffc10733;border-color:#ffc107}.rpe-btn.rpe-hard.selected{color:#ff9800;background:#ff980033;border-color:#ff9800}.rpe-btn.rpe-max.selected{color:#f44336;background:#f4433633;border-color:#f44336}.double-tap-hint{text-align:center;color:var(--text-muted,#666);border-top:1px solid var(--border-color,#2a2a4a);padding:8px;font-size:11px;font-style:italic}.today-card-empty .today-card-body.empty{padding:var(--space-xl,32px);text-align:center}.rest-day-message{flex-direction:column;align-items:center;gap:8px;display:flex}.rest-icon{opacity:.8;font-size:48px}.rest-text{font-family:var(--font-segment,monospace);color:var(--text-primary,#fff);font-size:18px;font-weight:600}.rest-subtext{color:var(--text-muted,#666);font-size:13px}@keyframes completePulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.today-card.completed .complete-btn{animation:.3s completePulse}@media (width<=390px){.today-card{margin:var(--space-sm,8px);border-radius:12px}.today-card-header,.today-card-main,.accordion-header,.plan-preview,.plan-full,.log-preview,.log-full,.rpe-section{padding-left:var(--space-md,16px);padding-right:var(--space-md,16px)}.workout-icon-large{font-size:32px}.workout-type-label{font-size:18px}.depart-btn{height:52px;font-size:14px}.rpe-btn{height:36px;font-size:11px}.today-status-badge{padding:6px 12px;font-size:13px}}[data-theme=light] .today-card{background:var(--panel-dark);border-color:var(--border-color)}[data-theme=light] .accordion-header:hover{background:#00000005}[data-theme=light] .log-textarea,[data-theme=light] .rpe-btn{background:var(--bg-primary)}[data-contrast=high] .today-card{box-shadow:none;border-width:2px}[data-contrast=high] .today-card.completed{box-shadow:none}[data-contrast=high] .complete-btn{box-shadow:none;border-width:2px;font-weight:700}[data-contrast=high] .complete-btn.completed{box-shadow:none}[data-contrast=high] .accordion-header{color:var(--text-secondary)}[data-contrast=high] .rpe-btn.selected{border-width:3px;font-weight:700}[data-contrast=high] .streak-badge{box-shadow:none;border-width:2px}.upcoming-strip{padding:var(--space-md,16px) 0}.upcoming-header{padding:0 var(--space-lg,20px);margin-bottom:var(--space-sm,8px);justify-content:space-between;align-items:center;display:flex}.upcoming-title{font-family:var(--font-segment,monospace);letter-spacing:.15em;color:var(--text-secondary,#999);text-transform:uppercase;font-size:11px;font-weight:600}.swipe-hint{color:var(--text-muted,#555);opacity:.8;font-size:10px;font-style:italic}.upcoming-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;overflow:auto hidden}.upcoming-scroll::-webkit-scrollbar{display:none}.upcoming-days{gap:var(--space-sm,8px);padding:0 var(--space-lg,20px);padding-bottom:4px;display:flex}.upcoming-day{background:var(--panel-dark);border:1px solid var(--border-color);cursor:pointer;width:80px;box-shadow:var(--shadow-sm);border-radius:12px;flex-direction:column;flex:none;align-items:center;gap:8px;padding:12px 8px;transition:all .15s;display:flex;position:relative}.upcoming-day:active{box-shadow:var(--shadow-sm);transform:scale(.95)}.upcoming-day.has-workout{border-color:var(--accent-primary);box-shadow:var(--glow-cyan);border-style:solid}.upcoming-day.completed{border-color:var(--status-completed,#10b981);background:linear-gradient(135deg,#0596691a 0%,#10b9810d 100%);border-style:solid}.upcoming-day.rest-day{opacity:.7}.day-date{flex-direction:column;align-items:center;gap:2px;display:flex}.day-name{font-family:var(--font-segment,monospace);letter-spacing:.1em;color:var(--text-secondary,#888);text-transform:uppercase;font-size:10px;font-weight:600}.day-num{font-family:var(--font-segment,monospace);color:var(--text-primary,#fff);text-shadow:0 1px 2px #0000004d;font-size:20px;font-weight:700}.day-workout{flex-direction:column;align-items:center;gap:4px;display:flex}.day-icon{filter:drop-shadow(0 1px 2px #0000004d);font-size:24px;line-height:1}.day-label{font-family:var(--font-segment,monospace);letter-spacing:.05em;color:var(--text-secondary,#888);text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:70px;font-size:9px;font-weight:600;overflow:hidden}.completed-badge{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #0003}@media (hover:hover){.upcoming-day:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.upcoming-day.has-workout:hover{box-shadow:var(--shadow-lg), var(--glow-cyan)}}@media (width<=390px){.upcoming-days{padding:0 var(--space-md,16px)}.upcoming-day{width:72px;padding:10px 6px}.day-icon{font-size:22px}.day-num{font-size:16px}.day-label{font-size:8px}}[data-theme=light] .upcoming-day{background:var(--panel-dark);border-color:var(--border-color)}[data-theme=light] .upcoming-day.completed{background:linear-gradient(135deg,#05966914 0%,#10b98108 100%)}[data-contrast=high] .upcoming-day{box-shadow:none;border-width:2px}[data-contrast=high] .upcoming-day.has-workout{box-shadow:none;border-width:3px}[data-contrast=high] .upcoming-day.completed{border-width:3px;border-color:var(--status-completed);background:var(--panel-dark)}[data-contrast=high] .completed-badge{box-shadow:none;border:2px solid var(--bg-primary)}.today-view{min-height:100%;padding-bottom:var(--space-md,16px);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow-y:auto}.today-view>*{flex-shrink:0}@media (width<=768px){.today-view{padding-top:var(--space-sm,8px)}}.week-view{-webkit-user-select:none;user-select:none;max-width:900px;margin:0 auto;padding:0 12px}.week-nav{justify-content:space-between;align-items:center;gap:8px;padding:8px 0 12px;display:flex}.week-nav-btn{border:1px solid var(--border-color);background:var(--bg-secondary);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:flex}.week-nav-btn:hover{background:var(--panel-hover);border-color:var(--accent-primary)}.week-nav-btn:active{transform:scale(.95)}.week-nav-center{flex-direction:column;align-items:center;gap:4px;min-width:0;display:flex}.week-range{color:var(--text-primary);white-space:nowrap;font-size:.9rem;font-weight:600}.week-today-btn{text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600;transition:background .15s}.week-today-btn:hover{background:var(--accent-glow)}.week-summary{color:var(--text-secondary);justify-content:center;align-items:center;gap:16px;padding:6px 0 10px;font-size:.8rem;display:flex}.week-summary-count{font-weight:500}.week-avg-rpe{color:var(--accent-primary,#22d3ee);font-weight:500}.week-streak{color:var(--text-primary);font-weight:600}.week-summary-loading{justify-content:center;min-height:24px}.stats-skeleton{background:var(--border-color);border-radius:4px;width:140px;height:14px;animation:1.2s ease-in-out infinite stats-pulse;display:inline-block}@keyframes stats-pulse{0%,to{opacity:.4}50%{opacity:.8}}.week-days{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.week-day-card{border:1px solid var(--border-color);background:var(--bg-secondary);cursor:pointer;border-radius:10px;flex-direction:column;align-items:center;gap:6px;min-height:120px;padding:10px 4px 12px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;position:relative;overflow:hidden}.week-day-card:before{content:"";background:var(--type-color,transparent);opacity:0;border-radius:10px 10px 0 0;height:3px;transition:opacity .15s;position:absolute;top:0;left:0;right:0}.week-day-card.has-workout:before{opacity:1}.week-day-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.week-day-card:active{transform:scale(.97)}.week-day-card.rest{cursor:default;opacity:.6}.week-day-card.rest:hover{box-shadow:none;transform:none}.week-day-card.today{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.week-day-card.completed{background:#10b9810f;border-color:#10b9814d}.week-day-card.missed{background:#ef44440a;border-color:#ef444433}.week-day-header{flex-direction:column;align-items:center;gap:2px;display:flex}.week-day-name{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.65rem;font-weight:600}.week-day-date{color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:1rem;font-weight:700;display:flex}.week-day-date.today-date{background:var(--accent-primary);color:var(--bg-primary)}.week-day-content{flex-direction:column;flex:1;align-items:center;gap:4px;display:flex}.week-workout-icon{font-size:1.4rem;line-height:1}.week-workout-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);text-align:center;font-size:.65rem;font-weight:600;line-height:1.2}.rest-content{opacity:.5}.rest-label{color:var(--text-secondary)!important}.week-status-badge{position:absolute;top:6px;right:6px}.badge-completed{background:var(--status-completed);width:18px;height:18px;color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex}.badge-missed{background:var(--status-delayed);width:18px;height:18px;color:var(--bg-primary);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.week-rpe{border-radius:4px;padding:1px 5px;font-size:.6rem;font-weight:700;line-height:1.3}.week-rpe.rpe-easy{color:var(--status-completed);background:#10b98126}.week-rpe.rpe-moderate{color:var(--performance-yellow);background:#f59e0b26}.week-rpe.rpe-hard{color:var(--vector-coral);background:#f9731626}.week-rpe.rpe-max{color:var(--crimson-drive);background:#ef444426}.week-streak-flame{font-size:.75rem;line-height:1}.week-swipe-hint{text-align:center;color:var(--text-dim);padding:12px 0 4px;font-size:.7rem;display:none}@media (width<=768px){.week-view{padding:0 8px}.week-days{gap:4px}.week-day-card{border-radius:8px;min-width:44px;min-height:100px;padding:8px 2px 10px}.week-day-name{font-size:.6rem}.week-day-date{width:24px;height:24px;font-size:.85rem}.week-workout-icon{font-size:1.2rem}.week-workout-label{font-size:.55rem}.badge-completed,.badge-missed{width:14px;height:14px;font-size:.55rem}.week-rpe{padding:1px 3px;font-size:.55rem}.week-swipe-hint{display:block}.week-nav-btn{width:36px;height:36px}.week-range{font-size:.82rem}}@media (width<=380px){.week-day-card{min-height:88px;padding:6px 1px 8px}.week-workout-icon{font-size:1rem}.week-workout-label{font-size:.5rem}}[data-theme=dark] .week-nav-btn{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .week-day-card{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .week-day-card.completed{background:#10b9811a;border-color:#10b9814d}[data-theme=dark] .week-day-card.missed{background:#ef444414;border-color:#ef444440}[data-theme=dark] .week-day-card.today{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}[data-theme=dark] .week-day-date.today-date{background:var(--accent-primary)}[data-contrast=high] .week-nav-btn{border-width:2px;font-weight:700}[data-contrast=high] .week-today-btn{color:var(--accent-primary);border:1px solid var(--accent-primary);font-weight:700}[data-contrast=high] .week-day-card{box-shadow:none;border-width:2px}[data-contrast=high] .week-day-card:hover{box-shadow:none;border-color:var(--accent-primary)}[data-contrast=high] .week-day-card.has-workout:before{height:5px}[data-contrast=high] .week-day-card.today{border-width:3px;border-color:var(--accent-primary);box-shadow:none}[data-contrast=high] .week-day-date.today-date{font-weight:800}[data-contrast=high] .week-day-card.completed{background:var(--bg-secondary);border-color:var(--status-completed);border-width:2px}[data-contrast=high] .week-day-card.missed{background:var(--bg-secondary);border-color:var(--status-delayed);border-width:2px}[data-contrast=high] .badge-completed,[data-contrast=high] .badge-missed{border:2px solid var(--bg-primary);width:20px;height:20px}[data-contrast=high] .week-rpe{border:1px solid;font-weight:800}[data-contrast=high] .week-rpe.rpe-easy,[data-contrast=high] .week-rpe.rpe-moderate,[data-contrast=high] .week-rpe.rpe-hard,[data-contrast=high] .week-rpe.rpe-max{background:0 0}[data-contrast=high] .week-day-card.rest{opacity:.8}[data-contrast=high] .stats-skeleton{border:1px solid var(--text-secondary);background:0 0}.floating-action-button{bottom:calc(70px + env(safe-area-inset-bottom,0px));z-index:999;background:var(--accent-primary,#22d3ee);color:#000;cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .15s,box-shadow .15s;display:flex;position:fixed;right:16px;box-shadow:0 4px 12px #0000004d,0 0 20px #22d3ee33}.floating-action-button:hover{transform:scale(1.08);box-shadow:0 6px 16px #0006,0 0 28px #22d3ee4d}.floating-action-button:active{transform:scale(.95)}@media (width>=769px){.floating-action-button{display:none}}[data-contrast=high] .floating-action-button{box-shadow:none;border:3px solid #000}.today-cta{border:none;border-left:4px solid var(--cta-accent,#22d3ee);background:var(--bg-secondary,#1f2937);width:100%;color:var(--text-primary,#f9fafb);text-align:left;cursor:pointer;align-items:center;gap:10px;min-height:48px;padding:12px 16px;font-size:.82rem;transition:background .15s;display:flex}.today-cta:hover,.today-cta:active{background:var(--bg-tertiary,#111827)}.today-cta-icon{flex-shrink:0;font-size:1.2rem}.today-cta-text{line-height:1.3}.today-cta-text strong{color:var(--cta-accent,#22d3ee);text-transform:capitalize}@media (width>=769px){.today-cta{display:none}}.mcp-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:flex-end;padding:0;animation:.15s mcp-fade-in;display:flex;position:fixed;inset:0}@keyframes mcp-fade-in{0%{opacity:0}to{opacity:1}}.mcp-modal{background:var(--bg-primary);border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:520px;max-height:85vh;animation:.2s mcp-slide-up;display:flex;overflow:hidden}@keyframes mcp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (width>=769px){.mcp-modal-overlay{align-items:center;padding:2rem}.mcp-modal{border-radius:12px;max-height:80vh}}.mcp-modal-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.mcp-modal-title{color:var(--accent-primary);align-items:center;gap:10px;display:flex}.mcp-modal-title h2{font-family:var(--font-mono);color:var(--text-primary);margin:0;font-size:1rem;font-weight:600}.mcp-modal-close{background:var(--bg-secondary);width:36px;height:36px;color:var(--text-muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex}.mcp-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mcp-modal-body{-webkit-overflow-scrolling:touch;flex-direction:column;gap:20px;padding:20px;display:flex;overflow-y:auto}.mcp-section{flex-direction:column;gap:8px;display:flex}.mcp-section-header{color:var(--accent-primary);align-items:center;gap:8px;display:flex}.mcp-section h3{font-family:var(--font-mono);color:var(--text-primary);margin:0;font-size:.875rem;font-weight:600}.mcp-section-desc{font-family:var(--font-mono);color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.4}.mcp-auth-note{font-family:var(--font-mono);color:var(--text-muted);margin:6px 0 0;font-size:.72rem;font-style:italic;line-height:1.4}.mcp-code-block{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.mcp-code-block pre{margin:0;padding:12px;overflow-x:auto}.mcp-code-block code{font-family:var(--font-mono);color:var(--text-primary);white-space:pre;font-size:.72rem;line-height:1.6}.mcp-code-block .mcp-copy-btn{border-top:1px solid var(--border-color);border-radius:0;width:100%}.mcp-config-paths{font-family:var(--font-mono);color:var(--text-muted);flex-direction:column;gap:4px;font-size:.7rem;display:flex}.mcp-config-paths code{color:var(--accent-primary);font-size:.7rem}.mcp-steps{font-family:var(--font-mono);color:var(--text-primary);margin:0;padding-left:1.25rem;font-size:.8rem;line-height:1.8}.mcp-steps strong{color:var(--accent-primary)}.mcp-url-block{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:8px;padding:8px 12px;display:flex}.mcp-url-block code{font-family:var(--font-mono);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.75rem;overflow:hidden}.mcp-copy-btn{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-primary);cursor:pointer;white-space:nowrap;border:none;align-items:center;gap:6px;min-height:36px;padding:8px 12px;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.mcp-copy-btn:hover{color:var(--accent-primary);background:var(--bg-tertiary)}.mcp-copy-btn:active{transform:scale(.97)}.mcp-tools-list{grid-template-columns:1fr 1fr;gap:4px 12px;margin:0;padding:0;list-style:none;display:grid}.mcp-tools-list li{font-family:var(--font-mono);color:var(--text-primary);align-items:baseline;gap:5px;padding:3px 0;font-size:.72rem;display:flex}.mcp-tool-check{color:var(--status-completed,#059669);flex-shrink:0;position:relative;top:2px}.mcp-tool-check-system{color:var(--text-muted)}.mcp-tool-name{white-space:nowrap;font-weight:600}.mcp-tool-desc{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.65rem;overflow:hidden}.mcp-system-heading{color:var(--text-muted)!important;margin-top:12px!important;font-size:.75rem!important}.mcp-tools-system{opacity:.7}.mcp-full-settings-link{font-family:var(--font-mono);color:var(--text-muted);align-items:center;gap:6px;padding:8px 0;font-size:.75rem;text-decoration:none;transition:color .15s;display:inline-flex}.mcp-full-settings-link:hover{color:var(--accent-primary)}@media (width<=374px){.mcp-tools-list{grid-template-columns:1fr}.mcp-code-block code{font-size:.65rem}}.health-view{width:min(1280px,100%);padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;margin:0 auto;display:flex}.health-toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-md);display:flex}.health-title{align-items:center;gap:var(--space-md);color:var(--text-primary);display:flex}.health-title h2{font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary);margin:0;font-size:22px}.health-title span{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.health-patient-control{align-items:center;gap:var(--space-sm);display:flex}.health-patient-control label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.health-patient-control input,.health-import-panel textarea{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px}.health-patient-control input{min-width:140px;height:36px;padding:0 var(--space-sm)}.health-patient-control button,.health-import-actions button{justify-content:center;align-items:center;gap:var(--space-xs);border:1px solid var(--border-color);background:var(--bg-secondary);min-height:36px;color:var(--text-primary);cursor:pointer;border-radius:4px;font-family:inherit;display:inline-flex}.health-patient-control button{width:38px}.health-import-actions button{padding:0 var(--space-md)}.health-patient-control button:hover,.health-import-actions button:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.health-primary-action{font-weight:700;background:var(--accent-primary)!important;color:var(--bg-primary)!important;border-color:var(--accent-primary)!important}.health-alert{align-items:center;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--status-delayed);color:var(--status-delayed);background:var(--bg-secondary);display:flex}.health-import-panel{gap:var(--space-md);padding:var(--space-md);border:1px solid var(--border-color);background:var(--panel-dark);grid-template-columns:minmax(180px,220px) 1fr;align-items:stretch;display:grid}.health-import-actions{gap:var(--space-sm);flex-direction:column;display:flex}.health-import-panel textarea{width:100%;min-height:240px;max-height:420px;padding:var(--space-md);resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:12px;line-height:1.45}.health-grid{gap:var(--space-lg);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);display:grid}.health-panel{border:1px solid var(--border-color);background:var(--bg-secondary);padding:var(--space-md);min-width:0}.health-wide-panel{width:100%}.health-panel-heading{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);color:var(--accent-primary);display:flex}.health-panel-heading h3{font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:14px}.health-doc-list{gap:var(--space-sm);display:grid}.health-doc-item{padding:var(--space-sm);border-left:3px solid var(--accent-primary);background:var(--bg-primary);gap:4px;display:grid}.health-doc-item strong{color:var(--text-primary)}.health-doc-item span,.health-doc-item small{color:var(--text-muted)}.health-empty{min-height:80px;color:var(--text-muted);border:1px dashed var(--border-color);background:var(--bg-primary);justify-content:center;align-items:center;display:flex}.health-table-wrap{overflow-x:auto}.health-table{border-collapse:collapse;width:100%;min-width:560px}.health-table th,.health-table td{border-bottom:1px solid var(--border-color);text-align:left;vertical-align:top;padding:10px 12px}.health-table th{color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;background:var(--panel-dark);font-size:12px}.health-table td{color:var(--text-primary)}.health-summary{padding:var(--space-md);white-space:pre-wrap;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;line-height:1.5;overflow-x:auto}@media (width<=860px){.health-view{padding:var(--space-md);padding-bottom:96px}.health-toolbar,.health-import-panel,.health-grid{grid-template-columns:1fr}.health-toolbar{display:grid}.health-patient-control{align-items:stretch}.health-patient-control input{flex:1;min-width:0}.health-import-actions{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.health-import-actions button{padding:0 var(--space-sm)}.health-import-panel textarea{min-height:220px}}.pull-refresh-indicator{z-index:9999;background:linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);border-bottom:2px solid var(--border-color);justify-content:center;align-items:flex-end;transition:border-color .2s;display:flex;position:fixed;top:0;left:0;right:0;overflow:hidden}.pull-refresh-indicator.ready{border-color:var(--accent-primary)}.pull-refresh-indicator.refreshing{border-color:var(--status-completed)}.pull-refresh-content{align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);font-size:12px;transition:color .2s;display:flex}.pull-refresh-indicator.ready .pull-refresh-content{color:var(--accent-primary)}.pull-refresh-indicator.refreshing .pull-refresh-content{color:var(--status-completed)}.pull-refresh-content svg{transition:transform .1s}.pull-refresh-content .spinning{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.terminal-header{background:var(--header-gradient);border-bottom:2px solid var(--header-border);padding:var(--space-lg) var(--space-xl);justify-content:space-between;align-items:center;display:flex;position:relative;overflow:hidden}.terminal-header:before{content:"";background:linear-gradient(90deg, transparent 0%, var(--accent-primary) 20%, var(--accent-primary) 80%, transparent 100%);width:100%;height:2px;animation:2s ease-in-out infinite pulseGlow;position:absolute;bottom:0;left:0}.header-controls{align-items:center;gap:var(--space-md);display:flex}.mobile-search-btn{border:1px solid var(--border-primary,#374151);background:var(--bg-secondary,#1f2937);width:36px;height:36px;color:var(--text-secondary,#9ca3af);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.mobile-search-btn:hover,.mobile-search-btn:active{color:var(--accent-primary,#22d3ee);border-color:var(--accent-primary,#22d3ee)}.mcp-connect-btn{border:1px solid var(--border-primary,#374151);background:var(--bg-secondary,#1f2937);width:36px;height:36px;color:var(--text-secondary,#9ca3af);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:color .15s,border-color .15s;display:flex}.mcp-connect-btn:hover,.mcp-connect-btn:active{color:var(--accent-primary,#22d3ee);border-color:var(--accent-primary,#22d3ee)}.terminal-brand{align-items:center;gap:var(--space-md);display:flex}.terminal-logo{flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex}.terminal-logo img{object-fit:contain;width:100%;height:100%}.terminal-title{flex-direction:column;display:flex}.terminal-title h1{font-family:var(--font-segment);letter-spacing:.15em;color:var(--accent-primary);text-shadow:var(--glow-cyan);text-transform:uppercase;margin:0;font-size:28px}.terminal-subtitle{color:var(--text-muted);letter-spacing:.3em;text-transform:uppercase;margin-top:2px;font-size:11px}.view-toggle{gap:var(--space-xs);background:var(--bg-primary);padding:var(--space-xs);border:var(--border-subtle);border-radius:4px;display:flex}.view-toggle button{color:var(--text-muted);padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;font-size:12px;display:inline-flex;position:relative}.view-toggle button:hover{color:var(--text-primary)}.view-toggle button.active{background:var(--accent-primary);color:var(--bg-primary);font-weight:600}.view-toggle button.active:after{content:"";border-left:6px solid #0000;border-right:6px solid #0000;border-top:6px solid var(--accent-primary);width:0;height:0;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.controls-bar{background:var(--panel-dark);padding:var(--space-md) var(--space-xl);border-bottom:var(--border-subtle);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.search-controls{gap:var(--space-sm);flex:1;max-width:500px;display:flex}.search-input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);transition:all var(--transition-fast);flex:1;font-size:13px}.search-input:focus{border-color:var(--accent-primary);box-shadow:var(--glow-cyan);outline:none}.search-btn,.clear-btn,.refresh-btn,.export-btn{align-items:center;gap:var(--space-xs);background:var(--bg-tertiary);border:var(--border-subtle);color:var(--text-primary);padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;transition:all var(--transition-fast);font-size:11px;display:flex}.search-btn:hover,.refresh-btn:hover,.export-btn:hover{background:var(--accent-primary);color:var(--bg-primary)}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-btn .spinning{animation:1s linear infinite spin}.clear-btn{background:var(--vector-coral);border-color:var(--vector-coral)}.clear-btn:hover{background:var(--crimson-drive);border-color:var(--crimson-drive)}.refresh-btn:disabled{opacity:.5;cursor:not-allowed}.refresh-btn .spinning{animation:1s linear infinite spin}.filter-controls{gap:var(--space-sm);display:flex}.type-filter{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-sm) var(--space-md);font-family:var(--font-mono);cursor:pointer;font-size:13px}.type-filter:focus{border-color:var(--accent-primary);outline:none}.stats-bar{background:var(--bg-primary);padding:var(--space-sm) var(--space-xl);justify-content:flex-start;gap:var(--space-2xl);border-bottom:var(--border-subtle);font-family:var(--font-segment);letter-spacing:.1em;font-size:12px;display:flex}.stats-bar span{align-items:center;gap:var(--space-xs);color:var(--text-muted);text-transform:uppercase;display:flex}.stats-bar span strong,.stats-bar span:last-child{color:var(--accent-primary)}.month-navigation{background:linear-gradient(180deg, var(--panel-dark) 0%, #0006 100%);justify-content:center;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);border-bottom:2px solid var(--accent-primary);display:flex;position:relative}.month-navigation:after{content:"";background:linear-gradient(90deg, transparent, var(--accent-primary), transparent);width:200px;height:2px;box-shadow:0 0 20px var(--accent-glow);position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.month-navigation button{background:var(--bg-tertiary);border:2px solid var(--accent-primary);color:var(--accent-primary);padding:var(--space-sm) var(--space-lg);cursor:pointer;font-family:var(--font-segment);transition:all var(--transition-fast);text-shadow:0 0 10px var(--accent-glow);font-size:18px;font-weight:600}.month-navigation button:hover{background:var(--accent-primary);color:var(--bg-primary);box-shadow:0 0 20px var(--accent-glow);transform:scale(1.05)}.month-navigation h2{font-family:var(--font-segment);color:var(--text-primary);letter-spacing:.2em;text-transform:uppercase;text-align:center;text-shadow:0 2px 10px #0000004d;min-width:300px;font-size:24px;font-weight:700}.month-stats-header{padding:var(--space-md) var(--space-xl);background:linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:var(--space-xl);display:flex}.stats-progress{align-items:center;gap:var(--space-lg);flex:1;display:flex}.stats-numbers{align-items:baseline;gap:4px;display:flex}.stats-completed{font-family:var(--font-segment);color:var(--status-completed);text-shadow:0 0 20px #10b9814d;font-size:36px;font-weight:700}.stats-separator{font-family:var(--font-segment);color:var(--text-dim);font-size:24px}.stats-total{font-family:var(--font-segment);color:var(--text-muted);font-size:24px}.stats-label{font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin-left:var(--space-sm);font-size:10px}.progress-bar-container{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;flex:1;max-width:200px;height:12px;position:relative;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,#059669 0%,#10b981 50%,#34d399 100%);border-radius:6px;height:100%;transition:width .5s ease-out;box-shadow:0 0 10px #10b98180}.progress-percentage{right:var(--space-sm);font-family:var(--font-segment);color:var(--text-primary);text-shadow:0 1px 2px #00000080;font-size:9px;font-weight:600;position:absolute;top:50%;transform:translateY(-50%)}.stats-streak{gap:var(--space-lg);display:flex}.streak-current,.streak-best{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--panel-dark);border:1px solid var(--border-color);border-radius:4px;display:flex}.streak-current{border-color:var(--performance-yellow);box-shadow:0 0 10px #ffd44733}.stats-streak .streak-icon{font-size:18px}.stats-streak .streak-value{font-family:var(--font-segment);color:var(--text-primary);font-size:24px;font-weight:700}.stats-streak .streak-label{font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);font-size:9px}.stats-types{gap:var(--space-sm);display:flex}.type-stat{padding:var(--space-xs) var(--space-sm);background:var(--panel-dark);border:1px solid var(--border-color);border-bottom:3px solid var(--type-color,var(--text-dim));border-radius:4px;flex-direction:column;align-items:center;min-width:44px;display:flex}.type-stat .type-icon{font-size:18px}.type-stat .type-count{font-family:var(--font-segment);color:var(--text-primary);font-size:14px;font-weight:600}.main-content{padding:var(--space-lg);background:var(--bg-primary);flex:1;min-height:500px}.retry-btn:hover{background:var(--accent-secondary);transform:translateY(-1px)}.retry-btn:active{transform:translateY(0)}.calendar-grid{background:linear-gradient(#00c2ff08 0%,#0000 100%);border-radius:8px;flex-direction:column;width:100%;padding:4px;display:flex}.calendar-header{grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px;display:grid}.calendar-day-header{background:linear-gradient(180deg, var(--bg-tertiary) 0%, #0000004d 100%);color:var(--accent-primary);text-align:center;padding:var(--space-sm) var(--space-xs);font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;border-bottom:3px solid var(--accent-primary);text-shadow:0 0 10px var(--accent-glow);font-size:12px;font-weight:600}.calendar-body{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.calendar-day{background:var(--panel-dark);border:1px solid var(--border-color);min-height:120px;padding:var(--space-sm);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;gap:4px;display:flex;position:relative;overflow:hidden}.calendar-day:before{content:"";width:4px;height:100%;transition:background var(--transition-fast);background:0 0;position:absolute;top:0;left:0}.calendar-day:after{content:"";opacity:0;width:0;height:0;transition:all .3s;position:absolute;top:8px;right:8px}.calendar-day:hover{border-color:var(--accent-primary);background:var(--panel-hover)}.calendar-day:focus{outline:2px solid var(--accent-primary);outline-offset:2px;border-color:var(--accent-primary);background:var(--panel-hover)}.calendar-day:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.calendar-day.other-month{opacity:.3}.calendar-day.today{border:2px solid var(--accent-primary);box-shadow:inset 0 0 30px var(--accent-glow), 0 0 20px var(--accent-glow)}.calendar-day.today:before{background:var(--accent-primary);box-shadow:var(--glow-cyan);width:5px}.calendar-day.completed{background:linear-gradient(135deg,#05966926 0%,#0596690d 50%,#10b9811a 100%);border-width:2px;border-color:#10b981;box-shadow:inset 0 0 20px #10b9811a,0 4px 15px #10b98133}.calendar-day.completed:before{background:linear-gradient(#10b981 0%,#059669 100%);width:5px;box-shadow:0 0 10px #10b98180}.calendar-day.completed:after{content:"✓";color:#fff;opacity:1;background:linear-gradient(135deg,#10b981 0%,#059669 100%);border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 8px #10b98166}.calendar-day.completed.intensity-light{background:linear-gradient(135deg,#05966914 0%,#05966908 50%,#10b9810d 100%);box-shadow:inset 0 0 15px #10b9810d,0 2px 10px #10b9811a}.calendar-day.completed.intensity-moderate{background:linear-gradient(135deg,#05966926 0%,#05966914 50%,#10b9811f 100%);box-shadow:inset 0 0 20px #10b9811a,0 4px 15px #10b98133}.calendar-day.completed.intensity-hard{background:linear-gradient(135deg,#05966938 0%,#0596691f 50%,#10b9812e 100%);border-color:#059669;box-shadow:inset 0 0 25px #10b98126,0 4px 20px #10b9814d,0 0 30px #10b9811a}.calendar-day.completed.intensity-hard:before{box-shadow:0 0 15px #10b981b3}.calendar-day.completed.intensity-max{background:linear-gradient(135deg,#0596694d 0%,#10b98133 50%,#34d39940 100%);border-width:3px;border-color:#047857;box-shadow:inset 0 0 30px #10b98133,0 4px 25px #10b98166,0 0 40px #10b98133}.calendar-day.completed.intensity-max:before{background:linear-gradient(#34d399 0%,#059669 100%);box-shadow:0 0 20px #34d399cc}.calendar-day.completed.intensity-max:after{background:linear-gradient(135deg,#34d399 0%,#059669 100%);box-shadow:0 2px 12px #34d39999}.calendar-day.missed:before{background:linear-gradient(#ef4444 0%,#dc2626 100%);width:5px}.calendar-day.missed{background:linear-gradient(135deg,#ef44441a 0%,#ef444405 100%);border-width:2px;border-color:#ef4444}.calendar-day.upcoming:before{background:linear-gradient(180deg, var(--accent-primary) 0%, #0e7490 100%);width:4px;animation:2s ease-in-out infinite upcomingPulse}.calendar-day.upcoming{border-style:solid;border-width:2px;border-color:var(--accent-primary);background:linear-gradient(135deg,#00c2ff14 0%,#0000 100%)}@keyframes upcomingPulse{0%,to{opacity:.7}50%{opacity:1}}.calendar-day.in-streak{box-shadow:inset 0 0 25px #ffd44733,0 0 15px #ffd4471a}.calendar-day.in-streak.completed{box-shadow:inset 0 0 20px #10b9811a,inset 0 0 30px #ffd44726,0 4px 20px #10b98140,0 0 30px #ffd4471a}.calendar-day.has-workout:hover{z-index:10;transform:translateY(-3px)scale(1.02);box-shadow:0 12px 30px #0006,0 0 20px #00c2ff26}.calendar-day.completed:hover{box-shadow:0 12px 30px #0006,0 0 30px #10b9814d}.day-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.date-number{font-family:var(--font-segment);color:var(--text-primary);text-shadow:0 2px 4px #0003;font-size:20px;font-weight:800;line-height:1}.calendar-day.completed .date-number{color:#10b981;text-shadow:0 0 10px #10b9814d}.calendar-day.today .date-number{color:var(--accent-primary);text-shadow:0 0 15px var(--accent-glow)}.day-badges{align-items:center;gap:4px;display:flex}.streak-flame{filter:drop-shadow(0 0 4px #ff960080);font-size:16px;animation:1.5s ease-in-out infinite flicker}.badge-notes{opacity:.8;filter:drop-shadow(0 1px 2px #0000004d);font-size:14px}.workout-content{flex-direction:column;flex:1;gap:8px;display:flex}.workout-main{align-items:center;gap:10px;display:flex}.workout-icon{filter:drop-shadow(0 3px 6px #0006);font-size:32px;line-height:1;transition:transform .2s}.calendar-day:hover .workout-icon{transform:scale(1.1)}.calendar-day.completed .workout-icon{filter:drop-shadow(0 3px 6px #0006)drop-shadow(0 0 8px #10b9814d)}.workout-label{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;text-shadow:0 1px 2px #0000004d;font-size:11px;font-weight:700;line-height:1.2}.calendar-day.completed .workout-label{color:#10b981}.rpe-indicator{align-items:center;display:flex}.rpe-badge{min-width:26px;height:26px;font-family:var(--font-segment);border:2px solid;border-radius:4px;justify-content:center;align-items:center;padding:0 6px;font-size:13px;font-weight:700;display:inline-flex}.rpe-badge.rpe-easy{color:#4caf50;background:#4caf5033;border-color:#4caf50}.rpe-badge.rpe-moderate{color:#ffc107;background:#ffc10733;border-color:#ffc107}.rpe-badge.rpe-hard{color:#ff9800;background:#ff980033;border-color:#ff9800}.rpe-badge.rpe-max{color:#f44336;background:#f4433633;border-color:#f44336}.rpe-badge.rpe-expected{border-color:var(--text-dim);color:var(--text-dim);background:0 0;border-style:dashed}.missed-indicator{font-family:var(--font-segment);color:var(--vector-coral);letter-spacing:.1em;border:1px solid var(--vector-coral);text-align:center;background:#e6524a26;border-radius:2px;padding:2px 6px;font-size:9px;font-weight:700}.list-view{flex-direction:column;gap:2px;max-height:calc(100vh - 280px);display:flex;overflow-y:auto}.list-view:before{content:"SESSIONS";font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.3em;text-transform:uppercase;padding:var(--space-md);background:var(--bg-tertiary);border-bottom:2px solid var(--accent-primary);text-align:center;margin-bottom:var(--space-sm);font-size:14px;display:block}.workout-item{background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-md);cursor:pointer;align-items:center;gap:var(--space-md);transition:all var(--transition-fast);grid-template-columns:140px 60px 1fr 100px 50px;display:grid;position:relative}.workout-item:before{content:"";background:var(--status-scheduled);width:4px;height:100%;position:absolute;top:0;left:0}.workout-item:hover{background:var(--panel-hover);border-color:var(--accent-primary)}.workout-item:focus{outline:2px solid var(--accent-primary);outline-offset:2px;background:var(--panel-hover)}.workout-item:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.workout-item.completed:before{background:var(--status-completed)}.workout-item.completed{border-left:4px solid var(--status-completed)}.workout-date{font-family:var(--font-segment);color:var(--performance-yellow);letter-spacing:.1em;text-transform:uppercase;font-size:13px}.workout-emoji{text-align:center;font-size:24px}.workout-content{align-items:center;gap:var(--space-md);flex:1;display:flex}.workout-description{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;line-height:1.4;overflow:hidden}.status-badge{font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;text-align:center;border-radius:2px;padding:4px 8px;font-size:10px}.status-badge.completed{background:var(--status-completed);color:#fff}.status-badge.scheduled{background:var(--status-scheduled);color:var(--bg-primary)}.status-badge.delayed{background:var(--status-delayed);color:#fff}.complete-btn{background:var(--bg-tertiary);border:2px solid var(--text-dim);color:var(--text-muted);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:16px;display:flex}.complete-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.workout-item.completed .complete-btn{background:var(--status-completed);border-color:var(--status-completed);color:#fff}.no-workouts{text-align:center;padding:var(--space-2xl);color:var(--text-muted);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;font-size:14px}.search-results{padding:var(--space-md)}.search-header{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;margin-bottom:var(--space-md);padding:var(--space-md);background:var(--panel-dark);border-left:3px solid var(--accent-primary);font-size:12px}.no-results{text-align:center;padding:var(--space-2xl);color:var(--text-muted);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase}.annual-view{padding:var(--space-lg);max-width:1200px;margin:0 auto}.year-navigation{justify-content:center;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-xl);display:flex}.year-navigation h2{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.2em;text-transform:uppercase;text-shadow:var(--glow-cyan);text-align:center;min-width:320px;font-size:24px}.year-navigation button{background:var(--bg-tertiary);border:var(--border-subtle);color:var(--accent-primary);padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-segment);letter-spacing:.1em;transition:all var(--transition-fast);font-size:14px}.year-navigation button:hover{background:var(--accent-primary);color:var(--bg-primary)}.annual-grid{gap:var(--space-md);margin-bottom:var(--space-xl);grid-template-columns:repeat(4,1fr);display:grid}.annual-month{background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-lg);text-align:center;cursor:pointer;transition:all var(--transition-fast);position:relative;overflow:hidden}.annual-month:before{content:"";background:var(--bg-tertiary);width:100%;height:4px;transition:background var(--transition-fast);position:absolute;top:0;left:0}.annual-month:hover{border-color:var(--accent-primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.month-name{font-family:var(--font-segment);color:var(--text-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm);font-size:16px}.month-stats{flex-direction:column;gap:4px;display:flex}.completion-rate{font-family:var(--font-segment);color:var(--accent-primary);text-shadow:var(--glow-cyan);font-size:28px;font-weight:700}.workout-count{font-family:var(--font-segment);color:var(--text-muted);letter-spacing:.1em;font-size:11px}.annual-summary{background:var(--panel-dark);border:1px solid var(--border-color);border-left:4px solid var(--accent-primary);padding:var(--space-lg)}.annual-summary h3{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-md);font-size:14px}.year-stats{gap:var(--space-xl);font-family:var(--font-segment);color:var(--text-muted);letter-spacing:.1em;font-size:13px;display:flex}.year-stats div{padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:var(--border-subtle)}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000d9;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal{background:var(--panel-dark);border:1px solid var(--border-color);width:90%;max-width:600px;max-height:85vh;animation:.3s slideUp;position:relative;overflow-y:auto}.modal:before{content:"";background:linear-gradient(90deg, var(--accent-primary), var(--performance-yellow), var(--vector-coral));width:100%;height:4px;position:absolute;top:0;left:0}.modal-header{background:var(--bg-tertiary);padding:var(--space-lg) var(--space-xl);border-bottom:var(--border-subtle);z-index:10;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.modal-header h3{font-family:var(--font-segment);color:var(--text-primary);letter-spacing:.1em;text-transform:uppercase;font-size:16px}.modal-close{border:1px solid var(--text-dim);color:var(--text-muted);cursor:pointer;width:36px;height:36px;transition:all var(--transition-fast);background:0 0;justify-content:center;align-items:center;font-size:20px;display:flex}.modal-close:hover{border-color:var(--vector-coral);color:var(--vector-coral)}.modal-body{padding:var(--space-xl)}.modal-body .workout-type{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);margin-bottom:var(--space-md);font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;font-size:14px;display:inline-flex}.modal-body .workout-emoji{font-size:24px}.workout-full-description{background:var(--bg-primary);border:var(--border-subtle);border-left:3px solid var(--accent-primary);padding:var(--space-md);margin-bottom:var(--space-lg);color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;font-size:14px;line-height:1.6}.workout-full-description.mobile-expanded{-webkit-overflow-scrolling:touch;max-height:60vh;overflow-y:auto}.modal-actions{margin-bottom:var(--space-lg)}.complete-button{background:var(--bg-tertiary);border:2px solid var(--status-completed);color:var(--status-completed);padding:var(--space-sm) var(--space-lg);font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);font-size:12px}.complete-button:hover,.complete-button.completed{background:var(--status-completed);color:#fff}.session-data-section{margin-top:var(--space-lg);padding-top:var(--space-lg);border-top:var(--border-subtle)}.notes-section{margin-bottom:var(--space-lg)}.notes-section label{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm);font-size:11px;display:block}.notes-section textarea{background:var(--bg-primary);border:1px solid var(--border-color);width:100%;color:var(--text-primary);padding:var(--space-md);font-family:var(--font-mono);resize:vertical;min-height:120px;font-size:13px;line-height:1.5}.notes-section textarea:focus{border-color:var(--accent-primary);outline:none}.rpe-section{margin-bottom:var(--space-lg)}.rpe-section>label{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm);font-size:11px;display:block}.rpe-buttons{margin-bottom:var(--space-xs);gap:4px;display:flex}.rpe-btn{background:var(--bg-primary);border:2px solid var(--border-color);height:42px;color:var(--text-muted);font-family:var(--font-segment);cursor:pointer;transition:all var(--transition-fast);flex:1;font-size:14px;font-weight:600;position:relative}.rpe-btn.rpe-easy{color:#4caf50;border-color:#4caf5066}.rpe-btn.rpe-easy:hover{background:#4caf5026;border-color:#4caf50}.rpe-btn.rpe-easy.selected{color:#000;background:#4caf50;border-color:#4caf50;box-shadow:0 0 12px #4caf5080}.rpe-btn.rpe-moderate{color:#ffc107;border-color:#ffc10766}.rpe-btn.rpe-moderate:hover{background:#ffc10726;border-color:#ffc107}.rpe-btn.rpe-moderate.selected{color:#000;background:#ffc107;border-color:#ffc107;box-shadow:0 0 12px #ffc10780}.rpe-btn.rpe-hard{color:#ff9800;border-color:#ff980066}.rpe-btn.rpe-hard:hover{background:#ff980026;border-color:#ff9800}.rpe-btn.rpe-hard.selected{color:#000;background:#ff9800;border-color:#ff9800;box-shadow:0 0 12px #ff980080}.rpe-btn.rpe-max{color:#f44336;border-color:#f4433666}.rpe-btn.rpe-max:hover{background:#f4433626;border-color:#f44336}.rpe-btn.rpe-max.selected{color:#fff;background:#f44336;border-color:#f44336;box-shadow:0 0 12px #f4433680}.rpe-labels{text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;padding:0 2px;font-size:10px;display:flex}.rpe-label-easy{color:#4caf50}.rpe-label-moderate{color:#ffc107}.rpe-label-hard{color:#ff9800}.rpe-label-max{color:#f44336}.rpe-row{justify-content:center;align-items:center;gap:4px;display:flex}.rpe-circle{border:2px solid var(--border-color);background:var(--bg-primary);width:32px;height:32px;color:var(--text-secondary);font-family:var(--font-segment);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;min-width:32px;padding:0;font-size:11px;font-weight:700;transition:all .15s;display:flex}.rpe-circle:active{transform:scale(.9)}.rpe-circle.rpe-easy{color:#4caf50;border-color:#4caf5066}.rpe-circle.rpe-easy.selected{color:var(--bg-primary);background:#4caf50;border-color:#4caf50}.rpe-circle.rpe-moderate{color:#ffc107;border-color:#ffc10766}.rpe-circle.rpe-moderate.selected{color:var(--bg-primary);background:#ffc107;border-color:#ffc107}.rpe-circle.rpe-hard{color:#ff9800;border-color:#ff980066}.rpe-circle.rpe-hard.selected{color:var(--bg-primary);background:#ff9800;border-color:#ff9800}.rpe-circle.rpe-max{color:#f44336;border-color:#f4433666}.rpe-circle.rpe-max.selected{color:var(--bg-primary);background:#f44336;border-color:#f44336}[data-contrast=high] .rpe-circle{border-width:2px}[data-contrast=high] .rpe-circle.selected{border-width:3px;font-weight:800}@media (width<=380px){.rpe-circle{width:28px;min-width:28px;height:28px;font-size:10px}.rpe-row{gap:2px}}.save-session-btn{background:var(--bg-tertiary);border:2px solid var(--text-dim);width:100%;color:var(--text-muted);padding:var(--space-md);font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);font-size:12px}.save-session-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary)}.save-session-btn.has-changes{background:var(--status-completed);border-color:var(--status-completed);color:#fff;animation:2s ease-in-out infinite pulse-glow}.save-session-btn.has-changes:hover{background:var(--deep-sage);border-color:var(--deep-sage);box-shadow:0 0 15px #5e7f5b66}.save-session-btn:disabled{opacity:.6;cursor:not-allowed}@keyframes pulse-glow{0%,to{box-shadow:0 0 5px #5e7f5b4d}50%{box-shadow:0 0 15px #5e7f5b80}}.modal-bottom-actions,.modal-close-bottom{display:none}.modal-columns{gap:var(--space-lg);flex-direction:column;display:flex}.modal-plan-column{order:2}.modal-input-column{order:1}.plan-toggle-btn{width:100%;margin-top:var(--space-sm);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px;font-size:.8rem;font-weight:600;transition:border-color .15s;display:flex}.plan-toggle-btn:hover{border-color:var(--accent-primary)}.plan-toggle-icon{transition:transform .2s}.plan-toggle-icon.expanded{transform:rotate(180deg)}.workout-full-description.mobile-collapsed{display:none}.workout-full-description.mobile-expanded{margin-top:var(--space-md);-webkit-overflow-scrolling:touch;max-height:60vh;display:block;overflow-y:auto}.auto-saved-indicator{color:#10b981;margin-top:4px;font-size:.75rem;font-weight:600;animation:2s ease-in-out fadeInOut;display:inline-block}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}@media (width>=768px){.modal{max-width:900px}.modal-columns{gap:var(--space-xl);grid-template-columns:55% 45%;align-items:start;display:grid}.modal-plan-column{max-height:60vh;padding-right:var(--space-md);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent;order:1;overflow-y:auto}.modal-input-column{order:2}.plan-toggle-btn{display:none}.workout-full-description.mobile-collapsed,.workout-full-description.mobile-expanded{display:block}.modal-plan-column::-webkit-scrollbar{width:6px}.modal-plan-column::-webkit-scrollbar-track{background:0 0}.modal-plan-column::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.modal-plan-column::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.modal-plan-column .workout-full-description{max-height:none;margin-bottom:0}.modal-input-column{border-left:1px solid var(--border-color);padding-left:var(--space-xl);position:sticky;top:0}.modal-input-column .session-data-section{margin-top:var(--space-md);padding-top:var(--space-md);border-top:var(--border-subtle)}.modal-input-column .notes-section textarea{resize:vertical;min-height:100px}}.export-modal .modal-body{padding:var(--space-xl)}.export-format-hint{color:var(--text-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.export-form{gap:var(--space-lg);flex-direction:column;display:flex}.form-group{gap:var(--space-sm);flex-direction:column;display:flex}.form-group label{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;font-size:11px}.form-group input[type=date],.form-group select{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:var(--space-md);font-family:var(--font-mono);font-size:14px}.form-group input[type=date]:focus,.form-group select:focus{border-color:var(--accent-primary);outline:none}.export-actions{gap:var(--space-md);margin-top:var(--space-md);display:flex}.export-confirm-btn,.export-cancel-btn{padding:var(--space-md);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;gap:var(--space-sm);flex:1;font-size:12px;display:flex}.export-confirm-btn{background:var(--status-completed);color:#fff;border:none}.export-confirm-btn:hover:not(:disabled){background:var(--deep-sage)}.export-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.export-cancel-btn{background:var(--bg-tertiary);border:var(--border-subtle);color:var(--text-muted)}.export-cancel-btn:hover{border-color:var(--vector-coral);color:var(--vector-coral)}@media (width<=1024px){.annual-grid{grid-template-columns:repeat(3,1fr)}.workout-item{grid-template-columns:120px 50px 1fr 80px 40px}}@media (width<=768px){.terminal-header{padding:var(--space-md);gap:var(--space-md);flex-direction:column}.terminal-title h1{font-size:20px}.view-toggle{justify-content:center;width:100%}.controls-bar{display:none}.stats-bar{padding:var(--space-sm) var(--space-md);gap:var(--space-md);font-size:10px;overflow-x:auto}.month-navigation{padding:var(--space-sm) var(--space-md);gap:var(--space-md)}.month-navigation h2{min-width:auto;font-size:14px}.main-content{padding:var(--space-sm);margin-bottom:80px}.calendar-day{min-height:70px;padding:6px}.date-number{font-size:14px}.workout-icon{font-size:22px}.workout-label{font-size:9px}.rpe-badge{min-width:22px;height:22px;font-size:11px}.annual-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.annual-month{padding:var(--space-md)}.completion-rate{font-size:20px}.workout-item{gap:var(--space-sm);padding:var(--space-md);grid-template-columns:1fr}.list-view{max-height:calc(100vh - 350px)}.modal-overlay{align-items:flex-end;padding:0}.modal{border:none;border-top:4px solid var(--accent-primary);border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:90vh}.modal:before{display:none}.modal-header{border-radius:16px 16px 0 0}.modal-body{padding:var(--space-lg);padding-bottom:100px}.modal-bottom-actions{background:var(--bg-tertiary);padding:var(--space-md);border-top:var(--border-subtle);display:block;position:sticky;bottom:0}.modal-close-bottom{background:var(--accent-primary);width:100%;color:var(--bg-primary);padding:var(--space-md);font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;font-size:14px;display:block}.streak-banner{gap:var(--space-md);padding:var(--space-md);flex-direction:column}.streak-item{font-size:12px}.streak-item strong{font-size:18px}}@media (width<=480px){.calendar-day-header{padding:4px 2px;font-size:9px}.calendar-day{min-height:55px;padding:4px}.date-number{font-size:12px}.workout-icon{font-size:18px}.workout-label{display:none}.rpe-badge{border-width:1px;min-width:18px;height:18px;font-size:9px}.annual-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}body:before{display:none}}.desktop-infinite-calendar-wrapper{gap:var(--space-md);height:calc(100vh - 180px);display:flex;position:relative}.desktop-timeline-rail{width:60px;padding:var(--space-lg) 0;background:var(--bg-secondary);border-right:1px solid var(--border-color);border-radius:8px 0 0 8px;flex-direction:column;flex-shrink:0;align-items:center;display:flex}.timeline-track{top:var(--space-lg);flex-direction:column;gap:8px;display:flex;position:sticky}.timeline-dot{border:1px solid var(--border-color);background:var(--panel-dark);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;width:44px;height:32px;transition:all .2s;display:flex;position:relative}.timeline-dot:hover{background:var(--panel-hover);border-color:var(--accent-primary)}.timeline-dot.active{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-color:var(--accent-primary);box-shadow:0 0 15px var(--accent-glow)}.timeline-dot.today:before{content:"";background:var(--vector-coral);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse;position:absolute;top:-4px;right:-4px}.timeline-month-abbr{font-family:var(--font-segment);letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);font-size:9px;font-weight:700}.timeline-dot.active .timeline-month-abbr{color:#fff}.desktop-infinite-calendar{scroll-snap-type:y proximity;scroll-behavior:smooth;background:var(--bg-primary);border:1px solid var(--border-color);border-left:none;border-radius:0 8px 8px 0;flex:1;position:relative;overflow:hidden auto}.desktop-infinite-calendar::-webkit-scrollbar{width:6px}.desktop-infinite-calendar::-webkit-scrollbar-track{background:0 0}.desktop-infinite-calendar::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:3px}.desktop-infinite-calendar::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.desktop-edge-gradient{pointer-events:none;z-index:10;height:40px;position:sticky;left:0;right:0}.desktop-edge-gradient.top{background:linear-gradient(180deg, var(--bg-primary) 0%, transparent 100%);top:0}.desktop-edge-gradient.bottom{background:linear-gradient(0deg, var(--bg-primary) 0%, transparent 100%);bottom:0}.desktop-months-container{flex-direction:column;gap:0;display:flex}.desktop-month-section{scroll-snap-align:start;scroll-snap-stop:always;padding:var(--space-lg);padding-top:var(--space-xl);border-bottom:2px solid var(--border-color);min-height:450px;transition:all .3s}.desktop-month-section.active{background:var(--bg-secondary)}.desktop-month-section.current{border-left:3px solid var(--accent-primary);box-shadow:inset 4px 0 20px var(--accent-glow)}.desktop-month-header{margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);background:inherit;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);justify-content:space-between;align-items:baseline;display:flex;position:sticky;top:0}.desktop-month-label{align-items:baseline;gap:var(--space-md);display:flex}.desktop-month-name{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 20px var(--accent-glow);font-size:28px;font-weight:700}.desktop-month-year{font-family:var(--font-segment);color:var(--text-muted);letter-spacing:.1em;font-size:16px}.desktop-month-stats{font-family:var(--font-segment);align-items:baseline;gap:4px;display:flex}.desktop-stat-completed{color:var(--status-completed);font-size:24px;font-weight:700}.desktop-stat-separator{color:var(--text-dim);font-size:16px}.desktop-stat-total{color:var(--text-secondary);font-size:16px}.desktop-stat-label{color:var(--text-muted);letter-spacing:.1em;margin-left:var(--space-sm);font-size:10px}.desktop-day-headers{margin-bottom:var(--space-sm);grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.desktop-day-header-cell{padding:var(--space-sm);text-align:center;font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;background:var(--bg-tertiary);border-radius:4px;font-size:11px;font-weight:600}.desktop-calendar-grid{flex-direction:column;gap:4px;display:flex}.desktop-week-row{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.desktop-calendar-day{background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-sm) var(--space-md);gap:var(--space-xs);cursor:default;border-radius:6px;flex-direction:column;min-height:80px;transition:all .2s;display:flex;position:relative}.desktop-calendar-day.has-workout{cursor:pointer}.desktop-calendar-day.has-workout:hover{background:var(--panel-hover);border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.desktop-calendar-day.other-month{opacity:.35}.desktop-calendar-day.today{border:2px solid var(--accent-primary);box-shadow:inset 0 0 20px var(--accent-glow), 0 0 15px var(--accent-glow)}.desktop-calendar-day.completed{background:linear-gradient(135deg,#0596691f 0%,#10b9810f 100%);border-color:#10b981}.desktop-calendar-day.completed:after{content:"✓";color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #10b98166}.desktop-calendar-day.missed{background:linear-gradient(135deg,#ef444414 0%,#ef444405 100%);border-color:#ef4444}.desktop-calendar-day.upcoming{border-color:var(--accent-primary);border-style:dashed}.desktop-calendar-day.completed.intensity-light{background:linear-gradient(135deg,#05966914,#10b9810a)}.desktop-calendar-day.completed.intensity-moderate{background:linear-gradient(135deg,#05966924,#10b98114)}.desktop-calendar-day.completed.intensity-hard{background:linear-gradient(135deg,#05966933,#10b9811f);box-shadow:0 0 15px #10b98126}.desktop-calendar-day.completed.intensity-max{background:linear-gradient(135deg,#05966947,#34d3992e);box-shadow:0 0 20px #10b98140}.desktop-calendar-day.in-streak{box-shadow:inset 0 0 15px #ffd4471f}.desktop-day-header{justify-content:space-between;align-items:center;display:flex}.desktop-date{font-family:var(--font-segment);color:var(--text-primary);font-size:16px;font-weight:700}.desktop-calendar-day.today .desktop-date{color:var(--accent-primary)}.desktop-calendar-day.completed .desktop-date{color:#10b981}.desktop-today-badge{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.1em;background:#00c2ff26;border-radius:3px;padding:2px 6px;font-size:8px;font-weight:700;animation:2s ease-in-out infinite pulse}.desktop-day-content{align-items:center;gap:var(--space-sm);flex:1;display:flex}.desktop-workout-icon{filter:drop-shadow(0 2px 4px #0000004d);font-size:28px}.desktop-workout-details{flex-direction:column;gap:2px;display:flex}.desktop-workout-type{font-family:var(--font-segment);color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase;font-size:10px}.desktop-rpe{font-family:var(--font-segment);border:1px solid;border-radius:3px;width:fit-content;padding:2px 6px;font-size:10px;font-weight:700}.desktop-rpe.rpe-easy{color:#4caf50;background:#4caf5033;border-color:#4caf50}.desktop-rpe.rpe-moderate{color:#ffc107;background:#ffc10733;border-color:#ffc107}.desktop-rpe.rpe-hard{color:#ff9800;background:#ff980033;border-color:#ff9800}.desktop-rpe.rpe-max{color:#f44336;background:#f4433633;border-color:#f44336}.desktop-streak-flame{filter:drop-shadow(0 0 4px #ff960080);margin-left:auto;font-size:16px;animation:1.5s ease-in-out infinite flicker}.desktop-notes-indicator{opacity:.7;font-size:14px}.desktop-today-btn{z-index:1000;align-items:center;gap:var(--space-sm);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:28px;padding:12px 24px;font-size:13px;font-weight:700;transition:all .2s;animation:.3s ease-out todayBtnAppear;display:flex;position:fixed;bottom:40px;right:40px;box-shadow:0 4px 20px #00c2ff66,0 2px 10px #0000004d,inset 0 1px #fff3}.desktop-today-btn:hover{transform:translateY(-2px);box-shadow:0 6px 25px #00c2ff80,0 4px 15px #0000004d}.desktop-today-btn:active{transform:translateY(0)}.desktop-today-btn .today-icon{font-size:16px}.desktop-today-btn .today-hint{opacity:.7;margin-left:var(--space-sm);padding-left:var(--space-sm);border-left:1px solid #ffffff4d;font-size:9px;font-weight:400}[data-theme=light] .desktop-today-btn{box-shadow:0 4px 20px #0891b259,0 2px 10px #00000026}[data-theme=banana] .desktop-today-btn{background:linear-gradient(135deg, var(--accent-primary), #fbbf24);box-shadow:0 4px 20px #f59e0b66,0 2px 10px #0003}@media (width<=768px){.desktop-infinite-calendar-wrapper{display:none}}@media (width>=769px){.month-navigation,.month-stats-header{display:none}.main-content{padding:var(--space-lg)}}[data-contrast=high] body:before,[data-contrast=high] body:after{display:none}[data-contrast=high] .terminal-header{border-bottom-width:3px}[data-contrast=high] .workout-item,[data-contrast=high] .modal{box-shadow:none;border-width:2px}[data-contrast=high] .modal-header{border-bottom-width:2px}[data-contrast=high] .calendar-day{border-width:1px;border-color:var(--border-color)}[data-contrast=high] .calendar-day.today{border-width:3px;border-color:var(--accent-primary);box-shadow:none}[data-contrast=high] .calendar-day.has-workout{border-width:2px}[data-contrast=high] .terminal-header{background:var(--bg-secondary)}[data-contrast=high] .workout-status{border:2px solid;font-weight:700}[data-contrast=high] button{font-weight:600}[data-contrast=high] .view-toggle button{border:2px solid var(--border-color)}[data-contrast=high] .view-toggle button.active{background:var(--accent-primary);color:var(--bg-primary);border-color:var(--accent-primary)}[data-contrast=high] .desktop-today-btn{box-shadow:none;border:2px solid var(--bg-primary)}@media (width<=768px){html,body{width:100%;max-width:100vw;height:100%;position:fixed;overflow:hidden}#root{flex-direction:column;width:100%;max-width:100vw;height:100vh;display:flex;overflow:hidden}.app{padding-bottom:calc(80px + env(safe-area-inset-bottom));flex-direction:column;flex:1;max-width:100vw;display:flex;overflow:hidden}.main-content{padding:var(--space-sm) 20px;flex-direction:column;flex:1;min-height:0;margin-bottom:0;padding-bottom:0;display:flex;overflow:hidden}.terminal-header{padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + env(safe-area-inset-top,0px));gap:var(--space-sm);flex-direction:column}.terminal-brand{align-items:center;gap:var(--space-sm);flex-direction:row}.terminal-logo{flex-shrink:0;width:28px;height:28px}.terminal-logo img{width:16px;height:16px}.terminal-title h1{letter-spacing:.08em;white-space:nowrap;font-size:16px}.terminal-subtitle{font-size:8px}.header-controls{justify-content:space-between;align-items:center;width:100%;display:flex}.view-toggle{flex:1;justify-content:center;gap:2px;display:flex}.view-toggle button{letter-spacing:.08em;padding:8px 12px;font-size:10px}.controls-bar{display:none}.month-stats-header{padding:var(--space-sm) var(--space-md);gap:var(--space-sm);flex-direction:column}.stats-progress{justify-content:space-between;width:100%}.stats-numbers{gap:2px}.stats-completed{font-size:28px}.stats-separator,.stats-total{font-size:18px}.stats-label{margin-left:var(--space-xs);font-size:8px}.progress-bar-container{max-width:120px;height:10px}.progress-percentage{font-size:8px}.stats-streak{justify-content:center;gap:var(--space-md);width:100%}.streak-current,.streak-best{padding:var(--space-xs) var(--space-sm);flex:1;justify-content:center}.stats-streak .streak-icon{font-size:14px}.stats-streak .streak-value{font-size:18px}.stats-streak .streak-label{font-size:8px}.stats-types{justify-content:center;gap:var(--space-xs);flex-wrap:wrap;width:100%}.type-stat{min-width:38px;padding:4px 6px}.type-stat .type-icon{font-size:14px}.type-stat .type-count{font-size:12px}.month-navigation{padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.month-navigation h2{letter-spacing:.1em;min-width:auto;font-size:16px}.month-navigation button{min-width:44px;min-height:44px;padding:8px 14px;font-size:16px}.calendar-grid{border-radius:0}.calendar-header{gap:1px;margin-bottom:1px}.calendar-day-header{letter-spacing:.08em;padding:8px 2px;font-size:10px}.calendar-body{gap:2px}.calendar-day{border-radius:4px;gap:3px;min-height:70px;padding:6px}.calendar-day:before{width:3px}.calendar-day:after{width:18px;height:18px;font-size:11px;top:4px;right:4px}.day-header{margin-bottom:2px}.date-number{font-size:14px;font-weight:600}.day-badges{gap:2px}.streak-flame,.badge-notes{font-size:10px}.workout-content{gap:4px}.workout-main{gap:6px}.workout-icon{filter:drop-shadow(0 1px 2px #0000004d)!important;font-size:22px!important}.workout-label{letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap;max-width:50px;font-size:9px;overflow:hidden}.rpe-indicator{margin-top:2px}.rpe-badge{min-width:20px;padding:2px 5px!important;font-size:10px!important}.rpe-buttons{grid-template-columns:repeat(5,1fr)!important;gap:6px!important;display:grid!important}.rpe-btn{min-width:0!important;height:44px!important;font-size:14px!important}.missed-indicator{padding:1px 3px;font-size:7px}.list-view{max-height:calc(100vh - 280px)}.list-view:before{padding:var(--space-sm);letter-spacing:.2em;font-size:11px}.workout-item{gap:var(--space-sm);padding:var(--space-md);grid-template-columns:1fr}.workout-item .workout-date{font-size:11px}.workout-item .workout-emoji{font-size:24px}.workout-item .workout-description{white-space:normal;font-size:13px;line-height:1.4}.workout-item .complete-btn{width:44px;height:44px;font-size:18px}.workout-item .status-badge{letter-spacing:.02em;padding:4px 8px;font-size:9px}.annual-view{padding:var(--space-md)}.year-navigation{gap:var(--space-md);margin-bottom:var(--space-md)}.year-navigation h2{min-width:auto;font-size:18px}.year-navigation button{min-width:44px;min-height:44px}.annual-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.annual-month{padding:var(--space-md)}.month-name{font-size:11px}.completion-rate{font-size:24px}.workout-count{font-size:9px}.annual-summary{padding:var(--space-md);margin-top:var(--space-md)}.annual-summary h3{font-size:11px}.year-stats{gap:var(--space-sm);flex-direction:column;font-size:12px}.modal-overlay{padding:0;padding-top:env(safe-area-inset-top,0px);align-items:flex-end}.modal{border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:90vh;margin:0;overflow-x:hidden}.modal-header{padding:var(--space-md);padding-left:calc(var(--space-md) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px))}.modal-header h2{font-size:16px}.modal-body{padding:var(--space-md);padding-left:calc(var(--space-md) + env(safe-area-inset-left,0px));padding-right:calc(var(--space-md) + env(safe-area-inset-right,0px));max-height:calc(90vh - 120px);overflow:hidden auto}.modal-body input,.modal-body textarea,.modal-body select{box-sizing:border-box;max-width:100%}.notes-section textarea{box-sizing:border-box;width:100%;max-width:100%}.workout-full-description{word-wrap:break-word;overflow-wrap:break-word;-webkit-overflow-scrolling:touch;max-height:150px;overflow-y:auto}.workout-details-header h3{font-size:18px}.pull-refresh-indicator{z-index:10000}.pull-refresh-content{padding-bottom:var(--space-sm);font-size:11px}.pull-refresh-content svg{width:18px;height:18px}.stats-bar{padding:var(--space-xs) var(--space-md);gap:var(--space-sm);flex-wrap:wrap;justify-content:center;font-size:9px}.today-card{margin-left:12px;margin-right:12px}.today-card-header,.today-card-main{padding:var(--space-md,16px) 20px}.accordion-header,.plan-preview,.plan-full,.log-preview,.log-full,.rpe-section{padding-left:20px;padding-right:20px}.workout-item{min-height:52px;padding:var(--space-md) 20px}.accordion-section{border-top:1px solid var(--border-color,#ffffff14)}.upcoming-strip{margin-top:var(--space-sm);padding:var(--space-sm) 12px}.upcoming-day{min-height:48px}}@media (width<=414px){.calendar-day{min-height:65px;padding:5px}.workout-icon{font-size:20px!important}.workout-label{max-width:45px;font-size:8px}.date-number{font-size:13px}.stats-completed{font-size:24px}.stats-total,.stats-separator,.stats-streak .streak-value{font-size:16px}.month-navigation h2{font-size:14px}}@media (width<=375px){.calendar-day{min-height:58px;padding:4px}.workout-icon{font-size:18px!important}.workout-label{display:none}.date-number{font-size:12px}.calendar-day-header{padding:6px 2px;font-size:9px}.stats-types,.stats-streak .streak-label{display:none}.terminal-title h1{font-size:16px}.view-toggle button{padding:6px 10px;font-size:9px}}@media (width<=320px){.calendar-day{min-height:50px;padding:3px}.rpe-indicator,.day-badges,.month-stats-header{display:none}}@media (height<=500px) and (orientation:landscape){.month-stats-header{padding:var(--space-xs) var(--space-md);flex-direction:row}.stats-streak,.stats-types{width:auto}.calendar-day{min-height:50px}.modal{border-radius:0;max-height:100vh}}@media (orientation:landscape) and (height<=500px){#root{height:100dvh}.app{padding-bottom:50px}.terminal-header{gap:var(--space-md);align-items:center;padding:4px var(--space-md)!important;padding-top:calc(4px + env(safe-area-inset-top,0px))!important;flex-direction:row!important}.terminal-brand{align-items:center;gap:var(--space-xs);flex-direction:row}.terminal-logo{width:24px;height:24px}.terminal-logo img{width:14px;height:14px}.terminal-title h1{letter-spacing:.1em;font-size:12px}.terminal-subtitle{display:none}.header-controls{justify-content:flex-end;gap:var(--space-sm);flex:1;width:auto}.view-toggle button{padding:4px 10px;font-size:9px}.today-view{gap:var(--space-sm);padding:var(--space-xs);grid-template-rows:1fr;grid-template-columns:1fr 180px;display:grid;overflow:hidden}.today-card{border-radius:12px;flex-direction:column;max-height:calc(100vh - 120px);margin:0;display:flex;overflow-y:auto}.today-card-header{flex-shrink:0;padding:8px 12px}.today-label{font-size:8px}.today-date-full{font-size:11px}.streak-badge{padding:4px 10px}.streak-icon{font-size:12px}.streak-count{font-size:11px}.today-card-main{padding:8px 12px}.workout-type-row{gap:var(--space-sm)}.workout-icon-large{font-size:28px}.workout-type-label{font-size:14px}.complete-btn{min-height:36px;padding:6px 12px;font-size:10px}.rpe-section{padding:8px 12px}.rpe-header{margin-bottom:6px}.rpe-label{font-size:9px}.rpe-buttons{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.rpe-btn{border-radius:4px;min-width:24px;height:28px;font-size:10px}.accordion-header{padding:8px 12px}.accordion-title{font-size:9px}.plan-preview,.plan-full,.log-preview,.log-full{padding:0 12px 8px}.plan-preview .preview-text,.log-preview .preview-text{-webkit-line-clamp:1;font-size:12px}.upcoming-strip{flex-direction:column;height:100%;padding:0;display:flex}.upcoming-header{margin-bottom:0;padding:8px 12px}.upcoming-title{font-size:9px}.swipe-hint{display:none}.upcoming-scroll{flex:1;overflow:hidden auto}.upcoming-days{flex-direction:column;gap:6px;padding:0 8px}.upcoming-day{border-radius:8px;flex-direction:row;gap:10px;width:100%;padding:8px 10px}.day-date{flex-direction:row;gap:6px;min-width:60px}.day-name{font-size:9px}.day-num{font-size:16px}.day-workout{flex-direction:row;flex:1;justify-content:flex-start;gap:6px}.day-icon{font-size:20px}.day-label{max-width:none;font-size:9px}.completed-badge{width:14px;height:14px;font-size:8px;top:-2px;right:-2px}.bottom-tab-navigation{height:50px}.tab-container{padding:4px 12px}.tab-item{min-height:40px;padding:4px 16px}.tab-icon svg{width:18px;height:18px}.tab-label{font-size:8px}.double-tap-hint{display:none}.today-card-empty .today-card-body.empty{padding:var(--space-md)}.rest-icon{font-size:32px}.rest-text{font-size:14px}.rest-subtext{font-size:11px}}@media (orientation:landscape) and (height<=400px){.terminal-header{padding:2px var(--space-sm)!important}.terminal-logo{width:20px;height:20px}.terminal-title h1{font-size:10px}.today-view{grid-template-columns:1fr 150px;gap:4px;padding:2px}.today-card-header,.today-card-main{padding:4px 8px}.workout-icon-large{font-size:24px}.workout-type-label{font-size:12px}.rpe-section{padding:4px 8px}.rpe-buttons{gap:2px}.rpe-btn{height:24px;font-size:9px}.upcoming-day{padding:6px 8px}.day-num{font-size:14px}.day-icon{font-size:18px}.bottom-tab-navigation{height:44px}.tab-item{min-height:36px;padding:2px 12px}}@supports (padding:env(safe-area-inset-bottom)){.app{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.modal,.bottom-tab-nav{padding-bottom:env(safe-area-inset-bottom)}}@media (hover:none) and (pointer:coarse){.calendar-day:active,.infinite-day:active{transition:transform .1s;transform:scale(.97)}.view-toggle button:active,.month-navigation button:active{transition:transform .1s;transform:scale(.95)}.calendar-day,.infinite-day{cursor:pointer;-webkit-tap-highlight-color:transparent}}@media (width<=768px){.terminal-header{z-index:100;transition:all .25s;position:sticky;top:0}.terminal-header.condensed{padding:var(--space-xs) var(--space-md);gap:var(--space-sm);background:var(--header-gradient);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:row;box-shadow:0 2px 10px #0003}.terminal-header.condensed .terminal-brand{gap:var(--space-sm);flex:1}.terminal-header.condensed .terminal-logo{width:28px;height:28px}.terminal-header.condensed .terminal-logo img{width:14px;height:14px}.terminal-header.condensed .terminal-title h1{letter-spacing:.1em;font-size:14px}.terminal-header.condensed .header-controls{flex-shrink:0;width:auto}.condensed-month{align-items:center;gap:var(--space-xs);font-family:var(--font-segment);margin-left:auto;display:flex}.condensed-month span{color:var(--text-primary);letter-spacing:.1em;text-transform:uppercase;text-align:center;min-width:70px;font-size:12px;font-weight:600}.condensed-month button{border:1px solid var(--border-color);color:var(--accent-primary);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:16px;transition:all .15s;display:flex}.condensed-month button:active{background:var(--accent-primary);color:var(--bg-primary);transform:scale(.95)}.terminal-header.condensed~.month-navigation,.terminal-header.condensed~.month-stats-header{display:none}}.infinite-scroll-calendar{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden auto}.infinite-calendar-table{border-collapse:separate;border-spacing:2px;table-layout:fixed;width:100%}.infinite-day-headers{z-index:10;background:var(--bg-tertiary);position:sticky;top:0}.infinite-day-headers tr{background:var(--bg-tertiary);border-bottom:2px solid var(--accent-primary)}.infinite-day-header-cell{text-align:center;font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.1em;background:var(--bg-tertiary);padding:8px 4px;font-size:11px;font-weight:600}.infinite-weeks-container tr:last-child td{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}.infinite-month-divider{background:linear-gradient(90deg, var(--bg-tertiary), var(--panel-dark), var(--bg-tertiary));padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color);text-align:left}.infinite-month-label{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 10px var(--accent-glow);font-size:13px;font-weight:600}.infinite-week-row td{width:14.2857%}.infinite-day{background:var(--panel-dark);border:1px solid var(--border-color);vertical-align:top;cursor:default;height:80px;min-height:80px;padding:6px;transition:all .15s;position:relative}.infinite-day>*{display:block}.infinite-day .infinite-day-header{margin-bottom:4px}.infinite-day:focus{outline:2px solid var(--accent-primary);outline-offset:-2px;background:var(--panel-hover)}.infinite-day:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.infinite-day.has-workout{cursor:pointer}.swipe-complete-overlay{z-index:2;pointer-events:none;background:#10b9814d;justify-content:center;align-items:center;transition:background .1s;display:flex;position:absolute;inset:0}.swipe-complete-overlay.ready{background:#10b98180}.swipe-check{color:#fff;font-size:1.4rem;font-weight:700}.infinite-day.swiping{overflow:hidden}.infinite-day.other-month{opacity:.4}.infinite-day.today{border:2px solid var(--accent-primary);box-shadow:inset 0 0 15px var(--accent-glow)}.infinite-day.completed{background:linear-gradient(135deg,#05966926 0%,#10b98114 100%);border-color:#10b981}.infinite-day.completed:after{content:"✓";color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:flex;position:absolute;top:4px;right:4px}.infinite-day.missed{background:linear-gradient(135deg,#ef44441a 0%,#ef444405 100%);border-color:#ef4444}.infinite-day.upcoming{border-color:var(--accent-primary);border-style:dashed}.infinite-day-header{align-items:center;gap:4px;display:flex}.infinite-date{font-family:var(--font-segment);color:var(--text-primary);font-size:14px;font-weight:700}.infinite-day.today .infinite-date{color:var(--accent-primary)}.infinite-day.completed .infinite-date{color:#10b981}.today-dot{background:var(--accent-primary);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}.infinite-day-content{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.infinite-workout-icon{filter:drop-shadow(0 2px 4px #0000004d);font-size:24px;line-height:1}.infinite-rpe{font-family:var(--font-segment);border:1px solid;border-radius:3px;padding:2px 5px;font-size:10px;font-weight:700}.infinite-rpe.rpe-easy{color:#4caf50;background:#4caf5033;border-color:#4caf50}.infinite-rpe.rpe-moderate{color:#ffc107;background:#ffc10733;border-color:#ffc107}.infinite-rpe.rpe-hard{color:#ff9800;background:#ff980033;border-color:#ff9800}.infinite-rpe.rpe-max{color:#f44336;background:#f4433633;border-color:#f44336}.infinite-streak{filter:drop-shadow(0 0 4px #ff960080);font-size:14px;animation:1.5s ease-in-out infinite flicker}.scroll-sentinel{visibility:hidden;width:100%;height:1px}.infinite-loading{height:0;overflow:hidden}.infinite-day.completed.intensity-light{background:linear-gradient(135deg,#05966914,#10b9810d)}.infinite-day.completed.intensity-moderate{background:linear-gradient(135deg,#05966926,#10b9811a)}.infinite-day.completed.intensity-hard{background:linear-gradient(135deg,#05966938,#10b98126);box-shadow:0 0 15px #10b98133}.infinite-day.completed.intensity-max{background:linear-gradient(135deg,#0596694d,#34d39933);border-width:2px;box-shadow:0 0 20px #10b9814d}.infinite-day.in-streak{box-shadow:inset 0 0 15px #ffd44726}.infinite-day.in-streak.completed{box-shadow:inset 0 0 15px #10b9811a,inset 0 0 20px #ffd4471a}.today-floating-btn{bottom:calc(80px + env(safe-area-inset-bottom));z-index:1000;background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border:none;border-radius:24px;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:700;transition:all .2s;animation:.3s ease-out todayBtnAppear;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00c2ff66,0 2px 8px #0000004d,inset 0 1px #fff3}@keyframes todayBtnAppear{0%{opacity:0;transform:translate(-50%)translateY(20px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.today-floating-btn:active{transform:translate(-50%)scale(.95);box-shadow:0 2px 8px #00c2ff4d,0 1px 4px #0003}.today-floating-btn .today-icon{filter:drop-shadow(0 1px 2px #0000004d);font-size:14px}.today-floating-btn .today-text{text-shadow:0 1px 2px #0000004d}[data-theme=light] .today-floating-btn{box-shadow:0 4px 15px #0891b259,0 2px 8px #00000026}[data-theme=banana] .today-floating-btn{background:linear-gradient(135deg, var(--accent-primary), #fbbf24);box-shadow:0 4px 15px #f59e0b66,0 2px 8px #0003,inset 0 1px #ffffff4d}@media (width<=768px){.today-view{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;flex:1;padding-bottom:20px;overflow:hidden auto}.app:has(.today-view) .terminal-header .view-toggle{display:none}.app:has(.today-view) .terminal-header{padding:var(--space-sm) var(--space-md);flex-direction:row;justify-content:space-between;align-items:center}.app:has(.today-view) .header-controls{width:auto}.app:has(.today-view) .main-content{padding:0;overflow:visible}.today-card{margin:var(--space-sm)}.upcoming-strip{padding-top:var(--space-sm)}}@media (display-mode:standalone){.terminal-header{min-height:80px;padding-top:calc(env(safe-area-inset-top,0px) + 20px)!important}.terminal-header.condensed{min-height:60px;padding-top:calc(env(safe-area-inset-top,0px) + 12px)!important}.landing-header{padding-top:calc(1rem + env(safe-area-inset-top,0px) + 20px)}.modal-overlay{padding-top:calc(env(safe-area-inset-top,0px) + 20px)}.stats-bar{padding-top:var(--space-sm)}}@supports (padding-top:env(safe-area-inset-top)){.terminal-header{padding-top:calc(var(--space-lg) + env(safe-area-inset-top,0px))}}.admin-header{padding:var(--space-lg) var(--space-xl);background:var(--header-gradient);border-bottom:2px solid var(--accent-primary);justify-content:space-between;align-items:center;display:flex}.admin-brand{align-items:center;gap:var(--space-md);display:flex}.admin-logo{background:var(--accent-primary);border-radius:var(--radius-md);width:40px;height:40px;color:var(--bg-primary);justify-content:center;align-items:center;display:flex}.admin-title h1{font-family:var(--font-segment);color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:20px;font-weight:600}.admin-subtitle{font-family:var(--font-segment);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.admin-stats{align-items:center;gap:var(--space-xl);display:flex}.admin-stat{align-items:center;gap:var(--space-sm);font-family:var(--font-segment);color:var(--text-secondary);font-size:14px;display:flex}.admin-stat svg{color:var(--accent-primary)}.admin-controls{align-items:center;gap:var(--space-md);display:flex}.admin-logout-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-segment);text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:all .2s;display:flex}.admin-logout-btn:hover{color:var(--text-primary);border-color:var(--accent-primary)}@media (width<=768px){.admin-header{padding:var(--space-md);gap:var(--space-md);flex-wrap:wrap}.admin-stats{display:none}.admin-title h1{font-size:16px}.admin-subtitle{display:none}}.admin-user-list{background:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;height:100%;display:flex}.admin-user-list-header{padding:var(--space-lg);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;display:flex}.admin-user-list-header h2{font-family:var(--font-segment);color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:14px;font-weight:600}.user-count{font-family:var(--font-mono);color:var(--accent-primary);background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:2px 8px;font-size:12px}.admin-user-list-content{padding:var(--space-sm);flex:1;overflow-y:auto}.admin-user-list-loading,.admin-user-list-error,.admin-user-list-empty{padding:var(--space-xl);justify-content:center;align-items:center;gap:var(--space-md);color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.admin-user-list-error{color:#ef4444}.loading-spinner{border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.admin-user-item{align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);margin-bottom:var(--space-xs);border-radius:var(--radius-md);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;transition:all .15s;display:flex}.admin-user-item:hover{background:var(--bg-tertiary);border-color:var(--border-color)}.admin-user-item.selected{background:var(--bg-tertiary);border-color:var(--accent-primary)}.admin-user-item .user-avatar{background:var(--bg-tertiary);width:36px;height:36px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.admin-user-item .user-avatar img{object-fit:cover;width:100%;height:100%}.admin-user-item .user-info{flex:1;min-width:0}.admin-user-item .user-name{font-family:var(--font-segment);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;display:block;overflow:hidden}.admin-user-item .user-email{font-family:var(--font-mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.admin-user-item .user-activity{flex-shrink:0}.admin-user-item .workout-badge{font-family:var(--font-mono);color:var(--accent-primary);background:var(--bg-primary);border-radius:var(--radius-sm);align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:flex}@media (width<=768px){.admin-user-list{border-right:none;border-bottom:1px solid var(--border-color);max-height:200px}.admin-user-list-content{padding:var(--space-sm);gap:var(--space-sm);flex-wrap:nowrap;display:flex;overflow-x:auto}.admin-user-item{width:100px;padding:var(--space-sm);text-align:center;flex-direction:column;flex:none}.admin-user-item .user-info{width:100%}.admin-user-item .user-email{display:none}}.edit-workout-modal{width:90%;max-width:600px}.edit-form{flex-direction:column;gap:1.5rem;padding:0 0 1rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex}.form-group label{color:var(--text-primary);font-size:.9rem;font-weight:600}.form-group input[type=text],.form-group select,.form-group textarea{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:4px;padding:.75rem;font-family:inherit;font-size:.95rem}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 0 2px #00d4ff1a}.form-group textarea{resize:vertical;min-height:100px}.checkbox-label{cursor:pointer;align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.checkbox-label input[type=checkbox]{cursor:pointer;width:20px;height:20px}.checkbox-label span{font-size:.95rem}.rpe-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.rpe-btn{border:2px solid var(--border-color);background:var(--bg-secondary);min-width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:4px;flex:1;font-weight:600;transition:all .2s}.rpe-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.rpe-btn.selected{border-color:var(--accent-cyan);transform:scale(1.05);box-shadow:0 0 0 2px #00d4ff4d}.rpe-btn.rpe-easy.selected{background:var(--rpe-easy);border-color:var(--rpe-easy);color:#000}.rpe-btn.rpe-moderate.selected{background:var(--rpe-moderate);border-color:var(--rpe-moderate);color:#000}.rpe-btn.rpe-hard.selected{background:var(--rpe-hard);border-color:var(--rpe-hard);color:#fff}.rpe-btn.rpe-max.selected{background:var(--rpe-max);border-color:var(--rpe-max);color:#fff}.rpe-labels{color:var(--text-secondary);justify-content:space-between;margin-top:.5rem;font-size:.75rem;display:flex}.modal-actions{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding-top:1rem;display:flex}.actions-left{flex:1}.actions-right{gap:1rem;display:flex}.btn-primary,.btn-secondary{cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-primary{background:var(--accent-cyan);color:#000}.btn-primary:hover:not(:disabled){background:var(--accent-cyan-hover);transform:translateY(-1px);box-shadow:0 4px 8px #00d4ff4d}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-delete{cursor:pointer;background:var(--bg-secondary);color:#ef4444;border:1px solid #ef4444;border-radius:4px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:all .2s}.btn-delete:hover:not(:disabled){color:#fff;background:#ef4444;transform:translateY(-1px)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.delete-confirm{align-items:center;gap:.75rem;font-size:.9rem;display:flex}.delete-confirm span{color:var(--text-primary);font-weight:600}.btn-delete-confirm,.btn-delete-cancel{cursor:pointer;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s}.btn-delete-confirm{color:#fff;background:#ef4444}.btn-delete-confirm:hover:not(:disabled){background:#dc2626}.btn-delete-cancel{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-delete-cancel:hover:not(:disabled){background:var(--bg-secondary)}.btn-delete-confirm:disabled,.btn-delete-cancel:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.edit-workout-modal{width:95%;max-height:90vh;overflow-y:auto}.rpe-buttons{gap:.4rem}.rpe-btn{min-width:35px;height:35px;font-size:.9rem}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}.create-workout-modal{width:90%;max-width:600px}.create-form{flex-direction:column;gap:1.5rem;padding:0 0 1rem;display:flex}.create-form .form-group{flex-direction:column;gap:.5rem;display:flex}.create-form label{color:var(--text-primary);font-size:.9rem;font-weight:600}.create-form input[type=text],.create-form input[type=date],.create-form select,.create-form textarea{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:4px;padding:.75rem;font-family:inherit;font-size:.95rem}.create-form input[type=text]:focus,.create-form input[type=date]:focus,.create-form select:focus,.create-form textarea:focus{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 0 2px #00d4ff1a}.create-form textarea{resize:vertical;min-height:80px}.create-form .rpe-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.create-form .rpe-btn{border:2px solid var(--border-color);background:var(--bg-secondary);min-width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:4px;flex:1;font-weight:600;transition:all .2s}.create-form .rpe-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.create-form .rpe-btn.selected{border-color:var(--accent-cyan);transform:scale(1.05);box-shadow:0 0 0 2px #00d4ff4d}.create-form .rpe-btn.rpe-easy.selected{background:var(--rpe-easy);border-color:var(--rpe-easy);color:#000}.create-form .rpe-btn.rpe-moderate.selected{background:var(--rpe-moderate);border-color:var(--rpe-moderate);color:#000}.create-form .rpe-btn.rpe-hard.selected{background:var(--rpe-hard);border-color:var(--rpe-hard);color:#fff}.create-form .rpe-btn.rpe-max.selected{background:var(--rpe-max);border-color:var(--rpe-max);color:#fff}.create-form .rpe-labels{color:var(--text-secondary);justify-content:space-between;margin-top:.5rem;font-size:.75rem;display:flex}@media (width<=768px){.create-workout-modal{width:95%;max-height:90vh;overflow-y:auto}.create-form .rpe-buttons{gap:.4rem}.create-form .rpe-btn{min-width:35px;height:35px;font-size:.9rem}}.admin-user-workouts{height:100%;padding:var(--space-xl);overflow-y:auto}.admin-user-workouts-empty,.admin-user-workouts-loading,.admin-user-workouts-error{justify-content:center;align-items:center;gap:var(--space-md);height:100%;color:var(--text-muted);text-align:center;flex-direction:column;display:flex}.admin-user-workouts-empty h3{font-family:var(--font-segment);color:var(--text-primary);margin:0;font-size:18px}.admin-user-workouts-empty p{margin:0;font-size:14px}.admin-user-workouts-error{color:#ef4444}.admin-user-profile{align-items:flex-start;gap:var(--space-lg);padding:var(--space-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-xl);display:flex}.profile-avatar{background:var(--bg-tertiary);width:64px;height:64px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.profile-info{flex:1;min-width:0}.profile-info h2{font-family:var(--font-segment);color:var(--text-primary);margin:0 0 var(--space-xs);font-size:20px;font-weight:600}.profile-email{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.profile-goals,.profile-injuries{align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-sm);color:var(--text-secondary);font-size:13px;display:flex}.profile-goals svg{color:var(--status-completed);flex-shrink:0;margin-top:2px}.profile-injuries svg{color:#f59e0b;flex-shrink:0;margin-top:2px}.profile-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-sm);display:flex}.btn-edit-profile{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;transition:all .2s;display:flex}.btn-edit-profile:hover{background:var(--bg-primary);border-color:var(--accent-cyan)}.profile-edit-form{gap:var(--space-md);margin-top:var(--space-md);flex-direction:column;display:flex}.profile-edit-form .form-group{flex-direction:column;gap:.5rem;display:flex}.profile-edit-form label{color:var(--text-primary);align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;display:flex}.profile-edit-form textarea{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);resize:vertical;padding:.5rem;font-family:inherit;font-size:.85rem}.profile-edit-form textarea:focus{border-color:var(--accent-cyan);outline:none;box-shadow:0 0 0 2px #00d4ff1a}.profile-edit-actions{gap:var(--space-sm);display:flex}.btn-save,.btn-cancel{border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;transition:all .2s;display:flex}.btn-save{background:var(--accent-cyan);color:#000}.btn-save:hover:not(:disabled){background:var(--accent-cyan-hover);transform:translateY(-1px)}.btn-cancel{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary)}.btn-save:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.profile-stats{gap:var(--space-lg);display:flex}.profile-stats .stat{padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-sm);flex-direction:column;align-items:center;display:flex}.profile-stats .stat-value{font-family:var(--font-segment);color:var(--accent-primary);font-size:24px;font-weight:600}.profile-stats .stat-label{font-family:var(--font-segment);color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:10px}.admin-calendar-nav{justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg);display:flex}.calendar-nav-controls{justify-content:center;align-items:center;gap:var(--space-lg);display:flex}.calendar-nav-controls button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;transition:all .15s;display:flex}.calendar-nav-controls button:hover{background:var(--bg-tertiary);border-color:var(--accent-primary);color:var(--accent-primary)}.calendar-nav-controls h3{font-family:var(--font-segment);color:var(--text-primary);text-align:center;min-width:160px;margin:0;font-size:16px;font-weight:500}.btn-add-workout{background:var(--accent-cyan);border-radius:var(--radius-sm);color:#000;cursor:pointer;border:none;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.btn-add-workout:hover{background:var(--accent-cyan-hover);transform:translateY(-1px);box-shadow:0 4px 8px #00d4ff4d}.admin-calendar{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-xl);overflow:hidden}.calendar-header{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);grid-template-columns:repeat(7,1fr);display:grid}.calendar-header-cell{padding:var(--space-sm);font-family:var(--font-segment);color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:600}.calendar-grid{grid-template-columns:repeat(7,1fr);display:grid}.calendar-day{min-height:80px;padding:var(--space-sm);border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);background:var(--bg-primary);transition:background .15s}.calendar-day:nth-child(7n){border-right:none}.calendar-day.other-month{background:var(--bg-secondary);opacity:.5}.calendar-day.today{background:var(--bg-tertiary)}.calendar-day.today .day-number{color:var(--accent-primary);font-weight:600}.calendar-day .day-number{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:var(--space-xs);font-size:12px}.calendar-day .day-workout{background:var(--bg-tertiary);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:4px;padding:4px;font-size:11px;display:flex}.calendar-day.completed .day-workout{border-left:2px solid var(--status-completed)}.calendar-day .workout-icon{font-size:14px}.calendar-day .workout-type{font-family:var(--font-segment);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.calendar-day .workout-rpe{font-family:var(--font-mono);background:var(--bg-secondary);border-radius:2px;padding:1px 4px;font-size:10px}.calendar-day .workout-rpe.rpe-easy{color:var(--status-completed)}.calendar-day .workout-rpe.rpe-moderate{color:#f59e0b}.calendar-day .workout-rpe.rpe-hard{color:#ef4444}.calendar-day.clickable:hover{background:var(--bg-tertiary);box-shadow:inset 0 0 0 2px var(--accent-cyan)}.calendar-day.clickable.other-month:hover{opacity:.7}.admin-recent-workouts{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.admin-recent-workouts h4{font-family:var(--font-segment);color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);margin:0;font-size:14px;font-weight:600}.recent-workouts-list{padding:var(--space-sm)}.recent-workout{align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:background .15s;display:flex}.recent-workout:hover{background:var(--bg-tertiary)}.recent-workout.clickable:hover{background:var(--bg-tertiary);box-shadow:inset 0 0 0 1px var(--accent-cyan);transform:translate(4px)}.recent-workout .workout-date{font-family:var(--font-mono);color:var(--text-muted);min-width:50px;font-size:12px}.recent-workout .workout-icon{font-size:16px}.recent-workout .workout-name{font-family:var(--font-segment);color:var(--text-primary);flex:1;font-size:14px}.recent-workout .workout-rpe{font-family:var(--font-mono);border-radius:var(--radius-sm);background:var(--bg-tertiary);padding:2px 6px;font-size:11px}.recent-workout .workout-status{font-family:var(--font-segment);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);padding:2px 8px;font-size:10px}.recent-workout .workout-status.done{color:var(--status-completed);background:#10b9811a}.recent-workout .workout-status.pending{color:var(--text-muted);background:var(--bg-tertiary)}.no-workouts{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--text-muted);display:flex}@media (width<=768px){.admin-user-workouts{padding:var(--space-md)}.admin-user-profile{text-align:center;flex-direction:column;align-items:center}.profile-goals,.profile-injuries{justify-content:center}.profile-stats{justify-content:center;width:100%}.calendar-day{min-height:60px;padding:var(--space-xs)}.calendar-day .day-workout{flex-direction:column;padding:2px}.calendar-day .workout-type{display:none}}.admin-portal{background:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.admin-content{flex:1;display:flex;overflow:hidden}.admin-sidebar{flex-shrink:0;width:300px;overflow:hidden}.admin-main{flex:1;overflow:hidden}@media (width<=768px){.admin-content{flex-direction:column}.admin-sidebar{width:100%}.admin-main{flex:1}}.copy-button{font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;white-space:nowrap;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.copy-button:hover{background:var(--bg-hover);border-color:var(--accent-cyan);color:var(--accent-cyan)}.copy-button:active{transform:scale(.98)}.copy-button.copied{background:var(--success-bg,#10b9811a);border-color:var(--success-green);color:var(--success-green);pointer-events:none}.copy-button svg{flex-shrink:0}@media (width<=768px){.copy-button{min-height:44px;padding:.625rem 1rem;font-size:.875rem}}.mcp-settings-page{background:var(--bg-primary);min-height:100vh;padding:2rem 1rem}.settings-container{flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto;display:flex}.settings-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.header-content{align-items:center;gap:1rem;display:flex}.header-icon{color:var(--accent-cyan);flex-shrink:0}.settings-header h1{font-family:var(--font-mono);color:var(--text-primary);margin:0;font-size:2rem;font-weight:700;line-height:1.2}.header-subtitle{font-family:var(--font-mono);color:var(--text-secondary);margin:.25rem 0 0;font-size:.875rem}.status-badge{background:var(--bg-secondary);border:1px solid var(--border-primary);font-family:var(--font-mono);white-space:nowrap;border-radius:.375rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;display:flex}.status-dot{flex-shrink:0}.status-dot.connected{color:var(--success-green);fill:var(--success-green)}.status-dot.disconnected{color:var(--text-tertiary);fill:var(--text-tertiary)}.mcp-card-single{background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.5rem;overflow:hidden}.mcp-card-header{border-bottom:1px solid var(--border-primary);padding:1.5rem}.mcp-card-header h2{font-family:var(--font-mono);color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.mcp-description{font-family:var(--font-mono);color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.5}.primary-action-section{border-bottom:1px solid var(--border-primary);padding:1.5rem}.primary-action-section h3{font-family:var(--font-mono);color:var(--accent-cyan);margin:0 0 .5rem;font-size:1rem;font-weight:600}.action-description{font-family:var(--font-mono);color:var(--text-secondary);margin:0 0 1rem;font-size:.875rem;line-height:1.5}.action-description.cursor-only{color:var(--text-tertiary);font-style:italic}.code-block-wrapper{margin:.75rem 0}.code-block{background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.375rem;max-height:300px;margin:0;padding:1rem;overflow-x:auto}.code-block code{font-family:var(--font-mono);color:var(--text-primary);font-size:.75rem;line-height:1.6}.code-block-actions{justify-content:flex-end;margin-top:.75rem;display:flex}.manual-setup-section{border-bottom:1px solid var(--border-primary)}.expand-toggle{width:100%;font-family:var(--font-mono);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:.875rem;transition:all .2s;display:flex}.expand-toggle:hover{color:var(--accent-cyan);background:var(--bg-hover)}.expand-toggle span{transition:transform .2s;display:inline-block}.expand-toggle[aria-expanded=true] span{transform:rotate(180deg)}.manual-setup-content{padding:0 1.5rem 1.5rem}.setup-steps{font-family:var(--font-mono);color:var(--text-primary);counter-reset:step-counter;margin:0;padding-left:1.5rem;font-size:.875rem;line-height:1.6}.setup-steps li{margin-bottom:1.25rem;position:relative}.setup-steps li:last-child{margin-bottom:0}.setup-steps strong{color:var(--accent-cyan);margin-bottom:.25rem;font-weight:600;display:block}.setup-steps p{color:var(--text-secondary);margin:.25rem 0 0}.config-paths{flex-direction:column;gap:.375rem;margin-top:.5rem;display:flex}.config-paths code{color:var(--accent-cyan);background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:.25rem;padding:.25rem .5rem;font-size:.75rem}.secondary-action-section{border-bottom:1px solid var(--border-primary);background:var(--bg-primary);padding:1.5rem}.secondary-action-section h3{font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.cursor-install-button{font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);cursor:pointer;border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.cursor-install-button:hover{color:var(--accent-cyan);border-color:var(--accent-cyan);background:var(--bg-hover)}.cursor-install-button:active{transform:scale(.98)}.cursor-note{font-family:var(--font-mono);color:var(--text-tertiary);margin-top:.5rem;font-size:.75rem;line-height:1.4}.tools-section{padding:1.5rem}.tools-section h3{font-family:var(--font-mono);color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 1rem;font-size:.875rem;font-weight:600}.tools-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.tools-list li{font-family:var(--font-mono);color:var(--text-primary);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.tool-icon{color:var(--success-green);flex-shrink:0}.privacy-notice{background:var(--bg-secondary);border:1px solid var(--border-primary);font-family:var(--font-mono);color:var(--text-tertiary);border-radius:.375rem;align-items:center;gap:.75rem;padding:1rem;font-size:.75rem;display:flex}.privacy-notice svg{color:var(--accent-cyan);flex-shrink:0}.privacy-notice p{margin:0;line-height:1.5}.settings-loading{color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 1rem;display:flex}.settings-loading svg{color:var(--accent-cyan)}.settings-loading p{font-family:var(--font-mono);margin:0;font-size:.875rem}@media (width<=768px){.mcp-settings-page{padding:1rem}.settings-header{flex-direction:column;gap:.75rem}.settings-header h1{font-size:1.5rem}.status-badge{align-self:flex-start}.tools-list{grid-template-columns:1fr}.config-paths{font-size:.75rem}.code-block code{font-size:.7rem}}.share-plan{background:var(--bg-primary);min-height:100vh;color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased}.share-plan-toolbar{z-index:10;background:color-mix(in srgb, var(--bg-secondary) 88%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.share-plan-toolbar-right{align-items:center;gap:12px;display:flex}.share-plan-toolbar-hint{color:var(--text-muted);font-size:12px}.share-plan-btn{font-size:13px;font-weight:600;font-family:var(--font-body);cursor:pointer;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);transition:background var(--transition-fast), border-color var(--transition-fast);border-radius:8px;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.share-plan-btn:hover:not(:disabled){border-color:var(--accent-primary)}.share-plan-btn:disabled{opacity:.5;cursor:not-allowed}.share-plan-btn-primary{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;box-shadow:var(--glow-cyan)}.share-plan-btn-primary:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary)}.share-plan-btn-ghost{background:0 0}.share-plan-page{max-width:820px;margin:0 auto;padding:32px 24px 48px}.share-plan-header{border-bottom:2px solid var(--accent-primary);margin-bottom:24px;padding-bottom:20px}.share-plan-brand{font-family:var(--font-segment);letter-spacing:.3em;color:var(--accent-primary);margin-bottom:8px;font-size:11px;font-weight:700}.share-plan-title{letter-spacing:-.01em;color:var(--text-primary);margin:0 0 4px;font-size:28px;font-weight:700}.share-plan-range{font-family:var(--font-mono);color:var(--text-secondary);margin-bottom:16px;font-size:14px}.share-plan-summary{flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.share-plan-stat{flex-direction:column;line-height:1.1;display:flex}.share-plan-stat-value{font-family:var(--font-segment);color:var(--text-primary);font-size:22px;font-weight:700}.share-plan-stat-label{font-family:var(--font-segment);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:600}.share-plan-types{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.share-plan-type-pill{font-family:var(--font-mono);border:1px solid var(--pill-color);color:var(--pill-color);background:color-mix(in srgb, var(--pill-color) 10%, transparent);white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:11px}.share-plan-message{text-align:center;max-width:640px;color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:12px;margin:48px auto;padding:24px}.share-plan-message h1{color:var(--text-primary);margin:0 0 8px;font-size:20px}.share-plan-hint{color:var(--text-muted);font-size:13px}.share-plan-hint code{font-family:var(--font-mono);font-size:12px}.share-plan-link{color:var(--accent-primary);margin-top:12px;font-weight:600;display:inline-block}.share-week{margin-bottom:28px}.share-week-header{border-bottom:1px solid var(--border-color);align-items:baseline;gap:12px;margin:0 0 12px;padding:6px 0;display:flex}.share-week-num{font-family:var(--font-segment);letter-spacing:.2em;color:var(--accent-primary);font-size:12px;font-weight:700}.share-week-span{font-family:var(--font-mono);color:var(--text-secondary);font-size:13px}.share-day{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--day-color);border-radius:0 10px 10px 0;margin:0 0 12px;padding:12px 16px 14px 18px;position:relative}.share-day-empty{opacity:.7;background:0 0;border-style:dashed dashed dashed solid;padding:8px 16px 8px 18px}.share-day-header{grid-template-columns:72px 1fr auto;align-items:center;gap:12px;display:grid}.share-day-date{flex-direction:column;line-height:1.1;display:flex}.share-day-weekday{font-family:var(--font-segment);letter-spacing:.16em;text-transform:uppercase;color:var(--day-color);font-size:10px;font-weight:700}.share-day-num{font-family:var(--font-mono);color:var(--text-secondary);font-size:13px}.share-day-title-wrap{align-items:center;gap:8px;min-width:0;display:flex}.share-day-icon{flex-shrink:0;font-size:16px}.share-day-title{color:var(--text-primary);margin:0;font-size:15px;font-weight:600;line-height:1.3}.share-day-empty .share-day-title{color:var(--text-muted);font-weight:500}.share-day-status{font-family:var(--font-segment);letter-spacing:.14em;white-space:nowrap;border:1px solid;border-radius:4px;padding:3px 8px;font-size:9px;font-weight:700}.share-day-status.is-scheduled{color:var(--status-scheduled)}.share-day-status.is-completed{color:var(--status-completed)}.share-day-status.is-skipped{color:var(--text-muted)}.share-day-body{margin-top:10px}.share-day-log{background:color-mix(in srgb, var(--day-color) 6%, transparent);border-radius:8px;margin-top:12px;padding:10px 12px}.share-day-log-header{font-family:var(--font-segment);letter-spacing:.16em;color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:6px;font-size:9px;font-weight:700;display:flex}.share-day-rpe{color:var(--day-color)}.share-day-notes{font-family:var(--font-body);color:var(--text-secondary);white-space:pre-wrap;word-wrap:break-word;margin:0;font-size:12.5px;line-height:1.55}.share-plan-footer{border-top:1px solid var(--border-color);font-family:var(--font-mono);color:var(--text-muted);justify-content:space-between;gap:12px;margin-top:32px;padding-top:12px;font-size:11px;display:flex}@media (width<=600px){.share-plan-page{padding:20px 14px 40px}.share-plan-title{font-size:22px}.share-day-header{grid-template-columns:60px 1fr}.share-day-status{grid-column:2;justify-self:start}.share-plan-toolbar-hint{display:none}}@media print{@page{size:A4;margin:14mm 14mm 16mm}:root,:root[data-theme],:root[data-theme][data-contrast]{--bg-primary:#fff!important;--bg-secondary:#fff!important;--bg-tertiary:#f1f5f9!important;--text-primary:#111827!important;--text-secondary:#374151!important;--text-muted:#6b7280!important;--text-dim:#9ca3af!important;--accent-primary:#0e7490!important;--accent-secondary:#0c4a6e!important;--border-color:#d1d5db!important;--status-completed:#047857!important;--status-scheduled:#b45309!important;--glow-cyan:none!important;--scanline-opacity:0!important;--noise-opacity:0!important}html,body,#root{background:#fff!important;height:auto!important;min-height:0!important;max-height:none!important;position:static!important;overflow:visible!important}body:before,body:after,.share-plan-toolbar{display:none!important}.share-plan{color:#111827;background:#fff;min-height:0}.share-plan-page{max-width:none;padding:0}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.share-plan-header{break-inside:avoid}.share-week{margin-bottom:18px}.share-week-header{break-after:avoid;break-inside:avoid}.share-day{box-shadow:none;-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#fafafa}.share-day-header{break-after:avoid;break-inside:avoid}.share-day-empty,.share-day-log-header{break-inside:avoid}.share-day-empty{opacity:.8}.wpr-section-header,.wpr-subheader,.wpr-block-label{break-after:avoid;break-inside:avoid}.wpr-purpose,.wpr-injury-card,.wpr-nutrition-card,.wpr-target-rpe,.wpr-table-wrap{break-inside:avoid}.wpr-text,.wpr-list li,.share-day-notes{orphans:3;widows:3}.share-plan-footer{margin-top:20px}a[href]:after{content:none}}.landing-page{background:var(--bg-primary);min-height:100dvh;color:var(--text-primary);-webkit-overflow-scrolling:touch;flex-direction:column;display:flex;overflow-y:auto}.landing-header{padding:1rem 1.5rem;padding-top:calc(1rem + env(safe-area-inset-top,0px));background:var(--bg-secondary);border-bottom:3px solid var(--accent-primary)}.landing-logo{align-items:center;gap:.75rem;display:flex}.logo-icon{object-fit:contain;width:40px;height:40px}.logo-text{font-family:var(--font-segment);letter-spacing:.2em;color:var(--text-primary);text-transform:uppercase;font-size:2rem}.landing-main{flex-direction:column;flex:1;width:100%;padding:0;display:flex}.hero-section{background:radial-gradient(ellipse at 50% 0%, var(--accent-glow,#00d4ff14) 0%, transparent 60%), linear-gradient(180deg, var(--bg-secondary) 0%, var(--bg-primary) 100%);text-align:center;border-bottom:3px solid var(--accent-primary);padding:4rem 1.5rem 3rem;position:relative}.hero-section:before{content:"";background:linear-gradient(90deg, transparent, var(--accent-primary), transparent);height:3px;box-shadow:0 0 20px var(--accent-glow,#00d4ff4d);position:absolute;bottom:-3px;left:0;right:0}.hero-title{font-family:var(--font-segment);letter-spacing:.18em;color:var(--text-primary);text-transform:uppercase;text-shadow:0 2px 10px #0000001a;margin-bottom:.75rem;font-size:3.5rem;font-weight:400;line-height:1.05}.hero-subtitle{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;opacity:.85;margin-bottom:2.5rem;padding:0 1rem;font-size:.9rem}.login-section{width:100%;max-width:400px;margin:0 auto}.btn-login{background:var(--accent-primary);color:#fff;width:100%;font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:none;border-radius:8px;justify-content:space-between;align-items:center;min-height:56px;padding:1rem 1.5rem;font-size:1.1rem;transition:all .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px #00c2ff40,0 2px 8px #00000026}.btn-login:before{content:"";background:#ffffff4d;border-radius:8px 0 0 8px;width:6px;position:absolute;top:0;bottom:0;left:0}.btn-login:hover{background:var(--accent-secondary);transform:translateY(-1px);box-shadow:0 6px 25px #00c2ff59,0 4px 12px #0003}.btn-login:active{background:var(--accent-primary);transform:translateY(0)}.btn-login span{font-family:var(--font-mono);opacity:.8;letter-spacing:.05em;font-size:.75rem}.btn-login strong{font-family:var(--font-segment);font-weight:400}.btn-login .btn-icon{width:20px;height:20px}.waitlist-section{background:var(--panel-dark);padding:2rem 1.5rem}.waitlist-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:0;max-width:500px;margin:0 auto;padding:0;overflow:hidden}.waitlist-header{background:var(--performance-yellow);color:var(--bg-primary);align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.waitlist-icon{width:24px;height:24px;color:inherit}.coming-soon-badge{font-family:var(--font-segment);letter-spacing:.15em;color:inherit;background:0 0;padding:0;font-size:1rem;font-weight:400}.waitlist-title{font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);padding:1.25rem 1.25rem .5rem;font-size:1.25rem;font-weight:400}.waitlist-description{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.02em;padding:0 1.25rem 1rem;font-size:.8rem;line-height:1.6}.waitlist-form{flex-direction:column;gap:0;padding:0 1.25rem 1.25rem;display:flex}.input-wrapper{position:relative}.email-input{background:var(--bg-secondary);border:2px solid var(--border-color);width:100%;font-family:var(--font-mono);color:var(--text-primary);box-sizing:border-box;letter-spacing:.02em;border-radius:0;padding:1rem;font-size:1rem;transition:border-color .2s}.email-input:focus{border-color:var(--accent-primary);outline:none}.email-input::placeholder{color:var(--text-muted);font-style:italic}.email-input:disabled{opacity:.6;cursor:not-allowed}.btn-waitlist{background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:0;justify-content:center;align-items:center;gap:.75rem;min-height:52px;margin-top:-2px;padding:1rem;font-size:.9rem;transition:all .2s;display:flex}.btn-waitlist:hover:not(:disabled){background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.btn-waitlist:disabled{opacity:.7;cursor:not-allowed}.btn-waitlist .btn-icon{width:18px;height:18px}.btn-waitlist .btn-icon.spinning{animation:1s linear infinite spin}.features-section{background:var(--bg-primary);padding:2rem 1.5rem}.features-title{font-family:var(--font-segment);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);text-align:center;margin-bottom:1.5rem;font-size:1rem}.features-grid{flex-direction:column;gap:0;max-width:500px;margin:0 auto;display:flex}.feature-card{background:var(--bg-secondary);border:1px solid var(--border-color);text-align:left;border-bottom:none;align-items:center;gap:1rem;min-height:48px;padding:1.125rem 1.25rem;transition:background .15s;display:flex}.feature-card:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.feature-card:last-child{border-bottom:1px solid var(--border-color);border-bottom-right-radius:8px;border-bottom-left-radius:8px}.feature-icon{width:28px;height:28px;color:var(--accent-primary);flex-shrink:0}.feature-card h4{font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);margin-bottom:.125rem;font-size:.9rem;font-weight:400}.feature-card p{font-family:var(--font-mono);color:var(--text-secondary);letter-spacing:.02em;font-size:.75rem;line-height:1.4}.landing-footer{text-align:center;background:var(--bg-secondary);border-top:2px solid var(--accent-primary);margin-top:auto;padding:1.5rem}.footer-text{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase;font-size:.75rem}.footer-brand{font-family:var(--font-segment);color:var(--accent-primary);letter-spacing:.15em;font-weight:400}@media (width>=640px){.hero-section{padding:5rem 2rem 4rem}.hero-title{font-size:4rem}.hero-subtitle{font-size:1rem}.waitlist-form{flex-direction:row;gap:0}.input-wrapper{flex:1}.email-input{border-right:none}.btn-waitlist{border-left:none;margin-top:0}.features-grid{flex-direction:row}.feature-card{text-align:center;border:1px solid var(--border-color);border-right:none;flex-direction:column;flex:1;padding:1.5rem 1rem}.feature-card:last-child{border-right:1px solid var(--border-color)}}@media (width>=1024px){.landing-header{padding:1rem 3rem}.hero-section{padding:5rem 3rem}.hero-title{letter-spacing:.2em;font-size:4.5rem}.hero-subtitle{max-width:600px;margin-left:auto;margin-right:auto;font-size:1.125rem}.btn-login{max-width:350px;margin:0 auto}.waitlist-section,.features-section{padding:3rem}.features-grid{max-width:700px}}@font-face{font-family:WU3 Segments;src:url(/fonts/wu3-segments.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root,[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#edf2f7;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#718096;--accent-primary:#0891b2;--accent-secondary:#06b6d4;--status-completed:#059669;--border-color:#e2e8f0;--header-border:#0891b2;--font-segment:"WU3 Segments", "Courier New", monospace;--font-mono:"SF Mono", "Monaco", "Courier New", monospace;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--radius-sm:4px;--radius-md:8px;--header-gradient:linear-gradient(180deg, #f8f9fa 0%, #edf2f7 100%)}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#3c3c3c;--text-primary:#faf9f7;--text-secondary:#e2e8f0;--text-muted:#a0a0a0;--accent-primary:#00d4ff;--accent-secondary:#40e0ff;--status-completed:#10b981;--border-color:#3c3c3c;--header-border:#00d4ff;--header-gradient:linear-gradient(180deg, #2a2a2a 0%, #1a1a1a 100%)}[data-theme=banana]{--bg-primary:#fffef5;--bg-secondary:#fff9e6;--bg-tertiary:#fff3cc;--text-primary:#4a4000;--text-secondary:#6b5e00;--text-muted:#8b7d00;--accent-primary:#e6b800;--accent-secondary:#ffd000;--status-completed:#7cb342;--border-color:khaki;--header-border:#e6b800;--header-gradient:linear-gradient(180deg, #fff9e6 0%, #fffef5 100%)}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-segment);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;overflow-x:hidden}.app{background:var(--bg-primary);overscroll-behavior-y:contain;flex-direction:column;min-height:100vh;display:flex}.loading-state{justify-content:center;align-items:center;gap:var(--space-lg);min-height:300px;color:var(--text-muted);flex-direction:column;display:flex}.loading-state svg{color:var(--accent-primary)}.loading-state p{font-family:var(--font-segment);letter-spacing:.05em;text-transform:uppercase;font-size:14px}.error-state{justify-content:center;align-items:center;gap:var(--space-md);text-align:center;min-height:300px;padding:var(--space-xl);flex-direction:column;display:flex}.error-icon{font-size:48px}.error-state p{color:var(--text-primary);font-family:var(--font-segment);margin:0;font-size:16px}.error-state .error-detail{color:var(--text-muted);font-size:14px}.retry-btn{align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);margin-top:var(--space-md);font-family:var(--font-segment);text-transform:uppercase;letter-spacing:.05em;background:var(--accent-primary);color:var(--bg-primary);border-radius:var(--radius-md);cursor:pointer;border:none;font-size:14px;transition:all .2s;display:flex}.retry-btn:hover{background:var(--accent-secondary)}.spinning{animation:1s linear infinite spin}.terminal-header{background:var(--header-gradient);border-bottom:2px solid var(--header-border);padding:var(--space-lg) var(--space-xl);justify-content:space-between;align-items:center;display:flex}@font-face{font-family:WU3 Segments;src:url(/fonts/wu3-segments.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}:root,[data-theme=light]{--bg-primary:#fff;--bg-secondary:#f8f9fa;--bg-tertiary:#edf2f7;--panel-dark:#f0f4f8;--panel-hover:#e8ecf0;--text-primary:#1a202c;--text-secondary:#4a5568;--text-muted:#718096;--text-dim:#a0aec0;--accent-primary:#0891b2;--accent-secondary:#06b6d4;--vector-coral:#e6524a;--electric-cyan:#0891b2;--performance-yellow:#d97706;--deep-sage:#059669;--steel-blue:#3b82f6;--crimson-drive:#dc2626;--status-completed:#059669;--status-boarding:#0891b2;--status-scheduled:#d97706;--status-delayed:#e6524a;--status-cancelled:#dc2626;--border-color:#e2e8f0;--border-medium:#0000001a;--border-accent:#0891b2;--glow-cyan:0 2px 8px #0891b226;--glow-yellow:0 2px 8px #d9770626;--glow-coral:0 2px 8px #e6524a26;--glow-sage:0 2px 8px #05966926;--accent-glow:#0891b233;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--scanline-opacity:0;--noise-opacity:0;--header-gradient:linear-gradient(180deg, #f8f9fa 0%, #edf2f7 100%);--header-border:#0891b2}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#3c3c3c;--panel-dark:#2a2a2a;--panel-hover:#333;--text-primary:#faf9f7;--text-secondary:#e2e8f0;--text-muted:#a0a0a0;--text-dim:#6b6b6b;--accent-primary:#00c2ff;--accent-secondary:#00d4ff;--vector-coral:#e6524a;--electric-cyan:#00c2ff;--performance-yellow:#ffd447;--deep-sage:#5e7f5b;--steel-blue:#355c7d;--crimson-drive:#b22234;--status-completed:#5e7f5b;--status-boarding:#00c2ff;--status-scheduled:#ffd447;--status-delayed:#e6524a;--status-cancelled:#b22234;--border-color:#faf9f71a;--border-medium:#faf9f733;--border-accent:#00c2ff;--glow-cyan:0 0 20px #00c2ff80;--glow-yellow:0 0 20px #ffd44780;--glow-coral:0 0 20px #e6524a80;--glow-sage:0 0 20px #5e7f5b80;--accent-glow:#00c2ff4d;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--scanline-opacity:.03;--noise-opacity:.02;--header-gradient:linear-gradient(180deg, #3c3c3c 0%, #2a2a2a 100%);--header-border:#00c2ff}[data-theme=banana]{--bg-primary:#fffbeb;--bg-secondary:#fef3c7;--bg-tertiary:#fde68a;--panel-dark:#fef9e7;--panel-hover:#fef3c7;--text-primary:#78350f;--text-secondary:#92400e;--text-muted:#b45309;--text-dim:#d97706;--accent-primary:#f59e0b;--accent-secondary:#fbbf24;--vector-coral:#dc2626;--electric-cyan:#f59e0b;--performance-yellow:#f59e0b;--deep-sage:#65a30d;--steel-blue:#ea580c;--crimson-drive:#dc2626;--status-completed:#65a30d;--status-boarding:#f59e0b;--status-scheduled:#fbbf24;--status-delayed:#dc2626;--status-cancelled:#b91c1c;--border-color:#fcd34d;--border-medium:#f59e0b4d;--border-accent:#f59e0b;--glow-cyan:0 0 20px #f59e0b66;--glow-yellow:0 0 20px #fbbf2480;--glow-coral:0 0 20px #dc262666;--glow-sage:0 0 20px #65a30d66;--accent-glow:#f59e0b4d;--shadow-sm:0 1px 2px #78350f1a;--shadow-md:0 4px 6px #78350f26;--shadow-lg:0 10px 15px #78350f33;--scanline-opacity:.02;--noise-opacity:.01;--header-gradient:linear-gradient(180deg, #fef3c7 0%, #fde68a 100%);--header-border:#f59e0b}:root[data-contrast=high],[data-theme=light][data-contrast=high]{--bg-primary:#fff;--bg-secondary:#f0f0f0;--bg-tertiary:#e0e0e0;--panel-dark:#f0f0f0;--panel-hover:#d9d9d9;--text-primary:#000;--text-secondary:#1a1a1a;--text-muted:#333;--text-dim:#555;--accent-primary:#0e7490;--accent-secondary:#0c4a6e;--vector-coral:#b91c1c;--performance-yellow:#92400e;--deep-sage:#166534;--steel-blue:#1e40af;--crimson-drive:#991b1b;--status-completed:#166534;--status-boarding:#0e7490;--status-scheduled:#92400e;--status-delayed:#b91c1c;--status-cancelled:#991b1b;--border-color:#333;--border-medium:#0006;--border-accent:#0e7490;--glow-cyan:none;--glow-yellow:none;--glow-coral:none;--glow-sage:none;--accent-glow:transparent;--shadow-sm:0 1px 2px #00000026;--shadow-md:0 2px 4px #0003;--shadow-lg:0 4px 8px #00000040;--scanline-opacity:0;--noise-opacity:0}[data-theme=dark][data-contrast=high]{--bg-primary:#000;--bg-secondary:#111;--bg-tertiary:#1a1a1a;--panel-dark:#111;--panel-hover:#222;--text-primary:#fff;--text-secondary:#f0f0f0;--text-muted:#ccc;--text-dim:#999;--accent-primary:#00e5ff;--accent-secondary:#00f5ff;--vector-coral:#ff6b6b;--performance-yellow:gold;--deep-sage:#66bb6a;--steel-blue:#64b5f6;--crimson-drive:#ef5350;--status-completed:#66bb6a;--status-boarding:#00e5ff;--status-scheduled:gold;--status-delayed:#ff6b6b;--status-cancelled:#ef5350;--border-color:#ccc;--border-medium:#ffffff80;--border-accent:#00e5ff;--glow-cyan:none;--glow-yellow:none;--glow-coral:none;--glow-sage:none;--accent-glow:transparent;--shadow-sm:none;--shadow-md:none;--shadow-lg:none;--scanline-opacity:0;--noise-opacity:0}[data-theme=banana][data-contrast=high]{--bg-primary:#fffde7;--bg-secondary:#fff8e1;--bg-tertiary:#fff3c4;--panel-dark:#fff8e1;--panel-hover:#fff0b3;--text-primary:#1a0a00;--text-secondary:#3e2723;--text-muted:#4e342e;--text-dim:#6d4c41;--accent-primary:#e65100;--accent-secondary:#bf360c;--vector-coral:#b71c1c;--performance-yellow:#e65100;--deep-sage:#2e7d32;--steel-blue:#bf360c;--crimson-drive:#b71c1c;--status-completed:#2e7d32;--status-boarding:#e65100;--status-scheduled:#f57f17;--status-delayed:#b71c1c;--status-cancelled:#880e4f;--border-color:#4e342e;--border-medium:#3e272380;--border-accent:#e65100;--glow-cyan:none;--glow-yellow:none;--glow-coral:none;--glow-sage:none;--accent-glow:transparent;--shadow-sm:0 1px 2px #3e272333;--shadow-md:0 2px 4px #3e272340;--shadow-lg:0 4px 8px #3e27234d;--scanline-opacity:0;--noise-opacity:0}[data-contrast=high] button:focus-visible,[data-contrast=high] a:focus-visible,[data-contrast=high] input:focus-visible,[data-contrast=high] textarea:focus-visible,[data-contrast=high] select:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px}@media (prefers-contrast:high){:root:not([data-contrast]){--text-primary:#000;--text-secondary:#1a1a1a;--text-muted:#333;--border-color:#333;--glow-cyan:none;--glow-yellow:none;--glow-coral:none;--glow-sage:none;--accent-glow:transparent;--scanline-opacity:0;--noise-opacity:0}}:root{--font-segment:"WU3 Segments", "Courier New", monospace;--font-body:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", "Fira Code", monospace;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--border-subtle:1px solid var(--border-color);--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.4s ease}html{font-size:16px}[data-font-scale=small]{font-size:14px}[data-font-scale=normal]{font-size:16px}[data-font-scale=large]{font-size:19px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overscroll-behavior-x:none;overflow-x:hidden}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5;overflow-x:hidden}body:before{content:"";background:repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(0, 194, 255, var(--scanline-opacity)) 2px, rgba(0, 194, 255, var(--scanline-opacity)) 4px);pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0}body:after{content:"";pointer-events:none;z-index:9998;width:100%;height:100%;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.02'/%3E%3C/svg%3E");position:fixed;top:0;left:0}[data-theme=banana] body:before{background:repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(245, 158, 11, var(--scanline-opacity)) 2px, rgba(245, 158, 11, var(--scanline-opacity)) 4px)}#root{max-width:1600px;min-height:100vh;margin:0 auto}.segment-text{font-family:var(--font-segment);letter-spacing:.1em;text-transform:uppercase}.segment-glow{text-shadow:var(--glow-cyan)}.segment-glow-yellow{text-shadow:var(--glow-yellow);color:var(--performance-yellow)}.segment-glow-coral{text-shadow:var(--glow-coral);color:var(--vector-coral)}.segment-glow-sage{text-shadow:var(--glow-sage);color:var(--deep-sage)}@keyframes flipIn{0%{opacity:0;transform:rotateX(-90deg)}50%{opacity:.5;transform:rotateX(-45deg)}to{opacity:1;transform:rotateX(0)}}@keyframes terminalBlink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulseGlow{0%,to{box-shadow:0 0 10px var(--accent-glow)}50%{box-shadow:0 0 25px var(--accent-glow)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes goldenPulse{0%,to{box-shadow:0 0 10px #f59e0b4d}50%{box-shadow:0 0 30px #f59e0b99}}.text-accent{color:var(--accent-primary)}.text-yellow{color:var(--performance-yellow)}.text-coral{color:var(--vector-coral)}.text-sage{color:var(--deep-sage)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}.bg-panel{background:var(--panel-dark)}.bg-secondary{background:var(--bg-secondary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--text-dim);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--text-dim) var(--bg-primary)}::selection{background:var(--accent-primary);color:var(--bg-primary)}[data-theme=banana] ::selection{background:var(--accent-primary);color:#fffbeb}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}input,textarea,select,button{font-family:inherit;font-size:inherit}input::placeholder,textarea::placeholder{color:var(--text-dim)}.app,.terminal-header,.streak-banner,.controls-bar,.stats-bar,.month-navigation,.main-content,.calendar-day,.workout-item,.modal,.modal-header{transition:background-color var(--transition-normal), border-color var(--transition-normal), color var(--transition-normal)}
