:root{color-scheme:dark;--bg: #000000;--fg: #ffffff;--muted: #8e8e93;--card: #1c1c1e;--card-alt: #2c2c2e;--danger: #ff453a;--green: #32d74b;--amber: #ff9f0a;--radius: 16px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}#app{min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;gap:16px;position:relative}.screen.has-tabbar{justify-content:flex-start;padding-top:60px;padding-bottom:110px;gap:20px}.btn-primary{background:var(--fg);color:var(--bg);border:none;border-radius:var(--radius);padding:16px 32px;font-size:17px;font-weight:600;width:100%;max-width:340px}.btn-secondary{background:transparent;color:var(--fg);border:1px solid var(--muted);border-radius:var(--radius);padding:12px 24px;font-size:15px;width:100%;max-width:340px;text-align:center;display:block}.btn-small{padding:8px 16px;font-size:13px;width:auto}.btn-icon{background:var(--card);color:var(--fg);border:none;border-radius:12px;width:40px;height:40px;font-size:20px}.btn-delete{background:transparent;color:var(--danger);border:1px solid var(--danger);border-radius:10px;padding:8px 14px;font-size:13px}.hint{color:var(--muted);font-size:13px;margin:0}.btn-back{position:absolute;top:env(safe-area-inset-top,16px);left:16px;background:transparent;border:none;color:var(--fg);font-size:24px}.screen-picker h1,.screen-settings h1,.screen-new-workout h1,.screen-progress h1,.screen-session-picker h1,.screen-cardio-form h1,.screen-monthly-report h1{font-size:26px;margin:0 0 4px;width:100%;max-width:360px}.workout-list,.session-type-list{display:flex;flex-direction:column;gap:12px;width:100%;max-width:360px}.workout-card,.session-type-card{background:var(--card);color:var(--fg);border:none;border-radius:var(--radius);padding:20px;font-size:17px;text-align:left;display:flex;flex-direction:column;gap:4px}.session-type-title{font-size:18px;font-weight:700}.exercise-name{font-size:24px;font-weight:700}.set-progress{color:var(--muted);font-size:15px}.timer{font-size:64px;font-weight:700;font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:6px;width:100%;max-width:340px}.field span{color:var(--muted);font-size:13px}.field input,.field select{background:var(--card);color:var(--fg);border:none;border-radius:12px;padding:14px;font-size:18px;text-align:center;width:100%}.settings-section{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.settings-section h2{font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin:0}.section-header{display:flex;justify-content:space-between;align-items:center}.file-label{cursor:pointer}.workout-manage-list{display:flex;flex-direction:column;gap:10px}.workout-manage-card{background:var(--card);border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center}.workout-manage-name{font-size:16px;font-weight:600;margin:0}.workout-manage-actions{display:flex;gap:8px}.exercise-builder-list{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.exercise-builder-card{background:var(--card);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:14px}.exercise-builder-header{display:flex;justify-content:space-between;align-items:center}.exercise-index{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.btn-remove-exercise{background:transparent;border:none;color:var(--danger);font-size:13px;padding:4px 0}.set-rows{display:flex;flex-direction:column;gap:10px}.set-row{display:flex;align-items:flex-end;gap:6px}.set-index{color:var(--muted);font-size:13px;width:20px;flex:0 0 20px;padding-bottom:12px;text-align:center}.set-input-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mini-label{font-size:10px;color:var(--muted)}.set-input-group input{background:var(--card-alt);color:var(--fg);border:none;border-radius:10px;padding:10px 4px;font-size:14px;text-align:center;width:100%;min-width:0}.btn-remove-set{flex:0 0 auto;background:transparent;border:none;color:var(--danger);font-size:20px;padding-bottom:8px}.stepper-row{display:flex;gap:16px;width:100%;max-width:340px}.stepper{flex:1;background:var(--card);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px}.stepper-label{color:var(--muted);font-size:12px;letter-spacing:.05em}.stepper-controls{display:flex;align-items:center;gap:14px}.stepper-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--card-alt);color:var(--fg);font-size:22px;line-height:1}.stepper-value{font-size:28px;font-weight:700;min-width:64px;max-width:90px;text-align:center;font-variant-numeric:tabular-nums;background:transparent;border:none;color:var(--fg);-moz-appearance:textfield}.stepper-value::-webkit-outer-spin-button,.stepper-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.bodyweight-card,.strength-card{width:100%;max-width:360px;background:var(--card);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:10px}.bodyweight-header,.strength-header{display:flex;justify-content:space-between;align-items:center}.bodyweight-value,.strength-level{font-size:22px;font-weight:700;display:block}.bodyweight-form{display:flex;gap:8px}.bodyweight-form input{flex:1;background:var(--card-alt);color:var(--fg);border:none;border-radius:10px;padding:10px;font-size:16px;text-align:center}.progress-bar-track{width:100%;height:8px;background:var(--card-alt);border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--green)}.summary-card{width:100%;max-width:360px;background:var(--card);border-radius:var(--radius);padding:20px;display:flex;justify-content:space-between}.summary-stat{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.summary-number{font-size:22px;font-weight:700}.summary-label{font-size:11px;color:var(--muted);text-align:center}.status-text-green{color:var(--green)}.status-text-red{color:var(--danger)}.progress-list{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px}.progress-card{background:var(--card);border-radius:12px;padding:4px;display:flex;flex-direction:column}.workout-card-toggle{background:transparent;border:none;color:var(--fg);display:flex;align-items:center;gap:12px;padding:10px 12px;text-align:left}.progress-card-name{font-size:16px;font-weight:600;margin:0}.progress-card-info{display:flex;flex-direction:column;gap:2px;flex:1}.status-dot{width:12px;height:12px;border-radius:50%;flex:0 0 12px}.status-dot.status-green{background:var(--green)}.status-dot.status-amber{background:var(--amber)}.status-dot.status-red{background:var(--danger)}.status-dot.status-none{background:var(--muted)}.exercise-detail-list{display:flex;flex-direction:column;gap:4px;padding:0 12px 12px}.exercise-detail-row{border-top:1px solid #2c2c2e;padding-top:10px;margin-top:6px;display:flex;flex-direction:column;gap:4px}.exercise-detail-header{display:flex;align-items:center;gap:8px}.availability-strip{display:flex;gap:3px;flex-wrap:wrap}.availability-dot{width:10px;height:10px;border-radius:3px}.availability-dot.met{background:var(--green)}.availability-dot.unmet{background:var(--danger)}.mini-chart-wrap{position:relative;width:100%;height:60px}.cardio-section{width:100%;max-width:360px;background:var(--card);border-radius:var(--radius);padding:16px;display:flex;flex-direction:column;gap:10px}.cardio-header-btn{background:transparent;border:none;color:var(--fg);display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left}.cardio-breakdown{display:flex;flex-direction:column;gap:8px;border-top:1px solid #2c2c2e;padding-top:8px}.cardio-type-row{display:flex;flex-direction:column;gap:2px}.cardio-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;max-width:340px}.cardio-type-btn{background:var(--card);color:var(--fg);border:1px solid var(--muted);border-radius:12px;padding:16px;font-size:15px}.cardio-type-btn.active{background:var(--fg);color:var(--bg);border-color:var(--fg)}.month-nav{display:flex;align-items:center;gap:16px;width:100%;max-width:360px;justify-content:center}.month-label{font-size:16px;font-weight:600;min-width:140px;text-align:center}.tab-bar{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid #2c2c2e;display:flex;justify-content:space-around;padding:8px 0 calc(8px + env(safe-area-inset-bottom))}.tab-btn{background:transparent;border:none;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;padding:4px 16px}.tab-btn.active{color:var(--fg)}.tab-icon svg{width:22px;height:22px}.tab-text{font-size:11px}.active-session-row{display:flex;gap:8px;width:100%;max-width:360px;align-items:center}.active-session-row .btn-secondary{flex:1}.btn-discard{flex:0 0 auto;background:var(--card);color:var(--danger)}.mini-chart-wrap.tall{height:90px}.exercise-pr-big{font-size:26px;font-weight:700;margin:4px 0 0}.workout-chart-block{padding:0 12px 8px;display:flex;flex-direction:column;gap:6px}
