.day-selection{width:100%;max-width:800px;margin:0 auto;padding:20px;box-sizing:border-box}.day-selection.day-selection-tight{padding:16px}.header{text-align:center;margin-bottom:30px}.header h1{font-size:32px;font-weight:600;margin:0}.day-header-compact{margin-bottom:16px}.day-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.day-title{font-size:28px;font-weight:700;color:#007aff;margin:0}.day-toggle-btn{font-size:14px;padding:6px 12px;border:1px solid #F59E0B;border-radius:6px;background:#fff;color:#f59e0b;cursor:pointer;font-weight:500}.day-toggle-btn:hover{background:#fef3c7}.last-workout-info-compact{color:#666;font-size:13px;margin:0 0 8px}.view-progress-link{color:#3b82f6;font-size:14px;text-decoration:none}.view-progress-link:hover{text-decoration:underline}.next-workout-header{text-align:center;margin-bottom:24px}.next-workout-day{font-size:36px;font-weight:700;color:#007aff;margin:0 0 12px}.last-workout-info{color:#666;font-size:14px;margin:0;font-style:italic}.training-rules-collapsed{margin-bottom:16px;width:100%;min-width:100%}.training-rules-collapsed summary{cursor:pointer;font-size:14px;color:#666;padding:8px 0}.training-rules-collapsed summary:hover{color:#333}.training-rules-content{background:#f5f5f5;padding:12px 16px;border-radius:8px;margin-top:8px}.day-selection-tight .day-card,.day-selection-tight .start-button,.day-selection-tight .training-rules-collapsed{width:100%;box-sizing:border-box}.training-rules-content p{margin:0 0 8px;font-size:13px;color:#666}.training-rules-content ul{margin:0;padding-left:20px}.training-rules-content li{margin:4px 0;font-size:13px;line-height:1.4;color:#666}.training-rules{background:#f5f5f5;padding:20px;border-radius:12px;margin-bottom:30px}.training-rules h3{margin-top:0;font-size:18px}.training-rules ul{margin:10px 0 0;padding-left:20px}.training-rules li{margin:8px 0;font-size:14px;line-height:1.5}.day-card.day-card-tight{padding:16px}.day-card-tight .day-header{margin-bottom:12px;padding-bottom:12px}.day-card-tight .day-header h2{font-size:18px}.day-cards{display:flex;flex-direction:column;gap:30px}.day-card{border:2px solid #e0e0e0;border-radius:16px;padding:24px;background:#fff}.day-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.day-header h2{margin:0;font-size:28px;font-weight:700}.exercise-count{background:#007aff;color:#fff;padding:6px 12px;border-radius:20px;font-size:14px;font-weight:500}.exercise-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.exercise-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fafafa;border-radius:8px}.exercise-info{display:flex;flex-direction:column;gap:4px}.muscle-group-inline{font-size:12px;font-weight:500}.muscle-group-separator{color:#999;font-weight:300}.exercise-name{font-size:16px;font-weight:600}.exercise-details{font-size:14px;color:#666}.video-link{font-size:24px;text-decoration:none;padding:8px;transition:transform .2s}.video-link:hover{transform:scale(1.2)}.no-video{opacity:.3;font-size:.9em;padding:8px}.day-feedback-history{background:#fff9e6;border-left:4px solid #ffc107;border-radius:8px;padding:16px;margin-bottom:20px}.day-feedback-history h4{font-size:16px;margin:0 0 12px;color:#f57c00}.day-feedback-item{background:#fff;padding:12px;border-radius:6px;margin-bottom:8px}.day-feedback-item:last-child{margin-bottom:0}.day-feedback-date{font-size:12px;color:#666;font-weight:600;margin-bottom:6px}.day-feedback-text{font-size:14px;color:#333;line-height:1.5}.more-feedback{font-size:13px;color:#666;font-style:italic;margin-top:8px;text-align:center}.start-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:#007aff;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:background .2s}.start-button.primary-cta{padding:20px;font-size:20px;margin-bottom:24px;background:#3b82f6}.start-button.primary-cta:hover{background:#2563eb}.skip-day-button{width:100%;background-color:#f59e0b;color:#fff;padding:12px 24px;border-radius:8px;border:none;font-size:16px;font-weight:500;cursor:pointer;margin-bottom:24px;transition:background-color .2s}.skip-day-button:hover{background-color:#d97706}.skip-day-button:active{background-color:#b45309}.start-button:hover{background:#0056b3}.start-button:active{transform:scale(.98)}@media (max-width: 768px){.day-selection{padding:16px}.header h1{font-size:24px}.day-header h2{font-size:22px}}.pre-workout{max-width:600px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.pre-workout.pre-workout-compact{min-height:auto;padding:16px}.preworkout-header-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.preworkout-header-compact h1{font-size:24px;font-weight:700;margin:0}.timer-compact{font-size:16px;font-weight:600;color:#666;font-variant-numeric:tabular-nums}.warmup-section-compact{margin-bottom:20px}.warmup-label{font-size:14px;color:#666;margin-bottom:12px}.warmup-items-compact{display:flex;flex-direction:column;gap:8px}.warmup-item-compact{display:flex;align-items:center;gap:12px;padding:12px;background:#fafafa;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .2s}.warmup-item-compact:hover{border-color:#007aff;background:#f0f8ff}.warmup-item-compact.checked{background:#e8f5e9;border-color:#4caf50}.checkbox-compact{width:24px;height:24px;border:2px solid #ccc;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0;transition:all .2s}.warmup-item-compact.checked .checkbox-compact{background:#4caf50;border-color:#4caf50;color:#fff}.warmup-text{font-size:14px;color:#333}.workout-header{text-align:center;margin-bottom:40px}.workout-header h1{font-size:28px;font-weight:700;margin:0 0 16px}.timer{font-size:48px;font-weight:700;color:#007aff;font-variant-numeric:tabular-nums}.warmup-section{flex:1}.warmup-section h2{font-size:24px;margin-bottom:8px}.warmup-note{color:#666;margin-bottom:24px}.warmup-items{display:flex;flex-direction:column;gap:16px}.warmup-item{display:flex;gap:16px;padding:20px;background:#fafafa;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .2s}.warmup-item:hover{border-color:#007aff;background:#f0f8ff}.warmup-item.checked{background:#e8f5e9;border-color:#4caf50}.checkbox{width:32px;height:32px;border:3px solid #ccc;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:700;flex-shrink:0;transition:all .2s}.warmup-item.checked .checkbox{background:#4caf50;border-color:#4caf50;color:#fff}.warmup-content{flex:1}.warmup-title{font-size:18px;font-weight:600;margin-bottom:4px}.warmup-description{font-size:14px;color:#666}.begin-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:#3b82f6;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s;margin-top:20px}.begin-button:hover:not(:disabled){background:#2563eb}.begin-button:active:not(:disabled){transform:scale(.98)}.begin-button:disabled{background:#ccc;cursor:not-allowed}@media (max-width: 768px){.pre-workout{padding:16px}.timer{font-size:40px}.warmup-section h2{font-size:20px}}.exercise-view{max-width:600px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.exercise-header{text-align:center;margin-bottom:24px}.workout-timer{font-size:36px;font-weight:700;color:#007aff;margin-bottom:8px;font-variant-numeric:tabular-nums}.exercise-progress{font-size:14px;color:#666;font-weight:500}.exercise-content{flex:1}.exercise-title{font-size:32px;font-weight:700;margin:0 0 24px;text-align:center}.exercise-instructions{background:#f5f5f5;padding:20px;border-radius:12px;margin-bottom:16px}.instruction-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.instruction-row:last-child{margin-bottom:0}.instruction-label{font-size:16px;font-weight:600;color:#666}.instruction-value{font-size:24px;font-weight:700}.weight-input{font-size:24px;font-weight:700;padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;text-align:right;max-width:150px}.weight-input:focus{outline:none;border-color:#007aff}.video-button{display:block;width:100%;padding:16px;background:#007aff;color:#fff;text-decoration:none;text-align:center;border-radius:12px;font-size:18px;font-weight:600;margin-bottom:16px;transition:background .2s}.video-button:hover{background:#0056b3}.exercise-note{background:#fff9e6;padding:12px 16px;border-radius:8px;margin-bottom:24px;font-size:14px;border-left:4px solid #ffc107}.historical-feedback{background:#f0f8ff;padding:16px;border-radius:12px;margin-bottom:16px;border-left:4px solid #007AFF}.historical-feedback h4{font-size:16px;margin:0 0 12px;color:#007aff}.feedback-item{background:#fff;padding:12px;border-radius:8px;margin-bottom:8px}.feedback-item:last-child{margin-bottom:0}.feedback-date{font-size:12px;color:#666;margin-bottom:6px;font-weight:600}.feedback-text{font-size:14px;color:#333;line-height:1.5}.add-feedback-button{width:100%;padding:14px;background:#fff;border:2px solid #007AFF;border-radius:12px;font-size:16px;font-weight:600;color:#007aff;cursor:pointer;margin-bottom:16px;transition:all .2s}.add-feedback-button:hover{background:#f0f8ff}.feedback-form{background:#f5f5f5;padding:16px;border-radius:12px;margin-bottom:16px}.feedback-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;margin-bottom:12px;box-sizing:border-box}.feedback-input:focus{outline:none;border-color:#007aff}.feedback-actions{display:flex;gap:8px}.save-feedback-button{flex:1;padding:12px;background:#007aff;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.save-feedback-button:hover:not(:disabled){background:#0056b3}.save-feedback-button:disabled{background:#ccc;cursor:not-allowed}.cancel-feedback-button{padding:12px 20px;background:#fff;color:#666;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.cancel-feedback-button:hover{border-color:#007aff;color:#007aff}.set-tracker{margin-bottom:24px}.set-tracker h3{font-size:18px;margin-bottom:16px}.sets{display:flex;flex-direction:column;gap:12px}.set-button{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#fafafa;border:3px solid #e0e0e0;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .2s}.set-button:hover{border-color:#007aff;background:#f0f8ff}.set-button.completed{background:#e8f5e9;border-color:#4caf50}.set-number{font-size:18px}.checkmark{font-size:24px;color:#4caf50}.notes-section{margin-bottom:24px}.notes-section label{display:block;font-size:14px;font-weight:600;color:#666;margin-bottom:8px}.notes-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical}.notes-input:focus{outline:none;border-color:#007aff}.next-exercise-preview{background:#f5f5f5;padding:16px;border-radius:12px;margin-bottom:16px}.next-label{font-size:12px;font-weight:600;color:#666;text-transform:uppercase;margin-bottom:8px}.next-info{display:flex;justify-content:space-between;align-items:center}.next-name{font-size:16px;font-weight:600}.next-details{font-size:14px;color:#666}.next-button{width:100%;padding:20px;font-size:20px;font-weight:600;background:#007aff;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.next-button:hover:not(:disabled){background:#0056b3}.next-button:active:not(:disabled){transform:scale(.98)}.next-button:disabled{background:#ccc;cursor:not-allowed}.rest-timer-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#f5f5f5}.rest-timer{text-align:center;padding:40px}.rest-timer h2{font-size:24px;margin-bottom:24px;color:#666}.rest-time{font-size:96px;font-weight:700;color:#007aff;margin-bottom:40px;font-variant-numeric:tabular-nums}.skip-rest-button{padding:16px 32px;font-size:18px;font-weight:600;background:#fff;color:#007aff;border:2px solid #007AFF;border-radius:12px;cursor:pointer;transition:all .2s}.skip-rest-button:hover{background:#007aff;color:#fff}@media (max-width: 768px){.exercise-title{font-size:24px}.workout-timer{font-size:28px}.rest-time{font-size:72px}}.session-summary{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.session-summary.session-summary-light{background:#fff}.summary-content{max-width:500px;width:100%;text-align:center;display:flex;flex-direction:column;min-height:100%}.completion-badge{width:120px;height:120px;background:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:72px;margin:0 auto 24px;color:#4caf50;box-shadow:0 10px 30px #0003}.session-summary-light .completion-badge{width:auto;height:auto;background:transparent;border-radius:0;font-size:48px;font-weight:700;font-style:italic;box-shadow:none;margin-bottom:40px}.summary-actions{display:flex;flex-direction:column;gap:12px}.summary-button{display:block;width:100%;padding:18px;font-size:18px;font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:background .2s;text-decoration:none;text-align:center}.summary-button:hover{text-decoration:none}.summary-button-green{background:#4caf50;color:#fff}.summary-button-green:hover{background:#43a047;color:#fff}.summary-button-orange{background:#f59e0b;color:#fff}.summary-button-orange:hover{background:#d97706;color:#fff}.summary-button-blue{background:#3b82f6;color:#fff}.summary-button-blue:hover{background:#2563eb}.summary-bottom{margin-top:auto;padding-top:40px}.summary-content h1{color:#fff;font-size:36px;margin-bottom:40px}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:40px}.stat-card{background:#fffffff2;padding:24px 16px;border-radius:16px;box-shadow:0 4px 12px #0000001a}.stat-value{font-size:28px;font-weight:700;margin-bottom:8px;color:#333}.stat-label{font-size:14px;color:#666;font-weight:500}.rating-section{margin-bottom:32px}.rating-section h2{color:#fff;font-size:24px;margin-bottom:20px}.rating-options{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:20px}.rating-button{background:#fffffff2;border:3px solid transparent;border-radius:16px;padding:20px 16px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:140px}.rating-button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.rating-button.selected{border-color:#4caf50;background:#fff;box-shadow:0 6px 20px #4caf504d}.rating-emoji{font-size:48px;margin-bottom:8px}.rating-label{font-size:16px;font-weight:700;color:#333;margin-bottom:4px}.rating-description{font-size:13px;color:#666;text-align:center;line-height:1.4}.day-feedback-section{background:#fffffff2;border-radius:16px;padding:20px;margin-bottom:20px;text-align:left}.day-feedback-section label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:12px}.day-feedback-textarea{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;font-family:inherit;resize:vertical;box-sizing:border-box}.day-feedback-textarea:focus{outline:none;border-color:#667eea}.feedback-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:#fff;color:#667eea;border:none;border-radius:12px;cursor:pointer;margin-bottom:12px;transition:all .2s;box-shadow:0 4px 12px #0000001a}.feedback-button:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000026}.finish-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:#fff3;color:#fff;border:2px solid white;border-radius:12px;cursor:pointer;transition:all .2s}.finish-button:hover{background:#ffffff4d}.read-only-message{color:#fffc;font-size:16px;margin-bottom:24px;font-style:italic}.feedback-screen{min-height:100vh;background:#fff;display:flex;flex-direction:column}.feedback-header{display:flex;align-items:center;padding:20px;border-bottom:1px solid #e0e0e0;position:relative}.back-button{background:none;border:none;font-size:16px;font-weight:600;color:#007aff;cursor:pointer;padding:8px;position:absolute;left:12px}.feedback-header h2{flex:1;text-align:center;margin:0;font-size:20px}.feedback-content{flex:1;max-width:600px;margin:0 auto;padding:20px;width:100%}.feedback-meta{font-size:14px;color:#666;margin-bottom:20px}.feedback-form{display:flex;flex-direction:column;gap:20px}.feedback-form label{font-size:16px;font-weight:600;display:block}.feedback-textarea{width:100%;padding:16px;border:2px solid #e0e0e0;border-radius:12px;font-size:16px;font-family:inherit;resize:vertical;min-height:200px}.feedback-textarea:focus{outline:none;border-color:#007aff}.feedback-option{background:#f5f5f5;padding:16px;border-radius:12px}.checkbox-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.send-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:#007aff;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s}.send-button:hover:not(:disabled){background:#0056b3}.send-button:disabled{background:#ccc;cursor:not-allowed}.feedback-sent{padding:18px;background:#e8f5e9;color:#4caf50;border-radius:12px;font-size:18px;font-weight:600;text-align:center}@media (max-width: 768px){.summary-content h1{font-size:28px}.summary-stats{grid-template-columns:1fr}.stat-card{display:flex;justify-content:space-between;align-items:center}.stat-value{font-size:24px}}.workout-checklist{max-width:600px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.checklist-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.header-controls{display:flex;align-items:center;gap:16px}.notes-toggle{font-size:14px;display:flex;align-items:center;gap:6px;cursor:pointer;color:#666;-webkit-user-select:none;user-select:none}.notes-toggle input{cursor:pointer;width:16px;height:16px}.reset-mode-button{font-size:13px;padding:6px 12px;border:1px solid #ccc;border-radius:6px;background:#fff;color:#666;cursor:pointer;transition:all .2s;font-weight:500;-webkit-user-select:none;user-select:none}.reset-mode-button:hover{border-color:#999;color:#333}.reset-mode-button.active{background:#ef4444;border-color:#ef4444;color:#fff}.reset-mode-button.active:hover{background:#dc2626;border-color:#dc2626}.checklist-exercises{flex:1;display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.checklist-exercise{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:16px;transition:all .2s}.checklist-exercise.done{opacity:.5;background:#f9f9f9}.checklist-exercise.exercise-selectable{cursor:pointer}.checklist-exercise.exercise-selectable:hover{border-color:#fca5a5;background:#fef2f2}.checklist-exercise.exercise-selected-for-reset{border-color:#ef4444;background:#fee2e2;opacity:1}.checklist-exercise-main{display:flex;align-items:flex-start;gap:12px;perspective:1000px}.checklist-checkbox{width:32px;height:32px;border:3px solid #ccc;border-radius:8px;background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s}.checklist-checkbox:hover{border-color:#007aff}.checklist-checkbox.checked{background:#4caf50;border-color:#4caf50}.check-icon{color:#fff;font-size:18px;font-weight:700}.checklist-exercise-info{flex:1;min-width:0;transform-style:preserve-3d;padding:4px 0}.checklist-exercise-info.cyclable{-webkit-user-select:none;user-select:none;border-radius:8px;transition:background .1s}.checklist-exercise-info.cyclable:hover{background:#007aff0d}.checklist-exercise-info.cyclable:active{background:#007aff1a}.checklist-exercise-name{font-size:18px;font-weight:600;margin-bottom:4px;transition:all .2s}.checklist-exercise-name.struck{text-decoration:line-through;color:#888}.checklist-exercise-prescription{font-size:14px;color:#666;transition:all .2s}.checklist-exercise-prescription.struck{text-decoration:line-through;color:#aaa}.checklist-exercise-hint{font-size:13px;color:#f57c00;margin-top:6px;font-style:italic}.checklist-video-link{font-size:24px;text-decoration:none;padding:4px;flex-shrink:0}.no-video{opacity:.3;font-size:.9em;padding:4px;flex-shrink:0}.checklist-feedback-history{margin-top:12px;padding-top:12px;border-top:1px solid #eee}.checklist-feedback-item{display:flex;align-items:center;gap:.5rem;font-size:13px;color:#666;margin-bottom:6px;line-height:1.4}.checklist-feedback-author{font-size:14px;flex-shrink:0}.checklist-feedback-text{flex:1;color:#333}.checklist-feedback-separator{color:#999;flex-shrink:0}.checklist-feedback-date{color:#999;flex-shrink:0;white-space:nowrap}.checklist-note-section{margin-top:12px}.checklist-add-note-btn{background:none;border:none;color:#007aff;font-size:14px;cursor:pointer;padding:4px 0}.checklist-add-note-btn:hover{text-decoration:underline}.checklist-note-form{display:flex;flex-direction:column;gap:8px}.checklist-note-input{padding:10px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-family:inherit}.checklist-note-input:focus{outline:none;border-color:#007aff}.checklist-note-actions{display:flex;gap:8px}.checklist-save-note-btn{padding:8px 16px;background:#007aff;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer}.checklist-save-note-btn:disabled{background:#ccc;cursor:not-allowed}.checklist-cancel-note-btn{padding:8px 16px;background:#fff;color:#666;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;cursor:pointer}.checklist-cancel-note-btn:hover{border-color:#007aff;color:#007aff}.finish-workout-button{width:100%;padding:18px;font-size:18px;font-weight:600;background:#007aff;color:#fff;border:none;border-radius:12px;cursor:pointer;transition:all .2s;margin-top:auto}.finish-workout-button:hover{background:#0056b3}@media (max-width: 768px){.workout-checklist{padding:16px}.checklist-exercise-name{font-size:16px}}.muscle-group-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;cursor:pointer;animation:fadeIn .2s ease-out}.muscle-group-image{max-width:90vw;max-height:70vh;object-fit:contain;border-radius:12px;box-shadow:0 10px 40px #0000004d;animation:scaleIn .2s ease-out}.muscle-group-inline{cursor:pointer;transition:opacity .1s}.muscle-group-inline:hover{opacity:.7}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.exercise-row-selecting{display:flex;gap:12px;padding:16px;justify-content:space-between;animation:fadeIn .2s ease-out}.adjustment-button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 16px;border:2px solid #e0e0e0;border-radius:12px;background:#fff;cursor:pointer;transition:all .2s ease;min-height:80px}.adjustment-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.adjustment-button:active{transform:translateY(0)}.adjustment-icon{font-size:28px;font-weight:700}.adjustment-label{font-size:16px;font-weight:600}.adjustment-button-less{border-color:#fca5a5}.adjustment-button-less:hover{background:#fef2f2;border-color:#ef4444}.adjustment-button-less .adjustment-icon{color:#ef4444}.adjustment-button-same{border-color:#93c5fd}.adjustment-button-same:hover{background:#eff6ff;border-color:#3b82f6}.adjustment-button-same .adjustment-icon{color:#3b82f6}.adjustment-button-more{border-color:#86efac}.adjustment-button-more:hover{background:#f0fdf4;border-color:#22c55e}.adjustment-button-more .adjustment-icon{color:#22c55e}.exercise-row-confirmed{display:flex;align-items:center;justify-content:center;padding:20px 16px;cursor:pointer;transition:all .2s ease;animation:fadeIn .2s ease-out}.exercise-row-confirmed:hover{background:#f9f9f9}.confirmation-text{font-size:16px;font-weight:600}.checklist-exercise-confirmed .confirmation-text{color:#3b82f6}.checklist-exercise-confirmed[data-adjustment=under] .confirmation-text{color:#ef4444}.checklist-exercise-confirmed[data-adjustment=as_prescribed] .confirmation-text{color:#3b82f6}.checklist-exercise-confirmed[data-adjustment=over] .confirmation-text{color:#22c55e}.promotion-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.promotion-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;padding:32px 24px;max-width:400px;width:90vw;text-align:center;box-shadow:0 10px 40px #0003;animation:scaleIn .2s ease-out;z-index:1001}.promotion-header{font-size:24px;font-weight:700;margin-bottom:20px;color:#22c55e}.promotion-exercise-name{font-size:20px;font-weight:600;margin-bottom:12px;color:#333}.promotion-current{font-size:16px;color:#666;margin-bottom:24px}.promotion-form{margin-bottom:24px}.promotion-label{font-size:14px;font-weight:600;color:#666;margin-bottom:12px;text-align:left}.promotion-inputs{display:flex;gap:1rem}.promotion-input-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.promotion-input{width:100%;padding:12px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;font-family:inherit;text-align:center;box-sizing:border-box}.promotion-input:focus{outline:none;border-color:#22c55e}.promotion-input-label{font-size:12px;color:#999;text-align:center}.promotion-error{color:#ef4444;font-size:14px;margin-bottom:16px}.promotion-buttons{display:flex;gap:12px}.promotion-button{flex:1;padding:14px 20px;border:none;border-radius:10px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.promotion-button:disabled{opacity:.6;cursor:not-allowed}.promotion-accept{background:#22c55e;color:#fff}.promotion-accept:hover:not(:disabled){background:#16a34a}.promotion-defer{background:#f0f0f0;color:#666}.promotion-defer:hover:not(:disabled){background:#e0e0e0}.add-exercise-card{display:flex;align-items:center;justify-content:center;gap:8px;min-height:80px;border:2px dashed #ccc;border-radius:12px;cursor:pointer;color:#666;transition:all .2s;background:transparent}.add-exercise-card:hover{border-color:#4caf50;color:#4caf50;background:#4caf500d}.add-exercise-icon{font-size:24px;font-weight:300}.add-exercise-text{font-size:16px;font-weight:500}.add-exercise-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease-out}.add-exercise-modal{background:#fff;border-radius:16px;padding:24px;max-width:400px;width:90vw;max-height:80vh;overflow-y:auto;z-index:1001;animation:scaleIn .2s ease-out}.add-exercise-modal h3{margin:0 0 16px;font-size:20px;font-weight:600;color:#333}.add-exercise-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.add-exercise-option{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;padding:16px;border:1px solid #e0e0e0;border-radius:8px;text-align:left;background:#fff;cursor:pointer;transition:all .2s}.add-exercise-option:hover{background:#f5f5f5;border-color:#4caf50}.add-exercise-option-name{font-size:16px;font-weight:600;color:#333}.add-exercise-option-prescription{font-size:14px;color:#666}.add-exercise-cancel{width:100%;padding:14px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;color:#666;font-size:16px;font-weight:500;cursor:pointer;transition:all .2s}.add-exercise-cancel:hover{background:#f5f5f5;border-color:#999}.tracker{max-width:600px;margin:0 auto;padding:20px;min-height:100vh;display:flex;flex-direction:column}.tracker-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f0f0f0}.tracker-back{color:#007aff;text-decoration:none;font-size:16px;font-weight:500}.tracker-back:hover{text-decoration:underline}.tracker-header h1{font-size:24px;font-weight:700;margin:0;flex:1}.tracker-loading,.tracker-error{text-align:center;padding:40px;color:#666;font-size:16px}.tracker-error{color:#ef4444}.tracker-empty{text-align:center;padding:40px 20px;color:#666}.tracker-empty p{margin:0 0 8px}.tracker-empty-hint{font-size:14px;color:#999}.tracker-exercises{flex:1;display:flex;flex-direction:column;gap:24px}.tracker-exercise{background:#f9f9f9;border-radius:12px;padding:16px}.tracker-exercise-name{font-size:16px;font-weight:600;margin-bottom:12px;color:#333}.promotion-stars{margin-left:.5rem;font-size:.85em;opacity:.9}.tracker-grid{display:flex;gap:.25rem}.tracker-grid-cell{display:flex;flex-direction:column;align-items:center;min-width:1.5rem}.tracker-symbol{font-size:1rem}.tracker-day{font-size:.7rem;color:#9ca3af;font-family:SF Mono,Monaco,monospace}.tracker-legend{margin-top:auto;padding-top:24px;border-top:1px solid #eee}.legend-title{font-size:14px;font-weight:600;color:#666;margin-bottom:12px}.legend-items{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px}.legend-symbol{font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:16px;width:20px;text-align:center}.legend-label{color:#666}.legend-gap-explanation{font-size:13px;color:#999;font-style:italic}.tracker-nav-buttons{display:flex;flex-direction:column;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid #eee}.tracker-nav-button{display:block;width:100%;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s}.tracker-nav-orange{background:#f59e0b;color:#fff}.tracker-nav-orange:hover{background:#d97706}.tracker-nav-blue{background:#3b82f6;color:#fff}.tracker-nav-blue:hover{background:#2563eb;color:#fff;text-decoration:none}@media (max-width: 768px){.tracker{padding:16px}.tracker-header h1{font-size:20px}}.restore{padding:1rem;max-width:600px;margin:0 auto;background:#fff;min-height:100vh;color:#1a1a1a}.restore-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.restore-header h1{font-size:1.25rem;margin:0}.restore-back{color:#3b82f6;text-decoration:none;font-size:.9rem}.restore-back:hover{text-decoration:underline}.restore-intro{font-size:1.1rem;line-height:1.5;margin-bottom:2rem;color:#444}.restore-section{margin-bottom:2rem}.restore-section h2{font-size:1.1rem;margin-bottom:.5rem;color:#1a1a1a}.restore-target{font-size:1rem;margin-bottom:1rem;color:#333}.restore-equivalents{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.restore-food{background:#f5f5f5;padding:.75rem;border-radius:8px;display:flex;flex-direction:column;gap:.25rem}.restore-food-amount{font-weight:600;font-size:1.1rem}.restore-food-name{font-size:.85rem;color:#666}.restore-details{margin-top:1rem}.restore-details summary{cursor:pointer;color:#3b82f6;font-size:.9rem}.restore-details summary:hover{text-decoration:underline}.restore-details-content{margin-top:1rem;padding:1rem;background:#f9f9f9;border-radius:8px}.restore-details-content p{margin:0 0 1rem;font-size:.9rem;line-height:1.5}.restore-table{width:100%;border-collapse:collapse;font-size:.85rem;margin-bottom:1rem}.restore-table th,.restore-table td{padding:.5rem;text-align:left;border-bottom:1px solid #ddd}.restore-table th{color:#666;font-weight:400;font-size:.8rem}.restore-duck-note{margin-bottom:0!important;color:#666}.restore-tips{list-style:none;padding:0;margin:0}.restore-tips li{padding:.5rem 0;border-bottom:1px solid #eee;font-size:.9rem}.restore-tips li:last-child{border-bottom:none}.restore-nav-buttons{display:flex;flex-direction:column;gap:12px;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eee}.restore-nav-button{display:block;width:100%;padding:16px;font-size:16px;font-weight:600;border:none;border-radius:12px;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s}.restore-nav-orange{background:#f59e0b;color:#fff}.restore-nav-orange:hover{background:#d97706}.restore-nav-blue{background:#3b82f6;color:#fff}.restore-nav-blue:hover{background:#2563eb;color:#fff;text-decoration:none}.App{min-height:100vh;background:#fff}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.auth-status-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0;font-size:14px}.share-button{background:none;border:1px solid #d0d0d0;border-radius:4px;padding:4px 12px;font-size:12px;font-family:monospace;color:#666;cursor:pointer;transition:all .2s}.share-button:hover{background-color:#f9f9f9;border-color:#999;color:#333}.share-button:active{background-color:#eee}.sign-out-button{background:none;border:1px solid #999;border-radius:4px;padding:4px 12px;font-size:12px;color:#666;cursor:pointer;transition:all .2s}.sign-out-button:hover{color:#333;border-color:#333}.read-only-banner{background-color:#fff3cd;color:#856404;padding:8px 16px;text-align:center;font-size:14px;font-weight:500}.sign-in-link{background:none;border:none;color:#0056b3;font-size:14px;font-weight:600;cursor:pointer;padding:0;text-decoration:underline}.sign-in-link:hover{color:#003d82}.pa-theme-gym{--pa-grid-gap: .5rem;--pa-cell-size: 80px;--pa-cell-radius: .5rem;--pa-bg: #1a1a1a;--pa-content-bg: #1a1a1a;--pa-cell-bg: #2a2a2a;--pa-cell-border: #444444;--pa-cell-hover-bg: #333333;--pa-cell-hover-border: #00ff88;--pa-line-color: #00ff88;--pa-line-width: 3px;--pa-text-primary: #ffffff;--pa-text-secondary: #999999;--pa-text-accent: #00ff88;--pa-button-bg: #00ff88;--pa-button-text: #000000;--pa-button-hover-bg: #00cc6a;--pa-button-secondary-bg: transparent;--pa-button-secondary-text: #999999;--pa-button-secondary-border: #666666;--pa-success: #00ff88;--pa-error: #ff6b6b;--pa-error-bg: rgba(255, 107, 107, .1)}.pa-auth-flow{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:var(--pa-bg)}.pa-auth-content,.pa-role-selection{background:var(--pa-content-bg);border-radius:1.5rem;padding:2.5rem;max-width:400px;width:100%;text-align:center;box-shadow:0 25px 50px -12px #00000080}.pa-auth-logo{font-size:4rem;margin-bottom:1rem}.pa-auth-title{font-size:2rem;color:var(--pa-text-primary);margin:0 0 .5rem}.pa-auth-subtitle{color:var(--pa-text-secondary);margin-bottom:2rem}.pa-auth-buttons{display:flex;flex-direction:column;gap:1rem}.pa-auth-primary-button{background:var(--pa-button-bg);color:var(--pa-button-text);border:none;padding:1rem 1.5rem;border-radius:.75rem;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s}.pa-auth-primary-button:hover:not(:disabled){background:var(--pa-button-hover-bg)}.pa-auth-primary-button:active:not(:disabled){transform:scale(.98)}.pa-auth-primary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.pa-auth-secondary-button{background:var(--pa-button-secondary-bg);color:var(--pa-button-secondary-text);border:1px solid var(--pa-button-secondary-border);padding:1rem 1.5rem;border-radius:.5rem;font-size:1rem;cursor:pointer;transition:all .2s}.pa-auth-secondary-button:hover:not(:disabled){border-color:#999;color:#fff}.pa-auth-secondary-button:disabled{opacity:.5;cursor:not-allowed}.pa-role-instructions{color:var(--pa-text-secondary);margin-bottom:1.5rem}.pa-role-buttons{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.pa-role-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;background:var(--pa-cell-bg);border:2px solid var(--pa-cell-border);border-radius:.75rem;padding:1.5rem;cursor:pointer;transition:all .2s}.pa-role-button:hover{border-color:var(--pa-text-accent);background:#00ff881a}.pa-role-button:active{transform:scale(.98)}.pa-role-emoji{font-size:3rem}.pa-role-name{font-size:1.5rem;font-weight:600;color:var(--pa-text-primary)}.pa-role-status-claimed{font-size:.875rem;color:#007bff;margin-top:.25rem}.pa-role-status-available{font-size:.875rem;color:#28a745;margin-top:.25rem}.pa-skip-button{background:transparent;border:1px solid var(--pa-button-secondary-border);border-radius:.5rem;padding:.75rem 1.5rem;color:var(--pa-text-secondary);font-size:1rem;cursor:pointer;transition:all .2s}.pa-skip-button:hover{border-color:#999;color:#fff}.pa-pattern-instructions{color:var(--pa-text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.5}.pa-pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;max-width:300px;margin:0 auto 1.5rem}.pa-pattern-cell{aspect-ratio:1;background:var(--pa-cell-bg);border:2px solid var(--pa-cell-border);border-radius:.5rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;padding:.75rem}.pa-pattern-cell:hover:not(:disabled){background:var(--pa-cell-hover-bg);border-color:var(--pa-cell-hover-border)}.pa-pattern-cell:active:not(:disabled){transform:scale(.95)}.pa-pattern-cell:disabled{cursor:not-allowed;opacity:.5}.pa-pattern-line-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.pa-pattern-line{width:var(--pa-line-width);height:80%;background:var(--pa-line-color);border-radius:2px;transition:transform .3s ease}.pa-auth-error{background:var(--pa-error-bg);border:1px solid var(--pa-error);color:var(--pa-error);padding:.75rem 1rem;border-radius:.5rem;margin-top:1rem;font-size:.875rem}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
