@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/barlow-400-DygnOwyn.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/barlow-500-D6sGsXIV.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-600-DO9c7XN2.woff2)format("woff2")}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-700-B_0g9oET.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/barlow-condensed-600-5aTTnVqQ.woff2)format("woff2")}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/barlow-condensed-700-DDMez4TK.woff2)format("woff2")}:root{--mat-950:#131211;--mat-900:#1a1917;--mat-850:#232120;--mat-800:#2d2a28;--mat-700:#403c39;--mat-600:#55504b;--mat-550:#6b655e;--mat-500:#9a938b;--mat-400:#b0a9a1;--mat-300:#b8b4aa;--mat-200:#d5d2ca;--mat-150:#e6e3db;--mat-100:#f2f0ea;--bone:#eceae4;--pitch:#1a1815;--signal-400:#f7d24e;--signal-500:#f5c518;--signal-600:#d4a800;--signal-700:#b58900;--hazard-400:#f2705a;--hazard-500:#d9432c;--hazard-600:#c0392b;--hazard-700:#9c2c20;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:2px;--radius-md:3px;--radius-lg:4px;--radius-full:999px;--text-micro:11px;--text-xs:13px;--text-sm:14px;--text-base:16px;--text-md:18px;--text-lg:22px;--text-xl:30px;--text-readout:40px;--tracking-tight:-.01em;--tracking-label:.09em;--sans:"Barlow", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--condensed:"Barlow Condensed", "Barlow", -apple-system, system-ui, sans-serif;--app-width:480px;--mat:var(--mat-900);--placard:var(--mat-850);--placard-raised:var(--mat-800);--rule:var(--mat-700);--rule-strong:var(--mat-600);--rule-row:var(--mat-550);--ink:var(--bone);--ink-2:var(--mat-400);--ink-3:var(--mat-500);--signal:var(--signal-500);--signal-ink:#1a1a14;--signal-line:var(--signal-500);--signal-wash:#f5c51824;--hazard:var(--hazard-400);--hazard-solid:var(--hazard-600);--hazard-solid-hover:var(--hazard-700);--backdrop:#08090aa8;--shadow:0 2px 6px #0a080680;--heat-0:var(--mat-800);--heat-1:#f5c5182e;--heat-2:#f5c51866;--heat-3:#f5c518a8;--heat-4:var(--signal-500);--heat-ink-low:var(--ink);--heat-ink-high:var(--signal-ink);font:var(--text-base)/1.45 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--ink-2);background:var(--mat);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--mat:var(--mat-200);--placard:var(--mat-100);--placard-raised:var(--mat-150);--rule:var(--mat-300);--rule-strong:#9d988c;--rule-row:var(--mat-300);--ink:var(--pitch);--ink-2:#4a463f;--ink-3:#5c5852;--signal-line:var(--signal-700);--signal-wash:#b5890029;--hazard:var(--hazard-600);--backdrop:#28241c6b;--shadow:0 2px 6px #28241c2e;--heat-0:#e0ddd4;--heat-1:#b5890033;--heat-2:#b589006b;--heat-3:#b58900ad;--heat-ink-low:var(--ink)}}:root[data-theme=light]{--mat:var(--mat-200);--placard:var(--mat-100);--placard-raised:var(--mat-150);--rule:var(--mat-300);--rule-strong:#9d988c;--rule-row:var(--mat-300);--ink:var(--pitch);--ink-2:#4a463f;--ink-3:#5c5852;--signal-line:var(--signal-700);--signal-wash:#b5890029;--hazard:var(--hazard-600);--backdrop:#28241c6b;--shadow:0 2px 6px #28241c2e;--heat-0:#e0ddd4;--heat-1:#b5890033;--heat-2:#b589006b;--heat-3:#b58900ad;--heat-ink-low:var(--ink)}#root{width:var(--app-width);border-inline:1px solid var(--rule);box-sizing:border-box;flex-direction:column;max-width:100%;min-height:100svh;margin:0 auto;display:flex}html{scrollbar-gutter:stable;scrollbar-color:var(--rule-strong) transparent}body{background:var(--mat);margin:0}::selection{background:var(--signal);color:var(--signal-ink)}input,textarea{caret-color:var(--signal)}a{color:var(--ink);-webkit-text-decoration-color:var(--signal-line);text-decoration-color:var(--signal-line);text-underline-offset:3px}h1,h2,h3{font-family:var(--sans);letter-spacing:var(--tracking-tight);color:var(--ink);margin:0;font-weight:600}h1{font-size:var(--text-xl);line-height:1.1}h2{font-size:var(--text-lg);line-height:1.15}h3{font-size:var(--text-md);line-height:1.2}p{margin:0}.stencil{font-family:var(--condensed);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:700;line-height:1.1}.tabular,.readout,input[type=number]{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.readout{font-size:var(--text-readout);letter-spacing:-.02em;color:var(--ink);font-weight:600;line-height:1}.page{gap:var(--space-5);width:100%;max-width:var(--app-width);padding:var(--space-5) var(--space-5) var(--space-12);box-sizing:border-box;flex-direction:column;flex-grow:1;margin:0 auto;display:flex}.page-head{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.page-head>h1{padding-bottom:var(--space-3);border-bottom:1px solid var(--rule);font-family:var(--condensed);font-size:var(--text-xl);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);overflow-wrap:break-word;text-wrap:balance;align-self:stretch;font-weight:700;line-height:1.1;position:relative}.page-head>h1:after{content:"";width:var(--space-10);background:var(--signal-line);height:2px;position:absolute;bottom:-1px;left:0}.page-head p{font-size:var(--text-sm);color:var(--ink-2);max-width:46ch}.section-break{margin-top:var(--space-5)}.page-group{gap:var(--space-4);flex-direction:column;display:flex}.placard{background:var(--placard);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-5);position:relative}.placard>:is(h1,h2):first-child{align-items:baseline;gap:0 var(--space-2);margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) var(--space-5);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--rule);font-family:var(--condensed);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);flex-wrap:wrap;font-weight:700;display:flex;position:relative}.placard>:is(h1,h2):first-child:after,.placard-strip:after{content:"";width:var(--space-8);background:var(--signal-line);height:2px;position:absolute;bottom:-1px;left:0}.title-qualifier{white-space:nowrap;font-family:var(--sans);font-size:var(--text-sm);text-transform:none;letter-spacing:0;color:var(--ink-2);font-weight:500}.placard-footer{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--rule);position:relative}.placard-footer:before{content:"";width:var(--space-8);background:var(--signal-line);height:2px;position:absolute;top:-1px;left:0}.hazard-zone{padding:var(--space-5) var(--space-4) var(--space-4);border:1px solid var(--rule);border-radius:var(--radius-md);background-color:var(--mat);background-image:repeating-linear-gradient(-45deg, var(--signal) 0 6px, var(--signal-ink) 6px 12px);background-position:0 0;background-repeat:no-repeat;background-size:100% 6px}.empty{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-4);color:var(--ink-2);text-align:center;flex-direction:column;display:flex}.empty svg{color:var(--ink-3)}.empty p{max-width:32ch;font-size:var(--text-sm)}.control{width:100%;min-height:var(--space-10);font:inherit;font-size:var(--text-base);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--rule-strong);background:var(--mat);color:var(--ink);box-sizing:border-box;transition:border-color .12s,box-shadow .12s}.control::placeholder{color:var(--ink-3)}.control:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px var(--signal-wash);outline:none}.control[type=date]{appearance:none;height:var(--space-10)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--space-10);padding:var(--space-2) var(--space-4);font-family:var(--condensed);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);background:var(--placard-raised);border:1px solid var(--rule-strong);border-radius:var(--radius-md);cursor:pointer;font-weight:700;text-decoration:none;transition:background-color .12s,border-color .12s,transform 80ms;display:inline-flex}.btn:hover{background:var(--rule);border-color:var(--rule-strong)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.btn.is-primary{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.btn.is-primary:hover{background:var(--signal-400);border-color:var(--signal-400)}.btn.is-danger{background:var(--hazard-solid);border-color:var(--hazard-solid);color:var(--bone)}.btn.is-danger:hover{background:var(--hazard-solid-hover);border-color:var(--hazard-solid-hover)}.btn.is-danger-quiet{color:var(--hazard);border-color:var(--rule);background:0 0}.btn.is-danger-quiet:hover{background:var(--placard-raised);border-color:var(--hazard)}.btn.is-quiet{color:var(--ink-2);background:0 0;border-color:#0000}.btn.is-quiet:hover{background:var(--placard-raised);color:var(--ink)}.btn:disabled{opacity:.38;cursor:not-allowed}.btn:disabled:hover{background:var(--placard-raised)}.equipment-badge{white-space:nowrap;padding:1px var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--placard-raised);color:var(--ink-2);font-family:var(--condensed);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.icon-button{width:var(--space-10);height:var(--space-10);border-radius:var(--radius-md);color:var(--ink-2);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:background-color .12s,color .12s;display:flex}.icon-button:hover{background:var(--placard-raised);color:var(--ink)}.icon-button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.icon-button:disabled{opacity:.28;cursor:not-allowed}.icon-button:disabled:hover{color:var(--ink-2);background:0 0}.icon-button.is-danger-quiet:hover{color:var(--hazard)}.icon-button.is-framed{border:1px solid var(--rule-strong);background:var(--placard);color:var(--ink)}.icon-button.is-framed:hover{background:var(--placard-raised)}.icon-button.is-framed.is-active{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}.back-link{align-items:center;gap:var(--space-1);min-height:var(--space-10);padding-right:var(--space-2);font-family:var(--condensed);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-2);align-self:flex-start;font-weight:700;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink)}.back-link:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.setting-hint{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--ink-2);line-height:1.45}.setting-hint.is-warning,.setting-hint.is-error{color:var(--hazard)}.setting-hint.is-error{font-weight:600}@supports (appearance:base-select){.exercise-select{appearance:base-select}.exercise-select::picker(select){appearance:base-select}.exercise-select{text-align:left;align-items:center;display:flex}.exercise-select::picker-icon{margin-left:var(--space-2);color:var(--ink-2);transition:transform .12s}.exercise-select:open::picker-icon{transform:rotate(180deg)}.exercise-select::picker(select){background:var(--placard);border:1px solid var(--rule-strong);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--space-1)}.exercise-select optgroup{padding:var(--space-3) var(--space-3) var(--space-1);color:var(--ink-3);font-family:var(--condensed);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);font-weight:700}.exercise-select option{align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);color:var(--ink);font-size:var(--text-base);display:flex}.exercise-select option::checkmark{display:none}.exercise-select option:checked{font-weight:600}.exercise-select option:hover,.exercise-select option:focus{background:var(--placard-raised)}.exercise-select .option-equipment{color:var(--ink-3);font-size:var(--text-sm);margin-left:auto;font-weight:400}}.app-header{z-index:10;justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--mat);border-bottom:1px solid var(--rule);display:flex;position:sticky;top:0}.app-header-brand{align-items:center;gap:var(--space-2);font-family:var(--condensed);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);font-weight:700;display:flex}.app-header-nav{align-items:center;gap:var(--space-3);margin-left:auto;margin-right:var(--space-3);display:flex}.app-header-nav a{min-height:var(--space-10);padding:0 var(--space-1);font-family:var(--condensed);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-2);align-items:center;font-weight:700;text-decoration:none;transition:color .12s;display:flex;position:relative}.app-header-nav a:hover{color:var(--ink)}.app-header-nav a:focus-visible{outline:2px solid var(--signal);outline-offset:2px}@media (width<=460px){.app-header{padding-inline:var(--space-4)}.app-header-nav{gap:var(--space-2)}.app-header-brand span{display:none}}@media (width<=360px){.app-header{gap:var(--space-2);padding-inline:var(--space-3)}.app-header-nav{gap:var(--space-1);margin-right:var(--space-2)}}.app-header-nav a.is-active{color:var(--ink)}.app-header-nav a.is-active:after{content:"";background:var(--signal);height:2px;position:absolute;bottom:4px;left:0;right:0}.bodyweight-input{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--ink-2);display:flex}.bodyweight-input input{width:var(--space-12);text-align:right;box-sizing:content-box}.data-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.data-confirm{gap:var(--space-2);display:flex}.theme-segmented{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--rule);border-radius:var(--radius-md);background:var(--mat);display:flex}.theme-segmented button{min-height:var(--space-8);padding:var(--space-1) var(--space-4);font:inherit;font-family:var(--condensed);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-2);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;font-weight:700;transition:background-color .15s,color .15s}.theme-segmented button:hover:not(.is-active){background:var(--placard-raised)}.theme-segmented button.is-active{background:var(--signal);color:var(--signal-ink)}.theme-segmented button:focus-visible{outline:2px solid var(--signal);outline-offset:2px}.settings-backdrop{z-index:20;background:var(--backdrop);opacity:0;visibility:hidden;transition:opacity .25s,visibility 0s linear .25s;position:fixed;inset:0}.settings-backdrop.is-open{opacity:1;visibility:visible;transition:opacity .25s}.settings-drawer{top:0;bottom:0;right:max(0px, calc((100% - var(--app-width)) / 2));z-index:21;box-sizing:border-box;background:var(--placard);border-left:1px solid var(--rule-strong);width:min(380px,100%);box-shadow:var(--shadow);visibility:hidden;flex-direction:column;transition:transform .25s,visibility 0s linear .25s;display:flex;position:fixed;transform:translate(100%)}.settings-drawer:focus{outline:none}.settings-drawer.is-open{visibility:visible;transition:transform .25s;transform:translate(0)}.settings-drawer-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--rule);display:flex;position:relative}.settings-drawer-head:after{content:"";width:var(--space-8);background:var(--signal-line);height:2px;position:absolute;bottom:-1px;left:0}.settings-drawer-head h2{font-family:var(--condensed);font-size:var(--text-lg);text-transform:uppercase;letter-spacing:var(--tracking-label);margin:0;font-weight:700}.settings-drawer-body{gap:var(--space-6);padding:var(--space-5) var(--space-5) var(--space-12);flex-direction:column;flex-grow:1;display:flex;overflow-y:auto}.settings-drawer-body h3{font-family:var(--condensed);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);margin:0 0 var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);font-weight:700}.setting-row{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--space-10);display:flex}.setting-row-label{font-size:var(--text-base);color:var(--ink);font-weight:500}@media (prefers-reduced-motion:reduce){.settings-backdrop,.settings-drawer{transition:none}}.app-shell{flex-direction:column;flex-grow:1;display:flex}.exercise-art{flex:none}.exercise-art.is-sm{width:var(--space-8);height:var(--space-8)}.exercise-art.is-md{box-sizing:border-box;width:var(--space-12);height:var(--space-12);padding:var(--space-1);background:var(--mat);border:1px solid var(--rule);border-radius:var(--radius-md);color:var(--ink)}.exercise-art.is-lg{box-sizing:border-box;aspect-ratio:1;width:100%;height:auto;padding:var(--space-2);color:var(--ink)}.exercise-art-rig{opacity:.45}.exercise-art-head{fill:currentColor;stroke:none}.exercise-art-highlight{stroke:var(--signal-line);stroke-width:3px}.exercise-art-ghost{opacity:.3}.exercise-library-groups{gap:var(--space-3);flex-direction:column;display:flex}details.exercise-library-group{padding:0;overflow:hidden}.exercise-library-summary{align-items:center;gap:var(--space-2);min-height:var(--space-12);padding:var(--space-2) var(--space-5);cursor:pointer;box-sizing:border-box;list-style:none;display:flex}.exercise-library-summary::-webkit-details-marker{display:none}.exercise-library-summary:hover{background:var(--placard-raised)}.exercise-library-summary:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.exercise-library-summary h2{font-family:var(--condensed);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-label);margin:0;font-weight:700}.exercise-library-summary svg{color:var(--ink-2);flex:none;transition:transform .15s}.exercise-library-group[open] .exercise-library-summary svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.exercise-library-summary svg{transition:none}}.exercise-library-count{font-size:var(--text-sm);color:var(--ink-3);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;margin-left:auto;font-weight:500}.exercise-library-grid{gap:var(--space-6) var(--space-4);padding:0 var(--space-5) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;list-style:none;display:grid}.exercise-library-grid li{align-items:center;gap:var(--space-2);flex-direction:column;display:flex}.exercise-library-grid .equipment-badge{margin-top:auto}.exercise-library-name{font-size:var(--text-sm);color:var(--ink);text-align:center;text-wrap:balance;font-weight:500;line-height:1.3}.calendar-heatmap{gap:var(--space-4);flex-direction:column;display:flex}.calendar-heatmap-header{padding-bottom:var(--space-1);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;display:flex;position:relative}.calendar-heatmap-header h3{font-family:var(--condensed);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);margin:0;font-weight:700}.calendar-heatmap-nav{width:var(--space-12);height:var(--space-12)}.calendar-heatmap-weekdays{gap:var(--space-1);text-align:center;font-family:var(--condensed);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);grid-template-columns:repeat(7,minmax(0,1fr));font-weight:700;display:grid}.calendar-heatmap-grid{gap:var(--space-1);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.heat-cell{aspect-ratio:1;border-radius:var(--radius-sm);min-width:0;font:inherit;font-size:var(--text-sm);font-variant-numeric:tabular-nums;background:var(--heat-0);color:var(--ink-2);border:none;justify-content:center;align-items:center;padding:0;font-weight:500;display:flex}.heat-cell[data-level="1"],.heat-cell[data-level="2"]{color:var(--heat-ink-low)}.heat-cell[data-level="3"],.heat-cell[data-level="4"]{color:var(--heat-ink-high)}.heat-cell[data-empty=true]{visibility:hidden}.heat-cell[data-level="1"]{background:var(--heat-1)}.heat-cell[data-level="2"]{background:var(--heat-2)}.heat-cell[data-level="3"]{background:var(--heat-3)}.heat-cell[data-level="4"]{background:var(--heat-4)}button.heat-cell{cursor:pointer}button.heat-cell:hover{outline:2px solid var(--signal);outline-offset:-2px}button.heat-cell:focus-visible{outline:2px solid var(--signal);outline-offset:1px}.trend-card h2{font-size:var(--text-md)}.trend-card .recharts-cartesian-axis-tick text{fill:var(--ink-2)}.trend-exercise-select{gap:var(--space-2);font-family:var(--condensed);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);margin-bottom:var(--space-4);flex-direction:column;font-weight:700;display:flex}.trend-empty{color:var(--ink-2);font-size:var(--text-sm);padding:var(--space-4) 0}@media (width<=430px){.history,.history-calendar{padding-inline:var(--space-3)}}.exercise-groups{flex-direction:column;display:flex}.exercise-group+.exercise-group{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--rule)}.exercise-group h3{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-family:var(--condensed);font-size:var(--text-base);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);font-weight:700;display:flex}.set-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.set-list li+li{border-top:1px solid var(--rule-row)}.set-list li{align-items:center;gap:var(--space-3);min-height:var(--space-10);padding-inline:var(--space-2);margin-inline:calc(-1 * var(--space-2));font-size:var(--text-md);border-radius:var(--radius-sm);display:flex}.set-badge{width:var(--space-6);height:var(--space-6);border-radius:var(--radius-sm);background:var(--placard-raised);border:1px solid var(--rule);color:var(--ink-3);font-family:var(--condensed);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.set-value{color:var(--ink);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;flex-grow:1;font-weight:500}.set-list li.is-new{animation:2.6s cubic-bezier(.16,1,.3,1) forwards set-stamped}.set-list li.is-new .set-badge{animation:2.6s cubic-bezier(.16,1,.3,1) forwards badge-stamped}@keyframes set-stamped{0%{background:var(--signal-wash);transform:translate(-3px)}6%{transform:translate(0)}77%{background:var(--signal-wash)}to{background:0 0}}@keyframes badge-stamped{0%,77%{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}to{background:var(--placard-raised);border-color:var(--rule);color:var(--ink-3)}}@media (prefers-reduced-motion:reduce){.set-list li.is-new,.set-list li.is-new .set-badge{animation:none}.set-list li.is-new{background:var(--signal-wash)}.set-list li.is-new .set-badge{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}}.today-plan-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin:calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) var(--space-5);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-5);border-bottom:1px solid var(--rule);display:flex;position:relative}.today-plan-header h2{align-items:baseline;gap:0 var(--space-2);padding-block:var(--space-2);font-family:var(--condensed);font-size:var(--text-md);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink);flex-wrap:wrap;margin:0;font-weight:700;display:flex}.today-plan-progress{font-family:var(--condensed);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);font-variant-numeric:tabular-nums;color:var(--ink-3);margin:0 0 var(--space-3);font-weight:700}.today-plan-prompt{font-size:var(--text-sm);color:var(--ink-2)}.today-plan-start{gap:var(--space-2);font-family:var(--condensed);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);flex-direction:column;font-weight:700;display:flex}.today-plan-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.today-plan-row{align-items:center;gap:var(--space-3);width:calc(100% + 2 * var(--space-5));margin-inline:calc(-1 * var(--space-5));min-height:var(--space-12);padding:var(--space-2) var(--space-5);font:inherit;font-size:var(--text-base);text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:0;font-weight:500;transition:background-color .12s,color .12s;display:flex}.today-plan-list li+li .today-plan-row{border-top:1px solid var(--rule-row)}.today-plan-row:hover{background:var(--placard-raised)}.today-plan-row:focus-visible{outline:2px solid var(--signal);outline-offset:-2px}.today-plan-row.is-done{color:var(--ink-3)}.today-plan-check{width:var(--space-5);height:var(--space-5);border:1px solid var(--rule-strong);border-radius:var(--radius-sm);color:var(--signal-ink);flex:none;justify-content:center;align-items:center;display:flex}.today-plan-row.is-done .today-plan-check{background:var(--signal);border-color:var(--signal)}.today-plan-exercise{overflow-wrap:break-word;min-width:0}.today-plan-exercise .equipment-badge{margin-left:var(--space-2);vertical-align:baseline;display:inline-block}.log-form{gap:var(--space-6);flex-direction:column;display:flex}.log-subject{gap:var(--space-2);flex-direction:column;display:flex}.log-entry{gap:var(--space-4);flex-direction:column;display:flex}.log-form label{gap:var(--space-2);flex-direction:column;display:flex}.log-field-label{font-size:var(--text-micro);color:var(--ink-3)}.exercise-field{align-items:center;gap:var(--space-2);display:flex}.exercise-field .exercise-select{min-width:0;font-size:var(--text-sm);color:var(--ink-2);flex:1}.log-field{flex:1;min-width:0;position:relative}.log-field-input{width:100%;min-height:var(--space-12);padding:var(--space-2) var(--space-3);box-sizing:border-box;font-family:var(--sans);background:var(--mat);border:1px solid var(--rule-strong);border-radius:var(--radius-md);color:var(--ink);appearance:textfield;transition:border-color .12s,box-shadow .12s}.log-field-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.log-field-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.log-field-input::placeholder{color:var(--ink-3);font-size:var(--text-readout);opacity:1;font-weight:600}.log-field-input:focus-visible{border-color:var(--signal);box-shadow:0 0 0 2px var(--signal-wash);outline:none}.log-field-unit{right:var(--space-3);bottom:var(--space-3);font-family:var(--condensed);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);pointer-events:none;font-weight:700;position:absolute}.log-form-row{gap:var(--space-3);display:flex}.log-submit{min-height:var(--space-12);font-size:var(--text-md)}.last-session{align-items:baseline;gap:0 var(--space-2);padding-inline:var(--space-1);font-size:var(--text-sm);flex-wrap:wrap;line-height:1.7;display:flex}.last-session-label{font-family:var(--condensed);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);font-weight:700}.last-session-sets{gap:0 var(--space-2);color:var(--ink-2);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;flex-wrap:wrap;margin:0;padding:0;font-weight:500;list-style:none;display:flex}.last-session-sets li:not(:first-child):before{content:"·";margin-right:var(--space-2);color:var(--rule-strong)}.routine-row{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--rule);display:flex}.routine-row:first-child{border-top:none}.routine-row>details{flex:1;min-width:0}.routine-row-summary{align-items:center;gap:var(--space-2);min-height:var(--space-10);cursor:pointer;list-style:none;display:flex}.routine-row-summary::-webkit-details-marker{display:none}.routine-row-summary:focus-visible{outline:2px solid var(--signal);outline-offset:2px;border-radius:var(--radius-sm)}.routine-row-summary>svg{color:var(--ink-2);flex:none;transition:transform .15s}.routine-row>details[open] .routine-row-summary>svg{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.routine-row-summary>svg{transition:none}}.routine-row-text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.routine-row-name{font-size:var(--text-md);color:var(--ink);font-weight:600}.routine-row-meta{font-size:var(--text-sm);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.routine-row-count{padding:1px var(--space-2);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--placard-raised);color:var(--ink-3);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none;font-weight:600}.routine-row-body{gap:var(--space-3);padding:var(--space-1) 0 var(--space-2) var(--space-6);flex-direction:column;display:flex}.routine-row-exercises{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.routine-row-exercises li{align-items:center;gap:var(--space-3);display:flex}.routine-row-exercise-name{overflow-wrap:break-word;min-width:0;font-size:var(--text-sm);color:var(--ink)}.routine-row-exercise-name .equipment-badge{margin-left:var(--space-2);display:inline-block}.routine-row>.btn,.routine-row>.icon-button{min-height:var(--space-10);flex:none;align-self:flex-start}.planned-days,.routine-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.planned-days li{align-items:center;gap:var(--space-2);padding:var(--space-3) 0;border-top:1px solid var(--rule);display:flex}.planned-days li:first-child{border-top:none;padding-top:0}.planned-day-text{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.planned-day-date{align-items:center;gap:var(--space-2);font-family:var(--condensed);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);font-weight:700;display:flex}.planned-day-today{padding:1px var(--space-2);border-radius:var(--radius-sm);background:var(--signal);color:var(--signal-ink)}.planned-day-routine{font-size:var(--text-md);color:var(--ink);font-weight:600}.planned-day-exercises{font-size:var(--text-sm);color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.routine-delete{align-items:center;gap:var(--space-2);align-self:flex-start;display:flex}.routine-confirm{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.routine-confirm .setting-hint{flex-basis:100%}.assign-form,.new-routine-form{gap:var(--space-3);flex-direction:column;display:flex}.assign-form label{gap:var(--space-1);font-size:var(--text-sm);color:var(--ink-2);flex-direction:column;font-weight:500;display:flex}.new-routine-actions{gap:var(--space-2);display:flex}.plan-add{width:100%}.routine-name-field,.routine-add-field{gap:var(--space-2);font-family:var(--condensed);font-size:var(--text-micro);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-3);flex-direction:column;font-weight:700;display:flex}.routine-exercise-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.routine-exercise-list li{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--rule);display:flex}.routine-exercise-list li:first-child{border-top:none}.routine-exercise-index{width:var(--space-6);height:var(--space-6);border:1px solid var(--rule);border-radius:var(--radius-sm);background:var(--placard-raised);color:var(--ink-3);font-family:var(--condensed);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.routine-exercise-name{overflow-wrap:break-word;min-width:0;font-size:var(--text-base);color:var(--ink);flex:1;font-weight:500}.routine-exercise-name .equipment-badge{margin-left:var(--space-2);display:inline-block}.routine-exercise-actions{flex:none;align-items:center;display:flex}.routine-delete-confirm{gap:var(--space-2);flex-direction:column;display:flex}.routine-delete-actions{gap:var(--space-2);display:flex}.routine-delete-trigger{width:100%}@media (width<=400px){.routine-exercise-list li{row-gap:var(--space-1);flex-wrap:wrap}.routine-exercise-actions{flex-basis:100%;justify-content:flex-end}}
