
.library-page{display:grid;gap:12px}
.library-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.library-header h1{margin:4px 0}
.library-header p{margin:0;color:var(--muted);font-size:12px}
.library-search{position:relative}
.library-search span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:22px}
.library-search input{width:100%;padding:13px 14px 13px 44px;border-radius:15px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.library-filter-tabs{display:flex;gap:8px;overflow:auto;scrollbar-width:none}
.library-filter-tabs::-webkit-scrollbar{display:none}
.library-filter-tabs button{flex:0 0 auto;border:1px solid var(--line);border-radius:12px;padding:8px 11px;background:var(--surface);color:var(--muted);font-weight:800}
.library-filter-tabs button.active{background:var(--text);color:var(--bg)}
.library-subfilters{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.library-subfilters select{padding:11px;border-radius:13px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.library-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}
.library-summary-grid article{padding:12px;border-radius:16px;background:var(--surface);border:1px solid var(--line)}
.library-summary-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
.library-summary-grid strong{display:block;margin-top:4px;font-size:20px}
.library-recommended{display:flex;gap:10px;overflow:auto;padding-bottom:3px;scrollbar-width:none}
.library-recommended::-webkit-scrollbar{display:none}
.library-recommended-card{flex:0 0 230px;border-radius:18px;overflow:hidden;background:var(--surface);border:1px solid var(--line);cursor:pointer}
.library-recommended-card img{width:100%;height:120px;object-fit:cover;display:block}
.library-recommended-card div{padding:12px}
.library-recommended-card strong{display:block}
.library-recommended-card small{display:block;margin-top:4px;color:var(--muted)}
.library-results{display:grid;gap:10px}
.library-card{border-radius:19px;overflow:hidden;background:var(--surface);border:1px solid var(--line);cursor:pointer}
.library-card-visual{position:relative}
.library-card-visual img{width:100%;height:180px;object-fit:cover;display:block}
.library-card-favorite{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.56);color:#fff;font-size:18px}
.library-card-body{padding:13px}
.library-card-head{display:flex;justify-content:space-between;gap:10px}
.library-card-title{font-size:17px;font-weight:900}
.library-card-level{font-size:10px;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.07);color:var(--muted)}
.library-card-meta{font-size:11px;color:var(--muted);margin-top:4px}
.library-card-description{font-size:12px;color:var(--muted);line-height:1.45;margin-top:9px}
.library-card-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.library-card-tags span,.library-detail-tags span{font-size:10px;padding:5px 8px;border-radius:999px;background:rgba(10,132,255,.12);color:#9acfff}
.library-empty{padding:18px;border-radius:18px;border:1px dashed var(--line);color:var(--muted);text-align:center}
.library-detail-modal{display:none;position:fixed;inset:0;z-index:110;background:rgba(0,0,0,.94);padding:18px;overflow:auto}
.library-detail-modal.show{display:block}
.library-detail-sheet{width:min(760px,100%);margin:0 auto;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.library-detail-visual{position:relative}
.library-detail-visual img{width:100%;height:260px;object-fit:cover;display:block}
.library-detail-close,.library-detail-favorite{position:absolute;top:14px;width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.58);color:#fff;font-size:20px}
.library-detail-close{right:14px}
.library-detail-favorite{left:14px}
.library-detail-body{padding:18px}
.library-detail-tags{display:flex;gap:6px;flex-wrap:wrap}
.library-detail-body h2{font-size:28px;margin:10px 0 4px}
.library-detail-body>p{margin:0;color:var(--muted)}
.library-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:15px}
.library-detail-grid article{padding:11px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line)}
.library-detail-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
.library-detail-grid strong{display:block;margin-top:4px;font-size:13px}
.library-detail-section{margin-top:14px;padding:13px;border-radius:16px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07)}
.library-detail-section.warning{background:rgba(255,159,10,.08);border-color:rgba(255,159,10,.22)}
.library-detail-section h3{margin:0 0 8px;font-size:14px}
.library-detail-section p{margin:5px 0;color:var(--muted);font-size:12px;line-height:1.45}
.library-step-list{display:grid;gap:8px}
.library-step{display:grid;grid-template-columns:30px 1fr;gap:9px;align-items:start}
.library-step-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--text);color:var(--bg);font-weight:900}
.library-step-text{font-size:12px;line-height:1.45}
.library-alternative-list{display:flex;gap:7px;flex-wrap:wrap}
.library-alternative-list span{padding:7px 9px;border-radius:11px;background:rgba(10,132,255,.1);color:#b9dcff;font-size:11px}
.library-program-use{margin-top:14px;padding:12px;border-radius:15px;background:rgba(52,199,89,.09);border:1px solid rgba(52,199,89,.22);color:#bfeecb;font-size:12px}
.library-detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}

@media(min-width:760px){
  .library-summary-grid{grid-template-columns:repeat(4,1fr)}
  .library-results{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .library-subfilters,.library-detail-actions{grid-template-columns:1fr}
}

.library-detail-actions{grid-template-columns:1fr}

.exercise-detail-sheet{width:min(1180px,100%);margin:0 auto;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line)}
.exercise-detail-header{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px;border-bottom:1px solid var(--line)}
.exercise-detail-header h2{margin:3px 0 2px;font-size:28px}
.exercise-detail-header p{margin:0;color:var(--muted)}
.exercise-detail-layout{display:grid;grid-template-columns:310px 1fr;gap:0}
.exercise-detail-sidebar{padding:16px;border-right:1px solid var(--line);display:grid;gap:12px;align-content:start}
.exercise-main-image{width:100%;border-radius:18px;background:var(--surface-2);border:1px solid var(--line)}
.exercise-facts{display:grid;gap:8px}
.exercise-facts article{padding:10px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}
.exercise-facts span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
.exercise-facts strong{display:block;margin-top:4px;font-size:13px}
.exercise-detail-main{padding:16px;display:grid;gap:12px}
.exercise-position-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center}
.exercise-position-grid article{padding:12px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line)}
.exercise-position-grid img{width:100%;border-radius:14px;margin-top:8px}
.exercise-position-grid p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.45}
.exercise-position-title{font-size:11px;font-weight:900;color:var(--accent)}
.exercise-motion-arrow{font-size:38px;color:var(--success);font-weight:900}
.exercise-detail-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:10px}
.exercise-mistakes-list{display:grid;gap:8px}
.exercise-mistake{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:start;font-size:12px}
.exercise-mistake b{color:#ff5d55}
.exercise-variant-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.exercise-variant-card{padding:10px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}
.exercise-variant-card strong{display:block;font-size:12px}
.exercise-variant-card span{display:block;margin-top:4px;color:var(--muted);font-size:10px}
.exercise-progression-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.exercise-progression-grid article{padding:11px;border-radius:13px;background:var(--surface-2);border:1px solid var(--line)}
.exercise-progression-grid span{display:block;font-size:10px;color:var(--muted);text-transform:uppercase}
.exercise-progression-grid strong{display:block;margin-top:5px;font-size:13px}
.exercise-log-card{padding:14px;border-radius:18px;background:var(--surface-2);border:1px solid var(--line)}
.exercise-log-head{display:flex;justify-content:space-between;gap:12px}
.exercise-log-head span{font-size:10px;color:var(--muted)}
.exercise-log-head strong{display:block;margin-top:4px}
.exercise-log-table{margin-top:12px}
.exercise-log-row{display:grid;grid-template-columns:55px 1fr 1fr 1fr 55px;gap:7px;align-items:center;margin-top:7px}
.exercise-log-labels{font-size:9px;color:var(--muted);text-transform:uppercase}
.exercise-log-row input[type="number"]{width:100%;padding:8px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.exercise-log-row input[type="checkbox"]{width:22px;height:22px}
.exercise-detail-notes{display:grid;gap:5px;margin-top:12px}
.exercise-detail-notes span{font-size:10px;color:var(--muted);text-transform:uppercase}
.exercise-detail-notes textarea{width:100%;min-height:72px;padding:10px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text)}
.exercise-rpe-box{margin-top:12px;padding:11px;border-radius:13px;background:var(--surface);border:1px solid var(--line)}
.exercise-rpe-box>div{display:flex;justify-content:space-between}
.exercise-rpe-box input{width:100%;margin-top:8px}
@media(max-width:900px){
  .exercise-detail-layout{grid-template-columns:1fr}
  .exercise-detail-sidebar{border-right:0;border-bottom:1px solid var(--line)}
  .exercise-detail-columns{grid-template-columns:1fr}
}
@media(max-width:620px){
  .exercise-position-grid{grid-template-columns:1fr}
  .exercise-motion-arrow{transform:rotate(90deg);text-align:center}
  .exercise-variant-grid,.exercise-progression-grid{grid-template-columns:1fr}
  .exercise-log-row{grid-template-columns:38px 1fr 1fr 1fr 42px}
}

.vector-only-notice{
  padding:9px 10px;
  border-radius:12px;
  background:rgba(52,199,89,.08);
  border:1px solid rgba(52,199,89,.2);
  color:#9ee6b1;
  font-size:10px;
  line-height:1.35;
}
.library-card img,
.library-recommended-card img,
.exercise-main-image,
.exercise-position-grid img{
  image-rendering:auto;
  background:var(--surface-2);
}

.equipment-rules-notice{
  padding:9px 10px;border-radius:12px;
  background:rgba(10,132,255,.08);
  border:1px solid rgba(10,132,255,.2);
  color:#b8d9ff;font-size:10px;line-height:1.35;
}

:root{
  --exercise-card-radius:18px;
  --exercise-panel-border:rgba(255,255,255,.08);
}
.library-card,
.library-recommended-card,
.exercise-detail-sheet,
.exercise-position-grid article,
.library-detail-section,
.exercise-log-card{
  border-radius:var(--exercise-card-radius);
  border-color:var(--exercise-panel-border);
}
.library-card-title,
.exercise-detail-header h2,
.library-detail-section h3,
.exercise-position-title{
  letter-spacing:.01em;
}
.library-card img,
.library-recommended-card img,
.exercise-main-image,
.exercise-position-grid img{
  object-fit:cover;
  aspect-ratio:16/10;
}
.library-card-tags span,
.library-detail-tags span{
  border:1px solid rgba(255,255,255,.08);
}
.exercise-position-title{
  color:var(--accent);
}
.exercise-motion-arrow{
  color:var(--success);
}

/* 13E — ottimizzazione iPhone */
.library-card img,
.library-recommended-card img,
.exercise-main-image,
.exercise-position-grid img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  max-width:100%;
  background:var(--surface-2);
}
.exercise-detail-sheet{
  min-height:100dvh;
}
.library-detail-modal{
  padding:max(8px, env(safe-area-inset-top))
          max(8px, env(safe-area-inset-right))
          max(8px, env(safe-area-inset-bottom))
          max(8px, env(safe-area-inset-left));
}
.exercise-detail-header{
  position:sticky;
  top:0;
  z-index:5;
  backdrop-filter:blur(18px);
  background:color-mix(in srgb, var(--surface) 88%, transparent);
}
@media(max-width:430px){
  .exercise-detail-header h2{font-size:22px;line-height:1.15}
  .exercise-detail-header p{font-size:12px}
  .exercise-detail-main,.exercise-detail-sidebar{padding:12px}
  .exercise-position-grid article{padding:9px}
  .exercise-position-title{font-size:10px}
  .exercise-position-grid p{font-size:12px;line-height:1.4}
  .library-detail-section h3{font-size:15px}
  .library-step-text,.exercise-mistake{font-size:12px;line-height:1.45}
  .exercise-main-image{border-radius:14px}
  .library-card-visual img{min-height:0}
  .exercise-log-row{gap:5px}
  .exercise-log-row input[type="number"]{font-size:16px}
  .exercise-detail-notes textarea{font-size:16px}
  .library-search input,.library-subfilters select{font-size:16px}
}
@media(max-width:390px){
  .exercise-detail-header{grid-template-columns:40px 1fr 40px}
  .exercise-detail-header h2{font-size:20px}
  .exercise-facts{grid-template-columns:1fr 1fr}
  .exercise-facts article{padding:9px}
  .exercise-facts strong{font-size:12px}
}

/* v1.9 exercise detail cleanup */
.exercise-main-image{max-height:190px;aspect-ratio:16/8;object-fit:contain;padding:8px}
.exercise-position-grid img{max-height:180px;aspect-ratio:16/9;object-fit:contain}
.library-detail-tags span{padding:6px 9px;border-radius:999px;background:rgba(10,132,255,.10);color:#b8d9ff;font-size:10px;font-weight:800}
.exercise-facts{grid-template-columns:1fr 1fr}
@media(max-width:430px){.exercise-main-image{max-height:155px}.exercise-position-grid img{max-height:150px}}
.library-reset{margin:12px 0 4px;width:100%}
@media(max-width:640px){.library-subfilters{grid-template-columns:1fr!important}.library-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.library-results{grid-template-columns:1fr!important}.library-filter-tabs{overflow-x:auto;display:flex;scrollbar-width:none}.library-filter-tabs button{white-space:nowrap;flex:0 0 auto}.library-card-head{gap:8px}.library-card-tags{overflow-wrap:anywhere}}
.exercise-image-shell{display:grid;place-items:center;min-width:0;overflow:hidden;border-radius:inherit}
.exercise-image-shell>img{width:100%;height:100%;object-fit:contain;display:block}
.exercise-image-error{display:grid;place-items:center;min-height:96px;padding:12px;color:var(--muted);font-size:12px;text-align:center;background:var(--surface-2);border:1px dashed var(--line);border-radius:14px}
.exercise-image-error[hidden]{display:none}
