:root {
  font-family: var(--font-family, var(--ckm-font-body, "Ubuntu", Arial, sans-serif));
  color: var(--text, #172033);
  background: var(--background, #f5f7fb);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--background); }
body { margin: 0; min-width: 320px; min-height: 100vh; background:
  radial-gradient(circle at 50% 0%, rgba(23,105,255,.07), transparent 34rem),
  var(--background); }

button, textarea { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }

h1, h2, h3, h4, h5, h6, .main-navigation a {
  font-family: var(--ckm-font-heading, "Caveat", "Bad Script", cursive);
}

.training-page {
  width: min(1080px, calc(100% - 32px));
  margin: 0 auto;
  padding: 26px 0 32px;
}

.hero {
  text-align: center;
  padding: 0 20px 22px;
}
.hero h1 {
  margin: 0;
  font-size: clamp(34px, 5vw, 58px);
  letter-spacing: -.035em;
  line-height: 1.08;
  font-weight: 780;
}
.hero p {
  max-width: 820px;
  margin: 16px auto 0;
  color: var(--muted);
  font-size: clamp(17px, 2.1vw, 21px);
  line-height: 1.55;
}

.trainer-card {
  min-height: 700px;
  background: var(--card);
  border: 1px solid rgba(23, 32, 51, .09);
  border-radius: 30px;
  box-shadow: 0 24px 80px rgba(42, 52, 76, .11);
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto auto;
}
.trainer-card:fullscreen {
  width: 100vw;
  height: 100vh;
  border-radius: 0;
  padding: 20px;
}

.trainer-topbar {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px 8px;
}
.brand-mark {
  width: 48px; height: 48px;
  border-radius: 50%;
  background: conic-gradient(from 10deg, #077cf0, #75e0da, #0851c8, #d8ffff, #0871df, #74e5d9);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.04);
  position: relative;
}
.brand-mark::after {
  content:"";
  position:absolute; inset: 11px;
  border-radius:50%;
  background: rgba(255,255,255,.12);
}
.icon-button {
  width: 44px; height: 44px;
  border: 1px solid rgba(23,32,51,.10);
  background: #fff;
  border-radius: 13px;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}
.icon-button:hover { background:#f7f9fc; }

.conversation-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 8px clamp(18px, 5vw, 72px) 24px;
}

.voice-orb {
  width: 188px; height: 188px;
  position: relative;
  display: grid;
  place-items: center;
  margin-top: 2px;
}
.rings {
  position:absolute; inset:20px;
  border-radius:50%;
  background: radial-gradient(circle, rgba(23,105,255,.13) 0 43%, rgba(23,105,255,.06) 44% 54%, transparent 55%);
}
.rings::before, .rings::after {
  content:""; position:absolute; border-radius:50%;
  border:1px solid rgba(23,105,255,.10);
}
.rings::before { inset:-17px; }
.rings::after { inset:-34px; }
.voice-orb[data-mode="speaking"] .rings { animation:pulse 1.2s ease-in-out infinite; }
.voice-orb[data-mode="listening"] .rings { animation:pulse 1.8s ease-in-out infinite; }
@keyframes pulse {
  50% { transform:scale(1.055); opacity:.8; }
}

.wave-bars {
  position:relative; z-index:3;
  width:105px; height:72px;
  display:flex; align-items:center; justify-content:center; gap:5px;
}
.wave-bars i {
  width:5px;
  height:16px;
  background: linear-gradient(180deg, var(--accent-2), var(--accent));
  border-radius:999px;
  transition: height .08s linear;
}

.intro { text-align:center; margin-top: 18px; }
.intro h2 { margin:0; font-size: clamp(22px, 3vw, 28px); letter-spacing:-.02em; }
.intro p { margin:8px 0 0; color:var(--muted); font-size:18px; }

.status-pill {
  margin-top:18px;
  min-height:31px;
  padding:7px 14px;
  border-radius:999px;
  font-size:14px;
  color:#315075;
  background:#f0f6ff;
  border:1px solid #d9eaff;
}
.status-pill[data-mode="speaking"] { color:#164ca0; background:#eaf3ff; }
.status-pill[data-mode="listening"] { color:#166441; background:#eafaf3; border-color:#d0f0df; }
.status-pill[data-mode="error"] { color:#9f2b2b; background:#fff0f0; border-color:#ffd7d7; }
.status-pill[data-mode="warning"] { color:#845c08; background:#fff8e7; border-color:#f0daa4; }

.transcript {
  width:min(760px, 100%);
  max-height:190px;
  overflow:auto;
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.message {
  display:grid;
  gap:3px;
  padding:10px 13px;
  border-radius:13px;
  font-size:14px;
  line-height:1.45;
}
.message strong { font-size:12px; text-transform:uppercase; letter-spacing:.04em; opacity:.65; }
.message.user { margin-left:auto; max-width:80%; background:#eff5ff; }
.message.agent { margin-right:auto; max-width:88%; background:#f5f6f8; }

.main-actions {
  margin-top:20px;
  min-height:58px;
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
}
.primary-button, .text-test-button, .team-ready-button, .danger-button {
  min-height:58px;
  padding:0 25px;
  border:0;
  border-radius:15px;
  cursor:pointer;
  font-size:18px;
  font-weight:700;
}
.button-label {
  display:inline-block;
  color:inherit;
  font:inherit;
  line-height:1.2;
  white-space:normal;
}
.primary-button {
  min-width:245px;
  color:#fff;
  background:linear-gradient(135deg, var(--accent), #087dff);
  box-shadow:0 12px 26px rgba(23,105,255,.24);
}
.primary-button:hover { transform:translateY(-1px); }
.text-test-button {
  min-width:245px;
  color:var(--accent);
  background:#fff;
  border:1px solid #9fc5ff;
  box-shadow:0 8px 20px rgba(23,105,255,.10);
}
.text-test-button:hover { transform:translateY(-1px); background:#f5f9ff; }
.team-ready-button{min-width:245px;color:#0c6b3f;background:#eefbf4;border:1px solid #9bd7b9;box-shadow:0 8px 20px rgba(25,164,99,.12)}
.team-ready-button:hover{transform:translateY(-1px);background:#e4f8ed}.team-ready-button:disabled{opacity:.72;cursor:wait;transform:none}
.text-test-button:disabled, .primary-button:disabled { opacity:.48; cursor:not-allowed; transform:none; }
.phone-symbol { margin-right:8px; font-size:23px; }
.danger-button { min-width:245px; color:#a32222; background:#fff0f0; border:1px solid #ffd2d2; }

.team-discussion-control {
  width:min(680px, 100%);
  min-height:84px;
  margin:18px auto 0;
  padding:15px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  border:1px solid #9fc5ff;
  border-radius:18px;
  color:#0b4ca8;
  background:#f3f8ff;
  box-shadow:0 10px 24px rgba(23,105,255,.12);
  cursor:pointer;
  text-align:left;
}
.team-discussion-control:hover:not(:disabled) { transform:translateY(-1px); box-shadow:0 13px 28px rgba(23,105,255,.18); }
.team-discussion-control-icon { flex:0 0 auto; font-size:29px; line-height:1; }
.team-discussion-control-copy { display:grid; gap:4px; }
.team-discussion-control-copy strong { font-size:18px; line-height:1.25; }
.team-discussion-control-copy small { color:#65738b; font-size:13px; line-height:1.35; }
.team-discussion-control.is-discussing { color:#fff; border-color:transparent; background:linear-gradient(135deg, var(--accent), #087dff); }
.team-discussion-control.is-discussing small { color:#eaf3ff; }
.team-discussion-control.is-answering { color:#075a39; border-color:#8fd0ae; background:#eaf9f1; }
.team-discussion-control.is-answering small { color:#3f735e; }
.team-discussion-control.is-busy:disabled { cursor:wait; opacity:.82; box-shadow:none; }

.hint {
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#11418b;
  border:1px solid #a9ceff;
  background:#f0f6ff;
  padding:12px 18px;
  border-radius:13px;
  font-size:14px;
}
.hint-icon {
  width:22px; height:22px;
  display:grid; place-items:center;
  border:2px solid currentColor;
  border-radius:50%;
  font-size:13px;
  font-weight:800;
}

.composer-wrap {
  margin: 0 24px 14px;
}
.composer-label {
  margin: 0 2px 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.composer {
  min-height: 62px;
  display:flex;
  align-items:flex-end;
  gap:10px;
  border:1px solid var(--ckm-color-border, #dce2eb);
  border-radius:16px;
  padding:8px 8px 8px 14px;
  background:var(--ckm-color-surface-soft, #f5f7fb);
  box-shadow:0 8px 24px rgba(23,32,51,.05);
}
.composer.voice-only {
  width:64px;
  min-height:64px;
  justify-content:center;
  margin:0 auto;
  padding:9px;
  border-radius:999px;
}
.composer-wrap.voice-only-wrap { margin-bottom:14px; }
.composer textarea {
  flex:1;
  min-width:0;
  resize:none;
  border:0;
  outline:0;
  color:var(--text);
  min-height:44px;
  max-height:140px;
  padding:11px 4px 7px;
  background:transparent;
  font-size:16px;
  line-height:1.45;
}
.composer textarea::placeholder { color:var(--muted); opacity:.78; }
.composer-actions { display:flex; align-items:center; gap:7px; flex:none; }
.round-button {
  width:44px; height:44px;
  border-radius:13px;
  border:1px solid var(--ckm-color-border, #dce2eb);
  background:var(--ckm-color-surface, #fff);
  color:var(--text);
  cursor:pointer;
  display:grid;
  place-items:center;
  font-size:17px;
  transition:transform .16s ease, background .16s ease, border-color .16s ease;
}
.round-button:not(:disabled):hover { transform:translateY(-1px); background:var(--ckm-color-surface-strong, #e6edf6); }
.round-button.send {
  border-color:var(--ckm-color-accent, #1769ff);
  background:var(--ckm-color-accent, #1769ff);
  color:var(--ckm-color-accent-contrast, #fff);
  font-size:20px;
  font-weight:900;
}
.round-button.send:not(:disabled):hover { background:var(--ckm-color-accent-hover, #0f56d9); }
.round-button:disabled { opacity:.34; cursor:not-allowed; transform:none; }
.trainer-card[data-session-mode="text"] .wave-bars i { animation:none; height:10px !important; opacity:.35; }

@media (max-width:640px) {
  .composer-wrap { margin-left:12px; margin-right:12px; }
  .composer { padding-left:10px; }
  .composer-label { margin-left:0; }
  .team-discussion-control { min-height:76px; padding:13px 15px; align-items:flex-start; }
  .team-discussion-control-copy strong { font-size:16px; }
}

.conversation-meta {
  margin:0 24px 16px;
  color:var(--muted);
  text-align:center;
  font-size:11px;
}
.conversation-meta summary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  list-style:none;
  color:var(--muted);
  opacity:.72;
  font-weight:700;
  transition:opacity .16s ease;
}
.conversation-meta summary:hover { opacity:1; }
.conversation-meta summary::-webkit-details-marker { display:none; }
.conversation-meta summary::before { content:"▸"; font-size:10px; transition:transform .16s ease; }
.conversation-meta[open] summary::before { transform:rotate(90deg); }
.conversation-meta-content {
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:8px;
  padding:8px 10px;
  border-radius:10px;
  background:var(--ckm-color-surface-soft, #f5f7fb);
  border:1px solid var(--ckm-color-border, #dce2eb);
  word-break:break-all;
}
.text-test-bridge-info {
  display:inline-block;
  opacity:.72;
  word-break:break-all;
}
.footer {
  color:#808897;
  text-align:center;
  padding:20px 8px 0;
  font-size:13px;
}
.hidden { display:none !important; }

@media (max-width: 700px) {
  .training-page { width:min(100% - 16px, 1080px); padding-top:18px; }
  .hero { padding-bottom:16px; }
  .trainer-card { border-radius:22px; min-height:680px; }
  .trainer-topbar { padding:14px 15px 0; }
  .brand-mark { width:40px; height:40px; }
  .conversation-stage { padding-left:14px; padding-right:14px; }
  .voice-orb { width:155px; height:155px; }
  .intro { margin-top:10px; }
  .hint { width:100%; justify-content:center; text-align:left; }
  .composer { margin:0 10px 10px; padding-left:14px; }
  .message.user, .message.agent { max-width:94%; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; transition-duration:.001ms !important; }
}


/* ---------- Protected-access layer ---------- */
.access-gate {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(245, 247, 251, .86);
  backdrop-filter: blur(12px);
}
.access-panel {
  width: min(470px, 100%);
  padding: 30px;
  background: #fff;
  border: 1px solid rgba(23, 32, 51, .10);
  border-radius: 24px;
  box-shadow: 0 28px 90px rgba(30, 42, 70, .18);
  text-align: center;
}
.access-panel h2 { margin: 0; font-size: 28px; letter-spacing: -.025em; }
.access-panel p { margin: 10px 0 20px; color: var(--muted); line-height: 1.5; }
.access-panel form { display: grid; gap: 10px; }
.access-panel input {
  width: 100%;
  height: 52px;
  padding: 0 15px;
  border: 1px solid #d9e0ea;
  border-radius: 13px;
  outline: none;
  font-size: 17px;
}
.access-panel input:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(23,105,255,.10); }
.access-panel button {
  height: 52px;
  border: 0;
  border-radius: 13px;
  color: #fff;
  background: linear-gradient(135deg, var(--accent), #087dff);
  font-weight: 750;
  cursor: pointer;
}
.access-error { min-height: 22px; margin-top: 10px; color: #a52a2a; font-size: 14px; }
.trainer-card.locked { pointer-events: none; user-select: none; filter: blur(3px); opacity: .72; }

/* v2.5 — персональные доступы и corporate white-label */
.client-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  padding: 7px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 25%, #dfe5ef);
  border-radius: 999px;
  background: #fff;
  color: var(--text);
  font-weight: 750;
  font-size: 13px;
}
.client-logo { max-height: 34px; max-width: 120px; object-fit: contain; }
.access-summary {
  margin: 0 0 14px;
  padding: 10px 12px;
  border-radius: 11px;
  background: #eef6ff;
  color: #23456d;
  font-size: 13px;
  font-weight: 650;
}
.grant-badge {
  margin-left: auto;
  margin-right: 8px;
  padding: 6px 10px;
  border-radius: 999px;
  background: #eef4ff;
  color: #31557f;
  font-size: 12px;
  font-weight: 750;
  white-space: nowrap;
  max-width: 58%;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* ---------- v2.6: каталог нескольких тренингов ---------- */
.catalog-page {
  width:min(1180px, calc(100% - 32px));
  margin:0 auto;
  padding:38px 0 54px;
}
.catalog-hero { text-align:center; padding:12px 12px 28px; }
.catalog-brand {
  display:inline-grid;place-items:center;width:58px;height:58px;border-radius:18px;
  margin-bottom:16px;color:white;font-weight:850;letter-spacing:.04em;
  background:linear-gradient(135deg,var(--accent),var(--accent-2));
  box-shadow:0 14px 34px rgba(23,105,255,.22);
}
.catalog-brand.catalog-cover-brand {
  display:block;
  width:min(1040px,100%);
  height:auto;
  margin:0 auto 28px;
  padding:0;
  overflow:hidden;
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 58px rgba(29,42,70,.14);
}
.catalog-cover-image {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/9;
  object-fit:cover;
}
.catalog-hero h1 { margin:0;font-size:clamp(38px,6vw,66px);letter-spacing:-.045em;line-height:1.02; }
.catalog-hero p { max-width:760px;margin:15px auto 0;color:var(--muted);font-size:19px;line-height:1.55; }
.catalog-loading,.catalog-empty {
  max-width:760px;margin:30px auto;padding:28px;border-radius:20px;background:white;
  border:1px solid #e1e6ee;text-align:center;box-shadow:0 14px 45px rgba(42,52,76,.07);
}
.catalog-section { margin:34px 0 48px; }
.catalog-section-head { display:flex;align-items:center;gap:12px;margin-bottom:16px; }
.catalog-section-head h2 { margin:0;font-size:clamp(23px,3vw,31px);letter-spacing:-.025em; }
.catalog-section-head span {
  min-width:30px;height:30px;padding:0 9px;display:grid;place-items:center;border-radius:999px;
  background:#eaf2ff;color:#295487;font-weight:800;font-size:13px;
}
.training-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.training-card {
  min-width:0;background:#fff;border:1px solid rgba(23,32,51,.09);border-radius:22px;overflow:hidden;
  box-shadow:0 16px 48px rgba(42,52,76,.08);display:flex;flex-direction:column;
}
.training-cover { width:100%;height:205px;object-fit:cover;background:#eaf0f8;display:block; }
.training-cover.placeholder {
  display:grid;place-items:center;background:linear-gradient(135deg,#e9f1ff,#f5f8fc);color:#4c76ad;
}
.training-cover.placeholder span { font-size:48px;opacity:.65; }
.training-card-body { padding:19px;display:flex;flex-direction:column;flex:1; }
.training-type {
  align-self:flex-start;padding:5px 9px;border-radius:999px;background:#eff5ff;color:#31567e;
  font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;
}
.training-card h3 { margin:11px 0 8px;font-size:22px;line-height:1.18;letter-spacing:-.02em; }
.training-card p { margin:0 0 18px;color:var(--muted);line-height:1.5;flex:1; }
.training-card-actions { display:grid;gap:9px;margin-top:auto; }
.catalog-open-button,.catalog-trial-button,.buy-link {
  min-height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  padding:10px 13px;text-decoration:none;font-weight:750;text-align:center;cursor:pointer;
}
.catalog-open-button { background:var(--accent);color:#fff;border:0; }
.catalog-trial-button { background:#f1f6ff;color:#20569d;border:1px solid #cfe0fb; }
.catalog-trial-button:hover,.catalog-open-button:hover { transform:translateY(-1px); }

/* v2.17.2 — настраиваемая вводная страница с описанием и видеоматериалами */
.catalog-introduction{
  margin:8px 0 48px;padding:clamp(20px,4vw,38px);border:1px solid rgba(23,32,51,.09);
  border-radius:28px;background:linear-gradient(145deg,#fff 0%,#f6f9ff 100%);
  box-shadow:0 20px 60px rgba(42,52,76,.08)
}
.catalog-intro-copy{max-width:900px;margin:0 auto 28px;text-align:center}
.catalog-intro-copy>span,.catalog-video-copy>span{font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--accent)}
.catalog-intro-copy h2{margin:8px 0 12px;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.035em}
.catalog-intro-copy>p{max-width:820px;margin:0 auto;color:var(--muted);font-size:17px;line-height:1.65}
.catalog-intro-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:24px;text-align:left}
.catalog-intro-points>div{display:grid;grid-template-columns:36px 1fr;gap:10px;align-items:start;padding:15px;border-radius:16px;background:#fff;border:1px solid rgba(23,32,51,.08)}
.catalog-intro-points strong{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eaf2ff;color:#24599a}
.catalog-intro-points span{color:#45546a;line-height:1.45;font-size:14px}
.catalog-video-card{padding:20px;border-radius:22px;background:#fff;border:1px solid rgba(23,32,51,.09);box-shadow:0 12px 38px rgba(25,45,80,.06)}
.catalog-video-copy{max-width:820px;margin:0 auto 15px;text-align:center}
.catalog-video-copy h3{margin:6px 0 7px;font-size:clamp(22px,3vw,30px);letter-spacing:-.025em}
.catalog-video-copy p{margin:0;color:var(--muted);line-height:1.55}
.catalog-video-card .case-media{max-width:960px;margin:0 auto;padding:10px;box-shadow:none;background:#fbfcff}
.catalog-video-card .case-media>p{display:none}
.catalog-demo-grid{display:grid;gap:18px;margin-top:20px}
@media(max-width:720px){
  .catalog-intro-points{grid-template-columns:1fr}
  .catalog-introduction{padding:18px 12px;border-radius:22px}
  .catalog-video-card{padding:12px}
}

.training-nav {
  display:flex;justify-content:space-between;gap:16px;align-items:center;
  margin:0 4px 20px;color:var(--muted);font-size:13px;
}
.training-nav a { color:#235b9f;text-decoration:none;font-weight:700; }
.case-media {
  max-width:930px;margin:0 auto 24px;padding:16px;background:#fff;border:1px solid rgba(23,32,51,.09);
  border-radius:22px;box-shadow:0 14px 42px rgba(42,52,76,.07);
}
.case-media video { display:block;width:100%;max-height:560px;border-radius:14px;background:#000; }
.video-frame { position:relative;padding-top:56.25%;overflow:hidden;border-radius:14px;background:#000; }
.video-frame iframe { position:absolute;inset:0;width:100%;height:100%;border:0; }
.case-media p { margin:12px 4px 0;color:var(--muted);text-align:center;font-size:14px; }

.trial-access-button {
  width:100%;min-height:50px;margin-top:10px;border-radius:13px;border:1px solid #b8d2f6;
  background:#eef5ff;color:#174f96;font-weight:800;cursor:pointer;
}
.buy-link { margin-top:10px;background:#fff7e8;color:#8a5700;border:1px solid #f3d79c; }
.trial-banner {
  margin:0 0 10px;padding:8px 13px;border-radius:999px;background:#fff2d6;color:#805100;
  border:1px solid #f0d293;font-size:12px;font-weight:850;letter-spacing:.035em;
}
.fatal-card {
  max-width:680px;margin:70px auto;padding:30px;border-radius:22px;background:#fff;
  border:1px solid #e0e5ed;box-shadow:0 20px 60px rgba(42,52,76,.10);text-align:center;
}
.fatal-card a { display:inline-block;margin-top:12px;color:#175fa8;font-weight:700; }

@media(max-width:960px){.training-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:650px){
  .catalog-page{width:min(100% - 16px,1180px);padding-top:22px}
  .training-grid{grid-template-columns:1fr}
  .training-cover{height:190px}
  .training-nav{align-items:flex-start;flex-direction:column}
}


/* v2.7: бесплатный тест по email */
.trial-email-box {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid #c8daf4;
  border-radius: 16px;
  background: #f5f9ff;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.trial-email-box.trial-email-highlight {
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(23,105,255,.10);
  transform: translateY(-1px);
}
.trial-email-title {
  margin-bottom: 10px;
  font-size: 16px;
  font-weight: 850;
  color: #174f96;
}
.access-panel .trial-email-box form { display: grid; gap: 9px; }
.access-panel .trial-email-box .trial-access-button {
  margin-top: 0;
  color: #fff;
  border: 0;
  background: linear-gradient(135deg, #1769ff, #087dff);
}
.access-panel .trial-email-note {
  margin: 9px 0 0;
  font-size: 12px;
  line-height: 1.45;
  color: #6b7280;
}

/* ---------- v2.8: OTP email + расширенный white-label ---------- */
:root { font-family: var(--font-family, var(--ckm-font-body, "Ubuntu", Arial, sans-serif)); }
button, textarea, input, select { font-family: var(--font-family, inherit); }
.footer { display:flex; flex-direction:column; gap:5px; }
.trial-verify-form { margin-top:12px; padding-top:12px; border-top:1px dashed #c7d8ee; }
.trial-code-label { font-size:12px; color:var(--muted); text-align:left; line-height:1.45; }
#trialCode { text-align:center; letter-spacing:.28em; font-weight:800; font-size:22px; }
.access-panel .trial-email-box .trial-resend-button {
  margin-top:0; height:40px; color:#24517e; background:#fff; border:1px solid #ccdbef; font-size:13px;
}
.catalog-company-logo { max-width:180px; max-height:58px; object-fit:contain; display:block; }
.catalog-brand:has(.catalog-company-logo) { width:auto; min-width:110px; padding:8px 14px; background:var(--card); }
.catalog-corporate-footer { text-align:center; color:var(--muted); padding:12px 10px 0; font-size:13px; }
body { background-position:center top; }

/* v2.9 demo video */
.demo-media-block{max-width:980px;margin:0 auto 22px}.demo-label{font-weight:800;font-size:14px;margin:0 0 8px;color:var(--muted)}.demo-media-block .case-media{margin-bottom:8px}.demo-credit-note{font-size:13px;color:var(--muted);margin:6px 0 0}

/* v2.11 — ЮKassa и предложения кейсов */
.case-proposal-link{display:inline-flex;margin-top:14px;padding:10px 16px;border:1px solid rgba(23,105,255,.2);border-radius:999px;background:#fff;color:#175fa8;font-weight:800;text-decoration:none}
.training-price{margin:4px 0 12px;font-size:18px;font-weight:900;color:var(--text)}
.purchase-panel{max-width:980px;margin:0 auto 22px;padding:24px;border:1px solid #dfe6ef;border-radius:22px;background:var(--card);box-shadow:0 12px 38px rgba(25,45,80,.06)}
.purchase-panel.compact{text-align:center}.purchase-head span,.case-proposal-copy>span{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#1769ff}.purchase-head h2,.case-proposal-copy h2{margin:6px 0 8px}.purchase-head p,.case-proposal-copy p{margin:0;color:var(--muted);line-height:1.55}
.purchase-form{margin-top:18px}.single-pass-offer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px;border:1px solid #cfe0ff;border-radius:16px;background:linear-gradient(135deg,#f7faff,#eef5ff)}.single-pass-offer div{display:flex;flex-direction:column;gap:5px}.single-pass-offer strong{font-size:17px;color:var(--text)}.single-pass-offer span{color:var(--muted);font-size:13px;line-height:1.45}.single-pass-offer b{white-space:nowrap;font-size:24px;color:#1769ff}.purchase-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.purchase-fields input,.case-proposal-form input,.case-proposal-form select,.case-proposal-form textarea{width:100%;box-sizing:border-box;border:1px solid #d7dfeb;border-radius:12px;padding:12px 13px;background:#fff;color:var(--text)}.purchase-consent{display:block;margin:12px 0;color:var(--muted);font-size:13px;line-height:1.45}.purchase-button,.proposal-button{min-height:48px;border:0;border-radius:13px;padding:0 20px;background:linear-gradient(135deg,#1769ff,#087dff);color:#fff;font-weight:900;cursor:pointer}.purchase-button:disabled,.proposal-button:disabled{opacity:.6;cursor:wait}.purchase-error,.proposal-message{margin-top:10px;min-height:20px;color:#9b2c2c;font-size:13px}.proposal-message{color:#1f6b3a}
.payment-return-banner{max-width:980px;margin:0 auto 22px;padding:18px 20px;border:1px solid #b9cbe6;border-radius:18px;background:#f1f6ff;color:#24517f;display:grid;gap:7px}.payment-return-banner strong{font-size:18px}.payment-return-banner span{line-height:1.5}.payment-return-banner.success{border-color:#b8d7b2;background:#f0f7ed;color:#216e39}.payment-return-banner.error{border-color:#efb9b9;background:#fff2f2;color:#a02d2d}.payment-access-button{display:inline-flex;margin-top:6px;padding:11px 16px;border-radius:12px;background:var(--accent);color:#fff;text-decoration:none;font-weight:800}
.payment-config-warning{border-color:#f0c879;background:#fffaf0}.payment-config-warning .purchase-head span{color:#9a5b00}.payment-config-path{margin:14px 0 0;color:#6f562b;line-height:1.5}
.case-proposal{scroll-margin-top:24px;max-width:980px;margin:32px auto 24px;padding:26px;border:1px solid #dfe6ef;border-radius:22px;background:linear-gradient(180deg,#fff,#f8fbff)}.case-proposal-form{margin-top:18px}.proposal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.proposal-grid label{display:block;font-size:13px;font-weight:800;color:var(--text)}.proposal-grid label.wide{grid-column:1/-1}.proposal-grid input,.proposal-grid select,.proposal-grid textarea{display:block;margin-top:6px;font-weight:500}.proposal-button{margin-top:14px}.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:700px){.single-pass-offer{align-items:flex-start;flex-direction:column}.purchase-fields,.proposal-grid{grid-template-columns:1fr}.proposal-grid label.wide{grid-column:auto}.purchase-panel,.case-proposal{padding:18px}}

/* ---------- v2.12: видеокейсы и сведения об источнике ---------- */
.video-rights{
  margin:10px 4px 0;padding-top:10px;border-top:1px solid rgba(23,32,51,.08);
  color:var(--muted);font-size:12px;line-height:1.5;text-align:left;
}
.video-rights a{color:#235b9f;text-decoration:underline;text-underline-offset:2px}
.case-media video{aspect-ratio:16/9;object-fit:contain}


/* v2.13: разбор внешнего произведения */
.external-work{margin:22px 0;background:var(--card,#fff);border:1px solid rgba(23,32,51,.1);border-radius:22px;padding:24px;box-shadow:0 14px 40px rgba(18,28,45,.06)}
.external-work-kicker{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:rgba(23,105,255,.08);color:var(--accent,#1769ff);margin-bottom:10px}
.external-work h2{margin:0 0 4px;font-size:26px}.external-work-author{color:var(--muted,#6b7280);margin:0 0 12px}.external-work-source{display:inline-flex;margin:10px 0 12px;padding:11px 15px;border-radius:12px;background:var(--accent,#1769ff);color:#fff;text-decoration:none;font-weight:750}.external-work-warning{margin:10px 0 18px;padding:12px 14px;border-radius:12px;background:#fff8e5;border:1px solid #f0d999;font-size:14px;line-height:1.5}.work-fragments{display:grid;gap:10px}.work-fragment{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:14px;border:1px solid rgba(23,32,51,.1);border-radius:14px;background:rgba(247,249,252,.8);color:inherit;text-decoration:none}.work-fragment-number{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(23,105,255,.1);font-weight:800;color:var(--accent,#1769ff)}.work-fragment-head{display:flex;gap:10px;align-items:baseline;justify-content:space-between}.work-fragment-head span{font-variant-numeric:tabular-nums;color:var(--muted,#6b7280);white-space:nowrap}.work-fragment p{margin:6px 0 0;line-height:1.5}.work-fragment-note{margin-top:8px;color:var(--muted,#6b7280);font-size:14px;line-height:1.45}.work-fragment-open{margin-top:9px;color:var(--accent,#1769ff);font-size:13px;font-weight:800}.work-fragment-link:hover{border-color:rgba(23,105,255,.48);box-shadow:0 8px 22px rgba(23,105,255,.11);transform:translateY(-1px)}.work-fragment-link:focus-visible{outline:3px solid rgba(23,105,255,.26);outline-offset:2px}@media(max-width:650px){.external-work{padding:18px}.work-fragment-head{display:block}.work-fragment-head span{display:block;margin-top:3px}}

/* ---------- v2.14: интерактивный голосовой тренер ---------- */
:root { --voice-level:0; }
.trainer-topbar-center{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0;text-align:center}
.trainer-topbar-center strong{font-size:15px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:310px}
.trainer-topbar-center span{font-size:12px;color:var(--muted);text-transform:lowercase}
.trainer-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:48px}

.interactive-training-layout{
  min-height:520px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 330px;
  align-items:stretch;
  gap:0;
}
.interactive-training-layout .conversation-stage{min-width:0;justify-content:center;border-right:1px solid rgba(23,32,51,.075)}
.learning-sidebar{min-width:0;padding:20px 20px 22px;background:linear-gradient(180deg,rgba(249,251,255,.88),rgba(247,249,252,.55));display:flex;flex-direction:column;gap:16px}

.trainer-portrait-stage{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;
  --portrait-size:420px;
  width:min(560px,98%);min-height:500px;margin:0 auto 2px;
  isolation:isolate;
}
.trainer-portrait-frame{
  --portrait-scale:calc(1 + (var(--voice-level) * .025));
  position:relative;z-index:3;width:var(--portrait-size);height:var(--portrait-size);border-radius:50%;overflow:hidden;
  display:grid;place-items:center;
  border:5px solid rgba(255,255,255,.95);
  background:linear-gradient(145deg,#eaf3ff,#f7fbff 50%,#e9f8f5);
  box-shadow:0 20px 48px rgba(33,77,135,.18),0 0 0 1px rgba(23,105,255,.1);
  transform:scale(var(--portrait-scale));transition:transform .09s linear,box-shadow .25s ease;
}
.trainer-portrait-frame img{width:100%;height:100%;object-fit:cover;display:block}
.trainer-portrait-frame.local-animated-avatar>img{transform:scale(1.018);transform-origin:50% 54%;will-change:transform,filter}
.trainer-portrait-frame.local-portrait-sprite>img{position:absolute;inset:0}
.trainer-portrait-frame.local-portrait-sprite{--portrait-scale:1;transform:none!important;animation:none!important}
.trainer-portrait-frame.local-portrait-sprite>img{transform:none!important;animation:none!important}
.trainer-portrait-frame.local-portrait-sprite>img[data-mouth-base="true"]{opacity:1;z-index:1}
.trainer-portrait-frame.local-portrait-sprite>img[data-mouth-overlay]{opacity:0;z-index:2;transition:opacity .045s linear}
.trainer-portrait-frame.local-portrait-sprite[data-mouth-state="half"]>img[data-mouth-overlay="half"],
.trainer-portrait-frame.local-portrait-sprite[data-mouth-state="open"]>img[data-mouth-overlay="open"]{opacity:1}
.trainer-portrait-stage[data-mode="speaking"] .trainer-portrait-frame.local-animated-avatar>img{animation:local-avatar-presence 4.8s ease-in-out infinite}
.trainer-portrait-stage[data-mode="listening"] .trainer-portrait-frame.local-animated-avatar>img{animation:local-avatar-listen 7s ease-in-out infinite}
@keyframes local-avatar-presence{0%,100%{transform:scale(1.018) translate3d(0,0,0)}32%{transform:scale(1.026) translate3d(-.25%,.18%,0)}68%{transform:scale(1.022) translate3d(.28%,-.12%,0)}}
@keyframes local-avatar-listen{0%,100%{transform:scale(1.018) rotate(0deg)}50%{transform:scale(1.021) rotate(.16deg)}}
.live-avatar-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#07111f;z-index:2}
.live-avatar-audio{display:none!important}
.trainer-portrait-stage.liveavatar-ready{width:min(620px,100%);min-height:380px}
.trainer-portrait-stage.liveavatar-ready .trainer-portrait-frame{width:min(560px,96%);height:auto;aspect-ratio:16/9;border-radius:24px}
.trainer-portrait-stage.liveavatar-ready .portrait-ripple{display:none}
.trainer-portrait-stage.liveavatar-ready .portrait-state-dot{right:18px;bottom:18px}
.trainer-portrait-frame.has-live-avatar>img,.trainer-portrait-frame.has-live-avatar>.trainer-portrait-placeholder{visibility:hidden}
.trainer-portrait-frame.has-live-avatar .portrait-state-dot{z-index:4}
.trainer-portrait-placeholder{font-size:108px;font-weight:850;letter-spacing:-.04em;color:#245d9f;text-transform:uppercase}
.portrait-state-dot{position:absolute;right:31px;bottom:34px;width:24px;height:24px;border-radius:50%;background:#8d9bad;border:4px solid #fff;box-shadow:0 2px 7px rgba(0,0,0,.2)}
.trainer-portrait-stage[data-mode="listening"] .portrait-state-dot{background:#20a66a}
.trainer-portrait-stage[data-mode="speaking"] .portrait-state-dot{background:#1769ff}
.trainer-portrait-stage[data-mode="thinking"] .portrait-state-dot,.trainer-portrait-stage[data-mode="connecting"] .portrait-state-dot{background:#d59015}
.trainer-portrait-stage[data-mode="error"] .portrait-state-dot{background:#cc3c3c}
.trainer-portrait-stage[data-mode="speaking"] .trainer-portrait-frame{box-shadow:0 20px 48px rgba(33,77,135,.18),0 0 0 8px rgba(23,105,255,.09),0 0 32px rgba(23,105,255,.22)}
.trainer-portrait-stage[data-mode="listening"] .trainer-portrait-frame{box-shadow:0 20px 48px rgba(33,77,135,.18),0 0 0 7px rgba(32,166,106,.08)}
.trainer-portrait-stage[data-mode="thinking"] .trainer-portrait-frame{animation:portrait-think 1.9s ease-in-out infinite}
@keyframes portrait-think{50%{transform:scale(calc(var(--portrait-scale) * .985));filter:saturate(.9)}}
.portrait-ripple{position:absolute;z-index:1;top:18px;left:50%;width:var(--portrait-size);height:var(--portrait-size);transform:translateX(-50%);border-radius:50%;border:1px solid rgba(23,105,255,.18);opacity:0;pointer-events:none}
.trainer-portrait-stage[data-mode="speaking"] .portrait-ripple,.trainer-portrait-stage[data-mode="listening"] .portrait-ripple{animation:portrait-ripple 2.1s ease-out infinite}
.trainer-portrait-stage[data-mode="listening"] .portrait-ripple{border-color:rgba(32,166,106,.18);animation-duration:2.8s}
.portrait-ripple.ripple-two{animation-delay:.9s!important}
@keyframes portrait-ripple{0%{transform:translateX(-50%) scale(.94);opacity:.52}90%,100%{transform:translateX(-50%) scale(1.45);opacity:0}}
@media(prefers-reduced-motion:reduce){.trainer-portrait-frame.local-animated-avatar>img{animation:none!important}}
.portrait-caption{position:relative;z-index:4;margin-top:14px;text-align:center;display:grid;gap:2px}
.portrait-caption strong{font-size:18px}.portrait-caption span{font-size:13px;color:var(--muted)}
.portrait-wave{position:relative;z-index:4;height:38px;margin-top:7px;display:flex;align-items:center;justify-content:center}
.portrait-wave .wave-bars{height:36px;width:150px;gap:4px}.portrait-wave .wave-bars i{width:4px;max-height:34px}
.voice-orb-fallback{width:188px;height:188px;position:relative;display:grid;place-items:center;margin-top:2px}
.voice-orb-fallback .rings{position:absolute;inset:20px;border-radius:50%;background:radial-gradient(circle,rgba(23,105,255,.13) 0 43%,rgba(23,105,255,.06) 44% 54%,transparent 55%)}
.voice-orb-fallback .rings::before,.voice-orb-fallback .rings::after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(23,105,255,.10)}
.voice-orb-fallback .rings::before{inset:-17px}.voice-orb-fallback .rings::after{inset:-34px}
.voice-orb-fallback[data-mode="speaking"] .rings{animation:pulse 1.2s ease-in-out infinite}.voice-orb-fallback[data-mode="listening"] .rings{animation:pulse 1.8s ease-in-out infinite}

.live-subtitles{
  width:min(720px,100%);margin:14px auto 0;padding:15px 17px;border-radius:16px;
  border:1px solid rgba(23,105,255,.12);background:linear-gradient(180deg,#fbfdff,#f5f9ff);
  box-shadow:0 8px 24px rgba(37,71,117,.05);
}
.subtitle-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;text-transform:uppercase;letter-spacing:.045em;color:#41658e}
.subtitle-dot{width:8px;height:8px;border-radius:50%;background:#1769ff;box-shadow:0 0 0 4px rgba(23,105,255,.08)}
.live-subtitles[data-kind="user"]{border-color:rgba(32,166,106,.16);background:linear-gradient(180deg,#fbfffd,#f2fbf7)}
.live-subtitles[data-kind="user"] .subtitle-dot{background:#20a66a;box-shadow:0 0 0 4px rgba(32,166,106,.08)}
.live-subtitles p{margin:0;font-size:16px;line-height:1.52;color:var(--text)}

.progress-panel,.analysis-panel,.individual-score-panel{border:1px solid rgba(23,32,51,.09);border-radius:18px;background:rgba(255,255,255,.9);padding:16px;box-shadow:0 8px 26px rgba(40,57,80,.04)}
.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:13px}.panel-heading>span{font-size:13px;font-weight:850}.panel-heading>strong{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.individual-score-panel{background:linear-gradient(145deg,#fff,#f2f7ff);border-color:rgba(23,105,255,.15)}.individual-score-value{display:flex;align-items:baseline;justify-content:center;margin:2px 0 10px;color:var(--accent);font-variant-numeric:tabular-nums}.individual-score-value strong{font-size:42px;line-height:1}.individual-score-value span{font-size:20px;font-weight:750;color:#607087}.individual-score-meta{display:flex;justify-content:center;gap:7px;flex-wrap:wrap}.individual-score-meta span{padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #e1e8f2;color:#5f6d7f;font-size:11px}.individual-score-panel p{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.45;text-align:center}
.individual-arbiter-panel{max-width:1180px;margin:34px auto;padding:26px;border:1px solid rgba(23,105,255,.16);border-radius:26px;background:#fff;box-shadow:0 18px 55px rgba(23,32,51,.08)}.individual-arbiter-panel.hidden{display:none}.individual-arbiter-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:18px}.individual-arbiter-heading span{display:block;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.individual-arbiter-heading h2{margin:7px 0 8px;font-size:clamp(25px,4vw,36px)}.individual-arbiter-heading p{max-width:790px;margin:0;color:var(--muted);line-height:1.55}.individual-arbiter-heading a{flex:none;padding:11px 15px;border-radius:12px;background:#eef4ff;color:var(--accent);font-weight:800;text-decoration:none}.individual-arbiter-panel iframe{display:block;width:100%;height:920px;border:1px solid #e2e8f0;border-radius:20px;background:#fff}
.progress-line{height:5px;border-radius:999px;background:#e8edf4;overflow:hidden;margin:0 0 13px}.progress-line i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--accent),var(--accent-2));border-radius:inherit;transition:width .35s ease}
.progress-steps{list-style:none;padding:0;margin:0;display:grid;gap:9px}.progress-steps li{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:9px;color:#818a98;transition:color .22s ease,transform .22s ease}.progress-steps li>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;border:1px solid #d8e0ea;background:#fff;font-size:11px;font-weight:850}.progress-steps li strong{font-size:12.5px;line-height:1.3;font-weight:700}.progress-steps li.done{color:#347051}.progress-steps li.done>span{background:#eaf8f1;border-color:#c7e7d6;color:#257148}.progress-steps li.current{color:var(--text);transform:translateX(2px)}.progress-steps li.current>span{background:#edf4ff;border-color:#bdd6ff;color:#1459b6;box-shadow:0 0 0 4px rgba(23,105,255,.06)}

.analysis-cards{display:grid;gap:9px}.analysis-empty{padding:12px;border-radius:12px;background:#f7f9fc;color:var(--muted);font-size:12.5px;line-height:1.5}.analysis-card{position:relative;padding:12px 12px 12px 14px;border:1px solid #e0e6ee;border-radius:13px;background:#fff;overflow:hidden}.analysis-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#6b7a8e}.analysis-card.type-error::before{background:#c84a4a}.analysis-card.type-decision::before{background:#1769ff}.analysis-card.type-risk::before{background:#d28b17}.analysis-card.type-strength::before{background:#249666}.analysis-card.type-insight::before{background:#7463c9}.analysis-card-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.06em;font-weight:900;color:var(--muted);margin-bottom:3px}.analysis-card>strong{display:block;font-size:13px;line-height:1.35}.analysis-card p{margin:5px 0 0;color:#536071;font-size:12px;line-height:1.48}.mini-clear{border:0;background:transparent;color:#5c6e83;font-size:11px;cursor:pointer;padding:3px 5px}.mini-clear:hover{text-decoration:underline}

.transcript-drawer{width:min(720px,100%);margin-top:14px;border-top:1px solid rgba(23,32,51,.07);padding-top:10px}.transcript-drawer summary{cursor:pointer;text-align:center;color:#607087;font-size:12px;font-weight:700;list-style:none}.transcript-drawer summary::-webkit-details-marker{display:none}.transcript-drawer[open] summary{margin-bottom:4px}.transcript-drawer .transcript{margin-top:10px;max-height:230px}

.ui-notice{position:absolute;z-index:25;right:22px;top:76px;width:min(360px,calc(100% - 44px));padding:13px 15px;border:1px solid #bfd6f7;border-radius:14px;background:#f4f8ff;box-shadow:0 18px 42px rgba(30,53,84,.16);display:grid;gap:4px}.trainer-card{position:relative}.ui-notice strong{font-size:13px}.ui-notice span{font-size:12.5px;line-height:1.45;color:#526278}.ui-notice[data-tone="success"]{background:#f1fbf6;border-color:#cbe9d8}.ui-notice[data-tone="warning"]{background:#fff8e9;border-color:#efd89f}

.work-fragment{transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease;cursor:pointer}.work-fragment.user-focused{border-color:rgba(32,166,106,.42);box-shadow:0 0 0 4px rgba(32,166,106,.07)}.work-fragment.agent-focused{border-color:rgba(23,105,255,.48);box-shadow:0 0 0 4px rgba(23,105,255,.08);transform:translateY(-1px)}

@media(max-width:900px){
  .interactive-training-layout{grid-template-columns:1fr}.interactive-training-layout .conversation-stage{border-right:0;border-bottom:1px solid rgba(23,32,51,.075)}.learning-sidebar{display:grid;grid-template-columns:1fr 1fr;padding:16px}.trainer-card{min-height:auto}
}
@media(max-width:650px){
  .grant-badge{display:none!important}.interactive-training-layout .conversation-stage{padding-top:2px}.trainer-portrait-stage{--portrait-size:clamp(260px,82vw,310px);min-height:370px}.trainer-portrait-stage.liveavatar-ready{min-height:260px}.trainer-portrait-placeholder{font-size:76px}.portrait-state-dot{right:22px;bottom:24px;width:20px;height:20px}.learning-sidebar{grid-template-columns:1fr;padding:12px}.progress-panel,.analysis-panel,.individual-score-panel{padding:14px}.live-subtitles{padding:13px 14px}.live-subtitles p{font-size:15px}.ui-notice{right:12px;top:68px;width:calc(100% - 24px)}
  .individual-arbiter-panel{margin:24px 12px;padding:16px;border-radius:20px}.individual-arbiter-heading{display:grid}.individual-arbiter-heading a{justify-self:start}.individual-arbiter-panel iframe{height:980px}
}

/* v2.16 — выбор формата, командный интеллектуальный поединок и ИИ-арбитр */
.mode-choice-page,.team-join-page,.scoreboard-page{max-width:1180px;margin:0 auto;padding:42px 22px 70px}.mode-back{display:inline-flex;margin-bottom:26px;color:var(--accent);text-decoration:none;font-weight:700}.mode-choice-head{text-align:center;max-width:820px;margin:0 auto 28px}.mode-choice-head>span,.team-join-card>span,.scoreboard-head>span{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:8px}.mode-choice-head h1,.team-join-card h1,.scoreboard-head h1{margin:0 0 12px;font-size:clamp(30px,5vw,54px);line-height:1.05}.mode-choice-head p,.team-join-card p{color:var(--muted);font-size:17px;line-height:1.55}.mode-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mode-choice-card{display:block;width:100%;font:inherit;text-align:left;cursor:pointer;background:var(--card);border:1px solid rgba(23,32,51,.1);border-radius:24px;padding:28px;color:var(--text);text-decoration:none;box-shadow:0 16px 50px rgba(23,32,51,.08);transition:.2s ease}.mode-choice-card:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(23,32,51,.12)}.mode-choice-card.selected{border-color:var(--accent);box-shadow:0 20px 58px color-mix(in srgb,var(--accent) 18%,transparent)}.mode-choice-card.competitive{background:linear-gradient(145deg,var(--card),color-mix(in srgb,var(--accent) 7%,white))}.mode-icon{width:64px;height:64px;border-radius:18px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 12%,white);color:var(--accent);font-size:21px;font-weight:900;margin-bottom:18px}.mode-choice-card h2{font-size:26px;margin:0 0 10px}.mode-choice-card p{min-height:76px;color:var(--muted);line-height:1.55}.mode-choice-card strong{color:var(--accent)}.mode-purchase-mount{scroll-margin-top:24px;margin-top:28px}.mode-purchase-mount:empty{display:none}
.mode-purchase-label{max-width:980px;margin:0 auto 14px;padding:0 6px}.mode-purchase-label>span,.team-order-intro>span,.team-payment-return>span{display:inline-block;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.mode-purchase-label h2{margin:6px 0}.mode-purchase-label p,.mode-access-present{color:var(--muted);line-height:1.55}.mode-purchase-mount .purchase-panel{margin-bottom:0}
.team-join-card{max-width:620px;margin:0 auto;background:var(--card);border-radius:24px;padding:30px;box-shadow:0 18px 60px rgba(23,32,51,.1)}#teamJoinForm{display:grid;gap:15px;margin-top:22px}#teamJoinForm label{display:grid;gap:7px;font-weight:700}#teamJoinForm input,#teamJoinForm select{width:100%;box-sizing:border-box;border:1px solid #d7dce5;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}#teamJoinForm button{border:0;border-radius:13px;background:var(--accent);color:#fff;padding:14px 18px;font-weight:800;font-size:16px;cursor:pointer}
.team-order-intro{max-width:900px;margin:0 auto 24px;text-align:center}.team-order-intro h1{margin:7px 0 12px;font-size:clamp(30px,5vw,52px);line-height:1.05}.team-order-intro p{margin:0;color:var(--muted);font-size:17px;line-height:1.55}.team-order-panel{max-width:980px;margin:0 auto 26px;padding:28px;border:1px solid #dfe6ef;border-radius:24px;background:var(--card);box-shadow:0 18px 60px rgba(23,32,51,.09)}.team-order-panel.compact{display:flex;gap:22px;align-items:center;justify-content:space-between}.team-order-price{display:flex;align-items:baseline;gap:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid #e7ebf2}.team-order-price span{font-weight:800}.team-order-price strong{font-size:30px;color:var(--accent)}.team-order-price small{color:var(--muted)}.team-purchase-form{display:grid;gap:18px}.team-purchase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.team-purchase-grid label{display:grid;gap:7px;font-weight:700}.team-purchase-grid input,.team-purchase-grid select{width:100%;box-sizing:border-box;border:1px solid #d7dce5;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.team-purchase-grid .hidden{display:none}.team-existing-access{max-width:700px;margin:26px auto 0;border:1px solid #dfe6ef;border-radius:18px;background:rgba(255,255,255,.72);overflow:hidden}.team-existing-access>summary{padding:18px 22px;cursor:pointer;color:var(--accent);font-weight:800}.team-existing-access[open]>summary{border-bottom:1px solid #e7ebf2}.team-existing-access .team-join-card{max-width:none;margin:0;border-radius:0;box-shadow:none}.team-payment-return{max-width:900px;margin:35px auto;padding:34px;border:1px solid #dfe6ef;border-radius:24px;background:var(--card);box-shadow:0 18px 60px rgba(23,32,51,.1)}.team-payment-return h1{margin:7px 0 12px}.team-payment-return>p{color:var(--muted)}.team-payment-return.success{border-color:#a9dfc3}.team-order-result{margin-top:24px}.team-result-code{display:flex;align-items:center;gap:14px;padding:16px 18px;border-radius:16px;background:#eef5ff}.team-result-code span{color:var(--muted)}.team-result-code strong{font-size:24px;color:var(--accent)}.team-result-links{display:grid;gap:12px;margin:16px 0}.team-result-links label{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;font-weight:700}.team-result-links input{min-width:0;border:1px solid #d7dce5;border-radius:10px;padding:10px;font:inherit;background:#fff}.team-result-links a,.team-admin-note{color:var(--accent);font-weight:800;text-decoration:none}.team-admin-note{display:inline-block;margin-left:14px}
.team-hud{margin-left:auto;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px}.team-hud>span,.team-hud>strong{background:var(--card);border:1px solid rgba(23,32,51,.1);border-radius:999px;padding:6px 10px}.team-live-dot{width:8px!important;height:8px!important;padding:0!important;border:0!important;background:#19a463!important;box-shadow:0 0 0 4px rgba(25,164,99,.12)}.team-game-status{font-size:12px;color:var(--muted);font-weight:700}.training-nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.scoreboard-page{min-height:100vh;display:flex;flex-direction:column;justify-content:center}.scoreboard-head{text-align:center;margin-bottom:32px}.scoreboard-head h1{font-size:clamp(34px,6vw,68px)}#scoreGameStatus{font-size:18px;color:var(--muted);font-weight:800}.score-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.score-team-card{position:relative;background:var(--card);border:1px solid rgba(23,32,51,.1);border-radius:26px;padding:28px;text-align:center;box-shadow:0 18px 55px rgba(23,32,51,.08)}.score-team-card h2{font-size:24px;margin:8px 0 12px}.score-team-card>strong{display:block;font-size:72px;line-height:1;color:var(--accent)}.score-rank{position:absolute;top:16px;right:16px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef2f8;font-weight:900}.rank-1{border:2px solid #d7aa21}.rank-1 .score-rank{background:#fff2b8;color:#7a5700}.score-ready{display:inline-flex;margin-top:14px;padding:6px 10px;border-radius:999px;background:#f4f6f9;color:var(--muted);font-size:12px;font-weight:800}.score-ready.is-ready{background:#e8f8ef;color:#0c6b3f}.score-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}.score-meta span{background:#f4f6f9;border-radius:999px;padding:6px 9px;font-size:12px}.scoreboard-note{text-align:center;color:var(--muted);margin-top:26px}
.organizer-link-callout{margin:18px 0;padding:20px;border:1px solid #b8d2ff;border-radius:16px;background:#f3f7ff}.organizer-link-callout strong{font-size:18px}.organizer-link-callout p{margin:6px 0 14px;color:var(--muted);line-height:1.5}.payment-access-button.secondary{background:#eef4ff;color:var(--accent)}
.organizer-page{max-width:1120px;margin:0 auto;padding:42px 22px 70px}.organizer-head{text-align:center;max-width:820px;margin:0 auto 28px}.organizer-head>span{display:inline-block;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.organizer-head h1{margin:8px 0 10px;font-size:clamp(34px,6vw,58px)}.organizer-head p,.organizer-help{color:var(--muted);line-height:1.55}.organizer-card{margin:18px 0;padding:28px;border:1px solid rgba(23,32,51,.1);border-radius:24px;background:var(--card);box-shadow:0 18px 55px rgba(23,32,51,.08)}.organizer-card h2{margin:0 0 8px}.organizer-game-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.organizer-game-title small{display:block;color:var(--muted);font-weight:700}.organizer-game-title h2{font-size:28px;margin:4px 0 8px}.organizer-game-title code{display:inline-block;padding:6px 9px;border-radius:8px;background:#f1f4f8;font-weight:800}.organizer-game-title>strong{padding:9px 13px;border-radius:999px;background:#eef5ff;color:var(--accent);white-space:nowrap}.organizer-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0}.organizer-team{display:grid;gap:5px;padding:18px;border:1px solid #e1e6ee;border-radius:16px;background:#fbfcfe}.organizer-team>span{font-weight:800}.organizer-team>strong{font-size:34px;color:var(--accent)}.organizer-team>small{color:var(--muted);line-height:1.45}.organizer-actions,.organizer-external-links{display:flex;gap:10px;flex-wrap:wrap}.organizer-actions button,.organizer-external-links a{border:0;border-radius:12px;padding:12px 16px;background:var(--accent);color:#fff;font:inherit;font-weight:800;text-decoration:none;cursor:pointer}.organizer-actions button.secondary{background:#eef2f7;color:#344054}.organizer-actions button.danger{background:#b42318}.organizer-actions button.danger-text{color:#b42318}.organizer-actions button:disabled,.organizer-external-links a.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.organizer-links{display:grid;gap:12px;margin:18px 0}.organizer-links label{display:grid;grid-template-columns:150px minmax(0,1fr) auto;gap:10px;align-items:center}.organizer-links input{min-width:0;border:1px solid #d7dce5;border-radius:10px;padding:11px;font:inherit;background:#fff}.organizer-links a{color:var(--accent);font-weight:800;text-decoration:none}.organizer-error{max-width:900px;margin:0 auto 18px;padding:14px 16px;border:1px solid #f5b7b1;border-radius:14px;background:#fff1f0;color:#b42318}.organizer-error.hidden{display:none}
@media(max-width:800px){.mode-choice-grid,.score-team-grid,.team-purchase-grid,.organizer-team-grid{grid-template-columns:1fr}.mode-choice-card p{min-height:0}.team-hud{width:100%;margin-left:0}.score-team-card>strong{font-size:56px}.team-order-panel.compact{display:grid}.team-result-links label,.organizer-links label{grid-template-columns:1fr}.team-order-price{align-items:flex-start;flex-direction:column;gap:4px}.organizer-game-title{display:grid}.organizer-actions{display:grid}.organizer-actions button{width:100%}}
.team-waiting-media{margin:18px 0;padding:24px;border:1px dashed rgba(23,32,51,.18);border-radius:18px;background:var(--card);text-align:center;color:var(--muted);font-weight:700}

/* Sprint 4: quiz products reuse the existing team-order/payment visual system. */
.quiz-product-intro{max-width:900px;margin:0 auto 22px}
.quiz-product-meta{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.quiz-product-meta strong{font-size:26px;color:var(--accent)}
.quiz-product-meta span{color:var(--muted);font-weight:700}
.quiz-product-page #quizPaymentReturn h2{margin:7px 0 12px}
.quiz-catalog-card .training-card-body>small{display:block;color:var(--muted);margin-top:-4px}
.quiz-cover-placeholder span{font-size:48px;font-weight:900;color:var(--accent)}

/* ---------- v2.19.0-alpha.7: единая светлая/тёмная тема платформы ---------- */
.platform-theme-toggle {
  position: fixed;
  top: 18px;
  right: 18px;
  z-index: 10000;
  min-height: 44px;
  padding: 0 16px;
  border: 1px solid var(--ckm-color-border);
  border-radius: 14px;
  background: var(--card);
  color: var(--text);
  box-shadow: 0 10px 30px var(--ckm-color-shadow);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.platform-theme-toggle:hover { border-color: var(--accent); }
.platform-theme-toggle:focus-visible { outline: 3px solid color-mix(in srgb, var(--ckm-color-focus) 32%, transparent); outline-offset: 2px; }

html[data-theme="dark"] body {
  color: var(--text);
  background: radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--ckm-color-accent) 10%, transparent), transparent 34rem), var(--background);
}
html[data-theme="dark"] .catalog-brand.catalog-cover-brand,
html[data-theme="dark"] .catalog-loading,
html[data-theme="dark"] .catalog-empty,
html[data-theme="dark"] .training-card,
html[data-theme="dark"] .catalog-introduction,
html[data-theme="dark"] .catalog-intro-points > div,
html[data-theme="dark"] .catalog-video-card,
html[data-theme="dark"] .case-media,
html[data-theme="dark"] .fatal-card,
html[data-theme="dark"] .access-panel,
html[data-theme="dark"] .purchase-panel,
html[data-theme="dark"] .team-order-panel,
html[data-theme="dark"] .team-payment-return,
html[data-theme="dark"] .mode-choice-card,
html[data-theme="dark"] .team-existing-access,
html[data-theme="dark"] .trainer-card,
html[data-theme="dark"] .payment-return-banner,
html[data-theme="dark"] .case-proposal {
  background: var(--card);
  color: var(--text);
  border-color: var(--ckm-color-border);
  box-shadow: 0 16px 48px var(--ckm-color-shadow);
}
html[data-theme="dark"] .catalog-introduction {
  background: linear-gradient(145deg, var(--ckm-color-surface), var(--ckm-color-surface-soft));
}
html[data-theme="dark"] .catalog-section-head span,
html[data-theme="dark"] .training-type,
html[data-theme="dark"] .catalog-intro-points strong,
html[data-theme="dark"] .grant-badge,
html[data-theme="dark"] .team-hud > span,
html[data-theme="dark"] .team-hud > strong {
  background: var(--ckm-color-surface-soft);
  color: var(--ckm-color-accent);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .catalog-intro-points span,
html[data-theme="dark"] .training-card p,
html[data-theme="dark"] .catalog-video-copy p,
html[data-theme="dark"] .catalog-hero p,
html[data-theme="dark"] .hero p,
html[data-theme="dark"] .training-nav,
html[data-theme="dark"] .purchase-consent,
html[data-theme="dark"] .team-order-price small,
html[data-theme="dark"] .team-result-code span {
  color: var(--muted);
}
html[data-theme="dark"] .training-nav a,
html[data-theme="dark"] .fatal-card a,
html[data-theme="dark"] .case-proposal-link,
html[data-theme="dark"] .team-admin-note,
html[data-theme="dark"] .team-result-links a {
  color: var(--ckm-color-accent);
}
html[data-theme="dark"] .training-cover,
html[data-theme="dark"] .training-cover.placeholder,
html[data-theme="dark"] .catalog-video-card .case-media {
  background: var(--ckm-color-surface-soft);
}
html[data-theme="dark"] .training-cover.placeholder {
  color: var(--ckm-color-accent);
  background: linear-gradient(135deg, var(--ckm-color-surface-soft), var(--ckm-color-surface-strong));
}
html[data-theme="dark"] .icon-button,
html[data-theme="dark"] .text-test-button,
html[data-theme="dark"] .purchase-fields input,
html[data-theme="dark"] .case-proposal-form input,
html[data-theme="dark"] .case-proposal-form select,
html[data-theme="dark"] .case-proposal-form textarea,
html[data-theme="dark"] .team-purchase-grid input,
html[data-theme="dark"] .team-purchase-grid select,
html[data-theme="dark"] .team-result-links input,
html[data-theme="dark"] .access-panel input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] input,
html[data-theme="dark"] select {
  background: var(--ckm-color-surface-soft);
  color: var(--text);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .icon-button:hover,
html[data-theme="dark"] .text-test-button:hover {
  background: var(--ckm-color-surface-strong);
}
html[data-theme="dark"] .message.user,
html[data-theme="dark"] .hint,
html[data-theme="dark"] .status-pill,
html[data-theme="dark"] .single-pass-offer,
html[data-theme="dark"] .team-result-code,
html[data-theme="dark"] .team-discussion-control {
  background: var(--ckm-color-surface-soft);
  color: var(--text);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .message.agent { background: var(--ckm-color-surface-strong); color: var(--text); }
html[data-theme="dark"] .status-pill[data-mode="speaking"],
html[data-theme="dark"] .status-pill[data-mode="listening"] { background: var(--ckm-color-success-soft); color: var(--ckm-color-success); border-color: var(--ckm-color-border); }
html[data-theme="dark"] .status-pill[data-mode="warning"],
html[data-theme="dark"] .trial-banner,
html[data-theme="dark"] .buy-link,
html[data-theme="dark"] .payment-config-warning { background: var(--ckm-color-warning-soft); color: var(--ckm-color-warning); border-color: var(--ckm-color-border); }
html[data-theme="dark"] .status-pill[data-mode="error"],
html[data-theme="dark"] .danger-button { background: var(--ckm-color-danger-soft); color: var(--ckm-color-danger); border-color: var(--ckm-color-border); }
html[data-theme="dark"] .primary-button,
html[data-theme="dark"] .purchase-button,
html[data-theme="dark"] .proposal-button,
html[data-theme="dark"] .catalog-open-button {
  color: var(--ckm-color-accent-contrast);
  background: linear-gradient(135deg, var(--ckm-color-accent), var(--ckm-color-accent-hover));
}
html[data-theme="dark"] .catalog-trial-button,
html[data-theme="dark"] .trial-access-button {
  background: var(--ckm-color-surface-soft);
  color: var(--ckm-color-accent);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .mode-choice-card.competitive {
  background: linear-gradient(145deg, var(--ckm-color-surface), color-mix(in srgb, var(--ckm-color-accent) 8%, var(--ckm-color-surface)));
}
html[data-theme="dark"] .team-existing-access { background: color-mix(in srgb, var(--ckm-color-surface) 92%, transparent); }
html[data-theme="dark"] .team-existing-access[open] > summary,
html[data-theme="dark"] .team-order-price { border-color: var(--ckm-color-border); }
html[data-theme="dark"] .case-media video,
html[data-theme="dark"] .video-frame { background: #000; }

@media (max-width: 700px) {
  .platform-theme-toggle { top: 10px; right: 10px; min-height: 40px; padding: 0 12px; font-size: 13px; }
  .catalog-page, .training-page { padding-top: 64px; }
}

/* ---------- v2.19.0-alpha.8: квизы и бизнес-тренинги в одном симметричном ряду ---------- */
.catalog-primary-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--ckm-space-8);
  align-items: start;
  width: 100%;
  margin: var(--ckm-space-7) auto var(--ckm-space-9);
}
.catalog-primary-row-single {
  grid-template-columns: minmax(0, 35rem);
  justify-content: center;
}
.catalog-primary-row .catalog-primary-section {
  min-width: 0;
  margin: var(--ckm-space-0);
}
.catalog-primary-row .catalog-section-head {
  justify-content: center;
  text-align: center;
  min-height: 3.5rem;
  margin-bottom: var(--ckm-space-4);
}
.catalog-primary-row .catalog-primary-section .training-grid {
  grid-template-columns: minmax(0, 25rem);
  justify-content: center;
  gap: var(--ckm-space-5);
}
.catalog-primary-row .training-card {
  width: 100%;
}
@media (max-width: 820px) {
  .catalog-primary-row,
  .catalog-primary-row-single {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ckm-space-7);
  }
  .catalog-primary-row .catalog-section-head {
    min-height: auto;
  }
}

/* alpha.10 — scalable team counts */
.team-purchase-grid .wide{grid-column:1/-1}
.dynamic-team-names{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:15px}
.dynamic-team-name{display:grid;gap:7px;font-weight:700}
.score-team-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* alpha.12 — brand logo and dark-theme contrast fixes */
.brand-mark {
  background: transparent url("../api/brand-logo.php") center/contain no-repeat;
  box-shadow: none;
  border-radius: 14px;
}
.brand-mark::after { display: none; }

html[data-theme="dark"] .live-subtitles,
html[data-theme="dark"] .progress-panel,
html[data-theme="dark"] .analysis-panel,
html[data-theme="dark"] .individual-score-panel,
html[data-theme="dark"] .individual-arbiter-panel,
html[data-theme="dark"] .analysis-empty,
html[data-theme="dark"] .analysis-card,
html[data-theme="dark"] .progress-steps li > span,
html[data-theme="dark"] .individual-score-meta span,
html[data-theme="dark"] .ui-notice,
html[data-theme="dark"] .individual-arbiter-heading a,
html[data-theme="dark"] .individual-arbiter-panel iframe,
html[data-theme="dark"] .organizer-game-title code,
html[data-theme="dark"] .organizer-team,
html[data-theme="dark"] .score-team-card,
html[data-theme="dark"] .score-rank,
html[data-theme="dark"] .score-ready,
html[data-theme="dark"] .score-meta span,
html[data-theme="dark"] .organizer-link-callout,
html[data-theme="dark"] .payment-access-button.secondary,
html[data-theme="dark"] .team-existing-access,
html[data-theme="dark"] .team-result-code,
html[data-theme="dark"] .team-waiting-media {
  background: var(--ckm-color-surface-soft);
  color: var(--text);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .live-subtitles[data-kind="user"] {
  background: var(--ckm-color-success-soft);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .subtitle-head,
html[data-theme="dark"] .analysis-card p,
html[data-theme="dark"] .ui-notice span,
html[data-theme="dark"] .scoreboard-note,
html[data-theme="dark"] .team-waiting-media,
html[data-theme="dark"] .score-ready,
html[data-theme="dark"] .score-meta span,
html[data-theme="dark"] .individual-score-value span,
html[data-theme="dark"] .progress-steps li,
html[data-theme="dark"] .mini-clear {
  color: var(--muted);
}
html[data-theme="dark"] .live-subtitles p,
html[data-theme="dark"] .analysis-card > strong,
html[data-theme="dark"] .panel-heading > span,
html[data-theme="dark"] .individual-arbiter-heading h2,
html[data-theme="dark"] .organizer-team > span,
html[data-theme="dark"] .organizer-team > small,
html[data-theme="dark"] .score-team-card h2,
html[data-theme="dark"] .organizer-link-callout strong,
html[data-theme="dark"] .organizer-link-callout p {
  color: var(--text);
}
html[data-theme="dark"] .progress-steps li.current {
  color: var(--text);
}
html[data-theme="dark"] .progress-steps li.done {
  color: var(--ckm-color-success);
}
html[data-theme="dark"] .progress-steps li.done > span {
  background: var(--ckm-color-success-soft);
  border-color: var(--ckm-color-border);
  color: var(--ckm-color-success);
}
html[data-theme="dark"] .progress-steps li.current > span {
  background: var(--ckm-color-surface-strong);
  border-color: var(--ckm-color-border);
  color: var(--ckm-color-accent);
  box-shadow: 0 0 0 4px rgba(110,168,255,.10);
}
html[data-theme="dark"] .progress-line {
  background: var(--ckm-color-surface-strong);
}
html[data-theme="dark"] .transcript-drawer {
  border-top-color: var(--ckm-color-border);
}
html[data-theme="dark"] .transcript-drawer summary {
  color: var(--muted);
}
html[data-theme="dark"] .individual-score-panel {
  background: linear-gradient(145deg, var(--ckm-color-surface-soft), var(--ckm-color-surface-strong));
}
html[data-theme="dark"] .individual-score-value {
  color: var(--ckm-color-accent);
}
html[data-theme="dark"] .individual-arbiter-heading a,
html[data-theme="dark"] .payment-access-button.secondary {
  color: var(--ckm-color-accent);
}
html[data-theme="dark"] .ui-notice[data-tone="success"] {
  background: var(--ckm-color-success-soft);
}
html[data-theme="dark"] .ui-notice[data-tone="warning"] {
  background: var(--ckm-color-warning-soft);
}
html[data-theme="dark"] .score-rank {
  color: var(--text);
}
html[data-theme="dark"] .rank-1 .score-rank {
  background: var(--ckm-color-warning-soft);
  color: var(--ckm-color-warning);
}

/* alpha.14 — scalable checkout and human-hosted live training */
.team-host-mode-help {
  grid-column: 1 / -1;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--ckm-color-border, #d9e2ee);
  border-radius: 12px;
  background: var(--ckm-color-surface-soft, #eef3f9);
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.human-host-live {
  width: min(760px, 100%);
  margin: 18px auto 0;
  padding: 16px;
  border: 1px solid var(--ckm-color-border, #d9e2ee);
  border-radius: 18px;
  background: var(--card);
  color: var(--text);
}
.human-host-live-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}
.human-host-live-head > div { display: grid; gap: 3px; }
.human-host-live-head strong { font-size: 16px; }
.human-host-live-head span,
.human-host-live > p { color: var(--muted); font-size: 13px; line-height: 1.45; }
.human-host-live > p { margin: 0 0 12px; }
.human-host-live button,
.human-live-link {
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  padding: 10px 14px;
  background: var(--accent);
  color: #fff;
  font: inherit;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
}
.human-host-live button:disabled { opacity: .5; cursor: wait; }
.human-host-frame:empty { display: none; }
.human-host-frame iframe {
  display: block;
  width: 100%;
  min-height: 500px;
  margin-top: 14px;
  border: 1px solid var(--ckm-color-border, #d9e2ee);
  border-radius: 14px;
  background: #000;
}
.human-score-controls {
  display: flex;
  justify-content: center;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.human-score-controls button {
  min-width: 42px;
  min-height: 34px;
  border: 1px solid var(--ckm-color-border, #d9e2ee);
  border-radius: 9px;
  background: var(--ckm-color-surface-soft, #eef3f9);
  color: var(--text);
  font-weight: 900;
  cursor: pointer;
}
.human-score-controls button:hover { background: var(--ckm-color-surface-strong, #e6edf6); }
html[data-theme="dark"] .team-host-mode-help,
html[data-theme="dark"] .human-host-live,
html[data-theme="dark"] .human-score-controls button {
  background: var(--ckm-color-surface-soft);
  color: var(--text);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .human-host-live-head span,
html[data-theme="dark"] .human-host-live > p,
html[data-theme="dark"] .team-host-mode-help { color: var(--muted); }
@media (max-width: 650px) {
  .human-host-live-head { align-items: stretch; flex-direction: column; }
  .human-host-live-head button { width: 100%; }
  .human-host-frame iframe { min-height: 390px; }
}


/* alpha.15 — dark-theme contrast for external-work surfaces */
html[data-theme="dark"] .external-work {
  background: var(--ckm-color-surface);
  color: var(--text);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .external-work-warning {
  background: var(--ckm-color-warning-soft);
  color: var(--ckm-color-warning);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .work-fragment {
  background: var(--ckm-color-surface-soft);
  color: var(--text);
  border-color: var(--ckm-color-border);
}
html[data-theme="dark"] .work-fragment-head strong,
html[data-theme="dark"] .work-fragment p {
  color: var(--text);
}
html[data-theme="dark"] .work-fragment-head span,
html[data-theme="dark"] .work-fragment-note {
  color: var(--muted);
}
html[data-theme="dark"] .work-fragment-number {
  background: var(--ckm-color-surface-strong);
  color: var(--ckm-color-accent);
}
html[data-theme="dark"] .work-fragment-open { color: var(--ckm-color-accent); }
html[data-theme="dark"] .work-fragment-link:hover {
  border-color: var(--ckm-color-accent);
  box-shadow: 0 8px 22px var(--ckm-color-shadow);
}

/* alpha.16 — compact text composer */
html[data-theme="dark"] .composer {
  background:var(--ckm-color-surface-soft);
  border-color:var(--ckm-color-border);
  box-shadow:0 8px 24px rgba(0,0,0,.16);
}
html[data-theme="dark"] .round-button {
  background:var(--ckm-color-surface-strong);
  color:var(--text);
  border-color:var(--ckm-color-border);
}
html[data-theme="dark"] .round-button.send {
  background:var(--ckm-color-accent);
  color:var(--ckm-color-accent-contrast);
  border-color:var(--ckm-color-accent);
}
html[data-theme="dark"] .conversation-meta-content {
  background:var(--ckm-color-surface-soft);
  color:var(--muted);
  border-color:var(--ckm-color-border);
}


/* alpha.19 — editable custom homepage blocks */
.catalog-custom-blocks{width:min(1180px,calc(100% - 32px));margin:24px auto;display:grid;gap:18px}
.catalog-custom-block{display:grid;gap:22px;padding:28px;border:1px solid var(--ckm-color-border,#d9e2ee);border-radius:24px;background:var(--card,var(--ckm-color-surface,#fff));color:var(--text,var(--ckm-color-text,#172033));box-shadow:0 14px 42px var(--ckm-color-shadow,rgba(23,32,51,.08));overflow:hidden}
.catalog-custom-block--split{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:center}
.catalog-custom-copy>span{display:inline-block;margin-bottom:8px;color:var(--accent,var(--ckm-color-accent,#1769ff));font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.catalog-custom-copy h2{margin:0 0 10px;font-size:clamp(28px,4vw,42px);line-height:1.08}
.catalog-custom-copy p{margin:0;color:var(--muted,var(--ckm-color-muted,#667085));font-size:16px;line-height:1.65}
.catalog-custom-button{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;min-height:46px;padding:0 18px;border-radius:13px;background:var(--accent,var(--ckm-color-accent,#1769ff));color:var(--ckm-color-accent-contrast,#fff);font-weight:800;text-decoration:none}
.catalog-custom-media img{display:block;width:100%;max-height:520px;object-fit:cover;border-radius:18px;border:1px solid var(--ckm-color-border,#d9e2ee)}
.catalog-custom-media .case-media{margin:0}
html[data-theme="dark"] .catalog-custom-block{background:var(--ckm-color-surface);color:var(--ckm-color-text);border-color:var(--ckm-color-border)}
html[data-theme="dark"] .catalog-custom-copy p{color:var(--ckm-color-muted)}
@media(max-width:760px){.catalog-custom-block--split{grid-template-columns:1fr}.catalog-custom-block{padding:20px}.catalog-custom-blocks{width:min(100% - 24px,1180px)}}


/* Participant instructions */
.participant-guide {
  margin: 18px 0 24px;
  border: 1px solid var(--ckm-border, rgba(148,163,184,.28));
  border-radius: 18px;
  background: var(--ckm-surface, rgba(255,255,255,.78));
  overflow: hidden;
}
.participant-guide > summary {
  cursor: pointer;
  list-style: none;
  padding: 17px 20px;
  font-weight: 800;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.participant-guide > summary::-webkit-details-marker { display: none; }
.participant-guide > summary::after { content: '▾'; font-size: 15px; opacity: .68; transition: transform .18s ease; }
.participant-guide:not([open]) > summary::after { transform: rotate(-90deg); }
.participant-guide ol {
  margin: 0;
  padding: 4px 20px 8px 54px;
  display: grid;
  gap: 12px;
}
.participant-guide li { padding-left: 4px; }
.participant-guide li::marker { font-weight: 800; }
.participant-guide li strong,
.participant-guide li span { display: block; }
.participant-guide li strong { margin-bottom: 2px; }
.participant-guide li span { opacity: .78; line-height: 1.45; }
.participant-guide__note {
  margin: 10px 20px 18px;
  padding: 12px 14px;
  border-radius: 12px;
  background: var(--ckm-surface-2, rgba(148,163,184,.12));
  line-height: 1.45;
}
@media (max-width: 720px) {
  .participant-guide > summary { padding: 15px 16px; font-size: 16px; }
  .participant-guide ol { padding: 2px 16px 6px 42px; }
  .participant-guide__note { margin: 8px 16px 16px; }
}


/* alpha.86.4.5 — shared responsive toolbar contract for trainings and team HUDs.
   Text controls keep their readable width and wrap as whole items instead of collapsing. */
.training-nav {
  flex-wrap: wrap;
  min-width: 0;
}
.training-nav > a,
.training-nav > span {
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
}
.team-hud {
  flex: 0 1 auto;
  min-width: 0;
  justify-content: flex-end;
}
.team-hud > span,
.team-hud > strong {
  flex: 0 0 auto;
  max-width: 100%;
  white-space: nowrap;
}
.team-hud > .team-live-dot {
  flex: 0 0 8px;
}
.trainer-topbar {
  flex-wrap: wrap;
  gap: 12px;
  min-width: 0;
}
.trainer-topbar > .brand-mark {
  flex: 0 0 auto;
}
.trainer-topbar-center {
  flex: 1 1 16rem;
  max-width: 100%;
}
.trainer-topbar-actions {
  flex: 0 1 auto;
  flex-wrap: wrap;
  max-width: 100%;
}
.trainer-topbar-actions > * {
  flex: 0 0 auto;
}
.trainer-topbar-actions .grant-badge,
.trainer-topbar-actions .team-game-status {
  max-width: 100%;
  white-space: nowrap;
}
.trainer-topbar-actions .icon-button {
  flex: 0 0 44px;
  min-width: 44px;
}

@media (max-width: 800px) {
  .training-nav .team-hud {
    width: 100%;
    margin-left: 0;
    justify-content: flex-start;
  }
  .trainer-topbar-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 520px) {
  .training-nav > a,
  .training-nav > span,
  .team-hud > span,
  .team-hud > strong,
  .trainer-topbar-actions .grant-badge,
  .trainer-topbar-actions .team-game-status {
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .trainer-topbar-actions {
    width: 100%;
  }
}


/* alpha.87.5 — main-site game platform block. Uses theme tokens in both light and dark modes. */
.catalog-hero-links{display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:16px}
/* alpha.87.5.1 — both hero actions are equal-level navigation and therefore share one visual style. */
.catalog-hero-links .case-proposal-link,.catalog-hero-links .game-platform-jump{display:inline-flex;align-items:center;justify-content:center;min-height:52px;box-sizing:border-box;margin-top:0;padding:0 20px;border:1px solid color-mix(in srgb,var(--ckm-color-accent) 28%,var(--ckm-color-border));border-radius:999px;background:var(--ckm-color-surface);color:var(--ckm-color-accent);font-weight:800;text-decoration:none;box-shadow:none;transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease}
.catalog-hero-links .case-proposal-link:hover,.catalog-hero-links .game-platform-jump:hover{border-color:var(--ckm-color-accent);background:color-mix(in srgb,var(--ckm-color-accent) 6%,var(--ckm-color-surface));color:var(--ckm-color-accent);transform:translateY(-1px)}
.game-platform-section{width:min(1180px,calc(100% - 32px));margin:44px auto 28px;scroll-margin-top:28px;color:var(--ckm-color-text)}
.game-platform-lead{display:grid;grid-template-columns:1fr;padding:32px;border:1px solid var(--ckm-color-border);border-radius:28px;background:linear-gradient(135deg,var(--ckm-color-surface),color-mix(in srgb,var(--ckm-color-accent) 5%,var(--ckm-color-surface)));box-shadow:var(--ckm-shadow-card);overflow:hidden}
.game-platform-lead.has-video{grid-template-columns:minmax(0,1fr) minmax(330px,.9fr);gap:28px;align-items:center}
.game-platform-copy>span,.game-platform-group>header>span,.game-platform-custom>div>span{display:inline-block;margin-bottom:8px;color:var(--ckm-color-accent);font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.game-platform-copy h2{margin:0 0 12px;font-size:clamp(32px,4.5vw,52px);line-height:1.04}
.game-platform-copy p{max-width:760px;margin:0;color:var(--ckm-color-muted);font-size:17px;line-height:1.65}
.game-platform-video .case-media{margin:0}.game-platform-video video,.game-platform-video iframe{border-radius:20px}
.game-platform-entry-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.game-platform-entry-actions a,.game-platform-footer-action a,.game-platform-custom>a,.game-platform-card-action{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--ckm-color-border);border-radius:13px;background:var(--ckm-color-surface);color:var(--ckm-color-text);font-weight:850;text-decoration:none;transition:.16s ease}
.game-platform-entry-actions a:hover,.game-platform-card-action:hover{border-color:var(--ckm-color-accent);color:var(--ckm-color-accent);transform:translateY(-1px)}
.game-platform-entry-actions a.is-primary,.game-platform-footer-action a,.game-platform-custom>a{border-color:var(--ckm-color-accent);background:var(--ckm-color-accent);color:var(--ckm-color-accent-contrast)}
.game-platform-groups{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px;align-items:start}
.game-platform-group{scroll-margin-top:28px;padding:24px;border:1px solid var(--ckm-color-border);border-radius:24px;background:var(--ckm-color-surface);box-shadow:0 14px 40px var(--ckm-color-shadow)}
.game-platform-group>header{margin-bottom:16px}.game-platform-group>header h3{margin:0 0 7px;font-size:30px;line-height:1.05}.game-platform-group>header p{margin:0;color:var(--ckm-color-muted);line-height:1.55}
.game-platform-accordions{display:grid;gap:11px}
.game-platform-card{border:1px solid var(--ckm-color-border);border-radius:18px;background:var(--ckm-color-surface-soft);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.game-platform-card[open]{border-color:color-mix(in srgb,var(--ckm-color-accent) 55%,var(--ckm-color-border));box-shadow:0 10px 28px var(--ckm-color-shadow)}
.game-platform-card>summary{display:grid;grid-template-columns:112px minmax(0,1fr) auto;gap:15px;align-items:center;min-height:94px;padding:11px;cursor:pointer;list-style:none}.game-platform-card>summary::-webkit-details-marker{display:none}
.game-platform-card-media{display:block;width:112px;height:82px;border-radius:13px;overflow:hidden;background:var(--ckm-color-surface-strong)}.game-platform-card-media img{display:block;width:100%;height:100%;object-fit:cover}
.game-platform-card-poster{padding:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--ckm-color-accent) 18%,var(--ckm-color-surface-strong)),var(--ckm-color-surface));color:var(--ckm-color-text)}.game-platform-card-poster--intellectual{background:linear-gradient(135deg,color-mix(in srgb,var(--ckm-color-accent) 25%,var(--ckm-color-surface-strong)),color-mix(in srgb,var(--ckm-color-warning) 12%,var(--ckm-color-surface)))}
.game-platform-card-poster small{display:block;color:var(--ckm-color-accent);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.game-platform-card-poster strong{display:block;margin-top:8px;font-size:15px;line-height:1.1}
.game-platform-card-summary{min-width:0}.game-platform-card-summary>strong{display:block;font-size:18px;line-height:1.15}.game-platform-card-summary>span{display:block;margin-top:5px;color:var(--ckm-color-muted);font-size:14px;line-height:1.35}.game-platform-card-summary>em{display:inline-block;margin-top:7px;color:var(--ckm-color-accent);font-size:12px;font-style:normal;font-weight:850}
.game-platform-chevron{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--ckm-color-surface);color:var(--ckm-color-accent);font-size:22px;transition:transform .16s ease}.game-platform-card[open] .game-platform-chevron{transform:rotate(180deg)}
.game-platform-card-body{padding:0 18px 18px 138px}.game-platform-card-body>p{margin:0 0 14px;color:var(--ckm-color-text);line-height:1.6}.game-platform-card-body dl{display:grid;gap:9px;margin:0 0 16px}.game-platform-card-body dl div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px}.game-platform-card-body dt{font-weight:850}.game-platform-card-body dd{margin:0;color:var(--ckm-color-muted);line-height:1.45}.game-platform-card-action{min-height:42px;background:var(--ckm-color-surface)}
.game-platform-custom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:22px;padding:25px 28px;border:1px solid color-mix(in srgb,var(--ckm-color-accent) 38%,var(--ckm-color-border));border-radius:22px;background:color-mix(in srgb,var(--ckm-color-accent) 6%,var(--ckm-color-surface))}.game-platform-custom h3{margin:0 0 6px;font-size:28px}.game-platform-custom p{margin:0;color:var(--ckm-color-muted);line-height:1.55}.game-platform-custom>a{flex:0 0 auto}
.game-platform-footer-action{display:flex;justify-content:center;margin-top:18px}.game-platform-footer-action a{min-width:260px}
@media(max-width:920px){.game-platform-lead.has-video,.game-platform-groups{grid-template-columns:1fr}.game-platform-card-body{padding-left:138px}}
@media(max-width:620px){.game-platform-section{width:min(100% - 24px,1180px);margin-top:30px}.game-platform-lead,.game-platform-group{padding:19px;border-radius:20px}.game-platform-copy h2{font-size:36px}.game-platform-entry-actions{display:grid}.game-platform-entry-actions a{width:100%}.game-platform-card>summary{grid-template-columns:88px minmax(0,1fr) auto;gap:10px;padding:9px}.game-platform-card-media{width:88px;height:72px}.game-platform-card-summary>strong{font-size:16px}.game-platform-card-summary>span{font-size:13px}.game-platform-card-body{padding:0 14px 15px}.game-platform-card-body dl div{grid-template-columns:1fr;gap:3px}.game-platform-custom{align-items:stretch;flex-direction:column;padding:20px}.game-platform-custom>a{width:100%}.game-platform-footer-action a{width:100%}.catalog-hero-links{gap:10px}}


/* alpha.87.5.2 — business video training section spans the catalog width.
   Existing training card stays on the left; the right column is reserved for future editorial copy. */
.catalog-primary-row-single {
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
}
.catalog-primary-row-single .catalog-primary-section {
  width: 100%;
}
.catalog-primary-row .catalog-primary-section .business-video-layout {
  display: grid;
  grid-template-columns: minmax(0, 31rem) minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
  width: 100%;
}
.catalog-primary-row .catalog-primary-section .business-video-cards {
  grid-template-columns: minmax(0, 1fr);
  justify-content: stretch;
  width: 100%;
}
.business-video-text-slot {
  min-width: 0;
  min-height: 100%;
}
@media (max-width: 820px) {
  .catalog-primary-row .catalog-primary-section .business-video-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--ckm-space-6);
  }
  .business-video-text-slot:empty {
    display: none;
  }
}


/* alpha.87.5.3 — editable editorial copy beside business video training. */
.business-video-text-slot:not(:empty) {
  display: flex;
  align-items: flex-start;
}
.business-video-editorial {
  width: 100%;
  max-width: 46rem;
  padding: clamp(8px, 1vw, 14px) 0;
  color: var(--ckm-color-text, #172033);
}
.business-video-editorial h3 {
  margin: 0 0 16px;
  font-size: clamp(24px, 2.25vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.business-video-editorial-body {
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.7;
  color: var(--ckm-color-muted, #6b7280);
}
.business-video-editorial-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 24px;
  padding: 0 24px;
  border: 1.5px solid var(--ckm-color-accent, #1769ff);
  border-radius: 999px;
  color: var(--ckm-color-accent, #1769ff);
  background: transparent;
  font-weight: 700;
  text-decoration: none;
  transition: background .18s ease, transform .18s ease;
}
.business-video-editorial-cta:hover {
  background: color-mix(in srgb, var(--ckm-color-accent, #1769ff) 8%, transparent);
  transform: translateY(-1px);
}
@media (max-width: 820px) {
  .business-video-text-slot:not(:empty) { display: block; }
  .business-video-editorial { max-width: none; padding: 0; }
}


/* alpha.87.5.5 — catalog heading hierarchy and editable copy for film/text-audio sections. */
.catalog-primary-row .catalog-primary-section > .catalog-section-head h2 {
  font-size: clamp(38px, 3.8vw, 52px);
  line-height: 1.04;
  letter-spacing: -0.025em;
}
.business-video-editorial h3 {
  font-size: clamp(25px, 2vw, 32px);
  line-height: 1.12;
}
.catalog-section-description {
  max-width: 58rem;
  margin: -4px 0 22px;
  color: var(--ckm-color-muted, #6b7280);
  font-size: clamp(16px, 1.15vw, 19px);
  line-height: 1.65;
}
.catalog-secondary-section > .catalog-section-head {
  margin-bottom: 12px;
}
@media (max-width: 820px) {
  .catalog-primary-row .catalog-primary-section > .catalog-section-head h2 {
    font-size: clamp(34px, 9vw, 44px);
  }
  .business-video-editorial h3 {
    font-size: clamp(24px, 7vw, 30px);
  }
  .catalog-section-description {
    margin-bottom: 18px;
  }
}

/* alpha.87.5.8 — тренинги под заказ */
.commissioned-training-section{margin:54px 0 48px;padding:clamp(22px,4vw,38px);border:1px solid var(--ckm-color-border,#dce2eb);border-radius:28px;background:var(--ckm-color-surface,#fff);box-shadow:0 20px 60px rgba(42,52,76,.08)}
.commissioned-training-head{text-align:center;max-width:900px;margin:0 auto 26px}
.commissioned-training-head>span{display:inline-block;font-size:12px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--ckm-color-accent,var(--accent,#1769ff))}
.commissioned-training-head h2{margin:8px 0 10px;font-size:clamp(31px,4.2vw,46px);line-height:1.08;letter-spacing:-.03em}
.commissioned-training-head p{margin:0;color:var(--muted);font-size:17px;line-height:1.6}
.commissioned-training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.commissioned-training-card{min-width:0;overflow:hidden;display:flex;flex-direction:column;border:1px solid var(--ckm-color-border,#dce2eb);border-radius:22px;background:var(--ckm-color-surface,#fff);box-shadow:0 14px 42px rgba(42,52,76,.07)}
.commissioned-training-cover{display:block;width:100%;height:210px;object-fit:cover;background:var(--ckm-color-surface-soft,#f5f7fb)}
.commissioned-training-cover--placeholder{display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--ckm-color-accent,#1769ff) 10%,var(--ckm-color-surface,#fff)),var(--ckm-color-surface-soft,#f5f7fb));color:var(--ckm-color-accent,#1769ff)}
.commissioned-training-cover--placeholder span{font-size:54px;opacity:.72}
.commissioned-training-card-body{display:flex;flex:1;flex-direction:column;padding:20px}
.commissioned-training-card-body h3{margin:0 0 10px;font-size:25px;line-height:1.2}
.commissioned-training-card-body p{margin:0 0 18px;color:var(--muted);line-height:1.55;flex:1}
.commissioned-training-order-button{display:flex;align-items:center;justify-content:center;min-height:52px;margin-top:auto;padding:10px 16px;border-radius:14px;background:var(--ckm-color-accent,var(--accent,#1769ff));color:var(--ckm-color-accent-contrast,#fff);font-weight:850;text-decoration:none;text-align:center;transition:transform .16s ease,background .16s ease}
.commissioned-training-order-button:hover{transform:translateY(-1px);background:var(--ckm-color-accent-hover,#0f56d9)}
.training-order-context{max-width:760px;margin:18px auto 0;padding:12px 15px;border:1px solid color-mix(in srgb,var(--ckm-color-accent,#1769ff) 28%,var(--ckm-color-border,#dce2eb));border-radius:13px;background:color-mix(in srgb,var(--ckm-color-accent,#1769ff) 6%,var(--ckm-color-surface,#fff));color:var(--text);text-align:center}
html[data-theme="dark"] .commissioned-training-section,html[data-theme="dark"] .commissioned-training-card{background:var(--ckm-color-surface);border-color:var(--ckm-color-border)}
@media(max-width:900px){.commissioned-training-grid{grid-template-columns:1fr}.commissioned-training-card{max-width:620px;width:100%;margin:0 auto}.commissioned-training-cover{height:auto;aspect-ratio:16/9}}
