@charset "UTF-8";

 /* Базовый сброс и принудительный тёмный фон */
 html, body.publ-body {
 background-color: #0a0b0e !important;
 color: #ffffff !important;
 font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
 margin: 0;
 padding: 0;
 min-height: 100vh;
 }

 :root {
 --bg-main: #0a0b0e;
 --bg-surface: #111319;
 --bg-surface-elevated: #181a22;
 --accent: #d2ff00;
 --accent-glow: rgba(210, 255, 0, 0.15);
 --border: transparent;
 --border-hover: transparent;
 --text-main: #ffffff;
 --text-muted: #8b92a5;
 --font-display: 'Inter', sans-serif;
 --font-main: 'Inter', sans-serif;
 }

 .publ-page-wrap {
 max-width: none;
 margin: 0 auto;
 padding: 60px 24px 120px 24px;
 box-sizing: border-box;
 }

 /* Заголовок и Hero */
 .publ-hero-header {
 margin-bottom: 36px;
 padding-bottom: 30px;
 border-bottom: 1px solid var(--border);
 }

 .publ-header-top {
 display: flex;
 align-items: center;
 gap: 12px;
 margin-bottom: 16px;
 }

 .publ-badge {
 font-size: 0.72rem;
 font-weight: 800;
 letter-spacing: 0.12em;
 text-transform: uppercase;
 color: var(--accent);
 background: var(--accent-glow);
 padding: 4px 10px;
 border-radius: 4px;
 }

 .publ-counter-badge {
 font-family: 'Inter', sans-serif;
 font-size: 0.72rem;
 font-weight: 700;
 color: var(--text-muted);
 background: rgba(255, 255, 255, 0.04);
 border: 1px solid var(--border);
 padding: 3px 8px;
 border-radius: 4px;
 }

 .publ-hero-row {
 display: flex;
 justify-content: space-between;
 align-items: flex-end;
 gap: 24px;
 flex-wrap: wrap;
 }

 .publ-page-title {
 font-family: var(--font-display);
 font-size: clamp(2rem, 4.2vw, 3.2rem);
 font-weight: 900;
 letter-spacing: -0.03em;
 line-height: 1.05;
 margin: 0 0 12px 0;
 color: #fff;
 }

 .publ-page-desc {
 font-size: 0.95rem;
 color: var(--text-muted);
 line-height: 1.55;
 max-width: 680px;
 margin: 0;
 }

 .btn-primary {
 display: inline-flex;
 align-items: center;
 gap: 8px;
 background: var(--accent);
 color: #000 !important;
 padding: 12px 22px;
 border-radius: 8px;
 font-family: var(--font-main);
 font-size: 0.86rem;
 font-weight: 700;
 text-decoration: none;
 transition: transform 0.2s ease, box-shadow 0.2s ease;
 }

 .btn-primary:hover {
 transform: translateY(-2px);
 box-shadow: 0 8px 24px var(--accent-glow);
 color: #000 !important;
 }

 /* Табы рубрик */
 .publ-nav-bar {
 margin-bottom: 36px;
 overflow-x: auto;
 scrollbar-width: none;
 }

 .publ-nav-bar::-webkit-scrollbar {
 display: none;
 }

 .publ-tabs-scroll {
 display: flex;
 align-items: center;
 gap: 8px;
 min-width: max-content;
 }

 .publ-tab-btn {
 background: var(--bg-surface);
 border: 1px solid var(--border);
 color: var(--text-muted);
 font-size: 0.82rem;
 font-weight: 700;
 padding: 8px 16px;
 border-radius: 6px;
 text-decoration: none;
 transition: all 0.2s ease;
 }

 .publ-tab-btn:hover {
 background: var(--bg-surface-elevated);
 border-color: transparent;
 color: #fff;
 }

 .publ-tab-btn.is-active {
 background: var(--accent);
 color: #000;
 border-color: transparent;
 }

 /* Сетка статей */
 .publ-grid-container #allEntries, .publ-grid-container.is-grid {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 24px;
 }

 /* Карточка статьи (Вид материалов) */
 .publ-card {
 background: var(--bg-surface);
 border: 1px solid var(--border);
 border-radius: 12px;
 overflow: hidden;
 display: flex;
 flex-direction: column;
 transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
 box-sizing: border-box;
 }

 .publ-card:hover {
 transform: translateY(-4px);
 border-color: transparent;
 box-shadow: 0 16px 36px rgba(0, 0, 0, 0.5);
 }

 .publ-card-cover-wrap {
 width: 100%;
 aspect-ratio: 16 / 9;
 position: relative;
 background: #090a0d;
 overflow: hidden;
 display: block;
 }

 .publ-card-cover {
 width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.3s ease;
 }

 .publ-card:hover .publ-card-cover {
 transform: scale(1.04);
 }

 .publ-card-no-cover {
 padding: 20px 20px 0 20px;
 }

 .publ-cat-badge {
 position: absolute;
 bottom: 12px;
 left: 12px;
 background: rgba(10, 11, 14, 0.85);
 backdrop-filter: blur(8px);
 border: 1px solid var(--border);
 color: var(--accent);
 font-size: 0.68rem;
 font-weight: 800;
 letter-spacing: 0.05em;
 text-transform: uppercase;
 padding: 3px 8px;
 border-radius: 4px;
 }

 .publ-card-content {
 padding: 20px;
 display: flex;
 flex-direction: column;
 flex-grow: 1;
 justify-content: space-between;
 }

 .publ-card-title {
 font-family: var(--font-display);
 font-size: 1.15rem;
 font-weight: 900;
 line-height: 1.3;
 margin: 0 0 10px 0;
 color: #fff;
 }

 .publ-card-title a {
 color: #fff !important;
 text-decoration: none;
 transition: color 0.2s ease;
 }

 .publ-card-title a:hover {
 color: var(--accent) !important;
 }

 .publ-card-lead {
 font-size: 0.85rem;
 color: var(--text-muted);
 line-height: 1.55;
 margin: 0 0 20px 0;
 display: -webkit-box;
 -webkit-line-clamp: 3;
 -webkit-box-orient: vertical;
 overflow: hidden;
 }

 /* Автор и метрики */
 .publ-card-footer {
 padding-top: 14px;
 border-top: 1px solid var(--border);
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 12px;
 }

 .publ-author-box {
 display: flex;
 align-items: center;
 gap: 10px;
 overflow: hidden;
 }

 .publ-author-avatar {
 width: 32px;
 height: 32px;
 border-radius: 50%;
 background: #181a22;
 border: 1px solid var(--border);
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 }

 .publ-author-avatar img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 }

 .publ-author-avatar span {
 font-family: var(--font-display);
 font-size: 0.75rem;
 font-weight: 900;
 color: var(--accent);
 }

 .publ-author-info {
 display: flex;
 flex-direction: column;
 line-height: 1.2;
 overflow: hidden;
 }

 .publ-author-name a,
 .publ-author-name {
 font-size: 0.8rem;
 font-weight: 700;
 color: #fff !important;
 text-decoration: none;
 white-space: nowrap;
 overflow: hidden;
 text-overflow: ellipsis;
 }

 .publ-author-rank .rank-tag {
 font-size: 0.65rem;
 color: var(--accent);
 font-family: 'Inter', sans-serif;
 }

 .publ-meta-stats {
 display: flex;
 align-items: center;
 gap: 10px;
 font-size: 0.72rem;
 color: var(--text-muted);
 flex-shrink: 0;
 }

 .publ-stat {
 display: flex;
 align-items: center;
 gap: 4px;
 }

 /* Зачистка стандартных убогих таблиц uCoz */
 .publ-grid-container table {
 width: 100% !important;
 border-collapse: collapse !important;
 border: none !important;
 background: transparent !important;
 }
 .publ-grid-container td {
 border: none !important;
 padding: 0 !important;
 background: transparent !important;
 }

 @media (max-width: 1024px) {
 .publ-grid-container #allEntries {
 grid-template-columns: repeat(2, 1fr);
 gap: 18px;
 }
 }

 @media (max-width: 680px) {
 .publ-grid-container #allEntries {
 grid-template-columns: 1fr;
 }
 .publ-page-wrap {
 padding: 40px 16px 80px 16px;
 }
 .publ-hero-row {
 flex-direction: column;
 align-items: flex-start;
 }
 }
 
 /* ===== Общие элементы раздела статей ===== */
 .publ-crumbs { display:flex; flex-wrap:wrap; gap:8px; font-size:0.78rem; color:var(--text-muted); margin-bottom:18px; }
 .publ-crumbs a { color:var(--text-muted) !important; text-decoration:none; }
 .publ-crumbs a:hover { color:#fff !important; }
 .publ-crumbs span.sep { opacity:.4; }
 .btn-ghost { display:inline-flex; align-items:center; gap:8px; background:var(--bg-surface); color:#fff !important; padding:12px 20px; border-radius:8px; font-size:0.86rem; font-weight:600; text-decoration:none; transition:background .2s; }
 .btn-ghost:hover { background:var(--bg-surface-elevated); }
 .publ-toolbar { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:28px; font-size:0.82rem; color:var(--text-muted); }
 .publ-toolbar select, .publ-toolbar a { color:#fff; }
 .publ-empty { grid-column:1/-1; background:var(--bg-surface); border-radius:12px; padding:48px 24px; text-align:center; color:var(--text-muted); }
 .publ-pagination-wrap { margin-top:40px; display:flex; justify-content:center; }
 .publ-pagination-wrap a, .publ-pagination-wrap b, .publ-pagination-wrap span.pgSwch, .publ-pagination-wrap .swchItem, .publ-pagination-wrap .swchItemA { display:inline-block; min-width:36px; padding:8px 10px; margin:0 3px; border-radius:6px; background:var(--bg-surface); color:#fff !important; text-decoration:none; font-size:0.82rem; font-weight:700; text-align:center; }
 .publ-pagination-wrap b, .publ-pagination-wrap .swchItemA { background:var(--accent); color:#000 !important; }

 /* ===== Страница статьи (в духе dsgners.ru) ===== */
 .article-wrap { max-width:760px; margin:0 auto; }
 .article-cat { display:inline-block; margin-bottom:18px; }
 .article-title { font-family:var(--font-display); font-size:clamp(1.8rem,4vw,2.8rem); line-height:1.1; letter-spacing:-0.02em; margin:0 0 22px; color:#fff;font-weight:900}
 .article-author { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:16px 0 26px; }
 .article-author .publ-author-avatar { width:44px; height:44px; }
 .article-author .publ-author-name { font-size:0.92rem; }
 .article-date { font-size:0.78rem; color:var(--text-muted); }
 .article-cover { margin:0 0 32px; border-radius:14px; overflow:hidden; background:var(--bg-surface); }
 .article-cover img { width:100%; height:auto; display:block; }
 .article-text { font-size:1.06rem; line-height:1.75; color:#e6e8ee; word-wrap:break-word; }
 .article-text p { margin:0 0 1.2em; }
 .article-text h1, .article-text h2, .article-text h3 { font-family:var(--font-display); color:#fff; line-height:1.2; margin:1.8em 0 .6em;font-weight:900}
 .article-text h2 { font-size:1.6rem; } .article-text h3 { font-size:1.25rem; }
 .article-text img { max-width:100% !important; height:auto !important; border-radius:10px; margin:12px 0; }
 .article-text blockquote { margin:1.5em 0; padding:14px 22px; background:var(--bg-surface); border-left:3px solid var(--accent); border-radius:0 10px 10px 0; color:#fff; }
 .article-text ul, .article-text ol { padding-left:1.4em; margin:0 0 1.2em; }
 .article-text a { color:var(--accent) !important; }
 .article-text table { width:100%; border-collapse:collapse; } .article-text td, .article-text th { padding:8px; background:var(--bg-surface); }
 .article-text iframe, .article-text video { max-width:100%; border-radius:10px; }
 .article-source { margin-top:24px; font-size:0.85rem; color:var(--text-muted); }
 .article-tags { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0 0; }
 .article-tags a { background:var(--bg-surface); color:var(--text-muted) !important; padding:6px 12px; border-radius:6px; font-size:0.78rem; text-decoration:none; }
 .article-tags a:hover { color:#fff !important; }
 .article-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:16px; margin:36px 0 0; padding:18px 20px; background:var(--bg-surface); border-radius:12px; }
 .article-moder { margin-bottom:14px; }

 /* ===== Комментарии ===== */
 .comments-box { max-width:760px; margin:56px auto 0; }
 .comments-title { font-family:var(--font-display); font-size:1.4rem; color:#fff; margin:0 0 20px;font-weight:900}
 .comments-title span { color:var(--accent); }
 .comments-box .cBlock1, .comments-box .cBlock2, .comments-box .comEnt { background:var(--bg-surface) !important; border-radius:10px; padding:14px 16px; margin-bottom:10px; color:#e6e8ee; }
 .comments-box table { background:transparent !important; }
 .comments-box textarea, .comments-box input[type=text], .comments-box input[type=email] { width:100%; box-sizing:border-box; background:var(--bg-surface); color:#fff; border:none; border-radius:8px; padding:12px 14px; font-family:var(--font-main); font-size:0.92rem; }
 .comments-box input[type=submit], .comments-box input[type=button], .comments-box button { background:var(--accent); color:#000; border:none; border-radius:8px; padding:11px 20px; font-weight:700; cursor:pointer; }
 .comments-login { background:var(--bg-surface); border-radius:12px; padding:22px; text-align:center; color:var(--text-muted); }
 .comments-login a { font-weight:700; }

 /* ===== Форма добавления статьи ===== */
 .editor-wrap { max-width:860px; margin:0 auto; }
 .editor-tips { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:28px; }
 .editor-tip { background:var(--bg-surface); border-radius:10px; padding:14px 16px; font-size:0.8rem; line-height:1.5; color:var(--text-muted); }
 .editor-tip b { display:block; color:#fff; font-size:0.85rem; margin-bottom:4px; }
 .editor-form { background:var(--bg-surface); border-radius:14px; padding:28px; color:#e6e8ee; }
 .editor-form table { width:100% !important; background:transparent !important; border:none !important; }
 .editor-form td { background:transparent !important; border:none !important; padding:8px 4px !important; color:#e6e8ee; vertical-align:top; font-size:0.88rem; }
 .editor-form input[type=text], .editor-form input[type=url], .editor-form input:not([type]), .editor-form select, .editor-form textarea { width:100% !important; max-width:100%; box-sizing:border-box; background:var(--bg-main) !important; color:#fff !important; border:none !important; border-radius:8px; padding:12px 14px; font-family:var(--font-main); font-size:0.95rem; }
 .editor-form input[type=file] { color:var(--text-muted); }
 .editor-form input[type=submit], .editor-form input[type=button], .editor-form button { background:var(--accent) !important; color:#000 !important; border:none !important; border-radius:8px; padding:13px 26px; font-weight:800; font-size:0.9rem; cursor:pointer; }
 .editor-form iframe { border-radius:8px; }
 .editor-form a { color:var(--accent) !important; }

 @media (max-width:680px) {
 .editor-tips { grid-template-columns:1fr; }
 .editor-form { padding:18px; }
 .article-text { font-size:1rem; }
 }
 .publ-card-title { font-family: var(--font-main) !important; font-weight: 800 !important; letter-spacing: -0.01em; }
 .publ-card-lead a { color: var(--text-muted) !important; text-decoration: none; }
 .publ-author-avatar span { font-family: var(--font-main) !important; }
 .publ-crumbs a, .publ-cta-author a, .publ-tab-btn { text-decoration: none !important; }

 html { scrollbar-gutter: stable; }

 /* метки без зелёной плашки — только текст */
 .publ-badge{background:transparent!important;border:none!important;box-shadow:none!important;padding-left:0!important;padding-right:0!important}

 /* метки без плашек (UI/UX Pro Max) */
 .publ-counter-badge,.article-tags a{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
 .publ-counter-badge{color:var(--text-muted)!important;font-size:.72rem;letter-spacing:.1em}
 .article-tags{gap:4px 16px}
 .article-tags a::before{content:"#";color:var(--accent);margin-right:2px}
 .publ-cat-badge{background:transparent!important;border:none!important;backdrop-filter:none!important;padding:0!important;color:#fff!important;text-shadow:0 1px 12px rgba(0,0,0,.9);left:16px;bottom:14px}
 .publ-card-no-cover .publ-cat-badge{color:var(--accent)!important;text-shadow:none}
 .publ-badge + .publ-counter-badge::before{content:"·";margin:0 10px 0 0;opacity:.6}

 /* вкладки рубрик и второстепенные кнопки — текст, без плашек */
 .publ-tab-btn,.publ-tab-btn:hover,.publ-tab-btn.is-active,.btn-ghost,.btn-ghost:hover,.editor-tip{background:transparent!important;background-image:none!important;border:none!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
 .publ-tab-btn{padding:6px 0!important;margin-right:20px;color:var(--text-muted)!important}
 .publ-tab-btn:hover{color:#fff!important}
 .publ-tab-btn.is-active{color:var(--accent)!important}
 .btn-ghost{padding-left:0!important;padding-right:0!important}
 .btn-ghost:hover{color:var(--accent)!important}
 .editor-tip{padding:0!important}
 .publ-pagination-wrap a,.publ-pagination-wrap span.pgSwch,.publ-pagination-wrap .swchItem{background:transparent!important}

 .publ-page-wrap{padding-left:clamp(16px,4vw,72px)!important;padding-right:clamp(16px,4vw,72px)!important}

 /* надзаголовки-метки убраны */
 .publ-header-top{display:none!important}

 .publ-grid-container #allEntries > div { display:flex; }
 .publ-grid-container #allEntries > div > .publ-card { width:100%; }
