*{box-sizing:border-box}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;color:#cdd6f4;background-color:#1e1e2e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{touch-action:pan-y;overscroll-behavior:none}input,textarea,select,button{font-family:inherit}.app{height:100%;display:flex;flex-direction:column}body.landscape-override:before{content:"ud83dudcf1";font-size:4rem;position:fixed;inset:0;background:#1e1e2e;color:#cdd6f4;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}body.landscape-override:after{content:"Please rotate to portrait";position:fixed;top:55%;left:0;right:0;text-align:center;font-size:1.2rem;color:#cdd6f4;z-index:9999}.header{position:fixed;top:0;left:0;right:0;padding:16px;border-bottom:1px solid #313244;background:#1e1e2e;z-index:100;display:flex;justify-content:space-between;align-items:center}.header h1{margin:0;font-size:1.3rem}.routine-switch{padding:6px 14px;background:#89b4fa;border:none;border-radius:8px;color:#1e1e2e;font-size:.9rem;font-weight:600}.content{flex:1;margin-top:56px;padding-bottom:80px;overflow-y:auto;overscroll-behavior:none}.navbar{position:fixed;bottom:0;left:0;right:0;display:flex;background:#181825;border-top:1px solid #313244;padding-bottom:10px;transition:transform .2s}body:has(input:focus) .navbar,body:has(textarea:focus) .navbar{transform:translateY(100%)}.navbar button{flex:1;padding:10px 8px;background:none;border:none;color:#6c7086;font-size:.7rem;display:flex;flex-direction:column;align-items:center;gap:4px}.navbar button.active{color:#cdd6f4}.nav-icon{font-size:1.2rem}.log-page{padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px;overflow:hidden;touch-action:none;overscroll-behavior:none;height:100%}.exercise-nav{display:flex;align-items:center;gap:12px}.exercise-nav button{width:44px;height:44px;background:#313244;border:none;border-radius:10px;color:#cdd6f4;font-size:1.3rem;flex-shrink:0}.exercise-nav button:disabled{opacity:.3}.commit-btn{background:#a6e3a1!important;color:#1e1e2e!important;font-weight:600;font-size:.9rem!important;padding:0 12px}.commit-btn.committed{background:#45475a!important;color:#a6e3a1!important}.exercise-info-center{flex:1;text-align:center}.exercise-name{margin:0;font-size:1.1rem;color:#cdd6f4}.exercise-count{font-size:.8rem;color:#6c7086}.last-workout{text-align:center;color:#6c7086;font-size:.85rem;padding:10px 12px;background:#313244;border-radius:8px;border:2px solid transparent;min-height:42px;box-sizing:border-box}.pr-info{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;background:#313244;border-radius:8px;font-size:.85rem;border:2px solid transparent;min-height:42px;box-sizing:border-box}.pr-info.new-weight-pr{background:linear-gradient(135deg,#4a3a2a,#5a4020);border-color:#f9e2af}.pr-info.new-rep-pr{background:linear-gradient(135deg,#2a3a4a,#203050);border-color:#89b4fa}.pr-label{background:#f9e2af;color:#1e1e2e;padding:2px 6px;border-radius:4px;font-size:.7rem;font-weight:700}.pr-info.new-weight-pr .pr-label,.pr-info.new-rep-pr .pr-label{background:#a6e3a1}.pr-value{color:#f9e2af;font-weight:600}.last-value{color:#6c7086;margin-left:8px}.sets-section{display:flex;flex-direction:column;gap:8px}.sets-label{font-size:.75rem;color:#6c7086;text-transform:uppercase;margin-top:8px;margin-bottom:-4px}.set-row{display:flex;padding:8px 10px;background:#313244;border-radius:12px;border:2px solid transparent}.set-row.work{background:#3a3a52}.set-row.uncommitted{background:#2a2a3a}.set-row.uncommitted input{color:#6c7086}.set-row.uncommitted input::placeholder{color:#6c7086}.set-row.committed{background:#2a3a4a;border-color:#89b4fa}.set-row.committed input{color:#cdd6f4}.set-row.weight-pr{background:linear-gradient(135deg,#4a3a2a,#5a4020);border-color:#f9e2af}.set-row.weight-pr .set-label{color:#f9e2af}.set-row.rep-pr{background:linear-gradient(135deg,#2a3a4a,#203050);border-color:#89b4fa}.set-row.rep-pr .set-label{color:#89b4fa}.set-label{font-size:.75rem;color:#6c7086;font-weight:600;text-transform:uppercase;width:36px;text-align:center;cursor:pointer;padding:8px 4px;margin:-8px -4px;border-radius:6px}.set-label:active{background:#89b4fa33}.set-row.committed .set-label{color:#89b4fa}.set-controls{display:flex;align-items:center;justify-content:center;gap:8px}.set-field{display:flex;align-items:center;gap:4px}.set-field.reps{flex-shrink:0}.adj-btn{width:44px;height:44px;background:#45475a;border:none;border-radius:10px;color:#cdd6f4;font-size:1.4rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.adj-btn:active{background:#585b70}.set-field input{width:54px;padding:10px 4px;background:#1e1e2e;border:none;border-radius:8px;text-align:right;direction:ltr;color:#cdd6f4;font-size:1.2rem;font-weight:600;text-align:center;-moz-appearance:textfield}.set-field input.prev-value::placeholder{color:#585b70}.set-field input::-webkit-outer-spin-button,.set-field input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.set-field input::placeholder{color:#6c7086;font-weight:400}.notes-display{padding:10px 12px;background:#45475a;border-radius:8px;font-size:.85rem;color:#a6adc8;border-left:3px solid #89b4fa}.bottom-section{margin-top:auto;display:flex;flex-direction:column;gap:4px}.weight-info{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#313244;border-radius:8px;font-size:.85rem;min-height:20px}.weight-info .weight-kg{color:#89b4fa;font-weight:500}.weight-info .weight-detail{color:#a6adc8;font-family:monospace}.notes-section{display:flex;align-items:center;padding:8px 12px;background:#313244;border-radius:8px;min-height:20px}.notes-section input{width:100%;background:transparent;border:none;color:#cdd6f4;font-size:.85rem;font-family:inherit;outline:none;padding:0;margin:0;line-height:1.2}.notes-section input::placeholder{color:#6c7086}.sync-status{padding:6px 10px;background:#313244;border-radius:8px;text-align:center;font-size:.8rem;color:#a6adc8}.stats-page{padding:16px}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:20px}.stat-card{background:#313244;border-radius:12px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;gap:4px}.stat-value{font-size:1.8rem;font-weight:700;color:#89b4fa}.stat-label{font-size:.7rem;color:#6c7086;text-align:center}.stats-filter{margin-bottom:16px}.stats-filter select{width:100%;padding:12px;background:#313244;border:none;border-radius:8px;color:#cdd6f4;font-size:.9rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236c7086'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.calendar-section{background:#313244;border-radius:12px;padding:12px;margin-bottom:16px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.calendar-header button{width:32px;height:32px;background:#45475a;border:none;border-radius:6px;color:#cdd6f4;font-size:1rem}.calendar-header span{font-size:.9rem;font-weight:600;color:#cdd6f4}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.calendar-weekdays span{text-align:center;font-size:.7rem;color:#6c7086}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#6c7086;border-radius:6px}.calendar-day.workout{background:#a6e3a1;color:#1e1e2e;font-weight:600;cursor:pointer}.calendar-day.today{border:2px solid #89b4fa}.exercises-section{margin-top:16px}.exercises-section h3{margin:0 0 12px;font-size:1rem;color:#cdd6f4}.exercise-stats-list{display:flex;flex-direction:column;gap:8px}.exercise-stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#313244;border-radius:8px;cursor:pointer}.exercise-stat-name{font-size:.9rem;color:#cdd6f4}.exercise-stat-max{font-size:.85rem;font-weight:600;color:#89b4fa}.stats-modal .stat-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #45475a}.stats-modal .stat-row:last-child{border-bottom:none}.stats-modal .stat-row span:first-child{color:#a6adc8}.stats-modal .stat-row span:last-child{font-weight:600;color:#cdd6f4}.stats-modal .primary-btn{margin-top:16px}.exercise-modal{max-width:420px}.stats-period{display:block;font-size:.75rem;color:#6c7086;margin-top:-8px;margin-bottom:12px}.exercise-chart{height:200px;margin-top:16px;background:#181825;border-radius:8px;padding:12px}.workout-exercises-list{margin-top:16px}.workout-exercises-list h4{margin:0 0 8px;font-size:.85rem;color:#6c7086;text-transform:uppercase}.workout-exercise-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;background:#313244;border-radius:6px;margin-bottom:6px;font-size:.85rem}.workout-exercise-row .exercise-name{color:#cdd6f4;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workout-exercise-row .exercise-best{color:#a6adc8;flex-shrink:0;margin-left:8px}.workout-exercise-row.weight-pr{background:linear-gradient(135deg,#4a3a2a,#5a4020);border:1px solid #f9e2af}.workout-exercise-row.weight-pr .exercise-best{color:#f9e2af}.workout-exercise-row.rep-pr{background:linear-gradient(135deg,#2a3a4a,#203050);border:1px solid #89b4fa}.workout-exercise-row.rep-pr .exercise-best{color:#89b4fa}.empty{color:#6c7086;text-align:center;padding:20px}.settings-page{padding:16px}.settings-tabs{display:flex;gap:8px;margin-bottom:16px}.settings-tabs button{flex:1;padding:10px;background:#313244;border:none;border-radius:8px;color:#6c7086;font-size:.9rem;font-weight:500}.settings-tabs button.active{background:#89b4fa;color:#1e1e2e}.settings-page h2{font-size:1rem;margin:16px 0 12px}.settings-page h2:first-of-type{margin-top:0}.settings-note{font-size:.8rem;color:#6c7086;margin:0 0 12px}.form{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:3px}.field label{font-size:.75rem;color:#a6adc8}.field input,.field select{padding:10px;background:#313244;border:none;border-radius:8px;color:#cdd6f4;font-size:1rem}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%236c7086'%3E%3Cpath d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px}.field-row{display:flex;gap:12px}.field-row .field{flex:1}.primary-btn{width:100%;padding:12px;background:#89b4fa;border:none;border-radius:8px;color:#1e1e2e;font-size:.9rem;font-weight:600;margin-top:8px}.danger-btn{width:100%;padding:12px;background:#f38ba8;border:none;border-radius:8px;color:#1e1e2e;font-size:.9rem;font-weight:600}.connected-info{background:#313244;padding:16px;border-radius:8px}.connected-info p{margin:0 0 12px;font-size:.9rem}.routine-section{margin-bottom:24px}.routine-section h3{margin:0}.exercise-list{display:flex;flex-direction:column;gap:8px}.exercise-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#313244;border-radius:8px;gap:8px;-webkit-user-select:none;user-select:none}.exercise-item.dragging{opacity:.5;background:#45475a;touch-action:none}.exercise-info{flex:1;min-width:0}.exercise-title{font-size:.95rem;color:#cdd6f4;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-sets{font-size:.7rem;color:#6c7086}.del-btn{padding:8px 12px;background:#45475a;border:none;border-radius:6px;color:#f38ba8;font-size:1rem;font-weight:600;flex-shrink:0}.add-btn{width:100%;padding:12px;background:#45475a;border:none;border-radius:8px;color:#cdd6f4;font-size:.9rem;margin-top:8px}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:16px}.modal{background:#1e1e2e;border-radius:12px;padding:20px;width:100%;max-width:360px;border:1px solid #313244;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.modal-header h3{margin:0;font-size:1.1rem;color:#cdd6f4}.modal h3{margin:0 0 16px;font-size:1.1rem;color:#cdd6f4}.trash-btn{background:#f38ba8;border:none;border-radius:8px;padding:8px 10px;font-size:1rem;cursor:pointer}.modal .form{gap:12px}.modal .field input,.modal .field select{width:100%;box-sizing:border-box}.modal-actions{display:flex;gap:10px;margin-top:16px}.modal-actions button{flex:1;margin-top:0;width:auto}.cancel-btn{padding:12px;background:#45475a;border:none;border-radius:8px;color:#cdd6f4;font-size:.9rem;font-weight:600}.version-text{margin-top:24px;text-align:center;color:#6c7086;font-size:.8rem}.template-notes{padding:8px 12px;background:#2a3a4a;border-radius:8px;font-size:.8rem;color:#89b4fa;border-left:3px solid #89b4fa;line-height:1.4}.template-notes.warmup-notes{border-left-color:#a6e3a1;background:#1e3a2e;color:#a6e3a1}.warmup-all{display:flex;flex-direction:column;gap:8px;overflow-y:auto;flex:1}.warmup-block{display:flex;align-items:center;gap:10px;background:#313244;border-radius:8px;padding:10px 12px;border-left:3px solid #a6e3a1;cursor:pointer}.warmup-block.checked{opacity:.5}.warmup-block-info{flex:1;min-width:0}.warmup-block-header{display:flex;justify-content:space-between;align-items:center}.warmup-block-name{font-size:.9rem;font-weight:600;color:#cdd6f4}.warmup-block-reps{font-size:.8rem;color:#a6e3a1;font-weight:500}.warmup-block-notes{font-size:.7rem;color:#6c7086;margin-top:2px;line-height:1.3}.warmup-check-box{width:22px;height:22px;border:2px solid #a6e3a1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#a6e3a1;font-weight:700;flex-shrink:0}.warmup-block.checked .warmup-check-box{background:#a6e3a1;color:#1e1e2e}.rest-log{padding:16px!important;overflow-y:auto!important;touch-action:auto!important;height:auto!important}.rest-header{text-align:center;margin-bottom:16px}.rest-header h2{margin:0;font-size:1.2rem;color:#cdd6f4}.rest-schedule{font-size:.8rem;color:#6c7086}.rest-block{margin-bottom:16px}.rest-block-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1e3a2e;border-radius:8px 8px 0 0;font-size:.85rem;font-weight:600;color:#a6e3a1}.rest-block-duration{font-size:.75rem;color:#6c7086;font-weight:400}.rest-exercise{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;background:#313244;cursor:pointer;border-bottom:1px solid #3a3a4a}.rest-exercise:last-child{border-bottom:none;border-radius:0 0 8px 8px}.rest-exercise.checked{opacity:.5}.rest-check{width:24px;height:24px;border:2px solid #a6e3a1;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#a6e3a1;font-weight:700;flex-shrink:0;margin-top:2px}.rest-exercise.checked .rest-check{background:#a6e3a1;color:#1e1e2e}.rest-exercise-info{flex:1;min-width:0}.rest-exercise-name{font-size:.9rem;color:#cdd6f4;font-weight:500}.rest-exercise-detail{font-size:.8rem;color:#89b4fa;font-weight:500}.rest-exercise-notes{font-size:.7rem;color:#6c7086;line-height:1.3;margin-top:2px}.commit-rest-btn{width:100%;padding:14px;background:#a6e3a1;border:none;border-radius:10px;color:#1e1e2e;font-size:1rem;font-weight:600;margin-top:16px}.commit-rest-btn.committed{background:#45475a;color:#a6e3a1}.routine-section-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.routine-section-header h3{margin:0;font-size:1.1rem;color:#89b4fa}.routine-schedule{font-size:.75rem;color:#6c7086}.subsection-label{font-size:.75rem;font-weight:600;color:#a6adc8;text-transform:uppercase;margin:12px 0 6px;display:flex;align-items:center;gap:6px}.subsection-duration{font-weight:400;color:#6c7086;text-transform:none}.exercise-item.warmup-type{background:#1e3a2e;border-left:3px solid #a6e3a1}.exercise-item.rest-type{background:#2a2a3a;border-left:3px solid #89b4fa}.exercise-template-notes{display:block;font-size:.65rem;color:#89b4fa;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.add-btn-small{padding:8px;font-size:.8rem;margin-top:4px;margin-bottom:4px}
