/* YM Lessons — header, grids, login boxes. Mobile first. */
:root{--ymh-bg:#0f172a;--ymh-accent:#2563eb;--ym-radius:14px}

/* ------------------------------- header -------------------------------- */
.ymh{position:sticky;top:0;z-index:9999;background:var(--ymh-bg);color:#fff;
  font:500 15px/1.4 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  box-shadow:0 1px 0 rgba(255,255,255,.06),0 6px 24px rgba(2,6,23,.18)}
.ymh *,.ymh *::before,.ymh *::after{box-sizing:border-box}
.ymh-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 14px;min-height:58px}
.ymh-brand{display:flex;align-items:center;gap:9px;color:#fff;text-decoration:none;font-weight:800;letter-spacing:.2px;flex:0 0 auto}
.ymh-brand img{height:30px;width:auto;display:block;border-radius:7px}
.ymh-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:9px;background:var(--ymh-accent);font-size:13px;text-transform:uppercase}
.ymh-name{white-space:nowrap;max-width:46vw;overflow:hidden;text-overflow:ellipsis}
.ymh-nav{display:flex;align-items:center;gap:4px;margin-left:6px;overflow:auto;scrollbar-width:none}
.ymh-nav::-webkit-scrollbar{display:none}
.ymh-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;color:#e2e8f0;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.ymh-link:hover{background:rgba(255,255,255,.10);color:#fff}
.ymh-link.is-active{background:var(--ymh-accent);color:#fff;font-weight:700}
.ymh-right{margin-left:auto;display:flex;align-items:center;gap:10px}
.ymh-search{position:relative}
.ymh-search input[type=search]{width:190px;padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);color:#fff;font:inherit;outline:none}
.ymh-search input::placeholder{color:rgba(226,232,240,.7)}
.ymh-search input:focus{border-color:var(--ymh-accent);background:rgba(255,255,255,.14)}
.ymh-btn{padding:8px 16px;border-radius:999px;background:var(--ymh-accent);color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.ymh-acc{position:relative}
.ymh-avatar{width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;background:var(--ymh-accent);color:#fff;font:800 15px/1 system-ui;display:grid;place-items:center}
.ymh-drop{position:absolute;right:0;top:46px;min-width:200px;background:#fff;color:#0f172a;border-radius:12px;padding:8px;
  box-shadow:0 18px 40px rgba(2,6,23,.28);display:grid;gap:2px}
.ymh-drop[hidden]{display:none}
.ymh-drop a{padding:9px 10px;border-radius:9px;color:#0f172a;text-decoration:none;font-size:14px}
.ymh-drop a:hover{background:#f1f5f9}
.ymh-user{padding:8px 10px;font-weight:800;font-size:13px;color:#64748b;border-bottom:1px solid #e2e8f0;margin-bottom:4px}
.ymh-burger{display:none;width:40px;height:38px;border:0;border-radius:10px;background:rgba(255,255,255,.10);cursor:pointer;padding:9px 8px}
.ymh-burger span{display:block;height:2px;background:#fff;border-radius:2px;margin:3px 0;transition:transform .2s,opacity .2s}
.ymh-burger[aria-expanded=true] span:nth-child(1){transform:translateY(5px) rotate(45deg)}
.ymh-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.ymh-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-5px) rotate(-45deg)}
.ymh-sheet{display:grid;gap:4px;padding:10px 14px 16px;border-top:1px solid rgba(255,255,255,.10);background:var(--ymh-bg)}
.ymh-sheet[hidden]{display:none}
.ymh-mlink{display:flex;align-items:center;gap:10px;padding:13px 12px;border-radius:12px;color:#e2e8f0;text-decoration:none;font-weight:600;background:rgba(255,255,255,.05)}
.ymh-mlink.is-active{background:var(--ymh-accent);color:#fff}
.ymh-mlink em{margin-left:auto;font-style:normal;opacity:.65;font-size:13px}
.ymh-ico{width:22px;text-align:center}
.ymh-search-m input[type=search]{width:100%}

@media (max-width:900px){
  .ymh-nav,.ymh-right .ymh-search{display:none}
  .ymh-burger{display:block}
  .ymh-name{font-size:15px}
}
@media (min-width:901px){ .ymh-sheet{display:none!important} }

/* -------------------------------- pages -------------------------------- */
.ym-main{max-width:1180px;margin:0 auto;padding:22px 14px 60px;
  font:400 16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#0f172a}
.ym-h1{font-size:clamp(22px,4vw,32px);margin:6px 0 18px}
.ym-grid{display:grid;grid-template-columns:repeat(var(--ym-cols,4),minmax(0,1fr));gap:14px;margin:18px 0}
@media (max-width:900px){.ym-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:460px){.ym-grid{grid-template-columns:1fr}}
.ym-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:96px;padding:16px;
  border-radius:var(--ym-radius);border:1px solid rgba(15,23,42,.10);background:#fff;color:#0f172a;text-decoration:none;
  font-weight:700;text-align:center;box-shadow:0 1px 2px rgba(2,6,23,.05);transition:transform .12s ease,box-shadow .12s ease,border-color .12s}
.ym-card:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(2,6,23,.10);border-color:var(--ymh-accent)}
.ym-card-m{font-weight:500;font-size:13px;color:#64748b}
.ym-card-sec{border-top:4px solid var(--ym-sec,var(--ymh-accent))}
.ym-sec-ico{font-size:26px}
.ym-note{opacity:.75;font-style:italic}
.ym-pager{display:flex;justify-content:center;margin-top:22px}
.ym-pager .page-numbers{display:inline-block;padding:8px 12px;margin:0 3px;border-radius:9px;background:#f1f5f9;text-decoration:none;color:#0f172a}
.ym-pager .page-numbers.current{background:var(--ymh-accent);color:#fff}

.ym-fav-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}
.ym-fav-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 12px;border:1px solid rgba(15,23,42,.10);border-radius:12px;background:#fff}
.ym-fav-star{color:#f2b705}
.ym-fav-item audio{height:34px;margin-left:auto;max-width:100%}

.ym-btn{display:inline-block;padding:9px 16px;border-radius:10px;background:var(--ymh-accent);color:#fff;text-decoration:none;font-weight:700}
.ym-login-box{max-width:380px;margin:24px auto;padding:20px;border:1px solid rgba(15,23,42,.12);border-radius:var(--ym-radius);background:#fff}
.ym-login-box input[type=text],.ym-login-box input[type=password]{width:100%;padding:10px;border-radius:10px;border:1px solid #cbd5e1}
.ym-login-box .button-primary{width:100%}
body.ym-standalone{margin:0}

/* --- v2.2: lesson card thumbnails, favorites page ------------------ */
.ym-card.has-thumb{padding:0;overflow:hidden;display:flex;flex-direction:column}
.ym-card-img{display:block;aspect-ratio:16/10;background:#0f172a10;overflow:hidden}
.ym-card-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ym-card.has-thumb:hover .ym-card-img img{transform:scale(1.05)}
.ym-card.has-thumb .ym-card-t{padding:10px 12px 0;font-weight:700}
.ym-card.has-thumb .ym-card-m{padding:2px 12px 12px}
.ym-favlist{display:grid;gap:10px}
.ym-favrow{display:flex;align-items:center;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px 14px}
.ym-favstar{color:#f59e0b;font-size:20px}
.ym-favmeta{display:flex;flex-direction:column;min-width:180px;flex:1}
.ym-favmeta a{font-size:13px;opacity:.7;text-decoration:none}
.ym-favrow audio{max-width:100%;height:36px}
@media(max-width:640px){.ym-favrow audio{width:100%}}
