/* kuda-det-sberezheniya.com — «Куда деть сбережения». Палитра «сберкнижка»: зеленоватая бумага, графитово-зелёные
   чернила, медный акцент, шкала риска зелёный → красный. Шрифты только системные: антиква в заголовках, гротеск
   в тексте, цифры табличные. Префикс ks-. */
:root {
  --ks-fon: #eef2ec; --ks-list: #fbfcf9; --ks-list2: #f4f7f2; --ks-chern: #18241f; --ks-ser: #4e5d55; --ks-ser2: #56655d;
  --ks-lin: #d3ddd5; --ks-lin2: #bfcdc3; --ks-shapka: #18302a; --ks-shapka-t: #e9f1ec; --ks-shapka-s: #a9c2b5;
  --ks-akc: #a4471b; --ks-akc-t: #8a3a14; --ks-akc-fon: #f8e9df; --ks-zel: #1f6b45; --ks-zel-fon: #e2f0e6;
  --ks-r1: #2f8a57; --ks-r2: #7a9a2e; --ks-r3: #c0900f; --ks-r4: #d0661e; --ks-r5: #b3261e; --ks-r0: #d9e1db;
  --ks-krasn: #a82a20; --ks-krasn-fon: #fbe8e5; --ks-ohra-fon: #fbf1d8;
  --ks-zag: "Georgia", "Noto Serif", "PT Serif", "Droid Serif", "Times New Roman", serif;
  --ks-tekst: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;
  --ks-mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
  --ks-r: 14px; --ks-r-mal: 9px; --ks-ten: 0 1px 2px rgba(24, 36, 31, .06), 0 6px 20px -12px rgba(24, 36, 31, .25);
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-tema="svetlaya"]) {
    --ks-fon: #0f1613; --ks-list: #16201b; --ks-list2: #1b2721; --ks-chern: #e4ede7; --ks-ser: #a7b8ae; --ks-ser2: #8d9f95;
    --ks-lin: #2a3a32; --ks-lin2: #3a4d43; --ks-shapka: #0b1411; --ks-akc: #e08a5c; --ks-akc-t: #f0a47a; --ks-akc-fon: #3a2419;
    --ks-zel: #6fcf98; --ks-zel-fon: #173226; --ks-r0: #2c3a33; --ks-krasn: #f08a80; --ks-krasn-fon: #3b1d1a; --ks-ohra-fon: #362c12;
    color-scheme: dark;
  }
}
:root[data-tema="temnaya"] {
  --ks-fon: #0f1613; --ks-list: #16201b; --ks-list2: #1b2721; --ks-chern: #e4ede7; --ks-ser: #a7b8ae; --ks-ser2: #8d9f95;
  --ks-lin: #2a3a32; --ks-lin2: #3a4d43; --ks-shapka: #0b1411; --ks-akc: #e08a5c; --ks-akc-t: #f0a47a; --ks-akc-fon: #3a2419;
  --ks-zel: #6fcf98; --ks-zel-fon: #173226; --ks-r0: #2c3a33; --ks-krasn: #f08a80; --ks-krasn-fon: #3b1d1a; --ks-ohra-fon: #362c12;
  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: 76px; }
body { margin: 0; background: var(--ks-fon); color: var(--ks-chern); font: 17px/1.62 var(--ks-tekst); font-variant-numeric: tabular-nums; overflow-wrap: break-word; }
img, svg { max-width: 100%; height: auto; }
a { color: var(--ks-akc-t); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--ks-akc); text-decoration-thickness: 2px; }
:focus-visible { outline: 3px solid var(--ks-akc); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--ks-zag); font-weight: 700; line-height: 1.2; letter-spacing: -.005em; color: var(--ks-chern); }
h1 { font-size: clamp(1.75rem, 1.2rem + 2.4vw, 2.6rem); margin: .2em 0 .35em; }
h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 1.75rem); margin: 1.9em 0 .55em; }
h3 { font-size: 1.18rem; margin: 1.5em 0 .4em; }
p, ul, ol { margin: 0 0 1em; }
li { margin: .25em 0; }
kbd { font: .85em var(--ks-mono); border: 1px solid var(--ks-lin2); border-bottom-width: 2px; border-radius: 5px; padding: 0 .35em; background: var(--ks-list); }
hr { border: 0; border-top: 1px solid var(--ks-lin); margin: 2em 0; }
.ks-ramka { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }
.ks-skryto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.ks-propusk { position: absolute; left: -999px; top: 0; background: var(--ks-akc); color: #fff; padding: 8px 14px; z-index: 50; }
.ks-propusk:focus { left: 8px; top: 8px; }

/* ── Живая строка над шапкой ── */
.ks-lenta { background: #0f231d; color: #cfe0d6; font-size: .8rem; }
.ks-lenta__ryad { display: flex; gap: 6px 18px; align-items: center; min-height: 32px; overflow-x: auto; white-space: nowrap; scrollbar-width: none; }
.ks-lenta__ryad::-webkit-scrollbar { display: none; }
.ks-lenta a { color: #cfe0d6; text-decoration: none; }
.ks-lenta a:hover { color: #fff; }
.ks-lenta b { color: #fff; font-weight: 650; margin-left: 3px; }
.ks-lenta__kogda { margin-left: auto; color: #93ad9f; }
@media (max-width: 560px) { .ks-lenta__dop, .ks-lenta__kogda { display: none; } .ks-lenta__ryad { gap: 14px; } }

/* ── Шапка ── */
.ks-shapka { background: var(--ks-shapka); color: var(--ks-shapka-t); position: sticky; top: 0; z-index: 20; }
.ks-shapka__ryad { display: flex; align-items: center; gap: 10px; min-height: 64px; }
.ks-logo { display: flex; align-items: center; gap: 10px; color: var(--ks-shapka-t); text-decoration: none; margin-right: auto; min-width: 0; }
.ks-logo:hover { color: #fff; }
.ks-logo__znak { flex: none; }
.ks-logo__slova { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.ks-logo__slova b { font-family: var(--ks-zag); font-size: 1.12rem; }
.ks-logo__slova small { color: var(--ks-shapka-s); font-size: .74rem; }
.ks-menu { display: none; gap: 2px; }
.ks-menu a { color: var(--ks-shapka-t); text-decoration: none; padding: 8px 11px; border-radius: 8px; font-size: .92rem; }
.ks-menu a:hover, .ks-menu a[aria-current] { background: rgba(255, 255, 255, .1); color: #fff; }
@media (min-width: 980px) { .ks-menu { display: flex; } }
.ks-ikonka { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; border: 0; background: transparent; color: var(--ks-shapka-t); cursor: pointer; flex: none; }
.ks-ikonka:hover { background: rgba(255, 255, 255, .1); color: #fff; }
.ks-ikonka__schet { position: absolute; top: 5px; right: 3px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: #e0773f; color: #fff; font: 700 .68rem/18px var(--ks-tekst); text-align: center; }
.ks-razdely summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; height: 44px; padding: 0 14px; border-radius: 10px; border: 1px solid rgba(255, 255, 255, .22); color: #fff; font-size: .92rem; }
.ks-razdely summary::-webkit-details-marker { display: none; }
.ks-razdely summary::before { content: ""; width: 16px; height: 11px; background: linear-gradient(currentColor 0 0) top/100% 2px no-repeat, linear-gradient(currentColor 0 0) center/100% 2px no-repeat, linear-gradient(currentColor 0 0) bottom/100% 2px no-repeat; }
.ks-razdely[open] summary { background: rgba(255, 255, 255, .12); }
.ks-razdely__panel { position: fixed; left: 0; right: 0; top: var(--ks-panel-top, 96px); max-height: calc(100vh - var(--ks-panel-top, 96px)); overflow-y: auto; background: var(--ks-list); color: var(--ks-chern); border-bottom: 1px solid var(--ks-lin); box-shadow: 0 20px 40px -20px rgba(0, 0, 0, .35); }
.ks-razdely__setka { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 8px 28px; padding-top: 18px; padding-bottom: 22px; }
.ks-razdely__setka h2 { font: 700 .74rem/1.3 var(--ks-tekst); text-transform: uppercase; letter-spacing: .08em; color: var(--ks-ser); margin: 10px 0 6px; }
.ks-razdely__setka ul { list-style: none; padding: 0; margin: 0; }
.ks-razdely__setka a { display: block; padding: 6px 0; text-decoration: none; color: var(--ks-chern); font-size: .96rem; }
.ks-razdely__setka a:hover, .ks-razdely__setka a[aria-current] { color: var(--ks-akc-t); }
@media (max-width: 420px) { .ks-logo__slova small { display: none; } .ks-razdely summary span { display: none; } .ks-razdely summary { padding: 0 13px; } }

/* ── Полоса «с прошлого визита», плашка устаревания ── */
.ks-s-proshlogo { background: var(--ks-akc-fon); border-bottom: 1px solid var(--ks-lin); font-size: .93rem; }
.ks-s-proshlogo p { margin: 0; padding: 10px 36px 10px 0; position: relative; }
.ks-s-proshlogo__x { position: absolute; right: -6px; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; border: 0; background: none; font-size: 1.4rem; color: var(--ks-ser); cursor: pointer; }
.ks-staroe { margin: 0; background: var(--ks-ohra-fon); padding: 8px 0; font-size: .9rem; }

/* ── Крошки, статья, оглавление ── */
.ks-kroshki ol { list-style: none; display: flex; flex-wrap: wrap; gap: 2px 0; padding: 18px 0 0; margin: 0; font-size: .86rem; color: var(--ks-ser); }
.ks-kroshki li { margin: 0; }
.ks-kroshki li + li::before { content: "›"; margin: 0 8px; color: var(--ks-ser2); }
.ks-kroshki a { color: var(--ks-ser); }
.ks-statya { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; padding-bottom: 56px; }
@media (min-width: 1060px) { .ks-statya { grid-template-columns: minmax(0, 740px) 260px; justify-content: space-between; } .ks-statya--shir { grid-template-columns: minmax(0, 1fr); } }
.ks-statya--shir .ks-statya__telo { max-width: none; }
.ks-statya__telo { min-width: 0; }
.ks-meta { display: flex; flex-wrap: wrap; gap: 4px 16px; color: var(--ks-ser); font-size: .86rem; margin-bottom: 1.4em; }
@media (max-width: 640px) { .ks-meta { flex-direction: column; gap: 2px; } }
.ks-ogl { position: sticky; top: 90px; align-self: start; font-size: .9rem; display: none; border-left: 2px solid var(--ks-lin); padding-left: 16px; }
.ks-ogl p { font: 700 .74rem var(--ks-tekst); text-transform: uppercase; letter-spacing: .08em; color: var(--ks-ser); margin-bottom: 8px; }
.ks-ogl ol, .ks-ogl-mob ol { padding-left: 1.2em; margin: 0; }
.ks-ogl a { color: var(--ks-ser); text-decoration: none; }
.ks-ogl a:hover { color: var(--ks-akc-t); }
@media (min-width: 1060px) { .ks-ogl { display: block; } .ks-ogl-mob { display: none; } }
.ks-ogl-mob { border: 1px solid var(--ks-lin); border-radius: var(--ks-r-mal); background: var(--ks-list); padding: 10px 14px; margin-bottom: 1.5em; font-size: .95rem; }
.ks-ogl-mob summary { cursor: pointer; font-weight: 600; min-height: 28px; }
.ks-statya__telo table, .ks-tabl table { border-collapse: collapse; width: 100%; font-size: .93rem; background: var(--ks-list); }
.ks-tabl { overflow-x: auto; margin: 0 0 1.4em; border: 1px solid var(--ks-lin); border-radius: var(--ks-r-mal); }
.ks-tabl:focus-visible { outline-offset: 0; }
.ks-tabl th, .ks-tabl td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--ks-lin); vertical-align: top; }
.ks-tabl thead th { background: var(--ks-list2); font-size: .84rem; color: var(--ks-ser); font-weight: 650; }
.ks-tabl tr:last-child td { border-bottom: 0; }
.ks-statya__telo blockquote { margin: 0 0 1.2em; padding: 4px 0 4px 18px; border-left: 3px solid var(--ks-akc); color: var(--ks-ser); font-style: italic; }

/* Живая цифра: пунктир, ссылка на /dannye/ */
.ks-c { color: inherit; text-decoration: underline dotted var(--ks-akc); text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.ks-c data { font-weight: 650; }
.ks-c:hover { color: var(--ks-akc-t); }

/* Шкала риска — пять делений */
.ks-risk { display: inline-flex; align-items: center; gap: 3px; vertical-align: middle; white-space: nowrap; }
.ks-risk i { width: 13px; height: 9px; border-radius: 2px; background: var(--ks-r0); }
.ks-risk b { font-weight: 500; font-size: .84rem; color: var(--ks-ser); margin-left: 6px; white-space: normal; }
.ks-risk--1 i.on { background: var(--ks-r1); } .ks-risk--2 i.on { background: var(--ks-r2); } .ks-risk--3 i.on { background: var(--ks-r3); }
.ks-risk--4 i.on { background: var(--ks-r4); } .ks-risk--5 i.on { background: var(--ks-r5); }

/* Врезки */
.ks-otvet { background: var(--ks-list); border: 1px solid var(--ks-lin); border-left: 5px solid var(--ks-zel); border-radius: var(--ks-r-mal); padding: 14px 18px 4px; margin: 0 0 1.6em; font-size: 1.04rem; }
.ks-otvet__metka, .ks-vrezka__metka { font: 700 .72rem/1.3 var(--ks-tekst); text-transform: uppercase; letter-spacing: .09em; color: var(--ks-zel); margin: 0 0 6px; }
.ks-vrezka { border-radius: var(--ks-r-mal); padding: 14px 18px 4px; margin: 1.4em 0; background: var(--ks-list); border: 1px solid var(--ks-lin); }
.ks-vrezka--podvoh { background: var(--ks-akc-fon); border-color: transparent; }
.ks-vrezka--podvoh .ks-vrezka__metka { color: var(--ks-akc-t); }
.ks-vrezka--vazhno { border-left: 5px solid var(--ks-akc); }
.ks-vrezka--vazhno .ks-vrezka__metka { color: var(--ks-akc-t); }
.ks-vrezka--primer { background: var(--ks-list2); border-style: dashed; }
.ks-vrezka--primer .ks-vrezka__metka { color: var(--ks-ser); }
.ks-vrezka--ne { background: var(--ks-krasn-fon); border-color: transparent; }
.ks-vrezka--ne .ks-vrezka__metka { color: var(--ks-krasn); }
.ks-nr { font-size: .86rem; color: var(--ks-ser); border-top: 1px solid var(--ks-lin); padding-top: 14px; margin-top: 2em; }

/* Мини-карточка инструмента */
.ks-stroka { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 14px 18px 10px; margin: 1.4em 0; box-shadow: var(--ks-ten); }
.ks-stroka__zag { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 14px; font-family: var(--ks-zag); font-weight: 700; font-size: 1.1rem; margin-bottom: 8px; }
.ks-stroka__zag a { color: var(--ks-chern); }
.ks-stroka dl { display: grid; grid-template-columns: 1fr; gap: 0; margin: 0; }
@media (min-width: 640px) { .ks-stroka dl { grid-template-columns: 1fr 1fr; column-gap: 22px; } }
.ks-stroka dl div { border-top: 1px solid var(--ks-lin); padding: 7px 0; }
.ks-stroka dt { font-size: .76rem; color: var(--ks-ser); text-transform: uppercase; letter-spacing: .06em; }
.ks-stroka dd { margin: 0; font-size: .95rem; }
.ks-stroka__niz { margin: 6px 0 0; font-size: .88rem; }
.ks-kalk-anons { margin: 1.4em 0; }
.ks-kalk-anons a { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px 14px 58px; border-radius: var(--ks-r); background: var(--ks-shapka); color: var(--ks-shapka-t); text-decoration: none; position: relative; }
.ks-kalk-anons a::before { content: ""; position: absolute; left: 16px; top: 50%; width: 28px; height: 28px; margin-top: -14px; border-radius: 7px; background: #d0683a linear-gradient(#fff 0 0) 6px 6px/16px 4px no-repeat; box-shadow: inset 0 -8px 0 -4px rgba(0,0,0,.0); }
.ks-kalk-anons a::after { content: "→"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); font-size: 1.3rem; }
.ks-kalk-anons b { color: #fff; font-size: 1.02rem; padding-right: 24px; }
.ks-kalk-anons span { color: var(--ks-shapka-s); font-size: .9rem; padding-right: 24px; }
.ks-kalk-anons a:hover b { text-decoration: underline; }

/* Вопросы, «откуда цифры», «что ещё» */
.ks-voprosy details { border-top: 1px solid var(--ks-lin); padding: 4px 0; }
.ks-voprosy details:last-child { border-bottom: 1px solid var(--ks-lin); }
.ks-voprosy summary { cursor: pointer; font-weight: 650; padding: 10px 28px 10px 0; position: relative; list-style: none; }
.ks-voprosy summary::-webkit-details-marker { display: none; }
.ks-voprosy summary::after { content: "+"; position: absolute; right: 4px; top: 8px; font-size: 1.3rem; color: var(--ks-akc); }
.ks-voprosy details[open] summary::after { content: "−"; }
.ks-voprosy details > div { padding: 0 0 8px; }
.ks-cifry { margin-top: 2.2em; background: var(--ks-list2); border-radius: var(--ks-r-mal); padding: 4px 18px 6px; font-size: .9rem; }
.ks-cifry h2 { font-size: 1.05rem; margin: 12px 0 6px; }
.ks-cifry ul { padding-left: 1.1em; margin-bottom: .6em; }
.ks-dalee { list-style: none; padding: 0; margin: 2em 0 0; display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.ks-dalee li { margin: 0; }
.ks-dalee a { display: flex; flex-direction: column; height: 100%; padding: 14px 16px; border: 1px solid var(--ks-lin); border-radius: var(--ks-r-mal); background: var(--ks-list); text-decoration: none; font-weight: 650; color: var(--ks-chern); }
.ks-dalee a:hover { border-color: var(--ks-akc); }
.ks-dalee small { font-weight: 400; color: var(--ks-ser); font-size: .86rem; margin-top: 3px; }

/* ── Кнопки и поля ── */
.ks-knopka { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 46px; padding: 0 20px; border-radius: 10px; border: 0; background: var(--ks-akc); color: #fff; font: 650 1rem var(--ks-tekst); cursor: pointer; text-decoration: none; }
.ks-knopka:hover { background: var(--ks-akc-t); color: #fff; }
.ks-knopka--vtor { background: transparent; color: var(--ks-chern); border: 1.5px solid var(--ks-lin2); }
.ks-knopka--vtor:hover { background: var(--ks-list2); color: var(--ks-chern); border-color: var(--ks-akc); }
.ks-knopka--mal { min-height: 44px; padding: 0 14px; font-size: .9rem; }
.ks-vvod, .ks-pole input, .ks-pole select { width: 100%; min-height: 46px; padding: 8px 12px; border-radius: 10px; border: 1.5px solid var(--ks-lin2); background: var(--ks-list); color: var(--ks-chern); font: 1rem var(--ks-tekst); font-variant-numeric: tabular-nums; }
.ks-vvod:focus, .ks-pole input:focus, .ks-pole select:focus { border-color: var(--ks-akc); outline: none; box-shadow: 0 0 0 3px var(--ks-akc-fon); }
.ks-proverka { display: flex; gap: 8px; }
.ks-proverka .ks-vvod { flex: 1; min-width: 0; }
.ks-proverka-blok { background: var(--ks-shapka); color: var(--ks-shapka-t); border-radius: var(--ks-r); padding: 18px 20px 8px; margin: 1.6em 0; }
.ks-proverka-blok__zag { font-family: var(--ks-zag); font-weight: 700; font-size: 1.15rem; color: #fff; margin-bottom: 10px; }
.ks-proverka-blok__pod { font-size: .86rem; color: var(--ks-shapka-s); margin: 10px 0; }
.ks-proverka-blok a { color: #f2c6a8; }
.ks-proverka-blok .ks-vvod { background: #fff; color: #18241f; border-color: transparent; }
@media (max-width: 420px) { .ks-proverka { flex-direction: column; } }

/* Чек-лист */
.ks-chek ol { list-style: none; padding: 0; counter-reset: ch; margin: 0 0 12px; }
.ks-chek li { margin: 0 0 8px; counter-increment: ch; }
.ks-chek label { display: flex; gap: 12px; align-items: flex-start; background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r-mal); padding: 12px 14px; cursor: pointer; }
.ks-chek input { flex: none; width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--ks-krasn); }
.ks-chek label span { display: flex; flex-direction: column; gap: 3px; }
.ks-chek label span b::before { content: counter(ch) ". "; color: var(--ks-ser2); font-weight: 500; }
.ks-chek small { color: var(--ks-ser); font-size: .9rem; }
.ks-chek li.on label { border-color: var(--ks-krasn); background: var(--ks-krasn-fon); }
.ks-chek__itog { font-weight: 650; padding: 12px 16px; border-radius: var(--ks-r-mal); background: var(--ks-list2); }
.ks-chek__itog[data-uroven="1"] { background: var(--ks-ohra-fon); }
.ks-chek__itog[data-uroven="2"] { background: var(--ks-krasn-fon); color: var(--ks-krasn); }

/* ── Подвал ── */
.ks-podval { background: var(--ks-shapka); color: var(--ks-shapka-t); padding: 36px 0 26px; font-size: .94rem; }
.ks-podval__setka { display: grid; gap: 24px 40px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .ks-podval__setka { grid-template-columns: 1.3fr 1fr .8fr; } }
.ks-podval h2 { font: 700 1.08rem/1.3 var(--ks-zag); color: #fff; margin: 0 0 10px; }
.ks-podval a { color: #f2c6a8; }
.ks-podval ul { list-style: none; padding: 0; margin: 0; }
.ks-podval kbd { background: transparent; color: #fff; border-color: #4f6a5f; }
.ks-podval__pod { color: var(--ks-shapka-s); font-size: .86rem; margin-top: 10px; }
.ks-podval .ks-vvod { background: #fff; color: #18241f; border-color: transparent; }
.ks-podval .ks-knopka--vtor { color: #fff; border-color: #4f6a5f; }
.ks-podval__mel { grid-column: 1 / -1; color: var(--ks-shapka-s); font-size: .8rem; border-top: 1px solid #2d4a40; padding-top: 16px; margin: 0; }
.ks-podval__mel--niz { border: 0; padding-top: 0; }

/* ── Главная ── */
.ks-geroj { padding: 34px 0 10px; }
.ks-geroj h1 { max-width: 20ch; margin-bottom: .25em; }
.ks-geroj__lid { font-size: 1.14rem; color: var(--ks-ser); max-width: 62ch; }
.ks-geroj__plashka { display: flex; flex-wrap: wrap; gap: 6px; font-size: .84rem; margin: 0 0 18px; }
.ks-geroj__plashka span { color: var(--ks-zel); background: var(--ks-zel-fon); border-radius: 999px; padding: 4px 12px; }
.ks-plitki { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0 8px; }
@media (min-width: 760px) { .ks-plitki { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .ks-plitki { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.ks-plitka { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 12px 14px 10px; display: flex; flex-direction: column; gap: 2px; min-width: 0; box-shadow: var(--ks-ten); position: relative; }
.ks-plitka__zag { font-size: .8rem; color: var(--ks-ser); line-height: 1.3; }
.ks-plitka__cifra { font: 700 clamp(1.45rem, 1.1rem + 1.2vw, 1.9rem)/1.1 var(--ks-zag); color: var(--ks-chern); margin: 4px 0 2px; letter-spacing: -.01em; }
.ks-plitka__cifra small { font-size: .55em; font-weight: 600; color: var(--ks-ser); }
.ks-plitka__pod { font-size: .8rem; color: var(--ks-ser); line-height: 1.35; }
.ks-plitka__ist { font-size: .72rem; color: var(--ks-ser2); margin-top: auto; padding-top: 6px; line-height: 1.3; }
.ks-plitka__ist a { color: var(--ks-ser2); }
.ks-plitka__bylo { font-size: .74rem; color: var(--ks-akc-t); font-weight: 650; }
.ks-plitka--akc { background: var(--ks-shapka); border-color: var(--ks-shapka); box-shadow: inset 0 3px 0 #d0683a, var(--ks-ten); }
.ks-plitka--akc .ks-plitka__zag, .ks-plitka--akc .ks-plitka__pod, .ks-plitka--akc .ks-plitka__ist, .ks-plitka--akc .ks-plitka__ist a { color: var(--ks-shapka-s); }
.ks-plitka--akc .ks-plitka__cifra { color: #fff; }
.ks-plitka--akc .ks-plitka__cifra small { color: var(--ks-shapka-s); }
.ks-plitki__niz { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: .86rem; color: var(--ks-ser); margin-bottom: 8px; }

/* Линейка доходностей */
.ks-lineyka { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 16px 18px 12px; margin: 22px 0; }
.ks-lineyka__zag { font-family: var(--ks-zag); font-weight: 700; font-size: 1.12rem; margin: 0 0 4px; }
.ks-lineyka__pod { font-size: .88rem; color: var(--ks-ser); margin: 0 0 10px; }
.ks-lineyka svg { display: block; width: 100%; height: auto; overflow: visible; }
.ks-lineyka text { font-family: var(--ks-tekst); fill: var(--ks-chern); }
.ks-lineyka .ser { fill: var(--ks-ser); }
.ks-lineyka__legenda { display: flex; flex-wrap: wrap; gap: 4px 16px; list-style: none; padding: 0; margin: 8px 0 0; font-size: .84rem; color: var(--ks-ser); }
.ks-lineyka__legenda li { margin: 0; display: flex; align-items: center; gap: 6px; }
.ks-lineyka__legenda b { color: var(--ks-chern); }
.ks-lineyka__legenda i { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }

/* Секции главной */
.ks-sekciya { padding: 26px 0 8px; }
.ks-sekciya__zag { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 20px; }
.ks-sekciya__zag h2 { margin: 0 0 6px; }
.ks-sekciya__zag a { font-size: .95rem; }
.ks-sekciya__lid { color: var(--ks-ser); max-width: 70ch; }
.ks-kartochki { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin: 14px 0; }
.ks-kartochka { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); text-decoration: none; color: var(--ks-chern); box-shadow: var(--ks-ten); }
a.ks-kartochka:hover { border-color: var(--ks-akc); color: var(--ks-chern); }
.ks-kartochka b { font-family: var(--ks-zag); font-size: 1.12rem; line-height: 1.25; }
.ks-kartochka span, .ks-kartochka p { color: var(--ks-ser); font-size: .92rem; margin: 0; }
.ks-kartochka__itog { font-size: .95rem; background: var(--ks-list2); border-radius: 8px; padding: 8px 10px; color: var(--ks-chern) !important; }
.ks-kartochka__itog strong { color: var(--ks-akc-t); }
.ks-kartochka__dal { margin-top: auto !important; color: var(--ks-akc-t) !important; font-weight: 650; }
.ks-dva { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .ks-dva { grid-template-columns: 1fr 1fr; } }
.ks-blok { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 18px 20px 8px; }
.ks-blok h3 { margin-top: 0; }
.ks-blok--tem { background: var(--ks-shapka); color: var(--ks-shapka-t); border-color: var(--ks-shapka); }
.ks-blok--tem h2, .ks-blok--tem h3 { color: #fff; }
.ks-blok--tem a { color: #f2c6a8; }
.ks-spisok-priznakov { padding-left: 1.2em; }
.ks-zhurnal { list-style: none; padding: 0; margin: 0; }
.ks-zhurnal li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 4px 16px; padding: 12px 0; border-top: 1px solid var(--ks-lin); margin: 0; }
.ks-zhurnal time { color: var(--ks-ser); font-size: .86rem; padding-top: 2px; }
.ks-zhurnal b { display: block; }
.ks-zhurnal p { margin: 2px 0 0; color: var(--ks-ser); font-size: .93rem; }
.ks-zhurnal .ks-metka { display: inline-block; font-size: .72rem; text-transform: uppercase; letter-spacing: .06em; color: var(--ks-zel); background: var(--ks-zel-fon); border-radius: 5px; padding: 1px 6px; margin-right: 6px; vertical-align: 1px; }
.ks-zhurnal li.novoe { background: linear-gradient(90deg, var(--ks-akc-fon), transparent 70%); }
.ks-zhurnal li.novoe b::after { content: "новое"; margin-left: 8px; font: 700 .68rem var(--ks-tekst); text-transform: uppercase; color: #fff; background: var(--ks-akc); border-radius: 4px; padding: 1px 5px; vertical-align: 2px; }
@media (max-width: 480px) { .ks-zhurnal li { grid-template-columns: 1fr; } }

/* ── Таблица сравнения ── */
.ks-filtry { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.ks-chip { min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid var(--ks-lin2); background: var(--ks-list); color: var(--ks-chern); font: 600 .9rem var(--ks-tekst); cursor: pointer; }
.ks-chip[aria-pressed="true"] { background: var(--ks-shapka); color: #fff; border-color: var(--ks-shapka); }
.ks-filtry__schet { align-self: center; font-size: .88rem; color: var(--ks-ser); margin-left: 4px; }
.ks-sravn { overflow-x: auto; border: 1px solid var(--ks-lin); border-radius: var(--ks-r); background: var(--ks-list); }
.ks-sravn table { border-collapse: separate; border-spacing: 0; width: 100%; min-width: 1080px; font-size: .9rem; }
.ks-sravn th, .ks-sravn td { padding: 11px 12px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--ks-lin); }
.ks-sravn thead th { position: sticky; top: 0; background: var(--ks-list2); font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--ks-ser); font-weight: 650; z-index: 1; }
.ks-sravn thead button { all: unset; cursor: pointer; display: inline-flex; gap: 4px; align-items: center; }
.ks-sravn thead button:focus-visible { outline: 2px solid var(--ks-akc); }
.ks-sravn tbody th { position: sticky; left: 0; background: var(--ks-list); z-index: 1; min-width: 180px; max-width: 220px; font-weight: 650; box-shadow: 1px 0 0 var(--ks-lin); }
.ks-sravn tbody th a { color: var(--ks-chern); }
.ks-sravn tbody th small { display: block; font-weight: 400; margin-top: 4px; }
.ks-sravn tbody tr:target th, .ks-sravn tbody tr:target td { background: var(--ks-akc-fon); }
.ks-sravn .da { color: var(--ks-zel); font-weight: 650; }
.ks-sravn .net { color: var(--ks-krasn); font-weight: 650; }
.ks-sravn td.ne { color: var(--ks-ser); font-size: .86rem; }
.ks-sravn tbody tr:last-child th, .ks-sravn tbody tr:last-child td { border-bottom: 0; }
.ks-mob-karty { display: none; }
@media (max-width: 720px) {
  .ks-sravn--karty { display: none; }
  .ks-mob-karty { display: grid; gap: 10px; }
  .ks-mob-karty > article { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 12px 14px; }
  .ks-mob-karty h2 { margin: 0 0 6px; font-size: 1.08rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 10px; }
  .ks-mob-karty dl { margin: 0; display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 5px 10px; font-size: .9rem; }
  .ks-mob-karty dt { color: var(--ks-ser); font-size: .8rem; }
  .ks-mob-karty dd { margin: 0; }
}

/* ── Калькуляторы ── */
.ks-kalk { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 18px 18px 6px; margin: 0 0 1.4em; box-shadow: var(--ks-ten); }
.ks-kalk__polya { display: grid; gap: 12px 16px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); margin-bottom: 12px; }
.ks-pole { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ks-pole label, .ks-pole > span { font-size: .86rem; font-weight: 650; color: var(--ks-ser); }
.ks-pole small { font-size: .78rem; color: var(--ks-ser2); }
.ks-pole--flag { flex-direction: row; align-items: center; gap: 10px; min-height: 46px; }
.ks-pole--flag input { width: 22px; height: 22px; min-height: 0; accent-color: var(--ks-akc); }
.ks-pole--flag label { font-weight: 500; color: var(--ks-chern); font-size: .95rem; }
.ks-vkladki { display: flex; gap: 6px; margin-bottom: 14px; flex-wrap: wrap; }
.ks-vkladki button { min-height: 44px; padding: 0 16px; border-radius: 10px; border: 1.5px solid var(--ks-lin2); background: transparent; color: var(--ks-chern); font: 650 .92rem var(--ks-tekst); cursor: pointer; }
.ks-vkladki button[aria-selected="true"] { background: var(--ks-shapka); color: #fff; border-color: var(--ks-shapka); }
.ks-itog { border-top: 1px solid var(--ks-lin); padding-top: 14px; }
.ks-itog__glav { font-size: 1.1rem; margin-bottom: 10px; }
.ks-itog__glav strong { font-family: var(--ks-zag); font-size: 1.5em; color: var(--ks-akc-t); white-space: nowrap; }
.ks-itog__plitki { display: grid; gap: 8px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0 0 14px; }
.ks-itog__plitki div { background: var(--ks-list2); border-radius: 10px; padding: 10px 12px; }
.ks-itog__plitki span { display: block; font-size: .8rem; color: var(--ks-ser); }
.ks-itog__plitki b { font-family: var(--ks-zag); font-size: 1.25rem; }
.ks-bary { list-style: none; padding: 0; margin: 0 0 12px; display: grid; gap: 8px; }
.ks-bary small { color: var(--ks-ser); }
.ks-bary li { margin: 0; display: grid; grid-template-columns: minmax(110px, 190px) minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; font-size: .9rem; }
.ks-bary__polosa { position: relative; height: 22px; background: var(--ks-list2); border-radius: 6px; overflow: hidden; }
.ks-bary__znach { font-weight: 700; font-size: .86rem; white-space: nowrap; text-align: right; min-width: 9ch; }
.ks-bary__polosa i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: var(--ks-r1); min-width: 3px; }
.ks-bary__polosa i.minus { background: var(--ks-r5); }
.ks-bary__polosa i.nol { background: var(--ks-ser2); }
.ks-bary__nulevaya { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--ks-chern); opacity: .5; }
@media (max-width: 520px) { .ks-bary li { grid-template-columns: minmax(0, 1fr) auto; } .ks-bary li > span:first-child { grid-column: 1 / -1; } }
.ks-kalk__niz { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; font-size: .86rem; color: var(--ks-ser); padding: 10px 0 12px; }
.ks-kalk__niz button { min-height: 44px; }
.ks-kalk .ks-tabl { margin-bottom: 12px; max-height: 420px; overflow-y: auto; }

/* ── Графики данных ── */
.ks-grafik { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 14px 14px 8px; margin: 1em 0 1.4em; }
.ks-grafik svg { display: block; width: 100%; height: auto; }
.ks-grafik text { font: 11px var(--ks-tekst); fill: var(--ks-ser); }
.ks-grafik .os { stroke: var(--ks-lin); }
.ks-grafik figcaption { font-size: .84rem; color: var(--ks-ser); margin-top: 6px; }
.ks-dannye-setka { display: grid; gap: 12px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); margin: 1em 0 1.6em; }
.ks-dannye-setka > section { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 14px 16px 8px; scroll-margin-top: 90px; }
.ks-dannye-setka h2 { font-size: 1.05rem; margin: 0 0 4px; font-family: var(--ks-tekst); color: var(--ks-ser); font-weight: 650; }
.ks-dannye-setka .ks-bolshaya { font: 700 2rem/1.1 var(--ks-zag); margin: 4px 0; }
.ks-dannye-setka p { font-size: .9rem; margin-bottom: .5em; }
.ks-dannye-setka .ks-ist { font-size: .78rem; color: var(--ks-ser2); }

/* ── Тест ── */
.ks-test { background: var(--ks-list); border: 1px solid var(--ks-lin); border-radius: var(--ks-r); padding: 18px 18px 10px; box-shadow: var(--ks-ten); margin-bottom: 1.4em; }
.ks-test__shag { font-size: .84rem; color: var(--ks-ser); margin-bottom: 6px; }
.ks-test__progress { height: 6px; background: var(--ks-list2); border-radius: 3px; overflow: hidden; margin-bottom: 14px; }
.ks-test__progress i { display: block; height: 100%; background: var(--ks-akc); transition: width .25s; }
.ks-test__vopros { font: 700 1.28rem/1.3 var(--ks-zag); margin: 0 0 6px; }
.ks-test__podskazka { color: var(--ks-ser); font-size: .92rem; }
.ks-test__varianty { display: grid; gap: 8px; margin: 12px 0; }
.ks-test__varianty button { text-align: left; min-height: 50px; padding: 10px 14px; border-radius: 10px; border: 1.5px solid var(--ks-lin2); background: var(--ks-list); color: var(--ks-chern); font: 1rem var(--ks-tekst); cursor: pointer; }
.ks-test__varianty button:hover { border-color: var(--ks-akc); background: var(--ks-akc-fon); }
.ks-profil { border-radius: var(--ks-r); background: var(--ks-shapka); color: var(--ks-shapka-t); padding: 20px 22px 10px; margin: 0 0 1.4em; }
.ks-profil h2 { color: #fff; margin-top: 0; }
.ks-profil a { color: #f2c6a8; }
.ks-profily { display: grid; gap: 10px; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }

/* ── Словарь ── */
.ks-slovar-alf { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 1em; }
.ks-slovar-alf a { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; border-radius: 8px; background: var(--ks-list); border: 1px solid var(--ks-lin); text-decoration: none; font-weight: 650; }
.ks-slovar dt { font-family: var(--ks-zag); font-weight: 700; font-size: 1.12rem; margin-top: 1.2em; scroll-margin-top: 90px; }
.ks-slovar dt small { font-family: var(--ks-tekst); font-weight: 400; font-size: .86rem; color: var(--ks-ser); display: block; }
.ks-slovar dd { margin: 4px 0 0; padding-bottom: 12px; border-bottom: 1px solid var(--ks-lin); }
.ks-slovar dd p:last-child { margin-bottom: .4em; }
.ks-slovar__sm { font-size: .86rem; color: var(--ks-ser); }
.ks-slovar dt:target + dd, .ks-slovar dt:target { background: var(--ks-akc-fon); }

/* 404 */
.ks-404 { padding: 60px 0 80px; }
.ks-404 b { font: 700 5rem/1 var(--ks-zag); color: var(--ks-akc); }

@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
@media print { .ks-lenta, .ks-shapka, .ks-podval, .ks-dalee, .ks-ogl, .ks-s-proshlogo { display: none !important; } body { background: #fff; } }
