/* Досье застройщика (dossier.js): developers.html и модалка в projects.html */
/* залита только «надёжный» (strong) — единственный зелёный и единственная заливка среди вердиктов; остальные — контур и цвет текста */
.pill.strong { color: var(--good); background: var(--good-bg); }
.pill.ok, .pill.weak, .pill.avoid { background: none; border: 1px solid currentColor; padding: 1px 9px; }
.pill.ok { color: var(--ok); border-color: var(--line); } .pill.weak { color: var(--warn); } .pill.avoid { color: var(--bad); } .pill.unk { color: var(--muted); background: none; border: 1px dashed var(--line); padding: 1px 9px; } /* «неизвестно» — пунктирный контур без заливки, чтобы не путать с серым «нормальный» */
.dossier .nm { font-weight: 700; font-size: 20px; }
.dossier .why { color: var(--muted); font-size: 14px; flex-basis: 100%; }
.dossier .body { display: grid; gap: 14px; } .dossier .body > * { min-width: 0; } .dossier .sec { overflow-wrap: anywhere; }
.dossier .sec h3 { margin: 0 0 6px; font-size: 16px; }
.dossier .sec ul { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 14px; }
.dossier .sec .empty { color: var(--muted); font-size: 14px; margin: 0; padding: 0; text-align: left; }
.dossier .flags { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 12px; }
.dossier .notes ul { color: var(--ink); } .dossier .notes li::marker { color: var(--muted); } .dossier .sec h3 .meta { font-weight: 400; font-size: 14px; }
.dossier .flag-r li::marker { color: var(--bad); } .dossier .flag-r ul.fl-h, .dossier .flag-r ul.fl-m { list-style: none; padding-left: 0; }
.dossier .fl-hard > details > summary, .dossier li.fl-hard { color: var(--bad); font-weight: 500; } .dossier .fl-hard p { color: var(--ink); font-weight: 400; }
.dossier .fl-m, .dossier .fl-m summary { color: var(--muted); } .dossier .flag-r summary { cursor: pointer; padding: 10px 0; } .dossier .flag-r details p { margin: 2px 0 4px; }
.dossier .fl-sub { margin: 10px 0 4px; font: 500 14px var(--f-body); color: var(--muted); } .dossier .flag-g li::marker { color: var(--muted); } /* зелёный — только вердикт «сильный» */
.dossier .mono { font-family: var(--f-num); font-size: 13px; }
.dossier .src { font-size: 13px; color: var(--muted); overflow-wrap: anywhere; }
.dossier a { color: var(--accent); }
#ddlg { width: min(820px, calc(100vw - 32px)); max-height: calc(100vh - 48px); padding: 18px 20px; border: 1px solid var(--line); border-radius: var(--r-xl); background: var(--surface); color: var(--ink); font: 16px/1.5 var(--f-body); }
#ddlg::backdrop { background: var(--scrim); }
#ddlg .x { position: sticky; top: 0; float: right; min-width: 44px; min-height: 44px; margin: -12px -14px 0 8px; border: 0; background: none; color: var(--muted); font-size: 24px; line-height: 1; cursor: pointer; }
#ddlg .hd { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: baseline; margin-bottom: 14px; }
/* «Можно доверять?» — первые три строки досье */
.dossier .trust { border: 1px solid var(--line); border-left: 4px solid var(--muted); border-radius: var(--r-md); padding: 10px 14px; background: var(--bg); }
.dossier .trust.weak { border-left-color: var(--warn); } .dossier .trust.avoid { border-left-color: var(--bad); }
.dossier .trust p { margin: 0 0 4px; font-size: 16px; } .dossier .trust ol { margin: 0; padding-left: 22px; display: grid; gap: 2px; font-size: 14px; }
/* словарь: термин с подсказкой (наведение — title, нажатие и фокус — .gltip) */
abbr.gl { text-decoration: underline dotted; text-underline-offset: 3px; }
abbr.gl:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--r-xs); }
.gltip { position: fixed; z-index: 1000; padding: 8px 10px; border-radius: var(--r-sm); background: var(--ink); color: var(--surface); font: 14px/1.4 var(--f-body); box-shadow: var(--shadow-md); pointer-events: none; }
