/* PortfolioLab 0.14 (прототип): контентные страницы (карточки инструментов, годы индекса, стратегии)
   внутри исходной оболочки. Только классы внутри .content-page; цвета — из исходной палитры. */
.content-page{--c1:#0a7257;--c2:#3268bb;--c3:#af6427;--c4:#72529b;--c5:#8e9cac;--c6:#a43c3f;--grid:#e9eef0;--soft:#edf4ef;--faint:#8a9a92}
.content-page .lead{font-size:15px;line-height:1.75;color:var(--muted);max-width:760px;margin:10px 0 0}
.content-page .updated{font-size:13px;color:var(--muted)}
.content-page .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.content-page .pos{color:#0f6b50}.content-page .neg{color:#a43c3f}
.content-page .muted{color:var(--muted)}.content-page .small{font-size:12px}.content-page .nowrap{white-space:nowrap}
.content-page .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:12px;margin:22px 0;padding:0}
.content-page .stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 18px}
.content-page .stat dt{font-size:12px;color:#5d6e63;line-height:1.5}
.content-page .stat dd{margin:6px 0 0;font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}
.content-page .stat .sub{display:block;font-size:12px;font-weight:400;color:#627466;margin-top:4px}
.content-page .stat.em{background:#eef4ec;border-color:#d4e2d2}
.content-page section.block{margin-top:30px}
.content-page section.block>h2{font-size:20px;margin:0 0 12px;letter-spacing:-.3px}
.content-page .prose{max-width:760px;font-size:14px;line-height:1.8}
.content-page .ctable-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:#fff;margin:0 0 14px}
.content-page table.ctable{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}
.content-page .ctable th,.content-page .ctable td{padding:10px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.content-page .ctable thead th{background:#f3f6f2;color:#4f655e;font-size:12px}
.content-page .ctable tbody tr:last-child>*{border-bottom:0}
.content-page .ctable tbody th{font-weight:400}
.content-page .ctable caption{caption-side:top;text-align:left;font-weight:700;padding:12px 14px}
.content-page td .bar{display:inline-block;height:9px;width:calc(var(--w)*56px);max-width:56px;border-radius:2px;margin-right:6px;background:var(--c1);vertical-align:baseline}
.content-page td .bar.neg{background:var(--c6)}
.content-page .tag{font-size:11px;color:#5d6e63;border:1px solid var(--line);border-radius:4px;padding:0 5px;margin-left:5px;white-space:nowrap}
.content-page .pills{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:12px 0 16px}
.content-page .pills a{display:inline-flex;align-items:center;min-height:36px;padding:4px 12px;border:1px solid var(--line);border-radius:99px;background:#fff;text-decoration:none;font-size:13px;color:var(--ink);font-variant-numeric:tabular-nums}
.content-page .pills a:hover{border-color:var(--green)}
.content-page .pills a[aria-current]{background:var(--green);border-color:var(--green);color:#fff}
.content-page .note{border-left:3px solid #c9d6cc;background:#fff;padding:10px 14px;border-radius:0 8px 8px 0;font-size:13px;color:var(--muted);line-height:1.7}
.content-page .dl{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:6px 18px;font-size:13px;margin:0 0 12px}
.content-page .dl dt{color:var(--muted)}.content-page .dl dd{margin:0}
.content-page .grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.content-page .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px;list-style:none;padding:0;margin:14px 0}
.content-page .card{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:8px}
.content-page .card h3{margin:0;font-size:18px}.content-page .card h3 a{color:var(--ink);text-decoration:none}.content-page .card h3 a::after{content:"";position:absolute;inset:0}
.content-page .card:has(h3 a):hover{border-color:#97b398}
.content-page .card p{margin:0;font-size:13px;line-height:1.75;color:var(--muted)}
.content-page .card .meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--muted);margin-top:auto}
.content-page .card .meta b{color:var(--ink)}
.content-page .card.planned{background:transparent;border-style:dashed}
.content-page .badge{font-size:11px;font-weight:700;padding:2px 8px;border-radius:99px;border:1px solid #c9d6cc;color:#5d6e63;vertical-align:middle;margin-left:6px}
.content-page .spark{display:block;width:100%;height:38px}
/* графики (lib/svg.py): линии в растягиваемом SVG, подписи — HTML */
.content-page .chart{margin:16px 0 20px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 18px 8px}
.content-page .chart figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.content-page .chart-title{font-weight:700;font-size:15px}
.content-page .chart .legend{display:flex;flex-wrap:wrap;gap:4px 16px;list-style:none;margin:0;padding:0;font-size:12px;color:#5d6e63}
.content-page .chart .legend li{display:flex;align-items:center;gap:6px}
.content-page .key{display:inline-block;width:16px;height:3px;border-radius:2px;background:var(--c5)}
.content-page .key.s1{background:var(--c1)}.content-page .key.s2{background:var(--c2)}.content-page .key.s3{background:var(--c3)}
.content-page .chart-box{position:relative;display:grid;grid-template-columns:var(--yw) minmax(0,1fr);grid-template-rows:var(--h) 26px}
@media(max-width:600px){.content-page .chart-box{grid-template-rows:calc(var(--h)*.72) 26px}.content-page .chart{padding:14px 10px 6px}.content-page td .bar{display:none}}
.content-page .chart-y{position:relative;grid-area:1/1;font-size:12px;color:#637984;font-variant-numeric:tabular-nums}
.content-page .chart-y span{position:absolute;right:8px;transform:translateY(-50%);white-space:nowrap;line-height:1}
.content-page .chart-box svg{grid-area:1/2;display:block;width:100%;height:100%;overflow:visible}
.content-page .chart-x{position:relative;grid-area:2/2;font-size:12px;color:#637984}
.content-page .chart-x span{position:absolute;top:7px;transform:translateX(-50%);white-space:nowrap;line-height:1}
.content-page .chart-x span.l{transform:none}.content-page .chart-x span.r{transform:translateX(-100%)}
.content-page .grid line{stroke:var(--grid);stroke-width:1;vector-effect:non-scaling-stroke}.content-page .grid line.zero{stroke:#9aa9ae}
.content-page .line{fill:none;stroke:var(--c5);stroke-width:2;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.content-page .line.s1{stroke:var(--c1);stroke-width:2.4}.content-page .line.s2{stroke:var(--c2)}.content-page .line.s3{stroke:var(--c3)}
.content-page .area{stroke:none;opacity:.1;fill:var(--c1)}
.content-page .chart-note{font-size:12px;color:var(--muted);margin:8px 0}
.content-page .chart-data{font-size:13px;margin:4px 0 8px}.content-page .chart-data summary{cursor:pointer;color:var(--green);min-height:32px;display:flex;align-items:center}
.content-page .chart-data .table-wrap{max-height:22rem;overflow:auto}
.content-page .chart-data table{width:100%;border-collapse:collapse;font-size:12px}.content-page .chart-data td,.content-page .chart-data th{padding:5px 8px;border-bottom:1px solid var(--line)}

.content-page .ctable .num{text-align:right}
.content-page a.primary-button,.content-page a.secondary-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap}
.app-topbar a.find-button{text-decoration:none;color:inherit}
.app-topbar .breadcrumb a{color:inherit}
