/* Приближение вёрстки статьи Хабра: тёмная шапка, колонка 740px, Fira Sans в заголовках */
.skin-habr { background: #f0f0f0; color: #333; font: 16px/1.56 -apple-system, BlinkMacSystemFont, Arial, sans-serif; }
.habr-header { background: #313c45; color: #fff; }
.habr-header__in { max-width: 1100px; margin: 0 auto; height: 50px; display: flex; align-items: center; gap: 22px; padding-inline: 16px; font-size: 14px; }
.habr-logo { font: 700 24px "Fira Sans", sans-serif; margin-right: 12px; }

.habr-layout { max-width: 1100px; margin: 0 auto; padding-block: 20px 60px; padding-inline: 16px; display: grid; grid-template-columns: minmax(0, 788px) 300px; gap: 24px; }
.habr-article { background: #fff; padding: 24px; }
.habr-meta { display: flex; align-items: center; gap: 10px; font-size: 13px; color: #919191; margin-bottom: 10px; }
.habr-meta b { color: #333; }
.habr-ava { width: 24px; height: 24px; border-radius: 4px; background: #d6e4ea; color: #3b6f88; display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.habr-labels { display: flex; gap: 14px; font-size: 13px; color: #919191; margin: 10px 0 6px; order: 2; }
.habr-hubs, .habr-tags { font-size: 13px; color: #919191; margin: 6px 0 18px; }
.habr-hubs a, .habr-tags a { color: #548eaa; margin-right: 6px; }

.habr-body h1 { font: 500 32px/40px "Fira Sans", sans-serif; color: #333; margin: 0 0 8px; }
.habr-body h2 { font: 500 24px/32px "Fira Sans", sans-serif; margin: 36px 0 12px; }
.habr-body h3 { font: 500 18px/26px "Fira Sans", sans-serif; margin: 32px 0 8px; }
.habr-body p { margin: 0 0 14px; line-height: 24px; }
.habr-body ul, .habr-body ol { margin: 0 0 16px; padding-left: 32px; }
.habr-body li { margin-bottom: 6px; line-height: 24px; }
.habr-body a { color: #548eaa; text-decoration: none; }
.habr-body a:hover { color: #7b4aa0; }
.habr-body strong { font-weight: 700; }
.habr-body code { font: 14px/22px Menlo, Monaco, Consolas, "Courier New", monospace; background: #f7f7f7; border-radius: 4px; padding: 1px 4px; }
.habr-body blockquote { margin: 24px 0; padding: 2px 0 2px 20px; border-left: 3px solid #5e6973; color: #333; }
.habr-body blockquote p { margin: 0; }
.habr-body figure { margin: 32px 0; text-align: center; }
.habr-body figure img { margin: 0 auto; }
.habr-body figcaption { font-size: 13px; line-height: 18px; color: #8f8f8f; margin-top: 6px; }
.habr-body hr { border: 0; border-top: 1px solid #e5e5e5; margin: 30px 0; }
.habr-aside .habr-card { background: #fff; padding: 16px; font-size: 14px; }
.habr-aside p { color: #555; margin: 6px 0 0; }

@media (max-width: 1000px) { .habr-layout { grid-template-columns: 1fr; } .habr-aside { display: none; } }
