/* Профиль публичной главной, AI PROPOSAL. Все цвета и общие роли — tokens.css кабинета. */
* {
  box-sizing:border-box
}
html {
  scroll-padding-top:24px
}
body {
  overflow-wrap:anywhere;
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font:400 .9375rem/1.5 var(--font-text)
}
button,a {
  -webkit-tap-highlight-color:transparent
}
button {
  font:inherit
}
a {
  color:inherit;
  text-decoration-thickness:1px;
  text-underline-offset:4px
}
button {
  cursor:pointer
}
p,h1,h2,h3,dl {
  margin:0
}
p {
  max-width:72ch
}
h1,h2,h3 {
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.025em;
  text-wrap:balance
}
h2 {
  font-size:1.875rem
}
h3 {
  font-size:1.375rem
}
svg {
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round
}
button svg {
  width:20px;
  height:20px;
  flex:none
}
.wrap {
  width:min(1200px,calc(100% - 80px));
  margin-inline:auto
}
.muted,.status {
  color:var(--muted)
}
.status {
  font-size:0.8125rem;
  line-height:1.5
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:var(--target-size);
  padding:12px 20px;
  border:1px solid transparent;
  border-radius:var(--radius-control);
  font-weight:600;
  text-decoration:none;
  line-height:1.5
}
.primary {
  background:var(--accent);
  color:var(--on-accent)
}
.secondary {
  background:var(--paper);
  border-color:var(--control-line);
  color:var(--ink)
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:16px;
  min-height:44px;
  padding:8px 0;
  border:0;
  background:transparent;
  color:var(--ink);
  text-align:left;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-color:var(--control-line);
  line-height:1.5
}
.button,.text-link,nav a,summary,a {
  transition:background-color var(--motion-control) var(--motion-ease),border-color var(--motion-control) var(--motion-ease),color var(--motion-control) var(--motion-ease)
}
:focus-visible {
  outline:var(--focus-width) solid var(--focus);
  outline-offset:var(--focus-offset)
}
main:focus {
  outline:none
}
.skip-link {
  position:fixed;
  top:8px;
  left:16px;
  z-index:5;
  padding:12px 20px;
  background:var(--paper);
  transform:translateY(-160%)
}
.skip-link:focus {
  transform:none
}
.preview-note {
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:0.75rem
}
.preview-note .wrap {
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding-block:8px
}
.site-header {
  background:var(--canvas);
  isolation:isolate
}
.header-inner {
  min-height:100px;
  display:flex;
  align-items:center;
  gap:40px;
  border-bottom:1px solid var(--line)
}
.brand {
  display:inline-flex;
  align-items:center;
  min-height:56px;
  flex:none
}
.brand img {
  display:block;
  width:168px;
  height:auto;
  mix-blend-mode:lighten
}
nav {
  display:flex;
  flex-wrap:wrap;
  gap:28px;
  margin-left:auto
}
nav a {
  display:flex;
  align-items:center;
  min-height:44px;
  text-decoration:none;
  color:var(--muted)
}
.account-entry {
  padding-inline:16px
}
.hero {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  align-items:center;
  gap:64px;
  padding-block:88px 96px
}
.intro {
  font-size:1.125rem;
  margin-bottom:20px;
  color:var(--muted)
}
h1 {
  font-size:clamp(1.875rem,3.7vw,3.25rem);
  line-height:1.12;
  white-space:normal
}
.lead {
  font-size:1.125rem;
  line-height:1.6;
  max-width:48ch;
  margin-top:24px
}
.hero .primary {
  margin-top:32px
}
.hero-caption {
  font-size:0.8125rem;
  color:var(--muted);
  margin-top:16px
}
.question-field {
  padding:28px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper)
}
.field-heading {
  color:var(--muted);
  margin-bottom:20px
}
.question-row {
  position:relative;
  display:grid;
  grid-template-columns:28px 1fr;
  gap:0 12px;
  padding-block:18px;
  border-top:1px solid var(--line)
}
.question-row p {
  font-size:1.1875rem;
  font-weight:600;
  line-height:1.4
}
.question-bullet {
  width:6px;
  height:6px;
  margin-top:calc((1.1875rem * 1.4 - 6px) / 2);
  justify-self:center;
  border-radius:50%;
  background:var(--accent)
}
.field-detail {
  font-size:0.8125rem;
  color:var(--muted);
  margin-top:4px
}
.field-note {
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:0.8125rem
}
.section {
  padding-block:64px;
  border-top:1px solid var(--line)
}
.section-context {
  color:var(--muted);
  font-size:0.8125rem;
  margin-bottom:12px
}
.section-heading {
  margin-bottom:32px
}
.instrument-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:80px
}
.instrument-copy h3 {
  max-width:25ch
}
.instrument-copy p {
  margin-top:20px;
  max-width:58ch
}
.instrument-copy .text-link {
  margin-top:16px
}
.instrument-facts {
  padding:28px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius)
}
dl {
  margin-block:20px
}
dl>div {
  padding-block:16px;
  display:grid;
  grid-template-columns:1fr 1.2fr;
  gap:20px;
  border-top:1px solid var(--line)
}
dt {
  font-size:1.125rem;
  font-weight:600
}
dd {
  margin:0;
  color:var(--muted)
}
.instrument-facts>p:last-child {
  font-size:0.8125rem
}
.material-section {
  display:flex;
  align-items:center;
  gap:32px;
  padding:32px;
  margin-block:0 64px;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:var(--radius)
}
.material-symbol {
  align-self:flex-start;
  flex:none;
  padding-top:8px;
  color:var(--muted)
}
.material-symbol svg {
  width:40px;
  height:48px
}
.material-copy {
  flex:1
}
.material-copy h2 {
  font-size:1.625rem
}
.material-copy>p:not(.section-context) {
  margin-top:12px
}
.material-section .button {
  flex:none
}
.heading-split {
  display:flex;
  justify-content:space-between;
  gap:48px;
  align-items:flex-end
}
.heading-split>p {
  max-width:40ch
}
.direction-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:26px
}
.direction-group {
  padding:26px;
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:var(--paper);
  min-width:0
}
.direction-group>p {
  margin-top:12px;
  color:var(--muted);
  font-size:0.8125rem
}
.direction-items {
  margin-top:20px
}
.direction-item {
  border-top:1px solid var(--line)
}
summary {
  cursor:pointer;
  list-style:none;
  display:grid;
  grid-template-columns:1fr 20px;
  column-gap:16px;
  align-items:center;
  min-height:60px;
  padding:12px 8px;
  border-radius:var(--radius-control)
}
summary::-webkit-details-marker {
  display:none
}
summary .item-title {
  font-weight:600
}
summary .status {
  display:block;
  margin-top:2px
}
summary svg {
  width:20px;
  height:20px;
  grid-column:2;
  grid-row:1;
  align-self:center
}
details[open]>summary {
  background:var(--selected);
  border-left:2px solid var(--accent);
  padding-left:6px
}
details[open]>summary svg {
  transform:rotate(180deg)
}
.item-content {
  padding:16px 8px 20px
}
.item-content p {
  color:var(--muted)
}
.item-content ul {
  padding-left:20px;
  margin:12px 0 0;
  color:var(--muted)
}
.item-content .text-link {
  margin-top:8px
}
.book-section {
  display:grid;
  grid-template-columns:1fr 1.25fr;
  gap:80px;
  padding-block:64px;
  border-top:1px solid var(--line)
}
.book-intro>p:not(.section-context) {
  margin-top:20px
}
.book-parts article+article {
  margin-top:26px;
  padding-top:26px;
  border-top:1px solid var(--line)
}
.book-parts p {
  color:var(--muted);
  margin-top:12px
}
.book-parts .text-link {
  margin-top:8px
}
.site-footer {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  padding-block:32px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:0.8125rem
}
.site-footer strong {
  color:var(--ink);
  font-size:1.125rem
}
.site-footer p {
  margin-top:8px
}
.footer-links {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:12px 24px
}
.footer-links>a {
  display:inline-flex;
  align-items:center;
  min-height:44px
}
.footer-links button {
  color:var(--muted)
}
.proposal-note {
  grid-column:1/-1;
  max-width:100ch
}
dialog {
  width:min(640px,calc(100% - 40px));
  max-height:calc(100dvh - 40px);
  overflow:auto;
  padding:28px;
  color:var(--ink);
  background:var(--paper);
  border:1px solid var(--control-line);
  border-radius:var(--radius-dialog);
  box-shadow:0 20px 80px var(--dialog-shadow);
  font-size:1rem;
  line-height:1.5
}
dialog[open] {
  animation:dialog-in var(--motion-dialog) var(--motion-ease)
}
dialog::backdrop {
  background:var(--backdrop)
}
.dialog-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px
}
.dialog-top .status {
  max-width:25ch
}
dialog h2 {
  font-size:1.625rem
}
#dialog-content p,#dialog-content ol,#dialog-content .button {
  margin-top:20px
}
#dialog-content ol {
  padding-left:24px
}
#dialog-content li+li {
  margin-top:12px
}
.dialog-return {
  margin-top:28px
}
body:has(dialog[open]) {
  overflow:hidden
}
@keyframes dialog-in {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}
@media(hover:hover) {
  .primary:hover {
    background:var(--accent-hover)
  }
  .secondary:hover {
    background:var(--surface-hover)
  }
  nav a:hover,.text-link:hover {
    color:var(--ink);
    background:var(--surface-hover)
  }
  summary:hover {
    background:var(--surface-hover)
  }
  details[open]>summary:hover {
    background:var(--selected)
  }
}
.primary:active {
  background:var(--accent-active)
}
.secondary:active {
  background:var(--selected)
}
@media(max-width:1100px) {
  .wrap {
    width:calc(100% - 48px)
  }
  .header-inner {
    gap:24px
  }
  nav {
    gap:20px
  }
  .hero {
    gap:32px;
    padding-block:64px
  }
  .hero h1 {
    font-size:clamp(1.875rem,3.55vw,2.75rem)
  }
  .instrument-layout,.book-section {
    gap:40px
  }
  .question-field {
    padding:24px
  }
}
@media(max-width:800px) {
  .header-inner {
    flex-wrap:wrap;
    justify-content:space-between;
    gap:0;
    padding-block:12px
  }
  .header-inner nav {
    order:3;
    width:100%;
    justify-content:space-between;
    margin-top:8px;
    margin-left:0
  }
  .hero {
    grid-template-columns:1fr;
    gap:40px
  }
  .hero h1 {
    font-size:clamp(1.75rem,5.5vw,2.75rem)
  }
  .hero-copy {
    max-width:640px
  }
  .question-field {
    max-width:640px;
    width:100%
  }
  .instrument-layout,.book-section {
    grid-template-columns:1fr;
    gap:32px
  }
  .heading-split {
    display:block
  }
  .heading-split>p {
    margin-top:20px
  }
  .material-section {
    flex-wrap:wrap
  }
  .material-section .button {
    margin-left:72px
  }
  .direction-grid {
    grid-template-columns:1fr
  }
  .site-footer {
    grid-template-columns:1fr
  }
  .footer-links {
    justify-content:flex-start
  }
}
@media(max-width:560px) {
  body {
    font-size:1rem;
    line-height:1.5
  }
  .wrap {
    width:calc(100% - 48px)
  }
  .preview-note .wrap {
    display:block
  }
  .preview-note {
    font-size:0.75rem
  }
  .preview-note a {
    display:inline-flex;
    min-height:44px;
    align-items:center
  }
  .header-inner {
    min-height:0
  }
  .brand img {
    width:144px
  }
  .account-entry {
    padding-inline:12px;
    font-size:1rem;
    gap:8px
  }
  nav a {
    font-size:1rem
  }
  nav {
    gap:12px
  }
  .hero {
    padding-block:40px 48px;
    gap:32px
  }
  .intro {
    font-size:1rem;
    margin-bottom:16px
  }
  .hero h1 {
    font-size:clamp(1.5rem,7.2vw,2.25rem);
    letter-spacing:-.035em
  }
  .lead {
    font-size:1rem;
    line-height:1.5;
    margin-top:20px
  }
  .hero .primary {
    width:100%;
    padding-inline:12px;
    margin-top:24px
  }
  .hero-caption,.field-detail,.field-note,.field-heading,.section-context,.status,.instrument-facts>p:last-child,.direction-group>p {
    font-size:1rem
  }
  .hero-caption br {
    display:none
  }
  .question-field {
    padding:20px
  }
  .question-row {
    grid-template-columns:20px 1fr;
    padding-block:16px
  }
  .question-row p {
    font-size:1.1875rem
  }
  .section {
    padding-block:40px
  }
  h2 {
    font-size:1.625rem
  }
  h3 {
    font-size:1.375rem
  }
  .section-heading {
    margin-bottom:26px
  }
  .instrument-facts {
    padding:20px
  }
  dl>div {
    display:block
  }
  dd {
    margin-top:8px
  }
  .material-section {
    display:block;
    padding:24px;
    margin-bottom:40px
  }
  .material-symbol {
    display:none
  }
  .material-copy h2 {
    font-size:1.625rem
  }
  .material-section .button {
    margin:24px 0 0
  }
  .direction-group {
    padding:20px
  }
  .direction-grid {
    gap:20px
  }
  summary {
    padding-inline:4px
  }
  .item-content {
    padding-inline:4px
  }
  .book-section {
    padding-block:40px
  }
  .book-intro h2 br {
    display:none
  }
  .site-footer {
    font-size:1rem;
    gap:20px
  }
  .footer-links {
    display:grid;
    justify-content:start;
    gap:4px
  }
  .proposal-note {
    font-size:1rem
  }
  dialog {
    padding:20px
  }
  .dialog-top {
    align-items:flex-start;
    gap:12px
  }
  .dialog-top .status {
    font-size:1rem
  }
  .close-button {
    padding-inline:12px
  }
  dialog h2 {
    font-size:1.625rem
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important
  }
}
/* Компактный обзор: детали направлений доступны по раскрытию группы. */
.direction-group {
  padding:0;
  align-self:start
}
.group-summary {
  padding:26px;
  align-items:start;
  min-height:236px
}
.group-title {
  display:block;
  font-size:1.375rem;
  font-weight:600;
  line-height:1.2;
  letter-spacing:-.025em
}
.group-intro {
  display:block;
  color:var(--muted);
  margin-top:12px;
  font-size:0.9375rem
}
.group-summary .status {
  margin-top:12px
}
.group-count {
  display:block;
  margin-top:20px;
  text-decoration:underline;
  text-underline-offset:4px;
  font-size:0.8125rem
}
.group-summary svg {
  margin-top:4px
}
.direction-group>.direction-items {
  padding:0 26px 20px;
  margin:0
}
.direction-group[open]>.group-summary {
  border-left:0;
  padding-left:26px;
  border-bottom:1px solid var(--line)
}
.collapse-label {
  display:none
}
.direction-group[open]>.group-summary .expand-label {
  display:none
}
.direction-group[open]>.group-summary .collapse-label {
  display:inline
}
.group-summary:focus-visible {
  outline-offset:-4px
}
@media(max-width:560px) {
  .group-summary {
    padding:20px;
    min-height:0
  }
  .group-intro,.group-count {
    font-size:1rem
  }
  .direction-group>.direction-items {
    padding:0 20px 20px
  }
  .direction-group[open]>.group-summary {
    padding-left:20px
  }
}
.hero-copy,.instrument-copy,.instrument-facts,.book-intro,.book-parts,.material-copy {
  min-width:0
}
/* Согласованная смысловая редакция: раскрытие подробностей в прежней композиции. */
[hidden] {
  display:none!important
}
.field-heading {
  font-size:1.375rem;
  line-height:1.4;
  color:var(--ink)
}
.section-description {
  margin-top:20px
}
.instrument-copy>.instrument-scope {
  margin-top:0
}
.tool-list {
  margin-top:20px
}
.tool,.self-question,.learning-topic {
  border-top:1px solid var(--line)
}
.tool-list .item-content p {
  margin-top:0
}
.instrument-facts {
  align-self:start
}
.instrument-facts>.status {
  margin-top:12px
}
.self-questions {
  margin-top:32px;
  max-width:72ch
}
.item-content p+p,.learning-topic {
  margin-top:16px
}
.self-question>summary,.learning-topic>summary {
  font-weight:600
}
.group-subtitle {
  display:block;
  margin-top:12px;
  font-weight:600
}
.path-questions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px;
  margin-top:16px;
  font-size:1.375rem;
  font-weight:600
}
.question-dot {
  font-size:1rem;
  line-height:1;
  color:var(--muted)
}
@media(max-width:560px) {
  .path-questions {
    column-gap:8px
  }
}
