:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-11:2.75rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.25rem;--font-family:"Space Mono", ui-monospace, monospace;--font-family-sans:"Space Grotesk", system-ui, sans-serif;--color-bg:#fff;--color-bg-outer:#f0f0f0;--color-surface:#fff;--color-text:#1a1a1a;--color-text-muted:#666;--color-primary:#1a1a1a;--color-on-primary:#fff;--color-hover:#f5f5f5;--color-menu-border:#eee;--color-grid:#dfe6ee;--color-grid-strong:#b9c6d4;--color-focus:#1a1a1a;--color-error:#b00020;--color-backdrop:#0006;--cell-size:3rem;--cell-width:5rem;--app-width:50rem;--bottom-bar-height:4.75rem;--safe-area-bottom:env(safe-area-inset-bottom,0px);--transition:.15s ease}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--color-bg:#1a1a1a;--color-bg-outer:#111;--color-surface:#1a1a1a;--color-text:#e8e8e8;--color-text-muted:#9a9a9a;--color-primary:#e8e8e8;--color-on-primary:#1a1a1a;--color-hover:#2a2a2a;--color-menu-border:#333;--color-grid:#2c3338;--color-grid-strong:#46515a;--color-focus:#e8e8e8;--color-error:#ff8a80;--color-backdrop:#0009}}*,:before,:after{box-sizing:border-box}html{touch-action:manipulation}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg-outer);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3{font-size:var(--font-size-base);margin:0;font-weight:700}button,input,select{font:inherit;color:inherit}button{cursor:pointer}input{accent-color:var(--color-primary)}a{color:inherit;text-underline-offset:.2em;text-decoration:underline}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{min-height:100dvh;max-width:var(--app-width);background-color:var(--color-bg);margin-inline:auto}.main{padding:var(--space-6) var(--space-4);padding-bottom:calc(var(--bottom-bar-height) + var(--safe-area-bottom) + var(--space-8))}.page-header{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-bottom:var(--space-6);display:flex}.page-title{font-size:var(--font-size-base)}.muted{color:var(--color-text-muted)}.flash{margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-hover)}.bottom-bar{inset-inline:0;max-width:var(--app-width);height:calc(var(--bottom-bar-height) + var(--safe-area-bottom));padding-bottom:var(--safe-area-bottom);background:var(--color-bg);border-top:1px solid var(--color-menu-border);z-index:10;margin-inline:auto;display:flex;position:fixed;bottom:0}.bottom-bar ul{flex:1;margin:0;padding:0;list-style:none;display:flex}.bottom-bar li{flex:1;display:flex}.bottom-bar__tab{justify-content:center;align-items:center;gap:var(--space-1);min-height:var(--space-11);color:var(--color-text-muted);font-size:var(--font-size-xs);flex-direction:column;flex:1;text-decoration:none;display:flex}.bottom-bar__tab:hover{color:var(--color-text)}.bottom-bar__tab[aria-current=page]{color:var(--color-text)}.bottom-bar__tab[aria-current=page] .bottom-bar__label{text-underline-offset:.3em;text-decoration:underline}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--space-11);padding:var(--space-2) var(--space-4);border:1px solid var(--color-primary);background:var(--color-primary);color:var(--color-on-primary);transition:opacity var(--transition);border-radius:0;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{opacity:.85}.button--secondary{color:var(--color-text);background:0 0}.button--danger{color:var(--color-error);border-color:var(--color-error);background:0 0}.button--link{min-height:var(--space-11);color:inherit;text-underline-offset:.2em;background:0 0;border:0;padding:0;text-decoration:underline}.field{gap:var(--space-1);margin-bottom:var(--space-4);flex-direction:column;display:flex}.field__label{font-weight:700}.field__help{color:var(--color-text-muted);font-size:var(--font-size-sm)}.field__input{min-height:var(--space-11);padding:var(--space-2) var(--space-3);border:1px solid var(--color-grid-strong);background:var(--color-surface);text-align:left;border-radius:0}.field__input:user-invalid{border-color:var(--color-error)}.field__error{min-height:1.25em;color:var(--color-error);font-size:var(--font-size-sm);margin:0}.fieldset{margin:0 0 var(--space-4);border:0;padding:0}.fieldset__legend{margin-bottom:var(--space-2);padding:0;font-weight:700}.dialog{width:min(100% - var(--space-8), 28rem);max-height:min(100dvh - var(--space-8), 40rem);border:1px solid var(--color-grid-strong);background:var(--color-surface);color:var(--color-text);border-radius:0;padding:0}.dialog[open]{flex-direction:column;display:flex;overflow:hidden}.dialog::backdrop{background:var(--color-backdrop)}.dialog__header{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-grid);flex-shrink:0;display:flex}.dialog__close{min-width:var(--space-11);min-height:var(--space-11);font-size:var(--font-size-lg);background:0 0;border:0}.dialog__body{min-height:0;padding:var(--space-4);flex:1;overflow-y:auto}.dialog__form{flex-direction:column;flex:1;min-height:0;display:flex}.dialog__footer{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-grid);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;display:flex}.dialog__footer-start{margin-inline-end:auto}.notebook{margin-inline:calc(var(--space-4) * -1);container:notebook/inline-size}.notebook__scroll{overscroll-behavior-x:contain;position:relative;overflow-x:auto}.notebook__scroll+.notebook__scroll{margin-top:var(--cell-size)}.notebook__day{border-collapse:collapse;font-variant-numeric:tabular-nums;min-width:100%}.notebook__date{caption-side:top;text-align:left}.notebook__date-title{align-items:baseline;gap:var(--space-2);min-height:var(--cell-size);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-grid-strong);font-family:var(--font-family-sans);flex-wrap:wrap;display:flex}.notebook__date-muted{color:var(--color-text-muted);font-weight:400}.notebook__exercise{z-index:1;width:8rem;min-width:8rem;max-width:8rem;height:var(--cell-size);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-4);border:1px solid var(--color-grid);background:var(--color-bg);box-shadow:inset -1px 0 0 var(--color-grid-strong);font-family:var(--font-family-sans);font-size:var(--font-size-sm);text-align:left;overflow-wrap:anywhere;border-inline-start:0;font-weight:500;position:sticky;inset-inline-start:0}.notebook__cell{width:var(--cell-width);min-width:var(--cell-width);height:var(--cell-size);border:1px solid var(--color-grid);padding:0}.notebook__cell:last-child{border-inline-end:0;width:auto}.notebook__set{width:100%;min-height:var(--cell-size);padding:0 var(--space-1);font-family:var(--font-family);font-size:var(--font-size-sm);white-space:nowrap;transition:background-color var(--transition);background:0 0;border:0;display:block}.notebook__set:hover{background:var(--color-hover)}.notebook__set:focus-visible{outline-offset:-2px}.notebook__cell--filled .notebook__set{font-weight:700}.notebook__set--empty,.notebook__plus{color:var(--color-text-muted)}.notebook__add{height:var(--cell-size);padding:var(--space-2) var(--space-4);border-block:1px solid var(--color-grid)}.notebook__hint{color:var(--color-text-muted);font-size:var(--font-size-sm);margin-inline-start:var(--space-3)}.notebook__hint kbd{padding:0 var(--space-1);border:1px solid var(--color-grid-strong);font-family:var(--font-family)}.notebook__more{padding:var(--space-6) var(--space-4)}.notebook__more a{min-height:var(--space-11);align-items:center;display:inline-flex}@container notebook (width>36rem){.notebook__exercise{width:12rem;min-width:12rem;max-width:12rem;font-size:var(--font-size-base)}}@media (any-hover:none){.notebook__hint{display:none}}.set-dialog__form{flex-direction:column;flex:1;min-height:0;display:flex}.set-dialog__title{align-items:baseline;gap:var(--space-2);font-family:var(--font-family-sans);flex-wrap:wrap;display:flex}.set-dialog__date{color:var(--color-text-muted);font-weight:400}.set-dialog__input{font-family:var(--font-family);font-size:var(--font-size-lg)}.set-dialog__delete{margin-inline-end:auto}.set-dialog__delete[hidden]{display:none}.chips{margin-top:calc(var(--space-2) * -1)}.chips__legend{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:400}.chips__list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.chip{min-width:var(--space-11);min-height:var(--space-11);padding:0 var(--space-3);border:1px solid var(--color-grid-strong);background:var(--color-surface);font-family:var(--font-family);transition:background-color var(--transition);border-radius:0}.chip:hover{background:var(--color-hover)}.chip[aria-pressed=true]{border-color:var(--color-primary);background:var(--color-primary);color:var(--color-on-primary)}.picker__grid{gap:var(--space-2);margin:0 0 var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,7.5rem),1fr));padding:0;list-style:none;display:grid}.picker__item{display:flex}.picker__exercise{min-height:var(--cell-size);padding:var(--space-2) var(--space-3);border:1px solid var(--color-grid-strong);background:var(--color-surface);font-family:var(--font-family-sans);font-size:var(--font-size-sm);text-align:left;overflow-wrap:anywhere;transition:background-color var(--transition);border-radius:0;flex:1}.picker__exercise:hover{background:var(--color-hover)}.picker__empty{margin:0 0 var(--space-6);color:var(--color-text-muted)}.picker__new{padding-top:var(--space-2);border-top:1px solid var(--color-grid)}.picker__new-title{align-items:center;gap:var(--space-2);min-height:var(--space-11);cursor:pointer;font-weight:700;list-style:none;display:flex}.picker__new-title::-webkit-details-marker{display:none}.picker__new-title:before{content:"+";inline-size:1em}[open]>.picker__new-title:before{content:"−"}.picker__form{padding-top:var(--space-3)}.picker__types{gap:var(--space-4);flex-wrap:wrap;display:flex}.picker__type{align-items:center;gap:var(--space-2);min-height:var(--space-11);cursor:pointer;display:inline-flex}.picker__type input{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);margin:0}.history-list{border-top:1px solid var(--color-grid);margin:0;padding:0;list-style:none}.history-list__item{padding-block:var(--space-2);border-bottom:1px solid var(--color-grid);flex-direction:column;display:flex}.history-list__link{align-items:center;gap:var(--space-2);min-height:var(--space-11);font-family:var(--font-family-sans);font-weight:700;display:flex}.history-list__summary{font-size:var(--font-size-sm);margin:0}.history-note{margin:0 0 var(--space-6);padding:var(--space-3) var(--space-4);background:var(--color-hover)}.chart{margin:0 0 var(--space-8)}.chart__caption{margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:700}.chart__svg{width:100%;max-width:36rem;height:auto;color:var(--color-text);display:block;overflow:visible}.chart__gridline,.chart__line,.chart__dot{vector-effect:non-scaling-stroke}.chart__gridline{stroke:var(--color-grid);stroke-width:1px}.chart__label{fill:var(--color-text-muted);font-family:var(--font-family);font-size:.8125rem}.chart__line{fill:none;stroke:currentColor;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart__dot{fill:currentColor;stroke:var(--color-bg);stroke-width:2px}.history-days__title{margin-bottom:var(--space-3)}.day-table{border-collapse:collapse;width:100%;font-family:var(--font-family);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.day-table th,.day-table td{height:var(--cell-size);padding:var(--space-2) var(--space-3);border:1px solid var(--color-grid);text-align:start;vertical-align:middle}.day-table thead th{border-bottom-color:var(--color-grid-strong);color:var(--color-text-muted)}.day-table tbody th{font-weight:400}.day-table__date{white-space:nowrap}.day-table .day-table__best{text-align:end;white-space:nowrap;font-weight:700}.day-table__sets{word-spacing:.5em}.exercise-list{margin:0;padding:0;list-style:none}.exercise-list__item{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) 0;border-bottom:1px solid var(--color-grid);flex-wrap:wrap;display:flex}.exercise-list__summary{padding-block:var(--space-2)}.exercise-list__name{font-family:var(--font-family-sans)}.exercise-list__meta{margin:var(--space-1) 0 0;font-size:var(--font-size-sm)}.exercise-list__actions{align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;display:flex}.exercise-bank__count{margin:0 0 var(--space-2)}.exercise-type__options{gap:var(--space-2) var(--space-6);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.exercise-type__option{align-items:center;gap:var(--space-2);min-height:var(--space-11);cursor:pointer;display:inline-flex}.exercise-type__option input{width:var(--space-5);height:var(--space-5);margin:0}.exercise-archive{margin-top:var(--space-8)}.exercise-archive__summary{min-height:var(--space-11);cursor:pointer;align-items:center;font-weight:700;display:flex}.exercise-archive__summary:before{content:"▸";margin-right:var(--space-2)}.exercise-archive[open]>.exercise-archive__summary:before{content:"▾"}.flash--error{color:var(--color-error)}.confirm-dialog__message{margin:0}.settings{margin-bottom:var(--space-8)}.settings__title{margin-bottom:var(--space-4)}.settings__number{max-width:10rem}.settings__links{gap:var(--space-2) var(--space-6);margin:var(--space-3) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.settings__links a{min-height:var(--space-11);align-items:center;display:inline-flex}.auth{width:min(100%,24rem);margin:var(--space-8) auto 0;padding:var(--space-6);border:1px solid var(--color-grid-strong);background:var(--color-surface)}.auth__title{font-family:var(--font-family-sans);font-size:var(--font-size-lg)}.auth__intro{margin:var(--space-1) 0 var(--space-6);font-size:var(--font-size-sm)}.auth__remember{align-items:center;gap:var(--space-2);min-height:var(--space-11);margin:0 0 var(--space-4);display:flex}.auth__remember input{width:var(--space-5);height:var(--space-5);margin:0}.auth__remember label{cursor:pointer}.auth__submit{width:100%}.auth__footer{margin:var(--space-6) 0 0;font-size:var(--font-size-sm)}
