.app-header{z-index:10;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);align-items:center;display:flex;position:sticky;top:0}.hamburger-button{padding:var(--spacing-sm);cursor:pointer;background:0 0;border:none;min-height:auto;font-size:1.5rem;line-height:1}.nav-drawer-backdrop{z-index:20;background:#0006;display:flex;position:fixed;inset:0}.nav-drawer{background:var(--color-surface);width:240px;max-width:80vw;height:100%;padding:var(--spacing-lg) var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.nav-drawer a{color:var(--color-text);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:1.05rem;text-decoration:none}.profile-select{flex-direction:column;justify-content:center;min-height:100vh;display:flex}.profile-list{gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-direction:column;display:flex}.profile-button{padding:var(--spacing-lg);font-size:1.25rem}.home{padding-top:var(--spacing-lg)}.subtitle{color:var(--color-text-muted)}.day-list{gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-direction:column;display:flex}.routine-group+.routine-group{margin-top:var(--spacing-lg)}.routine-group-name{color:var(--color-text-muted);margin-bottom:var(--spacing-sm);font-size:1rem}.day-button{padding:var(--spacing-lg);font-size:1.1rem}.routine-preview h1{margin-bottom:var(--spacing-lg)}.preview-actions{gap:var(--spacing-md);margin-top:var(--spacing-lg);flex-direction:column;display:flex}.rest-timer-start{margin-top:var(--spacing-md)}.rest-timer{margin-top:var(--spacing-md);text-align:center}.rest-timer-seconds{margin:0 0 var(--spacing-sm);font-size:2rem;font-weight:700}.rest-timer-controls{gap:var(--spacing-sm);display:flex}.rest-timer-controls button{flex:1}.rest-timer-message{color:var(--color-accent);font-weight:600}.countdown-start{margin-top:var(--spacing-sm)}.countdown{margin-top:var(--spacing-sm);text-align:center}.countdown-seconds{margin:0 0 var(--spacing-sm);font-size:2rem;font-weight:700}.countdown.stopped label{gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);color:var(--color-text-muted);flex-direction:column;font-size:.9rem;display:flex}.countdown.stopped input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:44px;padding:0 var(--spacing-sm);font-size:1rem}.exercise-logger h1{margin-bottom:4px}.elapsed-time{margin-top:0;margin-bottom:var(--spacing-lg);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.submit-error{justify-content:space-between;align-items:center;gap:var(--spacing-sm);color:#8a2c26;border-radius:var(--radius);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md);background:#fdecea;border:1px solid #f5c2c0;font-size:.9rem;display:flex}.submit-error button{min-height:32px;padding:0 var(--spacing-sm);color:#8a2c26;background:0 0;border:1px solid #8a2c26;flex-shrink:0;font-size:.85rem}.group-card{gap:var(--spacing-md);flex-direction:column;display:flex}.superset-label{color:var(--color-accent);text-transform:uppercase;font-size:.85rem;font-weight:600}.exercise-row+.exercise-row{border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.exercise-header{justify-content:space-between;align-items:baseline;display:flex}.exercise-name{font-weight:600}.exercise-target{color:var(--color-text-muted);font-size:.9rem}.completed-sets{margin:var(--spacing-sm) 0;color:var(--color-text-muted);padding:0;font-size:.9rem;list-style:none}.set-form{gap:var(--spacing-sm);flex-wrap:wrap;align-items:center;display:flex}.set-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-width:80px;min-height:44px;padding:0 var(--spacing-sm);flex:80px;font-size:1rem}.set-form .button-primary{flex:100%}.set-number{color:var(--color-text-muted);white-space:nowrap;font-size:.85rem}.finish-button{margin-top:var(--spacing-lg)}.finish-confirm{margin-top:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);text-align:center}.finish-confirm p{margin-top:0;font-weight:600}.finish-confirm-actions{gap:var(--spacing-sm);display:flex}.finish-confirm-actions button{flex:1}.edit-set-trigger{min-height:auto;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;margin:0;padding:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.edit-set-form{gap:var(--spacing-sm);padding:var(--spacing-sm) 0;flex-wrap:wrap;align-items:center;display:flex}.edit-set-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-width:80px;min-height:40px;padding:0 var(--spacing-sm);flex:80px;font-size:.95rem}.edit-set-actions{gap:var(--spacing-sm);flex-wrap:wrap;flex:100%;display:flex}.edit-set-actions button{flex:1;min-height:36px;font-size:.85rem}.delete-set{color:#8a2c26;background:0 0;border:1px solid #8a2c26}.add-extra{margin-top:var(--spacing-sm);font-size:.9rem}.history h1{margin-bottom:var(--spacing-lg)}.session-list{gap:var(--spacing-md);flex-direction:column;display:flex}.session-item{text-align:left;flex-direction:column;align-items:flex-start;gap:4px;display:flex}.session-date{font-weight:600}.session-day{color:var(--color-text-muted);font-size:.9rem}.session-count{color:var(--color-text-muted);font-size:.85rem}.history-detail h1{margin-bottom:4px}.history-detail .session-date{color:var(--color-text-muted);margin-top:0;margin-bottom:var(--spacing-lg)}.history-detail>a{margin-top:var(--spacing-lg)}.import-routine h1{margin-bottom:4px}.import-routine .subtitle{color:var(--color-text-muted);margin-top:0}.import-routine form{gap:var(--spacing-md);margin:var(--spacing-lg) 0;flex-direction:column;display:flex}.import-routine input[type=file]{padding:var(--spacing-sm) 0}.import-result{color:var(--color-accent);font-weight:600}.import-error{color:#8a2c26}.csv-format-hint{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);margin:var(--spacing-md) 0;font-size:.85rem}.csv-format-hint p{margin:var(--spacing-sm) 0}.csv-format-hint code{background:var(--color-bg);padding:var(--spacing-sm);border-radius:var(--radius);white-space:nowrap;display:block;overflow-x:auto}.csv-format-hint table{border-collapse:collapse;width:100%;margin-top:var(--spacing-sm);font-size:.8rem}.csv-format-hint th,.csv-format-hint td{border:1px solid var(--color-border);text-align:left;padding:4px 6px}.csv-format-note{color:var(--color-text-muted)}.new-routine-form{gap:var(--spacing-sm);margin:var(--spacing-lg) 0;display:flex}.new-routine-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:44px;padding:0 var(--spacing-sm);flex:1;font-size:1rem}.routine-list{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.routine-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md)}.routine-item.active{background:#eaf1fd}.routine-item-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:center;display:flex}.routine-item-name{font-weight:600}.routine-status{color:var(--color-text-muted);font-size:.85rem}.routine-status.active{color:var(--color-accent)}.routine-item-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.routine-item-actions a,.routine-item-actions button{text-align:center;flex:1;min-height:36px;font-size:.85rem}.delete-routine{color:#8a2c26;background:0 0;border:1px solid #8a2c26}.my-routines-error{color:#8a2c26}.archived-routines .routine-list{gap:var(--spacing-md);margin:var(--spacing-lg) 0;flex-direction:column;display:flex}.archived-routines .routine-item{justify-content:space-between;align-items:center;gap:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);display:flex}.archived-routines .routine-item-name{font-weight:600}.archived-routines .routine-item button{width:auto;padding:0 var(--spacing-md);flex-shrink:0}.archived-routines-error{color:#8a2c26}.new-day-form{gap:var(--spacing-sm);margin:var(--spacing-lg) 0;display:flex}.new-day-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:44px;padding:0 var(--spacing-sm);flex:1;font-size:1rem}.day-editor-list{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.day-editor-item{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md)}.day-editor-name{text-align:left;width:100%;margin-bottom:var(--spacing-sm);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.05rem;font-weight:600;display:block}.day-editor-actions{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.day-editor-actions button{flex:1;min-height:36px;font-size:.85rem}.delete-day{color:#8a2c26;background:0 0;border:1px solid #8a2c26}.day-rename-form{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.day-rename-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:40px;padding:0 var(--spacing-sm);flex:100%;font-size:.95rem}.day-rename-actions{gap:var(--spacing-sm);flex:100%;display:flex}.day-rename-actions button{flex:1;min-height:36px;font-size:.85rem}.routine-editor-message{color:var(--color-accent)}.routine-editor-error{color:#8a2c26}.group-header{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.group-actions{gap:var(--spacing-sm);display:flex}.group-actions button{min-height:32px;font-size:.8rem}.delete-group{color:#8a2c26;background:0 0;border:1px solid #8a2c26}.exercise-row{justify-content:space-between;align-items:center;gap:var(--spacing-sm);display:flex}.exercise-edit-trigger{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex:1;justify-content:space-between;align-items:baseline;padding:0;display:flex}.exercise-row-actions{gap:var(--spacing-sm);display:flex}.exercise-row-actions button{min-height:32px;font-size:.8rem}.exercise-edit-form{gap:var(--spacing-sm);padding:var(--spacing-sm) 0;flex-wrap:wrap;display:flex}.exercise-edit-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:40px;padding:0 var(--spacing-sm);flex:80px;font-size:.95rem}.exercise-edit-actions{gap:var(--spacing-sm);flex-wrap:wrap;flex:100%;display:flex}.exercise-edit-actions button{flex:1;min-height:36px;font-size:.85rem}.delete-exercise{color:#8a2c26;background:0 0;border:1px solid #8a2c26}.add-exercise{margin-top:var(--spacing-sm);font-size:.9rem}.add-exercise-form{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.add-exercise-form input{border:1px solid var(--color-border);border-radius:var(--radius);min-height:40px;padding:0 var(--spacing-sm);flex:100%;font-size:.95rem}.add-exercise-actions{gap:var(--spacing-sm);flex:100%;display:flex}.add-exercise-actions button{flex:1;min-height:36px;font-size:.85rem}.day-editor h1{margin-bottom:var(--spacing-md)}.day-editor-add-actions{gap:var(--spacing-sm);margin:var(--spacing-md) 0;flex-direction:column;display:flex}.add-group{margin:0}.back-link{margin-top:var(--spacing-md)}.day-editor-message{color:var(--color-accent)}.day-editor-error{color:#8a2c26}:root{--color-bg:#fafafa;--color-surface:#fff;--color-text:#1a1a1a;--color-text-muted:#6b6b6b;--color-accent:#2563eb;--color-border:#e5e5e5;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--radius:12px;--font-size-base:16px}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:var(--font-size-base);-webkit-tap-highlight-color:transparent;margin:0}button{border-radius:var(--radius);cursor:pointer;border:none;min-height:44px;font-family:inherit;font-size:1rem}.screen{max-width:480px;padding:var(--spacing-md);margin:0 auto}.button-primary{width:100%;padding:var(--spacing-md);background:var(--color-accent);color:#fff;font-weight:600}.button-secondary{width:100%;padding:var(--spacing-md);background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}a.button-primary,a.button-secondary{text-align:center;box-sizing:border-box;text-decoration:none;display:block}
