.toast-container{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:400px;pointer-events:none}@media (min-width: 769px){.toast-container{bottom:24px}}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:8px;background:var(--panel-dark, #2a2a2a);border:1px solid var(--border-color, #3a3a3a);box-shadow:0 4px 20px #0006,0 0 20px #0003,inset 0 1px #ffffff0d;pointer-events:auto;animation:toastSlideIn .3s ease-out}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.toast-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.toast-message{flex:1;font-family:var(--font-mono, monospace);font-size:13px;line-height:1.5;color:var(--text-primary, #fff);letter-spacing:.02em}.toast-close{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin:-4px -4px -4px 0;background:transparent;border:none;border-radius:4px;color:var(--text-muted, #888);cursor:pointer;transition:all .15s ease}.toast-close:hover{background:rgba(255,255,255,.1);color:var(--text-primary, #fff)}.toast-close:active{transform:scale(.9)}.toast-success{border-color:var(--status-completed, #10B981);background:linear-gradient(135deg,rgba(16,185,129,.15) 0%,var(--panel-dark, #2a2a2a) 100%)}.toast-success .toast-icon{color:var(--status-completed, #10B981);filter:drop-shadow(0 0 6px rgba(16,185,129,.4))}.toast-success:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--status-completed, #10B981),transparent)}.toast-error{border-color:var(--vector-coral, #E6524A);background:linear-gradient(135deg,rgba(230,82,74,.15) 0%,var(--panel-dark, #2a2a2a) 100%)}.toast-error .toast-icon{color:var(--vector-coral, #E6524A);filter:drop-shadow(0 0 6px rgba(230,82,74,.4))}.toast-error:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--vector-coral, #E6524A),transparent)}.toast-warning{border-color:var(--performance-yellow, #FFD447);background:linear-gradient(135deg,rgba(255,212,71,.12) 0%,var(--panel-dark, #2a2a2a) 100%)}.toast-warning .toast-icon{color:var(--performance-yellow, #FFD447);filter:drop-shadow(0 0 6px rgba(255,212,71,.4))}.toast-warning:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--performance-yellow, #FFD447),transparent)}.toast-info{border-color:var(--accent-primary, #00C2FF);background:linear-gradient(135deg,rgba(0,194,255,.12) 0%,var(--panel-dark, #2a2a2a) 100%)}.toast-info .toast-icon{color:var(--accent-primary, #00C2FF);filter:drop-shadow(0 0 6px rgba(0,194,255,.4))}.toast-info:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary, #00C2FF),transparent)}.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,rgba(5,150,105,.08) 0%,var(--bg-primary, #fff) 100%);border-color:var(--status-completed, #059669)}[data-theme=light] .toast-error{background:linear-gradient(135deg,rgba(220,38,38,.08) 0%,var(--bg-primary, #fff) 100%);border-color:var(--crimson-drive, #DC2626)}[data-theme=light] .toast-warning{background:linear-gradient(135deg,rgba(217,119,6,.08) 0%,var(--bg-primary, #fff) 100%);border-color:var(--performance-yellow, #D97706)}[data-theme=light] .toast-info{background:linear-gradient(135deg,rgba(8,145,178,.08) 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,rgba(101,163,13,.12) 0%,var(--bg-primary, #FFFBEB) 100%)}[data-theme=banana] .toast-error{background:linear-gradient(135deg,rgba(220,38,38,.1) 0%,var(--bg-primary, #FFFBEB) 100%)}[data-theme=banana] .toast-warning,[data-theme=banana] .toast-info{background:linear-gradient(135deg,rgba(245,158,11,.12) 0%,var(--bg-primary, #FFFBEB) 100%)}@media (max-width: 768px){.toast-container{width:calc(100% - 24px)}.toast{padding:12px 14px}.toast-message{font-size:12px}}@media (max-width: 375px){.toast{padding:10px 12px;gap:10px}.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{display:flex;align-items:center;gap:4px}.theme-toggle{display:flex;align-items:center;gap:var(--space-sm);background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-xs) var(--space-md);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-segment);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);position:relative;overflow:hidden}.theme-toggle:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,var(--accent-glow) 50%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.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{font-size:16px;line-height:1;transition:transform var(--transition-normal)}.theme-toggle:hover .theme-icon{transform:rotate(15deg) scale(1.1)}.theme-label{color:var(--accent-primary);font-weight:600}.theme-indicator{display:flex;gap:3px;margin-left:var(--space-xs)}.indicator-dot{width:6px;height:6px;border-radius:50%;background:var(--text-dim);transition:all var(--transition-fast)}.indicator-dot.active{background:var(--accent-primary);box-shadow:0 0 6px var(--accent-primary)}.theme-toggle.theme-light{background:rgba(255,255,255,.9);border-color:var(--border-color)}.theme-toggle.theme-dark{background:var(--panel-dark)}.theme-toggle.theme-banana{background:rgba(255,215,0,.15);border-color:var(--accent-primary)}.hc-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--panel-dark);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted)}.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{display:flex;align-items:center;gap:2px}.font-scale-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--panel-dark);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);color:var(--text-primary);font-family:var(--font-segment);font-size:11px;font-weight:700;letter-spacing:0}.font-scale-btn:hover:not(:disabled){border-color:var(--accent-primary);color:var(--accent-primary)}.font-scale-btn:disabled{opacity:.35;cursor:default}@media (max-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;height:36px;min-width:44px;min-height:44px}.font-scale-btn{width:36px;height:36px;min-width:44px;min-height:44px;font-size:12px}}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-sm);background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-xs) var(--space-md);border-radius:4px;cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-segment);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-primary);position:relative;overflow:hidden}.user-menu-trigger:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,var(--accent-glow) 50%,transparent 100%);opacity:0;transition:opacity var(--transition-fast)}.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{width:24px;height:24px;border-radius:50%;overflow:hidden;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;border:1px solid var(--accent-primary);flex-shrink:0}.user-avatar img{width:100%;height:100%;object-fit:cover}.user-avatar svg{color:var(--accent-primary)}.user-name{color:var(--accent-primary);font-weight:600;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{color:var(--text-muted);transition:transform var(--transition-fast);flex-shrink:0}.chevron.rotated{transform:rotate(180deg)}.user-menu-dropdown{position:fixed;min-width:220px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 32px #0006;z-index:10000;overflow:hidden;animation:dropdownSlide .15s ease-out}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-tertiary)}.user-avatar-large{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;border:2px solid var(--accent-primary);box-shadow:0 0 12px var(--accent-glow);flex-shrink:0}.user-avatar-large img{width:100%;height:100%;object-fit:cover}.user-avatar-large svg{color:var(--accent-primary)}.user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.user-display-name{font-family:var(--font-segment);font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:.05em;text-transform:uppercase}.user-email{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-divider{height:1px;background:linear-gradient(90deg,transparent 0%,var(--border-color) 20%,var(--border-color) 80%,transparent 100%)}.user-menu-items{padding:var(--space-sm)}.user-menu-item{display:flex;align-items:center;gap:var(--space-sm);width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:4px;cursor:pointer;font-family:var(--font-segment);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);transition:all var(--transition-fast);text-align:left}.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{background:rgba(239,68,68,.15);color:#ef4444}.user-menu-item.logout:hover svg{color:#ef4444}.user-menu-footer{display:flex;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);font-size:9px;color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase}.status-indicator{width:6px;height:6px;border-radius:50%;background:var(--status-completed);box-shadow:0 0 8px var(--status-completed);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.user-menu-trigger{padding:var(--space-xs) var(--space-sm)}.user-name,.chevron{display:none}.user-menu-dropdown{right:-8px;min-width:200px}}[data-theme=light] .user-menu-trigger{background:rgba(255,255,255,.9)}[data-theme=light] .user-menu-dropdown{box-shadow:0 8px 32px #00000026}[data-theme=banana] .user-menu-trigger{background:rgba(255,215,0,.15);border-color:var(--accent-primary)}.bottom-tab-navigation{position:fixed;bottom:0;left:0;right:0;background:var(--bg-tertiary);border-top:2px solid var(--accent-primary);z-index:1000;padding-bottom:env(safe-area-inset-bottom)}.bottom-tab-navigation:before{content:"";position:absolute;top:-2px;left:0;width:100%;height:2px;background:var(--accent-primary);box-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-glow)}.tab-container{display:flex;justify-content:space-around;align-items:center;padding:6px 8px;max-width:500px;margin:0 auto;background:var(--bg-tertiary);min-height:64px}.bottom-tab-navigation.simplified .tab-container{justify-content:center;gap:8px}.bottom-tab-navigation.simplified .tab-item{min-width:60px;padding:8px 12px}.bottom-tab-navigation.simplified .tab-icon{margin-bottom:3px}.bottom-tab-navigation.simplified .tab-label{font-size:11px;font-weight:600}.tab-item{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:8px 12px;border-radius:4px;transition:all .15s ease;position:relative;min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent;color:var(--text-muted)}.tab-item:active{transform:scale(.95);background:var(--accent-glow)}.tab-item.active{color:var(--accent-primary)}.tab-icon{margin-bottom:2px;transition:transform .15s ease}.tab-item:active .tab-icon{transform:scale(.9)}.tab-item.active .tab-icon{transform:scale(1.1);filter:drop-shadow(0 0 4px var(--accent-primary))}.tab-label{font-family:var(--font-segment);font-size:11px;font-weight:600;line-height:1;text-align:center;letter-spacing:.08em;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tab-item.active .tab-label{font-weight:600;color:var(--accent-primary);text-shadow:var(--glow-cyan)}.active-indicator{position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:20px;height:3px;background:var(--accent-primary);border-radius:2px;box-shadow:0 0 6px var(--accent-primary)}@media (min-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{transform:none;filter:none}}.mobile-search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);z-index:2000;animation:slideInFromTop .3s ease-out;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}@keyframes slideInFromTop{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.mobile-search-container{display:flex;flex-direction:column;height:100%}.search-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:2px solid var(--accent-primary);background:var(--bg-tertiary);position:relative}.search-header:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:var(--accent-primary);box-shadow:var(--glow-cyan)}.search-header h2{font-family:var(--font-segment);font-size:16px;font-weight:600;color:var(--accent-primary);margin:0;letter-spacing:.15em;text-transform:uppercase;text-shadow:var(--glow-cyan)}.close-search-btn{background:transparent;border:1px solid var(--text-dim);color:var(--text-muted);cursor:pointer;padding:8px;border-radius:4px;transition:all .15s ease;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.close-search-btn:active{background:rgba(230,82,74,.2);border-color:var(--vector-coral);color:var(--vector-coral);transform:scale(.95)}.search-content{flex:1;padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg-primary)}.search-input-container{margin-bottom:32px}.mobile-search-input{width:100%;padding:16px;font-size:16px;font-family:var(--font-mono);border:2px solid var(--border-color);border-radius:4px;background:var(--panel-dark);color:var(--text-primary);transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.mobile-search-input::placeholder{color:var(--text-dim)}.mobile-search-input:focus{outline:none;border-color:var(--accent-primary);background:var(--bg-primary);box-shadow:var(--glow-cyan)}.filter-section{margin-bottom:32px}.filter-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--accent-primary);font-family:var(--font-segment);font-weight:600;font-size:12px;letter-spacing:.15em;text-transform:uppercase}.filter-header svg{color:var(--performance-yellow)}.workout-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:8px}.workout-type-btn{display:flex;flex-direction:column;align-items:center;padding:14px 8px;background:var(--panel-dark);border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .15s ease;color:var(--text-muted);min-height:44px}.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{font-size:18px;margin-bottom:4px}.type-label{font-family:var(--font-segment);font-size:9px;font-weight:500;text-align:center;line-height:1.2;letter-spacing:.1em;text-transform:uppercase}.workout-type-btn.selected .type-label{color:var(--bg-primary);font-weight:600}.search-actions{display:flex;gap:12px;margin-top:auto;padding-top:20px}.search-action-btn{flex:1;padding:16px;font-family:var(--font-segment);font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border-radius:4px;border:none;cursor:pointer;transition:all .15s ease;min-height:48px}.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{border-width:2px;box-shadow:none}[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{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) 0;gap:var(--space-sm)}.smc-nav-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.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{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;min-width:0}.smc-month-title h2{font-family:var(--font-segment, var(--font-mono));font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;white-space:nowrap;letter-spacing:.02em}.smc-today-btn{font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--accent-primary);background:transparent;border:1px solid var(--accent-primary);border-radius:12px;padding:2px 12px;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent}.smc-today-btn:hover{background:var(--accent-primary);color:#fff}.smc-today-btn:active{transform:scale(.95)}.smc-day-headers{display:grid;grid-template-columns:repeat(7,1fr);padding-bottom:var(--space-xs, 4px);border-bottom:1px solid var(--border-color);margin-bottom:2px}.smc-day-header{text-align:center;font-family:var(--font-mono);font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;padding:6px 0}.smc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;transition:opacity .2s ease}.smc-grid.smc-loading{opacity:.5;pointer-events:none}.smc-day{position:relative;display:flex;flex-direction:column;align-items:center;padding:6px 2px;min-height:56px;border-radius:8px;cursor:default;transition:background .12s ease;-webkit-tap-highlight-color:transparent}.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);font-size:.8rem;font-weight:500;color:var(--text-primary);line-height:1;margin-bottom:4px}.smc-today-number{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--accent-primary);color:#fff;font-weight:700;font-size:.75rem}.smc-day.smc-other-month .smc-day-number{color:var(--text-dim)}.smc-workout-info{display:flex;align-items:center;gap:3px;flex-wrap:wrap;justify-content:center}.smc-type-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.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);font-size:.6rem;font-weight:700;line-height:1;padding:1px 3px;border-radius:3px;color:#fff}.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:rgba(245,158,11,.06)}.smc-day.intensity-light{background:rgba(16,185,129,.05)}.smc-day.intensity-moderate{background:rgba(245,158,11,.06)}.smc-day.intensity-hard{background:rgba(249,115,22,.08)}.smc-day.intensity-max{background:rgba(239,68,68,.08)}@media (max-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 (min-width: 375px) and (max-width: 480px){.smc-day{min-height:60px}}@media (min-width: 481px){.smc-day{min-height:72px;padding:8px 4px}.smc-type-dot{width:10px;height:10px}.smc-rpe{font-size:.65rem;padding:2px 4px}.smc-month-title h2{font-size:1.5rem}}.exercise-logger{padding:12px 0;border-top:1px solid var(--border-primary, #374151)}.exercise-logger-header{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary, #9ca3af);margin-bottom:12px}.exercise-presets{margin-bottom:12px}.exercise-presets.inline{margin-top:8px;margin-bottom:0}.presets-label{font-size:.72rem;color:var(--text-secondary, #9ca3af);margin-bottom:6px;display:block}.presets-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preset-btn{display:flex;align-items:center;gap:6px;padding:10px 8px;border:1px solid var(--border-primary, #374151);border-radius:8px;background:var(--bg-secondary, #1f2937);color:var(--text-primary, #f9fafb);cursor:pointer;transition:border-color .15s,background .15s;min-height:44px}.preset-btn:hover,.preset-btn:active{border-color:var(--accent-primary, #22d3ee);background:var(--bg-tertiary, #111827)}.preset-btn.small{padding:6px;min-height:36px}.preset-icon{font-size:1rem;flex-shrink:0}.preset-name{font-size:.7rem;font-weight:500;text-align:left;line-height:1.2}.exercise-entry{border:1px solid var(--border-primary, #374151);border-radius:10px;padding:12px;margin-bottom:10px;background:var(--bg-secondary, #1f2937);transition:border-color .2s}.exercise-entry.saved{border-color:#10b981;opacity:.85}.exercise-header{display:flex;align-items:center;gap:8px;margin-bottom:10px}.exercise-name-input{flex:1;padding:8px 10px;border:1px solid var(--border-primary, #374151);border-radius:6px;background:var(--bg-primary, #111827);color:var(--text-primary, #f9fafb);font-size:.85rem;font-weight:600;min-height:44px}.exercise-name-input::placeholder{color:var(--text-muted, #6b7280)}.exercise-type-toggle{display:flex;border:1px solid var(--border-primary, #374151);border-radius:6px;overflow:hidden}.type-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:var(--bg-primary, #111827);color:var(--text-secondary, #9ca3af);cursor:pointer;transition:background .15s,color .15s}.type-btn.active{background:var(--accent-primary, #22d3ee);color:#000}.remove-exercise-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-primary, #374151);border-radius:6px;background:none;color:var(--text-secondary, #9ca3af);cursor:pointer;transition:color .15s,border-color .15s}.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:rgba(239,68,68,.1);border-color:#ef4444}.sets-container{margin-bottom:8px}.sets-header{display:grid;grid-template-columns:32px 1fr 1.2fr 60px;gap:6px;padding:0 4px 4px;align-items:center}.set-col-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6b7280)}.set-row{display:grid;grid-template-columns:32px 1fr 1.2fr 60px;gap:6px;padding:4px;border-radius:6px;align-items:center;transition:background .15s}.set-row.done{background:rgba(16,185,129,.08)}.set-number{font-size:.75rem;font-weight:700;color:var(--text-secondary, #9ca3af);text-align:center}.set-input{padding:8px;border:1px solid var(--border-primary, #374151);border-radius:6px;background:var(--bg-primary, #111827);color:var(--text-primary, #f9fafb);font-size:.9rem;font-weight:600;text-align:center;min-height:44px;width:100%}.set-input::placeholder{color:var(--text-muted, #6b7280);font-weight:400}.weight-input-group{display:flex;align-items:center;gap:4px}.weight-input{flex:1;min-width:0}.weight-unit{font-size:.7rem;color:var(--text-muted, #6b7280);flex-shrink:0}.set-actions{display:flex;align-items:center;gap:2px}.set-done-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:2px solid var(--border-primary, #374151);border-radius:50%;background:none;color:var(--text-secondary, #9ca3af);cursor:pointer;transition:all .15s}.set-done-btn.checked{background:#10B981;border-color:#10b981;color:#fff}.set-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:4px;background:none;color:var(--text-muted, #6b7280);cursor:pointer;opacity:.5;transition:opacity .15s,color .15s}.set-remove-btn:hover{opacity:1;color:#ef4444}.add-set-btn{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;padding:8px;margin-top:6px;border:1px dashed var(--border-primary, #374151);border-radius:6px;background:none;color:var(--text-secondary, #9ca3af);font-size:.75rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;min-height:44px}.add-set-btn:hover{border-color:var(--accent-primary, #22d3ee);color:var(--accent-primary, #22d3ee)}.cardio-container{margin-bottom:8px}.cardio-inputs{display:grid;grid-template-columns:1fr 1fr;gap:10px}.cardio-field label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted, #6b7280);margin-bottom:4px;display:block}.cardio-input-group{display:flex;align-items:center;gap:6px}.cardio-input{flex:1;padding:10px;border:1px solid var(--border-primary, #374151);border-radius:6px;background:var(--bg-primary, #111827);color:var(--text-primary, #f9fafb);font-size:1rem;font-weight:600;text-align:center;min-height:44px}.cardio-input::placeholder{color:var(--text-muted, #6b7280);font-weight:400}.cardio-unit{font-size:.75rem;color:var(--text-muted, #6b7280);flex-shrink:0;min-width:24px}.cardio-pace{margin-top:8px;font-size:.8rem;font-weight:600;color:var(--accent-primary, #22d3ee);text-align:center}.exercise-notes-input{width:100%;padding:8px 10px;border:1px solid var(--border-primary, #374151);border-radius:6px;background:var(--bg-primary, #111827);color:var(--text-primary, #f9fafb);font-size:.78rem;margin:8px 0;min-height:36px}.exercise-notes-input::placeholder{color:var(--text-muted, #6b7280)}.save-exercise-btn{width:100%;padding:10px;border:1px solid var(--accent-primary, #22d3ee);border-radius:8px;background:rgba(34,211,238,.1);color:var(--accent-primary, #22d3ee);font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s;min-height:44px}.save-exercise-btn:hover:not(:disabled){background:rgba(34,211,238,.2)}.save-exercise-btn:disabled{opacity:.5;cursor:not-allowed}.save-exercise-btn.saved{border-color:#10b981;background:rgba(16,185,129,.1);color:#10b981}.add-exercise-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:12px;border:1px dashed var(--border-primary, #374151);border-radius:10px;background:none;color:var(--text-secondary, #9ca3af);font-size:.8rem;font-weight:500;cursor:pointer;transition:border-color .15s,color .15s;min-height:48px}.add-exercise-btn:hover{border-color:var(--accent-primary, #22d3ee);color:var(--accent-primary, #22d3ee)}.show-presets-btn{display:block;margin:8px auto 0;padding:4px 12px;border:none;border-radius:4px;background:none;color:var(--text-muted, #6b7280);font-size:.7rem;cursor:pointer;text-decoration:underline}@media (max-width: 768px){.presets-grid{grid-template-columns:repeat(2,1fr)}.sets-header,.set-row{grid-template-columns:28px 1fr 1.2fr 56px}}@media (max-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;font-size:13px;color:var(--text-primary);line-height:1.6}.wpr-spacer{height:8px}.wpr-block-label{font-family:var(--font-segment, monospace);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;padding:4px 0;opacity:.75}.wpr-purpose{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:color-mix(in srgb,var(--wpr-accent) 10%,transparent);border-left:3px solid var(--wpr-accent);border-radius:0 8px 8px 0;margin:4px 0 10px;font-size:13px;color:var(--text-primary);font-weight:500}.wpr-purpose-icon{flex-shrink:0;font-size:14px;margin-top:1px}.wpr-section-header{display:flex;align-items:center;justify-content:space-between;padding:7px 12px;background:color-mix(in srgb,var(--wpr-accent) 7%,transparent);border-left:3px solid var(--wpr-accent);border-radius:0 6px 6px 0;margin:14px 0 6px}.wpr-section-left{display:flex;flex-direction:column;gap:2px;min-width:0}.wpr-section-name{font-family:var(--font-segment, monospace);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--wpr-accent)}.wpr-section-subtitle{font-size:13px;font-weight:600;color:var(--text-primary);letter-spacing:0;text-transform:none;line-height:1.3}.wpr-section-time{font-family:var(--font-segment, monospace);font-size:10px;font-weight:700;padding:2px 9px;background:var(--wpr-accent);color:#fff;border-radius:10px;letter-spacing:.05em;white-space:nowrap}.wpr-subheader{font-family:var(--font-segment, monospace);font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);margin:12px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--border-color)}.wpr-note{font-size:12px;color:var(--text-secondary);font-style:italic;padding:4px 0 4px 10px;border-left:2px solid var(--border-color);margin:4px 0}.wpr-target-rpe{display:inline-flex;align-items:center;gap:6px;margin:8px 0}.wpr-rpe-label{font-family:var(--font-segment, monospace);font-size:9px;font-weight:700;letter-spacing:.14em;color:var(--text-muted)}.wpr-rpe-value{font-family:var(--font-segment, monospace);font-size:12px;font-weight:700;color:var(--wpr-accent);padding:2px 9px;background:color-mix(in srgb,var(--wpr-accent) 12%,transparent);border:1px solid var(--wpr-accent);border-radius:4px}.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;padding:10px 12px;margin:10px 0}.wpr-injury-header{display:flex;align-items:center;gap:6px;font-family:var(--font-segment, monospace);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wpr-injury);margin-bottom:8px}.wpr-injury-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}.wpr-injury-list li{font-size:12px;color:var(--text-secondary);line-height:1.5;padding-left:14px;position:relative}.wpr-injury-list li:before{content:"·";position:absolute;left:0;color:var(--wpr-injury);font-weight:700}.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;padding:10px 12px;margin:10px 0}.wpr-nutrition-header{display:flex;align-items:center;gap:6px;font-family:var(--font-segment, monospace);font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wpr-nutrition);margin-bottom:10px}.wpr-nutrition-label{font-family:inherit;font-size:10px;color:var(--text-muted);font-weight:400;letter-spacing:.04em;text-transform:none}.wpr-macro-row{display:flex;gap:6px;flex-wrap:wrap}.wpr-macro-pill{display:flex;flex-direction:column;align-items:center;padding:6px 10px;border-radius:8px;min-width:54px;border:1px solid rgba(255,255,255,.08)}.wpr-pill-cal{background:color-mix(in srgb,#10B981 15%,transparent);border-color:color-mix(in srgb,#10B981 30%,transparent)}.wpr-pill-protein{background:color-mix(in srgb,#3B82F6 12%,transparent);border-color:color-mix(in srgb,#3B82F6 25%,transparent)}.wpr-pill-carbs{background:color-mix(in srgb,#F59E0B 12%,transparent);border-color:color-mix(in srgb,#F59E0B 25%,transparent)}.wpr-pill-fat{background:color-mix(in srgb,#A855F7 12%,transparent);border-color:color-mix(in srgb,#A855F7 25%,transparent)}.wpr-pill-val{font-family:var(--font-segment, monospace);font-size:13px;font-weight:700;color:var(--text-primary)}.wpr-pill-lbl{font-size:9px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-top:1px}.wpr-list{padding-left:20px;margin:4px 0 6px}.wpr-list li{font-size:13px;line-height:1.65;color:var(--text-primary);margin-bottom:3px}.wpr-ol{list-style-type:decimal}.wpr-ul{list-style-type:disc}.wpr-list strong{font-weight:700}.wpr-table-wrap{overflow-x:auto;margin:8px 0;border-radius:6px;border:1px solid var(--border-color)}.wpr-table{width:100%;border-collapse:collapse;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);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-align:left;padding:7px 10px;border-bottom:1px solid var(--border-color);white-space:nowrap}.wpr-table td{padding:6px 10px;color:var(--text-primary);border-bottom:1px solid var(--border-color);font-size:12px;vertical-align:top}.wpr-table tr:last-child td{border-bottom:none}.wpr-text{font-size:13px;line-height:1.65;color:var(--text-primary);margin:3px 0}.wpr-text strong,.wpr-list strong{font-weight:700;color:var(--text-primary)}[data-theme=light] .wpr-macro-pill{border-color:#00000014}[data-theme=light] .wpr-pill-cal{background:color-mix(in srgb,#10B981 10%,transparent)}[data-theme=light] .wpr-pill-protein{background:color-mix(in srgb,#3B82F6 8%,transparent)}[data-theme=light] .wpr-pill-carbs{background:color-mix(in srgb,#F59E0B 8%,transparent)}[data-theme=light] .wpr-pill-fat{background:color-mix(in srgb,#A855F7 8%,transparent)}[data-theme=light] .wpr-note{border-left-color:var(--text-dim)}[data-theme=banana] .wpr-injury-card{background:color-mix(in srgb,#B45309 8%,transparent)}.update-notification{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10001;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translate(-50%) translateY(100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.update-notification-content{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-secondary, #16162a);border:1px solid var(--accent, #00d4ff);border-radius:12px;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{padding:6px 12px;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.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{background:transparent;color:var(--text-secondary, #888);padding:6px 8px}.update-notification-button.dismiss:hover{color:var(--text-primary, #fff);background:rgba(255,255,255,.1)}@media (max-width: 480px){.update-notification{bottom:10px;left:10px;right:10px;transform:none}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-notification-content{width:100%;justify-content:center;flex-wrap:wrap;gap:8px}.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:skeletonShimmer 1.5s ease-in-out infinite;position:relative;overflow:hidden}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,194,255,.02) 2px,rgba(0,194,255,.02) 4px);pointer-events:none}.skeleton-icon{box-shadow:0 0 10px #00c2ff1a}.today-card-skeleton{background:var(--panel-dark, #2a2a2a);border:1px solid var(--border-color, #3a3a3a);border-radius:16px;margin:var(--space-md, 16px);overflow:hidden;box-shadow:0 0 20px #0003}.skeleton-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--border-color, #3a3a3a)}.skeleton-date{display:flex;flex-direction:column;gap:6px}.skeleton-main{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md, 16px) var(--space-lg, 20px)}.skeleton-workout-info{display:flex;align-items:center;gap:12px}.skeleton-accordion{padding:12px var(--space-lg, 20px);border-top:1px solid var(--border-color, #3a3a3a);display:flex;flex-direction:column;gap:8px}.skeleton-content{display:flex;flex-direction:column;gap:6px;padding-top:8px}.skeleton-rpe{padding:var(--space-md, 16px) var(--space-lg, 20px);border-top:1px solid var(--border-color, #3a3a3a);display:flex;flex-direction:column;gap:10px}.skeleton-rpe-buttons{display:flex;gap:4px}.calendar-day-skeleton{background:var(--panel-dark, #2a2a2a);border:1px solid var(--border-color, #3a3a3a);padding:6px;min-height:80px;display:flex;flex-direction:column;gap:8px}.calendar-day-skeleton .skeleton-workout{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:auto}.infinite-calendar-skeleton{display:flex;flex-direction:column;gap:2px}.skeleton-day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:8px 4px;background:var(--bg-tertiary, #3c3c3c);border-bottom:2px solid var(--accent-primary, #00C2FF)}.skeleton-week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.upcoming-strip-skeleton{padding:var(--space-md, 16px)}.skeleton-strip-header{margin-bottom:var(--space-sm, 8px)}.skeleton-strip-days{display:flex;gap:var(--space-sm, 8px);overflow-x:auto;padding-bottom:var(--space-sm, 8px)}.skeleton-strip-day{display:flex;flex-direction:column;align-items:center;gap:6px;padding:var(--space-sm, 8px) var(--space-md, 16px);background:var(--panel-dark, #2a2a2a);border:1px solid var(--border-color, #3a3a3a);border-radius:12px;min-width:70px}[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,transparent,transparent 2px,rgba(8,145,178,.02) 2px,rgba(8,145,178,.02) 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,transparent,transparent 2px,rgba(245,158,11,.02) 2px,rgba(245,158,11,.02) 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 (max-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 (max-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));border-radius:16px;overflow:hidden;margin:var(--space-md, 16px);position:relative;transition:all .2s ease;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:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#10B981,#059669)}.today-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md, 16px) var(--space-lg, 20px);border-bottom:1px solid var(--border-color, #2a2a4a)}.today-date{display:flex;flex-direction:column;gap:2px}.today-label{font-family:var(--font-segment, monospace);font-size:10px;font-weight:700;letter-spacing:.15em;color:var(--accent-primary, #00d4ff);text-transform:uppercase}.today-date-full{font-family:var(--font-segment, monospace);font-size:14px;font-weight:600;color:var(--text-primary, #fff)}.streak-badge{display:flex;align-items:center;gap:4px;background:linear-gradient(135deg,rgba(255,150,0,.2),rgba(255,100,0,.15));border:1px solid rgba(255,150,0,.4);border-radius:20px;padding:6px 14px;box-shadow:0 0 12px #ff960033,inset 0 1px #ffffff1a}.streak-icon{font-size:16px;filter:drop-shadow(0 0 6px rgba(255,150,0,.6));animation:flicker 2s ease-in-out infinite}@keyframes flicker{0%,to{opacity:1}50%{opacity:.8}}.streak-count{font-family:var(--font-segment, monospace);font-size:14px;font-weight:700;color:#ff9500;text-shadow:0 0 8px rgba(255,150,0,.4)}.today-header-right{display:flex;align-items:center;gap:8px}.today-status-badge{font-family:var(--font-segment, monospace);font-size:14px;font-weight:700;letter-spacing:.14em;padding:8px 16px;border-radius:4px;text-transform:uppercase}.today-status-badge.status-scheduled{background:rgba(0,212,255,.15);color:var(--accent-primary, #00d4ff);border:1px solid rgba(0,212,255,.4)}.today-status-badge.status-departed{background:rgba(16,185,129,.2);color:#10b981;border:1px solid rgba(16,185,129,.4)}.today-card-action{padding:0}.depart-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:56px;background:var(--workout-type-color, var(--accent-primary, #00d4ff));border:none;border-top:1px solid var(--border-color, #2a2a4a);color:#fff;font-family:var(--font-segment, monospace);font-size:16px;font-weight:700;letter-spacing:.15em;cursor:pointer;transition:all .15s ease;text-transform:uppercase}.depart-btn:hover{filter:brightness(1.1)}.depart-btn:active{transform:scale(.98);filter:brightness(.95)}.depart-btn.completed{background:linear-gradient(135deg,#10B981,#059669);color:#fff;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{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm, 8px);flex-wrap:wrap}.workout-type-info{display:flex;align-items:center;gap:12px}.workout-icon-large{font-size:36px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.workout-type-label{font-family:var(--font-segment, monospace);font-size:22px;font-weight:700;letter-spacing:.12em;color:var(--text-primary, #fff);text-transform:uppercase}.workout-type-text{display:flex;flex-direction:column;gap:2px}.complete-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:rgba(0,212,255,.1);border:2px solid var(--accent-primary, #00d4ff);border-radius:8px;color:var(--accent-primary, #00d4ff);font-family:var(--font-segment, monospace);font-size:12px;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .15s ease;min-height:44px;box-shadow:0 0 10px #00d4ff33}.complete-btn:hover{background:rgba(0,212,255,.2);box-shadow:0 0 15px #00d4ff4d}.complete-btn:active{transform:scale(.95)}.complete-btn.completed{background:linear-gradient(135deg,#10B981,#059669);border-color:#10b981;color:#fff;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{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px var(--space-lg, 20px);background:transparent;border:none;cursor:pointer;color:var(--text-secondary, #888);transition:all .15s ease}.accordion-header:hover{background:rgba(255,255,255,.02)}.accordion-header:active{background:rgba(255,255,255,.05)}.accordion-title{display:flex;align-items:center;gap:8px;font-family:var(--font-segment, monospace);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.accordion-icon{font-size:14px}.accordion-content{max-height:0;overflow:hidden;transition:max-height .25s ease,opacity .25s ease;opacity:0}.accordion-content.expanded{max-height:4000px;opacity:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.plan-preview,.plan-full{padding:0 var(--space-lg, 20px) var(--space-md, 16px)}.plan-preview .preview-text{font-size:14px;line-height:1.5;color:var(--text-primary, #fff);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.plan-full p{font-size:14px;line-height:1.6;color:var(--text-primary, #fff);margin:0 0 8px}.plan-full p:last-child{margin-bottom:0}.more-indicator{font-size:11px;color:var(--accent-primary, #00d4ff);font-style:italic;margin-top:4px;display:block}.log-preview,.log-full{padding:0 var(--space-lg, 20px) var(--space-md, 16px)}.log-preview .preview-text{font-size:14px;line-height:1.5;color:var(--text-primary, #fff);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;margin:0}.preview-placeholder{font-size:13px;color:var(--text-muted, #666);font-style:italic;margin:0}.log-textarea{width:100%;min-height:100px;padding:12px;background:var(--bg-tertiary, #161630);border:1px solid var(--border-color, #2a2a4a);border-radius:8px;color:var(--text-primary, #fff);font-family:inherit;font-size:14px;line-height:1.5;resize:vertical;transition:border-color .2s ease}.log-textarea:focus{outline:none;border-color:var(--accent-primary, #00d4ff)}.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{display:flex;align-items:center;gap:8px;margin-bottom:10px}.rpe-icon{font-size:14px}.rpe-label{font-family:var(--font-segment, monospace);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary, #888)}.rpe-current{font-family:var(--font-segment, monospace);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-left:auto}.rpe-current.rpe-easy{background:rgba(76,175,80,.2);color:#4caf50}.rpe-current.rpe-moderate{background:rgba(255,193,7,.2);color:#ffc107}.rpe-current.rpe-hard{background:rgba(255,152,0,.2);color:#ff9800}.rpe-current.rpe-max{background:rgba(244,67,54,.2);color:#f44336}.rpe-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.rpe-btn{height:44px;min-width:0;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary, #161630);border:1px solid var(--border-color, #2a2a4a);border-radius:6px;color:var(--text-secondary, #888);font-family:var(--font-segment, monospace);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.rpe-btn:active{transform:scale(.95)}.rpe-btn.selected{border-width:2px}.rpe-btn.rpe-easy.selected{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.rpe-btn.rpe-moderate.selected{background:rgba(255,193,7,.2);border-color:#ffc107;color:#ffc107}.rpe-btn.rpe-hard.selected{background:rgba(255,152,0,.2);border-color:#ff9800;color:#ff9800}.rpe-btn.rpe-max.selected{background:rgba(244,67,54,.2);border-color:#f44336;color:#f44336}.double-tap-hint{text-align:center;padding:8px;font-size:11px;color:var(--text-muted, #666);font-style:italic;border-top:1px solid var(--border-color, #2a2a4a)}.today-card-empty .today-card-body.empty{padding:var(--space-xl, 32px);text-align:center}.rest-day-message{display:flex;flex-direction:column;align-items:center;gap:8px}.rest-icon{font-size:48px;opacity:.8}.rest-text{font-family:var(--font-segment, monospace);font-size:18px;font-weight:600;color:var(--text-primary, #fff)}.rest-subtext{font-size:13px;color:var(--text-muted, #666)}@keyframes completePulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.today-card.completed .complete-btn{animation:completePulse .3s ease}@media (max-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{font-size:13px;padding:6px 12px}}[data-theme=light] .today-card{background:var(--panel-dark);border-color:var(--border-color)}[data-theme=light] .accordion-header:hover{background:rgba(0,0,0,.02)}[data-theme=light] .log-textarea,[data-theme=light] .rpe-btn{background:var(--bg-primary)}[data-contrast=high] .today-card{border-width:2px;box-shadow:none}[data-contrast=high] .today-card.completed{box-shadow:none}[data-contrast=high] .complete-btn{border-width:2px;box-shadow:none;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{border-width:2px;box-shadow:none}.upcoming-strip{padding:var(--space-md, 16px) 0}.upcoming-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--space-lg, 20px);margin-bottom:var(--space-sm, 8px)}.upcoming-title{font-family:var(--font-segment, monospace);font-size:11px;font-weight:600;letter-spacing:.15em;color:var(--text-secondary, #999);text-transform:uppercase}.swipe-hint{font-size:10px;color:var(--text-muted, #555);font-style:italic;opacity:.8}.upcoming-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.upcoming-scroll::-webkit-scrollbar{display:none}.upcoming-days{display:flex;gap:var(--space-sm, 8px);padding:0 var(--space-lg, 20px);padding-bottom:4px}.upcoming-day{flex:0 0 auto;width:80px;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 8px;background:var(--panel-dark);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .15s ease;position:relative;box-shadow:var(--shadow-sm)}.upcoming-day:active{transform:scale(.95);box-shadow:var(--shadow-sm)}.upcoming-day.has-workout{border-color:var(--accent-primary);border-style:solid;box-shadow:var(--glow-cyan)}.upcoming-day.completed{border-color:var(--status-completed, #10B981);border-style:solid;background:linear-gradient(135deg,rgba(5,150,105,.1) 0%,rgba(16,185,129,.05) 100%)}.upcoming-day.rest-day{opacity:.7}.day-date{display:flex;flex-direction:column;align-items:center;gap:2px}.day-name{font-family:var(--font-segment, monospace);font-size:10px;font-weight:600;letter-spacing:.1em;color:var(--text-secondary, #888);text-transform:uppercase}.day-num{font-family:var(--font-segment, monospace);font-size:20px;font-weight:700;color:var(--text-primary, #fff);text-shadow:0 1px 2px rgba(0,0,0,.3)}.day-workout{display:flex;flex-direction:column;align-items:center;gap:4px}.day-icon{font-size:24px;line-height:1;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.day-label{font-family:var(--font-segment, monospace);font-size:9px;font-weight:600;letter-spacing:.05em;color:var(--text-secondary, #888);text-transform:uppercase;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.completed-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:linear-gradient(135deg,#10B981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;color:#fff;font-weight:700;box-shadow:0 2px 4px #0003}@media (hover: hover){.upcoming-day:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.upcoming-day.has-workout:hover{box-shadow:var(--shadow-lg),var(--glow-cyan)}}@media (max-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,rgba(5,150,105,.08) 0%,rgba(16,185,129,.03) 100%)}[data-contrast=high] .upcoming-day{border-width:2px;box-shadow:none}[data-contrast=high] .upcoming-day.has-workout{border-width:3px;box-shadow:none}[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{display:flex;flex-direction:column;min-height:100%;padding-bottom:var(--space-md, 16px);overflow-y:auto;-webkit-overflow-scrolling:touch}.today-view>*{flex-shrink:0}@media (max-width: 768px){.today-view{padding-top:var(--space-sm, 8px)}}.week-view{padding:0 12px;max-width:900px;margin:0 auto;user-select:none;-webkit-user-select:none}.week-nav{display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px;gap:8px}.week-nav-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background .15s,border-color .15s;flex-shrink:0}.week-nav-btn:hover{background:var(--panel-hover);border-color:var(--accent-primary)}.week-nav-btn:active{transform:scale(.95)}.week-nav-center{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0}.week-range{font-size:.9rem;font-weight:600;color:var(--text-primary);white-space:nowrap}.week-today-btn{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);background:none;border:none;cursor:pointer;padding:2px 8px;border-radius:4px;transition:background .15s}.week-today-btn:hover{background:var(--accent-glow)}.week-summary{display:flex;align-items:center;justify-content:center;gap:16px;padding:6px 0 10px;font-size:.8rem;color:var(--text-secondary)}.week-summary-count{font-weight:500}.week-avg-rpe{font-weight:500;color:var(--accent-primary, #22d3ee)}.week-streak{font-weight:600;color:var(--text-primary)}.week-summary-loading{justify-content:center;min-height:24px}.stats-skeleton{display:inline-block;width:140px;height:14px;border-radius:4px;background:var(--border-color);animation:stats-pulse 1.2s ease-in-out infinite}@keyframes stats-pulse{0%,to{opacity:.4}50%{opacity:.8}}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.week-day-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 12px;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;min-height:120px;position:relative;overflow:hidden}.week-day-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--type-color, transparent);border-radius:10px 10px 0 0;opacity:0;transition:opacity .15s}.week-day-card.has-workout:before{opacity:1}.week-day-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.week-day-card:active{transform:scale(.97)}.week-day-card.rest{cursor:default;opacity:.6}.week-day-card.rest:hover{transform:none;box-shadow:none}.week-day-card.today{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-glow)}.week-day-card.completed{background:rgba(16,185,129,.06);border-color:#10b9814d}.week-day-card.missed{background:rgba(239,68,68,.04);border-color:#ef444433}.week-day-header{display:flex;flex-direction:column;align-items:center;gap:2px}.week-day-name{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary)}.week-day-date{font-size:1rem;font-weight:700;color:var(--text-primary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%}.week-day-date.today-date{background:var(--accent-primary);color:var(--bg-primary)}.week-day-content{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.week-workout-icon{font-size:1.4rem;line-height:1}.week-workout-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-primary);text-align:center;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{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--status-completed);color:var(--bg-primary);font-size:.65rem;font-weight:700}.badge-missed{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:var(--status-delayed);color:var(--bg-primary);font-size:.7rem;font-weight:700}.week-rpe{font-size:.6rem;font-weight:700;padding:1px 5px;border-radius:4px;line-height:1.3}.week-rpe.rpe-easy{background:rgba(16,185,129,.15);color:var(--status-completed)}.week-rpe.rpe-moderate{background:rgba(245,158,11,.15);color:var(--performance-yellow)}.week-rpe.rpe-hard{background:rgba(249,115,22,.15);color:var(--vector-coral)}.week-rpe.rpe-max{background:rgba(239,68,68,.15);color:var(--crimson-drive)}.week-streak-flame{font-size:.75rem;line-height:1}.week-swipe-hint{text-align:center;font-size:.7rem;color:var(--text-dim);padding:12px 0 4px;display:none}@media (max-width: 768px){.week-view{padding:0 8px}.week-days{gap:4px}.week-day-card{padding:8px 2px 10px;min-height:100px;border-radius:8px;min-width:44px}.week-day-name{font-size:.6rem}.week-day-date{font-size:.85rem;width:24px;height:24px}.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{font-size:.55rem;padding:1px 3px}.week-swipe-hint{display:block}.week-nav-btn{width:36px;height:36px}.week-range{font-size:.82rem}}@media (max-width: 380px){.week-day-card{padding:6px 1px 8px;min-height:88px}.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:rgba(16,185,129,.1);border-color:#10b9814d}[data-theme=dark] .week-day-card.missed{background:rgba(239,68,68,.08);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);font-weight:700;border:1px solid var(--accent-primary)}[data-contrast=high] .week-day-card{border-width:2px;box-shadow:none}[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 currentColor;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:transparent}[data-contrast=high] .week-day-card.rest{opacity:.8}[data-contrast=high] .stats-skeleton{border:1px solid var(--text-secondary);background:transparent}.floating-action-button{position:fixed;bottom:calc(70px + env(safe-area-inset-bottom,0px));right:16px;z-index:999;display:flex;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:50%;background:var(--accent-primary, #22d3ee);color:#000;cursor:pointer;box-shadow:0 4px 12px #0000004d,0 0 20px #22d3ee33;transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.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 (min-width: 769px){.floating-action-button{display:none}}[data-contrast=high] .floating-action-button{box-shadow:none;border:3px solid #000}.today-cta{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;border:none;border-left:4px solid var(--cta-accent, #22d3ee);background:var(--bg-secondary, #1f2937);color:var(--text-primary, #f9fafb);font-size:.82rem;text-align:left;cursor:pointer;transition:background .15s;min-height:48px}.today-cta:hover,.today-cta:active{background:var(--bg-tertiary, #111827)}.today-cta-icon{font-size:1.2rem;flex-shrink:0}.today-cta-text{line-height:1.3}.today-cta-text strong{color:var(--cta-accent, #22d3ee);text-transform:capitalize}@media (min-width: 769px){.today-cta{display:none}}.mcp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:rgba(0,0,0,.5);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:mcp-fade-in .15s ease}@keyframes mcp-fade-in{0%{opacity:0}to{opacity:1}}.mcp-modal{background:var(--bg-primary);width:100%;max-width:520px;max-height:85vh;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;animation:mcp-slide-up .2s ease}@keyframes mcp-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (min-width: 769px){.mcp-modal-overlay{align-items:center;padding:2rem}.mcp-modal{border-radius:12px;max-height:80vh}}.mcp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.mcp-modal-title{display:flex;align-items:center;gap:10px;color:var(--accent-primary)}.mcp-modal-title h2{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.mcp-modal-close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:var(--bg-secondary);color:var(--text-muted);cursor:pointer;transition:all .15s ease}.mcp-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mcp-modal-body{overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px;-webkit-overflow-scrolling:touch}.mcp-section{display:flex;flex-direction:column;gap:8px}.mcp-section-header{display:flex;align-items:center;gap:8px;color:var(--accent-primary)}.mcp-section h3{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.mcp-section-desc{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);margin:0;line-height:1.4}.mcp-auth-note{font-family:var(--font-mono);font-size:.72rem;color:var(--text-muted);margin:6px 0 0;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);font-size:.72rem;color:var(--text-primary);line-height:1.6;white-space:pre}.mcp-code-block .mcp-copy-btn{width:100%;border-top:1px solid var(--border-color);border-radius:0}.mcp-config-paths{display:flex;flex-direction:column;gap:4px;font-family:var(--font-mono);font-size:.7rem;color:var(--text-muted)}.mcp-config-paths code{color:var(--accent-primary);font-size:.7rem}.mcp-steps{font-family:var(--font-mono);font-size:.8rem;color:var(--text-primary);padding-left:1.25rem;margin:0;line-height:1.8}.mcp-steps strong{color:var(--accent-primary)}.mcp-url-block{display:flex;align-items:center;gap:8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px}.mcp-url-block code{font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mcp-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;font-family:var(--font-mono);font-size:.75rem;font-weight:500;color:var(--text-primary);background:var(--bg-primary);border:none;cursor:pointer;transition:all .15s ease;white-space:nowrap;min-height:36px}.mcp-copy-btn:hover{color:var(--accent-primary);background:var(--bg-tertiary)}.mcp-copy-btn:active{transform:scale(.97)}.mcp-tools-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:4px 12px}.mcp-tools-list li{display:flex;align-items:baseline;gap:5px;font-family:var(--font-mono);font-size:.72rem;color:var(--text-primary);padding:3px 0}.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{font-weight:600;white-space:nowrap}.mcp-tool-desc{color:var(--text-muted);font-size:.65rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mcp-system-heading{margin-top:12px!important;color:var(--text-muted)!important;font-size:.75rem!important}.mcp-tools-system{opacity:.7}.mcp-full-settings-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);text-decoration:none;padding:8px 0;transition:color .15s ease}.mcp-full-settings-link:hover{color:var(--accent-primary)}@media (max-width: 374px){.mcp-tools-list{grid-template-columns:1fr}.mcp-code-block code{font-size:.65rem}}.pull-refresh-indicator{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-tertiary) 100%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden;border-bottom:2px solid var(--border-color);transition:border-color .2s ease}.pull-refresh-indicator.ready{border-color:var(--accent-primary)}.pull-refresh-indicator.refreshing{border-color:var(--status-completed)}.pull-refresh-content{display:flex;align-items:center;gap:var(--space-sm);padding-bottom:var(--space-md);font-family:var(--font-segment);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);transition:color .2s ease}.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 ease}.pull-refresh-content .spinning{animation:spin 1s linear infinite}.terminal-header{background:var(--header-gradient);border-bottom:2px solid var(--header-border);padding:var(--space-lg) var(--space-xl);display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.terminal-header:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-primary) 20%,var(--accent-primary) 80%,transparent 100%);animation:pulseGlow 2s ease-in-out infinite}.header-controls{display:flex;align-items:center;gap:var(--space-md)}.mobile-search-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-primary, #374151);border-radius:8px;background:var(--bg-secondary, #1f2937);color:var(--text-secondary, #9ca3af);cursor:pointer;transition:color .15s,border-color .15s}.mobile-search-btn:hover,.mobile-search-btn:active{color:var(--accent-primary, #22d3ee);border-color:var(--accent-primary, #22d3ee)}.mcp-connect-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-primary, #374151);border-radius:8px;background:var(--bg-secondary, #1f2937);color:var(--text-secondary, #9ca3af);cursor:pointer;transition:color .15s,border-color .15s}.mcp-connect-btn:hover,.mcp-connect-btn:active{color:var(--accent-primary, #22d3ee);border-color:var(--accent-primary, #22d3ee)}.terminal-brand{display:flex;align-items:center;gap:var(--space-md)}.terminal-logo{width:48px;height:48px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.terminal-logo img{width:100%;height:100%;object-fit:contain}.terminal-title{display:flex;flex-direction:column}.terminal-title h1{font-family:var(--font-segment);font-size:28px;letter-spacing:.15em;color:var(--accent-primary);text-shadow:var(--glow-cyan);margin:0;text-transform:uppercase}.terminal-subtitle{font-size:11px;color:var(--text-muted);letter-spacing:.3em;text-transform:uppercase;margin-top:2px}.view-toggle{display:flex;gap:var(--space-xs);background:var(--bg-primary);padding:var(--space-xs);border-radius:4px;border:var(--border-subtle)}.view-toggle button{background:transparent;border:none;color:var(--text-muted);padding:var(--space-sm) var(--space-md);cursor:pointer;font-family:var(--font-segment);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:all var(--transition-fast);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:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid var(--accent-primary)}.controls-bar{background:var(--panel-dark);padding:var(--space-md) var(--space-xl);display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-subtle);gap:var(--space-md)}.search-controls{display:flex;gap:var(--space-sm);flex:1;max-width:500px}.search-input{flex:1;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);font-size:13px;transition:all var(--transition-fast)}.search-input:focus{border-color:var(--accent-primary);box-shadow:var(--glow-cyan);outline:none}.search-btn,.clear-btn,.refresh-btn,.export-btn{display:flex;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);font-size:11px;letter-spacing:.1em;text-transform:uppercase;transition:all var(--transition-fast)}.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:spin 1s linear infinite}.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:spin 1s linear infinite}.filter-controls{display:flex;gap:var(--space-sm)}.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);font-size:13px;cursor:pointer}.type-filter:focus{border-color:var(--accent-primary);outline:none}.stats-bar{background:var(--bg-primary);padding:var(--space-sm) var(--space-xl);display:flex;justify-content:flex-start;gap:var(--space-2xl);border-bottom:var(--border-subtle);font-family:var(--font-segment);font-size:12px;letter-spacing:.1em}.stats-bar span{display:flex;align-items:center;gap:var(--space-xs);color:var(--text-muted);text-transform:uppercase}.stats-bar span strong,.stats-bar span:last-child{color:var(--accent-primary)}.month-navigation{background:linear-gradient(180deg,var(--panel-dark) 0%,rgba(0,0,0,.4) 100%);display:flex;justify-content:center;align-items:center;gap:var(--space-xl);padding:var(--space-lg) var(--space-xl);border-bottom:2px solid var(--accent-primary);position:relative}.month-navigation:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:200px;height:2px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);box-shadow:0 0 20px var(--accent-glow)}.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);font-size:18px;font-weight:600;transition:all var(--transition-fast);text-shadow:0 0 10px var(--accent-glow)}.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);font-size:24px;font-weight:700;color:var(--text-primary);letter-spacing:.2em;text-transform:uppercase;min-width:300px;text-align:center;text-shadow:0 2px 10px rgba(0,0,0,.3)}.month-stats-header{display:flex;justify-content:space-between;align-items:center;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);gap:var(--space-xl)}.stats-progress{display:flex;align-items:center;gap:var(--space-lg);flex:1}.stats-numbers{display:flex;align-items:baseline;gap:4px}.stats-completed{font-family:var(--font-segment);font-size:36px;font-weight:700;color:var(--status-completed);text-shadow:0 0 20px rgba(16,185,129,.3)}.stats-separator{font-family:var(--font-segment);font-size:24px;color:var(--text-dim)}.stats-total{font-family:var(--font-segment);font-size:24px;color:var(--text-muted)}.stats-label{font-family:var(--font-segment);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--text-dim);margin-left:var(--space-sm)}.progress-bar-container{flex:1;max-width:200px;height:12px;background:var(--bg-tertiary);border-radius:6px;position:relative;overflow:hidden;border:1px solid var(--border-color)}.progress-bar-fill{height:100%;background:linear-gradient(90deg,#059669 0%,#10B981 50%,#34D399 100%);border-radius:6px;transition:width .5s ease-out;box-shadow:0 0 10px #10b98180}.progress-percentage{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);font-family:var(--font-segment);font-size:9px;font-weight:600;color:var(--text-primary);text-shadow:0 1px 2px rgba(0,0,0,.5)}.stats-streak{display:flex;gap:var(--space-lg)}.streak-current,.streak-best{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--panel-dark);border-radius:4px;border:1px solid var(--border-color)}.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);font-size:24px;font-weight:700;color:var(--text-primary)}.stats-streak .streak-label{font-family:var(--font-segment);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}.stats-types{display:flex;gap:var(--space-sm)}.type-stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--panel-dark);border-radius:4px;border:1px solid var(--border-color);border-bottom:3px solid var(--type-color, var(--text-dim));min-width:44px}.type-stat .type-icon{font-size:18px}.type-stat .type-count{font-family:var(--font-segment);font-size:14px;font-weight:600;color:var(--text-primary)}.main-content{flex:1;padding:var(--space-lg);background:var(--bg-primary);min-height:500px}.retry-btn:hover{background:var(--accent-secondary);transform:translateY(-1px)}.retry-btn:active{transform:translateY(0)}.calendar-grid{width:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(0,194,255,.03) 0%,transparent 100%);border-radius:8px;padding:4px}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:3px}.calendar-day-header{background:linear-gradient(180deg,var(--bg-tertiary) 0%,rgba(0,0,0,.3) 100%);color:var(--accent-primary);text-align:center;padding:var(--space-sm) var(--space-xs);font-family:var(--font-segment);font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border-bottom:3px solid var(--accent-primary);text-shadow:0 0 10px var(--accent-glow)}.calendar-body{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.calendar-day{background:var(--panel-dark);border:1px solid var(--border-color);min-height:120px;padding:var(--space-sm);cursor:pointer;position:relative;display:flex;flex-direction:column;gap:4px;transition:all var(--transition-fast);overflow:hidden}.calendar-day:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:transparent;transition:background var(--transition-fast)}.calendar-day:after{content:"";position:absolute;top:8px;right:8px;width:0;height:0;opacity:0;transition:all .3s ease}.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,rgba(5,150,105,.15) 0%,rgba(5,150,105,.05) 50%,rgba(16,185,129,.1) 100%);border-color:#10b981;border-width:2px;box-shadow:inset 0 0 20px #10b9811a,0 4px 15px #10b98133}.calendar-day.completed:before{background:linear-gradient(180deg,#10B981 0%,#059669 100%);width:5px;box-shadow:0 0 10px #10b98180}.calendar-day.completed:after{content:"✓";width:24px;height:24px;background:linear-gradient(135deg,#10B981 0%,#059669 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;opacity:1;box-shadow:0 2px 8px #10b98166}.calendar-day.completed.intensity-light{background:linear-gradient(135deg,rgba(5,150,105,.08) 0%,rgba(5,150,105,.03) 50%,rgba(16,185,129,.05) 100%);box-shadow:inset 0 0 15px #10b9810d,0 2px 10px #10b9811a}.calendar-day.completed.intensity-moderate{background:linear-gradient(135deg,rgba(5,150,105,.15) 0%,rgba(5,150,105,.08) 50%,rgba(16,185,129,.12) 100%);box-shadow:inset 0 0 20px #10b9811a,0 4px 15px #10b98133}.calendar-day.completed.intensity-hard{background:linear-gradient(135deg,rgba(5,150,105,.22) 0%,rgba(5,150,105,.12) 50%,rgba(16,185,129,.18) 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,rgba(5,150,105,.3) 0%,rgba(16,185,129,.2) 50%,rgba(52,211,153,.25) 100%);border-color:#047857;border-width:3px;box-shadow:inset 0 0 30px #10b98133,0 4px 25px #10b98166,0 0 40px #10b98133}.calendar-day.completed.intensity-max:before{background:linear-gradient(180deg,#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(180deg,#EF4444 0%,#DC2626 100%);width:5px}.calendar-day.missed{border-color:#ef4444;border-width:2px;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.02) 100%)}.calendar-day.upcoming:before{background:linear-gradient(180deg,var(--accent-primary) 0%,#0E7490 100%);width:4px;animation:upcomingPulse 2s ease-in-out infinite}.calendar-day.upcoming{border-style:solid;border-width:2px;border-color:var(--accent-primary);background:linear-gradient(135deg,rgba(0,194,255,.08) 0%,transparent 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{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 30px #0006,0 0 20px #00c2ff26;z-index:10}.calendar-day.completed:hover{box-shadow:0 12px 30px #0006,0 0 30px #10b9814d}.day-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.date-number{font-family:var(--font-segment);font-weight:800;font-size:20px;color:var(--text-primary);line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.2)}.calendar-day.completed .date-number{color:#10b981;text-shadow:0 0 10px rgba(16,185,129,.3)}.calendar-day.today .date-number{color:var(--accent-primary);text-shadow:0 0 15px var(--accent-glow)}.day-badges{display:flex;gap:4px;align-items:center}.streak-flame{font-size:16px;animation:flicker 1.5s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(255,150,0,.5))}.badge-notes{font-size:14px;opacity:.8;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.workout-content{display:flex;flex-direction:column;gap:8px;flex:1}.workout-main{display:flex;align-items:center;gap:10px}.workout-icon{font-size:32px;line-height:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));transition:transform .2s ease}.calendar-day:hover .workout-icon{transform:scale(1.1)}.calendar-day.completed .workout-icon{filter:drop-shadow(0 3px 6px rgba(0,0,0,.4)) drop-shadow(0 0 8px rgba(16,185,129,.3))}.workout-label{font-family:var(--font-segment);font-size:11px;font-weight:700;color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.3)}.calendar-day.completed .workout-label{color:#10b981}.rpe-indicator{display:flex;align-items:center}.rpe-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;font-family:var(--font-segment);font-size:13px;font-weight:700;border-radius:4px;border:2px solid}.rpe-badge.rpe-easy{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.rpe-badge.rpe-moderate{background:rgba(255,193,7,.2);border-color:#ffc107;color:#ffc107}.rpe-badge.rpe-hard{background:rgba(255,152,0,.2);border-color:#ff9800;color:#ff9800}.rpe-badge.rpe-max{background:rgba(244,67,54,.2);border-color:#f44336;color:#f44336}.rpe-badge.rpe-expected{background:transparent;border-color:var(--text-dim);color:var(--text-dim);border-style:dashed}.missed-indicator{font-family:var(--font-segment);font-size:9px;font-weight:700;color:var(--vector-coral);letter-spacing:.1em;padding:2px 6px;background:rgba(230,82,74,.15);border:1px solid var(--vector-coral);border-radius:2px;text-align:center}.list-view{display:flex;flex-direction:column;gap:2px;max-height:calc(100vh - 280px);overflow-y:auto}.list-view:before{content:"SESSIONS";display:block;font-family:var(--font-segment);font-size:14px;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)}.workout-item{background:var(--panel-dark);border:1px solid var(--border-color);padding:var(--space-md);cursor:pointer;display:grid;grid-template-columns:140px 60px 1fr 100px 50px;align-items:center;gap:var(--space-md);transition:all var(--transition-fast);position:relative}.workout-item:before{content:"";position:absolute;left:0;top:0;width:4px;height:100%;background:var(--status-scheduled)}.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);font-size:13px;color:var(--performance-yellow);letter-spacing:.1em;text-transform:uppercase}.workout-emoji{font-size:24px;text-align:center}.workout-content{flex:1;display:flex;align-items:center;gap:var(--space-md)}.workout-description{flex:1;font-size:13px;color:var(--text-primary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-badge{font-family:var(--font-segment);font-size:10px;letter-spacing:.15em;text-transform:uppercase;padding:4px 8px;border-radius:2px;text-align:center}.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);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;transition:all var(--transition-fast)}.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);font-size:14px;letter-spacing:.1em;text-transform:uppercase}.search-results{padding:var(--space-md)}.search-header{font-family:var(--font-segment);font-size:12px;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)}.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{display:flex;justify-content:center;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-xl)}.year-navigation h2{font-family:var(--font-segment);font-size:24px;color:var(--accent-primary);letter-spacing:.2em;text-transform:uppercase;text-shadow:var(--glow-cyan);min-width:320px;text-align:center}.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);font-size:14px;letter-spacing:.1em;transition:all var(--transition-fast)}.year-navigation button:hover{background:var(--accent-primary);color:var(--bg-primary)}.annual-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md);margin-bottom:var(--space-xl)}.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:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--bg-tertiary);transition:background var(--transition-fast)}.annual-month:hover{border-color:var(--accent-primary);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.month-name{font-family:var(--font-segment);font-size:16px;color:var(--text-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm)}.month-stats{display:flex;flex-direction:column;gap:4px}.completion-rate{font-family:var(--font-segment);font-size:28px;font-weight:700;color:var(--accent-primary);text-shadow:var(--glow-cyan)}.workout-count{font-family:var(--font-segment);font-size:11px;color:var(--text-muted);letter-spacing:.1em}.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);font-size:14px;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-md)}.year-stats{display:flex;gap:var(--space-xl);font-family:var(--font-segment);font-size:13px;color:var(--text-muted);letter-spacing:.1em}.year-stats div{padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:var(--border-subtle)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .2s ease}.modal{background:var(--panel-dark);border:1px solid var(--border-color);width:90%;max-width:600px;max-height:85vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}.modal:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--accent-primary),var(--performance-yellow),var(--vector-coral))}.modal-header{background:var(--bg-tertiary);padding:var(--space-lg) var(--space-xl);display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-subtle);position:sticky;top:0;z-index:10}.modal-header h3{font-family:var(--font-segment);font-size:16px;color:var(--text-primary);letter-spacing:.1em;text-transform:uppercase}.modal-close{background:transparent;border:1px solid var(--text-dim);color:var(--text-muted);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;transition:all var(--transition-fast)}.modal-close:hover{border-color:var(--vector-coral);color:var(--vector-coral)}.modal-body{padding:var(--space-xl)}.modal-body .workout-type{display:inline-flex;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);font-size:14px;color:var(--accent-primary);letter-spacing:.1em;text-transform:uppercase}.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);font-size:14px;line-height:1.6;color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word}.workout-full-description.mobile-expanded{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.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);font-size:12px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast)}.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{display:block;font-family:var(--font-segment);font-size:11px;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm)}.notes-section textarea{width:100%;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:13px;line-height:1.5;resize:vertical;min-height:120px}.notes-section textarea:focus{border-color:var(--accent-primary);outline:none}.rpe-section{margin-bottom:var(--space-lg)}.rpe-section>label{display:block;font-family:var(--font-segment);font-size:11px;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;margin-bottom:var(--space-sm)}.rpe-buttons{display:flex;gap:4px;margin-bottom:var(--space-xs)}.rpe-btn{flex:1;height:42px;background:var(--bg-primary);border:2px solid var(--border-color);color:var(--text-muted);font-family:var(--font-segment);font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast);position:relative}.rpe-btn.rpe-easy{border-color:#4caf5066;color:#4caf50}.rpe-btn.rpe-easy:hover{background:rgba(76,175,80,.15);border-color:#4caf50}.rpe-btn.rpe-easy.selected{background:#4CAF50;border-color:#4caf50;color:#000;box-shadow:0 0 12px #4caf5080}.rpe-btn.rpe-moderate{border-color:#ffc10766;color:#ffc107}.rpe-btn.rpe-moderate:hover{background:rgba(255,193,7,.15);border-color:#ffc107}.rpe-btn.rpe-moderate.selected{background:#FFC107;border-color:#ffc107;color:#000;box-shadow:0 0 12px #ffc10780}.rpe-btn.rpe-hard{border-color:#ff980066;color:#ff9800}.rpe-btn.rpe-hard:hover{background:rgba(255,152,0,.15);border-color:#ff9800}.rpe-btn.rpe-hard.selected{background:#FF9800;border-color:#ff9800;color:#000;box-shadow:0 0 12px #ff980080}.rpe-btn.rpe-max{border-color:#f4433666;color:#f44336}.rpe-btn.rpe-max:hover{background:rgba(244,67,54,.15);border-color:#f44336}.rpe-btn.rpe-max.selected{background:#F44336;border-color:#f44336;color:#fff;box-shadow:0 0 12px #f4433680}.rpe-labels{display:flex;justify-content:space-between;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:0 2px}.rpe-label-easy{color:#4caf50}.rpe-label-moderate{color:#ffc107}.rpe-label-hard{color:#ff9800}.rpe-label-max{color:#f44336}.rpe-row{display:flex;align-items:center;justify-content:center;gap:4px}.rpe-circle{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-color);background:var(--bg-primary);color:var(--text-secondary);font-family:var(--font-segment);font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;padding:0;min-width:32px;flex-shrink:0}.rpe-circle:active{transform:scale(.9)}.rpe-circle.rpe-easy{border-color:#4caf5066;color:#4caf50}.rpe-circle.rpe-easy.selected{background:#4CAF50;border-color:#4caf50;color:var(--bg-primary)}.rpe-circle.rpe-moderate{border-color:#ffc10766;color:#ffc107}.rpe-circle.rpe-moderate.selected{background:#FFC107;border-color:#ffc107;color:var(--bg-primary)}.rpe-circle.rpe-hard{border-color:#ff980066;color:#ff9800}.rpe-circle.rpe-hard.selected{background:#FF9800;border-color:#ff9800;color:var(--bg-primary)}.rpe-circle.rpe-max{border-color:#f4433666;color:#f44336}.rpe-circle.rpe-max.selected{background:#F44336;border-color:#f44336;color:var(--bg-primary)}[data-contrast=high] .rpe-circle{border-width:2px}[data-contrast=high] .rpe-circle.selected{border-width:3px;font-weight:800}@media (max-width: 380px){.rpe-circle{width:28px;height:28px;font-size:10px;min-width:28px}.rpe-row{gap:2px}}.save-session-btn{width:100%;background:var(--bg-tertiary);border:2px solid var(--text-dim);color:var(--text-muted);padding:var(--space-md);font-family:var(--font-segment);font-size:12px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast)}.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:pulse-glow 2s ease-in-out infinite}.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{display:flex;flex-direction:column;gap:var(--space-lg)}.modal-plan-column{order:2}.modal-input-column{order:1}.plan-toggle-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;margin-top:var(--space-sm);border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-secondary);font-size:.8rem;font-weight:600;cursor:pointer;min-height:44px;transition:border-color .15s}.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{display:block;margin-top:var(--space-md);max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.auto-saved-indicator{display:inline-block;margin-top:4px;font-size:.75rem;font-weight:600;color:#10b981;animation:fadeInOut 2s ease-in-out}@keyframes fadeInOut{0%{opacity:0}15%{opacity:1}75%{opacity:1}to{opacity:0}}@media (min-width: 768px){.modal{max-width:900px}.modal-columns{display:grid;grid-template-columns:55% 45%;gap:var(--space-xl);align-items:start}.modal-plan-column{order:1;max-height:60vh;overflow-y:auto;padding-right:var(--space-md);scrollbar-width:thin;scrollbar-color:var(--border-color) transparent}.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:transparent}.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{position:sticky;top:0;border-left:1px solid var(--border-color);padding-left:var(--space-xl)}.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{min-height:100px;resize:vertical}}.export-modal .modal-body{padding:var(--space-xl)}.export-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-family:var(--font-segment);font-size:11px;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase}.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{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.export-confirm-btn,.export-cancel-btn{flex:1;padding:var(--space-md);font-family:var(--font-segment);font-size:12px;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.export-confirm-btn{background:var(--status-completed);border:none;color:#fff}.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 (max-width: 1024px){.annual-grid{grid-template-columns:repeat(3,1fr)}.workout-item{grid-template-columns:120px 50px 1fr 80px 40px}}@media (max-width: 768px){.terminal-header{padding:var(--space-md);flex-direction:column;gap:var(--space-md)}.terminal-title h1{font-size:20px}.view-toggle{width:100%;justify-content:center}.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{font-size:14px;min-width:auto}.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{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.annual-month{padding:var(--space-md)}.completion-rate{font-size:20px}.workout-item{grid-template-columns:1fr;gap:var(--space-sm);padding:var(--space-md)}.list-view{max-height:calc(100vh - 350px)}.modal-overlay{align-items:flex-end;padding:0}.modal{width:100%;max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;border:none;border-top:4px solid var(--accent-primary)}.modal:before{display:none}.modal-header{border-radius:16px 16px 0 0}.modal-body{padding:var(--space-lg);padding-bottom:100px}.modal-bottom-actions{display:block;position:sticky;bottom:0;background:var(--bg-tertiary);padding:var(--space-md);border-top:var(--border-subtle)}.modal-close-bottom{display:block;width:100%;background:var(--accent-primary);border:none;color:var(--bg-primary);padding:var(--space-md);font-family:var(--font-segment);font-size:14px;letter-spacing:.15em;text-transform:uppercase;cursor:pointer}.streak-banner{flex-direction:column;gap:var(--space-md);padding:var(--space-md)}.streak-item{font-size:12px}.streak-item strong{font-size:18px}}@media (max-width: 480px){.calendar-day-header{font-size:9px;padding:4px 2px}.calendar-day{min-height:55px;padding:4px}.date-number{font-size:12px}.workout-icon{font-size:18px}.workout-label{display:none}.rpe-badge{min-width:18px;height:18px;font-size:9px;border-width:1px}.annual-grid{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}body:before{display:none}}.desktop-infinite-calendar-wrapper{display:flex;gap:var(--space-md);height:calc(100vh - 180px);position:relative}.desktop-timeline-rail{width:60px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;padding:var(--space-lg) 0;background:var(--bg-secondary);border-right:1px solid var(--border-color);border-radius:8px 0 0 8px}.timeline-track{display:flex;flex-direction:column;gap:8px;position:sticky;top:var(--space-lg)}.timeline-dot{width:44px;height:32px;border:1px solid var(--border-color);border-radius:4px;background:var(--panel-dark);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;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:"";position:absolute;top:-4px;right:-4px;width:8px;height:8px;background:var(--vector-coral);border-radius:50%;animation:pulse 2s ease-in-out infinite}.timeline-month-abbr{font-family:var(--font-segment);font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary)}.timeline-dot.active .timeline-month-abbr{color:#fff}.desktop-infinite-calendar{flex:1;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y proximity;scroll-behavior:smooth;position:relative;background:var(--bg-primary);border-radius:0 8px 8px 0;border:1px solid var(--border-color);border-left:none}.desktop-infinite-calendar::-webkit-scrollbar{width:6px}.desktop-infinite-calendar::-webkit-scrollbar-track{background:transparent}.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{position:sticky;left:0;right:0;height:40px;pointer-events:none;z-index:10}.desktop-edge-gradient.top{top:0;background:linear-gradient(180deg,var(--bg-primary) 0%,transparent 100%)}.desktop-edge-gradient.bottom{bottom:0;background:linear-gradient(0deg,var(--bg-primary) 0%,transparent 100%)}.desktop-months-container{display:flex;flex-direction:column;gap:0}.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);transition:all .3s ease;min-height:450px}.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{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--border-color);position:sticky;top:0;background:inherit;z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.desktop-month-label{display:flex;align-items:baseline;gap:var(--space-md)}.desktop-month-name{font-family:var(--font-segment);font-size:28px;font-weight:700;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 20px var(--accent-glow)}.desktop-month-year{font-family:var(--font-segment);font-size:16px;color:var(--text-muted);letter-spacing:.1em}.desktop-month-stats{display:flex;align-items:baseline;gap:4px;font-family:var(--font-segment)}.desktop-stat-completed{font-size:24px;font-weight:700;color:var(--status-completed)}.desktop-stat-separator{font-size:16px;color:var(--text-dim)}.desktop-stat-total{font-size:16px;color:var(--text-secondary)}.desktop-stat-label{font-size:10px;color:var(--text-muted);letter-spacing:.1em;margin-left:var(--space-sm)}.desktop-day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:var(--space-sm)}.desktop-day-header-cell{padding:var(--space-sm);text-align:center;font-family:var(--font-segment);font-size:11px;font-weight:600;color:var(--accent-primary);letter-spacing:.15em;background:var(--bg-tertiary);border-radius:4px}.desktop-calendar-grid{display:flex;flex-direction:column;gap:4px}.desktop-week-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.desktop-calendar-day{background:var(--panel-dark);border:1px solid var(--border-color);border-radius:6px;padding:var(--space-sm) var(--space-md);min-height:80px;display:flex;flex-direction:column;gap:var(--space-xs);cursor:default;transition:all .2s ease;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,rgba(5,150,105,.12) 0%,rgba(16,185,129,.06) 100%);border-color:#10b981}.desktop-calendar-day.completed:after{content:"✓";position:absolute;top:8px;right:8px;width:22px;height:22px;background:linear-gradient(135deg,#10B981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff;font-weight:700;box-shadow:0 2px 8px #10b98166}.desktop-calendar-day.missed{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.08) 0%,rgba(239,68,68,.02) 100%)}.desktop-calendar-day.upcoming{border-color:var(--accent-primary);border-style:dashed}.desktop-calendar-day.completed.intensity-light{background:linear-gradient(135deg,rgba(5,150,105,.08),rgba(16,185,129,.04))}.desktop-calendar-day.completed.intensity-moderate{background:linear-gradient(135deg,rgba(5,150,105,.14),rgba(16,185,129,.08))}.desktop-calendar-day.completed.intensity-hard{background:linear-gradient(135deg,rgba(5,150,105,.2),rgba(16,185,129,.12));box-shadow:0 0 15px #10b98126}.desktop-calendar-day.completed.intensity-max{background:linear-gradient(135deg,rgba(5,150,105,.28),rgba(52,211,153,.18));box-shadow:0 0 20px #10b98140}.desktop-calendar-day.in-streak{box-shadow:inset 0 0 15px #ffd4471f}.desktop-day-header{display:flex;align-items:center;justify-content:space-between}.desktop-date{font-family:var(--font-segment);font-size:16px;font-weight:700;color:var(--text-primary)}.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);font-size:8px;font-weight:700;color:var(--accent-primary);background:rgba(0,194,255,.15);padding:2px 6px;border-radius:3px;letter-spacing:.1em;animation:pulse 2s ease-in-out infinite}.desktop-day-content{display:flex;align-items:center;gap:var(--space-sm);flex:1}.desktop-workout-icon{font-size:28px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.desktop-workout-details{display:flex;flex-direction:column;gap:2px}.desktop-workout-type{font-family:var(--font-segment);font-size:10px;color:var(--text-secondary);letter-spacing:.1em;text-transform:uppercase}.desktop-rpe{font-family:var(--font-segment);font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;border:1px solid;width:fit-content}.desktop-rpe.rpe-easy{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.desktop-rpe.rpe-moderate{background:rgba(255,193,7,.2);border-color:#ffc107;color:#ffc107}.desktop-rpe.rpe-hard{background:rgba(255,152,0,.2);border-color:#ff9800;color:#ff9800}.desktop-rpe.rpe-max{background:rgba(244,67,54,.2);border-color:#f44336;color:#f44336}.desktop-streak-flame{font-size:16px;margin-left:auto;filter:drop-shadow(0 0 4px rgba(255,150,0,.5));animation:flicker 1.5s ease-in-out infinite}.desktop-notes-indicator{font-size:14px;opacity:.7}.desktop-today-btn{position:fixed;bottom:40px;right:40px;z-index:1000;display:flex;align-items:center;gap:var(--space-sm);background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;border-radius:28px;padding:12px 24px;color:#fff;font-family:var(--font-segment);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 4px 20px #00c2ff66,0 2px 10px #0000004d,inset 0 1px #fff3;cursor:pointer;transition:all .2s ease;animation:todayBtnAppear .3s ease-out}.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{font-size:9px;opacity:.7;font-weight:400;margin-left:var(--space-sm);padding-left:var(--space-sm);border-left:1px solid rgba(255,255,255,.3)}[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 (max-width: 768px){.desktop-infinite-calendar-wrapper{display:none}}@media (min-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{border-width:2px;box-shadow:none}[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{font-weight:700;border:2px solid currentColor}[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 (max-width: 768px){html,body{overflow:hidden;position:fixed;width:100%;height:100%;max-width:100vw}#root{height:100dvh;height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden;max-width:100vw}.app{padding-bottom:calc(80px + env(safe-area-inset-bottom));flex:1;display:flex;flex-direction:column;overflow:hidden;max-width:100vw}.main-content{padding:var(--space-sm) 20px;padding-bottom:0;margin-bottom:0;overflow:hidden;flex:1;display:flex;flex-direction:column;min-height:0}.terminal-header{padding:var(--space-sm) var(--space-md);padding-top:calc(var(--space-sm) + env(safe-area-inset-top,0px));flex-direction:column;gap:var(--space-sm)}.terminal-brand{flex-direction:row;align-items:center;gap:var(--space-sm)}.terminal-logo{width:28px;height:28px;flex-shrink:0}.terminal-logo img{width:16px;height:16px}.terminal-title h1{font-size:16px;letter-spacing:.08em;white-space:nowrap}.terminal-subtitle{font-size:8px}.header-controls{width:100%;display:flex;justify-content:space-between;align-items:center}.view-toggle{display:flex;gap:2px;flex:1;justify-content:center}.view-toggle button{padding:8px 12px;font-size:10px;letter-spacing:.08em}.controls-bar{display:none}.month-stats-header{flex-direction:column;padding:var(--space-sm) var(--space-md);gap:var(--space-sm)}.stats-progress{width:100%;justify-content:space-between}.stats-numbers{gap:2px}.stats-completed{font-size:28px}.stats-separator,.stats-total{font-size:18px}.stats-label{font-size:8px;margin-left:var(--space-xs)}.progress-bar-container{max-width:120px;height:10px}.progress-percentage{font-size:8px}.stats-streak{width:100%;justify-content:center;gap:var(--space-md)}.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{width:100%;justify-content:center;flex-wrap:wrap;gap:var(--space-xs)}.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{font-size:16px;min-width:auto;letter-spacing:.1em}.month-navigation button{padding:8px 14px;font-size:16px;min-width:44px;min-height:44px}.calendar-grid{border-radius:0}.calendar-header{gap:1px;margin-bottom:1px}.calendar-day-header{padding:8px 2px;font-size:10px;letter-spacing:.08em}.calendar-body{gap:2px}.calendar-day{min-height:70px;padding:6px;gap:3px;border-radius:4px}.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{font-size:22px!important;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))!important}.workout-label{font-size:9px;letter-spacing:.05em;max-width:50px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rpe-indicator{margin-top:2px}.rpe-badge{font-size:10px!important;padding:2px 5px!important;min-width:20px}.rpe-buttons{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:6px!important}.rpe-btn{height:44px!important;min-width:0!important;font-size:14px!important}.missed-indicator{font-size:7px;padding:1px 3px}.list-view{max-height:calc(100vh - 280px)}.list-view:before{font-size:11px;padding:var(--space-sm);letter-spacing:.2em}.workout-item{grid-template-columns:1fr;gap:var(--space-sm);padding:var(--space-md)}.workout-item .workout-date{font-size:11px}.workout-item .workout-emoji{font-size:24px}.workout-item .workout-description{font-size:13px;white-space:normal;line-height:1.4}.workout-item .complete-btn{width:44px;height:44px;font-size:18px}.workout-item .status-badge{font-size:9px;padding:4px 8px;letter-spacing:.02em}.annual-view{padding:var(--space-md)}.year-navigation{gap:var(--space-md);margin-bottom:var(--space-md)}.year-navigation h2{font-size:18px;min-width:auto}.year-navigation button{min-width:44px;min-height:44px}.annual-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.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{flex-direction:column;gap:var(--space-sm);font-size:12px}.modal-overlay{padding:0;align-items:flex-end;padding-top:env(safe-area-inset-top,0px)}.modal{width:100%;max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;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-y:auto;overflow-x:hidden}.modal-body input,.modal-body textarea,.modal-body select{max-width:100%;box-sizing:border-box}.notes-section textarea{width:100%;max-width:100%;box-sizing:border-box}.workout-full-description{max-height:150px;overflow-y:auto;word-wrap:break-word;overflow-wrap:break-word;-webkit-overflow-scrolling:touch}.workout-details-header h3{font-size:18px}.pull-refresh-indicator{z-index:10000}.pull-refresh-content{font-size:11px;padding-bottom:var(--space-sm)}.pull-refresh-content svg{width:18px;height:18px}.stats-bar{padding:var(--space-xs) var(--space-md);font-size:9px;gap:var(--space-sm);flex-wrap:wrap;justify-content:center}.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, rgba(255,255,255,.08))}.upcoming-strip{margin-top:var(--space-sm);padding:var(--space-sm) 12px}.upcoming-day{min-height:48px}}@media (max-width: 414px){.calendar-day{min-height:65px;padding:5px}.workout-icon{font-size:20px!important}.workout-label{font-size:8px;max-width:45px}.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 (max-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{font-size:9px;padding:6px 2px}.stats-types,.stats-streak .streak-label{display:none}.terminal-title h1{font-size:16px}.view-toggle button{padding:6px 10px;font-size:9px}}@media (max-width: 320px){.calendar-day{min-height:50px;padding:3px}.rpe-indicator,.day-badges,.month-stats-header{display:none}}@media (max-height: 500px) and (orientation: landscape){.month-stats-header{flex-direction:row;padding:var(--space-xs) var(--space-md)}.stats-streak,.stats-types{width:auto}.calendar-day{min-height:50px}.modal{max-height:100vh;border-radius:0}}@media (orientation: landscape) and (max-height: 500px){#root{height:100dvh}.app{padding-bottom:50px}.terminal-header{flex-direction:row!important;padding:4px var(--space-md)!important;padding-top:calc(4px + env(safe-area-inset-top,0px))!important;gap:var(--space-md);align-items:center}.terminal-brand{flex-direction:row;align-items:center;gap:var(--space-xs)}.terminal-logo{width:24px;height:24px}.terminal-logo img{width:14px;height:14px}.terminal-title h1{font-size:12px;letter-spacing:.1em}.terminal-subtitle{display:none}.header-controls{width:auto;flex:1;justify-content:flex-end;gap:var(--space-sm)}.view-toggle button{padding:4px 10px;font-size:9px}.today-view{display:grid;grid-template-columns:1fr 180px;grid-template-rows:1fr;gap:var(--space-sm);padding:var(--space-xs);overflow:hidden}.today-card{margin:0;border-radius:12px;display:flex;flex-direction:column;max-height:calc(100vh - 120px);overflow-y:auto}.today-card-header{padding:8px 12px;flex-shrink:0}.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{padding:6px 12px;font-size:10px;min-height:36px}.rpe-section{padding:8px 12px}.rpe-header{margin-bottom:6px}.rpe-label{font-size:9px}.rpe-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.rpe-btn{height:28px;min-width:24px;font-size:10px;border-radius:4px}.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{font-size:12px;-webkit-line-clamp:1}.upcoming-strip{padding:0;display:flex;flex-direction:column;height:100%}.upcoming-header{padding:8px 12px;margin-bottom:0}.upcoming-title{font-size:9px}.swipe-hint{display:none}.upcoming-scroll{overflow-y:auto;overflow-x:hidden;flex:1}.upcoming-days{flex-direction:column;padding:0 8px;gap:6px}.upcoming-day{width:100%;flex-direction:row;padding:8px 10px;gap:10px;border-radius:8px}.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;gap:6px;flex:1;justify-content:flex-start}.day-icon{font-size:20px}.day-label{font-size:9px;max-width:none}.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{padding:4px 16px;min-height:40px}.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 (max-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{padding:2px 12px;min-height:36px}}@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{transform:scale(.97);transition:transform .1s ease}.view-toggle button:active,.month-navigation button:active{transform:scale(.95);transition:transform .1s ease}.calendar-day,.infinite-day{cursor:pointer;-webkit-tap-highlight-color:transparent}}@media (max-width: 768px){.terminal-header{position:sticky;top:0;z-index:100;transition:all .25s ease}.terminal-header.condensed{padding:var(--space-xs) var(--space-md);flex-direction:row;gap:var(--space-sm);background:var(--header-gradient);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px #0003}.terminal-header.condensed .terminal-brand{flex:1;gap:var(--space-sm)}.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{font-size:14px;letter-spacing:.1em}.terminal-header.condensed .header-controls{width:auto;flex-shrink:0}.condensed-month{display:flex;align-items:center;gap:var(--space-xs);margin-left:auto;font-family:var(--font-segment)}.condensed-month span{font-size:12px;font-weight:600;color:var(--text-primary);letter-spacing:.1em;text-transform:uppercase;min-width:70px;text-align:center}.condensed-month button{background:transparent;border:1px solid var(--border-color);color:var(--accent-primary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;border-radius:4px;transition:all .15s ease}.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{display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;position:relative}.infinite-calendar-table{width:100%;border-collapse:separate;border-spacing:2px;table-layout:fixed}.infinite-day-headers{position:sticky;top:0;z-index:10;background:var(--bg-tertiary)}.infinite-day-headers tr{background:var(--bg-tertiary);border-bottom:2px solid var(--accent-primary)}.infinite-day-header-cell{padding:8px 4px;text-align:center;font-family:var(--font-segment);font-size:11px;font-weight:600;color:var(--accent-primary);letter-spacing:.1em;background:var(--bg-tertiary)}.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);font-size:13px;font-weight:600;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 0 10px var(--accent-glow)}.infinite-week-row td{width:calc(100% / 7)}.infinite-day{background:var(--panel-dark);border:1px solid var(--border-color);padding:6px;vertical-align:top;min-height:80px;height:80px;position:relative;transition:all .15s ease;cursor:default}.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{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:rgba(16,185,129,.3);z-index:2;pointer-events:none;transition:background .1s}.swipe-complete-overlay.ready{background:rgba(16,185,129,.5)}.swipe-check{font-size:1.4rem;font-weight:700;color:#fff}.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,rgba(5,150,105,.15) 0%,rgba(16,185,129,.08) 100%);border-color:#10b981}.infinite-day.completed:after{content:"✓";position:absolute;top:4px;right:4px;width:18px;height:18px;background:linear-gradient(135deg,#10B981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;color:#fff;font-weight:700}.infinite-day.missed{border-color:#ef4444;background:linear-gradient(135deg,rgba(239,68,68,.1) 0%,rgba(239,68,68,.02) 100%)}.infinite-day.upcoming{border-color:var(--accent-primary);border-style:dashed}.infinite-day-header{display:flex;align-items:center;gap:4px}.infinite-date{font-family:var(--font-segment);font-size:14px;font-weight:700;color:var(--text-primary)}.infinite-day.today .infinite-date{color:var(--accent-primary)}.infinite-day.completed .infinite-date{color:#10b981}.today-dot{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.infinite-day-content{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.infinite-workout-icon{font-size:24px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.infinite-rpe{font-family:var(--font-segment);font-size:10px;font-weight:700;padding:2px 5px;border-radius:3px;border:1px solid}.infinite-rpe.rpe-easy{background:rgba(76,175,80,.2);border-color:#4caf50;color:#4caf50}.infinite-rpe.rpe-moderate{background:rgba(255,193,7,.2);border-color:#ffc107;color:#ffc107}.infinite-rpe.rpe-hard{background:rgba(255,152,0,.2);border-color:#ff9800;color:#ff9800}.infinite-rpe.rpe-max{background:rgba(244,67,54,.2);border-color:#f44336;color:#f44336}.infinite-streak{font-size:14px;filter:drop-shadow(0 0 4px rgba(255,150,0,.5));animation:flicker 1.5s ease-in-out infinite}@keyframes flicker{0%,to{opacity:1}50%{opacity:.7}}.scroll-sentinel{height:1px;width:100%;visibility:hidden}.infinite-loading{height:0;overflow:hidden}.infinite-day.completed.intensity-light{background:linear-gradient(135deg,rgba(5,150,105,.08),rgba(16,185,129,.05))}.infinite-day.completed.intensity-moderate{background:linear-gradient(135deg,rgba(5,150,105,.15),rgba(16,185,129,.1))}.infinite-day.completed.intensity-hard{background:linear-gradient(135deg,rgba(5,150,105,.22),rgba(16,185,129,.15));box-shadow:0 0 15px #10b98133}.infinite-day.completed.intensity-max{background:linear-gradient(135deg,rgba(5,150,105,.3),rgba(52,211,153,.2));box-shadow:0 0 20px #10b9814d;border-width:2px}.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{position:fixed;bottom:calc(80px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));border:none;border-radius:24px;padding:10px 20px;color:#fff;font-family:var(--font-segment);font-size:13px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 4px 15px #00c2ff66,0 2px 8px #0000004d,inset 0 1px #fff3;cursor:pointer;transition:all .2s ease;animation:todayBtnAppear .3s ease-out}@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{font-size:14px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.today-floating-btn .today-text{text-shadow:0 1px 2px rgba(0,0,0,.3)}[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 (max-width: 768px){.today-view{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding-bottom:20px}.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 all and (display-mode: standalone){.terminal-header{padding-top:calc(env(safe-area-inset-top,0px) + 20px)!important;min-height:80px}.terminal-header.condensed{padding-top:calc(env(safe-area-inset-top,0px) + 12px)!important;min-height:60px}.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{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);background:var(--header-gradient);border-bottom:2px solid var(--accent-primary)}.admin-brand{display:flex;align-items:center;gap:var(--space-md)}.admin-logo{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--accent-primary);border-radius:var(--radius-md);color:var(--bg-primary)}.admin-title h1{font-family:var(--font-segment);font-size:20px;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:.05em;text-transform:uppercase}.admin-subtitle{font-family:var(--font-segment);font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.admin-stats{display:flex;align-items:center;gap:var(--space-xl)}.admin-stat{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-segment);font-size:14px;color:var(--text-secondary)}.admin-stat svg{color:var(--accent-primary)}.admin-controls{display:flex;align-items:center;gap:var(--space-md)}.admin-logout-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);font-family:var(--font-segment);font-size:12px;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;transition:all .2s ease}.admin-logout-btn:hover{color:var(--text-primary);border-color:var(--accent-primary)}@media (max-width: 768px){.admin-header{padding:var(--space-md);flex-wrap:wrap;gap:var(--space-md)}.admin-stats{display:none}.admin-title h1{font-size:16px}.admin-subtitle{display:none}}.admin-user-list{display:flex;flex-direction:column;height:100%;background:var(--bg-secondary);border-right:1px solid var(--border-color)}.admin-user-list-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border-color)}.admin-user-list-header h2{font-family:var(--font-segment);font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;margin:0}.user-count{font-family:var(--font-mono);font-size:12px;color:var(--accent-primary);background:var(--bg-tertiary);padding:2px 8px;border-radius:var(--radius-sm)}.admin-user-list-content{flex:1;overflow-y:auto;padding:var(--space-sm)}.admin-user-list-loading,.admin-user-list-error,.admin-user-list-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);gap:var(--space-md);color:var(--text-muted);text-align:center}.admin-user-list-error{color:#ef4444}.loading-spinner{width:24px;height:24px;border:2px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.admin-user-item{display:flex;align-items:center;gap:var(--space-md);width:100%;padding:var(--space-md);margin-bottom:var(--space-xs);background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;text-align:left}.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{width:36px;height:36px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);overflow:hidden;flex-shrink:0}.admin-user-item .user-avatar img{width:100%;height:100%;object-fit:cover}.admin-user-item .user-info{flex:1;min-width:0}.admin-user-item .user-name{display:block;font-family:var(--font-segment);font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-item .user-email{display:block;font-family:var(--font-mono);font-size:11px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-user-item .user-activity{flex-shrink:0}.admin-user-item .workout-badge{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:11px;color:var(--accent-primary);background:var(--bg-primary);padding:2px 6px;border-radius:var(--radius-sm)}@media (max-width: 768px){.admin-user-list{border-right:none;border-bottom:1px solid var(--border-color);max-height:200px}.admin-user-list-content{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:var(--space-sm);gap:var(--space-sm)}.admin-user-item{flex:0 0 auto;flex-direction:column;width:100px;padding:var(--space-sm);text-align:center}.admin-user-item .user-info{width:100%}.admin-user-item .user-email{display:none}}.edit-workout-modal{max-width:600px;width:90%}.edit-form{display:flex;flex-direction:column;gap:1.5rem;padding:0 0 1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.form-group input[type=text],.form-group select,.form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary)}.form-group input[type=text]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00d4ff1a}.form-group textarea{resize:vertical;min-height:100px}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;padding:.5rem 0}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.checkbox-label span{font-size:.95rem}.rpe-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.rpe-btn{flex:1;min-width:40px;height:40px;border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease}.rpe-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.rpe-btn.selected{border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00d4ff4d;transform:scale(1.05)}.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{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.modal-actions{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid var(--border-color)}.actions-left{flex:1}.actions-right{display:flex;gap:1rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem}.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{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.95rem;background:var(--bg-secondary);color:#ef4444;border:1px solid #ef4444}.btn-delete:hover:not(:disabled){background:#ef4444;color:#fff;transform:translateY(-1px)}.btn-delete:disabled{opacity:.5;cursor:not-allowed}.delete-confirm{display:flex;align-items:center;gap:.75rem;font-size:.9rem}.delete-confirm span{color:var(--text-primary);font-weight:600}.btn-delete-confirm,.btn-delete-cancel{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.85rem}.btn-delete-confirm{background:#ef4444;color:#fff}.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 (max-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{max-width:600px;width:90%}.create-form{display:flex;flex-direction:column;gap:1.5rem;padding:0 0 1rem}.create-form .form-group{display:flex;flex-direction:column;gap:.5rem}.create-form label{font-weight:600;font-size:.9rem;color:var(--text-primary)}.create-form input[type=text],.create-form input[type=date],.create-form select,.create-form textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:4px;font-family:inherit;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary)}.create-form input[type=text]:focus,.create-form input[type=date]:focus,.create-form select:focus,.create-form textarea:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00d4ff1a}.create-form textarea{resize:vertical;min-height:80px}.create-form .rpe-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.create-form .rpe-btn{flex:1;min-width:40px;height:40px;border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s ease}.create-form .rpe-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.create-form .rpe-btn.selected{border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00d4ff4d;transform:scale(1.05)}.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{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}@media (max-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%;overflow-y:auto;padding:var(--space-xl)}.admin-user-workouts-empty,.admin-user-workouts-loading,.admin-user-workouts-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-md);color:var(--text-muted);text-align:center}.admin-user-workouts-empty h3{font-family:var(--font-segment);font-size:18px;color:var(--text-primary);margin:0}.admin-user-workouts-empty p{font-size:14px;margin:0}.admin-user-workouts-error{color:#ef4444}.admin-user-profile{display:flex;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)}.profile-avatar{width:64px;height:64px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;color:var(--text-muted);overflow:hidden;flex-shrink:0}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-info{flex:1;min-width:0}.profile-info h2{font-family:var(--font-segment);font-size:20px;font-weight:600;color:var(--text-primary);margin:0 0 var(--space-xs)}.profile-email{font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.profile-goals,.profile-injuries{display:flex;align-items:flex-start;gap:var(--space-sm);margin-top:var(--space-sm);font-size:13px;color:var(--text-secondary)}.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{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.btn-edit-profile{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-edit-profile:hover{background:var(--bg-primary);border-color:var(--accent-cyan)}.profile-edit-form{display:flex;flex-direction:column;gap:var(--space-md);margin-top:var(--space-md)}.profile-edit-form .form-group{display:flex;flex-direction:column;gap:.5rem}.profile-edit-form label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;color:var(--text-primary)}.profile-edit-form textarea{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:inherit;font-size:.85rem;background:var(--bg-primary);color:var(--text-primary);resize:vertical}.profile-edit-form textarea:focus{outline:none;border-color:var(--accent-cyan);box-shadow:0 0 0 2px #00d4ff1a}.profile-edit-actions{display:flex;gap:var(--space-sm)}.btn-save,.btn-cancel{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.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{display:flex;gap:var(--space-lg)}.profile-stats .stat{display:flex;flex-direction:column;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.profile-stats .stat-value{font-family:var(--font-segment);font-size:24px;font-weight:600;color:var(--accent-primary)}.profile-stats .stat-label{font-family:var(--font-segment);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em}.admin-calendar-nav{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);margin-bottom:var(--space-lg)}.calendar-nav-controls{display:flex;align-items:center;justify-content:center;gap:var(--space-lg)}.calendar-nav-controls button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease}.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);font-size:16px;font-weight:500;color:var(--text-primary);margin:0;min-width:160px;text-align:center}.btn-add-workout{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-cyan);border:none;border-radius:var(--radius-sm);color:#000;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.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);overflow:hidden;margin-bottom:var(--space-xl)}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.calendar-header-cell{padding:var(--space-sm);font-family:var(--font-segment);font-size:11px;font-weight:600;color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.1em}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.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 ease}.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);font-size:12px;color:var(--text-secondary);margin-bottom:var(--space-xs)}.calendar-day .day-workout{display:flex;flex-wrap:wrap;align-items:center;gap:4px;padding:4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:11px}.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);font-size:10px;padding:1px 4px;border-radius:2px;background:var(--bg-secondary)}.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);font-size:14px;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.1em;margin:0;padding:var(--space-md) var(--space-lg);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.recent-workouts-list{padding:var(--space-sm)}.recent-workout{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:background .15s ease}.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);font-size:12px;color:var(--text-muted);min-width:50px}.recent-workout .workout-icon{font-size:16px}.recent-workout .workout-name{flex:1;font-family:var(--font-segment);font-size:14px;color:var(--text-primary)}.recent-workout .workout-rpe{font-family:var(--font-mono);font-size:11px;padding:2px 6px;border-radius:var(--radius-sm);background:var(--bg-tertiary)}.recent-workout .workout-status{font-family:var(--font-segment);font-size:10px;text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-sm)}.recent-workout .workout-status.done{color:var(--status-completed);background:rgba(16,185,129,.1)}.recent-workout .workout-status.pending{color:var(--text-muted);background:var(--bg-tertiary)}.no-workouts{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--text-muted)}@media (max-width: 768px){.admin-user-workouts{padding:var(--space-md)}.admin-user-profile{flex-direction:column;align-items:center;text-align:center}.profile-goals,.profile-injuries{justify-content:center}.profile-stats{width:100%;justify-content:center}.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{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-primary)}.admin-content{display:flex;flex:1;overflow:hidden}.admin-sidebar{width:300px;flex-shrink:0;overflow:hidden}.admin-main{flex:1;overflow:hidden}@media (max-width: 768px){.admin-content{flex-direction:column}.admin-sidebar{width:100%}.admin-main{flex:1}}.copy-button{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:var(--font-mono);font-size:.875rem;font-weight:500;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.375rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.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, rgba(16, 185, 129, .1));border-color:var(--success-green);color:var(--success-green);pointer-events:none}.copy-button svg{flex-shrink:0}@media (max-width: 768px){.copy-button{padding:.625rem 1rem;font-size:.875rem;min-height:44px}}.mcp-settings-page{min-height:100vh;background:var(--bg-primary);padding:2rem 1rem}.settings-container{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem}.header-content{display:flex;align-items:center;gap:1rem}.header-icon{color:var(--accent-cyan);flex-shrink:0}.settings-header h1{font-family:var(--font-mono);font-size:2rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.header-subtitle{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);margin:.25rem 0 0}.status-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.375rem;font-family:var(--font-mono);font-size:.875rem;white-space:nowrap}.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{padding:1.5rem;border-bottom:1px solid var(--border-primary)}.mcp-card-header h2{font-family:var(--font-mono);font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.mcp-description{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.5}.primary-action-section{padding:1.5rem;border-bottom:1px solid var(--border-primary)}.primary-action-section h3{font-family:var(--font-mono);font-size:1rem;font-weight:600;color:var(--accent-cyan);margin:0 0 .5rem}.action-description{font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);margin:0 0 1rem;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;padding:1rem;overflow-x:auto;margin:0;max-height:300px}.code-block code{font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary);line-height:1.6}.code-block-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.manual-setup-section{border-bottom:1px solid var(--border-primary)}.expand-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;font-family:var(--font-mono);font-size:.875rem;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all .2s ease}.expand-toggle:hover{color:var(--accent-cyan);background:var(--bg-hover)}.expand-toggle span{transition:transform .2s ease;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);font-size:.875rem;line-height:1.6;color:var(--text-primary);padding-left:1.5rem;margin:0;counter-reset:step-counter}.setup-steps li{margin-bottom:1.25rem;position:relative}.setup-steps li:last-child{margin-bottom:0}.setup-steps strong{color:var(--accent-cyan);font-weight:600;display:block;margin-bottom:.25rem}.setup-steps p{margin:.25rem 0 0;color:var(--text-secondary)}.config-paths{margin-top:.5rem;display:flex;flex-direction:column;gap:.375rem}.config-paths code{color:var(--accent-cyan);background:var(--bg-primary);padding:.25rem .5rem;border-radius:.25rem;border:1px solid var(--border-primary);font-size:.75rem}.secondary-action-section{padding:1.5rem;border-bottom:1px solid var(--border-primary);background:var(--bg-primary)}.secondary-action-section h3{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--text-secondary);margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.cursor-install-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;font-family:var(--font-mono);font-size:.875rem;font-weight:500;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.375rem;cursor:pointer;transition:all .2s ease;min-height:44px}.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);font-size:.75rem;color:var(--text-tertiary);margin-top:.5rem;line-height:1.4}.tools-section{padding:1.5rem}.tools-section h3{font-family:var(--font-mono);font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.05em}.tools-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.tools-list li{display:flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-primary)}.tool-icon{color:var(--success-green);flex-shrink:0}.privacy-notice{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:.375rem;font-family:var(--font-mono);font-size:.75rem;color:var(--text-tertiary)}.privacy-notice svg{color:var(--accent-cyan);flex-shrink:0}.privacy-notice p{margin:0;line-height:1.5}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1rem;color:var(--text-secondary)}.settings-loading svg{color:var(--accent-cyan)}.settings-loading p{font-family:var(--font-mono);font-size:.875rem;margin:0}@media (max-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}}.landing-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow-y:auto;-webkit-overflow-scrolling:touch}.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{display:flex;align-items:center;gap:.75rem}.logo-icon{width:40px;height:40px;object-fit:contain}.logo-text{font-family:var(--font-segment);font-size:2rem;letter-spacing:.2em;color:var(--text-primary);text-transform:uppercase}.landing-main{flex:1;padding:0;width:100%;display:flex;flex-direction:column}.hero-section{background:radial-gradient(ellipse at 50% 0%,var(--accent-glow, rgba(0, 212, 255, .08)) 0%,transparent 60%),linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-primary) 100%);padding:4rem 1.5rem 3rem;text-align:center;border-bottom:3px solid var(--accent-primary);position:relative}.hero-section:before{content:"";position:absolute;bottom:-3px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);box-shadow:0 0 20px var(--accent-glow, rgba(0, 212, 255, .3))}.hero-title{font-family:var(--font-segment);font-size:3.5rem;font-weight:400;letter-spacing:.18em;line-height:1.05;color:var(--text-primary);text-transform:uppercase;margin-bottom:.75rem;text-shadow:0 2px 10px rgba(0,0,0,.1)}.hero-subtitle{font-family:var(--font-mono);font-size:.9rem;color:var(--text-secondary);letter-spacing:.12em;text-transform:uppercase;margin-bottom:2.5rem;padding:0 1rem;opacity:.85}.login-section{margin:0 auto;max-width:400px;width:100%}.btn-login{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem 1.5rem;background:var(--accent-primary);color:#fff;border:none;border-radius:8px;font-family:var(--font-segment);font-size:1.1rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;min-height:56px;position:relative;overflow:hidden;box-shadow:0 4px 20px #00c2ff40,0 2px 8px #00000026}.btn-login:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:rgba(255,255,255,.3);border-radius:8px 0 0 8px}.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);font-size:.75rem;opacity:.8;letter-spacing:.05em}.btn-login strong{font-family:var(--font-segment);font-weight:400}.btn-login .btn-icon{width:20px;height:20px}.waitlist-section{padding:2rem 1.5rem;background:var(--panel-dark)}.waitlist-card{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:0;padding:0;max-width:500px;margin:0 auto;overflow:hidden}.waitlist-header{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--performance-yellow);color:var(--bg-primary)}.waitlist-icon{width:24px;height:24px;color:inherit}.coming-soon-badge{font-family:var(--font-segment);font-size:1rem;font-weight:400;letter-spacing:.15em;color:inherit;background:transparent;padding:0}.waitlist-title{font-family:var(--font-segment);font-size:1.25rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;padding:1.25rem 1.25rem .5rem;color:var(--text-primary)}.waitlist-description{font-family:var(--font-mono);font-size:.8rem;color:var(--text-secondary);line-height:1.6;padding:0 1.25rem 1rem;letter-spacing:.02em}.waitlist-form{display:flex;flex-direction:column;gap:0;padding:0 1.25rem 1.25rem}.input-wrapper{position:relative}.email-input{width:100%;padding:1rem;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:0;font-family:var(--font-mono);font-size:1rem;color:var(--text-primary);transition:border-color .2s ease;box-sizing:border-box;letter-spacing:.02em}.email-input:focus{outline:none;border-color:var(--accent-primary)}.email-input::placeholder{color:var(--text-muted);font-style:italic}.email-input:disabled{opacity:.6;cursor:not-allowed}.btn-waitlist{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem;margin-top:-2px;background:var(--bg-tertiary);color:var(--text-primary);border:2px solid var(--border-color);border-radius:0;font-family:var(--font-segment);font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;min-height:52px}.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:spin 1s linear infinite}.features-section{padding:2rem 1.5rem;background:var(--bg-primary)}.features-title{font-family:var(--font-segment);font-size:1rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:1.5rem;text-align:center}.features-grid{display:flex;flex-direction:column;gap:0;max-width:500px;margin:0 auto}.feature-card{display:flex;align-items:center;gap:1rem;padding:1.125rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-bottom:none;text-align:left;min-height:48px;transition:background .15s ease}.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-left-radius:8px;border-bottom-right-radius:8px}.feature-icon{width:28px;height:28px;color:var(--accent-primary);flex-shrink:0}.feature-card h4{font-family:var(--font-segment);font-size:.9rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.125rem;color:var(--text-primary)}.feature-card p{font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary);line-height:1.4;letter-spacing:.02em}.landing-footer{padding:1.5rem;text-align:center;background:var(--bg-secondary);border-top:2px solid var(--accent-primary);margin-top:auto}.footer-text{font-family:var(--font-mono);font-size:.75rem;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.footer-brand{font-family:var(--font-segment);color:var(--accent-primary);font-weight:400;letter-spacing:.15em}@media (min-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{margin-top:0;border-left:none}.features-grid{flex-direction:row}.feature-card{flex:1;flex-direction:column;text-align:center;padding:1.5rem 1rem;border:1px solid var(--border-color);border-right:none}.feature-card:last-child{border-right:1px solid var(--border-color)}}@media (min-width: 1024px){.landing-header{padding:1rem 3rem}.hero-section{padding:5rem 3rem}.hero-title{font-size:4.5rem;letter-spacing:.2em}.hero-subtitle{font-size:1.125rem;max-width:600px;margin-left:auto;margin-right:auto}.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: #FFFFFF;--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: #F0E68C;--header-border: #E6B800;--header-gradient: linear-gradient(180deg, #FFF9E6 0%, #FFFEF5 100%)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}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);line-height:1.5;min-height:100vh;overflow-x:hidden}.app{background:var(--bg-primary);min-height:100vh;display:flex;flex-direction:column;overscroll-behavior-y:contain}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-lg);color:var(--text-muted)}.loading-state svg{color:var(--accent-primary)}.loading-state p{font-family:var(--font-segment);font-size:14px;letter-spacing:.05em;text-transform:uppercase}.error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--space-md);text-align:center;padding:var(--space-xl)}.error-icon{font-size:48px}.error-state p{color:var(--text-primary);font-family:var(--font-segment);font-size:16px;margin:0}.error-state .error-detail{color:var(--text-muted);font-size:14px}.retry-btn{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);margin-top:var(--space-md);font-family:var(--font-segment);font-size:14px;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-primary);color:var(--bg-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.retry-btn:hover{background:var(--accent-secondary)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinning{animation:spin 1s linear infinite}.terminal-header{background:var(--header-gradient);border-bottom:2px solid var(--header-border);padding:var(--space-lg) var(--space-xl);display:flex;justify-content:space-between;align-items:center}@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: #FFFFFF;--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: rgba(0, 0, 0, .1);--border-accent: #0891B2;--glow-cyan: 0 2px 8px rgba(8, 145, 178, .15);--glow-yellow: 0 2px 8px rgba(217, 119, 6, .15);--glow-coral: 0 2px 8px rgba(230, 82, 74, .15);--glow-sage: 0 2px 8px rgba(5, 150, 105, .15);--accent-glow: rgba(8, 145, 178, .2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--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: #333333;--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: rgba(250, 249, 247, .1);--border-medium: rgba(250, 249, 247, .2);--border-accent: #00C2FF;--glow-cyan: 0 0 20px rgba(0, 194, 255, .5);--glow-yellow: 0 0 20px rgba(255, 212, 71, .5);--glow-coral: 0 0 20px rgba(230, 82, 74, .5);--glow-sage: 0 0 20px rgba(94, 127, 91, .5);--accent-glow: rgba(0, 194, 255, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--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: rgba(245, 158, 11, .3);--border-accent: #F59E0B;--glow-cyan: 0 0 20px rgba(245, 158, 11, .4);--glow-yellow: 0 0 20px rgba(251, 191, 36, .5);--glow-coral: 0 0 20px rgba(220, 38, 38, .4);--glow-sage: 0 0 20px rgba(101, 163, 13, .4);--accent-glow: rgba(245, 158, 11, .3);--shadow-sm: 0 1px 2px rgba(120, 53, 15, .1);--shadow-md: 0 4px 6px rgba(120, 53, 15, .15);--shadow-lg: 0 10px 15px rgba(120, 53, 15, .2);--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: #FFFFFF;--bg-secondary: #F0F0F0;--bg-tertiary: #E0E0E0;--panel-dark: #F0F0F0;--panel-hover: #D9D9D9;--text-primary: #000000;--text-secondary: #1A1A1A;--text-muted: #333333;--text-dim: #555555;--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: #333333;--border-medium: rgba(0, 0, 0, .4);--border-accent: #0E7490;--glow-cyan: none;--glow-yellow: none;--glow-coral: none;--glow-sage: none;--accent-glow: transparent;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .15);--shadow-md: 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .25);--scanline-opacity: 0;--noise-opacity: 0}[data-theme=dark][data-contrast=high]{--bg-primary: #000000;--bg-secondary: #111111;--bg-tertiary: #1A1A1A;--panel-dark: #111111;--panel-hover: #222222;--text-primary: #FFFFFF;--text-secondary: #F0F0F0;--text-muted: #CCCCCC;--text-dim: #999999;--accent-primary: #00E5FF;--accent-secondary: #00F5FF;--vector-coral: #FF6B6B;--performance-yellow: #FFD700;--deep-sage: #66BB6A;--steel-blue: #64B5F6;--crimson-drive: #EF5350;--status-completed: #66BB6A;--status-boarding: #00E5FF;--status-scheduled: #FFD700;--status-delayed: #FF6B6B;--status-cancelled: #EF5350;--border-color: #CCCCCC;--border-medium: rgba(255, 255, 255, .5);--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: rgba(62, 39, 35, .5);--border-accent: #E65100;--glow-cyan: none;--glow-yellow: none;--glow-coral: none;--glow-sage: none;--accent-glow: transparent;--shadow-sm: 0 1px 2px rgba(62, 39, 35, .2);--shadow-md: 0 2px 4px rgba(62, 39, 35, .25);--shadow-lg: 0 4px 8px rgba(62, 39, 35, .3);--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: #000000;--text-secondary: #1A1A1A;--text-muted: #333333;--border-color: #333333;--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{margin:0;padding:0;box-sizing:border-box}html{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden;overscroll-behavior-x:none}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.5;overflow-x:hidden;transition:background-color var(--transition-normal),color var(--transition-normal)}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;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}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;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");pointer-events:none;z-index:9998;opacity:var(--noise-opacity)}[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;margin:0 auto;min-height:100vh}.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%{transform:rotateX(-90deg);opacity:0}50%{transform:rotateX(-45deg);opacity:.5}to{transform:rotateX(0);opacity:1}}@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 slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@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)}
