/* llmdocs — мост: разметка конвейера (build.py) в оформлении compact-classic */

/* заголовок статьи */
#firstHeading{font:400 30px/1.2 Georgia,serif;margin:2px 0 4px;padding-bottom:4px;border-bottom:1px solid var(--line);color:var(--ink)}
#siteSub{font-size:12px;color:var(--muted);margin:0 0 10px}
#bodyContent{font-size:14px;line-height:1.65;color:var(--ink)}
#bodyContent p{margin:0 0 10px}
#bodyContent ul,#bodyContent ol{margin:0 0 10px;padding-left:22px}
#bodyContent li{margin:2px 0}
#bodyContent h2{font:400 22px Georgia,serif;margin:20px 0 8px;padding-bottom:3px;border-bottom:1px solid var(--line);scroll-margin-top:12px;clear:none}
#bodyContent h3{font:700 15px Arial,sans-serif;margin:16px 0 6px;scroll-margin-top:12px}
#bodyContent blockquote{margin:10px 0;padding:6px 12px;border-left:3px solid var(--blue-line);background:var(--paper-soft);color:var(--muted)}
#bodyContent hr{border:0;border-top:1px solid var(--line);margin:16px 0}

/* ссылки */
#bodyContent a.new,#bodyContent span.new{color:#ba3b2c}
#bodyContent a.external::after{content:"↗";font-size:.8em;margin-left:2px;opacity:.6}
sup.reference{font-size:.75em;line-height:0}
sup.reference a{padding:0 1px}

/* хатноут «Портал: …» */
.hatnote{font-size:12px;color:var(--muted);padding:3px 0 3px 10px;margin:0 0 10px;border-left:2px solid var(--blue-line);font-style:italic}

/* инфобокс */
.infobox{float:right;clear:right;width:270px;margin:0 0 14px 18px;border:1px solid var(--line-strong);background:var(--paper-soft);border-collapse:collapse;font-size:12px;line-height:1.45}
.infobox caption{font:400 17px Georgia,serif;text-align:center;padding:9px 10px 7px;background:var(--blue-2);border:1px solid var(--line-strong);border-bottom:0;caption-side:top}
.infobox th,.infobox td{padding:5px 9px;border-top:1px solid var(--line);vertical-align:top;text-align:left}
.infobox th{width:40%;font-weight:600;color:var(--muted)}
.infobox-caption{text-align:center;color:var(--muted);font-size:11px}

/* оглавление */
.toc{display:inline-block;min-width:230px;max-width:100%;padding:8px 14px 9px;margin:4px 0 16px;border:1px solid var(--line-strong);background:var(--paper-soft);font-size:13px}
.toctitle h2{font:700 13px Arial,sans-serif!important;border:0!important;margin:0 0 4px!important;padding:0!important;text-align:left}
.toc ul{list-style:none;padding:0!important;margin:0!important}
.toc ul ul{padding-left:18px!important}
.toc li{margin:1px 0!important}
.tocnumber{color:var(--muted);margin-right:4px}

/* код */
#bodyContent code{font:12.5px var(--mono);background:var(--paper-soft);border:1px solid var(--line);padding:0 4px}
#bodyContent .highlight,#bodyContent pre{background:var(--paper-soft);border:1px solid var(--line);margin:10px 0 14px;overflow:auto}
#bodyContent .highlight pre{border:0;margin:0;background:transparent}
#bodyContent pre{padding:10px 12px;font:12px/1.55 var(--mono)}
#bodyContent pre code{border:0;padding:0;background:transparent;font:inherit}
#bodyContent .highlight{position:relative}
.copy-code{position:absolute;top:4px;right:4px;font:11px Arial,sans-serif;padding:2px 7px;border:1px solid var(--line);background:var(--paper);color:var(--muted);cursor:pointer;opacity:0;transition:opacity .15s}
#bodyContent .highlight:hover .copy-code,.copy-code:focus{opacity:1}

/* таблицы */
.mw-parser-output table:not(.infobox){border-collapse:collapse;margin:10px 0 14px;font-size:13px;background:var(--paper);display:block;overflow-x:auto;max-width:100%}
.mw-parser-output table:not(.infobox) th,.mw-parser-output table:not(.infobox) td{border:1px solid var(--line-strong);padding:5px 9px;text-align:left;vertical-align:top}
.mw-parser-output table:not(.infobox) th{background:var(--blue-2);font-weight:600}

/* источники и категории */
ol.references{font-size:12px;padding-left:24px}
ol.references li:target{background:var(--blue-2)}
.catlinks{clear:both;margin-top:22px;padding:6px 10px;border:1px solid var(--line-strong);background:var(--paper-soft);font-size:12px}
.catlinks ul{display:inline;padding:0!important;margin:0!important}
.catlinks li{display:inline;margin:0!important;padding:0 6px;border-left:1px solid var(--line-strong)}
.catlinks li:first-child{border-left:0}

/* заглавная */
.mp-welcome{padding:12px 14px;margin:0 0 12px;border:1px solid var(--green-line);background:var(--green)}
.mp-welcome .mp-hello{font:400 24px Georgia,serif!important;border:0!important;margin:0 0 4px!important}
.mp-count{color:var(--muted);font-size:12px;margin:0!important}
.mp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.mp-box{border:1px solid var(--blue-line);background:var(--paper);padding:0 12px 10px}
.mp-box>h2{font:700 13px Arial,sans-serif!important;margin:0 -12px 9px!important;padding:6px 12px!important;background:var(--blue-2);border-bottom:1px solid var(--blue-line)!important}
.mp-featured{background:var(--green);border-color:var(--green-line)}
.mp-featured>h2{background:color-mix(in srgb,var(--green-line) 45%,var(--green))!important;border-color:var(--green-line)!important}
.portal-cards{list-style:none;padding:0!important;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px}
.portal-cards li{margin:0!important}
.portal-cards li a{display:block;padding:6px 9px;border:1px solid var(--line);background:var(--paper-soft)}
.portal-cards li a:hover{border-color:var(--blue-line);background:var(--blue-2);text-decoration:none}
.portal-cards li span{display:block;font-size:11px;color:var(--muted)}
.more{text-align:right;font-size:12px}

/* порталы, каталог */
.portal-intro{padding:9px 12px;margin:0 0 12px;border:1px solid var(--blue-line);background:var(--blue-2)}
.portal-stat{color:var(--muted);font-size:12px}
.portal-list,.all-list{columns:3 210px;column-gap:24px}
.portal-list li,.all-list li{break-inside:avoid}

/* поиск по заголовкам (typeahead) */
.search-results a{display:flex}

@media(max-width:760px){
  .infobox{float:none;width:100%;margin:0 0 14px}
  .mp-grid{grid-template-columns:1fr}
  #firstHeading{font-size:25px}
}
@media print{.page-tabs,.copy-code,.back-to-top{display:none!important}.infobox{break-inside:avoid}}

/* иконки меню: фиксированная ширина только у <i>, текст не сжимается */
.side-link> :first-child{width:auto}
.side-link>i{font-style:normal;flex:0 0 12px;text-align:center;color:var(--blue)}
.side-link>span{flex:1;min-width:0}

/* тёмная тема: убрать захардкоженные светлые фоны compact-classic */
:root[data-theme="dark"] .page-tabs,:root[data-theme="dark"] .search-form>button{background:var(--paper-soft);color:var(--ink)}
:root[data-theme="dark"] .side-link:hover,:root[data-theme="dark"] .side-link.active{background:var(--blue-2);color:var(--ink)}
@media(prefers-color-scheme:dark){
  :root:not([data-theme]) .page-tabs,:root:not([data-theme]) .search-form>button{background:var(--paper-soft);color:var(--ink)}
  :root:not([data-theme]) .side-link:hover,:root:not([data-theme]) .side-link.active{background:var(--blue-2);color:var(--ink)}
}

/* мобильная версия */
@media(max-width:760px){
  .site-header{flex-wrap:wrap}
  .content-sheet{border-left:0;border-right:0}
  .page-tabs{padding:0 6px;overflow-x:auto}
  .tab-action span{display:none}
  .article-content{padding:12px 12px 18px}
  #bodyContent{font-size:15px;line-height:1.6}
  #bodyContent h2{font-size:20px}
  .toc{display:block;min-width:0}
  .portal-list,.all-list{columns:1}
  .portal-cards{grid-template-columns:1fr}
  #bodyContent pre{font-size:12px}
  .infobox th{width:38%}
  .sidebar{overflow-y:auto}
  .side-link{padding:7px 8px;font-size:14px}
  .site-footer{flex-direction:column;gap:4px;padding:10px 12px}
  .back-to-top{right:12px;bottom:12px}
}
