/* Россвеб · оформление статей-справочников (/spravochnik/…): блоки кода, таблицы, оглавление, ссылки на инструменты */
.sp{--sp-ink:#272829;--sp-ink2:#5F5F62;--sp-mute:#9A9A9E;--sp-line:#E3E3E6;--sp-soft:#EFEFF1;--sp-card:#fff;--sp-red:#E3000B;--sp-mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;max-width:960px;margin-bottom:80px}
.sp h2{margin:56px 0 18px;scroll-margin-top:120px}
.sp h3{margin:36px 0 12px;scroll-margin-top:120px}
.sp p,.sp li{line-height:1.65}
.sp .sp-lead{font-size:19px;line-height:1.6;color:var(--sp-ink2);max-width:820px}
.sp code{font-family:var(--sp-mono);font-size:.88em;background:var(--sp-soft);border-radius:6px;padding:1px 6px;word-break:break-word}
.sp pre{margin:0;background:#1F2023;color:#E8E8EA;border-radius:0 0 14px 14px;padding:16px 18px;overflow:auto;white-space:pre;font-size:13.5px;line-height:1.65;tab-size:4}
.sp pre code{background:none;padding:0;font-size:inherit;color:inherit;word-break:normal}
.sp pre.sp-solo{border-radius:14px;margin:0 0 18px}
.sp .sp-code{margin:6px 0 20px;border-radius:14px;overflow:hidden;background:#1F2023}
.sp .sp-bar{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 16px;background:#18191B;border-bottom:1px solid #2C2D31}
.sp .sp-lang{font-family:var(--sp-mono);font-size:12px;color:#8E9099;margin-right:auto;text-transform:lowercase}
.sp .sp-bar button,.sp .sp-bar a{font-family:inherit;font-size:13px;font-weight:600;line-height:1;color:#E8E8EA;background:transparent;border:1px solid #3A3B40;border-radius:100px;padding:7px 12px;cursor:pointer;text-decoration:none;white-space:nowrap}
.sp .sp-bar button:hover,.sp .sp-bar a:hover{border-color:#E8E8EA}
.sp .sp-bar a{background:var(--sp-red);border-color:var(--sp-red);color:#fff}
.sp .sp-bar a:hover{opacity:.9;border-color:var(--sp-red)}
.sp .sp-c{color:#8E9099}
.sp .sp-k{color:#F7B267}
.sp .sp-f{color:#7FC8A9}
.sp table{width:100%;border-collapse:collapse;margin:8px 0 22px;font-size:15px;background:var(--sp-card);border-radius:14px;overflow:hidden;display:table}
.sp th,.sp td{padding:12px 14px;border-bottom:1px solid var(--sp-line);text-align:left;vertical-align:top}
.sp th{font-size:13px;font-weight:600;color:var(--sp-ink2);background:var(--sp-soft)}
.sp tr:last-child td{border-bottom:0}
.sp td code{white-space:nowrap}
.sp .sp-tw{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:8px 0 22px;border-radius:14px}
.sp .sp-tw table{margin:0}
.sp .sp-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 8px}
.sp .sp-tools_end{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:48px}
.sp a.sp-tool{display:block;background:var(--sp-card);border:1px solid var(--sp-line);border-radius:16px;padding:18px 20px;text-decoration:none!important;color:var(--sp-ink);transition:border-color .15s,transform .15s}
.sp a.sp-tool:hover{border-color:var(--sp-ink);transform:translateY(-2px)}
.sp a.sp-tool b{display:block;font-size:17px;margin-bottom:6px}
.sp a.sp-tool b::after{content:" →";color:var(--sp-red)}
.sp a.sp-tool span{display:block;font-size:14px;line-height:1.45;color:var(--sp-ink2)}
.sp .sp-toc{background:var(--sp-card);border:1px solid var(--sp-line);border-radius:16px;padding:18px 24px;margin:24px 0 8px}
.sp .sp-toc p{margin:0 0 8px}
.sp .sp-toc ol{margin:0;padding-left:20px;columns:2;column-gap:32px}
.sp .sp-toc li{margin:0 0 6px;break-inside:avoid}
@media (max-width:900px){.sp .sp-tools,.sp .sp-tools_end{grid-template-columns:minmax(0,1fr)}.sp .sp-toc ol{columns:1}}
@media (max-width:600px){.sp pre{font-size:12px;padding:14px}.sp .sp-lead{font-size:17px}.sp .sp-bar{flex-wrap:wrap}.sp th,.sp td{padding:10px}}
