:root { --fs: 16px; }
* { box-sizing: border-box; }
body {
  margin: 0; background: #f4ead4; color: #2c1f12;
  font-family: "Cochin", "Hoefler Text", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: var(--fs); line-height: 1.55;
}
a { color: #7d1f10; text-decoration: none; }
a:hover { text-decoration: underline; }

.topbar {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 20px; border-bottom: 1px solid #c9b888; background: #f0e3c6;
}
.brand { font-size: 1.4em; color: #a82a18; }
.tagline { color: #5a4633; font-style: italic; font-size: .85em; }
.langswitch { margin-left: auto; display: flex; gap: 4px; }
.langswitch button {
  border: 1px solid #c9b888; background: #faf3df; color: #7d1f10;
  padding: 3px 9px; cursor: pointer; border-radius: 3px; font-family: inherit; font-size: .85em;
}
.langswitch button.on { background: #a82a18; color: #fdf6e3; border-color: #a82a18; }
.fontscale { margin-left: 10px; display: flex; gap: 4px; }
.fontscale button {
  border: 1px solid #c9b888; background: #faf3df; color: #7d1f10;
  padding: 3px 10px; cursor: pointer; border-radius: 3px; font-family: inherit;
}
main { max-width: 920px; margin: 0 auto; padding: 22px 18px 60px; }
.foot { text-align: center; color: #8b7656; font-size: .8em; padding: 18px; font-style: italic; }

.card {
  background: #faf3df; border: 1px solid #c9b888; border-radius: 6px;
  padding: 18px 22px; margin: 14px 0;
}
h1 { color: #7d1f10; font-weight: normal; }
h2 { color: #7d1f10; font-weight: normal; margin: .2em 0; }
h3 { color: #7d1f10; font-weight: normal; }
.section {
  color: #7d1f10; border-bottom: 1px solid #c9b888;
  padding-bottom: 4px; margin: 22px 0 6px; font-size: 1.15em;
}
.muted { color: #5a4633; font-size: .92em; }
.muted-green { color: #3a5a3a; }
.accent { color: #7d1f10; }
.error { color: #a82a18; font-style: italic; }

/* Форма */
.form-card label { display: block; margin: 12px 0 4px; color: #5a4633; }
.form-card input, .form-card select {
  width: 100%; padding: 8px 10px; border: 1px solid #c9b888;
  background: #fff; border-radius: 3px; font-family: inherit; font-size: 1em; color: #2c1f12;
}
.form-card .row { display: flex; gap: 14px; }
.form-card .row label { flex: 1; }
.advanced { margin: 14px 0; }
.advanced summary { cursor: pointer; color: #8b7656; font-style: italic; }
.meta-line { min-height: 1.2em; margin-top: 4px; }
button.primary {
  margin-top: 18px; width: 100%; padding: 12px; cursor: pointer;
  background: #a82a18; color: #fdf6e3; border: none; border-radius: 4px;
  font-family: inherit; font-size: 1.05em; letter-spacing: 1px;
}
button.primary:disabled { background: #c9b888; cursor: not-allowed; }

/* Автодополнение */
.suggest {
  position: relative; border: 1px solid #c9b888; border-top: none;
  background: #fff; max-height: 240px; overflow-y: auto; display: none; border-radius: 0 0 3px 3px;
}
.suggest.open { display: block; }
.suggest div { padding: 7px 10px; cursor: pointer; }
.suggest div:hover, .suggest div.active { background: #f0e3c6; }

/* Вкладки */
.subject {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
  padding: 6px 0 12px; color: #7d1f10; font-style: italic; border-bottom: 1px solid #c9b888;
}
.subject .back { font-style: normal; }
.tabs { display: flex; gap: 4px; flex-wrap: wrap; margin: 14px 0; }
.tab {
  border: 1px solid #c9b888; background: #f0e3c6; color: #7d1f10;
  padding: 8px 16px; cursor: pointer; border-radius: 4px 4px 0 0; font-family: inherit; font-size: 1em;
}
.tab.active { background: #faf3df; border-bottom-color: #faf3df; font-weight: bold; }
.panel { display: none; }
.panel.active { display: block; }
.hero { text-align: center; padding: 14px; }
.ovgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ovgrid .card { margin: 0; }
.ovgrid .meta { color: #8b7656; font-style: italic; font-size: .75em; letter-spacing: 2px; }
.ovgrid .big { color: #7d1f10; font-style: italic; font-size: 1.3em; margin: 4px 0; }
@media (max-width: 640px) { .ovgrid { grid-template-columns: 1fr; } }
.chakras { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 14px; }
.chakra-card { text-align: center; margin: 0; }
svg.chakra { width: 100%; max-width: 520px; height: auto; }

/* Таблицы */
table.grid { width: 100%; border-collapse: collapse; font-size: .9em; }
table.grid th, table.grid td { border: 1px solid #e0d3ac; padding: 5px 8px; text-align: left; }
table.grid th { background: #f0e3c6; color: #5a4633; font-weight: normal; }

/* Вопросы / детали */
.qitem summary { cursor: pointer; color: #7d1f10; font-size: 1.05em; }
.qbody { margin-top: 8px; }
details.more { margin-top: 8px; }
details.more summary { cursor: pointer; color: #8b7656; font-style: italic; font-size: .9em; }
.card ul { margin: 6px 0; padding-left: 22px; }

/* AI */
textarea.prompt {
  width: 100%; background: #fbf6e8; border: 1px solid #c9b888; border-radius: 4px;
  padding: 10px; font-family: "Menlo", "Monaco", monospace; font-size: .8em; color: #2c1f12;
}
.btnrow { display: flex; gap: 10px; flex-wrap: wrap; margin: 8px 0; }
.btnrow button {
  border: 1px solid #c9b888; background: #faf3df; color: #7d1f10;
  padding: 8px 16px; cursor: pointer; border-radius: 4px; font-family: inherit; font-size: .95em;
}
.btnrow button:hover { background: #f0e3c6; }
