/* Документация: /docs/plans/2026-09-08-public-home-media-center-plan.md */
.public-site {
  --public-ink: var(--color-text);
  --public-blue: var(--color-primary);
  --public-muted: var(--color-text-secondary);
  margin: 0;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  background: #fff;
  color: var(--public-ink);
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}
.public-site *, .public-site *::before, .public-site *::after { box-sizing: border-box; }
.public-site a { text-decoration: none; }
.public-site :is(a, button, summary):focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.public-site :is(h1, h2, h3, p, ol, ul, figure):not(:where(.public-product-native *)) { margin: 0; }
.public-site :is(h1, h2, h3):not(:where(.public-product-native *)) { line-height: 1.15; letter-spacing: -.035em; font-weight: 650; }
.public-site h2:not(:where(.public-product-native *)) { font-size: clamp(28px, 3vw, 40px); }
.public-site h3:not(:where(.public-product-native *)) { font-size: 23px; }
.public-main { flex: 1; min-width: 0; }
.public-container { width: min(var(--public-width), calc(100% - 80px)); max-width: var(--public-width); margin-inline: auto; }
.public-skip { position: absolute; left: 20px; top: -100px; z-index: 100; padding: 12px; background: #fff; color: #1d4ed8; }
.public-skip:focus { top: 12px; }
.public-header { border-bottom: 1px solid #e2e8f0; background: #fff; }
.public-header__inner { display: flex; align-items: center; justify-content: space-between; min-height: 86px; gap: 24px; }
.public-brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: 24px; font-weight: 750; letter-spacing: -.045em; color: var(--public-ink); }
.public-nav { display: flex; gap: 24px; align-items: center; font-size: 15px; font-weight: 550; }
.public-nav__link { color: var(--public-muted); display: inline-flex; align-items: center; min-height: 44px; }
.public-nav__link:hover, .public-nav__link[aria-current=page] { color: var(--public-blue); }
.ropika-theme .public-button--small { min-height: 44px; padding: 10px 24px; }
.public-button--full { width: 100%; margin-top: 24px; }
.public-text-link { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; color: #1d4ed8; font-size: 15px; font-weight: 600; }
.public-text-link:hover { text-decoration: underline; text-underline-offset: 5px; }
.public-eyebrow { color: #1d4ed8; font-size: 12px; letter-spacing: .1em; font-weight: 650; text-transform: uppercase; }
.public-hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1fr); align-items: center; gap: 48px; padding-block: 48px; }
.public-hero__copy { min-width: 0; }
.public-hero h1 { margin-block: 24px; font-size: clamp(38px, 4vw, 56px); line-height: 1.08; letter-spacing: -.045em; }
.public-hero h1 span { color: var(--public-blue); }
.public-lead { color: var(--public-muted); font-size: clamp(18px, 2vw, 22px); line-height: 1.6; max-width: 760px; }
.public-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 32px; }
.public-hero .public-hero__note { margin-top: 28px; color: #64748b; font-size: 13px; }
.public-how { background: #f8fafc; border-block: 1px solid #e2e8f0; padding-block: 64px; scroll-margin-top: 24px; }
.public-section { padding-block: 64px; }
.public-section-heading { margin-bottom: 32px; }
.public-section-heading .public-eyebrow { margin-bottom: 14px; }
.public-section-heading--row { display: flex; align-items: end; justify-content: space-between; gap: 24px; }
.public-steps { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; }
.public-step-number { display: block; color: var(--public-blue); font-size: 13px; font-weight: 650; margin-bottom: 20px; }
.public-steps h3 { margin-bottom: 12px; }
.public-steps p { color: var(--public-muted); font-size: 16px; }
/* Исходный снимок содержит пустые поля; отображаем только его реальную карточку. */
.public-call-preview { min-width: 0; max-width: 100%; border: 1px solid #cbd5e1; border-radius: 12px; overflow: hidden; background: #fff; }
.public-call-preview__caption { display: grid; gap: 4px; padding: 18px 20px; border-bottom: 1px solid #dbe3ee; }
.public-call-preview__caption strong { font-size: 16px; color: var(--public-ink); }
.public-call-preview__caption span { font-size: 12px; line-height: 1.5; color: #475569; }
.public-call-preview__image-link { display: block; }
.public-call-preview__crop { position: relative; display: block; width: 100%; aspect-ratio: 1030 / 715; overflow: hidden; background: #f8fafc; }
.public-call-preview__crop img { position: absolute; top: 0; left: 0; display: block; width: 277.864%; max-width: none; height: auto; }
.public-call-preview__actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 16px; padding: 10px 20px; border-top: 1px solid #dbe3ee; }
.public-call-preview__actions a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: #1d4ed8; text-decoration: underline; text-underline-offset: 4px; }
.public-call-preview__dialog { inset: 12px; width: min(1100px, calc(100% - 24px)); max-width: none; height: calc(100dvh - 24px); max-height: none; margin: auto; padding: 0; border: 1px solid #cbd5e1; border-radius: 14px; background: #fff; color: #172744; }
.public-call-preview__dialog[open] { display: flex; flex-direction: column; }
.public-call-preview__dialog::backdrop { background: rgb(15 23 42 / .65); }
.public-call-preview__toolbar { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 12px 18px; border-bottom: 1px solid #dbe3ee; }
.public-call-preview__toolbar button { flex-shrink: 0; min-height: 44px; color: #1d4ed8; white-space: nowrap; }
.public-call-preview__dialog > p { margin: 0; padding: 8px 18px; color: #52647a; font-size: 12px; }
.public-call-preview__stage { flex: 1; min-height: 0; overflow: auto; padding: 12px; }
.public-call-preview__crop--full { width: 1030px; }
html:has(.public-call-preview__dialog[open]) { overflow: hidden; }
.public-home-editorial { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 32px; padding-block: 24px; border-top: 1px solid #dbe3ee; }
.public-home-editorial p { max-width: 690px; color: #475569; }
.public-home-editorial a { flex-shrink: 0; }
.public-articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
.public-articles--pair, .public-articles--featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.public-article-card { position: relative; min-width: 0; overflow: hidden; border: 1px solid #dfe6ef; border-radius: var(--radius-card); display: flex; flex-direction: column; background: #fff; box-shadow: 0 8px 24px -18px #1e3a8a40; }
.public-article-card:hover { border-color: #8faee5; box-shadow: 0 14px 35px -22px #1e3a8a70; }
.public-article-card__image { position: relative; display: grid; grid-template-areas: "cover"; min-height: 310px; overflow: hidden; background: #122a54; }
.public-article-card__image img { grid-area: cover; position: absolute; inset: 0; display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; }
.public-article-card__headline { grid-area: cover; align-self: stretch; display: flex; flex-direction: column; justify-content: end; padding: 28px; background: linear-gradient(180deg, #102a4310 0%, #0c244d9e 35%, #0b224bf5 100%); z-index: 1; }
.public-article-card__headline .public-eyebrow { color: #d7e6ff; }
.public-article-card__body { padding: 28px; display: flex; flex-direction: column; flex: 1; }
.public-article-card h3 { color: #fff; overflow-wrap: anywhere; margin-top: 14px; font-size: 26px; line-height: 1.22; text-wrap: balance; }
.public-article-card__description { font-size: 16px; color: var(--public-muted); }
.public-article-card__meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 30px; font-size: 13px; color: #64748b; }
.public-article-card__read { display: flex; align-items: center; gap: 10px; color: #1d4ed8; font-weight: 650; }
.public-article-card__read span { font-size: 23px; line-height: 1; }
.public-articles--featured .public-article-card:first-child { grid-column: 1 / -1; }
.public-articles--featured .public-article-card:first-child .public-article-card__image { min-height: 390px; }
.public-articles--featured .public-article-card:first-child .public-article-card__headline { padding: 40px; }
.public-articles--featured .public-article-card:first-child .public-article-card__body { padding: 24px 40px; flex-direction: row; align-items: center; gap: 40px; }
.public-articles--featured .public-article-card:first-child .public-article-card__description { flex: 1; }
.public-articles--featured .public-article-card:first-child .public-article-card__meta { min-width: 260px; margin: 0; padding: 0; }
.public-articles--featured .public-article-card:first-child h3 { max-width: 800px; font-size: clamp(28px, 3vw, 38px); }
.public-empty { padding: 32px; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 12px; }
.public-empty p { max-width: 620px; margin-top: 12px; color: var(--public-muted); }
.public-media-hero { padding-block: 56px 66px; color: #fff; background: radial-gradient(ellipse at 90% 80%, #3273e5 0, transparent 65%), #1747bc; }
.public-media-hero .public-eyebrow { color: #c3d9ff; margin-bottom: 24px; }
.public-media-hero__grid { display: grid; grid-template-columns: 1.25fr 1fr; gap: 56px; align-items: end; }
.public-media-hero h1 { font-size: clamp(52px, 6vw, 78px); line-height: 1.04; letter-spacing: -.055em; }
.public-media-hero h1 span { color: #bcd9ff; }
.public-media-hero__grid > p { font-size: 20px; color: #deebff; line-height: 1.7; padding-bottom: 6px; max-width: 450px; }
.public-media-hero strong { display: block; margin-top: 18px; color: #fff; font-weight: 550; }
.public-media-feed__heading { margin-bottom: 28px; }
.public-media-feed__heading h2 { font-size: 24px; margin-bottom: 22px; }
.public-categories { display: flex; flex-wrap: wrap; gap: 8px; }
.public-category { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; border: 1px solid #cbd5e1; border-radius: 24px; color: var(--public-muted); font-size: 14px; }
.public-category[aria-current=page] { background: #2563eb; border-color: #2563eb; color: #fff; }
.public-breadcrumbs { display: flex; gap: 12px; align-items: center; margin-bottom: 28px; font-size: 14px; color: #64748b; }
.public-breadcrumbs a { min-height: 44px; display: inline-flex; align-items: center; color: var(--public-muted); }
.public-article-page { padding-top: 28px; }
.public-article-hero { margin-bottom: 40px; }
.public-article-hero__visual { position: relative; display: grid; grid-template-areas: "cover"; overflow: hidden; border-radius: var(--radius-card); background: #102b60; }
.public-article-hero__cover { grid-area: cover; display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.public-article-hero__copy { grid-area: cover; position: relative; min-width: 0; padding: 54px 48px; min-height: 370px; display: flex; flex-direction: column; justify-content: center; background: linear-gradient(90deg, #0d285cf5 0%, #0d285cea 40%, #0d285c9c 67%, #0d285c0d 100%); }
.public-article-hero__copy .public-eyebrow { color: #c4dcff; }
.public-article-hero h1 { color: #fff; max-width: 800px; overflow-wrap: anywhere; font-size: clamp(34px, 4vw, 50px); line-height: 1.12; margin-top: 22px; text-wrap: balance; }
.public-article-hero .public-lead { font-size: 19px; max-width: 880px; margin-top: 22px; }
.public-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; padding-block: 12px; border-bottom: 1px solid #e2e8f0; font-size: 13px; color: #64748b; }
.public-author-link { display: inline-flex; align-items: center; min-height: 44px; color: #1d4ed8; font-weight: 600; }
.public-reader-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; margin-top: 16px; }
.public-reader-actions > :is(a, button) { display: inline-flex; align-items: center; min-height: 44px; color: #1d4ed8; font-size: 15px; font-weight: 600; }
.public-reader-actions > button:not(.public-button) { border: 0; padding: 0; background: transparent; cursor: pointer; }
.public-reader-actions > .public-button { color: #fff; }
.public-reader-actions a:hover, .public-reader-actions button:not(.public-button):hover { text-decoration: underline; text-underline-offset: 4px; }
.public-article-content, .public-worksheet { scroll-margin-top: 24px; }
.public-takeaways { margin-bottom: 30px; padding: 24px 28px; border-left: 3px solid #2563eb; background: #f1f5fb; }
.public-takeaways h2 { font-size: 19px; line-height: 1.4; margin-bottom: 12px; }
.public-takeaways ul { padding-left: 20px; list-style: disc; color: #334155; }
.public-takeaways li + li { margin-top: 10px; }
.public-prose .public-call-preview { margin-block: 20px 24px; }
.public-worksheet { margin-block: 40px; padding: 28px; border: 1px solid #cbd5e1; border-radius: 12px; background: #f8fafc; }
.public-worksheet h2 { font-size: 27px; margin-block: 14px; line-height: 1.2; }
.public-worksheet > p:not(.public-eyebrow) { color: #475569; }
.public-worksheet details { margin-top: 18px; }
.public-worksheet summary, .public-share summary { min-height: 44px; padding-block: 10px; cursor: pointer; color: #334155; font-size: 14px; }
.public-worksheet textarea, .public-share input { display: block; box-sizing: border-box; width: 100%; padding: 16px; border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #0f172a; font: inherit; font-size: 15px; line-height: 1.7; }
.public-worksheet textarea { resize: vertical; min-height: 200px; }
.public-copy-status { font-size: 14px; color: #334155; margin-top: 10px !important; }
.public-copy-status:empty { display: none; }
.public-share { border-top: 1px solid #cbd5e1; padding-block: 24px; }
.public-share__label { font-size: 18px; font-weight: 650; }
.public-share .public-reader-actions { margin-top: 8px; }
.public-experts { margin-top: 48px; padding-block: 32px; border-top: 1px solid #cbd5e1; }
.public-experts > h2 { font-size: 26px; margin-bottom: 24px; }
.public-experts__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.public-expert { display: flex; align-items: start; gap: 16px; min-width: 0; scroll-margin-top: 24px; }
.public-expert__initials { flex: 0 0 52px; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #e8efff; color: #1747bc; font-size: 19px; font-weight: 650; }
.public-expert h3 { font-size: 21px; line-height: 1.4; }
.public-expert h3 a { color: #0f172a; }
.public-expert h3 a:hover { text-decoration: underline; }
.public-expert p { font-size: 15px; line-height: 1.65; color: #475569; margin-top: 6px; }
.public-page-title { font-size: clamp(34px, 4vw, 50px); margin-block: 22px !important; }
.public-template-list { margin-top: 40px; }
.public-template-row { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 28px; border-top: 1px solid #cbd5e1; }
.public-template-row h2 { font-size: 24px; line-height: 1.3; margin-top: 10px; }
.public-template-row .public-reader-actions { flex-shrink: 0; margin: 0; }
.public-editorial-page { max-width: 960px; }
.public-connect__steps { list-style: decimal; margin-block: 28px !important; padding-left: 22px; color: #334155; }
.public-connect__steps li + li { margin-top: 12px; }
.public-connect__note, .public-connect__email { font-size: 14px; color: #64748b; }
.public-connect__email { margin-top: 24px !important; }
.public-connect__email a { color: #1d4ed8; text-decoration: underline; }
.public-connect .demo-request-form-actions { grid-template-columns: minmax(0, 1fr); }
.public-connect [data-demo-request-slider-target=submit] { width: 100%; min-width: 0; white-space: normal; }
.public-connect [data-demo-request-slider-target=status] { padding-inline: 48px; font-size: 13px; line-height: 1.4; }
.public-reading-layout { display: grid; grid-template-columns: 260px minmax(0, 760px); justify-content: space-between; column-gap: 48px; }
.public-article-introduction { grid-column: 2; grid-row: 1; min-width: 0; }
.public-reading-sidebar { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
.public-reading-body { grid-column: 2; grid-row: 2; min-width: 0; }
#article-contents { scroll-margin-top: 24px; }
.public-toc { padding: 20px; margin-bottom: 20px; border: 1px solid #dae3ef; border-radius: 14px; background: #f4f7fc; }
.public-toc .public-toc__title { font-size: 15px; font-weight: 650; line-height: 1.4; margin-bottom: 16px; letter-spacing: -.015em; }
.public-toc a { display: block; color: #334e80; font-size: 14px; line-height: 1.5; padding-block: 10px; min-height: 44px; }
.public-toc a:hover { color: #1d4ed8; text-decoration: underline; }
.public-prose { font-size: 18px; line-height: 1.85; color: #334155; overflow-wrap: break-word; }
.public-prose h2 { font-size: 31px; margin-block: 48px 20px; color: var(--public-ink); scroll-margin-top: 24px; }
.public-prose h3 { margin-block: 28px 16px; font-size: 22px; color: var(--public-ink); }
.public-prose p { margin-bottom: 22px; }
.public-prose ol, .public-prose ul { padding-left: 25px; margin-block: 20px; }
.public-prose ol { list-style: decimal; }
.public-prose ul { list-style: disc; }
.public-prose li { padding-left: 5px; margin-bottom: 12px; }
.public-prose a { color: #1d4ed8; text-decoration: underline; text-underline-offset: 4px; }
.public-prose blockquote { margin: 28px 0; border-left: 3px solid #2563eb; background: #eff6ff; padding: 24px 28px; border-radius: 0 12px 12px 0; }
.public-prose blockquote p:last-child { margin: 0; }
.public-prose table { width: 100%; border-collapse: collapse; font-size: 16px; line-height: 1.65; margin-block: 24px; }
.public-prose th, .public-prose td { border: 1px solid #d3ddea; text-align: left; vertical-align: top; padding: 16px; }
.public-prose th { background: #edf3fd; color: #173e80; }
.public-prose .editorial-table-scroll { max-width: 100%; margin-block: 24px; overflow-x: auto; overscroll-behavior-x: contain; }
.public-prose .editorial-table-scroll table { min-width: 580px; margin: 0; }
.public-prose .editorial-table-scroll .editorial-table--two { min-width: 460px; }
.editorial-table-scroll:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.public-prose .editorial-table-hint { display: none; }
.public-prose .editorial-lead { font-size: 23px; line-height: 1.65; color: #182a46; }
.public-prose .editorial-label { display: block; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: #46628e; font-weight: 700; margin-bottom: 14px; }
.public-prose .editorial-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-block: 28px; }
.public-prose .editorial-compare > div { padding: 24px; background: #f5f6f8; border-radius: 14px; }
.public-prose .editorial-compare > div:last-child { background: #eaf2ff; }
.public-prose .editorial-compare p { font-size: 16px; margin-block: 12px 0; }
.public-prose .editorial-compare strong { color: #173e80; font-size: 19px; }
.public-prose .editorial-dialogue { padding: 0; border: 1px solid #d6e0eb; border-radius: 18px; margin-block: 32px; background: #eaf0f6; overflow: hidden; }
.editorial-dialogue__title { padding: 14px 18px; border-bottom: 1px solid #d6e0eb; background: #f8fafc; color: #344e70; font-size: 13px; font-weight: 650; line-height: 1.5; }
.public-prose .editorial-dialogue__turns { display: grid; gap: 12px; padding: 20px; margin: 0; list-style: none; }
.public-prose .editorial-dialogue__turn { display: flex; align-items: flex-end; gap: 9px; padding: 0 24px 0 0; margin: 0; }
.editorial-dialogue__avatar { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid #cbd8e6; border-radius: 50%; background: #fff; color: #49607e; }
.editorial-dialogue__icon { display: block; width: 18px; height: 18px; }
.editorial-dialogue__message { min-width: 0; max-width: min(560px, calc(100% - 41px)); padding: 10px 13px 12px; border: 1px solid #e0e6ee; border-radius: 15px 15px 15px 3px; background: #fff; box-shadow: 0 1px 1px rgb(15 23 42 / 6%); }
.editorial-dialogue__role { display: block; margin: 0 0 4px; color: #496486; font-size: 12px; line-height: 1.4; font-weight: 650; }
.public-prose .editorial-dialogue__message p { padding: 0; margin: 0; font-size: 16px; line-height: 1.6; color: #233853; }
.public-prose .editorial-dialogue__turn--manager { flex-direction: row-reverse; padding: 0 0 0 24px; }
.editorial-dialogue__turn--manager .editorial-dialogue__avatar { background: #2563eb; border-color: #2563eb; color: #fff; }
.editorial-dialogue__turn--manager .editorial-dialogue__message { border-color: #cbdcf4; border-radius: 15px 15px 3px 15px; background: #e0ecff; }
.editorial-dialogue__turn--manager .editorial-dialogue__role { color: #1e50a5; }
.editorial-dialogue__turn--leader .editorial-dialogue__avatar { background: #233853; color: #fff; border-color: #233853; }
.public-prose .editorial-dialogue-comparison { margin-block: 32px; }
.editorial-dialogue-comparison__title { margin-bottom: 14px; color: #334155; font-size: 15px; font-weight: 650; line-height: 1.5; }
.editorial-dialogue-comparison__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.public-prose .editorial-dialogue-comparison .editorial-dialogue { margin: 0; }
.editorial-dialogue-comparison [data-dialogue-example=before] .editorial-dialogue__title { color: #991b1b; border-top: 3px solid #dc2626; }
.editorial-dialogue-comparison [data-dialogue-example=after] .editorial-dialogue__title { color: #166534; border-top: 3px solid #16a34a; }
.editorial-dialogue-comparison .editorial-dialogue__title { padding: 11px 13px; }
.public-prose .editorial-dialogue-comparison .editorial-dialogue__turns { padding: 14px 12px; gap: 10px; }
.public-prose .editorial-dialogue-comparison .editorial-dialogue__turn { padding-right: 8px; gap: 7px; }
.public-prose .editorial-dialogue-comparison .editorial-dialogue__turn--manager { padding: 0 0 0 8px; }
.editorial-dialogue-comparison .editorial-dialogue__avatar { flex-basis: 26px; width: 26px; height: 26px; }
.editorial-dialogue-comparison .editorial-dialogue__icon { width: 15px; height: 15px; }
.editorial-dialogue-comparison .editorial-dialogue__message { max-width: calc(100% - 33px); padding: 9px 11px 10px; }
.public-prose .editorial-dialogue-comparison .editorial-dialogue__message p { font-size: 15px; line-height: 1.6; }
.public-sources { border-top: 1px solid #e2e8f0; margin-top: 40px; padding-top: 24px; }
.public-sources h2 { font-size: 24px; margin-bottom: 16px; }
.public-sources a { color: #1d4ed8; display: block; padding-block: 8px; }
.public-lead-capture { padding: 30px; border: 1px solid #c4d6f2; border-radius: 18px; background: #eef4ff; color: #143b72; }
.public-lead-capture--inline, .public-lead-capture--end { margin-block: 36px; }
.public-lead-capture .public-lead-capture__brand { margin: 0 0 12px; color: #245fe1; font-size: 15px; line-height: 1.3; font-weight: 750; letter-spacing: -.02em; }
.public-lead-capture h3 { margin: 0 0 14px; color: #102e57; font-size: 28px; line-height: 1.2; }
.public-lead-capture .public-lead-capture__text { margin: 0 0 20px; color: #334f77; font-size: 17px; line-height: 1.65; }
.public-lead-capture .public-lead-capture__button { color: #fff; text-decoration: none; }
.public-lead-capture .public-lead-capture__note { margin: 12px 0 0; color: #4a6488; font-size: 12px; line-height: 1.5; }
.public-access { width: min(960px, calc(100% - 80px)); margin-inline: auto; padding-block: 80px; display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; }
.public-access__intro { padding-top: 20px; }
.public-access h1 { font-size: clamp(34px, 4vw, 48px); margin-block: 20px 24px; }
.public-access__intro > p:not(.public-eyebrow) { color: var(--public-muted); font-size: 17px; line-height: 1.7; }
.public-access__card { border: 1px solid #e2e8f0; padding: 32px; border-radius: 14px; background: #f8fafc; min-width: 0; }
.public-access__card h2 { font-size: 25px; margin-bottom: 18px; }
.public-access__card > p { color: var(--public-muted); }
.public-access__card > .public-text-link { display: flex; justify-content: center; margin-top: 12px; }

.public-flash { margin: 24px auto; width: min(960px, calc(100% - 40px)); border: 1px solid #bfdbfe; border-radius: 10px; padding: 16px 20px; color: #1e3a8a; background: #eff6ff; }
.public-flash--error { background: #fef2f2; border-color: #fecaca; color: #991b1b; }
.public-footer { padding-top: 28px; border-top: 1px solid #1b355c; background: #112647; color: #c4d3e9; font-size: 14px; }
.public-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1.15fr 1.2fr; gap: 32px; padding-bottom: 22px; }
.public-footer__brand { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: #fff; font-size: 25px; font-weight: 700; letter-spacing: -.04em; margin-bottom: 10px; }
.public-footer__heading { font-weight: 650; color: #fff; min-height: 28px; display: flex; align-items: center; margin-bottom: 6px !important; }
.public-footer nav a { display: flex; align-items: center; min-height: 32px; width: fit-content; color: #c4d3e9; }
.public-footer a:hover { color: #fff; text-decoration: underline; }
.public-footer a:focus-visible { outline-color: #bdd6ff; }
.public-footer__bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #2a405f; padding-block: 14px; font-size: 12px; color: #b0c2dc; }
@media (max-width: 1023px) {
  .public-footer__grid { grid-template-columns: 1.2fr 1fr 1fr; gap: 24px; }
  .public-footer__access { grid-column: 2 / -1; grid-row: 2; }
  .public-footer__access-links { display: flex; flex-wrap: wrap; gap: 0 20px; }
}
/* Обучающие блоки статей: схемы, самопроверка и списки действий. */
.public-site [hidden] { display: none !important; }
.public-prose .learning-quiz, .public-prose .learning-checklist { margin-block: 32px; padding: 24px; border-radius: 16px; border: 1px solid #ccd9ed; background: #f7faff; }
.public-prose .learning-quiz h3, .public-prose .learning-checklist h3 { margin: 0 0 14px; font-size: 25px; }
.public-prose .learning-quiz__progress { margin: 0 0 14px; color: #46628e; font-size: 13px; line-height: 1.5; font-weight: 600; }
.public-prose .learning-quiz__completion { margin: 0; font-size: 17px; line-height: 1.65; }
.learning-quiz__step + .learning-quiz__step { margin-top: 22px; }
.learning-quiz__step[hidden] + .learning-quiz__step { margin-top: 0; }
.learning-question { min-width: 0; border: 0; padding: 0; margin: 0; }
.public-prose .learning-quiz__context { margin: 0 0 6px; font-size: 15px; line-height: 1.55; color: #334155; }
.learning-question legend { max-width: 100%; padding: 0; margin-bottom: 8px; color: #17375e; font-size: 17px; font-weight: 550; line-height: 1.5; }
.learning-question label, .learning-checklist label { display: flex; align-items: start; gap: 12px; min-height: 48px; padding: 13px 14px; margin-block: 8px; border: 1px solid #dce3ee; border-radius: 10px; font-size: 16px; line-height: 1.55; color: #273e5e; background: #fff; cursor: pointer; }
.learning-question label:has(input:checked) { background: #eaf2ff; border-color: #88abe9; }
.learning-question input, .learning-checklist input { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 3px; accent-color: #2563eb; }
.learning-question input:focus-visible, .learning-checklist input:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.learning-explanation { margin-top: 12px; border-radius: 10px; background: #f2f6fc; padding: 12px 16px; }
.learning-explanation summary { min-height: 44px; font-size: 14px; font-weight: 600; cursor: pointer; }
.public-prose .learning-explanation p { margin: 0; font-size: 15px; line-height: 1.7; }
.public-prose .learning-explanation p + p { margin-top: 8px; }
.public-prose .learning-quiz__status { margin: 0 0 12px; font-size: 16px; color: #173967; font-weight: 650; }
.public-prose .learning-quiz__status:empty { margin: 0; }
.learning-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.learning-controls button { cursor: pointer; }
.learning-reset { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; color: #245598; font-size: 14px; background: transparent; border: 1px solid #cbd8eb; border-radius: 9px; cursor: pointer; }
.learning-reset:hover { background: #edf3fc; }
.public-prose .learning-checklist { background: #fff7ec; border-color: #ecd9be; }
.learning-checklist label:has(input:checked) { background: #edf5ef; border-color: #a9cdb4; }
.learning-checklist__controls { margin-top: 22px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; }
.learning-checklist__progress { flex: 1; min-width: 180px; }
.learning-checklist progress { display: block; width: 100%; height: 10px; accent-color: #2563eb; border-radius: 10px; overflow: hidden; }
.learning-checklist progress::-webkit-progress-bar { background: #e7e3dd; border-radius: 10px; }
.learning-checklist progress::-webkit-progress-value { background: #2563eb; border-radius: 10px; }
.public-prose .learning-checklist__progress p { margin: 8px 0 0; color: #5c5346; font-size: 14px; }

/* Публичные шаблоны: см. /docs/plans/2026-09-10-public-templates-experience.md */
.public-article-card__link { display: flex; flex-direction: column; flex: 1; min-width: 0; color: var(--public-ink); }
.public-article-card__link:focus-visible { outline: 3px solid #2563eb; outline-offset: -4px; }
.public-article-card__link:hover h3 { text-decoration: underline; text-underline-offset: 5px; }
.public-template-purpose { margin-top: 14px !important; max-width: 780px; color: #475569; line-height: 1.7; }
.public-template-row > .public-button { flex-shrink: 0; }
.public-worksheet-author { margin-top: 20px !important; font-size: 14px; color: #475569; }
.public-worksheet-author a { color: #1d4ed8; }
.public-worksheet-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.08fr); column-gap: 40px; row-gap: 28px; margin-top: 36px; }
.public-worksheet-scope { grid-column: 1; grid-row: 1; min-width: 0; padding: 24px; background: #f1f5fb; border-left: 3px solid #2563eb; }
.public-worksheet-scope h2, .public-worksheet-main h2, .public-worksheet-preview > h2 { font-size: 25px; line-height: 1.3; margin-bottom: 14px; }
.public-worksheet-scope h3 { font-size: 17px; margin-block: 20px 10px; }
.public-worksheet-scope p, .public-worksheet-criteria > p, .public-worksheet-instructions p { color: #475569; }
.public-worksheet-main { grid-column: 1; grid-row: 2; min-width: 0; }
.public-worksheet-preview { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 24px; align-self: start; min-width: 0; }
.public-worksheet-criteria details { margin-top: 16px; border: 1px solid #d2ddeb; border-radius: 10px; }
.public-worksheet-criteria summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 58px; padding: 16px; cursor: pointer; font-size: 17px; font-weight: 650; }
.public-worksheet-criteria details[open] summary { border-bottom: 1px solid #d2ddeb; background: #f1f5fb; }
.public-criterion-weight { font-size: 12px; color: #52647a; white-space: nowrap; }
.public-criterion-body { padding: 20px; font-size: 16px; line-height: 1.7; }
.public-criterion-body > p + p { margin-top: 18px; }
.public-criterion-example { padding: 16px; margin: 20px 0; background: #f1f8f4; border-left: 3px solid #398756; }
.public-criterion-example--fail { background: #fff4f2; border-color: #c85b44; }
.public-criterion-example > strong { display: block; font-size: 13px; margin-bottom: 6px; }
.public-worksheet-instructions { margin-top: 32px; }
.public-worksheet-instructions ol { padding-left: 22px; list-style: decimal; }
.public-worksheet-instructions li { margin-bottom: 16px; }
/* Демонстрация содержит только явно вымышленные, согласованные между экранами данные. */
.public-demo { min-width: 0; width: 100%; max-width: 100%; border: 1px solid #cbd7e7; border-radius: 12px; background: #fff; overflow: hidden; font-size: 13px; line-height: 1.5; color: #23354c; }
.public-demo__tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-bottom: 1px solid #d4deeb; background: #f5f8fc; }
.public-demo__tabs button { min-width: 0; min-height: 46px; padding: 8px 4px; border: 0; border-bottom: 3px solid transparent; background: transparent; color: #536379; font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
.public-demo__tabs button[aria-selected=true] { border-bottom-color: #2563eb; color: #1d4ed8; background: #fff; }
.public-demo__tabs button:focus-visible { outline-offset: -4px; }
.public-demo__panel { min-width: 0; padding: 16px; }
.public-demo__panel + .public-demo__panel { border-top: 1px solid #d4deeb; }
.public-demo__panel[hidden] + .public-demo__panel { border-top: 0; }
.public-demo__panel:focus-visible { outline: 3px solid #2563eb; outline-offset: -4px; }
.public-demo h3:not(:where(.public-product-native *)) { margin: 0; font-size: 15px; line-height: 1.35; letter-spacing: -.015em; }
@media (max-width: 1100px) {
  .public-worksheet-layout { display: block; }
  .public-worksheet-scope, .public-worksheet-preview { margin-bottom: 32px; }
  .public-worksheet-preview { position: static; }
}
@media (max-height: 800px) { .public-worksheet-preview { position: static; } }
@media (max-width: 640px) {
  .public-demo__panel { padding: 14px 12px; }
  .public-demo__tabs button { font-size: 11px; }
  .public-worksheet-scope { padding: 20px; }
  .public-worksheet-criteria summary { padding: 14px; font-size: 16px; }
  .public-criterion-body { padding: 16px; }
  .public-template-row > .public-button { align-self: start; }
}

@media (max-width: 960px) {
  .public-hero { grid-template-columns: 1fr; gap: 32px; padding-block: 40px; }
  .public-hero__copy { max-width: 700px; }
  .public-header__inner { flex-wrap: wrap; padding-block: 14px; }
  .public-nav { flex-wrap: wrap; gap: 8px 20px; }
  .public-articles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-media-hero__grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .public-article-hero__copy { padding: 40px 32px; }
  .public-template-row { align-items: start; flex-direction: column; gap: 14px; }
  .public-reading-layout { grid-template-columns: 220px minmax(0, 1fr); column-gap: 28px; }
  .public-access { gap: 32px; }
  .public-access__card { padding: 24px; }
}
@media (max-width: 640px) {
  .public-container, .public-access { width: calc(100% - 40px); }
  .public-header__inner { min-height: 76px; gap: 4px; align-items: start; }
  .public-brand { font-size: 21px; gap: 8px; }
  .public-nav { width: 100%; gap: 0 18px; font-size: 14px; }
  .public-nav__link { font-size: 13px; }
  .public-nav .public-button { margin-block: 6px; font-size: 13px; }
  .public-button--small { padding-inline: 18px; }
  .public-hero { padding-block: 32px; gap: 28px; }
  .public-hero h1 { font-size: clamp(32px, 8.8vw, 42px); margin-block: 20px; }
  .public-hero .public-lead { font-size: 18px; }
  .public-hero .public-actions { margin-top: 24px; }
  .public-hero .public-hero__note { margin-top: 20px; }
  .public-call-preview__caption { padding: 14px; }
  .public-call-preview__actions { padding-inline: 14px; }
  .public-home-editorial { flex-direction: column; align-items: start; gap: 12px; }
  .public-actions { gap: 16px; }
  .public-how, .public-section { padding-block: 40px; }
  .public-steps { grid-template-columns: 1fr; gap: 28px; }
  .public-step-number { margin-bottom: 12px; }
  .public-section-heading--row { align-items: start; flex-direction: column; gap: 12px; }
  .public-articles, .public-articles--featured { grid-template-columns: 1fr; gap: 24px; }
  .public-articles--featured .public-article-card:first-child { display: flex; }
  .public-article-card__image, .public-articles--featured .public-article-card:first-child .public-article-card__image { min-height: 310px; }
  .public-article-card__headline { padding: 22px; }
  .public-article-card__body, .public-articles--featured .public-article-card:first-child .public-article-card__body { padding: 24px; }
  .public-articles--featured .public-article-card:first-child .public-article-card__body { flex-direction: column; align-items: stretch; gap: 18px; }
  .public-articles--featured .public-article-card:first-child .public-article-card__meta { min-width: 0; }
  .public-articles--featured .public-article-card:first-child .public-article-card__headline { padding: 22px; }
  .public-article-card h3, .public-articles--featured .public-article-card:first-child h3 { font-size: 25px; margin-top: 14px; }
  .public-media-hero { padding-block: 36px 42px; }
  .public-media-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .public-media-hero h1 { font-size: clamp(46px, 12.5vw, 64px); }
  .public-media-hero__grid > p { font-size: 18px; }
  .public-media-feed__heading h2 { font-size: 23px; }
  .public-reading-layout { display: block; }
  .public-reading-sidebar { margin-bottom: 32px; }
  .public-lead-capture { padding: 22px; }
  .public-lead-capture h3 { font-size: 25px; }
  .public-lead-capture .public-lead-capture__text { font-size: 16px; }
  .public-lead-capture .public-lead-capture__button { width: 100%; padding-inline: 14px; }
  .public-article-hero { margin-bottom: 30px; }
  .public-article-page { padding-top: 12px; }
  .public-article-page .public-breadcrumbs { margin-bottom: 16px; }
  .public-article-hero__copy { padding: 24px 22px; min-height: 260px; background: linear-gradient(90deg, #0d285cee, #0d285cbf); }
  .public-article-hero__visual { border-radius: 12px; }
  .public-article-hero h1 { font-size: clamp(27px, 8vw, 31px); line-height: 1.18; margin-top: 18px; text-wrap: auto; }
  .public-article__meta { gap: 4px 14px; font-size: 12px; }
  .public-article-hero .public-lead { font-size: 17px; }
  .public-takeaways, .public-worksheet { padding: 20px; }
  .public-worksheet h2 { font-size: 25px; }
  .public-experts__grid { grid-template-columns: 1fr; gap: 24px; }
  .public-share .public-reader-actions { gap: 0 18px; }
  .public-access { padding-block: 40px; grid-template-columns: 1fr; gap: 28px; }
  .public-access__intro { padding: 0; }
  .public-access h1 { margin-block: 16px; }
  .public-prose { font-size: 17px; }
  .public-prose h2 { font-size: 27px; }
  .public-prose table { font-size: 14px; }
  .public-prose .editorial-table-hint { display: block; margin: 20px 0 8px; color: #53657e; font-size: 13px; }
  .public-prose .editorial-table-hint + .editorial-table-scroll { margin-top: 8px; }
  .public-prose th, .public-prose td { padding: 10px; }
  .public-prose .editorial-lead { font-size: 21px; }
  .public-prose .editorial-compare { grid-template-columns: 1fr; }
  .editorial-dialogue__title { padding: 12px 14px; }
  .public-prose .editorial-dialogue__turns { padding: 16px 12px; gap: 10px; }
  .public-prose .editorial-dialogue__turn { gap: 8px; padding-right: 8px; }
  .public-prose .editorial-dialogue__turn--manager { padding: 0 0 0 8px; }
  .editorial-dialogue__avatar { flex-basis: 28px; width: 28px; height: 28px; }
  .editorial-dialogue__icon { width: 17px; height: 17px; }
  .editorial-dialogue__message { max-width: calc(100% - 36px); padding: 9px 11px 10px; }
  .public-prose .editorial-dialogue__message p { font-size: 15px; line-height: 1.6; }
  .editorial-dialogue-comparison__grid { grid-template-columns: 1fr; }
  .public-footer__grid { grid-template-columns: 1fr 1fr; gap: 18px 16px; }
  .public-footer__grid > div:first-child { grid-column: 1 / -1; }
  .public-footer__access { grid-column: 1 / -1; grid-row: 3; }
  .public-footer nav a { min-height: 44px; }
  .public-footer__bottom { flex-direction: column; gap: 4px; }
  .learning-question { padding: 0; }
  .learning-question label, .learning-checklist label { padding: 12px; font-size: 15px; }
  .learning-controls { align-items: stretch; flex-direction: column; }
  .public-prose .learning-quiz, .public-prose .learning-checklist { padding: 18px; }
  .public-prose .learning-quiz { padding: 16px; }
  .learning-question legend { font-size: 16px; }
  .learning-question label { margin-block: 6px; padding: 8px 10px; font-size: 15px; }
  .public-prose .learning-explanation p { font-size: 14px; line-height: 1.6; }
  .learning-explanation { padding: 12px; }
  .public-prose .learning-quiz h3, .public-prose .learning-checklist h3 { font-size: 23px; }
}
.public-prose .editorial-story-label { font-size: 13px; color: #607089; margin-bottom: 16px; }
.public-prose .story-infographic { margin: 32px 0; }
.story-infographic img { display: block; width: 100%; height: auto; border-radius: 16px; }
.story-infographic figcaption { padding-top: 12px; font-size: 14px; line-height: 1.6; color: #53657e; }
.public-prose .editorial-faq { padding: 18px 0; border-bottom: 1px solid #dbe3ee; }
.editorial-faq summary { min-height: 44px; cursor: pointer; color: #173967; font-size: 18px; font-weight: 600; line-height: 1.5; }
.public-prose .editorial-faq p { margin: 12px 0 0; font-size: 17px; line-height: 1.8; }
.learning-quiz[data-answer-state='correct'] { border-color: #91bda1; }
.learning-quiz[data-answer-state='correct'] .learning-quiz__status { color: #23623b; }
.learning-quiz[data-answer-state='incorrect'] { border-color: #d8b28b; }
.learning-quiz .learning-explanation summary { min-height: 28px; }
.learning-quiz[data-answer-state] .learning-explanation summary { display: none; }
.learning-quiz__header { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 12px; }
.public-prose .learning-quiz__header h3 { margin: 0; font-size: 21px; line-height: 1.3; }
.public-prose .learning-quiz__header .learning-quiz__progress { flex: 0 0 52px; margin: 0; font-size: 12px; line-height: 1.3; text-align: right; }
.learning-quiz .learning-controls { margin-top: 12px; }
.public-prose .learning-quiz .learning-explanation p + p { margin-top: 6px; }
.learning-quiz__choices { margin-top: 4px; }

/* Inline artifact: keep the reading position and the current URL. */
.public-artifact { position: fixed; inset: 16px; margin: auto; width: calc(100% - 32px); max-width: 1480px; height: calc(100dvh - 32px); max-height: none; padding: 0; border: 1px solid #cbd5e1; border-radius: 16px; background: white; color: #111827; }
.public-artifact::backdrop { background: rgb(15 23 42 / .55); }
.public-artifact[open] { display: flex; flex-direction: column; }
.public-artifact__toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 14px 24px; border-bottom: 1px solid #dbe3ee; flex-shrink: 0; }
.public-artifact__content { overflow: auto; min-height: 0; overscroll-behavior: contain; }
.public-artifact .public-worksheet-page { padding: 24px; }
.public-artifact .public-breadcrumbs { display: none; }
.public-artifact .public-page-title { font-size: clamp(26px, 3vw, 38px); }
html:has(.public-artifact[open]) { overflow: hidden; }
.public-lead-capture--sidebar { position: sticky; top: 24px; margin-top: 24px; padding: 20px; background: #1747bc; border-color: #1747bc; }
.public-lead-capture--sidebar .public-lead-capture__brand { color: #c5dcff; }
.public-lead-capture--sidebar h3 { color: white; font-size: 23px; }
.public-lead-capture--sidebar .public-lead-capture__text { color: #e0eaff; font-size: 14px; line-height: 1.55; }
.public-lead-capture--sidebar .public-button { width: 100%; background: white; color: #1747bc; padding: 12px; font-size: 14px; }
.public-lead-capture--sidebar .public-lead-capture__note { color: #d3e3ff; font-size: 11px; }
@media (max-width: 960px) { .public-lead-capture--sidebar { position: static; } }
@media (max-width: 640px) { .public-artifact { inset: 0; width: 100%; height: 100dvh; border-radius: 0; } .public-artifact .public-worksheet-page { padding: 20px 14px; } }

.public-product-native { font-size: 14px; line-height: 1.5; letter-spacing: normal; min-width: 0; }
.public-product-native .print-only { display: none; }

.public-artifact .public-worksheet-page { width: 100%; max-width: none; }
.public-artifact .public-worksheet-page > .public-lead { font-size: 16px; line-height: 1.5; max-width: 900px; margin-block: 12px; }
.public-artifact .public-worksheet-layout { margin-top: 20px; }
.public-artifact .public-worksheet-preview { top: 16px; }
.public-artifact .public-worksheet-preview > h2 { font-size: 24px; }
.public-artifact .public-worksheet-preview > .public-button { margin-top: 12px; }
@media (min-width: 1101px) {
  .public-artifact .public-worksheet-page { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); column-gap: 32px; align-items: start; }
  .public-artifact .public-worksheet-page > :not(.public-worksheet-layout) { grid-column: 1; }
  .public-artifact .public-worksheet-layout { display: contents; }
  .public-artifact .public-worksheet-scope, .public-artifact .public-worksheet-main { grid-column: 1; grid-row: auto; margin-top: 24px; }
  .public-artifact .public-worksheet-preview { grid-column: 2; grid-row: 1 / span 8; position: sticky; top: 16px; }
}
.public-product-screen__description { margin-block: 10px 16px !important; font-size: 13px; color: #475569; line-height: 1.5; }
.public-assistant-mobile { display: none; }
.public-assistant-mobile__answer { overflow-x: auto; font-size: 15px; line-height: 1.65; }
.public-assistant-mobile__answer p { margin: 12px 0; }
.public-assistant-mobile__answer h2,
.public-assistant-mobile__answer h3 { margin: 20px 0 10px; font-size: 19px; line-height: 1.35; }
.public-assistant-mobile__answer table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 13px; }
.public-assistant-mobile__answer th,
.public-assistant-mobile__answer td { padding: 10px; border: 1px solid #dce6f6; text-align: left; vertical-align: top; }
.public-assistant-mobile__answer th { background: #eef4ff; }
.public-assistant-mobile__answer ul { padding-left: 20px; }
.public-recorded-table-hint { display: none; }
[data-recorded-answer] [data-markdown-table]:focus-visible { outline: 2px solid #3d5af1; outline-offset: 2px; }
@media (max-width: 640px) { .public-recorded-table-hint { display: block; margin: 10px 0; color: #475569; font-size: 13px; } }
.public-product-screen__mobile-hint { display: none; }
.public-product-screen__dialog { position: fixed; inset: 0; width: 100vw; height: 100dvh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; color: #111827; background: #e5e7eb; }
.public-product-screen__dialog[open] { display: flex; flex-direction: column; }
.public-product-screen__dialog::backdrop { background: rgb(15 23 42 / .6); }
.public-product-screen__toolbar { display: flex; align-items: center; gap: 18px; padding: 10px 24px; flex-shrink: 0; background: white; border-bottom: 1px solid #d1d5db; }
.public-product-screen__toolbar strong { margin-right: auto; }
html:has(.public-product-screen__dialog[open]) { overflow: hidden; }
@media (max-width: 640px) { .public-product-screen__toolbar { padding: 8px 12px; gap: 12px; flex-wrap: wrap; } .public-product-screen__toolbar strong { width: 100%; font-size: 14px; }  }

.public-native-chat .landing-agent-chat-preview { height: 100dvh; min-height: 500px; }

/* Публичная рамка содержит штатную страницу продукта без масштабирования её UI. */
.public-product-screen__live-preview { height: min(68dvh, 680px); min-height: 480px; overflow: hidden; border: 1px solid #cbd5e1; border-radius: 10px; background: #f8fafc; }
.public-product-screen__live-preview iframe { display: block; width: 100%; height: 100%; border: 0; background: #fff; }
.public-product-screen__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 18px; padding-block: 10px 2px; color: #52647a; font-size: 12px; }
.public-product-screen__open { display: inline-flex; align-items: center; min-height: 42px; color: #1d4ed8; font-size: 13px; font-weight: 650; }
.public-product-screen__open:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .public-demo { width: calc(100% + 28px); max-width: none; margin-left: -14px; }
  .public-demo__panel { padding-inline: 4px; }
  .public-product-screen__mobile-hint { display: block; margin-block: -10px 12px !important; color: #52647a; font-size: 12px; }
  .public-product-screen__live-preview { height: min(64dvh, 600px); min-height: 460px; }
  .public-product-screen__footer { align-items: start; }
  .public-product-screen--assistant .public-product-screen__live-preview,
  .public-product-screen--assistant .public-product-screen__footer { display: none; }
  .public-product-screen--assistant .public-assistant-mobile { display: block; }
  .public-assistant-mobile__context { padding: 14px; border: 1px solid #cfe0ff; border-radius: 14px; background: #f5f9ff; }
  .public-assistant-mobile__context > div + div { margin-top: 12px; padding-top: 12px; border-top: 1px solid #dbe7fb; }
  .public-assistant-mobile__context p { margin: 0 !important; font-size: 13px; line-height: 1.45; color: #16253e; }
  .public-assistant-mobile__context .public-assistant-mobile__label { margin-bottom: 5px !important; font-size: 10px; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; color: #295cbd; }
  .public-assistant-mobile__context .public-assistant-mobile__conclusion { font-size: 15px; font-weight: 700; line-height: 1.35; }
  .public-assistant-mobile h4 { margin: 16px 0 8px; font-size: 14px; line-height: 1.3; }
  .public-assistant-mobile__steps { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; counter-reset: assistant-step; }
  .public-assistant-mobile__steps li { display: grid; grid-template-columns: 23px minmax(0, 1fr); column-gap: 9px; padding: 10px; border: 1px solid #dce6f6; border-radius: 11px; background: #fff; }
  .public-assistant-mobile__steps li::before { grid-row: 1 / span 2; display: grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; color: #1d4ed8; background: #e8f0ff; font-size: 11px; font-weight: 750; counter-increment: assistant-step; content: counter(assistant-step); }
  .public-assistant-mobile__steps strong { font-size: 12px; line-height: 1.3; }
  .public-assistant-mobile__steps span { grid-column: 2; color: #52647a; font-size: 11px; line-height: 1.4; }
  .ropika-theme .public-product-screen--assistant .public-assistant-mobile__open { display: flex; width: 100%; min-height: 48px; align-items: center; margin-top: 14px; padding-inline: 15px; text-align: center; }
  .public-assistant-mobile__note { margin: 8px 2px 0 !important; color: #64748b; font-size: 11px; line-height: 1.4; }
}
.public-product-screen__dialog > iframe { display: block; width: 100%; flex: 1; min-height: 0; border: 0; background: #f9fafb; }

.public-reading-worksheet { grid-column: 1 / -1; grid-row: 3; min-width: 0; margin-top: 32px; }
.public-reading-afterword { grid-row: 4; }
.public-worksheet-pair { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 32px; }
.public-worksheet-pair > .public-worksheet { margin-top: 0; min-width: 0; }
.public-worksheet-pair--expanded { display: block; }
.public-worksheet-product { min-width: 0; }
.public-worksheet-product > h2 { font-size: 25px; line-height: 1.3; margin-bottom: 12px; }
.public-worksheet-product > p { font-size: 14px; color: #475569; margin-bottom: 20px; }
.public-worksheet-preview__note { margin-bottom: 16px !important; color: #475569; font-size: 14px; line-height: 1.6; }
@media (max-width: 1100px) { .public-worksheet-pair { grid-template-columns: minmax(0, 1fr); } }

/* Common controls keep a larger touch target on public forms. */
.ropika-theme .ui-control--public { min-height: 48px; font-size: 16px; padding: 10px 12px; }
.public-site .public-prose { max-width: var(--public-reading-width); }

.ropika-theme .ui-public-reading { max-width: var(--public-reading-width); }
