/* P1-B: existing Adaptive Glass and P1-A Coach semantic tokens; no global restyling. */
.mzlib{display:grid;gap:var(--coach-gap);min-width:0}.mzlib h1{font-size:1.35rem}.mzlib .mzc-heading{flex-wrap:wrap;align-items:start}.mzlib .mzc-heading>div{min-width:0}.mzlib .mzc-heading p{margin-block-start:6px}
.mzl-tools{padding:14px!important}.mzl-muscles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.mzl-muscles .btn{font-size:.85rem;padding:8px 4px}.mzl-filter-top{display:flex;gap:8px;flex-wrap:wrap}.mzl-filter-top .btn{flex:1}
.mzl-filters summary,.mzl-technique summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;font-weight:600}.mzl-filters summary::before,.mzl-technique summary::before{content:'＋';font-weight:400}.mzl-filters[open] summary::before,.mzl-technique[open] summary::before{content:'−'}.mzl-filter-grid{display:grid;gap:12px;margin-block-start:10px}.mzl-filter-grid select{min-height:48px}
.mzl-list{display:grid;gap:10px;min-width:0;scroll-margin-block-start:12px}.mzl-list[aria-busy="true"]{opacity:.65}.mzl-count{padding-inline:4px}.mzl-card{display:grid;grid-template-columns:88px minmax(0,1fr) 44px;gap:10px;align-items:start;min-width:0;padding:12px;border:1px solid var(--v2-edge,var(--line));border-radius:var(--coach-radius);background:var(--v2-glass,var(--surface));box-shadow:var(--v2-inner,none),var(--v2-shadow,none)}
.mzlib .mzl-poster{position:relative;width:88px;height:88px;min-height:88px;overflow:hidden;border-radius:12px;background:var(--soft);padding:0;border:1px solid var(--line)}.mzl-poster img{width:100%;height:100%;object-fit:cover;display:block}.mzl-play{position:absolute;inset-inline-start:5px;inset-block-end:5px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--coach-accent);color:var(--bg,var(--surface));pointer-events:none}.mzl-play svg{width:16px;height:16px}.mzl-no-media{display:grid;align-content:center;font-size:.68rem;color:var(--muted);height:100%;padding:4px;text-align:center;overflow-wrap:anywhere}
.mzl-copy{display:grid;gap:6px;min-width:0}.mzlib .mzl-title{display:block;background:transparent!important;border:0;box-shadow:none;padding:0;text-align:start;justify-content:start;border-radius:4px;min-height:44px;width:100%;color:var(--ink);font-size:.95rem;font-weight:650;line-height:1.5}.mzl-copy p{font-size:.75rem;line-height:1.5;overflow-wrap:anywhere}.mzl-copy>.btn.sm{padding:6px;font-size:.8rem;justify-self:start;min-width:44px}
.mzlib .mzl-heart{display:grid;place-items:center;min-width:44px;width:44px;height:44px;padding:10px;border-radius:50%;background:var(--soft);color:var(--muted);border:1px solid var(--line)}.mzl-heart svg{width:22px;height:22px}.mzlib .mzl-heart[aria-pressed="true"]{color:var(--coach-accent);border-color:var(--coach-accent);box-shadow:none}.mzl-heart[aria-pressed="true"] svg path{fill:currentColor}
.mzl-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-block:8px}.mzl-pages .btn{min-width:44px;font-size:.8rem;padding:8px}.mzl-pages span{white-space:nowrap}.mzl-pages .btn:disabled{opacity:.5}.mzl-empty{min-height:140px;align-content:center;text-align:center}.mzl-loading{min-height:160px;align-content:center;text-align:center}.mzl-targets{display:grid;gap:8px;padding-block:8px}.mzl-targets p{font-size:.9rem}.mzl-technique ol{padding-inline-start:20px;margin:0;display:grid;gap:12px;line-height:1.8}.mzl-detail .label{font-size:.8rem}.mzl-detail .btn[hidden]{display:none!important}.mzl-detail .mzp{min-width:0}.mzl-detail .mzp-bar{gap:6px}.mzl-detail .mzp-btn{padding:0 10px}
.mzl-filters summary:focus-visible,.mzl-technique summary:focus-visible{outline:2px solid var(--coach-accent);outline-offset:2px}#mzlFavoriteStatus:empty{display:none}#mzlFavoriteStatus{display:grid;gap:8px}
@media(max-width:350px){.mzl-card{grid-template-columns:72px minmax(0,1fr) 44px;gap:8px;padding:10px}.mzlib .mzl-poster{width:72px;height:80px;min-height:80px}.mzlib .mzl-title{font-size:.86rem}.mzl-copy p{font-size:.7rem}.mzl-pages .btn{max-width:39%}}
@media(min-width:768px){.mzl-list{grid-template-columns:repeat(2,minmax(0,1fr))}.mzl-count,.mzl-pages,.mzl-empty{grid-column:1/-1}.mzl-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mzl-muscles{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.mzlib *{scroll-behavior:auto!important;transition:none!important}}
@media(forced-colors:active){.mzl-card,.mzlib .mzl-heart,.mzlib .mzl-poster{border-color:ButtonText}.mzl-heart[aria-pressed="true"]{outline:2px solid Highlight}.mzl-play{background:ButtonFace;color:ButtonText}}
.mzlib .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Override the legacy 38px .btn.sm rule only inside the new library. */
.mzc .mzlib .btn{min-height:44px;min-width:44px}
.mzc .mzlib .mzl-muscles .btn:not([aria-pressed="true"]){background:var(--soft);color:var(--ink);border-color:var(--line);box-shadow:none}.mzlib input::placeholder{color:var(--muted);opacity:1}
