.gym-catalog-card{margin-top:14px}
.gym-catalog-heading{display:flex;align-items:flex-start;gap:10px}
.gym-catalog-heading .gym-catalog-count{flex:none;border:1px solid var(--v-border);background:var(--v-raised);color:var(--v-muted);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:700}
.gym-catalog-card .card-head{align-items:center}
.gym-catalog-intro{max-width:520px}
.gym-catalog-search{position:relative;display:block;margin:13px 0 11px}
.gym-catalog-search svg{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);stroke:var(--v-faint);fill:none;stroke-width:1.8;pointer-events:none}
.gym-catalog-search input{width:100%;height:43px;border:1px solid var(--v-border);border-radius:13px;background:var(--v-input);color:var(--v-text);padding:0 14px 0 40px;font-size:12px;box-shadow:0 3px 12px #1e2e2108}
.gym-catalog-search input::placeholder{color:var(--v-faint)}
.gym-catalog-search input:focus{outline:2px solid color-mix(in srgb,var(--v-accent) 48%,transparent);outline-offset:2px}
.gym-catalog-categories{display:flex;gap:7px;overflow-x:auto;padding:1px 1px 9px;scrollbar-width:thin;scrollbar-color:var(--v-border) transparent}
.gym-catalog-filter{flex:none;border:1px solid var(--v-border);border-radius:999px;background:var(--v-raised);color:var(--v-muted);padding:7px 11px;font-size:10px;font-weight:700;transition:background .16s,color .16s,border-color .16s,transform .16s}
.gym-catalog-filter small{margin-left:5px;color:var(--v-faint);font-size:8px;font-weight:600}
.gym-catalog-filter:hover{transform:translateY(-1px);border-color:var(--v-accent)}
.gym-catalog-filter.is-active{border-color:var(--v-accent);background:var(--v-accent);color:var(--v-on-accent)}
.gym-catalog-filter.is-active small{color:color-mix(in srgb,var(--v-on-accent) 76%,transparent)}
.gym-catalog-results-meta{min-height:18px;margin:2px 1px 8px;color:var(--v-faint);font-size:10px}
.gym-exercise-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.gym-exercise-option{min-width:0;display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;align-items:center;border:1px solid var(--v-border);border-radius:15px;background:var(--v-raised);padding:8px;transition:border-color .18s,transform .18s,box-shadow .18s}
.gym-exercise-option:hover{border-color:color-mix(in srgb,var(--v-accent) 58%,var(--v-border));transform:translateY(-1px);box-shadow:0 7px 18px #1e2e210b}
.gym-exercise-art{width:82px;height:65px;display:grid;place-items:center;overflow:hidden;border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--v-accent-soft) 90%,white),var(--v-surface))}
.gym-exercise-art svg{width:100%;height:100%;overflow:visible}
.gym-exercise-art-button{position:relative;padding:0;border:0;color:var(--v-text);cursor:pointer}
.gym-exercise-art-button span,.gym-workout-art span{position:absolute;right:5px;bottom:5px;border:1px solid color-mix(in srgb,var(--v-border) 70%,transparent);border-radius:6px;background:color-mix(in srgb,var(--v-surface) 88%,transparent);color:var(--v-muted);padding:3px 5px;font-size:8px;font-weight:750;line-height:1.2;backdrop-filter:blur(5px)}
.gym-exercise-art-button:hover span,.gym-workout-art:hover span{background:var(--v-accent);color:var(--v-on-accent)}
.gym-exercise-art-button:focus-visible,.gym-workout-art:focus-visible{outline:2px solid var(--v-accent);outline-offset:2px}
.gym-exercise-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:4px}
.gym-exercise-copy h3{margin:0;color:var(--v-text);font:700 11px/1.3 "Avenir Next",Avenir,"Segoe UI",sans-serif;letter-spacing:-.01em}
.gym-exercise-muscles{margin:0;color:var(--v-muted);font-size:9px;line-height:1.35}
.gym-exercise-equipment{color:var(--v-faint);font-size:8px;line-height:1.3}
.gym-exercise-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:5px}
.gym-exercise-category{color:var(--v-accent);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.gym-exercise-add{flex:none;border:1px solid color-mix(in srgb,var(--v-accent) 30%,var(--v-border));border-radius:9px;background:var(--v-accent-soft);color:var(--v-text);padding:6px 8px;font-size:9px;font-weight:800;line-height:1;transition:background .16s,color .16s,transform .16s}
.gym-exercise-add:hover{background:var(--v-accent);color:var(--v-on-accent);transform:translateY(-1px)}
.gym-exercise-add:focus-visible,.gym-catalog-filter:focus-visible{outline:2px solid var(--v-accent);outline-offset:2px}
.gym-catalog-empty{grid-column:1/-1;border:1px dashed var(--v-border);border-radius:13px;background:var(--v-raised);color:var(--v-muted);padding:18px 14px;text-align:center;font-size:11px;line-height:1.5}
.gym-catalog-more{grid-column:1/-1;display:flex;justify-content:center;align-items:center;gap:7px;border:1px solid var(--v-border);border-radius:12px;background:var(--v-surface);color:var(--v-text);padding:11px;font-size:10px;font-weight:800}
.gym-catalog-more:hover{border-color:var(--v-accent);background:var(--v-accent-soft)}
.gym-catalog-more span{color:var(--v-faint);font-size:9px;font-weight:600}
.gym-saved-plans-card{margin-top:12px}
.gym-saved-plans-card .card-head{align-items:center}
.gym-start-empty{flex:none;white-space:nowrap}
.gym-saved-plans-list{display:grid;gap:8px}
.gym-plans-empty{display:grid;gap:4px;border:1px dashed var(--v-border);border-radius:13px;background:var(--v-raised);padding:13px;color:var(--v-muted);font-size:10px;line-height:1.5}
.gym-plans-empty strong{color:var(--v-text);font-size:11px}
.gym-saved-plan{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid var(--v-border);border-radius:14px;background:var(--v-raised);padding:12px}
.gym-saved-plan-copy{min-width:0}
.gym-saved-plan-copy h3{margin:0 0 4px;color:var(--v-text);font:700 12px/1.3 "Avenir Next",Avenir,"Segoe UI",sans-serif}
.gym-saved-plan-copy span{display:block;color:var(--v-muted);font-size:9px}
.gym-saved-plan-copy p{overflow:hidden;margin:6px 0 0;color:var(--v-faint);font-size:9px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.gym-saved-plan-actions{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap}
.gym-saved-plan-actions .primary-btn,.gym-saved-plan-actions .soft-btn{padding:8px 9px;font-size:9px}
.gym-saved-plan-actions .text-btn{padding:6px;color:var(--v-muted);font-size:9px}
.gym-save-plan-form{display:grid;gap:6px;margin-top:13px;padding:12px;border:1px solid var(--v-border);border-radius:14px;background:var(--v-raised)}
.gym-save-plan-form label{color:var(--v-text);font-size:10px;font-weight:800}
.gym-save-plan-controls{display:flex;gap:7px;align-items:center}
.gym-save-plan-controls input{width:100%;min-width:0;height:38px;border:1px solid var(--v-border);border-radius:10px;background:var(--v-input);color:var(--v-text);padding:0 10px;font-size:10px}
.gym-save-plan-controls input::placeholder{color:var(--v-faint)}
.gym-save-plan-controls .primary-btn{flex:none;padding:10px 12px;font-size:9px}
.gym-save-plan-form>small{color:var(--v-faint);font-size:8px}
.gym-workout-exercise{padding:11px}
.gym-workout-exercise-head{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:11px}
.gym-workout-art{position:relative;width:96px;height:76px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--v-border);border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb,var(--v-accent-soft) 90%,white),var(--v-surface));padding:0;color:var(--v-text);cursor:pointer}
.gym-workout-art svg{width:100%;height:100%;overflow:visible}
.gym-workout-exercise-copy{min-width:0}
.gym-workout-meta{display:flex;align-items:center;gap:8px;margin-bottom:3px}
.gym-workout-meta small,.gym-workout-equipment{color:var(--v-faint);font-size:9px;line-height:1.35}
.gym-workout-exercise-copy h3{display:flex;align-items:center;justify-content:space-between;gap:7px;margin:0 0 3px;font-size:13px}
.gym-workout-exercise-copy h3>span{min-width:0}
.gym-workout-exercise-copy h3 .text-btn{flex:none}
.gym-guide-dialog{width:min(560px,calc(100% - 24px));max-width:560px;max-height:min(86vh,760px);margin:auto;padding:0;overflow:auto;border:1px solid var(--v-border);border-radius:17px;background:var(--v-surface);color:var(--v-text);box-shadow:0 24px 80px #0004}
.gym-guide-dialog::backdrop{background:#1016119c;backdrop-filter:blur(3px)}
.gym-guide-panel{padding:22px}
.gym-guide-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:15px}
.gym-guide-top h2{margin:4px 0 0;color:var(--v-text);font:650 21px/1.25 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.04em}
.gym-guide-close{flex:none}
.gym-guide-summary{display:grid;grid-template-columns:138px minmax(0,1fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--v-border);border-radius:13px;background:var(--v-raised)}
.gym-guide-art{height:96px;display:grid;place-items:center;overflow:hidden;border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--v-accent-soft) 90%,white),var(--v-surface))}
.gym-guide-art svg{width:100%;height:100%;overflow:visible}
.gym-guide-summary p{margin:0;color:var(--v-muted);font-size:11px;line-height:1.6}
.gym-guide-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.gym-guide-meta span{min-width:0;display:grid;gap:3px;padding:10px 11px;border:1px solid var(--v-border);border-radius:11px;background:var(--v-raised)}
.gym-guide-meta small{color:var(--v-faint);font-size:8px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}
.gym-guide-meta strong{color:var(--v-text);font-size:10px;line-height:1.45;font-weight:650}
.gym-guide-instructions{padding:4px 2px 0}
.gym-guide-instructions h3{margin:0 0 7px;font-size:13px}
.gym-guide-instructions ol{display:grid;gap:7px;margin:0;padding-left:22px;color:var(--v-muted);font-size:10px;line-height:1.55}
.gym-guide-instructions li{padding-left:3px}
.gym-guide-tip{margin-top:13px;padding:11px 12px;border-left:3px solid var(--v-accent);border-radius:0 10px 10px 0;background:var(--v-accent-soft)}
.gym-guide-tip strong{font-size:10px;color:var(--v-text)}
.gym-guide-tip p{margin:3px 0 0;color:var(--v-muted);font-size:10px;line-height:1.5}
@media(max-width:1050px){.gym-exercise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.gym-saved-plan{grid-template-columns:1fr}.gym-saved-plan-actions{justify-content:flex-start}}
@media(max-width:620px){.gym-exercise-grid{grid-template-columns:1fr}.gym-exercise-option{grid-template-columns:86px minmax(0,1fr);gap:11px;padding:9px}.gym-exercise-art{width:86px;height:68px}.gym-catalog-card,.gym-saved-plans-card{padding:16px}.gym-catalog-heading .gym-catalog-count{font-size:9px;padding:5px 7px}.gym-saved-plans-card .card-head{align-items:flex-start}.gym-start-empty{padding:8px;font-size:9px}.gym-save-plan-controls{align-items:stretch;flex-direction:column}.gym-save-plan-controls .primary-btn{align-self:flex-start}.gym-workout-exercise-head{grid-template-columns:82px minmax(0,1fr);gap:10px}.gym-workout-art{width:82px;height:68px}.gym-guide-panel{padding:17px}.gym-guide-summary{grid-template-columns:1fr}.gym-guide-art{height:126px}.gym-guide-top h2{font-size:18px}}

.gym-guided-mode[hidden]{display:none!important}
.gym-guided-card{display:grid;gap:13px;max-width:720px;margin:0 auto 14px;padding:18px;border:1px solid var(--v-border);border-radius:15px;background:var(--v-raised)}
.gym-guided-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.gym-guided-head h3{margin:4px 0;color:var(--v-text);font-size:20px;letter-spacing:-.035em}
.gym-guided-head p,.gym-guided-foot{margin:0;color:var(--v-muted);font-size:10px;line-height:1.5}
.gym-guided-step{color:var(--v-accent);font-size:9px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.gym-guided-art{position:relative;display:grid;place-items:center;width:100%;height:clamp(155px,28vw,235px);overflow:hidden;border:1px solid var(--v-border);border-radius:13px;background:linear-gradient(145deg,color-mix(in srgb,var(--v-accent-soft) 90%,white),var(--v-surface));cursor:pointer}
.gym-guided-art svg{width:min(330px,75%);height:100%;overflow:visible}
.gym-guided-art span{position:absolute;right:10px;bottom:9px;border-radius:99px;background:var(--v-surface);color:var(--v-muted);padding:5px 8px;font-size:8px}
.gym-guided-progress{display:grid;gap:6px}.gym-guided-progress>div:first-child{display:flex;justify-content:space-between;color:var(--v-muted);font-size:9px}.gym-guided-progress b{color:var(--v-text)}
.gym-guided-set{display:grid;grid-template-columns:70px minmax(90px,1fr) minmax(100px,1fr) auto;gap:9px;align-items:end;padding:12px;border:1px solid var(--v-border);border-radius:11px;background:var(--v-surface)}
.gym-guided-set>strong{align-self:center;color:var(--v-text);font-size:13px}.gym-guided-set>label:not(.gym-guided-check){display:grid;gap:5px;color:var(--v-muted);font-size:9px}.gym-guided-set>label span{display:inline;color:var(--v-faint)}
.gym-guided-check{display:flex;align-items:center;gap:6px;align-self:center;color:var(--v-muted);font-size:9px;white-space:nowrap}.gym-guided-check input{accent-color:var(--v-accent)}
.gym-guided-controls{display:flex;justify-content:space-between;gap:8px}.gym-guided-controls button:disabled{opacity:.5;cursor:default}.gym-guided-empty{padding:18px;border:1px dashed var(--v-border);border-radius:12px;color:var(--v-muted);font-size:11px;line-height:1.5}
@media(max-width:620px){.gym-guided-card{padding:13px}.gym-guided-head{align-items:flex-start;flex-direction:column}.gym-guided-set{grid-template-columns:1fr 1fr}.gym-guided-set>strong{grid-column:1/-1}.gym-guided-check{grid-column:1/-1}.gym-guided-controls{display:grid;grid-template-columns:1fr 1.4fr}.gym-guided-controls button{padding:9px 7px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.gym-exercise-option,.gym-catalog-filter,.gym-exercise-add{transition:none}}
