:root {
  color-scheme: light;
  --bg: #f4f1e9;
  --surface: #fbfaf6;
  --text: #20231f;
  --muted: #62685f;
  --line: #d4d1c8;
  --accent: #27694f;
  --accent-soft: #e0ebe4;
  --warning: #8a5b18;
  --width: 1240px;
  --gutter: clamp(18px, 4vw, 64px);
}
* { box-sizing: border-box; }
html { scroll-padding-top: 60px; }
body { margin: 0; overflow-x: hidden; background: var(--bg); color: var(--text); font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", Inter, Arial, sans-serif; font-size: 17px; font-weight: 400; line-height: 1.55; text-rendering: optimizeLegibility; }
button, input { font: inherit; }
a { color: inherit; text-underline-offset: .2em; text-decoration-color: color-mix(in srgb, currentColor 40%, transparent); }
a:hover { color: var(--accent); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; transform: translateY(-150%); background: var(--surface); border: 1px solid var(--text); }
.skip-link:focus { transform: none; }
.page-width { width: min(calc(100% - 2 * var(--gutter) - env(safe-area-inset-left) - env(safe-area-inset-right)), var(--width)); margin-inline: auto; }
.eyebrow { margin: 0 0 10px; color: var(--accent); font-size: 16px; font-weight: 650; letter-spacing: .06em; line-height: 1.3; text-transform: uppercase; }
h1, h2, h3, h4, p { overflow-wrap: anywhere; }
h1, h2 { font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.04em; }
h2 { margin: 0; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.03; }
.hero { padding: clamp(34px, 5vw, 64px) 0 26px; border-bottom: 1px solid var(--line); }
.hero__top { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.hero__top .eyebrow { margin: 0; }
.share-button { min-height: 42px; padding: 7px 12px; border: 1px solid var(--line); border-radius: 3px; background: transparent; color: var(--text); cursor: pointer; }
.share-button:hover { border-color: var(--accent); color: var(--accent); }
h1 { max-width: 980px; margin: 22px 0 18px; font-size: clamp(2.7rem, 6vw, 5.4rem); line-height: .96; }
.dek { max-width: 980px; margin: 0 0 17px; font-size: clamp(1.12rem, 2vw, 1.36rem); line-height: 1.45; }
.funnel { display: flex; margin: 0 0 16px; align-items: center; gap: 9px; color: var(--muted); font-size: 16px; }
.funnel strong { color: var(--text); font-weight: 650; }
.leader-chips { display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; }
.leader-chips::-webkit-scrollbar { display: none; }
.leader-chips a { display: inline-flex; min-height: 38px; padding: 7px 10px; flex: 0 0 auto; align-items: center; gap: 5px; border: 1px solid var(--line); border-radius: 3px; background: var(--surface); font-size: 16px; text-decoration: none; }
.leader-chips b { color: var(--accent); }.leader-chips strong { font-variant-numeric: tabular-nums; }
.updated { margin: 12px 0 0; color: var(--muted); font-size: 16px; }
.anchor-nav { position: sticky; z-index: 20; top: 0; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--bg) 95%, transparent); backdrop-filter: blur(10px); }
.anchor-nav .page-width { display: flex; min-height: 48px; align-items: center; gap: 2px; overflow-x: auto; scrollbar-width: none; }
.anchor-nav a { display: inline-flex; min-height: 42px; padding: 10px; flex: 0 0 auto; align-items: center; color: var(--muted); font-size: 16px; font-weight: 550; text-decoration: none; }
.anchor-nav a:hover { background: var(--accent-soft); color: var(--text); }
main > section { padding-block: clamp(58px, 8vw, 96px); scroll-margin-top: 54px; }
.insight { border-bottom: 1px solid var(--line); }
.insight h2 { max-width: 980px; font-size: clamp(2rem, 4.5vw, 3.8rem); }
.insight > p:last-child { max-width: 900px; margin: 20px 0 0; }
.value-chain, .pattern-chain { display: flex; margin-top: 30px; align-items: stretch; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.value-chain span, .pattern-chain span { display: flex; min-width: 138px; padding: 11px; flex: 1 0 138px; align-items: center; border-top: 1px solid var(--text); border-bottom: 1px solid var(--line); font-size: 16px; line-height: 1.3; }
.value-chain b, .pattern-chain b { align-self: center; color: var(--accent); font-weight: 500; }
.section-head { display: flex; margin-bottom: 26px; align-items: end; justify-content: space-between; gap: 36px; }
.section-head > p { max-width: 440px; margin: 0; color: var(--muted); font-size: 16px; }
.ranking { --cols: 44px minmax(190px, 1.65fr) 112px minmax(120px, 1fr) minmax(160px, 1.25fr) 64px 64px 64px 72px; }
.filters { position: sticky; z-index: 15; top: 48px; margin-bottom: 20px; padding: 14px; border: 1px solid var(--line); background: color-mix(in srgb, var(--surface) 96%, transparent); box-shadow: 0 7px 16px rgb(32 35 31 / 5%); }
.search-label { display: block; margin-bottom: 5px; font-size: 16px; font-weight: 600; }
.filters input { width: 100%; min-height: 44px; padding: 8px 11px; border: 1px solid #9ca097; border-radius: 3px; background: #fff; color: var(--text); font-size: 16px; }
.filters fieldset { min-width: 0; margin: 10px 0 0; padding: 0; border: 0; }
.filters legend { margin-bottom: 5px; color: var(--muted); font-size: 16px; }
.filter-scroll { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
.filter-scroll button { min-height: 36px; padding: 6px 9px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 3px; background: transparent; color: var(--text); cursor: pointer; font-size: 16px; }
.filter-scroll button[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-soft); color: #174d39; }
.filter-status { display: flex; margin-top: 10px; align-items: center; justify-content: space-between; color: var(--muted); font-size: 16px; }
.filter-status button { border: 0; background: none; color: var(--accent); cursor: pointer; text-decoration: underline; }
.ranking-head, .opportunity__summary { display: grid; grid-template-columns: var(--cols); column-gap: 10px; }
.ranking-head { padding: 9px 8px; border-top: 1px solid var(--text); color: var(--muted); font-size: 16px; }
.opportunity { border-bottom: 1px solid var(--line); }
.opportunity__summary { width: 100%; min-height: 76px; padding: 11px 8px; align-items: center; border: 0; background: transparent; color: var(--text); cursor: pointer; text-align: left; }
.opportunity__summary:hover { background: var(--surface); }
.rank { color: var(--muted); font-variant-numeric: tabular-nums; }
.opportunity__identity strong { display: block; font-size: 17px; line-height: 1.25; }.opportunity__identity small { display: block; margin-top: 4px; color: var(--muted); font-size: 16px; }
.type, .driver, .repeat { font-size: 16px; line-height: 1.35; }.repeat { color: var(--accent); }
.score { display: flex; align-items: baseline; justify-content: flex-end; font-variant-numeric: tabular-nums; }.score strong { font-family: Georgia, serif; font-size: 29px; font-weight: 400; }.score small { color: var(--muted); font-size: 16px; }
.rating { display: flex; flex-direction: column; gap: 4px; font-size: 16px; font-variant-numeric: tabular-nums; }.rating i { display: block; width: 44px; height: 3px; background: linear-gradient(90deg, var(--accent) calc(var(--rating) * 10%), var(--line) 0); }
.expand-label { display: none; }
.opportunity__detail { display: grid; padding: 16px 62px 24px; grid-template-columns: repeat(4, 1fr); gap: 18px 24px; background: var(--surface); }
.opportunity__detail h3, .deep-grid h4 { margin: 0 0 5px; color: var(--muted); font-size: 16px; font-weight: 600; line-height: 1.25; }
.opportunity__detail p, .deep-grid p { margin: 0; font-size: 16px; line-height: 1.5; }
.detail-repeat { padding-left: 10px; border-left: 3px solid var(--accent); }.detail-repeat h3 { color: var(--accent); }
.detail-evidence { grid-column: span 3; }.section-link { align-self: end; color: var(--accent); font-size: 16px; }
.source-marker { margin-left: 3px; color: var(--accent); font-size: .9em; font-variant-numeric: tabular-nums; text-decoration: none; }
.empty-state { padding: 30px; border-bottom: 1px solid var(--line); text-align: center; }
.deep-dives { border-top: 1px solid var(--line); }
.deep-card { margin-bottom: 22px; padding: clamp(20px, 3vw, 34px); border-top: 1px solid var(--text); background: var(--surface); }
.deep-card__head { display: grid; grid-template-columns: 48px 1fr auto; align-items: start; gap: 12px; }.deep-card__head > span { color: var(--muted); font-variant-numeric: tabular-nums; }.deep-card__head p { margin: 0 0 2px; color: var(--accent); font-size: 16px; }.deep-card__head h3 { margin: 0; font-family: Georgia, serif; font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 400; line-height: 1.05; }.deep-card__head > strong { font-family: Georgia, serif; font-size: 32px; font-weight: 400; }.deep-card__head small { color: var(--muted); font: 16px -apple-system, BlinkMacSystemFont, sans-serif; }
.deep-card blockquote { max-width: 900px; margin: 22px 0; padding-left: 18px; border-left: 3px solid var(--accent); font-family: Georgia, serif; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.35; }
.deep-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 28px; }.deep-repeat { padding: 12px; background: var(--accent-soft); }.deep-repeat h4 { color: var(--accent); }
.next-five { margin-top: 70px; }.next-five > h2 { margin-bottom: 24px; }.deep-card--compact .deep-grid { grid-template-columns: repeat(2, 1fr); }
.weaker { border-block: 1px solid var(--line); }.weak-list { display: grid; margin-top: 28px; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--text); }.weak-list div { padding: 16px 18px 18px 0; border-bottom: 1px solid var(--line); }.weak-list strong { font-size: 17px; }.weak-list p { margin: 6px 0 0; color: var(--muted); font-size: 16px; }.big-conclusion { max-width: 800px; margin: 30px 0 0; font-family: Georgia, serif; font-size: clamp(1.5rem, 3vw, 2.3rem); line-height: 1.25; }
.explorer-tabs { display: flex; margin-bottom: 18px; gap: 5px; overflow-x: auto; scrollbar-width: none; }.explorer-tabs button { min-height: 42px; padding: 8px 11px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 3px; background: transparent; cursor: pointer; font-size: 16px; }.explorer-tabs button[aria-selected="true"] { border-color: var(--accent); background: var(--accent-soft); }
.explorer-panel ol { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--text); list-style: none; }.explorer-panel li { display: grid; min-height: 48px; padding: 10px; grid-template-columns: 38px 1fr; align-items: center; border-bottom: 1px solid var(--line); font-size: 16px; }.explorer-panel li span { color: var(--muted); font-variant-numeric: tabular-nums; }.caution { margin: 16px 0 0; padding-left: 12px; border-left: 3px solid var(--warning); color: #63420f; font-size: 16px; }
.test-now { border-block: 1px solid var(--line); }.test-now ol { margin: 28px 0; padding: 0; border-top: 1px solid var(--text); list-style: none; }.test-now li { display: grid; padding: 13px 0; grid-template-columns: 50px 1fr; border-bottom: 1px solid var(--line); }.test-now li > span { color: var(--accent); font-variant-numeric: tabular-nums; }.test-now strong { font-size: 18px; }.test-now li p { margin: 2px 0 0; color: var(--muted); font-size: 16px; }.test-now blockquote { max-width: 900px; margin: 28px 0 0; font-family: Georgia, serif; font-size: clamp(1.35rem, 2.5vw, 2rem); line-height: 1.3; }
.method-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--text); }.method-grid div { display: grid; min-height: 62px; padding: 10px 12px; grid-template-columns: 52px 1fr; align-items: center; border-bottom: 1px solid var(--line); }.method-grid strong { color: var(--accent); font-family: Georgia, serif; font-size: 28px; font-weight: 400; font-variant-numeric: tabular-nums; }.method-grid span { font-size: 16px; }.method-note { max-width: 860px; margin: 22px 0 0; color: var(--muted); font-size: 16px; }
.sources { border-top: 1px solid var(--line); }.sources ol { margin: 0; padding: 0; border-top: 1px solid var(--text); list-style: none; }.sources li { display: grid; min-height: 48px; padding: 10px 0; grid-template-columns: 46px 1fr; align-items: center; border-bottom: 1px solid var(--line); font-size: 16px; }.sources li span { color: var(--muted); font-variant-numeric: tabular-nums; }
.pattern { border-top: 1px solid var(--line); }.pattern > p:last-child { max-width: 900px; margin: 24px 0 0; color: var(--muted); }.pattern-chain { margin-top: 24px; }
.additional, .products { border-top: 1px solid var(--line); }
.compact-search { display: grid; margin-bottom: 18px; padding: 14px; grid-template-columns: 1fr auto; gap: 6px 18px; border: 1px solid var(--line); background: var(--surface); }
.compact-search label { font-size: 16px; font-weight: 600; }.compact-search input { min-width: 0; min-height: 44px; padding: 8px 11px; grid-column: 1 / -1; border: 1px solid #9ca097; border-radius: 3px; background: #fff; font-size: 16px; }.compact-search output { color: var(--muted); font-size: 16px; }
.additional-list, .product-list { border-top: 1px solid var(--text); }
.additional-item, .product-item { border-bottom: 1px solid var(--line); }
.additional-summary { display: grid; width: 100%; min-height: 58px; padding: 10px 8px; grid-template-columns: 44px 1fr 78px 90px; align-items: center; gap: 10px; border: 0; background: transparent; color: var(--text); cursor: pointer; text-align: left; }.additional-summary:hover { background: var(--surface); }.additional-summary > span:first-child { color: var(--muted); font-variant-numeric: tabular-nums; }.additional-summary strong { font-size: 17px; }.additional-score { justify-self: end; font-family: Georgia, serif; font-size: 25px; font-variant-numeric: tabular-nums; }.additional-score small { color: var(--muted); font: 16px -apple-system, BlinkMacSystemFont, sans-serif; }.additional-toggle { color: var(--accent); font-size: 16px; }
.additional-detail { display: grid; padding: 18px 62px 24px; grid-template-columns: repeat(3, 1fr); gap: 18px 26px; background: var(--surface); }.additional-detail h3 { margin: 0 0 5px; color: var(--muted); font-size: 16px; }.additional-detail p { margin: 0; font-size: 16px; }
.product-item { display: grid; min-height: 76px; padding: 12px 8px; grid-template-columns: 44px minmax(190px, 1.2fr) 155px 155px minmax(260px, 1.5fr); align-items: center; gap: 10px; }.product-number { color: var(--muted); font-variant-numeric: tabular-nums; }.product-name strong { display: block; font-size: 17px; }.product-name small { display: block; margin-top: 3px; color: var(--muted); font-size: 16px; }.product-badge { font-size: 16px; }.product-badge--ltv { color: var(--accent); }.product-item p { margin: 0; font-size: 16px; }
footer { padding: 26px 0; border-top: 1px solid var(--text); }.footer, footer .page-width { display: flex; justify-content: space-between; gap: 20px; font-size: 16px; }.footer span, footer span { color: var(--muted); }
@media (max-width: 1000px) {
  .ranking-head { display: none; }
  .opportunity__summary { position: relative; min-height: 0; padding: 13px 5px; grid-template-columns: 42px 1fr 72px; gap: 6px 9px; }
  .opportunity__identity { grid-column: 2; }.type, .driver, .metric { display: none; }.repeat { grid-column: 2 / 4; }.repeat::before { content: "Повтор: "; color: var(--muted); }.score { grid-column: 3; grid-row: 1 / 3; align-self: start; }.rank { grid-row: 1 / 3; align-self: start; }.expand-label { display: block; grid-column: 2; color: var(--accent); font-size: 16px; }
  .opportunity__detail { padding: 18px; grid-template-columns: repeat(2, 1fr); }.detail-evidence { grid-column: 1 / -1; }
  .filters { position: static; }
}
@media (max-width: 700px) {
  :root { --gutter: 16px; }
  body { font-size: 16px; }
  .hero { padding-top: 24px; }.hero__top { align-items: flex-start; }.hero__top .eyebrow { max-width: 210px; }.share-button { min-width: 0; padding-inline: 8px; }
  h1 { margin-top: 18px; font-size: clamp(2.35rem, 12vw, 3.45rem); }.dek { font-size: 17px; }.funnel { gap: 5px; font-size: 16px; }.funnel span { font-size: 14px; }
  .anchor-nav .page-width { width: 100%; padding-inline: max(8px, env(safe-area-inset-left)); }.anchor-nav a { padding-inline: 9px; }
  main > section { padding-block: 54px; }.section-head { display: block; }.section-head > p { margin-top: 10px; }
  .value-chain, .pattern-chain { display: grid; gap: 0; overflow: visible; }.value-chain span, .pattern-chain span { min-width: 0; min-height: 44px; padding: 9px 4px; border-top: 0; }.value-chain span:first-child, .pattern-chain span:first-child { border-top: 1px solid var(--text); }.value-chain b, .pattern-chain b { padding-left: 4px; transform: rotate(90deg); transform-origin: left center; }
  .filters { margin-inline: -8px; padding: 12px 8px; }.ranking { width: min(calc(100% - 2 * 8px), var(--width)); }.ranking .section-head { padding-inline: 8px; }
  .opportunity__detail { grid-template-columns: 1fr; }.detail-evidence { grid-column: auto; }.detail-repeat { padding: 10px; background: var(--accent-soft); border-left: 0; }
  .deep-card { margin-inline: -8px; }.deep-card__head { grid-template-columns: 36px 1fr auto; }.deep-card blockquote { margin-block: 18px; }.deep-grid, .deep-card--compact .deep-grid { grid-template-columns: 1fr; }
  .weak-list { grid-template-columns: 1fr; }.weak-list div { padding-right: 0; }
  .explorer-panel ol { grid-template-columns: 1fr; }
  .method-grid { grid-template-columns: 1fr; }
  .additional-summary { grid-template-columns: 38px 1fr 68px; }.additional-toggle { grid-column: 2; }.additional-detail { padding: 18px; grid-template-columns: 1fr; }
  .product-item { padding: 14px 5px; grid-template-columns: 38px 1fr auto; align-items: start; }.product-name { grid-column: 2; }.product-badge { grid-column: 2; }.product-badge--ltv { grid-column: 3; grid-row: 2; }.product-item p { grid-column: 2 / -1; }.product-number { grid-row: 1 / 4; }.compact-search { grid-template-columns: 1fr; }.compact-search input { grid-column: auto; }
  footer .page-width { display: block; } footer span { display: block; margin-top: 5px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .anchor-nav, .filters, .share-button, .expand-label { display: none; } .opportunity__detail[hidden] { display: grid !important; } }
