
/* ===== Светлая тема (по умолчанию) ===== */
:root{--bg:#f7f7f8;--card:#fff;--text:#2d2d2f;--muted:#6b6b70;--line:#e6e6e9;--accent:#3a3a3e;--accent-h:#55555b;--radius:14px;--shadow:0 1px 3px rgba(16,24,40,.05);--input-bg:#fff;--bad:#dc2626}
body.dark{--bg:#121418;--card:#1b1e24;--text:#e8eaee;--muted:#9aa1ad;--line:#2b2f38;--accent:#4f8cff;--accent-h:#6ba0ff;--shadow:0 1px 3px rgba(0,0,0,.4);--input-bg:#23262d;--bad:#f87171}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;font-size:16px;display:flex;flex-direction:column;min-height:100vh;transition:background .2s,color .2s;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.card-title{overflow-wrap:anywhere}
.container{max-width:1600px;margin:25px auto;padding:0 24px;width:100%}
/* ===== Шапка ===== */
.site-header{background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;box-shadow:var(--shadow)}
.bar{display:flex;align-items:center;gap:14px;padding:13px 0;max-width:1600px;margin:0 auto;padding-left:24px;padding-right:24px;position:relative}
.logo{font-size:0;display:flex;align-items:center;gap:10px;line-height:1.15;flex:none}
.logo-img{width:42px;height:42px;border-radius:9px;object-fit:cover;flex:none}
.logo-text{display:flex;flex-direction:column}
.logo-name{font-size:20px;font-weight:800;letter-spacing:-.4px}
.logo-tag{font-size:12px;color:var(--muted);font-weight:400;letter-spacing:.1px}
.search-form{flex:none;width:380px;display:flex;position:relative}
.search-form input{flex:1;padding:11px 44px 11px 16px;border:1px solid var(--line);border-radius:12px;font-size:15px;background:var(--input-bg);outline:none;transition:border-color .15s,box-shadow .15s;color:var(--text)}
.search-form input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(79,140,255,.15)}
.search-form button{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:none;background:none;cursor:pointer;padding:8px;color:var(--muted);display:flex;align-items:center;justify-content:center}
.search-form button svg{width:19px;height:19px}
.header-actions{display:flex;align-items:center;gap:10px;flex:none}
.tg-link{display:inline-flex;align-items:center;gap:8px;background:var(--input-bg);border:1px solid var(--line);border-radius:12px;padding:9px 14px;font-size:14px;font-weight:600;color:var(--text);transition:.15s;text-decoration:none}
.tg-link:hover{border-color:var(--accent);color:var(--accent)}
.tg-link svg{width:20px;height:20px;flex:none}
.theme-btn{width:42px;height:42px;flex:none;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--muted);cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center}
.theme-btn svg{width:20px;height:20px}
.theme-btn:hover{border-color:var(--accent);color:var(--text)}
.burger{display:none;width:42px;height:42px;flex:none;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--text);font-size:22px;cursor:pointer;align-items:center;justify-content:center}
/* ===== Меню (один ряд, «Разделы» с сабменю, прижато вправо) ===== */
.main-nav{display:flex;gap:4px;align-items:center;flex:none;margin-left:auto}
.main-nav>a{color:var(--muted);text-decoration:none;padding:9px 14px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap}
.main-nav>a:hover{background:var(--bg);color:var(--text)}
.main-nav>a.on{color:var(--text);background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
.dropdown{position:relative}
.dropdown>.dd-btn{display:flex;align-items:center;gap:6px;color:var(--muted);text-decoration:none;padding:9px 14px;border-radius:10px;font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer}
.dropdown>.dd-btn:hover{background:var(--bg);color:var(--text)}
.dropdown .caret{font-size:9px;opacity:.7}
.dd-sub{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--card);border:1px solid var(--line);border-radius:13px;box-shadow:0 16px 40px rgba(16,24,40,.14);padding:7px;z-index:60;flex-direction:column;gap:2px}
.dd-sub.open{display:flex}
.dd-sub a{display:block;padding:10px 14px;border-radius:9px;color:var(--text);text-decoration:none;font-size:14px}
.dd-sub a:hover{background:var(--bg)}
.dd-sub a.on{background:var(--bg);box-shadow:inset 0 0 0 1px var(--line)}
/* ===== Контент ===== */
main{padding:0;flex:1}
.section-title{font-size:20px;font-weight:700;margin:0 0 20px;display:flex;align-items:center;gap:10px}
.section-title::after{content:'';flex:1;height:1px;background:var(--line)}
/* ===== Карточки ===== */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:24px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column;box-shadow:var(--shadow)}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card-media{aspect-ratio:16/10;background:#eee;overflow:hidden}
.card-media img{width:100%;height:100%;object-fit:cover}
.card-body{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.card-cat{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted)}
.card-title{font-size:16.5px;font-weight:700;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.card-title:hover{color:var(--accent-h)}
.card-meta{font-size:13px;color:var(--muted);margin-top:auto}
/* ===== Статья: 2 колонки ===== */
.article-layout{display:grid;grid-template-columns:1fr 320px;gap:24px;align-items:start}
.article{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:32px;box-shadow:var(--shadow)}
.breadcrumbs{font-size:13px;color:var(--muted);margin-bottom:18px;display:flex;flex-wrap:wrap;gap:6px}
.breadcrumbs a:hover{text-decoration:underline}
.article h1{font-size:32px;line-height:1.25;font-weight:800;margin-bottom:14px;letter-spacing:-.3px}
.article-meta{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:14px;margin-bottom:22px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.article-cover{border-radius:var(--radius);overflow:hidden;margin-bottom:24px}
.article-body{font-size:17.5px;line-height:1.75}
.article-body p{margin-bottom:1.2em}
.article-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px;padding-top:20px;border-top:1px solid var(--line)}
.article-tags a{background:var(--bg);border:1px solid var(--line);padding:6px 14px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--muted)}
.article-tags a:hover{background:var(--accent);color:#fff}
/* ===== Автор ===== */
.author-box{display:flex;gap:16px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:28px}
.author-avatar{width:58px;height:58px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;flex:none;overflow:hidden}
.author-info .a-name{font-size:16px;font-weight:800}
.author-info .a-label{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;margin-bottom:2px}
.author-info .a-bio{font-size:13.5px;color:var(--muted);margin-top:4px}
/* ===== Сайдбар статьи ===== */
.sidebar-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.sidebar-box h3{font-size:15px;font-weight:800;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.side-links{display:flex;flex-direction:column}
.side-links a{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);transition:.15s}
.side-links a:last-child{border-bottom:none}
.side-links a:hover .sl-title{color:var(--accent)}
.side-links .sl-img{width:72px;height:48px;border-radius:8px;object-fit:cover;flex:none;background:#eee}
.side-links .sl-title{font-size:13.5px;font-weight:600;line-height:1.35;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.side-links .sl-date{font-size:11.5px;color:var(--muted);margin-top:3px}
/* ===== Пагинация ===== */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:32px;flex-wrap:wrap}
.pagination a,.pagination span{min-width:40px;padding:9px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);text-align:center;font-size:14px;font-weight:600}
.pagination a:hover{background:var(--accent);color:#fff}
.pagination .current{background:var(--accent);color:#fff;border-color:var(--accent)}
/* ===== Кнопки ===== */
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;padding:11px 22px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer}
.btn:hover{background:var(--accent-h)}
/* ===== Футер ===== */
.site-footer{background:var(--card);border-top:1px solid var(--line);margin-top:0}
.footer-inner{max-width:1600px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.f-col{display:flex;flex-direction:column;gap:9px;font-size:14px;color:var(--muted);padding:36px 0 32px}
.f-col h4{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--text);margin-bottom:4px}
.f-col a{color:var(--muted);transition:.15s}
.f-col a:hover{color:var(--accent)}
.f-brand p{font-size:13.5px;line-height:1.6;max-width:340px}
.f-bottom{border-top:1px solid var(--line)}
.f-inner2{max-width:1600px;margin:0 auto;padding:16px 24px;font-size:13px;color:var(--muted)}
/* ===== 404 ===== */
.err404{text-align:center;padding:80px 0}
.err404 h1{font-size:72px;font-weight:800;letter-spacing:-2px}
/* ===== Cookie-уведомление ===== */
.cookie-bar{position:fixed;left:16px;right:16px;bottom:16px;max-width:560px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 16px 44px rgba(16,24,40,.22);z-index:200;font-size:13.5px;color:var(--text)}
.cookie-bar .cb-text{flex:1}
.cookie-bar .cb-btn{background:var(--accent);color:#fff;border:none;border-radius:9px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.cookie-bar .cb-btn:hover{background:var(--accent-h)}
/* ===== Баннер «сайт в разработке» ===== */
.dev-bar{position:fixed;left:16px;right:16px;top:16px;max-width:640px;margin:0 auto;background:var(--card);border:2px solid var(--bad);border-radius:14px;padding:16px 20px;display:flex;gap:14px;align-items:center;box-shadow:0 16px 44px rgba(220,38,38,.18);z-index:210;font-size:14px;color:var(--text)}
.dev-bar .db-icon{font-size:26px;flex:none}
.dev-bar .db-text{flex:1}
.dev-bar .db-text b{color:var(--bad)}
.dev-bar .db-btn{background:var(--bad);color:#fff;border:none;border-radius:9px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}
.dev-bar .db-btn:hover{opacity:.9}
/* ===== Адаптив ===== */
@media(max-width:900px){.hero{grid-template-columns:1fr}.hero-main{min-height:300px}.article{padding:20px}.article h1{font-size:24px}.article-layout{grid-template-columns:1fr}.sidebar-box{position:static}}
@media(max-width:768px){
  .bar{padding:12px 16px}
  .header-actions{margin-left:auto}
  .search-form{display:none}
  .burger{display:flex}
  .tg-link span{display:none}
  .tg-link{padding:9px}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--card);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0 14px;max-height:calc(100vh - 90px);overflow-y:auto;box-shadow:0 14px 34px rgba(0,0,0,.10)}
  .main-nav.open{display:flex}
  .main-nav>a{display:block;padding:12px 24px;border-radius:0;font-size:15.5px;font-weight:600;white-space:normal;width:100%}
  .main-nav>a.on{background:var(--bg);box-shadow:inset 2px 0 0 var(--accent)}
  .dropdown{width:100%}
  .dropdown>.dd-btn{justify-content:space-between;padding:12px 24px;font-size:15.5px;font-weight:600;border-radius:0;width:100%}
  .dd-sub{display:none;position:static;min-width:0;box-shadow:none;border:none;border-left:2px solid var(--line);border-radius:0;padding:0 0 6px 20px;margin:0}
  .dd-sub.open{display:flex}
  .dd-sub a{padding:10px 14px;font-size:14.5px;width:100%}
  .logo-img{width:38px;height:38px}
  .logo-name{font-size:17px}
  .logo-tag{font-size:11px}
  .footer-inner{grid-template-columns:1fr;gap:6px;padding:0 16px}
  .f-col{padding:0 0 18px}
  .f-brand p{max-width:100%}
  .f-bottom .f-inner2{padding:12px 16px;line-height:1.5}
}
@media(max-width:600px){.grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.card-title{font-size:14.5px}.article-body{font-size:16px}.article{padding:18px}.article h1{font-size:21px}.sidebar-box{padding:16px}.article-layout{gap:14px}}
