/* ===================================================================
   Учебник физики — отдельный режим SPA (#textbook).
   Структура: 5 разделов → темы → markdown-страница.
   =================================================================== */

/* Tabs «Тренажёр / Учебник» — переключатель режима под шапкой.
   Показывается ТОЛЬКО внутри курса (тренажёр/учебник). На лендинге, в игре,
   в режиме репетитора и задачи дня — скрыт. */
.mode-tabs{display:none}
body.has-mode-tabs .mode-tabs{
  display:flex;gap:0;
  border:1px solid var(--ink);background:var(--paper-2);
  margin:0 0 14px;
  font-family:var(--f-body);
}
.mode-tab{
  flex:1;text-decoration:none;color:var(--ink);
  padding:8px 14px;text-align:center;
  border-right:1px solid var(--line);
  display:flex;flex-direction:row;gap:8px;align-items:baseline;justify-content:center;
  transition:background .15s ease, color .15s ease;
}
.mode-tab:last-child{border-right:none}
.mode-tab:hover{background:var(--paper-3)}
.mode-tab.active{background:var(--ink);color:var(--paper)}
.mode-tab.active .mode-tab-title{color:var(--accent)}
.mode-tab-title{
  font-family:var(--f-display);font-weight:600;font-size:14px;line-height:1.1;
  letter-spacing:-0.01em;font-variation-settings:"opsz" 144;
}
.mode-tab-meta{
  font-family:var(--f-mono);font-size:9px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--ink-mute);
}
.mode-tab.active .mode-tab-meta{color:var(--paper-3);opacity:.85}

/* Лендинг / игра / репетитор / задача дня — скрываем переключатель режима */
body.landing-mode .mode-tabs,
body.game-mode .mode-tabs,
body.tutor-mode .mode-tabs,
body.daily-mode .mode-tabs{display:none !important}

/* Когда в режиме учебника — прячем внутреннее (выбор задач, темы) */
body.textbook-mode .task-selector,
body.textbook-mode .themes{display:none !important}
body.textbook-mode .layout{grid-template-columns:minmax(0, 1fr)}
body.textbook-mode .content{max-width:920px;margin:0 auto;padding:0 20px;min-width:0;width:100%;box-sizing:border-box;overflow-x:clip}

/* ----- Главная страница учебника: список 5 разделов ----- */
.textbook-page{padding:8px 0 60px}
.textbook-head{margin-bottom:34px}
.textbook-head .kicker{
  font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.2em;
  color:var(--ink-mute);margin-bottom:10px;
}
.textbook-lead{
  font-family:var(--f-display);font-size:18px;line-height:1.5;font-style:italic;
  color:var(--ink-mute);max-width:680px;margin:14px 0 18px;
}

.textbook-branch-grid{
  display:grid;gap:0;
  grid-template-columns:1fr;
  border:1px solid var(--ink);background:var(--paper-2);
}
.textbook-branch-card{
  display:grid;grid-template-columns:64px 1fr 32px;align-items:center;
  gap:18px;padding:22px 24px;
  text-decoration:none;color:var(--ink);
  border-bottom:1px solid var(--line);
  transition:background .15s ease;
  position:relative;
}
.textbook-branch-card:last-child{border-bottom:none}
.textbook-branch-card:hover{background:var(--paper-3)}
.textbook-branch-card:hover .textbook-branch-arrow{transform:translateX(6px);color:var(--accent)}
.textbook-branch-num{
  width:48px;height:48px;border:1.5px solid var(--ink);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-display);font-weight:600;font-size:24px;
  font-variation-settings:"opsz" 144;
  background:var(--paper);
}
.textbook-branch-title{
  font-family:var(--f-display);font-weight:600;font-size:24px;
  letter-spacing:-0.015em;line-height:1.15;margin-bottom:6px;
  font-variation-settings:"opsz" 144;
}
.textbook-branch-sub{
  font-family:var(--f-body);font-size:14px;line-height:1.4;color:var(--ink-mute);
  margin-bottom:6px;
}
.textbook-branch-count{
  font-family:var(--f-mono);font-size:10px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--accent);
}
.textbook-branch-arrow{
  font-size:20px;color:var(--ink-mute);transition:transform .15s ease, color .15s ease;
  font-family:var(--f-display);
}

/* ----- Страница раздела: список тем ----- */
.textbook-topic-list{
  display:grid;gap:0;
  grid-template-columns:1fr;
  border:1px solid var(--ink);background:var(--paper-2);
}
.textbook-topic-card{
  display:grid;grid-template-columns:48px 1fr 28px;align-items:center;
  gap:16px;padding:18px 22px;
  text-decoration:none;color:var(--ink);
  border-bottom:1px solid var(--line);
  transition:background .15s ease;
}
.textbook-topic-card:last-child{border-bottom:none}
.textbook-topic-card:hover{background:var(--paper-3)}
.textbook-topic-card:hover .textbook-topic-arrow{transform:translateX(6px);color:var(--accent)}
.textbook-topic-num{
  width:36px;height:36px;border:1px solid var(--line);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-mono);font-size:13px;font-weight:600;
  color:var(--ink-mute);background:var(--paper);
}
.textbook-topic-title{
  font-family:var(--f-display);font-weight:600;font-size:19px;
  letter-spacing:-0.01em;line-height:1.2;margin-bottom:4px;
  font-variation-settings:"opsz" 96;
}
.textbook-topic-sub{
  font-family:var(--f-body);font-size:13.5px;line-height:1.4;color:var(--ink-mute);
}
.textbook-topic-arrow{
  font-size:18px;color:var(--ink-mute);transition:transform .15s ease, color .15s ease;
}

/* ----- Страница темы: хлебные крошки + контент + предыдущая/следующая ----- */
.textbook-crumbs{
  font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--ink-mute);margin-bottom:18px;
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.textbook-crumbs a{color:var(--ink-mute);text-decoration:none;border-bottom:1px dotted var(--ink-mute)}
.textbook-crumbs a:hover{color:var(--accent);border-color:var(--accent)}
.textbook-crumbs .current{color:var(--ink)}
.textbook-crumbs span{color:var(--line)}

.textbook-topic-page{max-width:820px;margin:0 auto}
.textbook-topic-page .theory-content{font-size:16px;line-height:1.7}
.textbook-topic-page .theory-content h2{
  font-family:var(--f-display);font-weight:600;font-size:24px;
  margin-top:36px;margin-bottom:14px;letter-spacing:-0.01em;
  border-bottom:2px solid var(--ink);padding-bottom:6px;
}
.textbook-topic-page .theory-content h3{
  font-family:var(--f-display);font-weight:600;font-size:18px;
  margin-top:24px;margin-bottom:10px;color:var(--accent);
}
.textbook-topic-page .theory-content p{margin:10px 0}
.textbook-topic-page .theory-content img{max-width:100%;height:auto;display:block;margin:18px auto}
.textbook-topic-page .theory-content figure{margin:24px 0;text-align:center}
.textbook-topic-page .theory-content figure figcaption{
  font-family:var(--f-display);font-style:italic;font-size:13.5px;
  color:var(--ink-mute);margin-top:8px;
}
.textbook-topic-page .theory-content blockquote{
  border-left:3px solid var(--accent);padding:6px 14px;margin:16px 0;
  background:var(--paper-2);font-style:italic;color:var(--ink-mute);
}

.textbook-nav{
  display:flex;justify-content:space-between;gap:14px;align-items:center;
  margin-top:48px;padding-top:24px;border-top:1px solid var(--line);
}

/* ----- Mobile ----- */
@media (max-width: 720px){
  .mode-tab-meta{display:none}
  .mode-tab{padding:10px 8px}
  .mode-tab-title{font-size:14px}
  .textbook-branch-card{grid-template-columns:44px 1fr 22px;padding:16px 14px;gap:12px}
  .textbook-branch-num{width:36px;height:36px;font-size:18px}
  .textbook-branch-title{font-size:18px}
  .textbook-branch-sub{font-size:13px}
  .textbook-topic-card{grid-template-columns:32px 1fr 22px;padding:14px;gap:10px}
  .textbook-topic-num{width:28px;height:28px;font-size:11px}
  .textbook-topic-title{font-size:16px}
  .textbook-topic-sub{font-size:12.5px}
  body.textbook-mode .content{padding:0 12px}
  .textbook-nav{flex-direction:column-reverse;align-items:stretch}
  .textbook-nav .btn{text-align:center}
}
