/* =====================================================================================================================
   ОФОРМЛЕНИЕ 5.0 (09.10.2026; НА ПРОВЕРКЕ — по умолчанию у всех 3.0). Файл загружается только в версии 5 (?skdesign=5 или
   настройка «Оформление платформы»), у страницы тогда классы sk-v2 sk-v3 sk-v4 sk-v5: 5.0 = 4.0 (design4.css, вместе
   с доводкой для телефона и iPad) + разделы 0.11 «кабинет семьи» и 0.12 «пульт администрации», оформленные так же.
   Обязанности, права, задачи и уведомления 0.11–0.12 не меняются — только вид. Выбранные раньше 3.0 и 4.0 этот файл не видит.
   Порядок разделов файла:
     1. Ширина новых страниц
     2. Пульт администрации: действия и поиск, «Нужно сделать», «Сегодня», «Разделы школы»
     3. Карточка ученика
     4. Кабинет семьи: «Цель» на «Главной», запросы, документы, отчёты, план, оплата, роли школы, «Помощь»
     5. Телефон (до 576 точек)
     6. iPad и телефон в альбомной (576–1199 точек)
     7. Фон всех страниц — однотонный молочный, как на сайте (0.21)
     8. Экран входа — фраза школы посередине, как на первом экране сайта (0.21, без фото — 0.21.1)
     9. «Живая» плашка приветствия на «Главной» (0.21)
    10. Нажатие на ссылки и кнопки — без мятной заливки и цветного кольца (0.23.2)
   Нажимаемое на сенсорном экране (не ниже 44 точек), нижняя панель на телефоне и iPad, таблицы-карточки до 1024 точек —
   общие правила 4.0 (design4.css); здесь — только то, что нужно новым разделам.
   ===================================================================================================================== */

/* ---------- 1. Ширина новых страниц: списки — до 1180 точек, формы и отдельные записи — до 1000 ---------- */
@media (min-width: 768px) {
  .sk-v5:is(#page-local-shangke-student, #page-local-shangke-requests, #page-local-shangke-reports, #page-local-shangke-documents,
      #page-local-shangke-balances, #page-local-shangke-payments, #page-local-shangke-import, #page-local-shangke-homework)
      :is(#page.drawers .main-inner, #page-header.header-maxwidth) { max-width: 1180px; margin-left: auto; margin-right: auto; }
  .sk-v5:is(#page-local-shangke-plan, #page-local-shangke-report, #page-local-shangke-pay, #page-local-shangke-roles,
      #page-local-shangke-help, #page-local-shangke-homework_edit) :is(#page.drawers .main-inner, #page-header.header-maxwidth) {
    max-width: 1000px; margin-left: auto; margin-right: auto; }
}

/* ---------- 2. Пульт администрации ---------- */
/* блоки пульта — как карточки 3.0/4.0: белые, скругление и тень темы */
.sk-v5 :is(.sk-desk-todo, .sk-desk-today, .sk-desk-sec, .sk-card-box) { border: 1px solid var(--sk3-line); border-radius: var(--sk3-r);
  box-shadow: var(--sk3-shadow); background: #fff; }
.sk-v5 .sk-desk-h { font-size: 1.25rem; }
/* быстрые действия и поиск: поиск справа от действий, а если места мало — своей строкой во всю ширину (не сжимается до
   «Имя, фамилия или e-mai…») */
.sk-v5 .sk-desk-actions { gap: .55rem; margin-bottom: 1.25rem; }
.sk-v5 .sk-desk-search { flex: 1 1 26rem; max-width: none; margin-left: 0; }
.sk-v5 .sk-desk-search .form-control { min-height: 2.75rem; }
/* «Нужно сделать»: номер — круглой меткой, строка — текст и одна кнопка справа */
.sk-v5 .sk-desk-item { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .5rem .9rem;
  padding: .65rem 0; }
.sk-v5 .sk-desk-n { min-width: 2.4rem; height: 2.4rem; display: inline-grid; place-items: center; padding: 0 .5rem; }
.sk-v5 .sk-desk-item-urgent .sk-desk-text { font-weight: 600; color: #6d1430; }
/* вся строка нажимается как её кнопка (js/design5.js) */
.sk-v5 .sk-desk-item.sk5-row { cursor: pointer; border-radius: .8rem; }
@media (hover: hover) { .sk-v5 .sk-desk-item.sk5-row:hover { background: #fbf8f3; } }
.sk-v5 .sk-desk-empty { display: flex; align-items: center; gap: .6rem; padding: .4rem 0; }
.sk-v5 .sk-desk-empty::before { content: "✓"; display: inline-grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%;
  background: #e3f3ea; color: var(--sk3-jade); font-weight: 800; }
/* «Сегодня»: время — колонкой слева, пометка — справа */
.sk-v5 .sk-desk-today .sk-desk-item { grid-template-columns: 8.5rem minmax(0, 1fr) auto; }
.sk-v5 .sk-desk-today .sk-desk-item > .shangke-chip { justify-self: end; white-space: nowrap; }
/* разделы школы — ровными рядами, ссылки внизу карточки */
.sk-v5 .sk-desk-sections { grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: 1rem; }
.sk-v5 .sk-desk-sec { padding: 1rem 1.15rem; border-top: .35rem solid var(--sec-bar, var(--sk3-jade)); }
.sk-v5 .sk-desk-sec:hover { transform: none; }
.sk-v5 .sk-desk-sec-links { gap: .35rem .5rem; }
.sk-v5 .sk-desk-sec-links a { display: inline-flex; align-items: center; padding: .3rem .75rem; border-radius: 999px;
  background: #f3f8f5; color: var(--sk3-jade); font-weight: 600; text-decoration: none; }
.sk-v5 .sk-desk-sec-links a:hover { background: #e3f3ea; }
/* на широком экране «Нужно сделать» и «Сегодня» — рядом */
@media (min-width: 1200px) {
  .sk-v5 .sk-desk { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); column-gap: 1.25rem; align-items: start; }
  .sk-v5 .sk-desk > :not(.sk-desk-todo):not(.sk-desk-today) { grid-column: 1 / -1; }
  .sk-v5 .sk-desk-sections { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ---------- 3. Карточка ученика ---------- */
.sk-v5 .sk-card-head { padding: 1rem 1.25rem; border: 1px solid var(--sk3-line); border-radius: var(--sk3-r); background: #fff;
  box-shadow: var(--sk3-shadow); }
.sk-v5 .sk-card-grid { align-items: start; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); }
.sk-v5 .sk-card-box h3 { font-size: 1.15rem; }
.sk-v5 .sk-card-actions { gap: .45rem; }
/* от 768 точек — две колонки, коробки плотно друг под другом: длинные «Ближайшие занятия» больше не оставляют пустоту рядом */
@media (min-width: 768px) {
  .sk-v5 .sk-card-grid { display: block; columns: 2; column-gap: 1rem; }
  .sk-v5 .sk-card-grid > .sk-card-box { display: block; break-inside: avoid; margin: 0 0 1rem; }
}

/* ---------- 4. Кабинет семьи ---------- */
/* «Цель» на «Главной» ученика и родителя — как карточка ближайшего урока, с нефритовой полосой */
.sk-v5 .sk3-goal { border-left: .45rem solid var(--sk3-jade-glow); }
.sk-v5 .sk3-goal .shangke-links { gap: .45rem; }
/* страницы кабинета семьи: ссылки «План обучения · Отчёты · Документы · Запросы · Оплатить» — вкладками, текущая — выделена
   (раньше все пять одинаковые, и было не видно, где ты) */
.sk-v5#page-local-shangke-plan .shangke-links a[href*="/plan.php"],
.sk-v5#page-local-shangke-reports .shangke-links a[href*="/reports.php"],
.sk-v5#page-local-shangke-report .shangke-links a[href*="/reports.php"],
.sk-v5#page-local-shangke-documents .shangke-links a[href*="/documents.php"],
.sk-v5#page-local-shangke-requests .shangke-links a[href*="/requests.php"],
.sk-v5#page-local-shangke-pay .shangke-links a[href*="/pay.php"] {
  background: linear-gradient(135deg, var(--sk3-jade), var(--sk3-jade-glow)); color: #fff; border-color: transparent; }
.sk-v5:is(#page-local-shangke-plan, #page-local-shangke-reports, #page-local-shangke-report, #page-local-shangke-documents,
    #page-local-shangke-requests, #page-local-shangke-pay) [role="main"] .shangke-links { display: flex; flex-wrap: wrap; gap: .45rem;
  margin: 0 0 1.1rem; }
/* оплата: плитки абонементов — как карточки */
.sk-v5 .shangke-pay-tile { border: 1px solid var(--sk3-line); border-radius: var(--sk3-r); box-shadow: var(--sk3-shadow); padding: 1rem 1.15rem; }
.sk-v5 .shangke-pay-tile:hover { border-color: var(--sk3-jade-glow); }
/* роли школы: у карточки роли — значок человека (была точка «•» по умолчанию плиток пульта); «спящие» роли — пунктирная рамка
   без тени */
.sk-v5#page-local-shangke-roles .shangke-board-tile { --tile-icon: "👤"; }
.sk-v5 .shangke-role-off { box-shadow: none; background: rgba(255, 255, 255, .6); }
/* план обучения: шаги подготовки — нумерованными плашками. Блок плана носит класс shangke-plan, как лента сроков поступления,
   и получал её вертикальную линию и пустые кружки у шагов (выглядели как переключатели формы) */
.sk-v5 div.shangke-section.shangke-plan { padding-left: 1.5rem; }
.sk-v5 div.shangke-plan::before { content: none; }
.sk-v5 div.shangke-plan ol { counter-reset: sk5step; list-style: none; margin: .15rem 0 0; padding: 0; display: grid; gap: .45rem; }
.sk-v5 div.shangke-plan ol > li { counter-increment: sk5step; position: relative; padding: .55rem .9rem .55rem 3rem; border: 1px solid rgba(6, 57, 43, .08);
  border-radius: .9rem; background: #f6faf8; box-shadow: none; }
.sk-v5 div.shangke-plan ol > li::before { content: counter(sk5step); position: absolute; left: .7rem; top: 50%; width: 1.7rem; height: 1.7rem;
  margin-top: -.85rem; display: grid; place-items: center; border-radius: 50%; background: var(--sk3-jade); color: #fff; box-shadow: none;
  font: 700 .9rem/1 Jost, Manrope, sans-serif; }

/* ---------- 5. Телефон (до 576 точек) ---------- */
@media (max-width: 575.98px) {
  /* быстрые действия — по два в ряд, поиск — во всю ширину */
  .sk-v5 .sk-desk-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sk-v5 .sk-desk-actions > .btn { white-space: normal; text-align: center; }
  .sk-v5 .sk-desk-search { grid-column: 1 / -1; max-width: none; }
  /* «Нужно сделать»: номер слева, текст — во всю оставшуюся ширину, кнопка — под текстом (раньше — во всю ширину строки) */
  .sk-v5 .sk-desk-todo .sk-desk-item { grid-template-columns: auto minmax(0, 1fr); row-gap: .35rem; }
  .sk-v5 .sk-desk-todo .sk-desk-item > .sk-desk-n { grid-row: 1 / span 2; align-self: start; }
  .sk-v5 .sk-desk-todo .sk-desk-item > .btn { grid-column: 2; justify-self: start; flex: none; }
  .sk-v5 .sk-desk-todo, .sk-v5 .sk-desk-today { padding: .9rem 1rem; }
  /* «Сегодня»: время — над названием */
  .sk-v5 .sk-desk-today .sk-desk-item { grid-template-columns: minmax(0, 1fr) auto; }
  .sk-v5 .sk-desk-today .sk-desk-item > .sk-desk-time { grid-column: 1; }
  .sk-v5 .sk-desk-today .sk-desk-item > .sk-desk-text { grid-column: 1 / -1; grid-row: 2; }
  .sk-v5 .sk-desk-today .sk-desk-item > .shangke-chip { grid-column: 2; grid-row: 1; }
  /* разделы — по два в ряд: название и число; пояснение — скрыто, ссылки — строкой */
  .sk-v5 .sk-desk-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; align-items: start; }
  .sk-v5 .sk-desk-sec { padding: .8rem .85rem; }
  .sk-v5 .sk-desk-sec-title { font-size: 1rem; }
  .sk-v5 .sk-desk-sec-num { font-size: 1.6rem; }
  .sk-v5 .sk-desk-sec-text { display: none; }
  .sk-v5 .sk-desk-sec-links { font-size: .85rem; }
  .sk-v5 .sk-desk-sec-links a { padding: .25rem .6rem; }
  /* карточка ученика */
  .sk-v5 .sk-card-head { padding: .85rem 1rem; }
}

/* ---------- 6. iPad и телефон в альбомной (576–1199 точек) ---------- */
@media (min-width: 576px) and (max-width: 1199.98px) {
  .sk-v5 .sk-desk-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* =====================================================================================================================
   0.21 (12.10.2026): правки директора и решение владельца — 7. фон, 8. экран входа, 9. «живая» плашка приветствия.
   ===================================================================================================================== */

/* ---------- 7. Фон всех страниц: однотонный молочный, как на сайте shangke.ru (без сетки точек и пятен 3.0) ---------- */
body.sk-v5 { background: #f7f5ef; }

/* ---------- 8. Экран входа: левая половина — фраза школы, как на первом экране сайта (classes/login5.php, js/design5.js);
   0.21.1 (12.10.2026, просьба директора): без фото и печати — «чисто наша фраза на середине»;
   0.23.3: так же и страница «Забыли пароль?» (forgot.php) — у неё тот же макет входа ---------- */
body.sk-v5:is(#page-login-index, #page-local-shangke-forgot), .sk-v5:is(#page-login-index, #page-local-shangke-forgot) #page, .sk-v5:is(#page-login-index, #page-local-shangke-forgot) #page-wrapper { background: #f7f5ef !important; }
.sk-v5:is(#page-login-index, #page-local-shangke-forgot)::before, .sk-v5:is(#page-login-index, #page-local-shangke-forgot)::after { content: none !important; display: none !important; }
@media (min-width: 992px) {
  /* картинка входа с надписями больше не видна — вместо неё молочная половина с фразой школы */
  .sk-v5:is(#page-login-index, #page-local-shangke-forgot) aside.login-layout-left { position: relative; overflow: hidden; background: #f7f5ef !important; background-image: none !important; }
}
.sk-v5 .sk5-login[hidden], .sk-v5 .sk5-login-m[hidden] { display: none !important; }
/* фраза — посередине половины: по высоте и по ширине (строки — по левому краю, как на сайте) */
.sk-v5 .sk5-login { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: center; align-items: center;
  padding: 4rem 3rem 3rem; color: #263e34; }
.sk-v5 .sk5-login-edition { position: absolute; left: 5.5rem; right: 3rem; top: 1.9rem; display: flex; justify-content: space-between; gap: 1rem;
  color: #626c65; font: 600 10px/1.4 Manrope, sans-serif; letter-spacing: .16em; }
.sk-v5 .sk5-login-copy { position: relative; z-index: 2; max-width: 36rem; }
.sk-v5 .sk5-login-label { display: flex; align-items: center; gap: .6rem; margin-bottom: 1.6rem; color: #06553d;
  font: 700 11px/1.3 Manrope, sans-serif; letter-spacing: .13em; }
.sk-v5 .sk5-login-label i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: none; }
/* фраза — не заголовок (заголовок «Добро пожаловать!» — у формы); вес #page-login-index — как у правил темы для входа */
.sk-v5:is(#page-login-index, #page-local-shangke-forgot) .sk5-login-title { margin: 0; color: #263e34; font: 500 clamp(52px, min(5.2vw, 9.5vh), 84px)/1.02 Jost, Manrope, sans-serif;
  letter-spacing: -.045em; }
.sk-v5:is(#page-login-index, #page-local-shangke-forgot) .sk5-login-title em { color: #ad174a; font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400;
  letter-spacing: -.06em; text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .13em;
  text-decoration-color: rgba(173, 23, 74, .4); }
.sk-v5:is(#page-login-index, #page-local-shangke-forgot) .sk5-login-title em:lang(zh) { font-style: normal; letter-spacing: 0; }
.sk-v5 .sk5-login-dot { color: #ad174a; }
.sk-v5 .sk5-login-lede { margin: 1.6rem 0 0; max-width: 30rem; color: #626c65; font: 400 1.15rem/1.55 Manrope, sans-serif; }
@media (min-width: 992px) and (max-width: 1359.98px) { .sk-v5 .sk5-login-edition > span:last-child { display: none; } }
@media (min-width: 992px) and (max-width: 1199.98px) {
  .sk-v5 .sk5-login { padding: 4rem 2rem 3rem; }
  .sk-v5 .sk5-login-edition { left: 3rem; }
}
/* телефон и iPad: левой половины нет — фраза над формой */
@media (min-width: 992px) { .sk-v5 .sk5-login-m { display: none !important; } }
@media (max-width: 991.98px) {
  .sk-v5 .sk5-login { display: none !important; }
  .sk-v5 .sk5-login-m { position: relative; margin: 0 0 1rem; padding: 1.5rem 1.35rem .5rem; color: #263e34; }
  .sk-v5 .sk5-login-m .sk5-login-label { margin-bottom: .9rem; font-size: 9px; }
  .sk-v5:is(#page-login-index, #page-local-shangke-forgot) .sk5-login-m .sk5-login-title { font-size: clamp(36px, 10.6vw, 48px); }
}

/* ---------- 9. «Живая» плашка приветствия на «Главной» (classes/hero5.php, js/design5.js) ---------- */
/* сцена по времени суток: фон — вариант A (зелёный, малиновый и бежевый свет), цвета гор и карточки — переменными */
.sk-v5 .sk3-hero.sk5-live { isolation: isolate; }
.sk-v5 .sk3-hero.sk5-live::before, .sk-v5 .sk3-hero.sk5-live::after { content: none; display: none; }
.sk-v5 .sk3-hero.sk5-morning { --sk5-h0a: #8cc2a7; --sk5-h0b: #5a9c80; --sk5-h0o: .5; --sk5-h1a: #2f7e60; --sk5-h1b: #1c6a4f; --sk5-h1o: .82;
  --sk5-h2a: #0e5540; --sk5-h2b: #0a4635; --sk5-h2o: 1; --sk5-rim: transparent; --sk5-card: rgba(9, 40, 30, .34);
  background: radial-gradient(34% 80% at 53% 60%, rgba(255, 214, 160, .58) 0%, rgba(255, 214, 160, .2) 45%, transparent 75%),
    radial-gradient(42% 95% at 100% 0%, rgba(244, 214, 180, .88), rgba(244, 214, 180, .36) 40%, transparent 76%),
    radial-gradient(62% 150% at 100% 100%, rgba(173, 23, 74, .55), rgba(173, 23, 74, .26) 34%, transparent 74%),
    linear-gradient(118deg, #0f6b51 0%, #0b5a43 52%, #16604a 100%); }
.sk-v5 .sk3-hero.sk5-day { --sk5-h0a: #62a88a; --sk5-h0b: #438d6f; --sk5-h0o: .55; --sk5-h1a: #237556; --sk5-h1b: #17634a; --sk5-h1o: .86;
  --sk5-h2a: #0b4a37; --sk5-h2b: #083d2e; --sk5-h2o: 1; --sk5-rim: transparent; --sk5-card: rgba(9, 34, 26, .38);
  background: radial-gradient(30% 70% at 66% 20%, rgba(255, 246, 220, .42), transparent 70%),
    radial-gradient(42% 95% at 100% 0%, rgba(244, 214, 180, .9), rgba(244, 214, 180, .45) 40%, transparent 76%),
    radial-gradient(62% 150% at 100% 100%, rgba(173, 23, 74, .82), rgba(173, 23, 74, .5) 34%, transparent 74%),
    linear-gradient(118deg, #0b6249 0%, #0b5a43 50%, #0e4c3c 100%); }
.sk-v5 .sk3-hero.sk5-evening { --sk5-h0a: #8d4c5f; --sk5-h0b: #5e3446; --sk5-h0o: .6; --sk5-h1a: #3a2a36; --sk5-h1b: #2a2230; --sk5-h1o: .88;
  --sk5-h2a: #16231e; --sk5-h2b: #0f1a16; --sk5-h2o: 1; --sk5-rim: transparent; --sk5-card: rgba(38, 12, 24, .4);
  background: radial-gradient(42% 105% at 71% 80%, rgba(255, 172, 120, .66), rgba(255, 140, 110, .26) 42%, transparent 72%),
    radial-gradient(62% 150% at 100% 100%, rgba(173, 23, 74, .98), rgba(173, 23, 74, .62) 36%, transparent 76%),
    radial-gradient(40% 90% at 100% 0%, rgba(121, 60, 76, .8), transparent 70%),
    linear-gradient(118deg, #0a4a3a 0%, #0a3c31 46%, #2b2234 100%); }
.sk-v5 .sk3-hero.sk5-night { --sk5-h0a: #2c4d55; --sk5-h0b: #1b343b; --sk5-h0o: .65; --sk5-h1a: #13292f; --sk5-h1b: #0e2126; --sk5-h1o: .88;
  --sk5-h2a: #0a181b; --sk5-h2b: #071214; --sk5-h2o: 1; --sk5-rim: rgba(255, 236, 200, .28); --sk5-card: rgba(3, 14, 18, .48);
  background: radial-gradient(28% 70% at 65% 22%, rgba(255, 236, 200, .17), transparent 70%),
    radial-gradient(62% 150% at 100% 100%, rgba(121, 60, 76, .55), rgba(121, 60, 76, .22) 36%, transparent 74%),
    linear-gradient(118deg, #0b2b2d 0%, #081e23 50%, #0a1824 100%); }
.sk-v5 .sk3-hero.sk5-live .sk3-hero-text, .sk-v5 .sk3-hero.sk5-live .sk3-word { position: relative; z-index: 2; }
.sk-v5 .sk3-hero.sk5-live .sk3-word { background: var(--sk5-card); border-color: rgba(255, 255, 255, .26);
  -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }
/* текст: приветствие по-китайски и 时辰, приветствие, крупное время, дата, вторые часы */
.sk-v5 .sk5-kicker { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; margin-bottom: .75rem; color: #ffdcb6;
  font: 600 .8rem/1.2 Manrope, sans-serif; letter-spacing: .04em; }
.sk-v5 .sk5-kicker b { color: #fff; font: 600 1.08rem/1 "Noto Serif SC", "Songti SC", SimSun, serif; letter-spacing: .08em; }
.sk-v5 .sk5-kicker b:lang(ru) { font: 700 .98rem/1 Manrope, sans-serif; letter-spacing: 0; }
.sk-v5 .sk5-dot { width: 6px; height: 6px; border-radius: 50%; background: #ffbf85; box-shadow: 0 0 0 3px rgba(255, 191, 133, .22); }
.sk-v5 .sk5-g { display: inline-flex; align-items: center; gap: .5rem; white-space: nowrap; }
.sk-v5 .sk5-g + .sk5-g::before { content: "·"; margin-right: .1rem; opacity: .6; }
.sk-v5 .sk5-info { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .85rem; margin-top: .8rem; color: rgba(255, 255, 255, .86); font-size: 1rem; }
.sk-v5 .sk5-time { color: #fff; font: 500 2.15rem/1 Jost, Manrope, sans-serif; letter-spacing: .01em; font-variant-numeric: tabular-nums;
  text-shadow: 0 2px 14px rgba(0, 0, 0, .18); }
.sk-v5 .sk5-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .24rem .7rem; border-radius: 999px; background: rgba(255, 255, 255, .12);
  border: 1px solid rgba(255, 255, 255, .22); color: rgba(255, 255, 255, .9); font-size: .88rem; }
.sk-v5 .sk5-chip b { color: #fff; font-variant-numeric: tabular-nums; }
/* небо: всё нарисовано сразу, видно только своё время суток (скрипт меняет сцену без перезагрузки) */
.sk-v5 .sk5-sky { position: absolute; inset: 0; z-index: 0; overflow: hidden; border-radius: inherit; pointer-events: none; }
.sk-v5 .sk5-sky > *, .sk-v5 .sk5-sky :is(.sk5-stars, .sk5-clouds, .sk5-birds, .sk5-season) > * { position: absolute; display: block; }
.sk-v5 .sk5-sky :is(.sk5-stars, .sk5-clouds, .sk5-birds, .sk5-season) { inset: 0; }
.sk-v5 .sk5-live:not(.sk5-night) .sk5-sky :is(.sk5-stars, .sk5-moon, .sk5-halo-moon) { display: none; }
.sk-v5 .sk5-night .sk5-sky :is(.sk5-sun, .sk5-halo-sun, .sk5-clouds) { display: none; }
.sk-v5 .sk5-live:not(.sk5-evening) .sk5-sky .sk5-birds, .sk-v5 .sk5-evening .sk5-sky .sk5-clouds { display: none; }
.sk-v5 .sk5-morning .sk5-sky :is(.sk5-cloud-a, .sk5-cloud-c) { display: none; }
.sk-v5 .sk5-live:not(.sk5-morning) .sk5-mist { display: none; }
.sk-v5 .sk5-night .sk5-sky :is(.sk5-leaf, .sk5-petal), .sk-v5 :is(.sk5-morning, .sk5-day) .sk5-sky .sk5-fly { display: none; }
/* солнце: утром встаёт в ложбине между вершинами, днём высоко, вечером садится за горы (--p — доля времени суток) */
.sk-v5 .sk5-sun, .sk-v5 .sk5-halo { border-radius: 50%; }
.sk-v5 .sk5-morning .sk5-sun { left: var(--sx, 53.5%); top: calc(70% - var(--p) * 46%); width: 3.6rem; height: 3.6rem;
  background: radial-gradient(circle at 45% 40%, #fff6dc, #ffd08a 55%, #ffb066);
  box-shadow: 0 0 34px 10px rgba(255, 200, 130, .62), 0 0 110px 40px rgba(255, 170, 110, .36); }
.sk-v5 .sk5-morning .sk5-halo-sun { left: calc(var(--sx, 53.5%) - 6rem); top: calc(70% - var(--p) * 46% - 6rem); width: 15.6rem; height: 15.6rem;
  background: radial-gradient(circle, rgba(255, 226, 180, .32), transparent 65%); animation: sk5-breathe 4.8s ease-in-out infinite; }
.sk-v5 .sk5-day .sk5-sun { left: var(--sx, 65%); top: calc(12% + var(--p) * 22%); width: 3.1rem; height: 3.1rem;
  background: radial-gradient(circle, #fffef8, #fff1cf 60%, #ffe3a6);
  box-shadow: 0 0 36px 12px rgba(255, 240, 200, .48), 0 0 120px 40px rgba(255, 226, 170, .24); }
.sk-v5 .sk5-day .sk5-halo-sun { left: calc(var(--sx, 65%) - 5.45rem); top: calc(12% + var(--p) * 22% - 5.45rem); width: 14rem; height: 14rem;
  background: repeating-conic-gradient(rgba(255, 244, 214, .13) 0 6deg, transparent 6deg 18deg);
  -webkit-mask: radial-gradient(circle, #000 18%, transparent 68%); mask: radial-gradient(circle, #000 18%, transparent 68%);
  animation: sk5-spin 90s linear infinite; }
.sk-v5 .sk5-evening .sk5-sun { left: var(--sx, 69%); top: calc(56% + var(--p) * 30%); width: 4.4rem; height: 4.4rem;
  background: radial-gradient(circle, #ffe9bd, #ffb27c 55%, #f0727a);
  box-shadow: 0 0 40px 14px rgba(255, 150, 120, .55), 0 0 140px 50px rgba(173, 23, 74, .34); }
.sk-v5 .sk5-evening .sk5-halo-sun { left: calc(var(--sx, 69%) - 6rem); top: calc(56% + var(--p) * 30% - 5rem); width: 16.4rem; height: 14.4rem;
  background: radial-gradient(closest-side, rgba(255, 190, 140, .3), transparent); animation: sk5-breathe 4.8s ease-in-out infinite; }
/* луна — настоящая фаза (путь SVG из hero5::moon_path), ореол «дышит» */
.sk-v5 .sk5-moon { left: var(--mx, 63%); top: calc(30% - var(--p) * 20%); width: 2.9rem; height: 2.9rem; overflow: visible; transform: rotate(-16deg);
  filter: drop-shadow(0 0 9px rgba(255, 236, 200, .7)) drop-shadow(0 0 26px rgba(255, 226, 180, .35)); }
.sk-v5 .sk5-moon-dark { fill: rgba(255, 242, 210, .07); }
.sk-v5 .sk5-moon-lit { fill: #fff2d2; }
.sk-v5 .sk5-crater { fill: rgba(214, 196, 160, .42); }
.sk-v5 .sk5-halo-moon { left: calc(var(--mx, 63%) - 5.6rem); top: calc(30% - var(--p) * 20% - 5.6rem); width: 14.1rem; height: 14.1rem;
  background: radial-gradient(circle, rgba(255, 236, 200, .24), rgba(255, 236, 200, .07) 42%, transparent 70%);
  animation: sk5-breathe 4.8s ease-in-out infinite; }
.sk-v5 .sk5-star { border-radius: 50%; background: #fff; opacity: var(--o); box-shadow: 0 0 4px rgba(255, 255, 255, .8);
  animation: sk5-tw 2.4s ease-in-out infinite; }
.sk-v5 .sk5-spark { width: 11px; height: 11px; margin: -5px 0 0 -5px; --o: .95;
  background: radial-gradient(circle, #fff 0 1.2px, transparent 1.8px),
    linear-gradient(rgba(255, 255, 255, 0), #fff 50%, rgba(255, 255, 255, 0)) center / 1px 100% no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, 0), #fff 50%, rgba(255, 255, 255, 0)) center / 100% 1px no-repeat;
  animation: sk5-tw 2.4s ease-in-out infinite; }
.sk-v5 .sk5-shoot { left: 58%; top: 12%; width: 7.5rem; height: 1.6px; border-radius: 2px; background: linear-gradient(90deg, #fff, rgba(255, 255, 255, 0));
  opacity: 0; transform-origin: 0 50%; animation: sk5-shoot 9.6s .6s linear infinite; }
/* облака, птицы, горы и туман */
.sk-v5 .sk5-cloud { width: calc(8rem * var(--s)); height: calc(2rem * var(--s)); border-radius: 999px; background: rgba(255, 255, 255, .24);
  filter: blur(3.5px); animation: sk5-float 38s ease-in-out infinite alternate; }
.sk-v5 .sk5-cloud::before, .sk-v5 .sk5-cloud::after { content: ""; position: absolute; border-radius: 50%; background: inherit; }
.sk-v5 .sk5-cloud::before { left: 22%; top: -55%; width: 42%; height: 120%; }
.sk-v5 .sk5-cloud::after { left: 50%; top: -30%; width: 32%; height: 95%; }
.sk-v5 .sk5-cloud-b { background: rgba(255, 255, 255, .16); animation-duration: 52s; animation-direction: alternate-reverse; }
.sk-v5 .sk5-cloud-c { background: rgba(255, 255, 255, .13); animation-duration: 64s; }
.sk-v5 .sk5-bird { height: auto; animation: sk5-fly 14s ease-in-out infinite alternate; }
.sk-v5 .sk5-bird path { fill: none; stroke: rgba(30, 12, 20, .75); stroke-width: 1.6; stroke-linecap: round; }
.sk-v5 .sk5-hills { left: 0; bottom: 0; width: 100%; height: 60%; }
.sk-v5 .sk5-h0 { fill: url(#sk5h0); opacity: var(--sk5-h0o); stroke: var(--sk5-rim); stroke-width: 1.2; }
.sk-v5 .sk5-h1 { fill: url(#sk5h1); opacity: var(--sk5-h1o); }
.sk-v5 .sk5-h2 { fill: url(#sk5h2); opacity: var(--sk5-h2o); }
.sk-v5 .sk5-mist { fill: url(#sk5mist); animation: sk5-mist 16s ease-in-out infinite alternate; }
.sk-v5 .sk5-mist2 { animation-duration: 22s; animation-direction: alternate-reverse; }
/* примета сезона: осенью листья гинкго, весной лепестки (утро, день, вечер), зимой снег, летом светлячки (вечер, ночь) */
.sk-v5 .sk5-leaf { height: auto; filter: drop-shadow(0 2px 2px rgba(0, 0, 0, .18)); animation: sk5-fall 12s linear infinite; }
.sk-v5 .sk5-leaf-blade { fill: #e8b947; }
.sk-v5 .sk5-leaf-stem { fill: none; stroke: #c9952e; stroke-width: 1.3; stroke-linecap: round; }
.sk-v5 .sk5-petal { width: 10px; height: 7px; border-radius: 70% 0 70% 0; background: linear-gradient(135deg, #ffd6e3, #f4a3bf);
  animation: sk5-fall 14s linear infinite; }
.sk-v5 .sk5-snow { border-radius: 50%; background: #fff; box-shadow: 0 0 3px rgba(255, 255, 255, .7); animation: sk5-snow 10s linear infinite; }
.sk-v5 .sk5-fly { width: 4px; height: 4px; border-radius: 50%; background: #ffe9a0; box-shadow: 0 0 8px 3px rgba(255, 226, 140, .6);
  animation: sk5-glow 6s ease-in-out infinite alternate; }
@keyframes sk5-tw { 0%, 100% { opacity: var(--o, .8); } 50% { opacity: calc(var(--o, .8) * .2); } }
@keyframes sk5-breathe { 0%, 100% { transform: scale(1); opacity: .82; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes sk5-spin { to { transform: rotate(360deg); } }
@keyframes sk5-shoot { 0% { opacity: 0; transform: translate(0, 0) rotate(-20deg); } 3% { opacity: .95; }
  20%, 100% { opacity: 0; transform: translate(-17rem, 6.2rem) rotate(-20deg); } }
@keyframes sk5-float { from { transform: translateX(-1.6rem); } to { transform: translateX(1.6rem); } }
@keyframes sk5-fly { from { transform: translate(0, 0); } to { transform: translate(-5rem, -1rem); } }
@keyframes sk5-mist { from { transform: translateX(-3%); } to { transform: translateX(3%); } }
@keyframes sk5-fall { 0% { opacity: 0; transform: translate(0, -1.5rem) rotate(var(--r, 0deg)); } 10%, 85% { opacity: 1; }
  100% { opacity: 0; transform: translate(-2.5rem, 12rem) rotate(calc(var(--r, 0deg) + 220deg)); } }
@keyframes sk5-snow { 0% { opacity: 0; transform: translate(0, -2rem); } 10%, 85% { opacity: .9; } 100% { opacity: 0; transform: translate(1.5rem, 14rem); } }
@keyframes sk5-glow { 0% { opacity: .2; transform: translate(0, 0); } 50% { opacity: 1; } 100% { opacity: .3; transform: translate(1.4rem, -1rem); } }
/* iPad: «Слово дня» занимает правую треть — солнце и луна левее, между приветствием и карточкой */
@media (min-width: 768px) and (max-width: 991.98px) { .sk-v5 .sk5-live { --sx: 50%; --mx: 51%; } }
/* на телефоне и iPad текст плашки шире — примета сезона только на компьютере, чтобы не шла по приветствию */
@media (max-width: 991.98px) { .sk-v5 .sk5-sky .sk5-season { display: none; } }
/* «уменьшить движение» в системе: всё неподвижно; снег и светлячки неподвижными были бы просто точками — их нет */
@media (prefers-reduced-motion: reduce) {
  .sk-v5 .sk5-sky * { animation: none !important; }
  .sk-v5 .sk5-sky :is(.sk5-snow, .sk5-fly, .sk5-shoot) { display: none !important; }
}
/* телефон: солнце или луна — в правом верхнем углу, горы ниже, время чуть меньше, строка над приветствием — в две строки */
@media (max-width: 767.98px) {
  .sk-v5 .sk5-kicker { max-width: 78%; flex-direction: column; align-items: flex-start; gap: .35rem; }
  .sk-v5 .sk5-kicker .sk5-dot, .sk-v5 .sk5-g + .sk5-g::before { display: none; }
  .sk-v5 .sk5-live .sk5-sky :is(.sk5-sun, .sk5-moon) { left: auto; right: 1.3rem; top: 1.15rem; width: 2.4rem; height: 2.4rem; }
  .sk-v5 .sk5-live .sk5-sky .sk5-halo { left: auto; right: -3rem; top: -3.6rem; width: 11rem; height: 11rem; }
  .sk-v5 .sk5-hills { height: 34%; }
  .sk-v5 .sk5-time { font-size: 1.75rem; }
  .sk-v5 .sk5-sky :is(.sk5-clouds, .sk5-birds) { display: none !important; }
  .sk-v5 .sk5-shoot { left: 70%; top: 6%; }
}

/* ---------- 10. Нажатие на ссылки и кнопки (0.23.2, просьба владельца 14.10.2026) ----------
   Раньше Moodle помечал нажатую ссылку мятной заливкой с тёмной полосой снизу, а пункты верхнего меню, вкладки и значки —
   цветным кольцом; это было видно каждый раз, пока открывалась следующая страница. Теперь мышь и касание: ссылка становится
   персиковой, и под ней «вырастает» тонкая персиковая линия; пункт меню остаётся в своей мягкой подложке; кнопка на странице
   чуть вдавливается. С клавиатуры (Tab) — персиковая обводка, как у остального в 3.0: она нужна тем, кто ходит по странице
   клавишами. Правила против кольца повторяют селекторы Moodle с той же силой и стоят позже (этот файл грузится после стилей
   темы), поэтому собственные тени кнопок и карточек школы не меняются. */
/* мятная заливка и тёмная полоса ссылок Moodle — прозрачные (их цвета Moodle берёт из этих переменных); свои подложки
   ссылок-«таблеток» школы (например, на пульте администрации) остаются */
.sk-v5 { -webkit-tap-highlight-color: transparent; --bs-link-focus-bg: transparent; --bs-link-focus-underline: transparent; }
/* ссылки без своего класса (имена, названия уроков, ссылки в тексте): линия под ссылкой, пока нулевой ширины; слабое
   правило — у ссылок-«таблеток» со своим фоном линии нет */
.sk-v5 :where(a:not([class]), .aalink, .arrow_link) {
  background-image: linear-gradient(90deg, var(--sk3-peach-deep, #f39a5c), var(--sk3-peach, #ffb98a));
  background-repeat: no-repeat; background-position: 0 100%; background-size: 0 2px;
  transition: color .2s ease, background-size .35s var(--sk3-ease, ease);
}
/* мышь и касание: персиковый цвет и линия во всю ширину */
.sk-v5 :is(a:not([class]), .aalink, .arrow_link):is(:active, :focus:not(:focus-visible)) {
  color: #c45f26; background-size: 100% 2px; text-decoration: none;
}
/* клавиатура: то же и персиковая обводка */
.sk-v5 :is(a:not([class]), .aalink, .arrow_link):focus-visible, .sk-v5 .activityinstance > a:focus-visible {
  color: #c45f26; background-size: 100% 2px; text-decoration: none; outline: 3px solid rgba(243, 154, 92, .65); outline-offset: 2px;
}
.sk-v5 :where(a:not([class]), .aalink, .arrow_link):focus-visible { border-radius: 6px; }
/* кольцо Moodle у пунктов меню, вкладок, значков и галочек — убрано (с клавиатуры остаётся персиковая обводка 3.0) */
:is(.aabtn, .btn-link, .nav-link, [role="button"], .list-group-item-action, .form-autocomplete-selection):focus,
:is(a.dropdown-toggle, button.btn-close, input[type="checkbox"], input[type="radio"], input[type="file"], input[type="image"]):focus,
:is(.moodle-dialogue-base .closebutton, [role="treeitem"]:not([aria-expanded="true"])):focus { box-shadow: none; }
/* у них Moodle убирает обводку сильнее, чем правило 3.0, — с клавиатуры возвращаем ту же персиковую */
.sk-v5 :is(a.dropdown-toggle, button.btn-close, input[type="checkbox"], input[type="radio"], input[type="file"], input[type="image"],
  .moodle-dialogue-base .closebutton, [role="treeitem"]):focus-visible { outline: 3px solid rgba(243, 154, 92, .65); outline-offset: 2px; }
/* открытое меню у фото — без тёмной рамки Bootstrap вокруг фото и шестерёнки */
.sk-v5 #user-menu-toggle.show { border-color: transparent; background-color: transparent; }
/* кнопки на странице: лёгкое «вдавливание», пока палец или кнопка мыши нажаты */
.sk-v5 [role="main"] .btn:not(:disabled):not(.disabled):active { transform: scale(.97); }
@media (prefers-reduced-motion: reduce) {
  .sk-v5 :where(a:not([class]), .aalink, .arrow_link) { transition: none; }
  .sk-v5 [role="main"] .btn:not(:disabled):not(.disabled):active { transform: none; }
}
