/* مربی هوشمند نت — تمام سلکتورها زیر .npc محدود شده‌اند تا با قالب سایت تداخل نکنند */
.npc{--bg:#0e1626;--card:#16213a;--line:#2a3a5c;--text:#eef2fa;--mut:#93a1bd;--gold:#e8b04a;--ok:#4cc38a;--err:#ef6b6b;--blue:#5b8def}
.npc *{box-sizing:border-box;margin:0}
.npc{font-family:Vazirmatn,Tahoma,sans-serif;background:var(--bg);color:var(--text);padding:12px 12px 40px;line-height:1.8;min-height:100vh}
.npc h1{font-size:18px;font-weight:800}
.npc .sub{color:var(--mut);font-size:13px;margin-bottom:10px}
.npc .box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;margin-bottom:10px}
.npc .row{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}
.npc .row>b{font-size:13px;color:var(--mut);min-width:64px}
.npc .seg{display:flex;gap:4px;flex:1}
.npc .seg button{flex:1;background:#0c1220;border:1px solid var(--line);color:var(--mut);border-radius:10px;padding:6px 2px;font:inherit;font-size:13px;cursor:pointer}
.npc .seg button.on{background:var(--gold);color:#1a1205;border-color:var(--gold);font-weight:800}
.npc .btn{display:block;width:100%;background:var(--gold);color:#1a1205;border:0;border-radius:12px;padding:12px;font:inherit;font-weight:800;cursor:pointer;margin-top:6px}
.npc .btn.alt{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.npc .btn:disabled{opacity:.45}
.npc canvas{display:block;width:100%;border-radius:14px;background:#0a1020;border:1px solid var(--line);direction:ltr}
.npc .tuner{display:flex;align-items:center;gap:12px;margin:8px 0}
.npc .tn{font-size:22px;font-weight:800;min-width:96px;text-align:center}
.npc .gauge{position:relative;flex:1;height:14px;background:#0c1220;border:1px solid var(--line);border-radius:8px;overflow:hidden;direction:ltr}
.npc .gauge i{position:absolute;top:0;bottom:0;width:4px;left:50%;background:var(--mut);transform:translateX(-50%)}
.npc .gauge u{position:absolute;top:0;bottom:0;left:50%;width:2px;background:var(--line)}
.npc .cents{font-size:13px;color:var(--mut);min-width:70px;text-align:center}
.npc .mut{color:var(--mut);font-size:13px}
.npc .res{display:none;text-align:center}
.npc .res .st{font-size:34px;letter-spacing:4px}
.npc .res .big{font-size:40px;font-weight:800;color:var(--gold)}
.npc .want{display:none;text-align:center;font-size:20px;font-weight:800;color:var(--gold);margin:8px 0 2px;min-height:32px}
.npc .want small{font-size:13px;color:var(--mut);font-weight:400}
.npc .want.wait{animation:npcpl 1s ease-in-out infinite}
@keyframes npcpl{50%{opacity:.55}}
.npc .warn{background:#3a2a12;border:1px solid #6b4e1c;color:#f3d9a6;border-radius:12px;padding:8px 10px;font-size:13px;margin-bottom:10px;display:none}
.npc details summary{cursor:pointer;color:var(--gold);font-size:13px;margin-bottom:6px}
.npc input[type=range]{flex:1;direction:ltr}
.npc .tempo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px}
.npc .tempo .tm{display:flex;align-items:center;gap:6px;font-weight:800;font-size:18px;direction:ltr;color:var(--gold)}
.npc .tempo .tm svg{display:block}
.npc .tempo .meter{font-size:13px;color:var(--mut)}
.npc .beats{display:flex;align-items:center;gap:6px;direction:ltr;margin-inline-start:auto}
.npc .beats i{width:10px;height:10px;border-radius:50%;background:#0c1220;border:1px solid var(--line)}
.npc .beats i.m{width:15px;height:15px}
.npc .beats i.on{background:var(--gold);border-color:var(--gold)}
.npc input[type=number]{width:80px;background:#0c1220;border:1px solid var(--line);color:var(--text);border-radius:8px;padding:4px 8px;font:inherit}
.npc #gate{text-align:center;padding:60px 18px}#gate p{margin-bottom:14px}
.npc{max-width:760px;margin:0 auto;border-radius:18px;direction:rtl;text-align:right}
.npc a{color:var(--gold)}
.npc a.btn{text-decoration:none;text-align:center;color:#1a1205}
.npc a.btn.alt{color:var(--gold)}
.npc.npc-list{min-height:0}
.npc.npc-list:not(.npc-shop){max-width:1100px}
.npc .piece h2{font-size:16px;font-weight:800;margin:0 0 2px}
.npc .piece .tag{display:inline-block;font-size:11px;border-radius:8px;padding:0 8px;margin-inline-start:6px;background:#0c1220;border:1px solid var(--line);color:var(--mut)}
.npc .piece .tag.ok{color:var(--ok);border-color:var(--ok)}
.npc .piece .npc-thumb{display:block;width:100%;height:auto;border-radius:12px;margin:0 0 10px}
/* شبکهٔ کارت‌ها: عکس همیشه هم‌اندازه (پیش‌فرض ۴:۳)، حتی اگر عکس اصلی عمودی/بزرگ باشد */
.npc .npc-grid{display:grid;gap:12px;align-items:stretch}
.npc .npc-grid.npc-cols-1{grid-template-columns:minmax(0,1fr)}
.npc .npc-grid.npc-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.npc .npc-grid.npc-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.npc .npc-grid.npc-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.npc .npc-grid .piece{display:flex;flex-direction:column;margin-bottom:0}
.npc .npc-grid .piece .npc-thumb{aspect-ratio:var(--npc-ratio,4/3);object-fit:var(--npc-fit,contain);object-position:center;height:auto;background:#0a1020}
.npc.npc-shop .npc-grid .piece .npc-thumb{background:#f4efe3}
.npc .npc-zoom{display:block;cursor:zoom-in;line-height:0}
.npc .npc-grid .piece h2 a.npc-tl{color:inherit;text-decoration:none}
.npc .npc-grid .piece h2{font-size:15px;line-height:1.7}
.npc .npc-grid .piece .btn{width:auto;display:block}
.npc .npc-grid .piece>.btn:first-of-type{margin-top:auto}
.npc .npc-desc{font-size:13px;color:var(--mut);line-height:1.9;margin:4px 0 8px;overflow-wrap:anywhere}
.npc .npc-grid .npc-desc{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.npc .npc-descwrap{margin:4px 0 14px}
.npc .npc-descwrap .npc-desc{margin:0 0 6px}
.npc .npc-more{display:inline-block;background:none;border:0;padding:2px 0;font:inherit;font-size:12.5px;font-weight:700;color:var(--gold);cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.npc.npc-shop .npc-more{color:#0d6efd}
.npc a.npc-more{text-decoration:underline;display:inline-block}
.npc .npc-grid .npc-descwrap.open .npc-desc{display:block;-webkit-line-clamp:unset;overflow:visible}
.npc .npc-desc.full{display:block;-webkit-line-clamp:unset;font-size:13px;color:var(--text);margin:0}
.npc .npc-aboutbox .row{margin-bottom:2px}


/* ===== حالت تمام‌صفحه (پلیر): کل صفحه را می‌گیرد و قالب سایت را می‌پوشاند ===== */
html.npc-lock,html.npc-lock body{overflow:hidden!important;height:100%}
.npc#np-coach-app{position:fixed;inset:0;z-index:2147483000;max-width:none;width:100%;height:100%;margin:0;border-radius:0;min-height:0;
  padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0);
  overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.npc#np-coach-app #gate{padding-top:30vh}
.npc#np-coach-app #app{min-height:100%}
.npc .npc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px 0}
.npc .npc-titles{min-width:0}
.npc .npc-titles .sub{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.npc .npc-tools{display:flex;gap:6px;flex-shrink:0}
.npc .npc-ib{background:#0c1220;border:1px solid var(--line);color:var(--gold);border-radius:10px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer;line-height:1.6;white-space:nowrap}
.npc .npc-ib:active{background:var(--card)}
.npc .warn{margin:8px 12px 0}
.npc .npc-layout{display:flex;flex-direction:column;gap:10px;padding:10px 12px 28px}
.npc .npc-main{display:flex;flex-direction:column;min-width:0}
.npc .npc-side{min-width:0}
.npc .npc-main>.box.tempo{margin-bottom:8px}
/* موبایل (عمودی): بوم‌ها به‌اندازهٔ ارتفاع صفحه */
.npc #cv{height:clamp(200px,34vh,420px)}
.npc #st{height:170px}
.npc .npc-main .btn{margin-top:6px}
/* دسکتاپ / تبلت افقی: دو ستون — تنظیمات کنار، بوم‌ها بزرگ */
@media (min-width:900px) and (min-height:560px){
  .npc#np-coach-app{overflow:hidden;display:flex;flex-direction:column}
  .npc#np-coach-app #app{display:flex;flex-direction:column;height:100%;min-height:0}
  .npc .npc-head{padding:12px 20px 0}
  .npc .npc-layout{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-template-rows:minmax(0,1fr);gap:16px;padding:12px 20px 16px}
  .npc .npc-layout{direction:ltr}   /* پلیر چپ، تنظیمات راست */
  .npc .npc-layout>*{direction:rtl}
  .npc .npc-side{overflow-y:auto;padding-inline-end:4px}
  .npc .npc-main{min-height:0;overflow-y:auto}
  .npc .npc-main>*{flex-shrink:0}
  .npc #cv{flex:1 1 0;height:0;min-height:240px}
  .npc #st{flex:none;height:170px}
}
/* موبایل افقی (ارتفاع کم): بوم کوتاه‌تر تا دکمه‌ها دیده شوند */
@media (max-height:520px) and (orientation:landscape){
  .npc #cv{height:clamp(150px,46vh,260px)}
  .npc .npc-ib span{display:none}
}
@media (max-width:420px){.npc .npc-ib span{display:none}}

/* ویترین مربی هوشمند: هماهنگ با ظاهر روشن سایت */
.npc.npc-shop{--bg:transparent;--card:#fffef6;--line:#e3b94d;--text:#222;--mut:#666;max-width:none;background:transparent;padding:12px 0 30px;border-radius:0}
.npc.npc-shop .box{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px}
.npc.npc-shop a.btn{background:#0d6efd;color:#fff;border-radius:8px}
.npc.npc-shop a.btn.alt{background:transparent;color:#0d6efd;border:1px solid #0d6efd}
.npc.npc-shop .piece .tag.ok{background:#e9f8ef}
.npc-share{display:flex;gap:6px;margin-top:8px}
.npc-share .sh{flex:1;text-align:center;border:0;border-radius:8px;padding:6px 4px;font:inherit;font-size:13px;cursor:pointer;text-decoration:none;line-height:1.7}
.npc.npc-shop .npc-share a.sh{color:#fff}
.npc-share .tg{background:#1b8be0}
.npc-share .wa{background:#25b866}
.npc-share .cp{background:#ece8e2;color:#444}

/* پاپ‌آپ عکس (خارج از .npc ساخته می‌شود) */
.npc-lb{position:fixed;inset:0;z-index:2147483600;background:rgba(0,0,0,.88);display:flex;align-items:center;justify-content:center;padding:16px;cursor:zoom-out}
.npc-lb img{max-width:96vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:10px;box-shadow:0 8px 40px rgba(0,0,0,.6);cursor:default}
.npc-lb-x{position:absolute;top:12px;inset-inline-end:14px;width:40px;height:40px;border-radius:50%;border:0;background:rgba(255,255,255,.18);color:#fff;font-size:20px;cursor:pointer;line-height:1}

/* صفحه‌بندی */
.npc .npc-pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:14px 0 0}
.npc .npc-pager a{min-width:34px;text-align:center;padding:2px 10px;border:1px solid var(--line);border-radius:8px;text-decoration:none;color:var(--text);font-size:14px;line-height:1.9;background:var(--card)}
.npc .npc-pager a.on{background:var(--gold);border-color:var(--gold);color:#1a1205;font-weight:800}

/* تبلت: سه ستون، کمی فشرده‌تر */
@media (max-width:900px){
  .npc:not(.npc-shop) .npc-grid{gap:10px}
  .npc:not(.npc-shop) .npc-grid .piece{padding:10px;border-radius:14px}
  .npc:not(.npc-shop) .npc-grid .piece h2{font-size:14px}
  .npc:not(.npc-shop) .npc-grid .piece .btn{padding:8px;font-size:13px}
}
/* موبایل: همچنان سه ستون؛ کارت جمع‌وجور، فقط عکس + عنوان + قیمت + یک دکمه */
@media (max-width:640px){
  .npc.npc-list:not(.npc-shop){padding-left:6px;padding-right:6px}
  .npc:not(.npc-shop) .npc-grid{gap:6px}
  .npc:not(.npc-shop) .npc-grid .piece{padding:5px;border-radius:12px}
  .npc:not(.npc-shop) .npc-grid .piece .npc-thumb{border-radius:8px;margin-bottom:5px}
  .npc:not(.npc-shop) .npc-grid .piece h2{font-size:11px;line-height:1.6;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.2em}
  .npc:not(.npc-shop) .npc-grid .piece .tag{display:block;margin:2px 0 0;font-size:9px;padding:0 4px;width:max-content}
  .npc:not(.npc-shop) .npc-grid .piece .sub,.npc:not(.npc-shop) .npc-grid .piece .npc-desc,.npc:not(.npc-shop) .npc-grid .piece .npc-share,.npc:not(.npc-shop) .npc-grid .piece .btn.alt:not(.npc-pdf){display:none}
  .npc:not(.npc-shop) .npc-grid .piece .row{font-size:11px;margin:0 0 4px;gap:2px}
  .npc:not(.npc-shop) .npc-grid .piece .row .mut{display:none}
  .npc:not(.npc-shop) .npc-grid .piece .row b{font-size:11px;min-width:0;color:var(--text)}
  .npc:not(.npc-shop) .npc-grid .piece .btn{padding:5px 2px;font-size:11px;border-radius:8px;margin-top:2px}
  .npc:not(.npc-shop) .npc-grid .piece .npc-descwrap{margin:0 0 6px}
  .npc:not(.npc-shop) .npc-grid .piece .npc-more{font-size:10.5px;padding:2px 0;display:block;width:100%;text-align:start;line-height:1.6}
  .npc:not(.npc-shop) .npc-grid .piece .npc-descwrap.open .npc-desc{display:block;font-size:11px;line-height:1.8;margin:0 0 4px;-webkit-line-clamp:unset;overflow:visible}
  .npc:not(.npc-shop) .npc-pager a{min-width:30px;padding:0 8px}
}
/* ویترین مربی هوشمند در موبایل: دقیقاً مثل دسکتاپ (توضیح، دانلود PDF، اشتراک‌گذاری) در یک ستون */
@media (max-width:640px){
  .npc.npc-shop .npc-grid,.npc.npc-shop .npc-grid[class*=npc-cols-]{grid-template-columns:minmax(0,1fr)}
}

/* ===== پلیر در موبایل (عمودی): فشرده و یکدست، مثل نسخهٔ تلگرام ===== */
@media (max-width:640px){
  .npc#np-coach-app{font-size:14px!important;line-height:1.7}
  .npc#np-coach-app h1{font-size:15px!important;color:var(--gold)!important;font-weight:800;line-height:1.5;margin:0;white-space:nowrap;flex-shrink:0}
  .npc#np-coach-app .npc-head{padding:8px 10px 0;gap:6px;flex-wrap:nowrap}
  .npc#np-coach-app .npc-titles{display:flex;align-items:center;gap:6px;flex:1;min-width:0}
  .npc#np-coach-app .npc-titles .sub{font-size:12px!important;margin:0;flex:1;min-width:0}
  .npc#np-coach-app .npc-tools{order:-1;gap:4px}
  .npc#np-coach-app .npc-ib{padding:2px 8px;font-size:14px;border-radius:8px;line-height:1.6;background:transparent;border-color:transparent}
  .npc#np-coach-app .npc-ib span{display:none}
  .npc#np-coach-app .npc-layout{padding:8px 10px 20px;gap:8px}
  .npc#np-coach-app .box{border-radius:14px;padding:8px 10px}
  .npc#np-coach-app .tempo{gap:8px;padding:6px 10px}
  .npc#np-coach-app .tempo .tm{font-size:15px}
  .npc#np-coach-app .tempo .meter,.npc#np-coach-app .mut{font-size:12px}
  .npc#np-coach-app .beats i{width:9px;height:9px}
  .npc#np-coach-app .beats i.m{width:13px;height:13px}
  .npc#np-coach-app #cv{height:clamp(170px,30vh,300px)}
  .npc#np-coach-app #st{height:130px}
  .npc#np-coach-app .npc-main .btn{padding:9px 6px;font-size:14px;margin-top:5px}
  .npc#np-coach-app .tuner{margin:4px 0}
  .npc#np-coach-app .tn{font-size:18px;min-width:70px}
}
