/* Раздел «Курсы» и плашка курса в зале (05.10.2026).
   Цвет — только из опор index.html: --gold-text для золота текстом, заливка
   кнопки — золотая лесенка --gold → --gold2, «идёт занятие» — --live.
   Названия курсов (08.10.2026, слова Лираз по снимку «Школа → Курсы»):
   «сами названия — ТЭС 12, Урим Тумим, Колесница Йехезкеля, Зугиют — сделать
   жёлтыми … календарик сделать бледным … „Ближайшее занятие“ тоже сделай
   лиловым … в светлой сделай их ярко-фиолетовыми … всё это надо сделать
   толстым шрифтом». Название — --gold-text и 700; в светлой теме — --teal
   (в ней это фиолетовый акцент текста, как у .brand); значок календаря —
   --ink-faint; подписи — --ink-dim и 600. Иерархия: название > дата > подписи.
   Шрифт --disp (Marcellus/Forum) подключён одним начертанием 400, иврит
   (Frank Ruhl Libre) — настоящим 700; латиница и кириллица толстеют
   движком, как и все заголовки чата на --disp.
   Без :has(), color-mix(), dvh и сокращения inset: на бабушкином самсунге
   Chromium 99, и правило с ними отбрасывается целиком. Направление письма —
   логическими свойствами и разворотом стрелок под [dir=rtl]. */

.crs{max-width:760px;margin:0 auto}
.crs button:focus-visible,.crs a:focus-visible,.crs-plate:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.crs-ic{width:20px;height:20px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
[dir="rtl"] .crs-go .crs-ic,[dir="rtl"] .crs-hall .crs-ic,[dir="rtl"] .crs-backlink .crs-ic,[dir="rtl"] .crs-plate-go .crs-ic{transform:scaleX(-1)}

/* заглушка до первого ответа — высотой с карточку, чтобы не прыгало */
.crs-skel{display:grid;gap:10px}
.crs-sk{display:block;height:118px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}

/* вкладки */
.crs-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;margin:0 0 16px;
  border:1px solid var(--line);border-radius:16px;background:var(--glass)}
.crs-tab{min-width:0;min-height:44px;padding:0 6px;border-radius:12px;color:var(--ink-dim);
  font-size:calc(13px * var(--fs,1));font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crs-tab[aria-selected="true"]{background:rgba(var(--gold-rgb),.14);color:var(--gold-text);box-shadow:inset 0 0 0 1px rgba(var(--gold-rgb),.32)}

/* карточка курса — одета как карточка чертога */
.crs-card{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;padding:14px 15px;margin:0 0 10px;
  border:1px solid var(--line);border-radius:16px;background:var(--glass);color:var(--ink);text-align:start;cursor:pointer}
.crs-card.crs-static{cursor:default}
.crs-card.crs-live{border-color:rgba(var(--live-rgb),.55)}
button.crs-card:active{transform:scale(.99)}
.crs-row{display:flex;align-items:center;gap:8px;min-width:0}
.crs-title{flex:1 1 auto;min-width:0;font-family:var(--disp);font-size:calc(19px * var(--fs,1));font-weight:700;line-height:1.15;
  letter-spacing:.05em;text-transform:uppercase;color:var(--gold-text);overflow-wrap:anywhere}
html[data-theme="light"] .crs-title{color:var(--teal)}
.crs-title-big{font-size:calc(26px * var(--fs,1))}
.crs-go{flex:0 0 auto;color:var(--ink-faint);display:flex}
.crs-sub{display:block;font-size:calc(12px * var(--fs,1));line-height:1.45;font-weight:600;color:var(--ink-dim)}
.crs-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;
  font-size:calc(10px * var(--fs,1));font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold-text);border:1px solid rgba(var(--gold-rgb),.4)}
.crs-badge .crs-ic{width:14px;height:14px}
.crs-badge.crs-live{background:var(--live);color:var(--on-live);border-color:transparent}
.crs-next{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--glass2);
  color:var(--ink-dim);font-size:calc(13px * var(--fs,1));line-height:1.35}
.crs-next .crs-ic{color:var(--ink-faint)}
.crs-next b{display:block;color:var(--ink-dim);font-weight:600}
.crs-next b+span{color:var(--ink);font-weight:600}
.crs-next.crs-live .crs-ic,.crs-next.crs-live b{color:var(--live)}
.crs-note{margin:6px 4px 0;font-size:calc(11.5px * var(--fs,1));line-height:1.5;color:var(--ink-faint);text-align:center}

/* кнопки: главная — золотая лесенка, как карандаш в личке */
.crs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;
  font-size:calc(14px * var(--fs,1));font-weight:700;cursor:pointer}
.crs-btn[disabled]{cursor:default;opacity:.6}
.crs-btn-gold{background:var(--gold-fill);color:var(--on-gold)}
.crs-btn-live{background:var(--live);color:var(--on-live)}
.crs-btn-line{border:1px solid rgba(var(--gold-rgb),.45);background:transparent;color:var(--gold-text)}
.crs-btn-wait{border:1px solid rgba(var(--live-rgb),.45);background:transparent;color:var(--ink-dim);opacity:1}
.crs-btn-wide{width:100%;margin:0 0 12px}

/* пустое место */
.crs-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:34px 22px;border:1px dashed var(--line);
  border-radius:18px;text-align:center;color:var(--ink-dim);font-size:calc(13px * var(--fs,1));line-height:1.55}
.crs-empty b{font-family:var(--disp);font-size:21px;font-weight:600;color:var(--ink)}
.crs-empty .crs-empty-ic{width:34px;height:34px;color:var(--gold-text);opacity:.8}
.crs-empty .crs-btn{margin-top:6px}

/* курс изнутри */
.crs-backlink{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0 0 4px;padding:0 4px;
  color:var(--ink-dim);font-size:calc(13px * var(--fs,1))}
.crs-backlink.crs-backlink-hall{color:var(--gold-text);font-weight:700}
/* «Назад» с корня раздела (08.10.2026): над вкладками, тем же золотом, что «В чертог». */
.crs-backlink.crs-backlink-up{color:var(--gold-text);font-weight:700;margin-bottom:8px}
.crs-chead{margin:0 4px 14px}
.crs-chead .crs-sub{margin-top:4px}
.crs-hall{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin-top:2px;padding:0;
  color:var(--gold-text);font-size:calc(13px * var(--fs,1));font-weight:700}
.crs-hall .crs-ic{width:16px;height:16px}
.crs-eyebrow{font-size:calc(10.5px * var(--fs,1));font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-text)}
.crs-card.crs-live .crs-eyebrow{color:var(--live)}
.crs-when{font-family:var(--disp);font-size:calc(21px * var(--fs,1));line-height:1.2;color:var(--ink)}
.crs-h{margin:18px 4px 10px;font-family:var(--disp);font-size:calc(19px * var(--fs,1));font-weight:600;color:var(--ink)}

/* расписание */
.crs-list{display:grid;gap:10px;margin:0 0 10px}
.crs-sched{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:13px 15px;border:1px solid var(--line);
  border-radius:16px;background:var(--glass)}
.crs-sched.crs-live{border-color:rgba(var(--live-rgb),.55)}
.crs-sched-when{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--ink);font-size:calc(13px * var(--fs,1));font-weight:700}
.crs-sched.crs-live .crs-sched-when{color:var(--live)}
/* 13.10.2026, слова Лираз по снимку «Расписания»: «невозможно читать эти цвет сделай вместо желтого
   белый». Читаемый текст карточки — цветом текста чата (--ink), не золотом: тонкое золотое письмо
   заглавными с засечками не читалось. Название — как в списке чертогов (.hall .ht b: --disp, 600),
   обычным регистром; подпись «Ведут …» — --ink-dim. Золото остаётся у управления (вкладка, «Назад»). */
.crs-sched-what b{display:block;font-family:var(--disp);font-size:calc(17px * var(--fs,1));font-weight:600;letter-spacing:0;
  text-transform:none;color:var(--ink);overflow-wrap:anywhere}
.crs-sched-what span{display:block;font-size:calc(12px * var(--fs,1));color:var(--ink-dim)}
.crs-sched .crs-btn{justify-self:start}

/* записи */
.crs-recs{display:grid;gap:12px}
.crs-rec{padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--glass)}
.crs-rec[hidden]{display:none}
.crs-rec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 2px 8px}
.crs-rec-h b{font-family:var(--disp);font-size:calc(16px * var(--fs,1));font-weight:600;letter-spacing:0;text-transform:none;color:var(--ink)}
.crs-rec-h span{font-size:calc(12px * var(--fs,1));color:var(--ink-dim)}
.crs-files{display:grid;gap:6px}
.crs-file{display:grid;gap:8px}
.crs-file-b{display:flex;align-items:center;gap:12px;width:100%;min-height:52px;padding:8px 10px;border-radius:12px;
  background:var(--glass2);color:var(--ink);text-align:start;text-decoration:none;cursor:pointer}
.crs-file-b .crs-ic{width:22px;height:22px;color:var(--gold-text)}
.crs-file-b>span{min-width:0;display:flex;flex-direction:column;gap:2px}
.crs-file-b b{font-size:calc(14px * var(--fs,1));font-weight:700;overflow-wrap:anywhere}
.crs-file-b span span,.crs-file-b small{font-size:calc(11.5px * var(--fs,1));color:var(--ink-faint)}
.crs-player{display:block;width:100%;max-height:60vh;border-radius:12px;background:var(--bg0)}

/* форма ведущего */
.crs-form{margin:0 0 12px;padding:14px 15px;border:1px solid rgba(var(--gold-rgb),.4);border-radius:16px;background:var(--glass)}
.crs-form .crs-h{margin-top:0}
.crs-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.crs-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:calc(11.5px * var(--fs,1));color:var(--ink-faint)}
.crs-field input,.crs-field select{width:100%;min-width:0;min-height:44px;padding:0 10px;border:1px solid var(--line);border-radius:12px;
  background:var(--glass2);color:var(--ink);font-size:16px}
.crs-form-msg{min-height:1.2em;margin:8px 4px 0;font-size:calc(12.5px * var(--fs,1));line-height:1.45;color:var(--gold-text)}
.crs-form-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
@media (max-width:359px){.crs-fields{grid-template-columns:minmax(0,1fr)}}

/* ---------- плашка курса в зале: сверху, закреп под ней ---------- */
.crs-plate{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 14px;flex:0 0 auto;
  background:var(--glass2);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 var(--gold);
  color:var(--ink);text-align:start;cursor:pointer}
[dir="rtl"] .crs-plate{box-shadow:inset -3px 0 var(--gold)}
.crs-plate[hidden]{display:none!important}
.crs-plate.crs-live{box-shadow:inset 3px 0 var(--live)}
[dir="rtl"] .crs-plate.crs-live{box-shadow:inset -3px 0 var(--live)}
.crs-plate-ic{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;
  background:rgba(var(--gold-rgb),.14);color:var(--gold-text)}
.crs-plate.crs-live .crs-plate-ic{background:var(--live);color:var(--on-live)}
.crs-plate-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}
.crs-plate-a{font-size:calc(11px * var(--fs,1));font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crs-plate.crs-live .crs-plate-a{color:var(--live)}
.crs-plate-t{font-size:calc(12.5px * var(--fs,1));color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crs-plate-go{flex:0 0 auto;display:flex;color:var(--gold-text)}
html[data-kind="desktop"] .crs-plate{width:auto;margin:14px 34px 0;border:1px solid var(--line);border-radius:16px}

/* ---------- зал класса (06.10): карточка урока и «Расписание на сегодня» ----------
   Как в Telegram: бот за 5 минут пишет «Учитель / Предмет / Книга» и ссылку
   Zoom, а расписание дня висит закрепом. Карточка и строка дня стоят между
   плашкой курса и закрепом, одеты как они. */
.crs-strip{flex:0 0 auto;display:flex;flex-direction:column}
.crs-strip[hidden]{display:none!important}
.crs-strip button:focus-visible,.crs-strip a:focus-visible{outline:2px solid var(--violet);outline-offset:2px}
.crs-lesson{display:flex;flex-direction:column;gap:8px;padding:10px 14px 12px;background:var(--glass2);border-bottom:1px solid var(--line);
  box-shadow:inset 3px 0 var(--gold);color:var(--ink)}
[dir="rtl"] .crs-lesson{box-shadow:inset -3px 0 var(--gold)}
.crs-lesson.crs-live{box-shadow:inset 3px 0 var(--live)}
[dir="rtl"] .crs-lesson.crs-live{box-shadow:inset -3px 0 var(--live)}
.crs-lesson-top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.crs-lesson-ey{display:inline-flex;align-items:center;gap:6px;font-size:calc(11px * var(--fs,1));font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--gold-text)}
.crs-lesson-ey .crs-ic{width:18px;height:18px}
.crs-lesson.crs-live .crs-lesson-ey{color:var(--live)}
.crs-lesson-when{font-size:calc(12.5px * var(--fs,1));color:var(--ink-dim)}
.crs-lesson-dl{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;margin:0;font-size:calc(13.5px * var(--fs,1));line-height:1.4}
.crs-lesson-dl dt{color:var(--ink-faint)}
.crs-lesson-dl dd{margin:0;min-width:0;color:var(--ink);font-weight:700;overflow-wrap:anywhere}
.crs-lesson .crs-btn{align-self:stretch;text-decoration:none}

.crs-today{display:flex;flex-direction:column;background:var(--glass2);border-bottom:1px solid var(--line)}
.crs-today-bar{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:6px 14px;color:var(--ink);text-align:start;cursor:pointer}
.crs-today-go{flex:0 0 auto;display:flex;color:var(--gold-text);transform:rotate(90deg)}
.crs-today-bar[aria-expanded="true"] .crs-today-go{transform:rotate(-90deg)}
.crs-day-list{display:grid;gap:6px;max-height:40vh;margin:0;padding:0 14px 10px;overflow-y:auto;list-style:none}
.crs-day-list[hidden]{display:none}
.crs-day{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:4px 12px;padding:8px 10px;border-radius:12px;background:var(--glass)}
.crs-day.crs-day-done{opacity:.6}
.crs-day.crs-day-now{box-shadow:inset 0 0 0 1px rgba(var(--live-rgb),.55)}
.crs-day-when{display:flex;flex-direction:column;gap:1px;min-width:0}
.crs-day-when b{font-size:calc(13px * var(--fs,1));font-weight:700;color:var(--ink);white-space:nowrap}
.crs-day.crs-day-now .crs-day-when b{color:var(--live)}
.crs-day-when small{font-size:calc(11px * var(--fs,1));color:var(--ink-faint);white-space:nowrap}
.crs-day-what{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}
.crs-day-what b{font-size:calc(14px * var(--fs,1));font-weight:700;color:var(--ink);overflow-wrap:anywhere}
.crs-day-what span{font-size:calc(12px * var(--fs,1));color:var(--ink-faint);overflow-wrap:anywhere}
.crs-day-over{font-size:calc(11px * var(--fs,1));color:var(--ink-faint);white-space:nowrap}
/* Русское название в иврите — своим письмом (dir="auto"), но прижато к
   правому краю, как всё вокруг. */
[dir="rtl"] .crs-strip [dir="auto"],[dir="rtl"] .crs-subj-mid [dir="auto"]{text-align:right}
html[data-kind="desktop"] .crs-lesson,html[data-kind="desktop"] .crs-today{margin:10px 34px 0;border:1px solid var(--line);border-radius:16px}
html[data-kind="desktop"] .crs-lesson .crs-btn{align-self:flex-start}
/* Открыта клавиатура телефона: над лентой остаются только «когда» и кнопка
   Zoom — пишущему нужно видеть переписку. */
html.kb-open:not([data-kind="desktop"]) .crs-today,html.kb-open:not([data-kind="desktop"]) .crs-lesson-dl{display:none}

/* «Записи» по предметам — как темы в Telegram */
.crs-subjs{gap:10px}
.crs-subj{border:1px solid var(--line);border-radius:16px;background:var(--glass)}
.crs-subj[hidden]{display:none}
.crs-subj-h{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:10px 14px;color:var(--ink);text-align:start;cursor:pointer}
.crs-subj-mid{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.crs-subj-mid b{font-family:var(--disp);font-size:calc(17px * var(--fs,1));font-weight:600;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
.crs-subj-mid>span{font-size:calc(12px * var(--fs,1));color:var(--ink-faint);overflow-wrap:anywhere}
.crs-subj-n{flex:0 0 auto;display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border-radius:999px;
  background:rgba(var(--gold-rgb),.14);color:var(--gold-text);font-size:calc(12px * var(--fs,1));font-weight:800}
.crs-subj-h[aria-expanded="true"] .crs-go .crs-ic{transform:rotate(90deg)}
.crs-subj-list{display:grid;gap:10px;padding:0 10px 10px}
.crs-subj-list[hidden]{display:none}
.crs-subj-list .crs-rec{background:var(--glass2)}
.crs-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- одна плашка зала (11.10.2026): курс и расписание дня вместе ----------
   Жалоба Лираз: две плашки показывали одно и то же. Теперь #hlCoursePlate —
   обёртка .crs-hp: строка курса (.crs-plate, нажатие — в курс), справа стрелка
   вниз (.crs-hp-tog) раскрывает расписание дня (.crs-day-list) внутри обёртки.
   Золотая полоса и фон — у обёртки, строка внутри них голая. */
.crs-hp{display:flex;flex-direction:column;flex:0 0 auto;background:var(--glass2);border-bottom:1px solid var(--line);box-shadow:inset 3px 0 var(--gold)}
[dir="rtl"] .crs-hp{box-shadow:inset -3px 0 var(--gold)}
.crs-hp[hidden]{display:none!important}
.crs-hp.crs-live{box-shadow:inset 3px 0 var(--live)}
[dir="rtl"] .crs-hp.crs-live{box-shadow:inset -3px 0 var(--live)}
.crs-hp-row{display:flex;align-items:stretch;min-width:0}
.crs-hp .crs-plate{flex:1 1 auto;width:auto;min-width:0;background:none;border:0;box-shadow:none;border-radius:0}
.crs-hp .crs-plate:focus-visible,.crs-hp-tog:focus-visible{outline:2px solid var(--violet);outline-offset:-2px}
.crs-hp-tog{flex:0 0 auto;display:grid;place-items:center;width:48px;min-height:52px;color:var(--gold-text);cursor:pointer;
  border-inline-start:1px solid var(--line)}
.crs-hp .crs-today-go{flex:0 0 auto;display:flex;color:var(--gold-text);transform:rotate(90deg)}
.crs-hp [aria-expanded="true"] .crs-today-go,.crs-hp [aria-expanded="true"].crs-today-go{transform:rotate(-90deg)}
.crs-hp .crs-day-list{padding-top:2px}
html[data-kind="desktop"] .crs-hp{margin:14px 34px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden}
html[data-kind="desktop"] .crs-hp .crs-plate{margin:0;border:0;border-radius:0}
html.kb-open:not([data-kind="desktop"]) .crs-hp .crs-day-list{display:none}
