@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-BalHKn7d.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-400-normal-qxMiU51n.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/atkinson-hyperlegible-next-latin-400-normal-FfmJh7DR.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-400-normal-DPp7N0cD.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/atkinson-hyperlegible-next-latin-ext-600-normal-kZZEtAc7.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-600-normal-BBAQIogt.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/atkinson-hyperlegible-next-latin-600-normal-BBuhw47K.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-600-normal-BhgCag5w.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-CBw-mJf_.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-700-normal-292QVhS1.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/atkinson-hyperlegible-next-latin-700-normal-Dpiyiu63.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-700-normal-C2qZD_Q9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/atkinson-hyperlegible-next-latin-ext-800-normal-CCpWmrAz.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-ext-800-normal-DJxWoX6k.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Atkinson Hyperlegible Next;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/atkinson-hyperlegible-next-latin-800-normal-D32lleIF.woff2)format("woff2"),url(/assets/atkinson-hyperlegible-next-latin-800-normal-DtRtCSx4.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--twnty-green:#1f5e4a;--twnty-green-dark:#174a3a;--twnty-mint:#e3efea;--twnty-ink:#141a18;--twnty-muted:#4a5753;--twnty-bg:#f2f4f3;--twnty-surface:#fff;--twnty-figure-bg:#ecefee;--twnty-line:#d5dbd8;--twnty-line-strong:#a9b3af;--twnty-band:#c9731e;--twnty-band-bg:#fcf0dd;--twnty-band-border:#e3b677;--twnty-band-text:#7a4510;--mist:var(--twnty-bg);--surface:var(--twnty-surface);--ink:var(--twnty-ink);--slate:var(--twnty-muted);--line:var(--twnty-line);--line-strong:var(--twnty-line-strong);--pine:var(--twnty-green);--pine-ink:#fff;--pine-soft:var(--twnty-mint);--pine-deep:var(--twnty-green-dark);--band-bg:var(--twnty-band-bg);--band-border:var(--twnty-band-border);--band-text:var(--twnty-band-text);--amber-ink:#6e4a00;--amber-soft:#fbf0d6;--red-ink:#8f2424;--red-soft:#fbe8e6;--focus:#1d5fbf;--anim-bg:var(--twnty-figure-bg);--anim-figure:var(--twnty-ink);--anim-figure-far:#a3b1aa;--anim-ground:#b9c4bf;--anim-hl:#1f5e4a33;--anim-guide:var(--twnty-green);--anim-prop:#cdd6d2;--anim-band:var(--twnty-band);--radius-lg:16px;--radius:10px;--radius-sm:8px;--radius-figure:24px;--gutter:16px;--content:46rem;--step--1:.875rem;--step-0:1.0625rem;--step-1:1.25rem;--step-2:1.5625rem;--step-3:clamp(2rem, 7vw, 2.75rem);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--ink);background:var(--mist);font-family:Atkinson Hyperlegible Next,Atkinson Hyperlegible,system-ui,sans-serif;font-size:100%;line-height:1.5}@media (prefers-color-scheme:dark){:root{--mist:#141a18;--surface:#1c2421;--ink:#e7ece9;--slate:#a9b5af;--line:#34403b;--line-strong:#52605a;--pine:#6cc2a4;--pine-ink:#0e1a16;--pine-soft:#203a31;--pine-deep:#8fd6bc;--amber-ink:#f0cf86;--amber-soft:#3a2f14;--band-bg:#3a2a14;--band-border:#7a5320;--band-text:#f2c58a;--red-ink:#f3aaa2;--red-soft:#3d1f1c;--focus:#8cb8ff;--anim-bg:#151c19;--anim-figure:#e7ece9;--anim-figure-far:#5f6e67;--anim-ground:#4a5852;--anim-hl:#6cc2a43d;--anim-guide:#6cc2a4;--anim-prop:#3a4641;--anim-band:#e2b35c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}body{background:var(--mist);min-height:100vh;font-size:var(--step-0);-webkit-text-size-adjust:100%;margin:0}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.2}h1{font-size:var(--step-3)}h2{font-size:var(--step-2)}h3{font-size:var(--step-1)}p{margin:0}a{color:var(--pine);text-underline-offset:.15em}a:hover{color:var(--pine-deep)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.skip-link{background:var(--surface);border-radius:var(--radius-sm);z-index:50;padding:10px 14px;position:absolute;top:-60px;left:8px}.skip-link:focus{top:8px}.app{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.topbar{background:var(--surface);border-bottom:1px solid var(--line)}.topbar-inner{max-width:72rem;padding:12px var(--gutter);align-items:center;gap:24px;margin:0 auto;display:flex}.brand{font-weight:700;font-size:var(--step-1);color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand svg{color:var(--pine)}.nav{gap:4px;margin-left:auto;display:flex}.nav a{border-radius:var(--radius-sm);color:var(--slate);font-weight:600;font-size:var(--step--1);align-items:center;gap:8px;padding:9px 12px;text-decoration:none;display:flex}.nav a:hover{color:var(--ink);background:var(--mist)}.nav a[aria-current=page]{color:var(--pine-deep);background:var(--pine-soft)}main{width:100%;max-width:var(--content);padding:24px var(--gutter) 40px;margin:0 auto}main.wide{max-width:64rem}@media (max-width:760px){.topbar-inner{padding:10px var(--gutter)}.nav{z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:6px 6px calc(6px + env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr);gap:2px;margin:0;display:grid;position:fixed;bottom:0;left:0;right:0}.nav a{text-align:center;flex-direction:column;gap:2px;padding:6px 2px;font-size:.75rem}main{padding-bottom:110px}}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;margin-bottom:20px;display:flex}.page-head p{color:var(--slate);margin-top:6px}.stack{gap:16px;display:grid}.stack-sm{gap:8px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.muted{color:var(--slate)}.small{font-size:var(--step--1)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}.panel>h2,.panel>h3{margin-bottom:12px}.panel-flat{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:14px}.btn{border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;font-weight:700;font-size:var(--step-0);cursor:pointer;touch-action:manipulation;justify-content:center;align-items:center;gap:8px;padding:10px 18px;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--ink);color:var(--ink)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--pine);border-color:var(--pine);color:var(--pine-ink)}.btn-primary:hover{background:var(--pine-deep);border-color:var(--pine-deep);color:var(--pine-ink)}.btn-danger{color:var(--red-ink);border-color:currentColor}.btn-danger:hover{color:var(--red-ink);background:var(--red-soft)}.btn-quiet{color:var(--pine);background:0 0;border-color:#0000;padding-inline:10px}.btn-quiet:hover{background:var(--pine-soft);color:var(--pine-deep);border-color:#0000}.btn-small{min-height:38px;font-size:var(--step--1);padding:6px 12px}.btn-block{width:100%}label{font-weight:600}.field{gap:6px;display:grid}.field-hint{font-size:var(--step--1);color:var(--slate);font-weight:400}.field-error{font-size:var(--step--1);color:var(--red-ink);font-weight:600}input[type=text],input[type=email],input[type=password],input[type=number],input[type=url],input[type=datetime-local],input[type=date],input[type=search],select,textarea{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:46px;color:var(--ink);font:inherit;font-size:max(16px, var(--step-0));padding:10px 12px}textarea{resize:vertical;min-height:88px}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--red-ink);border-width:2px}.check{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-weight:600;display:flex}.check input{width:22px;height:22px;accent-color:var(--pine);margin:0}fieldset{border:1px solid var(--line);border-radius:var(--radius);min-width:0;margin:0;padding:12px 14px}legend{padding:0 4px;font-weight:700}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));gap:14px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:14px;display:grid}.notice{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.notice svg{flex:none;margin-top:2px}.notice-body{gap:6px;min-width:0;display:grid}.notice-title{font-weight:700}.notice-info{background:var(--pine-soft);color:var(--ink);border-color:#0000}.notice-info svg{color:var(--pine)}.notice-warning{background:var(--amber-soft);color:var(--amber-ink);border-color:#0000}.notice-error{background:var(--red-soft);color:var(--red-ink);border-color:#0000}.notice-success{background:var(--pine-soft);border-color:var(--pine);color:var(--pine-deep)}.notice ul{margin:0;padding-left:1.1em}.badge{font-size:var(--step--1);border:1px solid var(--line-strong);color:var(--slate);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-weight:600;display:inline-flex}.badge-ok{border-color:var(--pine);color:var(--pine-deep)}.badge-off{border-style:dashed}.workout-head h1{font-size:var(--step-3);color:var(--pine-deep)}.workout-date{font-size:var(--step-1);color:var(--ink);margin-top:2px;font-weight:700}.workout-meta{color:var(--slate);margin-top:6px}.workout-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.exercise-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.exercise{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);gap:14px;padding:18px;display:grid}.exercise.is-skipped{background:0 0;border-style:dashed}.exercise.is-skipped .exercise-body{opacity:.6}.exercise-top{grid-template-columns:auto 1fr auto;align-items:start;gap:14px;display:grid}.exercise-pos{border:2px solid var(--pine);width:34px;height:34px;color:var(--pine-deep);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-weight:700;display:grid}.exercise-title{gap:2px;min-width:0;display:grid}.exercise-title h2{font-size:var(--step-1)}.exercise-role{color:var(--slate);font-size:var(--step--1)}.exercise-art{color:var(--slate)}.exercise-art img{object-fit:cover;border-radius:var(--radius-sm);width:64px;height:64px}.target{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.target-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--pine-deep);font-size:clamp(2.25rem,8vw,3rem);font-weight:800;line-height:1}.target-unit{color:var(--slate);font-weight:600}.exercise-instructions{font-size:var(--step-0);max-width:62ch}.exercise-facts{font-size:var(--step--1);color:var(--slate);flex-wrap:wrap;gap:6px 18px;display:flex}.exercise-facts strong{color:var(--ink);font-weight:600}.result-inputs{grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));align-items:end;gap:12px;display:grid}.amount-input input{font-size:var(--step-1);text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.total-line{font-size:var(--step--1);color:var(--slate)}.stepper{grid-template-columns:46px 1fr 46px;gap:6px;display:grid}.stepper button{border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);min-height:46px;color:var(--ink);font:inherit;cursor:pointer;font-size:1.4rem;font-weight:700}.stepper button:hover{border-color:var(--ink)}.sticky-save{z-index:10;background:var(--mist);border-top:1px solid var(--line);gap:10px;padding:12px 0;display:grid;position:sticky;bottom:0}@media (max-width:760px){.sticky-save{bottom:calc(62px + env(safe-area-inset-bottom))}}details>summary{cursor:pointer;color:var(--pine);align-items:center;min-height:32px;font-weight:600;display:flex}details[open]>summary{margin-bottom:8px}.reasons{font-size:var(--step--1);gap:2px;margin:0;padding:0;list-style:none;display:grid}.reasons li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:3px 0;display:flex}.reasons .num{font-variant-numeric:tabular-nums;white-space:nowrap}.muscles{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.muscle{font-size:var(--step--1);border:1px solid var(--line-strong);border-radius:999px;padding:2px 9px}.muscle-secondary{color:var(--slate)}.stats{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr));gap:12px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);gap:2px;padding:14px;display:grid}.stat-value{font-size:var(--step-2);font-variant-numeric:tabular-nums;font-weight:800}.stat-label{color:var(--slate);font-size:var(--step--1)}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--step--1);background:var(--surface)}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:9px 12px}th{color:var(--slate);white-space:nowrap;font-weight:700}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr:last-child td{border-bottom:0}@media (max-width:560px){table.stack-mobile thead{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}table.stack-mobile tr{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:2px 12px;padding:10px 12px;display:grid}table.stack-mobile tr:last-child{border-bottom:0}table.stack-mobile td{text-align:left;border:0;padding:2px 0}table.stack-mobile td:before{content:attr(data-label);color:var(--slate);font-size:.75rem;font-weight:600;display:block}table.stack-mobile td.full{grid-column:1/-1}}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .axis{stroke:var(--line-strong)}.chart .grid{stroke:var(--line)}.chart .tick{fill:var(--slate);font-family:inherit;font-size:11px}.chart .series{fill:none;stroke:var(--pine);stroke-width:2.5px}.chart .series-b{fill:none;stroke:var(--amber-ink);stroke-width:2.5px;stroke-dasharray:6 4}.chart .dot{fill:var(--surface);stroke:var(--pine);stroke-width:2.5px}.chart .dot-b{fill:var(--surface);stroke:var(--amber-ink);stroke-width:2.5px}.chart .bar{fill:var(--pine)}.chart .bar-zero{fill:var(--line)}.legend{font-size:var(--step--1);color:var(--slate);flex-wrap:wrap;gap:14px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-top:3px solid var(--pine);width:18px;height:0;display:inline-block}.legend i.b{border-top:3px dashed var(--amber-ink)}.coverage-bar{background:var(--mist);border-radius:5px;min-width:80px;height:10px;display:flex;overflow:hidden}.coverage-bar .p{background:var(--pine)}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.segmented button{font:inherit;font-weight:600;font-size:var(--step--1);border-radius:var(--radius-sm);color:var(--slate);cursor:pointer;background:0 0;border:0;min-height:36px;padding:7px 12px}.segmented button[aria-pressed=true]{background:var(--pine);color:var(--pine-ink)}.segmented-full{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.segmented-full button{text-align:center;justify-content:center;align-items:center;display:flex}.list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.list-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:14px;text-decoration:none;display:grid}a.list-item:hover{border-color:var(--line-strong);color:inherit}.list-item h3{font-size:var(--step-0)}.empty{text-align:left;justify-items:start;gap:12px;padding:28px 20px;display:grid}.empty h2{font-size:var(--step-1)}dialog{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);max-width:min(28rem,100vw - 32px);color:var(--ink);padding:20px}dialog::backdrop{background:#0a141073}dialog h2{font-size:var(--step-1);margin-bottom:8px}dialog .row{justify-content:flex-end;margin-top:18px}.login{min-height:100vh;padding:24px var(--gutter);place-items:center;display:grid}.login-card{gap:18px;width:100%;max-width:26rem;display:grid}.login-card .brand{font-size:var(--step-2)}.spinner{border:3px solid var(--line);border-top-color:var(--pine);border-radius:50%;width:22px;height:22px;animation:.9s linear infinite spin}.loading{color:var(--slate);align-items:center;gap:12px;padding:24px 0;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:3s}}.muscle-groups{gap:6px;display:grid}.muscle-row{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.muscle-label{font-size:var(--step--1);color:var(--slate);min-width:5.5em;font-weight:700}.nav-short{display:none}@media (max-width:1099px) and (min-width:761px){.nav-long{display:none}.nav-short{display:inline}}@media (max-width:760px){.nav-long{display:none}.nav-short{display:inline}.sticky-save{gap:6px;padding:8px 0}.sticky-save .row{flex-wrap:nowrap}}.chart{max-width:760px}.howto{grid-template-columns:minmax(0,1fr) clamp(6.5rem,28%,9.5rem);align-items:stretch;gap:14px;display:grid}.howto-anim{min-height:0;position:relative}.exercise-anim{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}.exercise-anim svg{width:100%;height:100%;display:block}.exercise-anim:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.exercise{gap:8px;padding:12px 14px 10px;scroll-margin-top:12px}.exercise-head{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 12px;display:grid}.exercise-target{text-align:right;justify-items:end;gap:3px;line-height:1;display:grid}.exercise-target .target-value{font-size:clamp(1.7rem,7vw,2.1rem)}.exercise-target .target-unit{font-size:var(--step--1);white-space:nowrap}.exercise-stage{aspect-ratio:320/228;width:100%;max-width:calc(1.40351*min(250px,34svh));margin-inline:auto;position:relative}@supports not (height:1svh){.exercise-stage{max-width:322.807px}}.exercise-noanim{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;display:grid}.exercise-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.disclosure:after{content:"";border-bottom:2px solid;border-right:2px solid;width:7px;height:7px;margin-left:4px;transform:translateY(-2px)rotate(45deg)}.disclosure[aria-expanded=true]:after{transform:translateY(2px)rotate(-135deg)}.disclosure.has-error{color:var(--red-ink)}.exercise-panel{border-top:1px solid var(--line);padding-top:12px}@media (max-width:760px){.exercise{padding:12px 12px 10px}.result-inputs{gap:8px}.amount-input label{font-size:var(--step--1)}}.timer-start{background:var(--pine);min-height:44px;color:var(--pine-ink);font:inherit;font-weight:700;font-size:var(--step--1);font-variant-numeric:tabular-nums;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;display:inline-flex;box-shadow:0 1px 2px #0000002e}.timer-start:hover{background:var(--pine-deep)}.timer-message{background:var(--surface);color:var(--pine-deep);font-weight:700;font-size:var(--step--1);border:1px solid var(--pine);border-radius:999px;padding:8px 12px;display:inline-block}.timer-overlay{z-index:2;position:absolute;bottom:8px;right:8px}.timer-overlay.is-running{border-radius:var(--radius);background:color-mix(in srgb, var(--surface) 82%, transparent);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);grid-template-rows:1fr auto;place-items:center;padding:10px;display:grid;inset:0}.timer-inline.is-running{border:1px solid var(--line);border-radius:var(--radius);flex-basis:100%;justify-items:center;gap:8px;padding:10px;display:grid}.timer-face{justify-items:center;gap:4px;width:min(100%,16rem);display:grid}.timer-phase{color:var(--slate);font-weight:700}.timer-digits{font-variant-numeric:tabular-nums;color:var(--ink);font-size:clamp(3.2rem,16vw,4.6rem);font-weight:800;line-height:1}.is-work .timer-digits{color:var(--pine-deep)}.timer-bar{background:var(--line);border-radius:3px;width:100%;height:6px;overflow:hidden}.timer-bar i{background:var(--pine);height:100%;display:block}.is-wait .timer-bar i{background:var(--slate)}.timer-controls{gap:8px;display:flex}.level-options{grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:8px;display:grid}.level-option{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:12px 14px;display:grid}.level-option input{width:22px;height:22px;accent-color:var(--pine);margin:0}.level-option.is-selected{border-color:var(--pine);background:var(--pine-soft);box-shadow:inset 0 0 0 1px var(--pine)}.level-option:focus-within{outline:3px solid var(--focus);outline-offset:2px}.level-name{font-weight:700}.level-desc{color:var(--slate);grid-column:2;font-size:.92rem}.check>span .field-hint{display:inline}.rating-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rating-option{text-align:center;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;justify-items:center;gap:2px;min-height:64px;padding:12px 6px;display:grid;position:relative}.rating-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.rating-option.is-selected{border-color:var(--pine);background:var(--pine-soft);box-shadow:inset 0 0 0 1px var(--pine)}.rating-option:focus-within{outline:3px solid var(--focus);outline-offset:2px}.rating-name{font-weight:700}.rating-hint{color:var(--slate);font-size:.82rem;line-height:1.25}.greeting{border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--pine-soft), color-mix(in srgb, var(--pine-soft) 40%, var(--surface)));border:1px solid color-mix(in srgb, var(--pine) 18%, var(--line));padding:18px 20px}.greeting-hello{font-size:var(--step-2,1.6rem);color:var(--pine-deep);margin:0;font-weight:800;line-height:1.15}.greeting-line{color:var(--slate);margin:6px 0 0}.lib-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main thumb""foot foot";gap:8px 12px;padding:14px;display:grid}.lib-item:hover{border-color:var(--line-strong)}.lib-item.is-off{background:color-mix(in srgb, var(--surface) 70%, var(--mist))}.lib-item.is-off .lib-main h3,.lib-item.is-off .lib-thumb{opacity:.55}.lib-main{color:inherit;grid-area:main;align-content:start;gap:6px;min-width:0;text-decoration:none;display:grid}.lib-main:hover{color:inherit}.lib-main h3{font-size:var(--step-0)}.lib-thumb{grid-area:thumb;align-self:start;width:clamp(96px,30vw,150px);display:block}.lib-thumb .exercise-anim{cursor:pointer;width:100%;display:block}.lib-thumb .exercise-anim svg{width:100%;height:auto;display:block}.lib-thumb .exercise-art{width:100%}.lib-foot{flex-wrap:wrap;grid-area:foot;justify-content:space-between;align-items:center;gap:10px;display:flex}.switch-wrap{gap:4px;display:inline-grid}.switch{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-weight:600;display:inline-flex;position:relative}.switch input{z-index:1;opacity:0;cursor:pointer;width:46px;height:28px;margin:-14px 0 0;position:absolute;top:50%;left:0}.switch-track{background:var(--line-strong);border-radius:999px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.switch-track:after{content:"";background:var(--surface);border-radius:50%;width:22px;height:22px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked+.switch-track{background:var(--pine)}.switch input:checked+.switch-track:after{transform:translate(18px)}.switch input:focus-visible+.switch-track{outline:3px solid var(--focus);outline-offset:2px}.switch input:disabled+.switch-track,.switch input[aria-disabled=true]+.switch-track{opacity:.6}@media (prefers-reduced-motion:reduce){.switch-track,.switch-track:after{transition:none}}.review-dialog{width:min(32rem,100vw - 32px);max-height:calc(100svh - 40px);overflow:auto}.review-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.review-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.review-item.is-on{border-color:var(--pine);background:var(--pine-soft)}.review-row{align-items:center;gap:8px;padding:6px 10px 6px 6px;display:flex}.review-name{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:0;flex:1;align-items:center;gap:10px;padding:4px;display:flex}.review-name:focus-visible{outline:3px solid var(--focus)}.review-thumb{width:72px;color:var(--slate);flex:none;place-items:center;display:grid}.review-thumb .exercise-anim,.review-thumb svg{width:100%;height:auto;display:block}.review-text{gap:1px;min-width:0;display:grid}.review-detail{padding:0 12px 12px}.review-anim{max-width:260px}.review-anim .exercise-anim{width:100%}.review-anim svg{width:100%;height:auto;display:block}.review-legend{flex-wrap:wrap;align-items:center;gap:4px;margin-top:10px;display:flex}.switch-track.is-mini{vertical-align:middle;width:26px;height:16px;display:inline-block}.switch-track.is-mini:after{width:12px;height:12px;top:2px;left:2px}.switch-track.is-mini.is-on{background:var(--pine)}.switch-track.is-mini.is-on:after{transform:translate(10px)}.exercise-visual{gap:8px;min-width:0;display:grid}.exercise-muscles{scrollbar-width:none;order:-1;align-items:center;gap:4px;min-width:0;padding-right:18px;display:flex;position:relative;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 18px),#0000)}.exercise-muscles::-webkit-scrollbar{display:none}.exercise-muscles .muscles{flex-wrap:nowrap;gap:4px}.exercise-muscles .muscle{white-space:nowrap;margin:0;padding:1px 8px;font-size:.75rem;line-height:1.5}.muscle-col{align-items:center;gap:4px;display:flex}.muscle-col-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muscle-band{background:var(--amber-soft);border-color:color-mix(in srgb, var(--amber-ink) 45%, transparent);color:var(--amber-ink);align-items:center;gap:4px;font-weight:700;display:inline-flex}.exercise-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.actions-main,.actions-more{align-items:center;gap:6px;display:flex}.actions-more{gap:2px;margin-left:auto}@media (max-width:699px){.exercise-actions.is-workout{flex-wrap:nowrap;gap:4px}.exercise-actions.is-workout .btn-small{padding-inline:10px}.exercise-actions.is-workout .btn-icon{width:40px;padding:0}.exercise-actions.is-workout .disclosure{padding-inline:6px}.exercise-actions.is-workout .btn-done{padding-inline:14px}}.label-total{color:var(--slate);font-weight:400}@media (min-width:700px){.exercise-visual{grid-template-columns:auto minmax(150px,240px);justify-content:center;align-items:center;column-gap:24px}.exercise-visual .exercise-stage{width:calc(1.40351*min(250px,34svh));max-width:none;margin:0}.exercise-visual .exercise-noanim{max-width:34rem}.exercise-muscles{flex-direction:column;order:0;align-items:flex-start;gap:10px;padding-right:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.exercise-muscles .muscle{font-size:var(--step--1);padding:2px 10px}.muscle-col{justify-items:start;gap:5px;display:grid}.muscle-col-label{clip:auto;width:auto;height:auto;font-size:var(--step--1);color:var(--slate);font-weight:700;position:static;overflow:visible}.exercise-muscles .muscles{flex-direction:column;align-items:flex-start}.exercise-actions{flex-wrap:nowrap}}.btn-icon{width:38px;padding:0}.btn-done{border-color:var(--pine);color:var(--pine-deep);padding-inline:16px;font-weight:700}.btn-done.is-done{background:var(--pine);color:var(--pine-ink)}.exercise.is-done{border-color:color-mix(in srgb, var(--pine) 55%, var(--line))}.exercise.is-done .exercise-pos{background:var(--pine);color:var(--pine-ink)}.exercise:focus{outline:none}.exercise:focus-visible{outline:3px solid var(--focus);outline-offset:2px}dialog.celebration{background:0 0;border:0;border-radius:0;place-items:center;width:100vw;max-width:none;height:100svh;max-height:none;margin:0;padding:16px;display:grid}dialog.celebration::backdrop{background:radial-gradient(circle at 50% 40%,#22604e8c,#0a1410b3)}.confetti{pointer-events:none;width:100vw;height:100svh;position:fixed;inset:0}.celebration-card{text-align:center;background:var(--surface);border-radius:22px;justify-items:center;gap:10px;width:min(24rem,100%);padding:22px 20px 20px;animation:.45s cubic-bezier(.2,1.4,.4,1) both pop-in;display:grid;position:relative;box-shadow:0 20px 50px #0000004d}.celebration-card h2{font-size:var(--step-2);color:var(--pine-deep);margin:0}.celebration-figure{width:min(220px,70vw);position:relative}.celebration-figure .exercise-anim,.celebration-figure svg{width:100%;height:auto;display:block}.celebration-badge{transform-origin:30% 80%;font-size:2.6rem;line-height:1;animation:1.2s ease-in-out infinite flex;position:absolute;top:-6px;right:-6px}.celebration-text{font-size:var(--step-1);margin:0}.celebration-stats{color:var(--slate);flex-wrap:wrap;justify-content:center;gap:16px;margin:0;display:flex}.celebration-stats strong{color:var(--ink);font-size:var(--step-1)}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes flex{0%,to{transform:rotate(0)scale(1)}40%{transform:rotate(-14deg)scale(1.18)}60%{transform:rotate(-8deg)scale(1.1)}}@media (prefers-reduced-motion:reduce){.celebration-card,.celebration-badge{animation:none}}.lib-thumb,.review-thumb,.review-anim,.celebration-figure{aspect-ratio:320/228;position:relative}.lib-thumb .exercise-anim,.review-thumb .exercise-anim,.review-anim .exercise-anim,.celebration-figure .exercise-anim{height:100%;position:absolute;inset:0}.lib-thumb .exercise-anim svg,.review-thumb .exercise-anim svg,.review-anim .exercise-anim svg,.celebration-figure .exercise-anim svg{height:100%}.lib-thumb .exercise-art{background:var(--anim-bg);border-radius:var(--radius-sm);place-items:center;display:grid;position:absolute;inset:0}.review-thumb>svg{width:28px;height:28px;margin:auto;position:absolute;inset:0}.bands{gap:10px;display:grid}.band-list{gap:8px;display:grid}.band-row{align-items:center;gap:6px;display:flex}.kg-input{width:9rem;position:relative}.kg-input input{text-align:right;width:100%;padding-right:2.6rem}.kg-input span{color:var(--slate);pointer-events:none;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.bands>.btn{justify-self:start}.brand{gap:12px}.twnty-logo{color:var(--pine);align-items:center;gap:10px;display:inline-flex}.twnty-mark{color:var(--pine);flex:none}.twnty-words{line-height:1.05;display:grid}.twnty-wordmark{letter-spacing:.06em;color:var(--ink);font-size:1.5rem;font-weight:800}.twnty-slogan{color:var(--slate);margin-top:2px;font-size:.95rem;font-weight:600}.brand-login{margin-bottom:4px}.brand-login .twnty-wordmark{font-size:2rem}.brand-login .twnty-slogan{margin-top:4px}.topbar .brand{flex:none}@media (min-width:761px){.topbar-inner{max-width:76rem}.nav a{white-space:nowrap;padding:9px 10px}}@media (min-width:1200px){.topbar-inner{max-width:var(--content);position:relative}.topbar .brand{position:absolute;top:50%;right:calc(100% + 16px);transform:translateY(-50%)}.topbar .nav{margin-left:-10px}}@media (min-width:761px) and (max-width:1023px){.nav a svg{display:none}}.topbar .twnty-slogan{letter-spacing:.01em;white-space:nowrap;margin-top:3px;font-size:.75rem}@media (min-width:761px){.topbar .twnty-slogan{font-size:.8125rem}.twnty-wordmark{font-size:1.625rem}.nav a{font-size:1.0625rem}:root{--step-0:1.125rem;--step-2:1.875rem}.workout-meta,.page-head p{line-height:1.6}}.greeting-hello{font-size:var(--step-3);color:var(--pine-deep);font-weight:700}.exercise-head .exercise-title h2{font-size:clamp(1.25rem,5vw,1.5rem)}.exercise-target .target-value{color:var(--pine-deep);font-size:clamp(1.9rem,8vw,2.75rem);font-weight:800}@media (min-width:700px){.exercise-role{font-size:1rem}.exercise{padding:24px}}.exercise-stage .exercise-anim svg{border-radius:var(--radius-figure)}.muscle{border-radius:999px}.muscle-primary{background:var(--pine-soft);border-color:var(--pine);color:var(--ink);font-weight:700}.muscle-secondary{background:var(--surface);border-color:var(--line-strong);color:var(--slate);font-weight:400}.muscle-band{background:var(--band-bg);border-color:var(--band-border);color:var(--band-text);font-weight:700}.segmented{border-radius:12px;gap:4px;padding:4px}.segmented button{border-radius:8px}.stepper{grid-template-columns:58px 1fr 58px}.stepper button,.stepper input{border-radius:var(--radius-sm);min-height:58px}.amount-input input{font-size:1.375rem;font-weight:700}.btn-primary:not(.btn-small){min-height:56px}.coverage-bar{background:var(--anim-bg);border-radius:6px;height:12px}.coverage-bar .s{background:repeating-linear-gradient(45deg, var(--anim-bg), var(--anim-bg) 3px, var(--line-strong) 3px, var(--line-strong) 5px)}.check input,.level-option input{width:24px;height:24px;accent-color:var(--pine)}.login-switch{text-align:center;color:var(--slate)}.btn-link{min-height:44px;font:inherit;color:var(--pine);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:10px 4px;font-weight:700;text-decoration:underline}.btn-link:hover{color:var(--pine-deep)}
