@import "https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body.light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100svh;display:flex}.auth-wrapper{--auth-rule-x:36px;--auth-gutter:20px;border:2px solid var(--border);border-radius:var(--radius);background-color:var(--bg);background-image:linear-gradient(90deg, var(--margin) 1px, transparent 1px);background-size:100% 100%;background-position:var(--auth-rule-x) 0;background-repeat:no-repeat;width:420px;max-width:90vw;overflow:hidden}[dir=rtl] .auth-wrapper{background-position:calc(100% - var(--auth-rule-x)) 0}.auth-header{padding-block:var(--space-md);padding-inline:var(--space-lg);justify-content:center;align-items:center;display:flex}.auth-header img{width:70%;max-width:200px}.auth-body{padding:0}.auth-sheet{border-top:1px solid var(--line-color);flex-direction:column;display:flex}.auth-line{height:var(--lh);box-sizing:border-box;padding-bottom:5px;padding-inline:calc(var(--auth-rule-x) + var(--auth-gutter)) var(--auth-gutter);border-bottom:1px solid var(--line-color);color:var(--text);align-items:flex-end;display:flex}.auth-line--title{justify-content:center}.auth-line--error{color:var(--error);font-size:var(--fs-base)}.auth-line--link{justify-content:center}.auth-line--action{justify-content:center;align-items:center;padding-bottom:0}.auth-field{align-items:baseline;gap:var(--space-lg);width:100%;display:flex}.auth-field-label{white-space:nowrap;min-width:96px;color:var(--text);flex:none}.auth-field-input{min-width:0;color:var(--text);font-family:var(--font-body);font-size:var(--fs);background:0 0;border:none;outline:none;flex:1;padding:0}.auth-field-input::placeholder{color:var(--muted)}.auth-link{color:var(--text);font-size:var(--fs-base)}.auth-eye{color:var(--muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;margin-inline-start:var(--space-xs);padding:0;display:inline-flex}.auth-eye:hover{color:var(--text)}.auth-line--right{justify-content:flex-end}.auth-forgot{color:var(--muted);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;background:0 0;border:none;padding:0}.auth-forgot:hover{color:var(--text)}.toast{bottom:24px;z-index:1000;border-radius:var(--radius);max-width:320px;font-family:var(--font-body);font-size:var(--fs);color:#fff;cursor:pointer;padding:12px 18px;animation:.18s ease-out toast-in;position:fixed;inset-inline-end:24px;box-shadow:0 6px 18px #00000059}.toast-success{background:var(--success)}.toast-error{background:var(--error)}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.sticky-note{background:var(--yellow);--text:#1a1a1a;--muted:#5c4a1e;--red:#8f2b23;--border:#0000002e;--red-border:#8f2b2380;--active-bg:#00000014;color:var(--text);font-family:var(--font-body);overflow-wrap:break-word;border-radius:3px;padding:20px;position:relative;box-shadow:0 8px 18px #0006}.sticky-note:before{content:"";top:-9px;left:var(--tape-x,50%);transform:translateX(-50%) rotate(var(--tape-tilt,-2deg));width:var(--tape-w,60px);pointer-events:none;background:#ffffff59;border:1px solid #ffffff40;height:18px;position:absolute}.sticky-note:nth-of-type(4n+1){--tape-x:36%;--tape-tilt:-4deg;--tape-w:58px}.sticky-note:nth-of-type(4n+2){--tape-x:58%;--tape-tilt:3deg;--tape-w:66px}.sticky-note:nth-of-type(4n+3){--tape-x:47%;--tape-tilt:-1deg;--tape-w:52px}.sticky-note:nth-of-type(4n+4){--tape-x:65%;--tape-tilt:5deg;--tape-w:62px}.toggle-field{gap:var(--space-xs);font-family:var(--font-body);flex-direction:column;display:flex}.toggle-label{font-size:var(--fs-base);color:var(--muted)}.toggle-group{gap:8px;display:flex}.toggle-group--vertical{flex-direction:column;align-items:stretch}.toggle-group--vertical .toggle-chip{text-align:start}.toggle-chip{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 14px;transition:all .12s}.toggle-chip:hover{border-color:var(--yellow)}.toggle-chip.selected{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.dash-title{font-family:var(--font-body);color:var(--text);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 var(--space-md)}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));place-items:start center;gap:32px;display:grid}.dashboard-grid>*{width:82%;min-width:0}@media (width>=600px){.dashboard-grid>*{width:100%}}.note-heading{font-size:var(--fs-lg);color:var(--text);text-transform:uppercase;margin-bottom:10px;font-weight:700}.note-line{color:var(--text);margin-bottom:4px}.note-value{color:var(--text)}.note-day{color:var(--text);margin-bottom:4px}.note-day.today .note-day-label{text-decoration:underline;-webkit-text-decoration-color:var(--text);text-decoration-color:var(--text);text-underline-offset:3px;text-decoration-thickness:1px}.note-day-label,.note-day-muscles{color:var(--text)}.note-link{color:var(--text);font-size:var(--fs-base);text-decoration:none}.note-btn{color:var(--text);border:1px solid var(--text);font-size:var(--fs-xs);background:0 0;border-radius:6px;padding:2px 10px;text-decoration:none;display:inline-block}.muscle-rows{margin-top:10px}.muscle-row{justify-content:space-between;gap:var(--space-md);color:var(--text);margin-bottom:4px;display:flex}.muscle-name{color:var(--text)}.muscle-sets{color:var(--text);font-variant-numeric:tabular-nums}.sticky-note .toggle-chip{font-size:var(--fs-xs);padding:3px 10px}.rt-days-selector{margin-bottom:var(--space-md);flex-wrap:wrap;gap:10px;display:flex}.rt-day-num{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;transition:all .12s;display:flex}.rt-day-num:hover{border-color:var(--yellow)}.rt-day-num.selected{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.rt-edit-day{margin-bottom:28px}.rt-edit-heading{font-size:var(--fs-lg);color:var(--text);border-inline-start:2px solid #0000;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;padding-inline-start:6px;display:flex}.rt-edit-heading.error{border-inline-start-color:var(--red);background:var(--active-bg,#961e1e1f)}.rt-edit-heading span{text-transform:uppercase}.rt-day-name{border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E") 2px no-repeat;outline:none;width:180px;padding:0 4px 2px;padding-inline-start:20px}[dir=rtl] .rt-day-name{background-position:right 2px center}.rt-day-name:focus{border-bottom-color:var(--red-border)}.rt-day-name::placeholder{color:var(--muted)}.rt-muscle-group{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.rt-muscle-btn{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;background:0 0;border-radius:8px;padding:4px 12px;transition:all .12s}.rt-muscle-btn:hover{border-color:var(--yellow)}.rt-muscle-btn.selected{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.rt-selected-tag{font-size:var(--fs-xs);color:var(--muted);margin-bottom:6px}.rt-selected-tag span{color:var(--text);margin-inline-start:4px}.rt-expander{color:var(--text);font-size:var(--fs-base);cursor:pointer;-webkit-user-select:none;user-select:none;padding:4px 0}.rt-expander:hover{color:var(--text)}.rt-pool-edit{border-inline-start:2px solid var(--border);padding-inline-start:12px;align-items:flex-start;gap:32px;margin-bottom:4px;padding-bottom:6px;display:flex;overflow-x:auto}.rt-pool-col{flex:none;min-width:170px}.rt-pool-muscle-row{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:6px;display:flex}.rt-pool-muscle-name{font-size:var(--fs-base);text-transform:uppercase;letter-spacing:1px;color:var(--text)}.rt-stepper{align-items:center;gap:8px;display:inline-flex}.rt-step-label{font-size:var(--fs-xs);color:var(--muted)}.rt-step-btn{border:1px solid var(--border);color:var(--muted);cursor:pointer;width:24px;height:24px;font-family:var(--font-body);background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0;line-height:1;display:flex}.rt-step-btn:hover{color:var(--text);border-color:var(--red-border)}.rt-step-val{text-align:center;min-width:16px;color:var(--text);font-size:var(--fs-base)}.rt-pool-ex{cursor:pointer;align-items:center;gap:8px;padding:3px 0;display:flex}.rt-pool-ex span{font-size:var(--fs-base);color:var(--text)}.rt-checkbox{width:14px;height:14px;accent-color:var(--yellow);cursor:pointer}.rt-pool-empty{font-size:var(--fs-xs);color:var(--red);padding:4px 0}.rt-error{color:var(--red);font-size:var(--fs-base);margin:var(--space-sm) 0}.rt-save-row{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.rt-daytype-group{flex-wrap:wrap;gap:8px;margin:2px 0 10px;display:flex}.rt-daytype-btn{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;background:0 0;border-radius:8px;padding:4px 12px;transition:all .12s}.rt-daytype-btn:hover{border-color:var(--yellow)}.rt-daytype-btn.selected{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.rt-manual-layout{margin-bottom:4px;display:flex}.rt-manual-tabs{border-inline-end:1px solid var(--border);flex-direction:column;flex-shrink:0;width:120px;min-width:120px;padding-inline-end:8px;display:flex}.rt-manual-tab{color:var(--muted);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;-webkit-user-select:none;user-select:none;border-inline-start:2px solid #0000;padding:6px 10px}.rt-manual-tab:hover{color:var(--text)}.rt-manual-tab.active{color:var(--text);border-inline-start-color:var(--red-border)}.rt-manual-cnt{color:var(--red);font-size:var(--fs-xs)}.rt-manual-list{flex:1;max-height:320px;padding-inline-start:20px;overflow-y:auto}.rt-days-selector.locked .rt-day-num{color:var(--muted);border-color:var(--border);cursor:default}.rt-days-selector.locked .rt-day-num.selected{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.rt-day-del{margin-inline-start:auto}.rt-add-day{margin-top:4px;margin-bottom:var(--space-md)}.rt-title{font-family:var(--font-body);color:var(--text);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:1.5px;line-height:var(--lh);margin:0}.rt-empty{color:var(--muted);font-family:var(--font-body);font-size:var(--fs);margin:var(--space-sm) 0 var(--space-md)}.rt-subline{color:var(--text);font-family:var(--font-body);font-size:var(--fs);margin:var(--space-xs) 0 var(--space-md)}.rt-cols{align-items:flex-start;gap:40px;padding-bottom:8px;display:flex;overflow-x:auto}.rt-col{flex:none;min-width:200px}.rt-col-headrow{align-items:baseline;gap:10px;margin-bottom:4px;display:flex}.rt-day-head{color:var(--text);font-size:var(--fs-lg);display:inline-block}.rt-daytype{color:var(--red);font-size:var(--fs-xs)}.rt-ex-row{min-height:var(--lh);align-items:flex-end;gap:2px;padding-bottom:4px;display:flex}.rt-muscle{min-width:76px;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--muted);flex:0 0 76px}.rt-ex{color:var(--text);font-size:var(--fs-xs);flex:1}.rt-ex.muted{color:var(--muted)}.rt-seepool{color:var(--text);font-size:var(--fs-base);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:var(--lh);align-items:flex-end;padding-bottom:4px;display:flex}.rt-seepool:hover{text-decoration:underline}.rt-pool{padding-inline-start:2px}.field{gap:var(--space-xs);font-family:var(--font-body);flex-direction:column;display:flex}.field-label{font-size:var(--fs-base);color:var(--text)}.field-optional{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;margin-inline-start:4px}.field-input{border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:var(--fs);background:0 0;outline:none;padding:8px 4px}.field-select{appearance:none;border:1px solid var(--control-border);border-radius:var(--radius);background-color:var(--control-bg);background-image:var(--control-chevron);cursor:pointer;background-position:right 10px center;background-repeat:no-repeat;padding-block:8px;padding-inline:10px 32px;transition:background-color .12s,border-color .12s}[dir=rtl] .field-select{background-position:10px}.field-select:hover{background-color:var(--control-bg-hover)}.field-select:focus-visible{border-color:var(--red-border)}.field-select option{background-color:var(--bg);color:var(--text)}@supports (appearance:base-select){.field-select{appearance:base-select}.field-select::picker(select){appearance:base-select}.field-select{background-image:none;padding-inline:10px}.field-select::picker-icon{color:var(--muted);transition:rotate .15s}.field-select:open::picker-icon{rotate:180deg}.field-select::picker(select){min-width:anchor-size(width);padding:var(--space-xs);background-color:var(--bg);border:1px solid var(--control-border);border-radius:var(--radius);font-family:var(--font-body);font-size:var(--fs);color:var(--text);opacity:0;transition:opacity .14s ease, translate .14s ease, display .14s allow-discrete, overlay .14s allow-discrete;margin-block-start:var(--space-xs);translate:0 -4px;box-shadow:0 8px 18px #0006}.field-select:open::picker(select){opacity:1;translate:0}@starting-style{.field-select:open::picker(select){opacity:0;translate:0 -4px}}.field-select option{background-color:#0000;border-radius:6px;padding:6px 10px}.field-select option:hover{background-color:var(--control-bg-hover)}.field-select option:checked{background-color:var(--active-bg)}.field-select option::checkmark{color:var(--red)}@media (prefers-reduced-motion:reduce){.field-select::picker(select){transition:none}.field-select::picker-icon{transition:none}}}.field--inline{align-items:center;gap:var(--space-sm);flex-direction:row}.field--inline .field-label{flex:none;min-width:88px}.field--inline .field-input{flex:1;min-width:0}@media (width>=600px){.field--inline .field-label{min-width:96px}}.modal-overlay{z-index:100;background:#000000bf;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg);border:2px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;max-height:90vh;padding:var(--space-lg);overflow-y:auto}.modal-title{margin:0 0 var(--space-md);font-family:var(--font-body);color:var(--text);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:1.5px;text-align:center}.modal-box .field--inline{gap:var(--space-md)}.ex-title{font-family:var(--font-body);color:var(--text);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:1.5px;line-height:var(--lh);margin:0}.ex-layout{gap:var(--space-md);flex-direction:column;display:flex}.ex-muscle-col{width:auto;min-width:0}.ex-muscle-col .field-select{text-align:center;padding-inline:32px}@supports (appearance:base-select){.ex-muscle-col .field-select{justify-content:center;gap:var(--space-sm);padding-inline:var(--space-md)}}@media (width>=600px){.ex-layout{flex-direction:row;gap:0}.ex-muscle-col{flex-shrink:0;width:150px;min-width:150px}}.ex-muscle-heading{color:var(--text);font-size:var(--fs-sm);margin-bottom:var(--space-xs);display:block}.ex-exercise-col{flex:1;min-width:0;padding-inline-start:0}@media (width>=600px){.ex-exercise-col{padding-inline-start:72px}}.ex-add-row{margin-top:var(--space-md)}.ex-table{border-collapse:collapse;width:100%}@media (width>=600px){.ex-table{width:auto}}.ex-table th{height:var(--lh);text-align:start;font-size:var(--fs-xs);color:var(--text);text-transform:uppercase;letter-spacing:1.2px;vertical-align:bottom;padding-bottom:4px;font-weight:400}.ex-th-name{min-width:0}.ex-th-center,.ex-td-center{text-align:center;padding-inline-start:var(--space-sm)}@media (width>=600px){.ex-th-name{min-width:200px}.ex-th-center,.ex-td-center{padding-inline-start:24px}}.ex-table td{height:var(--lh);vertical-align:bottom;font-size:var(--fs);color:var(--text);border:none;padding-bottom:4px}.ex-link{color:var(--red);font-size:var(--fs-sm);text-decoration:none}.ex-link:hover{color:var(--text)}.ex-muted{color:var(--muted)}.ex-header{margin-bottom:var(--space-sm);justify-content:space-between;align-items:flex-end;display:flex}.ex-confirm{align-items:center;gap:8px;display:inline-flex}.ex-confirm-yes,.ex-confirm-no{border:1px solid var(--border);font-family:var(--font-body);font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:6px;min-height:24px;padding:2px 8px}.ex-confirm-yes{color:var(--red);border-color:var(--red-border)}.ex-confirm-no{color:var(--muted)}.ex-weight-input{border:none;border-bottom:1px solid var(--border);width:70px;color:var(--text);font-family:var(--font-body);font-size:var(--fs);text-align:center;background:0 0;outline:none;padding:0 4px 4px;transition:border-color .12s}.ex-weight-input:focus{border-bottom-color:var(--red-border)}.cal-title{font-family:var(--font-body);color:var(--text);font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 var(--space-md)}.cal-day-filter{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);flex-wrap:wrap;display:flex}.cal-filter-btn{border:1px solid var(--text);min-width:34px;min-height:34px;color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:4px 8px;transition:all .12s;display:inline-flex}.cal-chip-long{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.cal-chip-short{display:inline}@media (width>=600px){.cal-day-filter{gap:10px}.cal-filter-btn{min-width:0;min-height:0;padding:4px 14px}.cal-chip-long{clip-path:none;width:auto;height:auto;position:static;overflow:visible}.cal-chip-short{display:none}}.cal-filter-btn:hover{border-color:var(--yellow)}.cal-filter-btn.active{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.cal-current-marker{background-color:var(--yellow);text-indent:110%;white-space:nowrap;border-radius:50%;width:6px;height:6px;margin-inline-start:4px;font-size:0;display:inline-block;overflow:hidden}@media (width>=600px){.cal-current-marker{text-indent:0;width:auto;height:auto;font-size:var(--fs-xs);color:var(--yellow);background-color:#0000;border-radius:0;margin-inline-start:8px;overflow:visible}}.cal-view-info{font-size:var(--fs-base);color:var(--text);margin-bottom:var(--space-md);min-height:1.4em}.cal-wrapper{overflow-x:auto}.cal-table{--cal-row-h:26px;background-color:var(--bg);border-collapse:collapse;min-width:100%}.cal-table th{border-bottom:1px solid var(--divider);text-align:center;font-size:var(--fs-xs);color:var(--text);text-transform:uppercase;letter-spacing:1.2px;vertical-align:bottom;white-space:nowrap;padding:0 12px 5px;font-weight:400}.cal-table th.left{text-align:start;padding-inline-start:0}.cal-wod-day,.cal-wod-date{font-size:var(--fs-xs);color:var(--text);text-transform:none;letter-spacing:0;line-height:1.15}.cal-wod-date{margin-top:0}.cal-table td{height:var(--cal-row-h);vertical-align:bottom;line-height:1.3;font-size:var(--fs-sm);color:var(--text);white-space:nowrap;border:none;padding-block:4px;padding-inline:12px}.cal-table td.left{padding-inline-start:0}.cal-exname{min-width:180px}.cal-muscle-row td{color:var(--yellow);font-size:var(--fs-base);text-transform:uppercase;letter-spacing:1px;height:calc(var(--cal-row-h) * 1.15);padding-top:calc(4px + var(--cal-row-h) * .1);padding-bottom:calc(4px + var(--cal-row-h) * .05)}.cal-day-row td{color:var(--text);font-size:var(--fs-base);text-transform:uppercase;letter-spacing:1.5px;padding-top:var(--space-md);border-bottom:1px solid var(--red-border);padding-bottom:4px}.cal-wod-cell{font-size:var(--fs-xs);text-align:center;min-width:44px}.cal-wod-cell.completed{color:var(--text)}.cal-wod-cell.empty{color:var(--muted)}.cal-empty{text-align:center;color:var(--muted);font-size:var(--fs-base);padding:40px 0}.cal-empty-block{color:var(--muted);font-size:var(--fs-base)}.cal-link{color:var(--red);margin-inline-start:8px;text-decoration:underline}.cal-table th.sticky-col,.cal-table td.sticky-col{background-color:var(--bg);z-index:1;position:sticky}.cal-table .sticky-name{box-sizing:border-box;border-inline-end:1px solid var(--divider);width:180px;min-width:180px;max-width:180px;inset-inline-start:0}.cal-muscle-row .sticky-name,.cal-day-row .sticky-name{white-space:normal}.cal-header{margin-bottom:var(--space-md);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.cal-header .cal-title{margin:0}.cal-filter-label{font-size:var(--fs-base);color:var(--text);margin:0}.cal-actions{margin-bottom:var(--space-sm);flex-wrap:wrap;gap:12px;display:flex}.cal-next-btn{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:6px;width:24px;min-width:24px;height:24px;padding:0;transition:all .12s;position:relative}.cal-next-btn:before{content:"";inset-block:calc((var(--cal-row-h) - 22px) / -2);position:absolute;inset-inline:-9px}.cal-next-btn:hover{border-color:var(--yellow)}.cal-next-btn.selected{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.cal-lock{color:var(--muted);opacity:.5;justify-content:center;align-items:center;display:inline-flex}.cal-table .sticky-select{white-space:normal;width:40px;min-width:40px;max-width:40px;padding-inline:4px;inset-inline-start:0}.cal-table.has-select .sticky-name{inset-inline-start:40px}.pf{gap:var(--space-sm);max-width:480px;font-family:var(--font-body);flex-direction:column;display:flex}.pf-title{font-family:var(--font-body);font-size:var(--fs-lg);color:var(--text);text-transform:uppercase;letter-spacing:1.5px;margin:0 0 var(--space-xs)}.pf-row{grid-template-columns:var(--pf-label-w,104px) 1fr;align-items:center;gap:var(--space-sm);min-height:var(--lh);display:grid}@media (width>=600px){.pf-row{grid-template-columns:var(--pf-label-w,140px) 1fr;gap:var(--space-md)}}.pf-label{font-size:var(--fs-base);color:var(--muted)}.pf-value{color:var(--text)}.pf-input{border:none;border-bottom:1px solid var(--border);width:100%;max-width:240px;color:var(--text);font-family:var(--font-body);font-size:var(--fs);background:0 0;outline:none;padding:6px 4px}.pf-input:focus{border-bottom-color:var(--red-border)}.pf-measure{align-items:baseline;gap:6px;min-width:0;max-width:240px;display:inline-flex}.pf-measure .pf-input{flex:auto;min-width:0}.pf-unit{color:var(--muted);font-size:var(--fs-base);flex:none}.pf-height{gap:12px;display:flex}.pf-height .pf-measure{max-width:110px}.pf-row .toggle-field{margin:0}.pf-actions{margin-top:var(--space-sm)}.wo-head{margin-bottom:var(--space-md);flex-wrap:wrap;align-items:baseline;gap:4px 18px;display:flex}.wo-title{font-size:var(--fs-lg);text-transform:uppercase;letter-spacing:1.5px;color:var(--text);line-height:1.3;font-family:var(--font-body);margin:0}.wo-title-tag{font-size:var(--fs-base);text-transform:none;letter-spacing:0;color:var(--muted)}.wo-title-tag.is-idle{visibility:hidden}.wo-head-date{align-items:center;gap:10px;display:flex}@media (width>=600px){.wo-head{gap:4px 28px}.wo-dayinfo{display:inline}}.wo-muted{color:var(--muted);font-family:var(--font-body)}.wo-day-strip{margin-bottom:var(--space-sm);flex-wrap:wrap;gap:8px;display:flex}.wo-day-chip{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);height:calc(var(--lh) - 8px);cursor:pointer;background:0 0;border-radius:8px;align-items:center;padding-inline:12px;transition:color .12s,border-color .12s;display:inline-flex}.wo-day-chip:hover{border-color:var(--yellow)}.wo-day-chip.current{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.wo-day-tag{color:var(--yellow);font-size:var(--fs-xs);margin-inline-start:8px}.wo-instruction{color:var(--text);font-family:var(--font-body);font-size:var(--fs);margin:var(--space-sm) 0}.wo-actions{margin-top:var(--space-md);gap:12px;display:flex}.wo-prompt{color:#c0392be6;font-size:var(--fs);line-height:var(--lh);font-family:var(--font-body);padding:4px 0}.wo-gap-note{color:#c0392be6;font-size:var(--fs-base);line-height:var(--lh);font-family:var(--font-body);padding-bottom:4px}.wo-prompt-link{color:#c0392bf2;text-decoration:underline;-webkit-text-decoration-color:var(--red-border);text-decoration-color:var(--red-border);text-underline-offset:3px;cursor:pointer}.wo-prompt-link:hover{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.wo-linkbtn{font-family:var(--font-body);font-size:var(--fs);background:0 0;border:none;padding:0}.wo-dayinfo{color:var(--muted);font-size:var(--fs-base);font-family:var(--font-body);display:none}.wo-table{border-collapse:collapse;width:100%;font-family:var(--font-body);margin-top:var(--space-sm)}.wo-table th{height:var(--lh);text-align:start;font-size:var(--fs-xs);color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;vertical-align:bottom;padding-bottom:4px;font-weight:400}.wo-table th.center{text-align:center}.wo-col-main,.wo-col-unit{line-height:1.15;display:block}.wo-col-unit{color:var(--muted)}.wo-table td{height:var(--lh);vertical-align:bottom;font-size:var(--fs);color:var(--text);padding-bottom:4px}.wo-table td.center{text-align:center;width:56px;padding:0 4px}.wo-table th.wo-remove-col,.wo-table td.wo-remove-col{text-align:center;width:26px;padding:0}.wo-muscle-cell{color:var(--red);font-size:var(--fs-xs);white-space:nowrap;width:1%;padding-inline-end:10px}.wo-exname-cell{white-space:nowrap;text-overflow:ellipsis;width:100%;max-width:0;padding-inline-end:10px;overflow:hidden}@media (width>=600px){.wo-muscle-cell{padding-inline-end:24px}.wo-table th.wo-remove-col,.wo-table td.wo-remove-col{width:44px}.wo-exname-cell{text-overflow:clip;width:1%;max-width:none;padding-inline-end:20px;overflow:visible}}.wo-input{border:none;border-bottom:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:var(--fs);text-align:center;background:0 0;outline:none;width:44px;padding:0 2px 4px;transition:border-color .12s}.wo-input:focus{border-bottom-color:var(--red-border)}@media (width>=600px){.wo-table td.center{width:80px;padding:0 6px}.wo-input{width:60px;padding:0 4px 4px}}.wo-weight{color:var(--muted)}.wo-weight.modified{color:var(--text)}.wo-table tbody td{background-color:var(--pending-bg);transition:background-color .15s}.wo-table tbody tr.done-row td{background-color:#0000}.wo-table{--strike-y:20px}.wo-table tr.done-row .wo-muscle-cell,.wo-table tr.done-row .wo-exname-cell{background-image:linear-gradient(var(--muted), var(--muted));background-repeat:no-repeat;background-size:100% 2px;background-position:0 calc(100% - var(--strike-y))}.wo-workout>.wo-actions{justify-content:center}.wo-add-row{margin:var(--space-sm) 0 var(--space-md)}.wo-pick-search{width:100%;margin-bottom:var(--space-sm);background-color:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);padding:6px 10px}.wo-pick-search::placeholder{color:var(--muted)}.wo-pick-search:focus-visible{border-color:var(--red-border);outline:none}.wo-pick-list{max-height:44vh;margin-top:var(--space-sm);overflow-y:auto}.wo-pick-muscle{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;margin-inline-start:auto;padding-inline-start:8px}.wo-pick-actions{margin-top:var(--space-md);justify-content:flex-end}.wo-success-msg{color:#64b464d9;font-size:var(--fs);font-family:var(--font-body);margin:var(--space-sm) 0}.wo-date-label{color:var(--text)}.wo-date-input{background-color:var(--control-bg);border:1px solid var(--control-border);border-radius:var(--radius);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);cursor:pointer;padding:4px 8px;transition:background-color .12s,border-color .12s}.wo-date-input:hover{background-color:var(--control-bg-hover)}.wo-date-input:focus-visible{border-color:var(--red-border)}.wo-date-input::-webkit-calendar-picker-indicator{cursor:pointer}.wo-ml-grid{margin-top:var(--space-md);grid-template-columns:1fr 1fr;align-items:start;gap:32px;display:grid}@media (width<=760px){.wo-ml-grid{grid-template-columns:1fr}}.wo-ml-empty{color:var(--text);font-family:var(--font-body)}.wo-ml-head{min-height:var(--lh);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--muted);font-family:var(--font-body);align-items:flex-end;gap:8px;padding-bottom:2px;display:flex}.wo-ml-row{min-height:var(--lh);font-family:var(--font-body);align-items:center;gap:8px;padding-bottom:2px;display:flex}.wo-ml-muscle{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:1px;color:var(--muted);flex:0 0 76px}.wo-ml-name{color:var(--text);font-size:var(--fs-base);flex:1;min-width:0}.wo-ml-input{border:1px solid var(--border);width:46px;color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);text-align:center;background:0 0;border-radius:6px;padding:1px 0}.wo-ml-input:focus{border-color:var(--red-border);outline:none}.wo-ml-h{text-align:center;width:46px}.wo-ml-delcol{width:20px}.wo-ml-picker{border-inline-start:2px solid var(--border);padding:4px 0 6px;padding-inline-start:12px}.wo-ml-tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.wo-ml-tab{border:1px solid var(--text);color:var(--text);font-family:var(--font-body);font-size:var(--fs-base);height:calc(var(--lh) - 8px);cursor:pointer;background:0 0;border-radius:8px;padding:0 10px}.wo-ml-tab:hover{border-color:var(--yellow)}.wo-ml-tab.active{border-color:var(--yellow);color:var(--text);background:#f4d93e38}.wo-ml-pick-row{min-height:calc(var(--lh) - 2px);align-items:center;gap:10px;display:flex}.wo-ml-add{border:1px solid var(--yellow);color:var(--text);font-family:var(--font-body);font-size:var(--fs-xs);cursor:pointer;background:0 0;border-radius:6px;height:24px;padding:0 8px;transition:background-color .12s}.wo-ml-add:hover{background:#f4d93e2e}.wo-ml-add:disabled{opacity:.4;cursor:default;border-color:var(--border);color:var(--muted);background:0 0}.wo-ml-none{color:var(--muted);font-family:var(--font-body)}.bottom-nav{padding-inline:var(--space-sm);background-color:var(--bg);border-block-start:2px solid var(--margin);flex-shrink:0;align-items:center;padding-block-start:var(--space-sm);padding-block-end:calc(var(--space-sm) + env(safe-area-inset-bottom,0px));display:flex}.bn-item{min-width:44px;min-height:44px;color:var(--muted);border-radius:var(--radius);flex:1 1 0;justify-content:center;align-items:center;text-decoration:none;transition:color .12s;display:inline-flex;position:relative}@media (hover:hover){.bn-item:hover{color:var(--text)}}.bn-item.active{color:var(--text)}.bn-item.active .bn-icon{stroke-width:2.6px}.bn-item.active:after{content:"";background-color:currentColor;border-radius:1px;width:18px;height:2px;position:absolute;bottom:5px;left:50%;transform:translate(-50%)}.bn-icon{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;transition:stroke-width .12s}.bn-text{font-family:var(--font-body);font-size:var(--fs-base);letter-spacing:.5px;white-space:nowrap;line-height:1}.bn-item.active .bn-text{font-weight:700}@media (width>=600px){.bottom-nav{display:none}}.app-shell{--rule-x:0px;--page-gutter:var(--space-lg);background-color:var(--bg);height:100dvh;color:var(--text);font-family:var(--font-body);flex-direction:column;display:flex;overflow:hidden}.app-header{justify-content:space-between;align-items:center;gap:var(--space-sm);row-gap:var(--space-sm);padding-block:var(--space-md) var(--space-sm);padding-inline:var(--page-gutter);flex-wrap:wrap;flex-shrink:0;display:flex}.app-header .app-logo{opacity:.9;width:auto;height:38px}.app-nav{display:none}.app-nav a{color:var(--text);font-size:calc(var(--fs) + 4px);padding-bottom:2px;text-decoration:none;transition:color .12s}.app-nav a:hover,.app-nav a.active{text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red);text-underline-offset:4px}.app-content{min-height:0;line-height:var(--lh);background-image:linear-gradient(var(--line-color) 1px, transparent 1px);background-position:0 0;background-repeat:repeat;background-size:100% var(--lh);padding-block-start:var(--lh);padding-block-end:calc(var(--lh) * 2);padding-inline:var(--page-gutter);background-attachment:local;flex:1;overflow-y:auto}.app-user{align-items:center;gap:var(--space-md);display:flex}.app-user-name{color:var(--text);font-size:var(--fs)}.app-logout-btn{border:1px solid var(--red-border);color:var(--muted);font-family:var(--font-body);font-size:var(--fs-base);border-radius:var(--radius);cursor:pointer;background:0 0;padding:4px 14px;transition:all .12s}.app-logout-btn:hover{color:var(--text);border-color:var(--red)}@media (width>=600px){.app-shell{--rule-x:90px;--page-gutter:72px;background-image:linear-gradient(90deg, var(--margin) 2px, transparent 2px);background-size:100% 100%;background-position:var(--rule-x) 0;background-repeat:no-repeat}[dir=rtl] .app-shell{background-image:linear-gradient(270deg, var(--margin) 2px, transparent 2px);background-position:right var(--rule-x) top 0}.app-header{padding-block:22px 10px;padding-inline:calc(var(--rule-x) + 28px) 48px;align-items:flex-end}.app-header .app-logo{height:53px}.app-nav{flex-wrap:wrap;gap:24px;display:flex}.app-content{background-image:url(/notebook-hole-dark.png), linear-gradient(var(--line-color) 1px, transparent 1px);background-repeat:repeat-y,repeat;background-position:0 calc(var(--lh) * -2.5), 0 0;background-size:var(--rule-x) calc(var(--lh) * 10), 100% var(--lh);padding-block-end:calc(var(--lh) * 3);padding-inline:calc(var(--rule-x) + var(--page-gutter)) var(--page-gutter);background-attachment:local,local}[dir=rtl] .app-content{background-position:100% calc(var(--lh) * -2.5), 0 0}.app-user{gap:24px}}:root{--font-body:"Patrick Hand", cursive;--fs:17px;--lh:34px;--bg:#171717;--line-color:#242424;--hole-core:#000000b8;--hole-mid:#0000006b;--hole-soft:#00000024;--border:#ffffff0f;--text:#ccc;--muted:#8a8a8a;--control-bg:#ffffff0d;--control-bg-hover:#ffffff17;--control-border:#ffffff24;--divider:#ffffff2e;--pending-bg:#f4d93e1a;--control-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238a8a8a' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--fs-xs:.75rem;--fs-sm:.8125rem;--fs-base:.875rem;--fs-md:1rem;--fs-lg:1.125rem;--fs-xl:1.25rem;--fs-2xl:1.5rem;--fs-3xl:2.25rem;--fs-display:3.5rem;--red:#c0392bd9;--red-border:#961e1e66;--margin:#961e1e66;--active-bg:#8b202017;--success:#64b464cc;--error:#c0392bd9;--radius:10px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--yellow:#f4d93e}body.light{--bg:#f5f0e8;--line-color:#79a5d2;--hole-core:#3c322357;--hole-mid:#3c32232e;--hole-soft:#3c32230d;--border:#00000014;--text:#2a2a2a;--muted:#6b6b6b;--control-bg:#3c32230f;--control-bg-hover:#3c32231c;--control-border:#3c322333;--divider:#3c32233d;--pending-bg:#d6aa142e;--control-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b6b6b' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");--red:#a02828d9;--red-border:#961e1e59;--margin:#961e1e4d;--active-bg:#8b202012}*,:before,:after{box-sizing:border-box}[dir=rtl] .mirror-rtl{display:inline-block;transform:scaleX(-1)}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}body{font-family:var(--font-body);font-size:var(--fs);color:var(--text);background:var(--bg);margin:0}.btn{border:1px solid var(--border);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;min-height:44px;padding:8px 20px;line-height:1.2;text-decoration:none;transition:all .12s;display:inline-flex}.btn:hover{border-color:var(--red-border)}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--yellow);color:#1a1a1a;border:none}.btn--primary:hover{filter:brightness(.96);border:none}.btn--secondary{border-color:var(--yellow);color:var(--text)}.btn--secondary:hover{border-color:var(--yellow)}.btn--negative{border-color:var(--red-border);color:var(--muted)}.btn--negative:hover{color:var(--text);border-color:var(--red)}.btn-remove{width:20px;color:var(--red);font-family:var(--font-body);font-size:var(--fs-lg);cursor:pointer;background:0 0;border:none;padding:0;line-height:1;transition:filter .12s}.btn-remove:hover{filter:brightness(1.3)}
