@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;450;500;600;650;700&display=swap');
:root{--orange:#dc303b;--ink:#20211f;--muted:#696b68;--line:#e4e5e0;--bg:#f9f9f6;--soft:#efefea;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--orange);outline-offset:4px}a{color:inherit}.topbar{height:90px;max-width:1240px;margin:auto;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 36px}.brand{text-decoration:none;font-size:25px;font-weight:800;letter-spacing:-1px;display:flex;align-items:center;gap:9px}.brand-mark{display:grid;place-items:center;background:var(--orange);color:white;width:36px;height:36px;border-radius:10px;font-size:32px;line-height:1;padding-bottom:5px}.brand-dot{font-size:12px;align-self:flex-start;margin-top:6px;letter-spacing:0}.club{font-size:14px;border:1px solid var(--line);border-radius:30px;padding:9px 13px;display:flex;align-items:center;gap:8px}.club-dot{height:7px;width:7px;background:var(--orange);border-radius:50%}main{max-width:1240px;margin:auto;padding:0 36px}.intro{display:flex;justify-content:space-between;align-items:center;margin:45px 0 32px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:1.6px;margin:0 0 8px}h1,h2,h3{font-family:'Barlow Condensed',Impact,sans-serif}h1{font-size:64px;line-height:1.05;letter-spacing:-1.4px;margin:0}h1 span{color:var(--orange)}.intro-copy{font-size:16px;color:var(--muted);margin:14px 0 0}.program-label{border-left:2px solid var(--orange);padding-left:20px;display:flex;flex-direction:column;gap:6px}.program-label>span{font-size:11px;font-weight:700;letter-spacing:1.3px}.program-label strong{font-size:18px}.program-label small{color:var(--muted);font-size:14px}.day-tabs{display:grid;grid-template-columns:repeat(3,1fr) .8fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:white;padding:5px;gap:5px}.day{border:0;background:transparent;border-radius:8px;text-align:left;padding:16px 20px;font-family:'Barlow Condensed',Impact,sans-serif;font-size:28px;font-weight:700;transition:background .15s}.day:hover{background:var(--soft)}.day span,.day small{display:block;font-family:'DM Sans',sans-serif}.day span{font-size:11px;letter-spacing:1.1px;font-weight:600;margin-bottom:3px;color:var(--muted)}.day small{font-size:12px;font-weight:400;margin-top:4px;color:var(--muted)}.day.active{background:var(--ink);color:white}.day.active span,.day.active small{color:#c9cbc2}.day.active span{color:#ffacb1}.search-row{display:flex;align-items:center;justify-content:space-between;margin:22px 0 36px}.search{display:flex;align-items:center;gap:11px;padding:12px 16px;background:white;border:1px solid var(--line);border-radius:8px;max-width:480px;width:100%}.search svg{width:20px;height:20px;flex:none;color:var(--muted)}.search input{width:100%;border:0;outline:none;background:transparent;font-size:14px;min-width:0}.visual-label{font-size:13px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end}.section-heading .eyebrow{color:var(--orange);font-size:11px;margin-bottom:4px}h2{font-size:36px;margin:0;line-height:1.15;letter-spacing:-.3px}#count{font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:0;color:var(--muted);margin-left:12px}.session-note{font-size:14px;color:var(--muted)}.catalog-note{color:var(--muted);font-size:13px;margin:10px 0 22px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px}.card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:0 6px 24px #20211f0b}.card-visual{height:205px;position:relative;display:flex;align-items:center;justify-content:center;background:white;border-bottom:1px solid var(--line);overflow:hidden}.card-visual img{height:100%;width:100%;object-fit:contain;padding:8px 12px}.tag{position:absolute;z-index:1;top:12px;left:12px;border:1px solid #e4e5e0;background:#fffffff2;border-radius:5px;font-size:11px;padding:5px 8px;color:#4c4f48}.number{position:absolute;right:13px;top:12px;font-size:12px;font-weight:600;color:#777a72}.card-content{padding:20px}.equipment{font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.7px;text-transform:uppercase;margin:0 0 7px}.card h3{font-size:26px;line-height:1.1;margin:0 0 6px;font-weight:600}.english{font-size:13px;color:var(--muted);margin:0 0 15px}.card-action{border:0;border-top:1px solid var(--line);padding:14px 0 0;background:transparent;display:flex;justify-content:space-between;width:100%;font-size:14px;font-weight:600;text-align:left}.card-action span{color:var(--orange);font-size:19px;line-height:16px}.club-note{display:flex;gap:16px;background:#eeefe8;border-radius:10px;padding:23px;margin-top:36px}.note-icon{width:25px;height:25px;border:1px solid #92958a;border-radius:50%;display:grid;place-items:center;flex:none;font-size:14px}.club-note strong{font-size:14px}.club-note p{font-size:13px;line-height:1.7;color:#61655b;margin:5px 0 0;max-width:870px}footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:44px;padding:26px 0;border-top:1px solid var(--line)}.footer-brand{font-size:20px}footer p{font-size:12px;color:var(--muted)}footer button{border:0;background:none;font-size:13px;padding:10px 0}footer button span{color:var(--orange);margin-left:9px}dialog{border:0;border-radius:16px;padding:28px;max-width:720px;width:calc(100% - 32px);max-height:90dvh;overflow:auto;color:var(--ink);box-shadow:0 30px 100px #0003}dialog::backdrop{background:#171c19aa;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.close{background:var(--soft);border:0;border-radius:50%;width:42px;height:42px;flex:none;font-size:20px}.dialog-top .eyebrow{margin:0;color:var(--muted)}.detail-subtitle{color:var(--muted);margin:8px 0 22px;font-size:14px}.frames{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.frames figure{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.frames img{width:100%;aspect-ratio:1.2;object-fit:contain;display:block}.frames figcaption{background:var(--bg);padding:8px 12px;font-size:12px;font-weight:600}.machine-note{background:var(--soft);padding:16px;border-radius:8px;font-size:14px;line-height:1.6}.machine-note strong{display:block;margin-bottom:4px}.steps{list-style:none;counter-reset:steps;padding:0;display:grid;gap:16px;margin:24px 0}.steps li{counter-increment:steps;display:flex;gap:12px;font-size:16px;line-height:1.6}.steps li:before{content:counter(steps,decimal-leading-zero);font-size:13px;color:var(--orange);font-weight:700;padding-top:3px}.tip{border-left:3px solid var(--orange);padding:2px 0 2px 14px;font-size:14px;line-height:1.6}.external-links{display:flex;gap:10px;margin-top:24px}.external-links a{padding:13px;border:1px solid var(--line);border-radius:7px;text-decoration:none;font-size:14px;font-weight:600;flex:1;text-align:center}.external-links a:first-child{background:var(--ink);color:white}.fine-print{color:var(--muted);font-size:12px;line-height:1.6}.sources-list{padding:0;list-style:none;display:grid;gap:14px;margin:24px 0}#sources-dialog>p{line-height:1.7;font-size:15px}.empty{text-align:center;padding:55px 20px;border:1px dashed var(--line);border-radius:12px}.empty h3{font-size:30px;margin:0}.empty p{color:var(--muted)}.empty button{border:0;border-radius:6px;padding:12px 18px;color:white;background:var(--ink)}[hidden]{display:none!important}
@media(min-width:1450px){.cards{gap:28px}.card-visual{height:225px}}@media(max-width:850px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.program-label,.visual-label{display:none}.day{padding:14px}.day small{display:none}.session-note{display:none}}@media(max-width:540px){.topbar{height:73px;padding:0 20px}.brand{font-size:22px}.brand-mark{width:31px;height:31px;font-size:29px}.club{font-size:12px;padding:7px 10px;gap:6px}main{padding:0 20px}.intro{margin:29px 0 25px}h1{font-size:47px;letter-spacing:-1px}.intro .eyebrow{font-size:10px;margin-bottom:10px}.intro-copy{font-size:14px;line-height:1.5;max-width:290px;margin-top:10px}.day-tabs{gap:3px;padding:4px;grid-template-columns:repeat(3,1fr) .8fr}.day{font-size:22px;padding:12px 9px}.day span{font-size:9px;letter-spacing:.5px}.day.all span{font-size:8px}.search-row{margin:16px 0 27px}.search{padding:13px 12px}.search input{font-size:16px}.search input::placeholder{font-size:13px}h2{font-size:31px}#count{font-size:12px;margin-left:9px}.catalog-note{font-size:12px;line-height:1.6;margin:10px 0 18px}.cards{grid-template-columns:1fr;gap:18px}.card-visual{height:210px}.card-content{padding:18px}.card h3{font-size:27px}.club-note{padding:18px;gap:12px;margin-top:26px}.club-note p{font-size:12px}footer{flex-wrap:wrap;margin-top:26px;padding:21px 0}footer p{order:3;width:100%;margin:0}.footer-brand{font-size:18px}dialog{padding:21px;width:calc(100% - 20px);max-height:93dvh}.frames{gap:8px}.external-links{flex-direction:column}.steps li{font-size:15px}}
.frames img{height:auto}.card-action{min-height:44px}.day span{font-size:12px}.day small{font-size:14px}.equipment{font-size:12px}.tag{font-size:12px}@media(max-width:540px){.day span{font-size:10px}.day.all span{font-size:9px}.frames figcaption{font-size:12px;padding:8px}.card-visual img{padding:0}.card-visual{height:230px}.card-visual img{object-fit:cover}.tag{top:10px;left:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Training and personal progress */
:root{--orange:#d72d3c;--red-soft:#fff0f1;--ink:#222125;--bg:#faf9fa;--soft:#f0edf0;--line:#e8e3e5}body{padding-bottom:86px}.topbar{height:76px}.account-button{border:1px solid var(--line);background:white;border-radius:30px;padding:11px 18px;font-size:14px;font-weight:600;max-width:180px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.intro{margin:28px 0 24px}h1{font-size:54px}.intro-copy{margin-top:9px}.controls{position:relative}.day-tabs{border-radius:12px}.day.active{background:var(--orange);color:white}.day.active span,.day.active small{color:#fff}.day.active:hover{background:#bd2131}.search-row{margin-bottom:27px}.signin-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--red-soft);border:1px solid #f6d6da;border-radius:12px;padding:18px;margin-bottom:24px}.signin-banner strong{font-size:15px}.signin-banner p{font-size:14px;line-height:1.5;color:var(--muted);margin:4px 0 0}.primary{background:var(--orange);color:white;border:0;border-radius:8px;padding:13px 17px;font-size:14px;font-weight:650;min-height:46px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap}.primary:hover{background:#bd2131}.primary:disabled,button:disabled{opacity:.55;cursor:default}.secondary{background:white;border:1px solid var(--line);padding:13px 17px;border-radius:8px;min-height:46px;font-size:14px;font-weight:600}.full{width:100%;display:flex;justify-content:center}.card{display:flex;flex-direction:column}.card:hover{transform:none}.card-content{flex:1;display:flex;flex-direction:column}.card-visual{height:180px}.card-visual img{width:100%;height:100%;padding:0;object-fit:cover}.card h3{font-size:25px}.equipment{line-height:1.5}.last-performance{font-size:13px;line-height:1.5;padding:10px 0 13px;color:#5b545a;border-top:1px solid var(--line);margin:0;margin-top:auto}.card-buttons{display:flex;flex-direction:column;gap:4px}.card-buttons .primary{justify-content:space-between}.movement-button{background:none;border:0;padding:12px 0 3px;font-size:13px;color:var(--muted);min-height:38px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:5;display:flex;justify-content:center;background:#fffffff5;backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 20px calc(8px + env(safe-area-inset-bottom))}.bottom-nav button{width:150px;background:transparent;border:0;border-radius:8px;padding:7px 12px;color:var(--muted);display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;font-size:14px}.bottom-nav button>span{font-size:23px;line-height:1}.bottom-nav .selected{color:var(--orange);background:var(--red-soft);font-weight:700}.field{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;margin:18px 0}.field input,.field select{border:1px solid #dcd5d8;border-radius:8px;padding:13px 12px;min-height:48px;font:inherit;font-size:16px;font-weight:400;min-width:0;width:100%;background:white;color:var(--ink)}.password-input{display:flex;position:relative}.password-input input{padding-right:75px}.password-input button{position:absolute;right:4px;top:4px;bottom:4px;border:0;background:none;font-size:13px;padding:0 11px;color:var(--muted)}.auth-switch{font-size:14px;text-align:center;margin:22px 0}.auth-switch button,.text-button{background:none;border:0;color:var(--orange);padding:5px;font-size:14px;font-weight:600}.account-reassurance{font-size:14px;line-height:1.6;color:var(--muted);background:var(--bg);padding:16px;border-radius:8px;margin:22px 0}.error-message{background:#fff1f2;color:#a5192c;border:1px solid #f6d3d7;border-radius:8px;font-size:14px;line-height:1.5;padding:12px}.previous{background:var(--red-soft);padding:15px 17px;border-radius:9px;display:flex;flex-direction:column;gap:6px}.previous span{font-size:12px;color:var(--muted)}.previous strong{font-size:20px}.set-head,.set-row{display:grid;grid-template-columns:38px 1fr 1fr 34px;gap:12px;align-items:center}.set-head{font-size:12px;color:var(--muted);padding:0 0 9px}.set-row{margin-bottom:11px}.set-row>span{font-size:14px;font-weight:600;color:var(--muted)}.set-row input{width:100%;min-width:0;border:1px solid #dcd5d8;border-radius:8px;background:#fff;padding:12px 8px;text-align:center;font-size:20px;font-weight:600;min-height:50px}.remove-set{border:0;background:var(--soft);border-radius:50%;width:34px;height:34px;font-size:20px}.add-set{width:100%;background:var(--bg);border:1px dashed #cfc6cb;padding:13px;border-radius:8px;font-size:14px;color:var(--ink);margin-top:2px}.date-field{max-width:240px}#log-dialog{max-width:500px}#account-dialog{max-width:440px}.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;z-index:1000;color:white;background:var(--ink);border-radius:10px;padding:14px 20px;font-size:14px;box-shadow:0 8px 30px #0002}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}#progress-view{padding-top:35px;max-width:820px;margin:auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.stats>div{border:1px solid var(--line);background:white;padding:20px;border-radius:10px;display:flex;flex-direction:column;gap:5px}.stats strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:40px;color:var(--orange);line-height:1}.stats span{font-size:13px;color:var(--muted);line-height:1.4}.history-entry{background:white;border:1px solid var(--line);border-radius:10px;padding:20px;margin:14px 0;display:flex;justify-content:space-between;gap:18px}.history-entry time{font-size:12px;color:var(--muted)}.history-entry h3{font-size:27px;margin:6px 0 10px}.history-entry p{display:flex;flex-wrap:wrap;gap:7px;margin:0}.history-entry p>span{background:var(--bg);border:1px solid var(--line);padding:7px 9px;border-radius:5px;font-size:13px}.history-actions{display:flex;flex-direction:column;gap:7px;align-items:flex-end}.history-actions button{border:0;background:none;font-size:13px;padding:9px 0}.history-actions .edit-entry{color:var(--orange);font-weight:600}.history-actions .delete-entry{color:var(--muted)}.comparison{border:1px solid var(--line);background:white;border-radius:10px;padding:22px;margin:22px 0}.comparison>strong{font-size:15px}.bars{display:flex;gap:14px;margin-top:18px;align-items:flex-end}.bar-column{flex:1;min-width:0;text-align:center;font-size:12px}.bar-track{height:100px;display:flex;align-items:flex-end;justify-content:center;margin:7px 0}.bar-track i{display:block;background:#f5bbc3;width:75%;border-radius:4px 4px 0 0}.bar-column:last-child .bar-track i{background:var(--orange)}.bar-column small{font-size:11px;color:var(--muted)}.club-note{background:#f0edef}dialog{overscroll-behavior:contain}#account-dialog .fine-print{margin-bottom:0}.number{display:none}
@media(max-width:540px){body{padding-bottom:90px}.topbar{height:67px}.account-button{font-size:12px;padding:9px 12px;max-width:140px}.intro{margin:22px 0}h1{font-size:42px}.intro-copy{font-size:14px}.signin-banner{align-items:flex-start;padding:16px;flex-direction:column;gap:12px}.signin-banner .primary{width:100%}.day-tabs{position:relative}.day{padding:11px 7px}.cards{gap:14px}.card{display:grid;grid-template-columns:110px 1fr;overflow:hidden}.card-visual{height:100%;min-height:210px;border:0;align-self:stretch;background:#eee}.card-visual img{object-fit:contain;position:absolute;top:35px;left:0;height:130px;background:white}.tag{top:9px;left:6px;right:6px;font-size:10px;text-align:center;padding:4px;white-space:normal}.card-content{padding:14px;min-width:0}.equipment{font-size:10px;line-height:1.5;margin-bottom:5px}.card h3{font-size:24px;line-height:1.1}.english{display:none}.last-performance{font-size:12px;line-height:1.5;padding:9px 0;border-top:0;margin:3px 0 0}.card-buttons .primary{font-size:12px;padding:11px 12px;min-height:42px}.movement-button{font-size:12px;padding:9px 0 0;min-height:34px}.bottom-nav{justify-content:space-between;padding-top:5px}.bottom-nav button{width:32%;flex-direction:column;gap:3px;font-size:11px;min-height:53px;padding:7px}.bottom-nav button>span{font-size:21px}.set-head,.set-row{gap:8px;grid-template-columns:30px 1fr 1fr 32px}.set-head{font-size:11px}.stats{gap:7px;margin:22px 0}.stats>div{padding:14px 11px}.stats strong{font-size:34px}.stats span{font-size:11px}.history-entry{padding:16px;gap:10px;flex-direction:column}.history-actions{flex-direction:row;gap:20px;align-items:center}.history-entry h3{font-size:26px}.bars{gap:7px}.comparison{padding:16px}.bar-column{font-size:11px}.bar-column small{font-size:10px}.toast{font-size:13px;bottom:90px}.club-note{display:none}#progress-view{padding-top:27px}}
:root{--quick-border:#eadfe2}
.series-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 16px}.series-count>div:first-child{display:flex;flex-direction:column;gap:3px}.series-count strong{font-size:14px}.series-count>div>span{font-size:12px;color:var(--muted)}.count-stepper{display:flex;align-items:center;gap:4px;border:1px solid var(--quick-border);border-radius:10px;padding:3px;background:var(--bg)}.count-stepper button{width:44px;height:44px;border:0;border-radius:7px;background:white;color:var(--ink);font-size:25px}.count-stepper output{min-width:40px;text-align:center;font-size:25px;font-weight:700}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quick-field{border:1px solid var(--quick-border);border-radius:12px;background:#fff;overflow:hidden;padding:14px 12px 10px}.quick-field:focus-within{border-color:var(--orange);box-shadow:0 0 0 2px #d72d3c15}.quick-field label{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px;font-size:14px;font-weight:650}.quick-field label span{font-size:11px;color:var(--muted);font-weight:400}.quick-field>input{display:block;width:100%;min-width:0;border:0;border-radius:5px;padding:9px 0;text-align:center;font-family:'Barlow Condensed',Impact,sans-serif;font-size:46px;font-weight:600;background:transparent;appearance:textfield;color:var(--ink)}.quick-field>input::placeholder{color:#9f9499;font-size:35px}.quick-field input::-webkit-inner-spin-button,.set-row input::-webkit-inner-spin-button{appearance:none}.quick-field>input:focus-visible{outline:0}.quick-steps{display:grid;grid-template-columns:1fr 1fr;gap:8px}.quick-steps button{border:0;background:var(--soft);color:var(--ink);border-radius:7px;min-height:44px;font-size:16px;font-weight:650}.quick-steps button:last-child{background:var(--red-soft);color:var(--orange)}.quick-steps button:active,.count-stepper button:active{background:#f5d4d9}.quick-summary{background:var(--red-soft);border-radius:8px;padding:12px;text-align:center;font-size:14px;font-weight:600;line-height:1.5;color:#a41e2f;margin:12px 0}.individual-sets{border-bottom:1px solid var(--line)}.individual-sets summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:14px 0;cursor:pointer;font-size:14px;min-height:48px;color:var(--muted)}.individual-sets summary::-webkit-details-marker{display:none}.individual-sets[open] summary{color:var(--ink);margin-bottom:8px}.individual-sets[open] summary>span:last-child{transform:rotate(180deg)}.individual-sets .add-set{margin-bottom:16px}.quick-date{max-width:none;display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin:14px 0 8px}.quick-date input{width:175px;padding:9px 10px;min-height:42px;font-size:14px}.quick-previous{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px}.quick-previous strong{font-size:15px}.quick-previous span{font-size:12px}.save-bar{position:sticky;bottom:-28px;background:white;padding:14px 0 4px;z-index:2}.save-bar .primary{font-size:16px;min-height:52px}#log-dialog .detail-subtitle{margin-bottom:14px}#log-state{margin:10px 0 0;font-size:12px}.individual-sets .set-row{grid-template-columns:30px 1fr 1fr 44px}.individual-sets .set-head{grid-template-columns:30px 1fr 1fr 44px}.individual-sets .remove-set{height:44px;width:44px}.individual-sets .set-row input{font-size:20px}
@media(max-width:540px){.quick-field{padding:12px 10px 9px}.quick-grid{gap:10px}.quick-field>input{font-size:45px;padding:9px 0}.quick-field label{flex-direction:column;gap:2px}.quick-field label span{font-size:11px}.quick-summary{font-size:13px}.series-count{margin:16px 0 14px}.series-count strong{font-size:14px}.count-stepper output{min-width:32px}.count-stepper button{width:42px;height:42px}.save-bar{bottom:-21px}.quick-previous strong{font-size:14px}.individual-sets summary{font-size:13px}.individual-sets .set-row,.individual-sets .set-head{gap:7px;grid-template-columns:25px 1fr 1fr 40px}.individual-sets .remove-set{width:40px;height:44px}}

#quick-controls{border:0;padding:0;margin:0;min-width:0}#quick-controls:disabled{opacity:.55}
.workout-day{background:#fff;border:1px solid var(--line);border-top:3px solid var(--orange);border-radius:12px;padding:22px;margin:0 0 24px;scroll-margin-top:16px}.workout-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.workout-heading .eyebrow{color:var(--orange);font-size:12px}.workout-heading h2{font-size:30px}.workout-date{display:flex;align-items:center;gap:4px}.workout-date button{width:44px;height:44px;border:0;background:var(--bg);border-radius:8px;font-size:25px}.workout-date input{max-width:155px;min-width:0;font-size:16px;border:0;background:var(--bg);border-radius:8px;padding:10px 7px;height:44px}.workout-controls{border:0;padding:0;margin:0;min-width:0}.workout-controls:disabled{opacity:.6}.workout-types,.workout-statuses{display:grid;gap:8px}.workout-types{grid-template-columns:repeat(4,1fr)}.workout-statuses{grid-template-columns:1fr 1.25fr 1fr;margin-top:14px}.workout-types button,.workout-statuses button{min-height:46px;padding:10px 7px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font-size:14px;font-weight:600}.workout-types button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:white}.workout-statuses button[aria-pressed=true]{background:var(--red-soft);border-color:#eba7af;color:#a41e2f}.workout-statuses button[data-workout-status=done][aria-pressed=true]{background:var(--orange);border-color:var(--orange);color:white}.workout-feedback{font-size:14px;margin:14px 0 0;line-height:1.5}.workout-notes{font-size:13px;color:var(--muted);margin:5px 0 0}.workout-history-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:26px 0 12px}.workout-history-heading h2{font-size:28px}.workout-history-heading>span{font-size:12px;color:var(--muted)}.workout-history-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.workout-history-item{display:grid;grid-template-columns:65px 1fr auto 10px;align-items:center;gap:10px;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:white;padding:16px;font-size:14px;min-height:56px}.workout-history-item:last-child{border-bottom:0}.workout-history-item time{color:var(--muted);font-size:13px}.workout-history-item .attendance-done{color:#a41e2f;font-weight:600}.workout-history-item .attendance-planned,.workout-history-item .attendance-skipped{color:var(--muted)}#workout-history{margin-bottom:28px}
@media(max-width:540px){.workout-day{padding:16px;margin-bottom:20px}.workout-heading{flex-wrap:wrap;gap:12px;margin-bottom:14px}.workout-heading>div:first-child{display:flex;align-items:baseline;gap:10px}.workout-heading .eyebrow{margin:0}.workout-heading h2{font-size:26px}.workout-date{width:100%;justify-content:space-between}.workout-date input{max-width:none;flex:1;text-align:center}.workout-statuses{gap:5px}.workout-statuses button{padding:10px 4px;font-size:14px;line-height:1.3}.workout-types{gap:6px}.workout-history-heading{flex-direction:column;gap:4px}.workout-history-item{padding:14px 10px;gap:7px;grid-template-columns:60px 1fr auto 8px}.workout-feedback{font-size:14px}}
.card-muscles{margin:13px 0 10px;padding:11px 0;border-top:1px solid var(--line);display:grid;gap:9px;font-size:14px;line-height:1.45}.card-muscles>div{display:grid;gap:3px}.card-muscles dt{font-size:12px;font-weight:650;color:var(--orange)}.card-muscles dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.card-muscles .secondary-muscles dt{color:var(--muted)}.card-muscles .secondary-muscles dd{color:#62615e}.card-content{display:flex;flex-direction:column}.card-buttons{margin-top:auto}#detail-content>.card-muscles{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:14px 16px;margin:18px 0;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:540px){.card-muscles{font-size:14px;margin:10px 0 2px;padding:10px 0 5px;gap:8px}.card-visual img{position:sticky;top:12px;margin-top:38px;height:130px}.card-visual{display:block;overflow:visible}.card-content{padding:14px 12px}.card-muscles dt{font-size:12px}#detail-content>.card-muscles{grid-template-columns:1fr}}
/* Compact training cards: one movement, with alternatives tucked underneath. */
.is-connected .intro{display:none}.is-connected .workout-day{margin-top:22px}.catalog-filters{margin-bottom:12px}.catalog-filters>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;font-size:14px;font-weight:650;min-height:44px;cursor:pointer}.catalog-filters>summary::-webkit-details-marker{display:none}.catalog-filters[open]>summary{margin-bottom:8px}.day-tabs{grid-template-columns:repeat(4,1fr);border:0;background:var(--soft);padding:4px}.day{font-family:inherit;font-size:15px;text-align:center;padding:12px 6px}.day span,.day small{display:none}.search-row{margin:0 0 24px}.search{max-width:none}.section-heading .session-note{display:none}.catalog-note{line-height:1.6;max-width:700px;margin-bottom:20px}.cards{gap:18px;align-items:start}.card{display:block;background:#fff}.card:hover{transform:none}.card-main{display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:center;padding:16px 16px 0}.card-visual{display:flex;position:relative;height:116px;min-height:0;background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}.card-visual img{position:static;display:block;width:100%;height:100%;margin:0;object-fit:contain;padding:3px}.card-content{display:block;padding:0;min-width:0}.card-order{font-size:12px;font-weight:700;color:var(--orange);display:block;margin-bottom:5px}.card h3{font-size:27px;line-height:1.08;margin:0 0 7px}.card .equipment{font-size:12px;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400;color:var(--muted);margin:0}.card>.card-muscles{padding:14px 0;margin:14px 16px 0;border-top:1px solid var(--line);gap:7px;font-size:14px}.card>.card-muscles>div{grid-template-columns:58px 1fr;gap:8px;align-items:baseline}.card>.card-muscles dt{font-size:12px}.card-bottom{padding:0 16px 16px}.card .last-performance{border:0;background:var(--bg);border-radius:6px;font-size:12px;line-height:1.5;padding:8px 10px;margin:0 0 12px}.card-buttons{display:grid;grid-template-columns:1fr;gap:6px;margin:0}.card-buttons .primary{font-size:14px;min-height:46px}.card .movement-button{min-height:40px;margin:0;padding:8px 0;font-size:13px}.exercise-alternatives{border-top:1px solid var(--line);background:#faf9f9}.exercise-alternatives summary,.optional-list summary{display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;padding:14px 16px;min-height:48px;cursor:pointer;font-size:14px;font-weight:600}.exercise-alternatives summary::-webkit-details-marker,.optional-list summary::-webkit-details-marker{display:none}.exercise-alternatives[open] summary>span,.optional-list[open] summary>span{transform:rotate(180deg)}.exercise-alternatives>p,.optional-list>p{margin:0;padding:0 16px 12px;color:var(--muted);font-size:13px;line-height:1.6}.variant-row{display:grid;grid-template-columns:48px 1fr;gap:10px;padding:13px 16px;border-top:1px solid var(--line);align-items:center}.variant-row>img{width:48px;height:54px;object-fit:contain;background:white;border-radius:5px}.variant-row strong{font-size:14px;line-height:1.4;display:block}.variant-row>div>span{display:block;font-size:12px;color:var(--muted);margin-top:3px}.variant-actions{grid-column:2;display:flex;gap:8px}.variant-actions button{border:1px solid var(--line);border-radius:6px;background:white;padding:9px 15px;font-size:13px;min-height:44px}.variant-actions button:last-child{color:var(--orange);border-color:#e7b6bd}.optional-list{border:1px solid var(--line);border-radius:10px;background:white;margin-top:18px;max-width:700px}.optional-list summary{font-weight:500}.intro{margin:25px 0}.intro h1{font-size:40px}.intro-copy,.intro .eyebrow{display:none}
@media(min-width:1000px){.card-buttons{grid-template-columns:1fr}.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.is-connected .workout-day{margin-top:16px}.workout-heading h2{font-size:27px}.workout-day{margin-bottom:10px;padding:14px}.workout-feedback{margin-top:10px}.workout-statuses{margin-top:10px}.catalog-filters{margin-bottom:8px}.search-row{margin-bottom:20px}.day{font-size:14px;padding:11px 5px}.cards{gap:14px}.card-main{padding:14px 14px 0;grid-template-columns:94px 1fr;gap:13px}.card-visual{height:108px}.card h3{font-size:26px}.card>.card-muscles{margin:12px 14px 0;padding:12px 0;gap:7px}.card-bottom{padding:0 14px 12px}.card-buttons{grid-template-columns:1fr}.card-buttons .primary{font-size:14px}.card .movement-button{font-size:13px;min-height:40px}.card .last-performance{font-size:12px}.catalog-note{font-size:13px}.variant-row{padding:12px 14px}.intro{margin:22px 0}.intro h1{font-size:35px}}
.template-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0}.template-toolbar>.secondary{display:flex;justify-content:space-between;gap:30px;min-height:46px;font-size:14px}.template-toolbar .text-button{font-size:13px}.day-tabs{grid-template-columns:repeat(3,1fr)}#templates-dialog{max-width:640px}#template-fields{border:0;padding:0;margin:0;min-width:0}.template-list{display:grid;gap:14px;margin-top:20px}.template-item{padding:16px;border:1px solid var(--line);border-radius:10px}.template-item h3{font-size:28px;margin:0 0 5px;overflow-wrap:anywhere}.template-item>div>span{font-size:13px;color:var(--muted)}.template-item p{font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}.template-item-actions{display:flex;justify-content:space-between;gap:12px;margin-top:7px}.template-item-actions button,.template-delete button{border:0;background:none;font-size:14px;padding:12px 4px;min-height:44px}.template-item-actions button:first-child{color:var(--orange)}.template-item-actions button:last-child{color:var(--muted)}.template-delete{border-top:1px solid var(--line);margin-top:5px}.template-delete button:first-of-type{color:var(--orange);margin-right:10px}.template-empty{padding:22px 16px;border:1px dashed var(--line);border-radius:10px;font-size:14px;line-height:1.7;color:var(--muted)}.template-selected-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14px;margin:20px 0 7px}.template-selected-heading .text-button{font-size:12px}.template-selected-row{display:grid;grid-template-columns:20px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid var(--line);align-items:center}.template-selected-row>span{font-size:12px;color:var(--orange);font-weight:700}.template-selected-row>strong{font-size:14px;line-height:1.4}.template-selected-row>div{grid-column:2;display:flex;gap:6px}.template-selected-row button{min-width:44px;min-height:40px;border:1px solid var(--line);border-radius:6px;background:var(--bg);font-size:20px}.template-picker-title{font-size:26px;margin:25px 0 8px}#template-picker{display:grid;gap:7px}.template-pick{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:white;border:1px solid var(--line);border-radius:8px;padding:12px;min-height:64px}.template-pick[aria-pressed=true]{border-color:#e8a8b0;background:var(--red-soft)}.template-pick strong{display:block;font-size:14px;line-height:1.4}.template-pick small{display:block;font-size:12px;color:var(--muted);margin-top:4px;line-height:1.4}.template-pick>span:last-child{font-size:23px;color:var(--orange);flex:none}.template-pick>span:first-child{min-width:0}.workout-history-item strong{overflow-wrap:anywhere;min-width:0}.workout-feedback{overflow-wrap:anywhere}.workout-history-item{grid-template-columns:65px minmax(0,1fr) auto 10px}.template-selected-row button:disabled{opacity:.35}
@media(max-width:540px){.template-toolbar>.secondary{width:100%}.template-toolbar{margin:10px 0}.template-item{padding:14px}.template-selected-heading{font-size:14px}.template-pick{padding:11px}.workout-history-item{grid-template-columns:60px minmax(0,1fr) auto 8px}.day-tabs{grid-template-columns:repeat(3,1fr)}}
.template-order{border:1px solid var(--line);border-radius:8px;padding:0 10px}.template-order summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px;cursor:pointer;font-size:13px;min-height:48px;padding:10px 0}.template-order summary::-webkit-details-marker{display:none}.template-order[open] summary>span{transform:rotate(180deg)}.template-order[open]{padding-bottom:10px}
.account-template-link{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;border:1px solid #e8b4bc;background:var(--red-soft);border-radius:10px;text-align:left;padding:16px;margin:18px 0 24px;color:var(--ink)}.account-template-link strong{display:block;font-size:16px}.account-template-link small{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:4px}.account-template-link>span:last-child{font-size:26px;color:var(--orange)}.template-section-title{font-size:25px;margin:25px 0 10px}.template-section-title+.template-list{margin-top:0}#return-template{margin:10px 0}

#account-dialog:has(.account-sections){max-width:640px}.account-sections{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--soft);border-radius:10px;margin:16px 0 22px}.account-sections button{min-height:48px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-weight:600;font-size:15px}.account-sections button[aria-pressed=true]{background:var(--orange);color:white}#account-sessions h2{font-size:30px}#account-sessions .template-item-actions button:first-child{background:var(--red-soft);color:var(--orange);border-radius:7px;padding:12px 18px;font-weight:600}

.password-change{border-top:1px solid var(--line);margin-top:22px;padding-top:8px}.password-change>summary{min-height:48px;padding:14px 0;font-size:14px;font-weight:600;cursor:pointer}.form-success{font-size:14px;line-height:1.5;background:#edf6ed;color:#24642c;border-radius:8px;padding:12px}
