/* Face Studio · кабинет — дизайн-система воронки, эргономика 55+/65+
   Правила: контраст ≥4.5:1, тап-цели ≥44px, фокус-кольца, reduced-motion */
:root{
  --bg:#f9fcfe;
  --bg-soft:#eaf5fb;
  --blue-050:#e3f2fb;
  --blue-100:#cfe9f8;
  --blue-300:#8ecbee;
  --blue-500:#4f9fd0;
  --blue-700:#2e6f99;
  --blue-800:#235a7d;
  --ink:#22333f;
  --ink-soft:#5b7280;
  --gold-050:#fdf4dd;
  --gold-300:#ffd977;
  --gold-500:#f2b23e;
  --gold-ink:#5b420b;
  --card:#ffffff;
  --radius-lg:28px;
  --radius-md:20px;
  --shadow-soft:0 18px 45px -18px rgba(46,111,153,.25);
  --shadow-card:0 10px 32px -14px rgba(46,111,153,.18);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Golos Text',-apple-system,'Segoe UI',sans-serif;
  background:var(--bg);
  color:var(--ink);
  font-size:19px;               /* крупная база: аудитория 55+/65+ */
  line-height:1.55;
  -webkit-text-size-adjust:100%;
}
.wrap{
  max-width:640px;margin:0 auto;
  padding:20px 16px calc(48px + env(safe-area-inset-bottom));
}

a{touch-action:manipulation}

/* видимый фокус для клавиатуры/переключателей */
:focus-visible{
  outline:3px solid var(--blue-500);
  outline-offset:3px;
  border-radius:6px;
}

/* шапка */
.top{margin:10px 0 22px}
h1{
  font-family:'Oswald',sans-serif;
  font-weight:600;font-size:1.65rem;line-height:1.25;
  color:var(--blue-800);
}
.lesson-h1{font-size:1.35rem}
.sub-line{
  margin-top:8px;display:inline-block;
  background:var(--gold-050);color:var(--gold-ink);
  border-radius:999px;padding:6px 16px;font-size:.95rem;font-weight:500;
}

/* тренировки этой недели */
.week-head{margin-top:14px}
.lesson-day{
  color:var(--gold-ink);background:var(--gold-050);
  align-self:flex-start;border-radius:999px;
  padding:2px 10px;font-size:.82rem;font-weight:600;
}
.week-empty{
  background:var(--bg-soft);border-radius:var(--radius-md);
  padding:22px;text-align:center;color:var(--ink-soft);font-size:1rem;
}

/* заголовки групп */
.group-head{
  font-family:'Oswald',sans-serif;font-weight:500;
  font-size:1.15rem;color:var(--blue-700);
  margin:26px 0 12px;text-transform:uppercase;letter-spacing:.04em;
}
.group-subhead{
  font-weight:600;font-size:1.02rem;color:var(--ink-soft);
  margin:20px 0 10px;
}

/* карточки разделов */
.card{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  background:var(--card);border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
  padding:20px 22px;margin:12px 0;
  text-decoration:none;color:var(--ink);
  min-height:64px;cursor:pointer;
  border:2px solid transparent;
  transition:background-color .18s ease-out,border-color .18s ease-out,transform .18s ease-out;
}
.card:hover{border-color:var(--blue-100)}
.card:active{border-color:var(--blue-300);background:var(--blue-050);transform:scale(.985)}
.card-title{font-weight:600;font-size:1.08rem;line-height:1.35}
.card-meta{color:var(--blue-700);font-size:.95rem;white-space:nowrap;font-weight:500}

/* карточки уроков */
.lesson{
  display:flex;align-items:center;gap:14px;
  background:var(--card);border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);
  padding:14px;margin:12px 0;
  text-decoration:none;color:var(--ink);
  min-height:72px;cursor:pointer;
  border:2px solid transparent;
  transition:background-color .18s ease-out,border-color .18s ease-out,transform .18s ease-out;
}
.lesson:hover{border-color:var(--blue-100)}
.lesson:active{border-color:var(--blue-300);background:var(--blue-050);transform:scale(.985)}
.lesson-poster{
  width:112px;height:63px;object-fit:cover;flex:none;
  border-radius:12px;background:var(--blue-050);
}
.lesson-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.lesson-title{font-weight:500;font-size:1rem;line-height:1.4}
.lesson-meta{color:var(--ink-soft);font-size:.9rem}

/* назад — крупная тап-цель */
.back{
  display:inline-flex;align-items:center;min-height:44px;
  color:var(--blue-700);text-decoration:none;
  font-weight:500;padding:6px 8px 6px 0;font-size:1rem;cursor:pointer;
}
.back:active{color:var(--blue-500)}

/* плеер */
.player{
  position:relative;width:100%;aspect-ratio:16/9;
  border-radius:var(--radius-md);overflow:hidden;
  box-shadow:var(--shadow-soft);background:#000;margin:6px 0 20px;
}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* текст урока */
.lesson-text{background:var(--card);border-radius:var(--radius-md);
  box-shadow:var(--shadow-card);padding:22px;
  font-variant-numeric:tabular-nums;  /* таймкоды ровным столбиком */
  overflow-wrap:break-word}
.lesson-text p{margin:0 0 14px;color:var(--ink)}
.lesson-text p:last-child{margin-bottom:0}
.lesson-text b{color:var(--blue-800)}

/* страницы-отказы */
.gate{text-align:center;padding:56px 10px 30px}
.gate-icon{
  width:76px;height:76px;margin:0 auto 20px;
  display:flex;align-items:center;justify-content:center;
  background:var(--blue-050);border-radius:50%;color:var(--blue-700);
}
.gate-icon svg{width:38px;height:38px}
.gate h1{margin-bottom:14px}
.gate p{color:var(--ink-soft);font-size:1.05rem}
.gate-actions{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:26px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;min-width:220px;
  background:var(--gold-500);color:var(--gold-ink);
  font-weight:600;font-size:1.1rem;text-decoration:none;
  padding:12px 34px;border-radius:999px;cursor:pointer;
  box-shadow:var(--shadow-soft);
  transition:background-color .18s ease-out,transform .18s ease-out;
}
.btn:active{background:var(--gold-300);transform:scale(.97)}
.btn-secondary{background:var(--blue-050);color:var(--blue-800);box-shadow:none}
.btn-secondary:active{background:var(--blue-100)}

.foot{
  margin-top:44px;text-align:center;
  color:var(--ink-soft);font-size:.85rem;
}

@media (min-width:480px){
  .lesson-poster{width:128px;height:72px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
