:root{--color-primary: #4A9FD4;--color-primary-dark: #3A8FC4;--color-primary-light: #5AAFED;--color-background: #F5F5F5;--color-surface: #FFFFFF;--color-text-primary: #333333;--color-text-secondary: #666666;--color-text-muted: #999999;--color-accent: #FFD700;--color-danger: #E57373;--color-danger-dark: #D32F2F;--color-border: #E0E0E0;--color-overlay: rgba(0, 0, 0, .5);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-xxl: 24px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--touch-target: 44px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 50%;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .1);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background-color:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#app{height:100%;display:flex;flex-direction:column;overflow:hidden}.screen{flex:1;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-background)}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:56px}.header-title{font-size:var(--font-size-lg);font-weight:600;flex:1;text-align:center}.header-nav{display:flex;align-items:center;gap:var(--spacing-sm)}.header-date{font-size:var(--font-size-lg);font-weight:500;cursor:pointer}.icon-btn{display:flex;align-items:center;justify-content:center;width:var(--touch-target);height:var(--touch-target);border:none;background:none;cursor:pointer;border-radius:var(--radius-full);color:var(--color-text-primary);transition:background-color var(--transition-fast)}.icon-btn:active{background-color:var(--color-border)}.icon-btn svg{width:24px;height:24px}.content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.card{background-color:var(--color-surface);border-radius:var(--radius-md);margin:var(--spacing-md);margin-bottom:0;padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.card:last-child{margin-bottom:var(--spacing-md)}.exercise-card{display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:background-color var(--transition-fast)}.exercise-card:active{background-color:var(--color-background)}.exercise-info{flex:1;min-width:0}.exercise-name{font-weight:600;font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.exercise-stats{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.exercise-pr{color:var(--color-accent);font-size:var(--font-size-xl);margin-left:var(--spacing-md)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl);color:var(--color-text-muted);text-align:center;height:100%}.empty-state-icon{font-size:48px;margin-bottom:var(--spacing-md)}.empty-state-text{font-size:var(--font-size-lg)}.fab-container{position:fixed;bottom:var(--spacing-lg);left:0;right:0;display:flex;justify-content:center;pointer-events:none;padding:0 var(--spacing-md)}.fab{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:#fff;border:none;border-radius:28px;font-size:var(--font-size-base);font-weight:600;cursor:pointer;box-shadow:var(--shadow-lg);pointer-events:auto;transition:transform var(--transition-fast),background-color var(--transition-fast)}.fab:active{transform:scale(.95);background-color:var(--color-primary-dark)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);display:flex;align-items:flex-end;justify-content:center;z-index:100;animation:fadeIn var(--transition-fast)}.modal{background-color:var(--color-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp var(--transition-normal)}.modal-full{height:100%;max-height:100vh;border-radius:0}.modal-header{display:flex;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.modal-title{flex:1;font-size:var(--font-size-lg);font-weight:600;text-align:center;margin:0 var(--touch-target)}.modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.search-container{padding:var(--spacing-md);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:10}.search-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-background);outline:none;transition:border-color var(--transition-fast)}.search-input:focus{border-color:var(--color-primary)}.list-item{display:flex;align-items:center;padding:var(--spacing-md);min-height:var(--touch-target);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast)}.list-item:active{background-color:var(--color-background)}.list-item-primary{color:var(--color-primary);font-weight:500}.number-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background-color:var(--color-border);padding:var(--spacing-sm)}.number-pad-btn{display:flex;align-items:center;justify-content:center;height:56px;background-color:var(--color-surface);border:none;font-size:var(--font-size-xl);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast)}.number-pad-btn:active{background-color:var(--color-background)}.number-pad-btn.action{background-color:var(--color-primary);color:#fff}.number-pad-btn.action:active{background-color:var(--color-primary-dark)}.number-pad-btn.danger{color:var(--color-danger)}.set-row{display:flex;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background-color:var(--color-surface);cursor:pointer;transition:background-color var(--transition-fast)}.set-row:active{background-color:var(--color-background)}.set-row.editing{background-color:#4a9fd41a;border-left:3px solid var(--color-primary)}.set-number{width:32px;font-weight:600;color:var(--color-text-secondary)}.set-input{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm)}.set-value{min-width:60px;padding:var(--spacing-sm);text-align:center;font-size:var(--font-size-lg);font-weight:500;background-color:var(--color-background);border-radius:var(--radius-sm);cursor:pointer}.set-value.active{background-color:var(--color-primary-light);color:#fff}.set-value.empty{color:var(--color-text-muted)}.set-separator{font-size:var(--font-size-lg);color:var(--color-text-secondary)}.set-pr{width:32px;text-align:center;color:var(--color-accent);font-size:var(--font-size-lg)}.swipeable-row{position:relative;overflow:hidden}.swipeable-content{transition:transform var(--transition-normal)}.swipeable-action{position:absolute;top:0;right:0;bottom:0;width:80px;display:flex;align-items:center;justify-content:center;background-color:var(--color-danger);color:#fff;transform:translate(100%)}.calendar{padding:var(--spacing-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.calendar-title{font-size:var(--font-size-lg);font-weight:600}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs)}.calendar-day-name{text-align:center;font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-sm)}.calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-full);cursor:pointer;font-size:var(--font-size-sm);transition:background-color var(--transition-fast)}.calendar-day:active{background-color:var(--color-background)}.calendar-day.today{background-color:var(--color-primary-light);color:#fff}.calendar-day.selected{background-color:var(--color-primary);color:#fff}.calendar-day.has-workout:after{content:"";width:6px;height:6px;background-color:var(--color-primary);border-radius:var(--radius-full);margin-top:2px}.calendar-day.today.has-workout:after,.calendar-day.selected.has-workout:after{background-color:#fff}.history-panel{position:fixed;top:0;right:0;bottom:0;width:85%;max-width:320px;background-color:var(--color-surface);box-shadow:-4px 0 8px #0000001a;transform:translate(100%);transition:transform var(--transition-normal);z-index:50;display:flex;flex-direction:column}.history-panel.open{transform:translate(0)}.history-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);z-index:49;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.history-backdrop.open{opacity:1;pointer-events:auto}.history-date-group{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.history-date{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-weight:500}.history-set{display:flex;align-items:center;padding:var(--spacing-xs) 0}.history-set-value{font-size:var(--font-size-base)}.history-set-pr{margin-left:var(--spacing-sm);color:var(--color-accent)}.settings-item{display:flex;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast)}.settings-item:active{background-color:var(--color-background)}.settings-item-icon{width:24px;margin-right:var(--spacing-md);color:var(--color-text-secondary)}.settings-item-label{flex:1}.settings-item-danger{color:var(--color-danger)}.dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-lg);width:calc(100% - var(--spacing-xl) * 2);max-width:320px;z-index:101}.dialog-title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-sm)}.dialog-message{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.dialog-btn{padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast)}.dialog-btn-secondary{background-color:transparent;color:var(--color-text-secondary)}.dialog-btn-primary{background-color:var(--color-primary);color:#fff}.dialog-btn-danger{background-color:var(--color-danger);color:#fff}.input-form{padding:var(--spacing-md)}.input-group{margin-bottom:var(--spacing-md)}.input-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.text-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast)}.text-input:focus{border-color:var(--color-primary)}.btn{display:flex;align-items:center;justify-content:center;width:100%;padding:var(--spacing-md);border:none;border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:background-color var(--transition-fast),transform var(--transition-fast)}.btn:active{transform:scale(.98)}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:active{background-color:var(--color-primary-dark)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.hidden{display:none!important}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}@supports (padding-bottom: env(safe-area-inset-bottom)){.fab-container{padding-bottom:calc(var(--spacing-lg) + env(safe-area-inset-bottom))}.number-pad{padding-bottom:calc(var(--spacing-sm) + env(safe-area-inset-bottom))}}
