/* BGP › Pesquisa › "Quem roteia este prefixo" (07/10/2026). Usa os tokens --bq-* do bgp_pesquisa.css
   (dark padrão, html[data-theme="light"] claro). */
:root { --bq-on-acc: #04211e; }
html[data-theme="light"] { --bq-on-acc: #fff; }

.lgq { display: flex; flex-direction: column; gap: 14px; margin: 16px 0 18px; }
.lgq:empty { display: none; }
.lgq-hd { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.lgq-hd h3 { margin: 0; font-size: 16px; font-weight: 800; color: var(--text-primary); }
.lgq-hd small { color: var(--text-secondary); font-size: 12px; }
.lgq .bgpq-erro { font-size: 13px; }

/* 1. três respostas */
.lgr { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.lgr-c { padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.lgr-k { font-size: 10.5px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; color: var(--text-secondary); }
.lgr-v { font-size: 22px; font-weight: 800; line-height: 1.15; color: var(--text-primary); }
.lgr-v small { font-size: 13px; font-weight: 600; color: var(--text-secondary); margin-left: 4px; }
.lgr-d { font-size: 12.5px; color: var(--text-secondary); line-height: 1.45; }
.lgr-d b { color: var(--text-primary); }
.lgr-c--nos { box-shadow: inset 3px 0 0 var(--bq-acc); }
.lgr-c--nos .lgr-v { color: var(--bq-acc); }
.lgr-tag { display: inline-block; font-size: 11px; font-weight: 800; padding: 1px 8px; border-radius: 99px; margin-left: 6px; vertical-align: 3px;
  background: color-mix(in srgb, var(--bq-warn) 16%, transparent); color: var(--bq-warn); }

/* 2. árvore */
.lgt-wrap { overflow-x: auto; padding: 4px 16px 6px; }
.lgt-svg { display: block; font-family: inherit; }
.lgt-lig { fill: none; stroke: color-mix(in srgb, var(--bq-info) 38%, transparent); stroke-linecap: round; }
.lgt-lig--nos { stroke: color-mix(in srgb, var(--bq-acc) 75%, transparent); }
.lgt-no rect { fill: var(--bg-card); stroke: var(--border); stroke-width: 1.2; }
.lgt-no[data-bgpq] { cursor: pointer; }
.lgt-no[data-bgpq]:hover rect, .lgt-no[data-bgpq]:focus-visible rect { stroke: var(--bq-info); stroke-width: 2; }
.lgt-no:focus { outline: none; }
.lgt-no--orig rect { fill: color-mix(in srgb, var(--bq-info) 10%, var(--bg-card)); stroke: color-mix(in srgb, var(--bq-info) 55%, transparent); }
.lgt-no--nos rect { fill: color-mix(in srgb, var(--bq-acc) 10%, var(--bg-card)); stroke: var(--bq-acc); stroke-width: 1.6; }
.lgt-no--resto rect { stroke-dasharray: 4 3; }
.lgt-nome { font-size: 13px; font-weight: 700; fill: var(--text-primary); }
.lgt-sub { font-size: 11px; fill: var(--text-secondary); font-variant-numeric: tabular-nums; }
.lgt-no--nos .lgt-nome { fill: var(--bq-acc); }
.lgt-cab { font-size: 10px; font-weight: 800; letter-spacing: .09em; fill: var(--text-secondary); }
.lgt-ix { font-size: 11px; font-weight: 700; fill: var(--text-secondary); }
.lgt-pre { font-size: 11px; font-weight: 800; fill: var(--bq-warn); }
.lgt-nota { display: flex; gap: 18px; flex-wrap: wrap; font-size: 11.5px; color: var(--text-secondary); padding: 0 16px 6px; }
.lgt-nota i { display: inline-block; width: 18px; height: 4px; border-radius: 2px; margin-right: 6px; vertical-align: 2px; }
.lgt-nota__nos { background: color-mix(in srgb, var(--bq-acc) 75%, transparent); }
.lgt-dica { display: none; color: var(--bq-info); font-weight: 600; }
.lgt-nota__out { background: color-mix(in srgb, var(--bq-info) 38%, transparent); }

/* 3. localidades agrupadas */
.lgl { display: flex; flex-direction: column; }
.lgl-r { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 14px; padding: 10px 16px; border-top: 1px solid var(--bq-line); align-items: start; }
.lgl-r:first-child { border-top: 0; }
.lgl-t { font-size: 13px; font-weight: 700; display: flex; gap: 8px; align-items: baseline; color: var(--text-primary); }
.lgl-t em { font-style: normal; font-size: 20px; font-weight: 800; min-width: 26px; font-variant-numeric: tabular-nums; }
.lgl-t span { display: block; font-size: 11.5px; font-weight: 500; color: var(--text-secondary); }
.lgl-cs { display: flex; flex-wrap: wrap; gap: 5px; }
.lgl-c { font-size: 12px; padding: 3px 10px; border-radius: 99px; border: 1px solid var(--border); color: var(--text-primary); }
.lgl-c--melhor { background: var(--bq-acc); border-color: var(--bq-acc); color: var(--bq-on-acc); font-weight: 700; }
.lgl-c--res { border-color: color-mix(in srgb, var(--bq-acc) 50%, transparent); color: var(--bq-acc); }
.lgl-r--melhor .lgl-t em { color: var(--bq-acc); }
.lgl-r--fora .lgl-t, .lgl-r--fora .lgl-t em { color: var(--text-secondary); }
.lgl-fora { font-size: 12px; line-height: 1.6; color: var(--text-secondary); }

/* 4. AS-path cru */
.lgq-det { padding-bottom: 0; }
.lgq-det > summary, .lgq-det2 > summary { cursor: pointer; padding: 12px 16px; font-size: 13px; font-weight: 700; list-style: none; display: flex; gap: 10px; align-items: baseline; color: var(--text-primary); }
.lgq-det > summary::-webkit-details-marker, .lgq-det2 > summary::-webkit-details-marker { display: none; }
.lgq-det > summary small { font-weight: 500; font-size: 11.5px; color: var(--text-secondary); margin-left: auto; }
.lgq-det > summary::before, .lgq-det2 > summary::before { content: '▸'; color: var(--text-secondary); }
.lgq-det[open] > summary::before, .lgq-det2[open] > summary::before { content: '▾'; }
.lgq-det > summary:focus-visible, .lgq-det2 > summary:focus-visible { outline: 2px solid var(--bq-acc); outline-offset: -2px; }
.lgq-det2 { border-top: 1px solid var(--bq-line); }
.lgq-det2 > summary { font-weight: 600; font-size: 12.5px; color: var(--bq-info); }
.lgq-scroll { overflow-x: auto; }
.lgq-det .bgpq-tab th { text-align: left; padding: 6px 14px; font-size: 11px; font-weight: 700; color: var(--text-secondary); border-bottom: 1px solid var(--bq-line); white-space: nowrap; }
.lgq-det .bgpq-tab th.bgpq-num { text-align: right; }
.lgq-path { font-family: var(--bq-mono); font-size: 12px; white-space: nowrap; }
.lgq-as { display: inline-block; padding: 1px 6px; border-radius: 6px; background: color-mix(in srgb, var(--text-secondary) 12%, transparent); color: var(--text-primary); text-decoration: none; }
.lgq-as:hover { outline: 1px solid var(--bq-info); }
.lgq-as sup { font-size: 9px; margin-left: 2px; color: var(--bq-warn); font-weight: 800; }
.lgq-as--nos { background: color-mix(in srgb, var(--bq-acc) 22%, transparent); color: var(--bq-acc); font-weight: 800; }
.lgq-as--orig { background: color-mix(in srgb, var(--bq-info) 18%, transparent); color: var(--bq-info); font-weight: 700; }
.lgq-tr--nos td { background: color-mix(in srgb, var(--bq-acc) 6%, transparent); }
.lgq-tr--nos td:first-child { box-shadow: inset 3px 0 0 var(--bq-acc); }
.lgq-melhor { font-size: 10.5px; font-weight: 800; color: var(--bq-ok); border: 1px solid color-mix(in srgb, var(--bq-ok) 45%, transparent); border-radius: 99px; padding: 0 6px; }
.bgpq-tab td.lgq-comm { font-family: var(--bq-mono); font-size: 11px; color: var(--text-secondary); white-space: nowrap; }
.lgq-fonte { font-size: 11px; color: var(--text-secondary); margin: 0; line-height: 1.5; }

@media (max-width: 900px) {
  .lgr { grid-template-columns: minmax(0, 1fr); }
  .lgl-r { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .lgt-wrap { padding: 4px 10px 6px; }
  .lgt-dica { display: inline; }
}
@media (prefers-reduced-motion: reduce) { .lgq * { transition: none !important; } }
.lgq-det2 .bgpq-tab td:first-child { white-space: nowrap; }
