:root{color-scheme:light;--ink:#17333c;--muted:#536c72;--deep:#123e4a;--accent:#e4ad5e;--soft:#eef5f4;--line:#d5e2e1;--white:#fff;font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;color:var(--ink);background:var(--white);line-height:1.65}a{color:inherit}a:focus-visible,button:focus-visible{outline:3px solid #b7761b;outline-offset:4px}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.narrow{max-width:960px}.skip-link{position:absolute;left:12px;top:-80px;background:#fff;padding:12px;z-index:20}.skip-link:focus{top:12px}.site-header{position:sticky;top:0;background:#fffdfbf2;backdrop-filter:blur(12px);border-bottom:1px solid var(--line);z-index:10}.header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{text-decoration:none;font-size:1.45rem;font-weight:800;letter-spacing:-.04em}.brand-dot{color:#b9792b}.nav{display:flex;gap:30px}.nav a{text-decoration:none;font-size:.95rem;font-weight:600}.nav a:hover{text-decoration:underline}.menu-toggle{display:none;background:transparent;border:1px solid var(--line);padding:9px 13px;border-radius:9px;font:inherit;cursor:pointer}.hero{background:linear-gradient(125deg,#123e4a,#1e5961);color:white;padding:92px 0 100px}.hero-layout{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}.eyebrow{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;font-weight:800;color:#b87930;margin:0 0 18px}.hero .eyebrow{color:#f1c887}h1,h2,h3{line-height:1.16;letter-spacing:-.035em}h1{font-size:clamp(3.6rem,9vw,6.6rem);margin:0 0 22px}h2{font-size:clamp(2rem,4vw,3rem);margin:0 0 24px}h3{font-size:1.27rem;margin:10px 0}p{margin:0 0 18px}.hero-lead{font-size:clamp(1.2rem,2.3vw,1.65rem);max-width:650px}.hero-motto{font-weight:700;color:#f5d8aa}.button{display:inline-flex;align-items:center;gap:20px;background:var(--accent);color:#192e34;text-decoration:none;font-weight:800;border-radius:11px;padding:14px 23px;margin-top:15px;transition:transform .15s,background .15s}.button:hover{transform:translateY(-2px);background:#f2bf78}.button-note{font-size:.87rem;max-width:450px;opacity:.84;margin:16px 0 0}.hero-panel{background:#ffffff14;border:1px solid #ffffff44;border-radius:22px;padding:32px;box-shadow:0 20px 60px #092c3433}.panel-label{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em;color:#f5d8aa}.steps{list-style:none;padding:0;display:grid;gap:9px;counter-reset:stage}.steps li{counter-increment:stage;padding:9px 0 9px 50px;border-bottom:1px solid #ffffff2b;position:relative;font-weight:700}.steps li::before{content:counter(stage,decimal-leading-zero);position:absolute;left:0;color:#f5d8aa}.hero-panel p{font-size:.94rem;margin:22px 0 0;color:#e5f0ee}.section{padding:64px 0}.section-soft{background:var(--soft)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:42px}.method-grid article{border-top:2px solid var(--line);padding-top:20px}.step-num{color:#ad6b26;font-weight:800}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 22px;box-shadow:0 8px 24px #1b4a4c0a}.card p{font-size:.95rem;color:var(--muted);margin-bottom:0}.demo-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:start}.demo-disclaimer{font-size:.88rem;color:var(--muted);font-weight:600}.dialogue{background:#f5f8f7;border:1px solid var(--line);border-radius:20px;padding:24px}.dialogue-line{display:flex;flex-direction:column;gap:6px;background:#fff;padding:14px 18px;border-radius:14px;margin-bottom:12px;max-width:88%}.dialogue-line:last-child{margin-bottom:0}.dialogue-line strong{font-size:.82rem;color:#28717a}.dialogue-line.student{margin-left:auto;background:#e0eeec}.closing{text-align:center;background:#f8f3e9}.button-outline{background:var(--deep);color:#fff}.button-outline:hover{background:#21606a}.footer{background:#102e36;color:#e4eeed;padding:25px 0;font-size:.85rem}.footer .container{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}@media(max-width:950px){.hero-layout{gap:35px}.cards{grid-template-columns:repeat(2,1fr)}.demo-layout{gap:30px}}@media(max-width:700px){.container{width:min(100% - 32px,1120px)}.header-inner{min-height:66px;flex-wrap:wrap}.menu-toggle{display:block}.nav{display:none;flex-direction:column;gap:0;width:100%;padding-bottom:12px}.nav.is-open{display:flex}.nav a{padding:12px 2px;border-top:1px solid var(--line)}.hero{padding:65px 0}.hero-layout,.demo-layout{grid-template-columns:1fr;gap:32px}.hero-panel{padding:23px}.section{padding:48px 0}.method-grid{grid-template-columns:1fr;gap:15px}.cards{grid-template-columns:1fr}.dialogue{padding:14px}.dialogue-line{max-width:94%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}


/* Утверждённые цвета второстепенных заголовков. */
body {
  --headline-main: #bb3b5c;
  --headline-accent: #087e7c;
  --headline-third: #aa4c19;
}
.section h2 { color: var(--headline-main); }
.card h3 { color: var(--headline-accent); }
.method-grid h3 { color: var(--headline-third); }
body[data-theme="green"] .hero {
  background: #3cdc23;
  color: #12321c;
}
body[data-theme="indigo"] .hero {
  background: #312cd3;
  color: #fff;
}
body[data-theme="green"] .hero .eyebrow,
body[data-theme="green"] .hero-motto,
body[data-theme="green"] .panel-label {
  color: #173f17;
}
body[data-theme="green"] .hero-panel {
  background: #ffffffb8;
  border-color: #17591d4d;
  box-shadow: 0 20px 60px #153f1e24;
}
body[data-theme="green"] .hero-panel p { color: #173f20; }
body[data-theme="green"] .steps li { border-color: #17602142; }
body[data-theme="green"] .steps li::before { color: #7d236e; }
body[data-theme="indigo"] .hero-panel {
  background: #ffffff19;
  border-color: #ffffff75;
}
body[data-theme="indigo"] .hero .eyebrow,
body[data-theme="indigo"] .hero-motto,
body[data-theme="indigo"] .panel-label,
body[data-theme="indigo"] .steps li::before {
  color: #ffde8a;
}
.hero .button {
  background: #ffcf32;
  color: #232327;
  box-shadow: 0 6px 18px #00000026;
  border: 2px solid #ffffff8a;
}
.hero .button:hover { background: #ffe36a; }
.hero-panel .steps li { font-size: 1.125rem; line-height: 1.45; }
.hero-panel .panel-label { font-size: 1rem; font-weight: 800; }
.hero-panel p { font-size: 1.05rem; }
/* Второй этап согласования первого экрана. */
body .hero { background: #3cdc23; color: #12321c; }
body .hero h1 { color: #f00f5c; text-shadow: 0 2px 0 #ffffff44; }
body[data-title="violet"] .hero h1 { color: #4110ef; }
body .hero .eyebrow, body .hero .panel-label { color: #173f17; }
body .hero-motto {
  color: #171fe8;
  font-size: clamp(1.375rem, 2.6vw, 1.875rem);
  font-weight: 900;
  line-height: 1.3;
  text-shadow: 0 1px 0 #ffffff60;
  max-width: 660px;
}
body .hero-panel {
  background: #ffffffb8;
  border-color: #17591d4d;
}
body .hero-panel p { color: #173f20; }
body .steps li { border-color: #17602142; }
body .steps li::before {
  color: #f00f5c;
  font-size: 1.5rem;
  font-weight: 900;
}
body .hero-panel .steps li { font-size: 20px; font-weight: 800; }
body .hero-panel .panel-label { font-size: 1.125rem; }
.title-choice {
  cursor: pointer;
  font: inherit;
  font-size: .82rem;
  font-weight: 800;
  padding: 7px 10px;
  border: 2px solid transparent;
  border-radius: 8px;
  background: white;
}
.title-choice[data-title-choice="pink"] { color: #c50048; }
.title-choice[data-title-choice="violet"] { color: #4110ef; }
.title-choice.is-selected { outline: 2px solid #173f20; outline-offset: 1px; }
@media(max-width:700px) {
  body .hero-panel .steps li { font-size: 20px; }
  body .steps li::before { font-size: 1.4rem; }
}

/* Утверждённая палитра первого экрана: зелёный фон, фиолетовое название. */
body .hero h1 { color: #4110ef; }
body .hero-motto {
  color: #171fe8;
  font-size: clamp(1.7rem, 3.3vw, 2.35rem);
  font-weight: 900;
  line-height: 1.25;
}
body .hero-panel p {
  color: #173f20;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.45;
}

/* Знакомьтесь — Пандит: адаптивный раздел представления наставника. */
.mentor-section { background: #f7fbf6; }
.mentor-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.05fr); gap: clamp(28px,5vw,72px); align-items: start; }
.mentor-intro { min-width: 0; }
.mentor-intro h2 { max-width: 620px; }
.mentor-lead { font-size: clamp(1.08rem,1.9vw,1.3rem); font-weight: 650; color: #173f31; }
.mentor-link { display: inline-flex; align-items: center; gap: 10px; color: #4110ef; font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 5px; margin-top: 8px; }
.mentor-features { display: grid; gap: 14px; }
.mentor-feature { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 14px; background: #fff; border: 1px solid #cfe1d2; border-left: 5px solid #3bca2c; border-radius: 15px; padding: 20px 22px; box-shadow: 0 8px 22px #1644210c; }
.mentor-feature-num { font-size: 1.2rem; font-weight: 900; color: #4110ef; line-height: 1.2; }
.mentor-feature h3 { margin: 0 0 7px; color: #2742b5; font-size: 1.18rem; }
.mentor-feature p { margin: 0; color: #34515a; }
.mentor-footnote { margin: 24px 0 0; color: #536c72; font-size: .92rem; }
@media(max-width:850px) { .mentor-layout { grid-template-columns: 1fr; } }
@media(max-width:700px) { .mentor-feature { padding: 17px 16px; grid-template-columns: 36px minmax(0,1fr); } .mentor-feature h3 { font-size: 1.12rem; } }

/* Шесть демонстрационных учебных диалогов: переключаемые примеры. */
.demo-intro { max-width: 810px; font-size: 1.12rem; }
.lesson-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 28px 0 22px; }
.lesson-tab { background: #f3f8f5; border: 2px solid #d5e2e1; border-radius: 12px; color: #19383d; text-align: left; padding: 14px 16px; cursor: pointer; font: inherit; font-weight: 800; line-height: 1.3; }
.lesson-tab-group { display: block; font-size: .76rem; font-weight: 800; letter-spacing: .035em; color: #54716c; margin-bottom: 5px; }
.lesson-tab:hover { background: #eaf5e9; border-color: #5abb53; }
.lesson-tab.is-active { border-color: #4110ef; background: #efedff; box-shadow: 0 0 0 1px #4110ef18; }
.lesson-tab.is-active .lesson-tab-group { color: #4110ef; }
.lesson-panel { max-width: 820px; border: 1px solid #d5e2e1; border-radius: 19px; padding: clamp(16px,3vw,30px); background: #fff; }
.lesson-panel[hidden] { display: none; }
.lesson-panel h3 { margin: 4px 0 22px; color: #4110ef; }
.lesson-kicker { font-size: .83rem; font-weight: 800; color: #447a4a; margin-bottom: 5px; }
.lesson-note { margin: 17px 0 0; font-size: .88rem; color: #536c72; }
.lesson-panel .dialogue { border: none; padding: 18px; }
.lesson-panel .dialogue-line { max-width: 90%; }
@media(max-width:800px) { .lesson-tabs { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .lesson-tabs { grid-template-columns: 1fr; } .lesson-tab { padding: 11px 14px; } .lesson-panel .dialogue { padding: 10px; } .lesson-panel .dialogue-line { max-width: 96%; } }

/* Закреплённый информационный пост и три ветки аудитории. */
.pinned-section { background: #f6fff2; border-block: 2px solid #d2efc9; }
.pinned-lead { font-size: clamp(1.16rem, 2.1vw, 1.42rem); font-weight: 750; max-width: 850px; }
.branch-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; margin-top: 32px; }
.branch-card { display: flex; flex-direction: column; background: #fff; padding: 25px; border: 2px solid #bdeab6; border-radius: 18px; box-shadow: 0 10px 26px #153c1c12; }
.branch-card h3 { color: #4110ef; font-size: 1.5rem; margin-top: 0; }
.branch-card p { flex: 1; }
.branch-link { display: inline-flex; align-items: center; gap: 6px; width: fit-content; color: #18331c; background: #aafa82; border-radius: 10px; padding: 10px 13px; text-decoration: none; font-weight: 800; }
.branch-link:hover { background: #78ed59; }
.pinned-note { margin-top: 24px; color: #536c72; font-size: .93rem; }
.card a { display: inline-block; margin-top: 15px; color: #4110ef; font-weight: 750; text-underline-offset: 3px; }
.materials-hero { background: #3cdc23; padding: 66px 0 56px; color: #17331a; }
.materials-hero h1 { font-size: clamp(2.2rem, 5.4vw, 4rem); color: #4110ef; }
.materials-hero p { max-width: 790px; font-size: 1.15rem; }
.materials-back { color: #4110ef; font-weight: 800; text-underline-offset: 5px; }
.materials-branch-nav { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 25px; }
.materials-branch-nav a { background: #eef8ec; border: 1px solid #bbe3ba; border-radius: 10px; padding: 12px 17px; font-weight: 800; color: #254c2b; }
.materials-branch { scroll-margin-top: 5rem; }
.materials-branch:nth-of-type(odd) { background: #f6faf4; }
.materials-subtitle { color: #536c72; font-size: 1.14rem; }
.materials-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 19px; margin: 34px 0; }
.material-card { min-width: 0; background: #fff; border: 1px solid #d7e7d9; border-radius: 16px; padding: 24px; box-shadow: 0 6px 16px #134b2508; }
.material-number { display: inline-block; color: #4110ef; font-weight: 900; font-size: .88rem; }
.material-card h3 { color: #174b35; margin: 10px 0 16px; font-size: 1.32rem; }
.material-card p { margin-bottom: 14px; }
.material-return { color: #4110ef; font-size: .87rem; font-weight: 750; }
@media(max-width:800px) { .branch-cards { grid-template-columns: 1fr; } }
@media(max-width:700px) { .materials-grid { grid-template-columns: 1fr; } .materials-hero { padding: 48px 0; } .branch-card { padding: 19px; } }

/* Четвёртая ветка закрепа и длинные авторские публикации. */
.branch-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
.branch-card-start { border-color: #c5bbff; background: #f6f3ff; }
.original-materials-grid { grid-template-columns: minmax(0,1fr); max-width: 950px; }
.original-post { scroll-margin-top: 90px; padding: clamp(20px,3.7vw,38px); }
.original-post h3 { font-size: clamp(1.35rem,2.8vw,1.8rem); color: #4110ef; }
.original-post-body { margin-top: 20px; max-width: 820px; font-size: 1.035rem; line-height: 1.65; }
.original-post-body p { margin: 0 0 14px; }
.original-post-body ul { padding-left: 24px; margin: 0 0 20px; }
.post-cta { display: inline-flex; align-items: center; width: fit-content; background: #ffcf32; border: 2px solid #be980b; border-radius: 10px; padding: 11px 17px; text-decoration: none; font-weight: 900; color: #25272f; }
.post-cta:hover { background: #ffe570; }
.original-post .post-cta { margin: 3px 0 6px; }
.instruction-intro { font-size: 1.13rem; margin: 0 0 28px; }
.instruction-step { padding: 24px 0; border-bottom: 1px solid #d5e2e1; }
.instruction-step h2 { font-size: clamp(1.4rem,2.5vw,2rem); margin: 10px 0 16px; }
.release-warning { border-left: 5px solid #4110ef; background: #ffffffd6; padding: 13px 18px; border-radius: 8px; }
.start-action { margin-top: 30px; background: #f2f8ed; border-radius: 16px; padding: 25px; }
@media(max-width:700px){ .branch-cards { grid-template-columns: 1fr; } .original-post-body { font-size: 1rem; } }

/* Финальный авторский пост-закреп: читаемость длинного манифеста. */
.pinned-original { max-width: 850px; font-size: clamp(1.05rem,1.7vw,1.23rem); line-height: 1.75; }
.pinned-original p { margin: 0 0 17px; }
.pinned-original ul { padding-left: 27px; margin: 0 0 22px; }
.pinned-original li { margin-bottom: 6px; }
.pinned-nav-title { font-size: clamp(1.55rem,3vw,2rem); color: #4110ef; margin-top: 35px; }

/* Эксперимент оформления закрепа: компактная вёрстка и зелёный текст. */
.pinned-section { padding-top: 48px; padding-bottom: 48px; }
.pinned-section #pinned-title { margin-bottom: 18px; }
.pinned-original {
  max-width: 1000px;
  color: #05981b;
  font-size: 1.075rem;
  line-height: 1.35;
}
.pinned-original p { margin: 0 0 6px; }
.pinned-original ul { margin: 0 0 10px; padding-left: 23px; }
.pinned-original li { margin-bottom: 1px; }
.pinned-nav-title { margin-top: 24px; margin-bottom: 18px; }
.pinned-section .branch-cards { margin-top: 14px; gap: 12px; }
.pinned-section .branch-card { padding: 18px; }
.pinned-section .branch-card p { margin-bottom: 11px; line-height: 1.45; }
.pinned-section .pinned-note { margin-top: 14px; margin-bottom: 0; }
@media(max-width:700px) {
  .pinned-section { padding-top: 36px; padding-bottom: 36px; }
  .pinned-original { font-size: 1rem; line-height: 1.35; }
}

/* Утверждённый цвет текстов информационных постов и закрепа. */
.pinned-original,
.original-post .original-post-body,
.original-post .original-post-body p,
.original-post .original-post-body li {
  color: #230797;
}

/* После переноса кнопки: отдельная строка под текстом каждого поста. */
.original-post > .post-cta { display: flex; width: fit-content; margin: 15px 0 12px; }
.original-post > .material-return { display: block; width: fit-content; margin-top: 8px; }

/* Макет регистрации: пользовательские поля локальны, ничего не отправляют. */
.enrollment-layout { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(250px,.85fr); gap:32px; align-items:start; }
.enrollment-form-card,.enrollment-side { min-width:0; border:1px solid #d5e2e1; border-radius:18px; padding:clamp(18px,3vw,30px); background:#fff; }
.enrollment-form-card h2,.enrollment-side h2 { font-size:clamp(1.5rem,3vw,2.1rem); }
.enroll-fieldset { border:0; padding:0; margin:22px 0; }
.enroll-fieldset legend { margin-bottom:9px; font-weight:800; }
.enroll-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.enroll-control { display:flex; flex-direction:column; margin:0 0 18px; gap:7px; min-width:0; }
.enroll-control label { font-weight:750; }
.enroll-control input,.enroll-control select,.enroll-fieldset select {
  width:100%; min-width:0; max-width:100%; min-height:46px; padding:9px 12px; font:inherit; background:#fff;
  border:1.5px solid #8fa6a3; border-radius:9px; color:#19383d;
}
.enroll-control small,.enroll-hint { font-size:.85rem; color:#536c72; line-height:1.45; }
.enroll-control output { background:#f3f8f5; padding:11px 13px; border-radius:9px; min-height:46px; }
.enroll-preview-actions { border-top:1px solid #d5e2e1; padding-top:17px; }
.enroll-preview-actions .post-cta:disabled { opacity:.55; cursor:not-allowed; }
.enroll-flow { padding-left:24px; }
.enroll-flow li { margin-bottom:15px; }
.enrollment-side { background:#f6fff2; }
@media(max-width:870px) { .enrollment-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:560px) { .enroll-grid { grid-template-columns:1fr; } }

/* Гарантировать скрытие неактивных полей независимо от display в CSS. */
#registration-preview [hidden] { display:none !important; }

/* Демонстрационные кабинеты: только фиктивные значения, без авторизации. */
.demo-dashboard { max-width:1100px; }
.demo-banner { background:#f5f1ff; border-left:5px solid #4110ef; border-radius:10px; padding:16px 20px; margin-bottom:23px; }
.demo-banner p { margin:7px 0 0; }
.demo-switch { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:0 0 22px; }
.demo-switch label { font-weight:800; }
.demo-switch select,.demo-panel select { border:1.5px solid #8fa6a3; background:white; border-radius:9px; font:inherit; padding:10px; max-width:100%; }
.demo-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0 0 23px; }
.demo-stat { background:#fff; border:1px solid #d5e2e1; border-radius:14px; padding:19px; display:flex; flex-direction:column; gap:7px; }
.demo-stat strong { font-size:clamp(1.1rem,2vw,1.7rem); color:#230797; overflow-wrap:anywhere; }
.demo-stat small { color:#536c72; }
.demo-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; }
.demo-panel { background:#fff; border:1px solid #d5e2e1; border-radius:14px; padding:22px; margin-bottom:16px; min-width:0; }
.demo-panel h2 { font-size:clamp(1.25rem,2.5vw,1.6rem); color:#4110ef; margin:0 0 14px; }
.demo-panel p { margin:0 0 15px; }
.demo-panel .post-cta:disabled { opacity:.55; cursor:not-allowed; }
.demo-notice { padding:13px 15px; background:#fff9dc; border-left:4px solid #b47a12; border-radius:6px; }
.demo-tabs { display:flex; flex-wrap:wrap; gap:9px; margin:4px 0 17px; }
.demo-tabs button { font:inherit; border:1px solid #c5bbff; color:#230797; padding:10px 13px; background:white; border-radius:9px; cursor:pointer; font-weight:700; }
.demo-tabs button[aria-selected="true"] { background:#230797; border-color:#230797; color:white; }
.demo-tabs button:focus-visible { outline:3px solid #ffa600; outline-offset:2px; }
.demo-table-wrap { max-width:100%; overflow-x:auto; }
.demo-data-table { border-collapse:collapse; min-width:540px; width:100%; font-size:.93rem; }
.demo-data-table th,.demo-data-table td { text-align:left; padding:11px 12px; border-bottom:1px solid #d5e2e1; vertical-align:top; }
.demo-data-table th { background:#f6f3ff; color:#230797; }
.demo-data-table tr:nth-child(even) td { background:#f8fbfa; }
.demo-panel[hidden] { display:none !important; }
@media(max-width:900px) { .demo-stats { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:680px) { .demo-panels { grid-template-columns:1fr; } }
@media(max-width:400px) { .demo-stats { grid-template-columns:1fr; } }

/* Свободный ввод учебного предмета в макете кабинета. */
.demo-switch input { border:1.5px solid #8fa6a3; background:#fff; border-radius:9px; font:inherit; padding:10px; max-width:100%; min-width:210px; }
.demo-switch small { color:#536c72; line-height:1.4; }

/* Полное публичное меню помещается в раскрывающийся блок и на планшетах. */
@media(max-width:1100px) {
  .header-inner { flex-wrap:wrap; }
  .menu-toggle { display:block; }
  #primary-nav { display:none; flex-direction:column; gap:0; width:100%; padding-bottom:12px; }
  #primary-nav.is-open { display:flex; }
  #primary-nav a { padding:12px 2px; border-top:1px solid var(--line); }
}

/* Согласованные цвета разделов; правила не затрагивают главную страницу. */
.materials-branch#parents,
.materials-branch-nav a[href="#parents"] { --section-bg:#F2F6FB; --section-color:#245B91; }
.materials-branch#school,
.materials-branch-nav a[href="#school"] { --section-bg:#F0FAF6; --section-color:#167A5A; }
.materials-branch#students,
.materials-branch-nav a[href="#students"] { --section-bg:#F2F3FC; --section-color:#5146A3; }
.materials-branch:is(#parents,#school,#students) {
  background:var(--section-bg); color:var(--section-color);
}
.materials-branch:is(#parents,#school,#students) :is(h2,h3,a,.material-number),
.materials-branch:is(#parents,#school,#students) .original-post-body,
.materials-branch:is(#parents,#school,#students) .original-post-body :is(p,li) {
  color:var(--section-color);
}
.materials-branch:is(#parents,#school,#students) .material-card { border-color:var(--section-color); }
.materials-branch:is(#parents,#school,#students) .post-cta {
  background:var(--section-color); border-color:var(--section-color); color:#fff;
}
.materials-branch:is(#parents,#school,#students) .post-cta:hover { text-decoration:underline; }
.materials-branch-nav a:is([href="#parents"],[href="#school"],[href="#students"]) {
  background:var(--section-bg); border-color:var(--section-color); color:var(--section-color);
}
.materials-branch:is(#parents,#school,#students) a:focus-visible { outline-color:var(--section-color); }

.owner-preview,
.sessions-workspace { --workspace-bg:#EEF2F6; --workspace-color:#334155; }
.pandit-workspace { --workspace-bg:#FAFBFE; --workspace-color:#215A85; }
.owner-preview { background:var(--workspace-bg); color:var(--workspace-color); }
.owner-preview .materials-hero,
.owner-preview .demo-data-table th { background:var(--workspace-bg); }
.owner-preview :is(h1,h2,h3,a,.demo-stat strong,.demo-data-table th) { color:var(--workspace-color); }
.owner-preview .demo-banner { background:#fff; border-color:var(--workspace-color); }
.owner-preview .demo-tabs button { color:var(--workspace-color); border-color:var(--workspace-color); }
.owner-preview .demo-tabs button[aria-selected="true"] { background:var(--workspace-color); color:#fff; }
.owner-preview :is(a,button):focus-visible,
.pandit-workspace :is(a,button,input,select,textarea):focus-visible,
.sessions-workspace :is(a,button):focus-visible { outline:3px solid var(--workspace-color); outline-offset:3px; }
.pandit-workspace a { color:var(--workspace-color); }

/* Список устройств: только оформление, обработчики и проверка доступа прежние. */
.sessions-workspace { background:var(--workspace-bg); color:var(--workspace-color); }
.sessions-workspace main {
  width:min(850px,calc(100% - 32px)); margin:24px auto; padding:clamp(16px,3vw,32px);
  background:#fff; border:1px solid var(--line); border-radius:14px; overflow-wrap:anywhere;
}
.sessions-workspace h1 { font-size:clamp(1.6rem,4vw,2.2rem); color:var(--workspace-color); }
.sessions-workspace a { color:var(--workspace-color); }
.sessions-workspace button {
  font:inherit; max-width:100%; padding:10px 14px; margin:6px 8px 6px 0;
  border:1px solid var(--workspace-color); border-radius:9px;
  background:var(--workspace-color); color:#fff; cursor:pointer;
}
.sessions-workspace button:disabled { opacity:.55; cursor:not-allowed; }
.sessions-workspace #session-list > p { padding-block:12px; border-bottom:1px solid var(--line); }

/* Подсказка для широких демонстрационных таблиц на узких экранах. */
.table-scroll-hint { display:none; margin:0 0 8px; }
@media(max-width:700px) { .table-scroll-hint { display:block; } }
.demo-table-wrap:focus-visible { outline:3px solid currentColor; outline-offset:3px; }

/* Компактное расстояние между предупреждением и содержимым демо владельца. */
.owner-preview .materials-hero { padding:32px 0 24px; }
.owner-preview .materials-hero p { margin-bottom:0; }
.owner-preview .section { padding-top:32px; }

/* Узкая сетка не должна расширяться из-за ширины системного шрифта. */
.hero-layout > * { min-width:0; }
.hero h1 { overflow-wrap:anywhere; }
