*,*:before,*:after{box-sizing:border-box;font-family:Nunito Sans,sans-serif}:root{--bg-color: #000000;--text-color: #e0e0e0;--border-color: gray;--button-color: #276d8d;--danger-color: #8d3327;--remove-color: #ff4444;--accent-color: skyblue;--chart-color: #3a9ad9;--error-color: #e76868;--success-color: lightgreen;--spinner-color: #3498db;--spinner-track-color: #f3f3f3;--surface-color: #10202a;--muted-text-color: #c4c4c4;--placeholder-color: #8f8f8f;--radius: 5px;--radius-lg: 8px;--content-width: 900px;--tap-size: 2.5rem;--nav-height: 4rem}@media(pointer:coarse){:root{--tap-size: 2.75rem}}html{overflow-x:hidden}body{background-color:var(--bg-color);color:var(--text-color);font-size:1rem;margin:0;padding:0}body:has(.modal[open]){overflow:hidden}main{margin:0 auto 2rem;max-width:var(--content-width);min-width:320px;overflow-x:clip;padding:0 1rem}@media not (min-width:640px){body:has(.nav-bar){padding-bottom:calc(var(--nav-height) + env(safe-area-inset-bottom))}}h1{font-size:clamp(2rem,2.5vw,2.25rem)}h2{font-size:clamp(1.2rem,2.5vw,1.4rem)}h3{font-size:clamp(1rem,2.5vw,1.2rem)}h4{font-size:1rem;font-weight:400}p,label,a{font-size:1rem}h1,h2,h3,h4,p,a{margin:0;padding:0}.actions{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.card{background:var(--surface-color);border:1px solid color-mix(in srgb,var(--border-color) 40%,transparent);border-radius:var(--radius-lg);padding:1rem}.card.is-danger{border-color:color-mix(in srgb,var(--danger-color) 60%,transparent)}.icon{fill:none;flex-shrink:0;height:1.25rem;stroke:currentcolor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:1.25rem}.icon-fill{fill:currentcolor}.stack{display:flex;flex-direction:column;gap:1rem}.field{display:flex;flex-direction:column;gap:.35rem;min-width:0}.field>label{color:var(--muted-text-color);font-size:.875rem}.field>.input,.field>.select{min-width:0;width:100%}.empty-state{align-items:center;color:var(--muted-text-color);display:flex;flex-direction:column;gap:1rem;padding:2rem 1rem;text-align:center}.load-error{display:flex;flex-direction:column;gap:1rem;margin:clamp(.75rem,2.5vw,1.5rem) 0}.load-error .actions{justify-content:space-between}.list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.button{align-items:center;border-radius:999px;color:var(--text-color);cursor:pointer;display:inline-flex;font-size:1rem;font-weight:400;gap:.4rem;justify-content:center;min-height:var(--tap-size);padding:0 1rem;transition:background .2s,border-color .2s}.button:disabled{cursor:not-allowed;opacity:.55}.button-standard{background:var(--button-color);border:1px solid var(--button-color)}.button-standard:hover:not(:disabled){background:color-mix(in srgb,var(--button-color) 75%,black 25%)}.button-secondary{background:transparent;border:1px solid var(--border-color)}.button-secondary:hover:not(:disabled){background:var(--surface-color);border-color:var(--text-color)}.button-danger{background:var(--danger-color);border:1px solid var(--danger-color)}.button-danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger-color) 75%,black 25%)}.button-x{background:transparent;border:1px solid transparent;color:var(--muted-text-color);font-size:1.25rem;line-height:1;min-width:var(--tap-size);padding:0}.button-x:hover:not(:disabled){background:color-mix(in srgb,var(--remove-color) 18%,transparent);color:var(--remove-color)}.x-icon{height:1.1rem;width:1.1rem}.page-header{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem 1rem;justify-content:space-between;margin:0 auto;max-width:var(--content-width);padding:1.5rem 1rem 1rem}.page-header-title{font-size:clamp(1.4rem,4vw,1.75rem)}.nav-bar-list{display:flex;gap:.25rem;list-style:none;margin:0;padding:0}.nav-bar-link{align-items:center;border-radius:var(--radius);color:var(--muted-text-color);display:flex;font-size:.95rem;gap:.4rem;min-height:var(--tap-size);padding:0 .75rem;text-decoration:none}.nav-bar-link:hover{color:var(--text-color)}.nav-bar-link.active{background:var(--surface-color);color:var(--accent-color)}.nav-bar-icon{height:1.1rem;width:1.1rem}@media not (min-width:640px){.nav-bar{background:var(--bg-color);border-top:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);bottom:0;left:0;padding-bottom:env(safe-area-inset-bottom);position:fixed;right:0}.nav-bar-list{gap:0;height:var(--nav-height)}.nav-bar-list>li{flex:1}.nav-bar-link{flex-direction:column;font-size:.7rem;gap:.2rem;height:100%;justify-content:center;padding:0}.nav-bar-link.active{background:none}.nav-bar-icon{height:1.4rem;width:1.4rem}}.sync-status{align-items:center;color:var(--muted-text-color);display:flex;font-size:.8rem;gap:.4rem;opacity:0;transition:opacity .3s}.sync-status:before{background:var(--accent-color);border-radius:50%;content:"";height:.45rem;width:.45rem}.sync-status.is-visible,.sync-status.is-offline{opacity:1}.sync-status.is-offline:before{background:var(--error-color)}.header{background:var(--bg-color);border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);padding-top:env(safe-area-inset-top);position:sticky;top:0;z-index:10}.header-inner{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--content-width);min-height:3.5rem;padding:0 1rem}.header-start{align-items:center;display:flex;gap:.75rem}.header-brand{color:var(--text-color);font-size:1.5rem;font-weight:800;letter-spacing:.02em;text-decoration:none}.exercise-icon{color:var(--accent-color);height:1.35rem;width:1.35rem}.loading{display:flex;flex-direction:column;gap:.5rem}.loading>span{animation:loading-pulse 1.4s ease-in-out infinite;background:var(--surface-color);border-radius:var(--radius-lg);height:3.75rem}@media(prefers-reduced-motion:reduce){.loading>span{animation:none}}.loading>span:nth-child(2){animation-delay:.15s}.loading>span:nth-child(3){animation-delay:.3s}@keyframes loading-pulse{50%{opacity:.45}}.modal{background:var(--bg-color);border:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);border-radius:var(--radius-lg);color:var(--text-color);max-height:85vh;overscroll-behavior:contain;padding:0;width:min(100% - 2rem,40rem)}.modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009}.modal[open]{display:flex;flex-direction:column}@media not (min-width:640px){.modal{border:0;border-radius:0;height:100%;max-height:100%;max-width:100%;width:100%}}.modal-header{align-items:center;border-bottom:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);display:flex;gap:1rem;justify-content:space-between;padding:.75rem .75rem .75rem 1rem;padding-top:max(.75rem,env(safe-area-inset-top))}.modal-title{font-size:1.15rem;min-width:0}.modal-body{display:flex;flex:1;flex-direction:column;gap:1.25rem;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom))}.modal-section-title{font-size:.95rem;margin-bottom:.5rem}.picker-modal-option{justify-content:flex-start;width:100%}.modal.confirm-dialog{width:min(100% - 2rem,28rem)}@media not (min-width:640px){.modal.confirm-dialog{border:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);border-radius:var(--radius-lg);height:auto;max-height:85vh;width:calc(100% - 2rem)}}.confirm-dialog-actions{justify-content:space-between}.set-grid{--field-count: 1;overflow-x:auto;overscroll-behavior-x:contain}.set-grid-row{align-items:center;border-left:3px solid transparent;display:grid;gap:.5rem;grid-template-columns:2rem repeat(var(--field-count),minmax(4.5rem,1fr)) var(--tap-size);min-width:calc(2rem + var(--tap-size) + var(--field-count) * 5rem);padding-block:.2rem;padding-left:.25rem}.set-grid-row>.input{min-height:var(--tap-size);width:100%}.set-grid-head{align-items:end;color:var(--muted-text-color);font-size:.8rem;line-height:1.2;overflow-wrap:anywhere;text-transform:uppercase}.set-grid-unit{text-transform:none}.set-grid-index{color:var(--muted-text-color);font-weight:600;text-align:center}.set-grid-done{border-left-color:var(--chart-color);color:var(--muted-text-color)}.set-grid-value{padding-left:clamp(.1rem,2.5vw,.25rem)}.set-grid-caption{color:var(--accent-color);font-size:.8rem;margin-bottom:.25rem}.set-grid-done+.set-grid-head{border-top:1px solid color-mix(in srgb,var(--border-color) 40%,transparent);color:var(--accent-color);margin-top:.5rem;padding-top:.75rem}.input{background:transparent;border:1.5px solid transparent;border-bottom-color:var(--border-color);border-radius:0;color:var(--text-color);font-size:1rem;line-height:1.5;min-height:var(--tap-size);padding:0 clamp(.1rem,2.5vw,.25rem);text-align:start}.input:focus{border-bottom-color:var(--button-color);outline:none}.input::placeholder{color:var(--placeholder-color);opacity:1}.input.is-error,.input.is-error:focus{border-bottom-color:var(--error-color)}.select{background-color:var(--button-color);border:none;border-radius:var(--radius);color:var(--text-color);min-height:var(--tap-size);padding:0 .5rem}.select option{color:var(--text-color)}.progress-chart{margin:0}.progress-chart-summary{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem 1rem;justify-content:space-between;margin-bottom:.75rem}.progress-chart-plot{position:relative;touch-action:pan-y}.progress-chart-plot>svg{display:block;overflow:visible}.progress-chart-grid>line{stroke:color-mix(in srgb,var(--border-color) 35%,transparent);stroke-width:1}.progress-chart-grid>text{fill:var(--muted-text-color);font-size:.7rem}.progress-chart-axis{fill:var(--muted-text-color);font-size:.7rem}.progress-chart-line{fill:none;stroke:var(--chart-color);stroke-linejoin:round;stroke-width:2}.progress-chart-dot{fill:var(--chart-color);stroke:var(--bg-color);stroke-width:2}.progress-chart-best>circle{fill:none;stroke:var(--text-color);stroke-width:2}.progress-chart-best>text{fill:var(--text-color);font-size:.7rem;font-weight:700}.progress-chart-crosshair{stroke:var(--muted-text-color);stroke-dasharray:3 3}.progress-chart-tooltip{background:var(--surface-color);border:1px solid var(--border-color);border-radius:var(--radius);font-size:.8rem;padding:.25rem .5rem;pointer-events:none;position:absolute;top:0;transform:translate(-50%);white-space:nowrap}.exercise-log-card-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.exercise-log-card-header>h3{font-size:1.15rem;min-width:0}.exercise-log-card-header>.actions{flex-shrink:0;flex-wrap:nowrap}.exercise-log-card-actions{justify-content:space-between}.exercise-log-card-settings{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.exercise-log-card-settings>li{background:var(--bg-color);border:1px solid color-mix(in srgb,var(--border-color) 50%,transparent);border-radius:999px;font-size:.875rem;padding:.2rem .75rem}.exercise-log-card{background:var(--surface-color);border-color:var(--border-color);overflow:hidden}.exercise-log-card .exercise-log-card-header{background:color-mix(in srgb,var(--chart-color) 18%,transparent);margin:-1rem -1rem 0;padding:.75rem 1rem}.exercise-log-card .exercise-log-card-history:hover:not(:disabled){background:color-mix(in srgb,var(--button-color) 45%,transparent);color:var(--text-color)}.exercise-log-card-name{align-items:center;display:flex;gap:.5rem}.log-page-save-bar{align-items:center;background:var(--surface-color);border:1px solid var(--button-color);border-radius:var(--radius-lg);bottom:1rem;box-shadow:0 8px 24px #00000073;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem;position:sticky;z-index:5}@media not (min-width:640px){.log-page-save-bar{bottom:calc(var(--nav-height) + env(safe-area-inset-bottom) + .75rem)}}.log-page-save-error{color:var(--error-color);font-size:.875rem}.text-center{text-align:center}.text-small{font-size:clamp(.6rem,2.5vw,.8rem)}.text-muted{color:var(--muted-text-color)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.error-text{color:var(--error-color);margin-top:1rem;text-align:center}
