/* Biblioteca de exercicios (curados + ExerciseDB): busca, filtros, grade com miniaturas e "Mostrar mais". Funciona no tema claro e no escuro. */
#exercises[data-exlib]>:not(#exLibHost){display:none!important}
.exlib{display:grid;gap:14px;min-width:0}
.exlib .titlebar{margin-top:9px}
.exb{display:grid;gap:12px;min-width:0}
.exb-search{display:grid;gap:6px}
.exb-q{width:100%;min-height:44px;padding:9px 12px;border-radius:10px;font:inherit;font-size:14px;box-sizing:border-box}
.exb-chips{display:flex;flex-wrap:wrap;gap:7px}
.exb-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
.exb-sel{display:grid;gap:5px;min-width:0}
.exb-select{width:100%;min-width:0;min-height:44px;padding:8px 10px;border-radius:10px;border:1px solid currentColor;border-color:#8a968f66;background:transparent;color:inherit;font:inherit;font-size:13px}
.exb-select option{color:#14201b;background:#fff}
.exb-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px}
.exb-count{margin:0;font-size:13px;font-weight:700;opacity:.85}
.exb-empty{display:grid;gap:8px;justify-items:start;padding:18px;border:1px dashed #8a968f88;border-radius:12px}
.exb-empty[hidden],.exb-list[hidden]{display:none}
.exb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px}
.exb-card{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;padding:8px;scroll-margin-top:calc(var(--exb-top,0px) + 120px);text-align:left;border-radius:14px;border:1px solid #8a968f55;background:#ffffff0d;color:inherit;cursor:pointer;min-width:0}
.exb-card:hover{border-color:var(--lime);transform:translateY(-1px)}
.exb-card:focus-visible,.exb-select:focus-visible,.exb-q:focus-visible,.exb-more:focus-visible{outline:2px solid var(--lime);outline-offset:2px}
.exb-card-text{display:grid;gap:3px;min-width:0}
.exb-card-text strong{font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.exb-card-text small{font-size:12px;opacity:.75}
.exb-seal{display:inline-block;justify-self:start;max-width:100%;padding:1px 8px;border-radius:99px;border:1px solid #8a968f66;font-size:11px;line-height:1.5;opacity:.85;overflow-wrap:anywhere}
.exb-list.exb-list{list-style:none;margin:0;padding:0}
.exb-morewrap{display:flex;justify-content:center}
.exb-more{min-height:44px}
/* thumbnails */
.exth{display:grid;place-items:center;overflow:hidden;border-radius:10px;background:#eef2ec;color:var(--green);flex:none}
.exth img{width:100%;height:100%;object-fit:cover;display:block}
.exth svg{width:60%;height:60%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.exth-lg{width:100%;aspect-ratio:1/1}
.exth-md{width:44px;height:44px;min-width:44px}
.exth-row{width:72px;height:72px;min-width:72px}
.exth-ph svg{width:55%;height:55%}
.exth svg.muscle-diagram{width:auto;height:92%}
.edb-facts-row{display:flex;gap:14px;align-items:flex-start}
.edb-muscles{flex:none}
.edb-muscles .muscle-diagram{display:block;background:#eef2ec;border-radius:10px;padding:6px}
.ex-art.exth,.ex-art-gif{width:44px;height:44px;min-width:44px;overflow:hidden;background:#eef2ec}
.ex-art-gif .exth{width:100%;height:100%;border-radius:inherit}
.ex-art-gif::after{display:none}
.plan-library .exb-list{max-height:460px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-right:2px}
.plan-library .exb-list>li{min-width:0}
.plan-library .lib-item{grid-template-columns:auto minmax(0,1fr) auto}
.plan-library .exb-q,.plan-library .exb-select{background:#ffffff0d;color:var(--ink);border-color:#ffffff30}
/* pop-up ExerciseDB */
.edb-visual{display:grid;place-items:center;padding:12px}
.edb-gif{width:min(100%,360px);height:auto;aspect-ratio:1/1;border-radius:12px;background:#fff;display:block}
.edb-facts{list-style:none;padding:0!important;display:grid;gap:6px}
.edb-note{margin:12px 0 0;font-size:12px;color:#9fb3a6}
.edb-credit{margin:4px 0 14px;font-size:12px;color:#9fb3a6}
.edb-credit a{color:inherit;text-decoration:underline}
@media(max-width:900px){.plan-library .exb-list{grid-template-columns:1fr}}
@media(max-width:560px){.exb-grid{grid-template-columns:minmax(0,1fr)}.exb-filters{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.exb-card:hover{transform:none}}

/* filtro anatomico (circulos), busca fixa, equipamento, separadores */
.exb-anat{gap:10px}
.exb-sticky{position:sticky;top:var(--exb-top,0px);z-index:3;display:grid;gap:6px;padding:8px 0 6px;background:var(--paper,#f3f6f1);box-shadow:0 8px 10px -8px #0004}
.exb-barinfo{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0}
.exb-sum{font-size:12px;opacity:.75;overflow-wrap:anywhere}
.exb-sum:empty{display:none}
.exb-clear{min-height:36px}
.exa-strip{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:6px 2px 8px;max-width:100%;min-width:0;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.exa-item{flex:none;display:grid;justify-items:center;gap:5px;width:72px;min-height:44px;padding:2px 0;background:none;border:0;color:var(--ink);cursor:pointer;scroll-snap-align:center;font:inherit}
.exa-circle{display:grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#e8ece6;border:2px solid #b9c3bb;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}
.exa-svg{width:42px;height:42px;display:block;--exa-hi:#c8f169}
.exa-label{font-size:12px;line-height:1.2;font-weight:500;text-align:center;overflow-wrap:anywhere}
.exa-item:hover .exa-circle{border-color:var(--green)}
.exa-item.on .exa-circle{border:4px solid var(--green);background:#f2f5ef;box-shadow:0 0 0 2px var(--lime)}
.exa-item.on .exa-label{font-weight:900;text-decoration:underline;text-underline-offset:3px}
.exa-item:focus-visible{outline:none}
.exa-item:focus-visible .exa-circle{outline:3px solid var(--ink);outline-offset:3px}
.exb-refine{display:flex}
.exb-refine[hidden]{display:none}
.exb-equipwrap{display:grid;gap:4px;min-width:0}
.exb-equipbar{min-width:0;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:4px;-webkit-overflow-scrolling:touch}
.exb-equip{flex-wrap:nowrap}
.exb-equip .chip{flex:none;white-space:nowrap}
.exb-refine-chips .chip,.exb-equip .chip{min-height:44px}
.exb-letter{grid-column:1/-1;margin:8px 0 0;padding:4px 10px;border-left:4px solid var(--lime);border-bottom:1px solid #8a968f44;font-size:15px;font-weight:900;letter-spacing:.04em;scroll-margin-top:calc(var(--exb-top,0px) + 130px)}
.exb-letter-li{list-style:none;grid-column:1/-1}
.exb-review{justify-self:start;font-size:11px;padding:1px 8px;border-radius:99px;border:1px dashed #d98a2b;color:#b86b12}
.exb-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.exb-skel{height:220px;border-radius:14px;background:linear-gradient(90deg,#8a968f1a,#8a968f2e,#8a968f1a);background-size:200% 100%;animation:exbs 1.4s linear infinite}
@keyframes exbs{to{background-position:-200% 0}}
.exb-top{position:fixed;right:16px;bottom:24px;z-index:6;display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border-radius:99px;border:2px solid var(--green);background:var(--lime);color:#14200f;font-weight:800;font-size:13px;box-shadow:0 8px 20px #0003;cursor:pointer}
.exb-top[hidden]{display:none}
.exb-top:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.plan-library .exb-letter{font-size:12px;padding:2px 8px;margin:4px 0 0}
.plan-library .exb-letter-li{grid-column:1/-1}
@media(max-width:660px){.exb-top{bottom:calc(84px + env(safe-area-inset-bottom));right:12px}.exb-top-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.exb-top{width:48px;height:48px;padding:0;justify-content:center;font-size:20px}}
@media(prefers-reduced-motion:reduce){.exb-skel{animation:none}.exa-circle{transition:none}}
.exa-svg{width:50px;height:50px}
@media(min-width:900px){.exb-equipbar{overflow:visible}.exb-equip{flex-wrap:wrap}}
.exb-favwrap{position:relative;min-width:0}.exb-star{position:absolute;top:6px;right:6px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#0b1210cc;color:var(--muted);font-size:20px;cursor:pointer}.exb-star.on{color:#ffd54a}.exb-star:focus-visible{outline:2px solid #fff;outline-offset:2px}.exb-favfilter.on{border-color:#ffd54a;color:#ffd54a}
