/* ============ КАРТОЧКА ЗАПИСИ (эталон — Kb/Entry.vue кабинета) ============ */
/* Переменные, которых нет на витрине; значения сняты с кабинета. */
.kb-page{--hub-cy:#38bdf8;--hub-cy-rgb:56,189,248;--hub-thead:#1a1d21;
  --hub-warn-rgb:245,181,68;--hub-bad-rgb:240,101,74;--hub-ok-rgb:34,197,94;--hub-info-rgb:56,189,248}

.kb-page { --y: var(--hub-warn, #f5b544); --c: var(--hub-cy, #38bdf8); }

.kb-mut { color: var(--hub-mut, #8b97a8); }

.kb-dim { color: var(--hub-dim, #5f6b7c); }

.kb-sm { font-size:var(--t-caption); }

.kb-pri { color: var(--hub-pri2, #818cf8); }

.kb-mono,  .kb-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

.kb-card { background: var(--hub-card, #161d27); border: 1px solid var(--hub-line, #242e3b); border-radius: 10px; margin-bottom: 14px; }

.kb-lnk { color: var(--hub-pri2, #818cf8); text-decoration: none; }

.kb-empty,  .kb-empty { color: var(--hub-dim, #5f6b7c); font-size:var(--t-caption); font-style: italic; line-height: 1.6; }

.kb-tag { font-size:var(--t-label); padding: 2px 9px; border-radius: 20px; background: var(--hub-card2, #1b2430); border: 1px solid var(--hub-line2, #2c3846); color: var(--hub-mut, #8b97a8); white-space: nowrap; }

.kb-tag--blk { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.12); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.35); color: var(--c); font-family: ui-monospace, Menlo, monospace; }

.kb-tag--bad { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.13); border-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.4); color: var(--hub-bad, #f0654a); }

.kb-tag--pri { background: rgba(var(--hub-pri-rgb, 99, 102, 241),.14); border-color: rgba(var(--hub-pri-rgb, 99, 102, 241),.4); color: var(--hub-pri2, #818cf8); }

.kb-dh { position: relative; padding: 14px 18px 15px; border-bottom: 1px solid var(--hub-line, #242e3b); background: linear-gradient(180deg,rgba(var(--hub-warn-rgb, 245, 181, 68),.075),rgba(var(--hub-warn-rgb, 245, 181, 68),.012) 62%,transparent); overflow: hidden; }

.kb-dh::before { content: ""; position: absolute; left: 0px; top: 0px; bottom: 0px; width: 3px; background: var(--y); }

.kb-dh::after { content: ""; position: absolute; left: -60px; top: -90px; width: 230px; height: 230px; border-radius: 50%; background: radial-gradient(circle,rgba(var(--hub-warn-rgb, 245, 181, 68),.13),transparent 68%); pointer-events: none; }

.kb-dh--blk .kb-name h1 { color: var(--c); }

.kb-dh--rec .kb-name h1 { color: rgb(111, 208, 140); }

.kb-dh--nom .kb-name h1 { color: var(--hub-tx, #e7edf5); }

.kb-crumb { display: flex; align-items: center; gap: 7px; font-size:var(--t-caption); color: var(--hub-dim, #5f6b7c); margin-bottom: 9px; position: relative; }

.kb-crumb a { color: var(--hub-dim, #5f6b7c); text-decoration: none; }

.kb-crumb a:hover { color: var(--hub-mut, #8b97a8); }

.kb-crumb b { color: var(--hub-mut, #8b97a8); font-weight: 400; }

.kb-crumb .sep { color: rgb(58, 71, 87); }

.kb-crumb .r { margin-left: auto; display: flex; gap: 10px; align-items: center; }

.kb-name { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; position: relative; }

.kb-name h1 { font-weight:800;font-size:var(--t-h1);line-height:1.07;font-family:var(--t-head); color: var(--y); letter-spacing:-.03em; margin: 0px; }

.kb-role { margin-top: 8px; font-size:var(--t-body); color: var(--hub-tx, #e7edf5); font-weight: 600; position: relative;line-height:1.65 }

.kb-asline { margin-top: 11px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; position: relative; }

.kb-asline .lbl { font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); }

.kb-chip { display: inline-flex; align-items: center; gap: 7px; background: rgb(11, 16, 22); border: 1px solid var(--hub-line2, #2c3846); border-radius: 7px; padding: 5px 11px; font-size:var(--t-list);line-height:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }

.kb-chip .dr { color: var(--y); }

.kb-chip .nm { color: rgb(111, 208, 140); }

.kb-blkn,  .kb-blkn { font-family: ui-monospace, Menlo, monospace; font-size: 0.94em; color: var(--c); }

.kb-blkn--link { text-decoration: none; border-bottom: 1px dotted rgba(56, 189, 248, 0.45); }

.kb-blkn--link:hover { border-bottom-style: solid; }

.kb-dup { display: flex; align-items: center; gap: 8px; padding: 0px 18px; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.07); border-bottom: 1px solid var(--hub-line, #242e3b); font-size:var(--t-small); min-height: 38px; }

.kb-dup .kb-tag { cursor: pointer; text-decoration: none; }

.kb-tag--cur { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.16); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.5); color: var(--c); }

.kb-xbtn { margin-left: auto; margin-right: -18px; width: 400px; align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 9px; cursor: pointer; user-select: none; font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; font-weight:800; color: rgb(233, 192, 138); background: linear-gradient(rgba(124, 79, 26, 0.5), rgba(88, 55, 18, 0.46)); border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.28); box-shadow: inset 0 1px rgba(var(--hub-warn-rgb, 245, 181, 68),.12); transition: background 0.14s, color 0.14s, box-shadow 0.14s; }

.kb-xbtn:hover { background: linear-gradient(rgba(156, 100, 32, 0.62), rgba(112, 70, 22, 0.56)); color: rgb(255, 217, 163); box-shadow: inset 0 1px rgba(var(--hub-warn-rgb, 245, 181, 68),.22); }

.kb-xbtn .cv { width: 0px; height: 0px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid; transition: transform 0.22s; transform-origin: 50% 50%; }

.kb-grid { display: flex; align-items: stretch; gap: 0px; }

.kb-grid:has(.kb-railwrap--open) { min-height: 430px; }

.kb-main { flex: 1 1 0%; min-width: 0px; }

.kb-railwrap { position: relative; flex: 0 0 auto; width: 0px; overflow: hidden; background: rgba(0, 0, 0, 0.13); border-left: 0 solid var(--hub-line, #242e3b); transition: width 0.24s, border-left-width 0.24s; }

.kb-rail { position: absolute; top: 0px; bottom: 0px; left: 0px; width: 400px; overflow-y: auto; overscroll-behavior: contain; }

.kb-railwrap::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 38px; pointer-events: none; background: linear-gradient(transparent, rgba(13, 17, 23, 0.82)); }

.kb-rail::-webkit-scrollbar { width: 9px; }

.kb-rail::-webkit-scrollbar-track { background: transparent; }

.kb-rail::-webkit-scrollbar-thumb { background: padding-box rgb(44, 56, 70); border-radius: 5px; border: 2px solid transparent; }

.kb-rail::-webkit-scrollbar-thumb:hover { background: padding-box rgb(58, 71, 87); }

.kb-rail .kb-sect { padding: 13px 16px; }

.kb-rail .kb-sect:last-child { padding-bottom: 34px; }

.kb-rail .kb-slab { margin-bottom: 8px; }

.kb-sect { border-top: 1px solid var(--hub-line, #242e3b); padding: 14px 18px; }

.kb-sect--first { border-top: 0px; }

.kb-slab { font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; color: var(--hub-dim, #5f6b7c); margin-bottom: 9px;font-weight:800 }

.kb-lead { font-weight:800;font-size:var(--t-h3);line-height:1.22;font-family:var(--t-head); color: var(--y); margin-bottom: 12px; padding-bottom: 9px; border-bottom: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.22);letter-spacing:-.02em }

.kb-page--blk .kb-lead { color: var(--c); border-bottom-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.22); }

.kb-page--rec .kb-lead { color: rgb(111, 208, 140); border-bottom-color: rgba(111, 208, 140, 0.22); }

.kb-page--nom .kb-lead { color: var(--hub-tx, #e7edf5); border-bottom-color: var(--hub-line2, #2c3846); }

.kb-prose { font-size:var(--t-body); line-height:1.65; }

.kb-prose p { margin-bottom: 11px; }

.kb-prose p:last-child { margin-bottom: 0px; }

.kb-prose b { color: rgb(255, 255, 255); font-weight: 600; }

.kb-prose--sm { font-size:var(--t-list); line-height:1.55; }

.kb-prose .kb-ul { margin: 0px 0px 12px; padding-left: 18px; }

.kb-prose .kb-ul li { margin: 3px 0px; }

.kb-refnote .kb-lnk { margin-left: 4px; white-space: nowrap; }

 .kb-dir { font-family: ui-monospace, Menlo, monospace; font-size: 0.94em; color: var(--hub-warn, #f5b544); border-bottom: 1px dotted rgba(var(--hub-warn-rgb, 245, 181, 68),.45); text-decoration: none; }

 .kb-dir:hover { border-bottom-style: solid; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.08); }

 .kb-cmd { font-family: ui-monospace, Menlo, monospace; font-size: 0.94em; color: var(--hub-mut, #8b97a8); }

.kb-callouts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 13px; }

.kb-trap { border-left: 3px solid var(--y); padding: 10px 12px; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.06); border-radius: 0px 7px 7px 0px; font-size:var(--t-body); line-height:1.65; }

.kb-hubp { border-left: 3px solid var(--hub-pri, #6366f1); padding: 10px 12px; background: rgba(var(--hub-pri-rgb, 99, 102, 241),.07); border-radius: 0px 7px 7px 0px; font-size:var(--t-body); line-height:1.65; }

.kb-trap b, .kb-hubp b { color: rgb(255, 255, 255); font-weight: 600; }

.kb-tw { border: 1px solid var(--hub-line, #242e3b); border-radius: 8px; overflow: hidden; }

.kb-tw table { width: 100%; border-collapse: collapse; font-size:var(--t-list); }

.kb-tw th { background: var(--hub-thead, #131a23); color: var(--hub-mut, #8b97a8); font-weight: 500; font-size:var(--t-label); text-align: left; padding: 7px 11px; border-bottom: 1px solid var(--hub-line, #242e3b); }

.kb-tw td { padding: 8px 11px; border-bottom: 1px solid var(--hub-line, #242e3b); vertical-align: middle; }

.kb-tw tr:last-child td { border-bottom: 0px; }

.kb-tw td.n { font-family: ui-monospace, Menlo, monospace; font-size:var(--t-body); text-align: center; width: 120px;line-height:1.65 }

.kb-tw tr.warm td { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.05); }

.kb-tw tr.pick td { background: rgba(var(--hub-pri-rgb, 99, 102, 241),.09); }

.kb-tw tr.vend td { color: var(--hub-mut, #8b97a8); }

.kb-tw td:first-child { white-space: nowrap; }

.kb-mark { display: flex; align-items: baseline; gap: 6px; font-size:var(--t-label); color: var(--y); margin-top: 9px; line-height: 1.5; }

.kb-mark i { width: 8px; height: 8px; border-radius: 2px; background: var(--y); display: inline-block; flex: 0 0 auto; }

.kb-mark--f { color: var(--c); }

.kb-mark--f i { background: var(--c); }

.kb-page pre { background: rgb(11, 16, 22); border: 1px solid var(--hub-line, #242e3b); border-radius: 8px; padding: 11px 13px; font-size:var(--t-small);line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color: rgb(159, 176, 196); overflow: auto; margin: 0px; }

.kb-page pre .tg { color: var(--c); }

.kb-page pre .dr { color: var(--y); }

.kb-page pre .nm { color: rgb(111, 208, 140); }

.kb-page pre .cm { color: rgb(77, 90, 107); font-style: italic; }

.kb-page pre .hl { background: rgba(var(--hub-pri-rgb, 99, 102, 241),.16); display: block; margin: 0px -13px; padding: 0px 13px; }

.kb-src { margin-left: 5px; }

.kb-swatch { font-family: ui-monospace, Menlo, monospace; }

.kb-swatch--dir { color: var(--y); }

.kb-swatch--blk { color: var(--c); }

.kb-legend { margin-top: 7px; color: var(--hub-dim, #5f6b7c); }

.kb-kv { display: grid; grid-template-columns: 118px 1fr; gap: 7px 14px; font-size:var(--t-list); margin: 0px; }

.kb-kv dt { color: var(--hub-mut, #8b97a8); font-weight: 400; }

.kb-kv dd { margin: 0px; min-width: 0px; overflow-wrap: anywhere; }

.kb-kv dd .kb-dim { margin-left: 6px; }

.kb-ver { background: rgba(var(--hub-ok-rgb, 34, 197, 94),.055); border: 1px solid rgba(var(--hub-ok-rgb, 34, 197, 94),.3); border-radius: 9px; padding: 8px 11px; }

.kb-ver .vv { font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text); color: var(--hub-tx, #e7edf5); }

.kb-ver .vs { font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); margin-top: 2px; }

.kb-ver .vs--mono { font-family: ui-monospace, Menlo, monospace; color: var(--y); }

.kb-ver .ok { display: flex; align-items: flex-start; gap: 6px; margin-top: 7px; font-size:var(--t-caption); color: var(--hub-ok, #22c55e); line-height: 1.4; }

.kb-ver .un { margin-top: 6px; font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); line-height: 1.45; }

.kb-un { margin-top: 7px; font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); line-height: 1.45; }

.kb-railhead { display: flex; align-items: center; gap: 9px; margin: -13px -16px 13px; padding: 9px 16px; background: linear-gradient(90deg,rgba(var(--hub-pri-rgb, 99, 102, 241),.18),rgba(var(--hub-pri-rgb, 99, 102, 241),.06) 60%,rgba(var(--hub-pri-rgb, 99, 102, 241),.02)); border-top: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.3); border-bottom: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.2); }

.kb-railhead .ic { width: 21px; height: 21px; border-radius: 6px; background: rgba(var(--hub-pri-rgb, 99, 102, 241),.22); border: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.42); color: rgb(165, 180, 252); display: flex; align-items: center; justify-content: center; font-size:var(--t-label); flex: 0 0 auto; }

.kb-railhead h4 { font-size:var(--t-h4); font-weight:800; color: rgb(165, 180, 252); margin: 0px;font-family:var(--t-head);letter-spacing:-.01em;line-height:1.33 }

.kb-railhead .cnt { margin-left: auto; font-size:var(--t-micro); color: rgba(129, 140, 248, 0.8); border: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.32); border-radius: 20px; padding: 1px 9px; }

.kb-railhead--read { background: linear-gradient(90deg,rgba(var(--hub-cy-rgb, 56, 189, 248),.16),rgba(var(--hub-cy-rgb, 56, 189, 248),.05) 60%,rgba(var(--hub-cy-rgb, 56, 189, 248),.02)); border-top-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.3); border-bottom-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.2); }

.kb-railhead--read .ic { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.2); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.42); color: rgb(125, 211, 252); }

.kb-railhead--read h4 { color: rgb(125, 211, 252); }

.kb-railhead--read .cnt { color: rgba(125, 211, 252, 0.85); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.32); }

.kb-xg { margin-bottom: 12px; }

.kb-xg:last-child { margin-bottom: 0px; }

.kb-xg .gl, .kb-xin .gl { font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; color: var(--hub-dim, #5f6b7c); margin-bottom: 5px;font-weight:800 }

.kb-xl { display: block; padding: 7px 10px; border-radius: 7px; text-decoration: none; margin-bottom: 6px; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.055); border: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.2); transition: background 0.12s, border-color 0.12s; }

.kb-xl:last-child { margin-bottom: 0px; }

.kb-xl:hover { background: rgba(var(--hub-warn-rgb, 245, 181, 68),.13); border-color: rgba(var(--hub-warn-rgb, 245, 181, 68),.42); }

.kb-xl .n { font-size:var(--t-list);line-height:1.3;font-family:ui-monospace,Menlo,monospace; color: var(--y); }

.kb-xl .w { display: block; font-size:var(--t-caption); color: var(--hub-mut, #8b97a8); line-height: 1.45; margin-top: 2px; }

.kb-xl .sc { font-size:var(--t-micro); color: var(--hub-dim, #5f6b7c); font-family: ui-monospace, Menlo, monospace; margin-left: 4px; }

.kb-xg.warn .gl { color: var(--hub-bad, #f0654a); }

.kb-xg.warn .kb-xl { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.06); border-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.24); }

.kb-xg.warn .kb-xl:hover { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.13); border-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.45); }

.kb-xin { border-top: 1px solid var(--hub-line, #242e3b); margin-top: 12px; padding-top: 11px; }

.kb-rd { display: flex; gap: 10px; align-items: flex-start; padding: 9px 11px; border-radius: 8px; text-decoration: none; margin-bottom: 6px; background: rgba(var(--hub-cy-rgb, 56, 189, 248),.05); border: 1px solid rgba(var(--hub-cy-rgb, 56, 189, 248),.19); transition: background 0.12s, border-color 0.12s; }

.kb-rd:last-child { margin-bottom: 0px; }

.kb-rd:hover { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.12); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.4); }

.kb-rd .ic { width: 22px; height: 22px; border-radius: 6px; background: rgba(var(--hub-cy-rgb, 56, 189, 248),.14); color: rgb(125, 211, 252); display: flex; align-items: center; justify-content: center; font-size:var(--t-label); flex: 0 0 auto; margin-top: 1px; }

.kb-rd .t { font-size:var(--t-list); color: rgb(125, 211, 252); font-weight: 600; line-height: 1.3; }

.kb-rd .w { display: block; font-size:var(--t-caption); color: var(--hub-mut, #8b97a8); line-height: 1.45; margin-top: 3px; }

.kb-errsect { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.028); border-top: 1px solid var(--hub-line, #242e3b); }

.kb-errhead { display: flex; align-items: center; gap: 11px; padding: 11px 18px; cursor: pointer; list-style: none; user-select: none; transition: background 0.12s; background: linear-gradient(90deg,rgba(var(--hub-bad-rgb, 240, 101, 74),.17),rgba(var(--hub-bad-rgb, 240, 101, 74),.05) 62%,rgba(var(--hub-bad-rgb, 240, 101, 74),.02)); border-bottom: 1px solid rgba(var(--hub-bad-rgb, 240, 101, 74),.22); }

.kb-errhead::-webkit-details-marker { display: none; }

.kb-errhead:hover { background: linear-gradient(90deg,rgba(var(--hub-bad-rgb, 240, 101, 74),.24),rgba(var(--hub-bad-rgb, 240, 101, 74),.08) 62%,rgba(var(--hub-bad-rgb, 240, 101, 74),.03)); }

.kb-errhead .ic { width: 24px; height: 24px; border-radius: 7px; background: rgba(var(--hub-bad-rgb, 240, 101, 74),.22); border: 1px solid rgba(var(--hub-bad-rgb, 240, 101, 74),.4); color: rgb(255, 138, 109); display: flex; align-items: center; justify-content: center; font-size:var(--t-body); flex: 0 0 auto;line-height:1.65 }

.kb-errhead h3 { font-size:var(--t-h4); font-weight:800; color: rgb(255, 138, 109); margin: 0px;font-family:var(--t-head);letter-spacing:-.01em;line-height:1.33 }

.kb-errhead .sub, .kb-errhead .hint { font-size:var(--t-caption); color: rgba(240, 101, 74, 0.62); }

.kb-errhead .cnt { margin-left: auto; font-size:var(--t-caption); color: rgba(240, 101, 74, 0.7); border: 1px solid rgba(var(--hub-bad-rgb, 240, 101, 74),.3); border-radius: 20px; padding: 2px 10px; }

.kb-errhead .chev { color: rgb(255, 138, 109); font-size:var(--t-label); transition: transform 0.15s; flex: 0 0 auto; }

.kb-errsect[open] .kb-errhead .chev { transform: rotate(90deg); }

.kb-errsect[open] .kb-errhead .hint { display: none; }

.kb-errsect[open] .kb-errhead { border-bottom-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.28); }

.kb-errbody { padding: 15px 18px 16px; }

.kb-err { border-top: 1px solid var(--hub-line, #242e3b); padding: 13px 0px; }

.kb-err:first-of-type { border-top: 0px; padding-top: 2px; }

.kb-err .t { display: flex; align-items: baseline; gap: 9px; margin-bottom: 6px; }

.kb-err .t b { color: var(--y); font-size:var(--t-body);line-height:1.65 }

.kb-err .t .src { margin-left: auto; color: var(--hub-dim, #5f6b7c); font-family: ui-monospace, Menlo, monospace; font-size:var(--t-label); }

.kb-err .body { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; font-size:var(--t-body); line-height:1.65; }

.kb-err .body--2 { grid-template-columns: 1fr 1fr; }

.kb-err .body--1 { grid-template-columns: 1fr; }

.kb-err .body .lbl { color: var(--hub-dim, #5f6b7c); font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; display: block; margin-bottom: 3px;font-weight:800 }

.kb-err .fix { padding-left: 12px; border-left: 2px solid var(--hub-ok, #22c55e); }

.kb-err .fix .lbl { color: var(--hub-ok, #22c55e); }

.kb-foot { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; padding: 13px 18px; border-top: 1px solid var(--hub-line, #242e3b); background: rgba(0, 0, 0, 0.12); }

.kb-foot .lbl { font-size:var(--t-caption); color: var(--hub-dim, #5f6b7c); margin-right: 3px; }

.kb-nb { font-size:var(--t-list);line-height:1;font-family:ui-monospace,Menlo,monospace; color: var(--y); background: rgba(var(--hub-warn-rgb, 245, 181, 68),.09); border: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.22); border-radius: 6px; padding: 5px 10px; text-decoration: none; }

.kb-nb:hover { background: rgba(var(--hub-warn-rgb, 245, 181, 68),.16); }

.kb-nb--all { color: var(--hub-pri2, #818cf8); background: rgba(var(--hub-pri-rgb, 99, 102, 241),.1); border-color: rgba(var(--hub-pri-rgb, 99, 102, 241),.3); font-family:var(--t-text); font-size:var(--t-small); }

.kb-page { --y: var(--hub-warn, #f5b544); --c: var(--hub-cy, #38bdf8); }

.kb-mut { color: var(--hub-mut, #8b97a8); }

.kb-dim { color: var(--hub-dim, #5f6b7c); }

.kb-sm { font-size:var(--t-caption); }

.kb-pri { color: var(--hub-pri2, #818cf8); }

.kb-mono,  .kb-mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

.kb-card { background: var(--hub-card, #161d27); border: 1px solid var(--hub-line, #242e3b); border-radius: 10px; margin-bottom: 14px; }

.kb-lnk { color: var(--hub-pri2, #818cf8); text-decoration: none; }

.kb-empty,  .kb-empty { color: var(--hub-dim, #5f6b7c); font-size:var(--t-caption); font-style: italic; line-height: 1.6; }

.kb-tag { font-size:var(--t-label); padding: 2px 9px; border-radius: 20px; background: var(--hub-card2, #1b2430); border: 1px solid var(--hub-line2, #2c3846); color: var(--hub-mut, #8b97a8); white-space: nowrap; }

.kb-tag--blk { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.12); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.35); color: var(--c); font-family: ui-monospace, Menlo, monospace; }

.kb-tag--bad { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.13); border-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.4); color: var(--hub-bad, #f0654a); }

.kb-tag--pri { background: rgba(var(--hub-pri-rgb, 99, 102, 241),.14); border-color: rgba(var(--hub-pri-rgb, 99, 102, 241),.4); color: var(--hub-pri2, #818cf8); }

.kb-dh { position: relative; padding: 14px 18px 15px; border-bottom: 1px solid var(--hub-line, #242e3b); background: linear-gradient(180deg,rgba(var(--hub-warn-rgb, 245, 181, 68),.075),rgba(var(--hub-warn-rgb, 245, 181, 68),.012) 62%,transparent); overflow: hidden; }

.kb-dh::before { content: ""; position: absolute; left: 0px; top: 0px; bottom: 0px; width: 3px; background: var(--y); }

.kb-dh::after { content: ""; position: absolute; left: -60px; top: -90px; width: 230px; height: 230px; border-radius: 50%; background: radial-gradient(circle,rgba(var(--hub-warn-rgb, 245, 181, 68),.13),transparent 68%); pointer-events: none; }

.kb-dh--blk .kb-name h1 { color: var(--c); }

.kb-dh--rec .kb-name h1 { color: rgb(111, 208, 140); }

.kb-dh--nom .kb-name h1 { color: var(--hub-tx, #e7edf5); }

.kb-crumb { display: flex; align-items: center; gap: 7px; font-size:var(--t-caption); color: var(--hub-dim, #5f6b7c); margin-bottom: 9px; position: relative; }

.kb-crumb a { color: var(--hub-dim, #5f6b7c); text-decoration: none; }

.kb-crumb a:hover { color: var(--hub-mut, #8b97a8); }

.kb-crumb b { color: var(--hub-mut, #8b97a8); font-weight: 400; }

.kb-crumb .sep { color: rgb(58, 71, 87); }

.kb-crumb .r { margin-left: auto; display: flex; gap: 10px; align-items: center; }

.kb-name { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; position: relative; }

.kb-name h1 { font-weight:800;font-size:var(--t-h1);line-height:1.07;font-family:var(--t-head); color: var(--y); letter-spacing:-.03em; margin: 0px; }

.kb-role { margin-top: 8px; font-size:var(--t-body); color: var(--hub-tx, #e7edf5); font-weight: 600; position: relative;line-height:1.65 }

.kb-asline { margin-top: 11px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; position: relative; }

.kb-asline .lbl { font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); }

.kb-chip { display: inline-flex; align-items: center; gap: 7px; background: rgb(11, 16, 22); border: 1px solid var(--hub-line2, #2c3846); border-radius: 7px; padding: 5px 11px; font-size:var(--t-list);line-height:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace; }

.kb-chip .dr { color: var(--y); }

.kb-chip .nm { color: rgb(111, 208, 140); }

.kb-blkn,  .kb-blkn { font-family: ui-monospace, Menlo, monospace; font-size: 0.94em; color: var(--c); }

.kb-blkn--link { text-decoration: none; border-bottom: 1px dotted rgba(56, 189, 248, 0.45); }

.kb-blkn--link:hover { border-bottom-style: solid; }

.kb-dup { display: flex; align-items: center; gap: 8px; padding: 0px 18px; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.07); border-bottom: 1px solid var(--hub-line, #242e3b); font-size:var(--t-small); min-height: 38px; }

.kb-dup .kb-tag { cursor: pointer; text-decoration: none; }

.kb-tag--cur { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.16); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.5); color: var(--c); }

.kb-xbtn { margin-left: auto; margin-right: -18px; width: 400px; align-self: stretch; display: flex; align-items: center; justify-content: center; gap: 9px; cursor: pointer; user-select: none; font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; font-weight:800; color: rgb(233, 192, 138); background: linear-gradient(rgba(124, 79, 26, 0.5), rgba(88, 55, 18, 0.46)); border-top: 0px; border-right: 0px; border-bottom: 0px; border-image: none; border-left: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.28); box-shadow: inset 0 1px rgba(var(--hub-warn-rgb, 245, 181, 68),.12); transition: background 0.14s, color 0.14s, box-shadow 0.14s; }

.kb-xbtn:hover { background: linear-gradient(rgba(156, 100, 32, 0.62), rgba(112, 70, 22, 0.56)); color: rgb(255, 217, 163); box-shadow: inset 0 1px rgba(var(--hub-warn-rgb, 245, 181, 68),.22); }

.kb-xbtn .cv { width: 0px; height: 0px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 6px solid; transition: transform 0.22s; transform-origin: 50% 50%; }

.kb-grid { display: flex; align-items: stretch; gap: 0px; }

.kb-grid:has(.kb-railwrap--open) { min-height: 430px; }

.kb-main { flex: 1 1 0%; min-width: 0px; }

.kb-railwrap { position: relative; flex: 0 0 auto; width: 0px; overflow: hidden; background: rgba(0, 0, 0, 0.13); border-left: 0 solid var(--hub-line, #242e3b); transition: width 0.24s, border-left-width 0.24s; }

.kb-rail { position: absolute; top: 0px; bottom: 0px; left: 0px; width: 400px; overflow-y: auto; overscroll-behavior: contain; }

.kb-railwrap::after { content: ""; position: absolute; left: 0px; right: 0px; bottom: 0px; height: 38px; pointer-events: none; background: linear-gradient(transparent, rgba(13, 17, 23, 0.82)); }

.kb-rail::-webkit-scrollbar { width: 9px; }

.kb-rail::-webkit-scrollbar-track { background: transparent; }

.kb-rail::-webkit-scrollbar-thumb { background: padding-box rgb(44, 56, 70); border-radius: 5px; border: 2px solid transparent; }

.kb-rail::-webkit-scrollbar-thumb:hover { background: padding-box rgb(58, 71, 87); }

.kb-rail .kb-sect { padding: 13px 16px; }

.kb-rail .kb-sect:last-child { padding-bottom: 34px; }

.kb-rail .kb-slab { margin-bottom: 8px; }

.kb-sect { border-top: 1px solid var(--hub-line, #242e3b); padding: 14px 18px; }

.kb-sect--first { border-top: 0px; }

.kb-slab { font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; color: var(--hub-dim, #5f6b7c); margin-bottom: 9px;font-weight:800 }

.kb-lead { font-weight:800;font-size:var(--t-h3);line-height:1.22;font-family:var(--t-head); color: var(--y); margin-bottom: 12px; padding-bottom: 9px; border-bottom: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.22);letter-spacing:-.02em }

.kb-page--blk .kb-lead { color: var(--c); border-bottom-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.22); }

.kb-page--rec .kb-lead { color: rgb(111, 208, 140); border-bottom-color: rgba(111, 208, 140, 0.22); }

.kb-page--nom .kb-lead { color: var(--hub-tx, #e7edf5); border-bottom-color: var(--hub-line2, #2c3846); }

.kb-prose { font-size:var(--t-body); line-height:1.65; }

.kb-prose p { margin-bottom: 11px; }

.kb-prose p:last-child { margin-bottom: 0px; }

.kb-prose b { color: rgb(255, 255, 255); font-weight: 600; }

.kb-prose--sm { font-size:var(--t-list); line-height:1.55; }

.kb-prose .kb-ul { margin: 0px 0px 12px; padding-left: 18px; }

.kb-prose .kb-ul li { margin: 3px 0px; }

.kb-refnote .kb-lnk { margin-left: 4px; white-space: nowrap; }

 .kb-dir { font-family: ui-monospace, Menlo, monospace; font-size: 0.94em; color: var(--hub-warn, #f5b544); border-bottom: 1px dotted rgba(var(--hub-warn-rgb, 245, 181, 68),.45); text-decoration: none; }

 .kb-dir:hover { border-bottom-style: solid; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.08); }

 .kb-cmd { font-family: ui-monospace, Menlo, monospace; font-size: 0.94em; color: var(--hub-mut, #8b97a8); }

.kb-callouts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 13px; }

.kb-trap { border-left: 3px solid var(--y); padding: 10px 12px; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.06); border-radius: 0px 7px 7px 0px; font-size:var(--t-body); line-height:1.65; }

.kb-hubp { border-left: 3px solid var(--hub-pri, #6366f1); padding: 10px 12px; background: rgba(var(--hub-pri-rgb, 99, 102, 241),.07); border-radius: 0px 7px 7px 0px; font-size:var(--t-body); line-height:1.65; }

.kb-trap b, .kb-hubp b { color: rgb(255, 255, 255); font-weight: 600; }

.kb-tw { border: 1px solid var(--hub-line, #242e3b); border-radius: 8px; overflow: hidden; }

.kb-tw table { width: 100%; border-collapse: collapse; font-size:var(--t-list); }

.kb-tw th { background: var(--hub-thead, #131a23); color: var(--hub-mut, #8b97a8); font-weight: 500; font-size:var(--t-label); text-align: left; padding: 7px 11px; border-bottom: 1px solid var(--hub-line, #242e3b); }

.kb-tw td { padding: 8px 11px; border-bottom: 1px solid var(--hub-line, #242e3b); vertical-align: middle; }

.kb-tw tr:last-child td { border-bottom: 0px; }

.kb-tw td.n { font-family: ui-monospace, Menlo, monospace; font-size:var(--t-body); text-align: center; width: 120px;line-height:1.65 }

.kb-tw tr.warm td { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.05); }

.kb-tw tr.pick td { background: rgba(var(--hub-pri-rgb, 99, 102, 241),.09); }

.kb-tw tr.vend td { color: var(--hub-mut, #8b97a8); }

.kb-tw td:first-child { white-space: nowrap; }

.kb-mark { display: flex; align-items: baseline; gap: 6px; font-size:var(--t-label); color: var(--y); margin-top: 9px; line-height: 1.5; }

.kb-mark i { width: 8px; height: 8px; border-radius: 2px; background: var(--y); display: inline-block; flex: 0 0 auto; }

.kb-mark--f { color: var(--c); }

.kb-mark--f i { background: var(--c); }

.kb-page pre { background: rgb(11, 16, 22); border: 1px solid var(--hub-line, #242e3b); border-radius: 8px; padding: 11px 13px; font-size:var(--t-small);line-height:1.65;font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color: rgb(159, 176, 196); overflow: auto; margin: 0px; }

.kb-page pre .tg { color: var(--c); }

.kb-page pre .dr { color: var(--y); }

.kb-page pre .nm { color: rgb(111, 208, 140); }

.kb-page pre .cm { color: rgb(77, 90, 107); font-style: italic; }

.kb-page pre .hl { background: rgba(var(--hub-pri-rgb, 99, 102, 241),.16); display: block; margin: 0px -13px; padding: 0px 13px; }

.kb-src { margin-left: 5px; }

.kb-swatch { font-family: ui-monospace, Menlo, monospace; }

.kb-swatch--dir { color: var(--y); }

.kb-swatch--blk { color: var(--c); }

.kb-legend { margin-top: 7px; color: var(--hub-dim, #5f6b7c); }

.kb-kv { display: grid; grid-template-columns: 118px 1fr; gap: 7px 14px; font-size:var(--t-list); margin: 0px; }

.kb-kv dt { color: var(--hub-mut, #8b97a8); font-weight: 400; }

.kb-kv dd { margin: 0px; min-width: 0px; overflow-wrap: anywhere; }

.kb-kv dd .kb-dim { margin-left: 6px; }

.kb-ver { background: rgba(var(--hub-ok-rgb, 34, 197, 94),.055); border: 1px solid rgba(var(--hub-ok-rgb, 34, 197, 94),.3); border-radius: 9px; padding: 8px 11px; }

.kb-ver .vv { font-weight:600;font-size:var(--t-body);line-height:1.65;font-family:var(--t-text); color: var(--hub-tx, #e7edf5); }

.kb-ver .vs { font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); margin-top: 2px; }

.kb-ver .vs--mono { font-family: ui-monospace, Menlo, monospace; color: var(--y); }

.kb-ver .ok { display: flex; align-items: flex-start; gap: 6px; margin-top: 7px; font-size:var(--t-caption); color: var(--hub-ok, #22c55e); line-height: 1.4; }

.kb-ver .un { margin-top: 6px; font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); line-height: 1.45; }

.kb-un { margin-top: 7px; font-size:var(--t-label); color: var(--hub-dim, #5f6b7c); line-height: 1.45; }

.kb-railhead { display: flex; align-items: center; gap: 9px; margin: -13px -16px 13px; padding: 9px 16px; background: linear-gradient(90deg,rgba(var(--hub-pri-rgb, 99, 102, 241),.18),rgba(var(--hub-pri-rgb, 99, 102, 241),.06) 60%,rgba(var(--hub-pri-rgb, 99, 102, 241),.02)); border-top: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.3); border-bottom: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.2); }

.kb-railhead .ic { width: 21px; height: 21px; border-radius: 6px; background: rgba(var(--hub-pri-rgb, 99, 102, 241),.22); border: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.42); color: rgb(165, 180, 252); display: flex; align-items: center; justify-content: center; font-size:var(--t-label); flex: 0 0 auto; }

.kb-railhead h4 { font-size:var(--t-h4); font-weight:800; color: rgb(165, 180, 252); margin: 0px;font-family:var(--t-head);letter-spacing:-.01em;line-height:1.33 }

.kb-railhead .cnt { margin-left: auto; font-size:var(--t-micro); color: rgba(129, 140, 248, 0.8); border: 1px solid rgba(var(--hub-pri-rgb, 99, 102, 241),.32); border-radius: 20px; padding: 1px 9px; }

.kb-railhead--read { background: linear-gradient(90deg,rgba(var(--hub-cy-rgb, 56, 189, 248),.16),rgba(var(--hub-cy-rgb, 56, 189, 248),.05) 60%,rgba(var(--hub-cy-rgb, 56, 189, 248),.02)); border-top-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.3); border-bottom-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.2); }

.kb-railhead--read .ic { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.2); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.42); color: rgb(125, 211, 252); }

.kb-railhead--read h4 { color: rgb(125, 211, 252); }

.kb-railhead--read .cnt { color: rgba(125, 211, 252, 0.85); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.32); }

.kb-xg { margin-bottom: 12px; }

.kb-xg:last-child { margin-bottom: 0px; }

.kb-xg .gl, .kb-xin .gl { font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; color: var(--hub-dim, #5f6b7c); margin-bottom: 5px;font-weight:800 }

.kb-xl { display: block; padding: 7px 10px; border-radius: 7px; text-decoration: none; margin-bottom: 6px; background: rgba(var(--hub-warn-rgb, 245, 181, 68),.055); border: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.2); transition: background 0.12s, border-color 0.12s; }

.kb-xl:last-child { margin-bottom: 0px; }

.kb-xl:hover { background: rgba(var(--hub-warn-rgb, 245, 181, 68),.13); border-color: rgba(var(--hub-warn-rgb, 245, 181, 68),.42); }

.kb-xl .n { font-size:var(--t-list);line-height:1.3;font-family:ui-monospace,Menlo,monospace; color: var(--y); }

.kb-xl .w { display: block; font-size:var(--t-caption); color: var(--hub-mut, #8b97a8); line-height: 1.45; margin-top: 2px; }

.kb-xl .sc { font-size:var(--t-micro); color: var(--hub-dim, #5f6b7c); font-family: ui-monospace, Menlo, monospace; margin-left: 4px; }

.kb-xg.warn .gl { color: var(--hub-bad, #f0654a); }

.kb-xg.warn .kb-xl { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.06); border-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.24); }

.kb-xg.warn .kb-xl:hover { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.13); border-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.45); }

.kb-xin { border-top: 1px solid var(--hub-line, #242e3b); margin-top: 12px; padding-top: 11px; }

.kb-rd { display: flex; gap: 10px; align-items: flex-start; padding: 9px 11px; border-radius: 8px; text-decoration: none; margin-bottom: 6px; background: rgba(var(--hub-cy-rgb, 56, 189, 248),.05); border: 1px solid rgba(var(--hub-cy-rgb, 56, 189, 248),.19); transition: background 0.12s, border-color 0.12s; }

.kb-rd:last-child { margin-bottom: 0px; }

.kb-rd:hover { background: rgba(var(--hub-cy-rgb, 56, 189, 248),.12); border-color: rgba(var(--hub-cy-rgb, 56, 189, 248),.4); }

.kb-rd .ic { width: 22px; height: 22px; border-radius: 6px; background: rgba(var(--hub-cy-rgb, 56, 189, 248),.14); color: rgb(125, 211, 252); display: flex; align-items: center; justify-content: center; font-size:var(--t-label); flex: 0 0 auto; margin-top: 1px; }

.kb-rd .t { font-size:var(--t-list); color: rgb(125, 211, 252); font-weight: 600; line-height: 1.3; }

.kb-rd .w { display: block; font-size:var(--t-caption); color: var(--hub-mut, #8b97a8); line-height: 1.45; margin-top: 3px; }

.kb-errsect { background: rgba(var(--hub-bad-rgb, 240, 101, 74),.028); border-top: 1px solid var(--hub-line, #242e3b); }

.kb-errhead { display: flex; align-items: center; gap: 11px; padding: 11px 18px; cursor: pointer; list-style: none; user-select: none; transition: background 0.12s; background: linear-gradient(90deg,rgba(var(--hub-bad-rgb, 240, 101, 74),.17),rgba(var(--hub-bad-rgb, 240, 101, 74),.05) 62%,rgba(var(--hub-bad-rgb, 240, 101, 74),.02)); border-bottom: 1px solid rgba(var(--hub-bad-rgb, 240, 101, 74),.22); }

.kb-errhead::-webkit-details-marker { display: none; }

.kb-errhead:hover { background: linear-gradient(90deg,rgba(var(--hub-bad-rgb, 240, 101, 74),.24),rgba(var(--hub-bad-rgb, 240, 101, 74),.08) 62%,rgba(var(--hub-bad-rgb, 240, 101, 74),.03)); }

.kb-errhead .ic { width: 24px; height: 24px; border-radius: 7px; background: rgba(var(--hub-bad-rgb, 240, 101, 74),.22); border: 1px solid rgba(var(--hub-bad-rgb, 240, 101, 74),.4); color: rgb(255, 138, 109); display: flex; align-items: center; justify-content: center; font-size:var(--t-body); flex: 0 0 auto;line-height:1.65 }

.kb-errhead h3 { font-size:var(--t-h4); font-weight:800; color: rgb(255, 138, 109); margin: 0px;font-family:var(--t-head);letter-spacing:-.01em;line-height:1.33 }

.kb-errhead .sub, .kb-errhead .hint { font-size:var(--t-caption); color: rgba(240, 101, 74, 0.62); }

.kb-errhead .cnt { margin-left: auto; font-size:var(--t-caption); color: rgba(240, 101, 74, 0.7); border: 1px solid rgba(var(--hub-bad-rgb, 240, 101, 74),.3); border-radius: 20px; padding: 2px 10px; }

.kb-errhead .chev { color: rgb(255, 138, 109); font-size:var(--t-label); transition: transform 0.15s; flex: 0 0 auto; }

.kb-errsect[open] .kb-errhead .chev { transform: rotate(90deg); }

.kb-errsect[open] .kb-errhead .hint { display: none; }

.kb-errsect[open] .kb-errhead { border-bottom-color: rgba(var(--hub-bad-rgb, 240, 101, 74),.28); }

.kb-errbody { padding: 15px 18px 16px; }

.kb-err { border-top: 1px solid var(--hub-line, #242e3b); padding: 13px 0px; }

.kb-err:first-of-type { border-top: 0px; padding-top: 2px; }

.kb-err .t { display: flex; align-items: baseline; gap: 9px; margin-bottom: 6px; }

.kb-err .t b { color: var(--y); font-size:var(--t-body);line-height:1.65 }

.kb-err .t .src { margin-left: auto; color: var(--hub-dim, #5f6b7c); font-family: ui-monospace, Menlo, monospace; font-size:var(--t-label); }

.kb-err .body { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 18px; font-size:var(--t-body); line-height:1.65; }

.kb-err .body--2 { grid-template-columns: 1fr 1fr; }

.kb-err .body--1 { grid-template-columns: 1fr; }

.kb-err .body .lbl { color: var(--hub-dim, #5f6b7c); font-size:var(--t-caption); letter-spacing:.06em; text-transform: uppercase; display: block; margin-bottom: 3px;font-weight:800 }

.kb-err .fix { padding-left: 12px; border-left: 2px solid var(--hub-ok, #22c55e); }

.kb-err .fix .lbl { color: var(--hub-ok, #22c55e); }

.kb-foot { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; padding: 13px 18px; border-top: 1px solid var(--hub-line, #242e3b); background: rgba(0, 0, 0, 0.12); }

.kb-foot .lbl { font-size:var(--t-caption); color: var(--hub-dim, #5f6b7c); margin-right: 3px; }

.kb-nb { font-size:var(--t-list);line-height:1;font-family:ui-monospace,Menlo,monospace; color: var(--y); background: rgba(var(--hub-warn-rgb, 245, 181, 68),.09); border: 1px solid rgba(var(--hub-warn-rgb, 245, 181, 68),.22); border-radius: 6px; padding: 5px 10px; text-decoration: none; }

.kb-nb:hover { background: rgba(var(--hub-warn-rgb, 245, 181, 68),.16); }

.kb-nb--all { color: var(--hub-pri2, #818cf8); background: rgba(var(--hub-pri-rgb, 99, 102, 241),.1); border-color: rgba(var(--hub-pri-rgb, 99, 102, 241),.3); font-family:var(--t-text); font-size:var(--t-small); }
/* ---------- отличия от кабинета ----------
   🔴 Правая колонка на сайте раскрыта всегда: в кабинете её прячет кнопка
   «Дополнительная информация», а здесь это контент, который читают и индексируют.
   Правила идут ПОСЛЕ снятых с кабинета — иначе `.kb-railwrap{width:0}` их перебивает. */
.kb-page .kb-railwrap{width:400px;border-left-width:1px;transition:none;overflow:visible}
.kb-page .kb-railwrap::after{content:none}
/* 🔴 В кабинете колонка прокручивается внутри себя (`position:absolute` + `overflow-y`)
   и нижние блоки обрезаны. На сайте она должна быть видна целиком: читателю и
   поисковику нужны «как проверить на узле» и связи, а не полоса прокрутки. */
.kb-page .kb-rail{position:static;width:auto;overflow:visible;max-height:none}
.kb-page .kb-grid{min-height:430px;align-items:flex-start}
.kb-lnk--plain{color:var(--hub-pri2);cursor:default}
/* Длинная строка не читается: основной текст держим в пределах меры. */
.kb-page--entry .kb-main{min-width:0}
.kb-page--entry .kb-prose p,.kb-page--entry .kb-lead{max-width:104ch}

/* ---------- адаптив карточки ----------
   Кабинет — десктопный интерфейс, медиазапросов у карточки нет. Сайту нужны:
   на планшете колонки складываются, на телефоне таблицы и ошибки перестают
   растягивать страницу. */
@media(max-width:1200px){
  /* 🔴 align-items:flex-start, нужный на десктопе, в колоночной раскладке
     сжимает колонки по содержимому — страница уезжала до 647px на 390px. */
  .kb-page .kb-grid{flex-direction:column;align-items:stretch}
  .kb-page .kb-railwrap,.kb-page .kb-main{width:100%;min-width:0}
  .kb-page .kb-railwrap{border-left-width:0;border-top:1px solid var(--hub-line)}
  .kb-page .kb-rail{width:auto}
  .kb-page .kb-rail .kb-sect:last-child{padding-bottom:16px}
  .kb-err .body{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .kb-err .body{grid-template-columns:1fr;gap:12px}
  .kb-page .kb-tw{overflow-x:auto}
  .kb-page .kb-tw table{min-width:600px}
}
@media(max-width:640px){
  .kb-page .kb-dh{padding-left:14px;padding-right:14px}
  .kb-page .kb-name h1{font-size:var(--t-h1);word-break:break-word}
  .kb-page .kb-crumb{flex-wrap:wrap;row-gap:4px}
  .kb-page .kb-crumb .r{margin-left:0}
  .kb-page .kb-dup{flex-wrap:wrap;padding:8px 14px;row-gap:6px}
  .kb-page .kb-sect{padding-left:14px;padding-right:14px}
  .kb-page .kb-errhead{flex-wrap:wrap;row-gap:4px;padding:10px 14px}
  .kb-page .kb-errbody{padding-left:14px;padding-right:14px}
  .kb-page .kb-foot{flex-wrap:wrap;row-gap:8px;padding:12px 14px}
  .kb-page pre,.kb-page .kb-code{overflow-x:auto}
}

/* ============================================================
   Совместимость с темой Vintech на страницах каталога.
   Сверено числами с кабинетом по 29 селекторам; лечим только
   расхождения. Специфичность не ниже 0,2,0 — иначе правила
   витрины (`.kb-page div{text-transform:none}`) и темы
   (`h3{font-family:Inter;text-transform:capitalize}`) сильнее.
   ============================================================ */
/* подписи блоков: капс и разрядка заданы кабинетом намеренно */
.kb-page .kb-slab{text-transform:uppercase;letter-spacing:.06em}
/* лид и номер версии в кабинете идут системным стеком — оставляем как там */
.kb-page .kb-lead{font-family:var(--t-head);font-size:var(--t-h3);font-weight:800;letter-spacing:-.02em;line-height:1.22}
.kb-page .kb-ver .vv{font-family:var(--t-text)}
/* моноширинные вкрапления */
.kb-page .kb-cmd,.kb-page .kb-kv dd{font-family:var(--hub-mono)}
/* заголовок блока ошибок: тема ставит Inter и «Каждое Слово С Большой» */
.kb-page .kb-errhead h3{font-family:var(--t-head);font-size:var(--t-h4);line-height:1.33;
  letter-spacing:-.01em;text-transform:none;color:#ff8a6d;font-weight:800}
/* пары «ключ — значение» в правой колонке: тема даёт dt капс и интерлиньяж 26px */
.kb-page .kb-kv dt{text-transform:none;line-height:1.5;letter-spacing:normal}
.kb-page .kb-kv dd{line-height:1.5}
.kb-page .kb-xl{color:#d6dae0}
/* таблицы: тема добавляет отступ снизу, светлые грани и интерлиньяж 2 */
.kb-page .kb-tw table{margin:0;border:0;border-collapse:collapse;line-height:1.5}
.kb-page .kb-tw th,.kb-page .kb-tw td{border-top:0;border-left:0;border-right:0;line-height:1.5}
.kb-page .kb-tw th{border-bottom:1px solid var(--hub-line)}
.kb-page .kb-tw td{border-bottom:1px solid var(--hub-line)}
.kb-page .kb-tw tr:last-child td{border-bottom:0}

/* ---------- страница записи внутри темы ----------
   Карточку рисует плагин внутри обычной страницы, поэтому здесь лечим то,
   что тема делает с её содержимым. */
.kb-page--entry{background:var(--hub-bg)}
.kb-page--entry > .kb-wrap{width:100%;max-width:var(--content);margin-inline:auto;
  padding:34px var(--gutter) 60px}
/* тема капитализирует h4 и красит его в чёрный */
.kb-page .kb-err h4{font-family:var(--t-head);font-size:var(--t-h4);font-weight:800;
  text-transform:none;letter-spacing:-.01em;line-height:1.33;color:#ffb4a0;margin:0 0 2px}
.kb-page .kb-err .sc{font-family:var(--hub-mono);font-size:var(--t-label);color:var(--hub-dim)}
.kb-page .kb-rd .t,.kb-page .kb-xl .n{text-transform:none;letter-spacing:normal}
/* Тема держит светлый фон страницы и отступ 100px у #pxl-main: на тёмном
   каталоге это две белые полосы — над карточкой и под ней. */
body.mtahub-page{background:#16191c}
body.mtahub-page #pxl-main{padding-top:0;padding-bottom:0;background:#16191c}

/* ---------- состав блока конфигурации ---------- */
.kb-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.kb-bg .gl{font-size:var(--t-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--hub-dim);
  margin-bottom:7px;display:flex;align-items:center;gap:6px;font-weight:800}
.kb-bg .gl em{font-style:normal;color:var(--hub-mut);font-size:var(--t-micro)}
.kb-bl{display:flex;flex-direction:column;gap:4px}
.kb-bd{display:flex;align-items:baseline;flex-wrap:wrap;gap:7px;padding:6px 9px;border-radius:7px;
  background:var(--hub-card2);border:1px solid var(--hub-line);transition:border-color .12s,background .12s}
.kb-bd:hover{border-color:rgba(var(--hub-pri-rgb),.4);background:rgba(var(--hub-pri-rgb),.06)}
.kb-bd .n{font-family:var(--hub-mono);font-size:var(--t-list);color:var(--hub-warn)}
.kb-bd .w{flex:1 0 100%;font-size:var(--t-caption);color:var(--hub-mut);line-height:1.45}
.kb-bd .kb-tag{font-size:var(--t-micro);padding:1px 7px}
@media(max-width:900px){.kb-blocks{grid-template-columns:minmax(0,1fr)}}

/* ---------- списки: тема, сценарий, поиск ---------- */
.kb-page--list .kb-card__b{padding:16px}
.kb-role--note{font-size:var(--t-small);font-weight:400;color:var(--hub-mut);margin-top:6px}
.kb-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.kb-rw{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px;padding:9px 12px;border-radius:8px;
  background:var(--hub-card2);border:1px solid var(--hub-line);transition:border-color .12s,background .12s}
.kb-rw:hover{border-color:rgba(var(--hub-pri-rgb),.4);background:rgba(var(--hub-pri-rgb),.06)}
.kb-rw .h{font-size:var(--t-body);font-weight:600;color:#e7edf5;line-height:1.65}
.kb-rw--mono .h{font-family:var(--hub-mono);font-weight:400;color:var(--hub-warn)}
.kb-rw .k{margin-left:auto;font-size:var(--t-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--hub-dim);font-weight:800}
.kb-rw .w{flex:1 0 100%;font-size:var(--t-caption);color:var(--hub-mut);line-height:1.5}
.kb-rw .kb-tag{font-size:var(--t-micro);padding:1px 7px}
.kb-page--list .kb-search{margin:0 0 14px}
@media(max-width:900px){.kb-rows{grid-template-columns:minmax(0,1fr)}}

/* Подпись блока и ссылка «Все …» в одной строке: без зазора они слипаются,
   когда подпись занимает всю ширину. */
.kb-page .kb-card__h .kb-note{flex:1 1 auto;min-width:0}
.kb-page .kb-card__h .kb-more{flex:none;margin-left:auto;padding-left:14px;white-space:nowrap}
