@import"https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;700&family=Inter:wght@400;500;700&family=JetBrains+Mono:wght@400;700&display=swap";:root{--color-primary: #FFD700;--color-primary-dim: #D4AF37;--color-secondary: #E5E7EB;--color-accent: #F97316;--color-surface-base: #111827;--color-surface-card: #1F2937;--color-surface-highlight: #374151;--color-text-primary: #F9FAFB;--color-text-secondary: #9CA3AF;--color-text-tertiary: #6B7280;--color-text-inverse: #111827;--border-color: #374151;--border-color-strong: #4B5563;--color-success: #10B981;--color-error: #EF4444;--color-warning: #F59E0B;--color-info: #3B82F6;--font-family-serif: "Chakra Petch", "Roboto Slab", serif;--font-family-sans: "Inter", system-ui, -apple-system, sans-serif;--font-family-mono: "JetBrains Mono", "Roboto Mono", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-md: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-bold: 700;--font-weight-black: 900;--line-height-tight: 1.1;--line-height-normal: 1.5;--line-height-loose: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 8px;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .18);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .15);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .25);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{font-family:var(--font-family-sans);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-surface-base);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh;margin:0;display:flex;flex-direction:column;background-color:var(--color-surface-base);color:var(--color-text-primary);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-serif);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}p{margin-bottom:var(--space-4);max-width:70ch;color:var(--color-text-secondary)}button{font-family:var(--font-family-serif);cursor:pointer;text-transform:uppercase;letter-spacing:.05em}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dim);text-decoration:underline}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-base)}::-webkit-scrollbar-thumb{background:var(--color-surface-highlight);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.text-mono{font-family:var(--font-family-mono)}.text-accent{color:var(--color-accent)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#root{max-width:1200px;margin:0 auto;padding:32px 20px 64px}.app{display:flex;flex-direction:column;gap:28px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-nav{position:sticky;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 16px;background:#eceff4e6;border-top:1px solid rgba(76,86,106,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.nav-button{border:none;background:transparent;padding:10px 8px;border-radius:999px;font-weight:600;color:#4c566a;cursor:pointer}.nav-button.active{background:#5e81ac;color:#eceff4}.app-header{display:flex;flex-direction:column;gap:16px;padding:28px;background:linear-gradient(145deg,#fff,#e5e9f0);border-radius:24px;box-shadow:0 20px 60px #2e34401f;border:1px solid rgba(76,86,106,.18)}@media(min-width:820px){.app-header{flex-direction:row;align-items:center;justify-content:space-between}}.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#4c566a;margin-bottom:8px}.subtitle{margin-top:8px;color:#434c5e;max-width:40ch}.header-stats{display:flex;gap:24px;padding:16px 18px;background:#ffffffbf;border-radius:16px;border:1px solid rgba(76,86,106,.2)}.stat{font-size:1.4rem;font-weight:600}.panel{display:flex;flex-direction:column;gap:16px}.settings-panel{border:1px solid rgba(76,86,106,.18);background:#fff;border-radius:20px;padding:20px}.settings-row{display:flex;flex-direction:column;gap:8px}.settings-control{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.settings-control input{border-radius:10px;border:1px solid rgba(76,86,106,.25);padding:8px 10px;font-size:.95rem;background:#f7f8fb;width:90px}.settings-actions{display:flex;flex-direction:column;gap:8px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px 20px}.auth-card{width:min(420px,100%);padding:28px;border-radius:24px;background:#fff;border:1px solid rgba(76,86,106,.18);box-shadow:0 20px 60px #2e34401f;display:flex;flex-direction:column;gap:20px}.auth-form{display:grid;gap:14px}.toggle-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.toggle-button{border-radius:999px;border:1px solid rgba(76,86,106,.25);padding:10px 14px;font-weight:600;background:#eceff4;cursor:pointer}.toggle-button.active{background:#5e81ac;color:#eceff4;border-color:#5e81ac}.streak-panel{padding:28px;background:linear-gradient(135deg,#eceff4,#e5e9f0);border-radius:24px;border:1px solid rgba(76,86,106,.18);box-shadow:0 16px 50px #2e34401a;display:flex;flex-direction:column;gap:20px}.streak-header{display:flex;flex-direction:column;gap:12px}@media(min-width:820px){.streak-header{flex-direction:row;justify-content:space-between;align-items:center}}.streak-target{padding:14px 18px;border-radius:16px;border:1px solid rgba(76,86,106,.18);background:#fff}.streak-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}.battery-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.battery{padding:14px 16px 18px;border-radius:20px;border:2px solid #4c566a;background:#d8dee9;display:grid;justify-items:center;gap:10px}.battery.success{background:#a3be8c;border-color:#3b4252}.battery-cap{width:32px;height:10px;border-radius:6px 6px 0 0;background:#d8dee9;border:2px solid #4c566a;border-bottom:none}.battery.success .battery-cap{background:#a3be8c;border-color:#3b4252}.battery-body{width:100%;display:flex;flex-direction:column-reverse;gap:10px;padding:12px;border-radius:18px;border:2px solid #4c566a;background:#eceff4}.battery-cell{height:22px;border-radius:10px;border:2px solid #81a1c1;background:#e5e9f0}.battery-cell.filled{background:#81a1c1;border-color:#5e81ac}.battery-label{font-size:.82rem;color:#4c566a;text-align:center}.status-panel{padding:28px;background:#fff;border-radius:24px;border:1px solid rgba(76,86,106,.18);box-shadow:0 16px 40px #2e34401a}.data-source{display:inline-flex;margin-top:12px;padding:6px 12px;border-radius:999px;background:#4c566a26;font-size:.85rem;font-weight:600}.panel-header{display:flex;flex-direction:column;gap:12px}@media(min-width:720px){.panel-header{flex-direction:row;align-items:center;justify-content:space-between}}.primary-button{background:#4c566a;color:#eceff4;border:none;border-radius:999px;padding:12px 22px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.primary-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.primary-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #2e344040}.warmup-panel{padding:16px 18px;border-radius:18px;border:1px dashed rgba(76,86,106,.25);background:#fffc}.warmup-list{margin:10px 0 0;padding-left:18px;color:#434c5e;display:grid;gap:6px}.save-message{padding:10px 14px;border-radius:12px;background:#4c566a14;font-size:.95rem}.compact-card{padding:16px;border-radius:18px;background:#fff;border:1px solid rgba(76,86,106,.18);display:flex;flex-direction:column;gap:12px}.compact-header{display:flex;flex-direction:column;gap:10px}@media(min-width:720px){.compact-header{flex-direction:row;align-items:center;justify-content:space-between}}.compact-grid{display:grid;gap:8px}.compact-row{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:8px;font-size:.95rem}.compact-head{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:#4c566a}.exercise-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.exercise-card{display:flex;flex-direction:column;gap:12px;padding:18px;background:#fff;border-radius:18px;border:1px solid rgba(76,86,106,.16);box-shadow:0 12px 30px #2e344014}.exercise-header{display:flex;justify-content:space-between;gap:12px}.subtle{color:#4c566a;font-size:.95rem}.instructions{color:#434c5e;font-size:.95rem}.pill{background:#e5e9f0;color:#3b4252;border-radius:999px;padding:6px 12px;font-size:.85rem;font-weight:600;align-self:flex-start}.metric-row{display:flex;flex-wrap:wrap;gap:8px}.metric-chip{font-family:Space Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.75rem;padding:6px 10px;border-radius:999px;border:1px dashed rgba(76,86,106,.25);color:#3b4252}.prescription{display:flex;gap:16px;padding:10px 12px;border-radius:14px;background:#e5e9f0b3;border:1px solid rgba(76,86,106,.16)}.log-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.log-field{display:flex;flex-direction:column;gap:6px}.log-field input{border-radius:10px;border:1px solid rgba(76,86,106,.25);padding:8px 10px;font-size:.95rem;background:#f7f8fb}.log-field input:disabled{background:#4c566a14;color:#7b8396;cursor:not-allowed}.next-workout{opacity:.85}.availability-tag{display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:600;background:#4c566a26}.suggestion{padding:10px 12px;border-radius:12px;background:#4c566a14}.suggestion-title{font-weight:600;margin-bottom:4px}.ghost-button{align-self:flex-start;background:transparent;border:1px solid rgba(76,86,106,.35);border-radius:999px;padding:8px 14px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease}.ghost-button:hover{background:#e5e9f099;border-color:#4c566a80}@media(max-width:560px){#root{padding:24px 16px 48px}.header-stats{width:100%;justify-content:space-between}}@media(max-width:720px){#root{padding-bottom:96px}}.card{background-color:var(--color-surface-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;position:relative;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.card:before{content:"";position:absolute;top:0;left:0;bottom:0;width:2px;background-color:var(--color-surface-highlight);opacity:.5}.card:hover{border-color:var(--border-color-strong);box-shadow:var(--shadow-md)}.card--padding-none{padding:0}.card--padding-sm{padding:var(--space-3)}.card--padding-md{padding:var(--space-5)}.card--padding-lg{padding:var(--space-6)}.card.interactive{cursor:pointer}.card.interactive:hover{transform:translateY(-2px);border-color:var(--color-primary-dim)}.card.interactive:hover:before{background-color:var(--color-primary);opacity:1}.card.status-active:before{background-color:var(--color-accent);opacity:1}.card.status-complete:before{background-color:var(--color-success);opacity:1;width:4px}.streak-card{padding:var(--space-5);background-color:var(--color-surface-card)}.streak-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-6);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-4)}.streak-title{font-family:var(--font-family-serif);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-1)}.streak-subtitle{font-family:var(--font-family-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.streak-badge{text-align:center}.streak-count{font-family:var(--font-family-serif);font-size:var(--font-size-2xl);font-weight:var(--font-weight-black);color:var(--color-primary);line-height:1}.streak-label{font-family:var(--font-family-mono);font-size:10px;color:var(--color-text-secondary);text-transform:uppercase;display:block}.battery-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-4)}.battery-group{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);flex:1}.battery-case{position:relative;width:60px;height:80px;border:2px solid var(--border-color-strong);border-radius:6px;padding:4px;background-color:transparent;display:flex;flex-direction:column;transition:all var(--transition-normal)}.battery-terminal{position:absolute;top:-8px;left:50%;transform:translate(-50%);width:24px;height:6px;background-color:var(--border-color-strong);border-radius:2px 2px 0 0}.battery-group.current .battery-case{border-color:var(--color-text-primary);box-shadow:0 0 15px #ffd7001a}.battery-group.current .battery-date{color:var(--color-text-primary);font-weight:700}.battery-body{flex:1;display:flex;flex-direction:column-reverse;gap:4px;height:100%}.battery-segment{flex:1;background-color:#000;border-radius:2px;opacity:.3;border:1px solid rgba(255,255,255,.05)}.battery-segment.filled{background-color:var(--color-primary);opacity:1;box-shadow:0 0 5px #ffd7004d;border-color:#ffffff1a}.battery-case.charged{border-color:var(--color-primary);box-shadow:0 0 10px #ffd70033}.battery-case.charged .battery-terminal{background-color:var(--color-primary)}.battery-case.charged .battery-segment.filled{background-color:var(--color-primary);box-shadow:0 0 8px #ffd70080}.battery-date{font-family:var(--font-family-mono);font-size:10px;color:var(--color-text-tertiary);text-transform:uppercase;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1px solid transparent;font-family:var(--font-family-serif);font-weight:var(--font-weight-bold);line-height:1;text-decoration:none;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-sm);position:relative;overflow:hidden}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background-color:var(--color-primary);color:var(--color-text-inverse);border-color:var(--color-primary)}.btn--primary:hover{background-color:var(--color-primary-dim);border-color:var(--color-primary-dim);box-shadow:0 0 8px #ffd7004d}.btn--secondary{background-color:transparent;border-color:var(--border-color-strong);color:var(--color-text-primary)}.btn--secondary:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:#ffd7000d}.btn--ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.btn--ghost:hover{background-color:var(--color-surface-highlight);color:var(--color-text-primary)}.btn--outline{background-color:transparent;border:1px solid var(--border-color);color:var(--color-text-primary)}.btn--outline:hover{background-color:var(--color-surface-highlight);border-color:var(--color-text-primary)}.btn--sm{font-size:var(--font-size-xs);padding:var(--space-2) var(--space-3);height:32px}.btn--md{font-size:var(--font-size-sm);padding:var(--space-3) var(--space-4);height:40px}.btn--lg{font-size:var(--font-size-md);padding:var(--space-3) var(--space-6);height:48px}.btn--block{width:100%}.home-screen{display:flex;flex-direction:column;gap:var(--space-6);animation:fadeIn var(--transition-normal)}.home-header{display:flex;justify-content:space-between;align-items:baseline}.home-title{font-size:var(--font-size-3xl);color:var(--color-primary);margin-bottom:0}.home-date{font-size:var(--font-size-lg);color:var(--color-text-secondary);font-family:var(--font-family-serif);font-style:italic}.home-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}@media(min-width:1024px){.home-grid{grid-template-columns:2fr 1fr}}.section-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-4)}.workout-hero-card{background:radial-gradient(circle at top right,var(--color-surface-base),var(--color-surface-card));border-left:4px solid var(--color-accent)}.hero-content{display:flex;flex-direction:column;gap:var(--space-6);margin-bottom:var(--space-6)}@media(min-width:768px){.hero-content{flex-direction:row;justify-content:space-between;align-items:flex-start}}.hero-phase{display:inline-block;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.1em;color:var(--color-accent);margin-bottom:var(--space-2);font-weight:var(--font-weight-bold)}.hero-workout-name{font-size:var(--font-size-2xl);color:var(--color-primary);margin-bottom:var(--space-2)}.hero-summary{color:var(--color-text-secondary);font-size:var(--font-size-lg);margin-bottom:var(--space-4)}.hero-meta{display:flex;gap:var(--space-6)}.meta-item{display:flex;flex-direction:column}.meta-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase}.meta-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.start-button{width:100%}@media(min-width:768px){.start-button{width:auto}}.hero-preview{background-color:var(--color-surface-base);border-radius:var(--radius-md);padding:var(--space-4)}.preview-title{font-size:var(--font-size-sm);text-transform:uppercase;color:var(--color-text-secondary);margin-bottom:var(--space-3)}.preview-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2)}.preview-item{display:flex;justify-content:space-between;font-size:var(--font-size-sm);padding-bottom:var(--space-2);border-bottom:1px dashed var(--border-color)}.preview-item:last-child{border-bottom:none}.preview-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.preview-target{color:var(--color-text-secondary)}.preview-more{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center;margin-top:var(--space-2)}.home-sidebar{display:flex;flex-direction:column;gap:var(--space-6)}.widget-title{font-size:var(--font-size-md);margin-bottom:var(--space-4);color:var(--color-text-primary)}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.exercise-card{display:flex;flex-direction:column;transition:all var(--transition-normal);border-left:4px solid transparent}.exercise-card--active{border-left-color:var(--color-primary);box-shadow:var(--shadow-lg)}.exercise-card--collapsed{cursor:pointer;padding:var(--space-4)!important;border-left-color:transparent}.exercise-card--collapsed:hover{background-color:var(--color-surface-base)}.exercise-card--complete{opacity:.7;border-left-color:var(--color-success)}.exercise-collapsed-row{display:flex;justify-content:space-between;align-items:center}.exercise-collapsed-info{display:flex;align-items:center;gap:var(--space-3)}.exercise-name-sm{font-size:var(--font-size-md);color:var(--color-text-primary);margin:0;font-weight:var(--font-weight-medium)}.exercise-collapsed-status{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:var(--font-weight-bold)}.status-check{color:var(--color-success);font-weight:700}.exercise-card--disabled{opacity:.7;background-color:var(--color-surface-base)}.exercise-header{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-4)}.exercise-title-group{display:flex;flex-direction:column;gap:var(--space-1)}.exercise-meta-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-1)}.exercise-number{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.exercise-pill{background-color:var(--color-surface-base);border:1px solid var(--border-color);color:var(--color-text-secondary);font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-full);font-weight:var(--font-weight-medium)}.exercise-name{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:0}.exercise-category{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.exercise-body{display:flex;flex-direction:column;gap:var(--space-5)}.exercise-info{display:flex;flex-direction:column;gap:var(--space-3)}.prescription-row{display:flex;gap:var(--space-6);padding:var(--space-3);background-color:var(--color-surface-base);border-radius:var(--radius-md)}.prescription-item{display:flex;flex-direction:column}.prescription-label{font-size:var(--font-size-xs);text-transform:uppercase;color:var(--color-text-tertiary)}.prescription-value{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.exercise-instructions{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-loose);font-style:italic}.log-inputs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}.log-input-group{display:flex;flex-direction:column;gap:var(--space-2)}.log-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);white-space:nowrap;display:flex;align-items:center}.suggested-value-label{margin-left:var(--space-2);font-size:.9em;color:var(--color-primary);opacity:.9;font-weight:400}.log-input{width:100%;padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-color);font-family:var(--font-family-mono);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-primary);background-color:var(--color-surface-base);transition:all var(--transition-fast);-moz-appearance:textfield}.log-input--large{font-size:var(--font-size-2xl);padding:var(--space-4);height:60px}.log-input::-webkit-outer-spin-button,.log-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.log-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #102a431a;background-color:var(--color-surface-card)}.log-input:disabled{background-color:transparent;color:var(--color-text-tertiary);border-color:transparent;padding-left:0}.stepper-control{display:flex;align-items:center;gap:var(--space-2)}.stepper-btn{width:60px;height:60px;border-radius:var(--radius-md);background-color:var(--color-surface-base);border:1px solid var(--border-color);font-size:var(--font-size-2xl);color:var(--color-primary);cursor:pointer;display:flex;align-items:center;justify-content:center}.stepper-btn:hover{background-color:var(--color-surface-card);border-color:var(--color-primary)}.log-input--center{text-align:center}.exercise-footer{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-1)}.suggestion-box{display:flex;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.suggestion-box--progression{background-color:#d4a0171a;border:1px solid rgba(212,160,23,.2)}.suggestion-box--note{background-color:#102a430d;border:1px solid rgba(16,42,67,.1)}.suggestion-icon{font-size:1.25em;line-height:1}.suggestion-content{display:flex;flex-direction:column;gap:2px}.suggestion-title{font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.suggestion-detail{color:var(--color-text-secondary)}.progression-rule{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center}.next-workout-card{border-top:4px solid var(--color-text-tertiary);padding:var(--space-6);background-color:var(--color-surface-base)}.next-workout--available{border-color:var(--color-success);background-color:var(--color-surface-card)}.next-workout-header{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-4)}@media(min-width:768px){.next-workout-header{flex-direction:row;justify-content:space-between;align-items:flex-start}}.next-title{font-size:var(--font-size-xl);color:var(--color-text-primary);margin-bottom:var(--space-2)}.subtle-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.availability-badge{align-self:flex-start;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);text-transform:uppercase}.badge--success{background-color:#2e7d321a;color:var(--color-success);border:1px solid rgba(46,125,50,.2)}.badge--locked{background-color:#0000000d;color:var(--color-text-tertiary);border:1px solid var(--border-color)}.instruction-text{font-size:var(--font-size-sm);font-style:italic;color:var(--color-text-secondary);margin-bottom:var(--space-6)}.warmup-preview{margin-bottom:var(--space-6);padding:var(--space-4);background:linear-gradient(135deg,var(--color-surface-card),rgba(255,215,0,.05));border:1px solid var(--border-color);border-left:4px solid var(--color-primary);border-radius:var(--radius-md)}.warmup-list{padding-left:var(--space-4);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.next-exercises-grid{display:grid;gap:var(--space-6)}.session-screen{display:flex;flex-direction:column;gap:var(--space-6);max-width:800px;margin:0 auto;padding-bottom:100px;animation:fadeIn var(--transition-normal)}.center-content{align-items:center;justify-content:center;min-height:50vh}.status-card{text-align:center;max-width:400px;width:100%}.status-card--error{border-color:var(--color-error)}.session-sticky-header{position:sticky;top:0;z-index:100;background-color:var(--color-surface-base);border-bottom:1px solid var(--border-color);padding:var(--space-3) var(--space-4);margin:0 calc(var(--space-4) * -1)}@media(min-width:768px){.session-sticky-header{margin:0;border-radius:0 0 var(--radius-lg) var(--radius-lg)}}.sticky-content{display:flex;justify-content:space-between;align-items:center;max-width:800px;margin:0 auto}.session-info-compact{display:flex;flex-direction:column}.session-title-compact{font-size:var(--font-size-md);color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.session-timer{font-family:var(--font-family-mono);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.session-actions-compact{display:flex;align-items:center;gap:var(--space-3)}.save-message-compact{font-size:var(--font-size-xs);color:var(--color-success);font-weight:700}.session-content{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-2)}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.warmup-card{padding:var(--space-4);background:linear-gradient(135deg,var(--color-surface-card),rgba(255,215,0,.05));border:1px solid var(--border-color);border-left:4px solid var(--color-primary)}.card-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);margin-bottom:var(--space-2);color:var(--color-primary)}.warmup-steps{padding-left:var(--space-5);color:var(--color-text-secondary);line-height:var(--line-height-loose);font-size:var(--font-size-sm)}.exercises-list{display:flex;flex-direction:column;gap:var(--space-3)}.save-workout-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4) 0}.save-workout-section .btn{width:100%;height:52px;font-size:var(--font-size-md)}.save-message{font-size:var(--font-size-sm);color:var(--color-success);font-weight:var(--font-weight-bold);text-align:center}.date-picker-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background-color:var(--color-surface-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.date-picker-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);white-space:nowrap}.date-picker-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--color-surface-base);color:var(--color-text-primary);font-family:var(--font-family-mono);font-size:var(--font-size-md)}.date-picker-input:focus{outline:none;border-color:var(--color-primary)}.session-date-badge{font-size:var(--font-size-xs);color:var(--color-primary);font-weight:var(--font-weight-bold);font-family:var(--font-family-mono)}.stats-screen{display:flex;flex-direction:column;gap:var(--space-6);animation:fadeIn var(--transition-normal)}.stats-header{margin-bottom:var(--space-2)}.stats-title{font-size:var(--font-size-3xl);color:var(--color-primary);margin-bottom:var(--space-2)}.stats-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.stats-grid{display:flex;flex-direction:column;gap:var(--space-6)}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-6)}.chart-card{display:flex;flex-direction:column;justify-content:space-between;min-height:250px}.chart-title{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-4)}.chart-placeholder{flex:1;display:flex;align-items:flex-end;justify-content:space-around;gap:var(--space-2);padding:var(--space-4) 0;border-bottom:1px solid var(--border-color);margin-bottom:var(--space-3);position:relative}.chart-bar{width:100%;background-color:var(--color-primary-light);border-radius:var(--radius-sm) var(--radius-sm) 0 0;opacity:.8;transition:height var(--transition-slow)}.chart-bar:hover{opacity:1;background-color:var(--color-primary)}.chart-line-svg{width:100%;height:100%;overflow:visible}.chart-caption{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-align:center}.pr-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.pr-item{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-2);border-bottom:1px dashed var(--border-color)}.pr-item:last-child{border-bottom:none}.pr-name{font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.pr-value{font-weight:var(--font-weight-bold);color:var(--color-primary);font-family:var(--font-family-mono)}.settings-container{display:flex;flex-direction:column;gap:var(--space-6);max-width:600px;margin:0 auto;animation:fadeIn var(--transition-normal)}.settings-header{margin-bottom:var(--space-2)}.settings-title{font-size:var(--font-size-3xl);color:var(--color-primary);margin-bottom:var(--space-2)}.settings-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.settings-card{padding:var(--space-6)}.section-header{font-size:var(--font-size-md);color:var(--color-text-primary);border-bottom:1px solid var(--border-color);padding-bottom:var(--space-3);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}.setting-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px dashed var(--border-color)}.setting-row:last-child{border-bottom:none}.setting-info{flex:1;padding-right:var(--space-4)}.setting-label{display:block;font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.setting-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.setting-control{display:flex;align-items:center;gap:var(--space-2)}.number-input{width:60px;padding:var(--space-2);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-md);font-weight:var(--font-weight-medium)}.unit-label{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.toggle-group{display:flex;background-color:var(--color-surface-base);border-radius:var(--radius-full);padding:4px;border:1px solid var(--border-color)}.toggle-option{border:none;background:transparent;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.toggle-option.active{background-color:var(--color-surface-card);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:var(--font-weight-bold)}.settings-message{margin-top:var(--space-4);padding:var(--space-3);background-color:#2e7d321a;color:var(--color-success);border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-sm)}.account-card{border-color:#d32f2f33}.text-danger{color:var(--color-error)}.logout-button{color:var(--color-error)!important}.logout-button:hover{background-color:#d32f2f0d!important}.auth-message{text-align:center;margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.app-version{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:var(--space-4)}.shell{display:flex;flex-direction:column;min-height:100vh;background-color:var(--color-surface-base)}.shell__content{flex:1;overflow-y:auto;width:100%;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:40px 40px}.shell__container{max-width:1200px;margin:0 auto;padding:var(--space-4);padding-bottom:100px;min-height:100%}@media(min-width:768px){.shell{flex-direction:row}.shell__nav{flex-shrink:0;width:250px;background-color:var(--color-surface-card);border-right:1px solid var(--border-color);height:100vh;position:sticky;top:0}.shell__content{height:100vh}.shell__container{padding:var(--space-8);padding-bottom:var(--space-8)}}@media(max-width:767px){.shell__nav{position:fixed;bottom:0;left:0;right:0;z-index:50;background-color:var(--color-surface-card);border-top:1px solid var(--border-color);box-shadow:0 -4px 6px -1px #0000001a}}.nav{display:flex;height:100%;flex-direction:column}.nav__brand{padding:var(--space-6);display:flex;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-4)}.nav__logo{font-family:var(--font-family-serif);font-weight:var(--font-weight-black);font-size:var(--font-size-2xl);color:var(--color-primary);letter-spacing:.1em}.nav__title{font-family:var(--font-family-serif);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);color:var(--color-text-primary);text-transform:uppercase}.nav__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-2);padding:0 var(--space-4)}.nav__item{width:100%}.nav__link{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-family-serif);font-weight:var(--font-weight-medium);font-size:var(--font-size-md);cursor:pointer;transition:all var(--transition-fast);text-transform:uppercase;letter-spacing:.05em;text-align:left}.nav__link:hover{color:var(--color-primary);background-color:#ffd7000d}.nav__link--active{color:var(--color-text-inverse);background-color:var(--color-primary);border-color:var(--color-primary);font-weight:var(--font-weight-bold);box-shadow:0 0 10px #ffd70066}.nav__icon{font-size:1.25rem;display:flex;align-items:center;justify-content:center}.nav__icon img{filter:invert(1) brightness(2)}.nav__link--active .nav__icon img{filter:invert(0)}@media(max-width:767px){.nav{flex-direction:row;justify-content:center}.nav__brand{display:none}.nav__list{flex-direction:row;gap:0;justify-content:space-around;width:100%;padding:0}.nav__item{width:auto;flex:1}.nav__link{flex-direction:column;gap:var(--space-1);padding:var(--space-2);font-size:10px;justify-content:center;border-radius:0;border:none;border-top:3px solid transparent;height:60px}.nav__link--active{background-color:transparent;color:var(--color-primary);border-top-color:var(--color-primary);box-shadow:none}.nav__link--active .nav__icon img{filter:invert(77%) sepia(61%) saturate(2370%) hue-rotate(359deg) brightness(101%) contrast(106%)}}
