/* cara.css — la cara del hospedaje, con el lenguaje de tawasuyu.net:
 * oscuro de fábrica y claro sólo si el navegador lo pide; la chakana con su
 * cónico; una franja que es vidrio; luces de fondo que respiran. Sin fuentes
 * externas: lo que haya en la máquina, que es lo soberano. */

:root {
  --fondo: #0b0b10; --papel: #13131a; --papel2: #1a1a23; --papel3: #22222c;
  --texto: #ece8e1; --tenue: #b7b2ab; --debil: #847f7a;
  --linea: #24232b; --linea2: #34333d;
  --a1: #f2a24e; --a2: #a487ff; --a3: #5b9cf0;
  --ok: #6acb88; --mal: #e0665c;
  --vidrio: rgba(11, 11, 16, 0.72);
  --franja-h: 60px;
  --h1: 32; --h2: 262; --h3: 212; --sat: 78%; --lum: 62%; --lz-op: 0.18;
  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace;
  /* el código */
  --c-k: #c792ea; --c-t: #ffcb6b; --c-s: #c3e88d; --c-c: #7a8290; --c-n: #f78c6c; --c-m: #82aaff; --c-f: #82aaff; --c-a: #89ddff; --c-p: #f2a24e;
  color-scheme: dark;
}
@media (prefers-color-scheme: light) {
  :root {
    --fondo: #f7f5f0; --papel: #ffffff; --papel2: #f1eee7; --papel3: #e9e5dc;
    --texto: #1a1a24; --tenue: #4c4b57; --debil: #7c7a85;
    --linea: #e3dfd6; --linea2: #d3cec2;
    --a1: #b4561c; --a2: #6b4fd8; --a3: #2f6fc0; --ok: #2f8f4e; --mal: #b5362c;
    --vidrio: rgba(247, 245, 240, 0.82); --sat: 62%; --lum: 46%; --lz-op: 0.26;
    --c-k: #7c3aed; --c-t: #9a5b00; --c-s: #2f7a2f; --c-c: #8a8a93; --c-n: #b4561c; --c-m: #2f6fc0; --c-f: #2f6fc0; --c-a: #0e7490; --c-p: #b4561c;
    color-scheme: light;
  }
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--franja-h) + 1rem); }
body { background: var(--fondo); color: var(--texto); font: 400 15px/1.6 var(--sans); -webkit-font-smoothing: antialiased; min-height: 100vh; display: flex; flex-direction: column; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--a1); }
img { display: block; max-width: 100%; }
code, pre, kbd { font-family: var(--mono); }
code { font-size: .86em; background: color-mix(in srgb, var(--a1) 10%, transparent); padding: .08em .35em; border-radius: 4px; }
pre code { background: none; padding: 0; font-size: inherit; }
::selection { background: var(--a1); color: var(--fondo); }
small { font-weight: 400; color: var(--debil); }
h1, h2, h3, h4 { font-weight: 600; letter-spacing: -.01em; text-wrap: balance; }

/* ── la chakana ── */
.chakana {
  display: inline-block; aspect-ratio: 1; width: 28px; flex: 0 0 auto;
  background:
    radial-gradient(circle at 50% 50%, color-mix(in srgb, var(--fondo) 92%, transparent) 13%, transparent 46%),
    conic-gradient(from 0deg, hsl(var(--h1) var(--sat) var(--lum)) 0deg, hsl(var(--h2) var(--sat) var(--lum)) 120deg, hsl(var(--h3) var(--sat) var(--lum)) 240deg, hsl(var(--h1) var(--sat) var(--lum)) 360deg);
  clip-path: url(#chakana-recorte);
}
.chakana.chica { width: 16px; margin-right: .5rem; vertical-align: -2px; }
.chakana.grande { width: 72px; margin: 0 auto 1.5rem; display: block; }

/* ── la franja ── */
.franja {
  position: sticky; top: 0; z-index: 50; height: var(--franja-h);
  display: flex; align-items: center; gap: 1rem;
  padding: 0 clamp(1rem, 3vw, 2rem);
  background: var(--vidrio); backdrop-filter: blur(14px) saturate(1.3); -webkit-backdrop-filter: blur(14px) saturate(1.3);
  border-bottom: 1px solid var(--linea);
}
.marca { display: flex; align-items: center; gap: .6rem; font-weight: 600; font-size: 1.02rem; }
.marca:hover { color: inherit; }
.marca:hover .chakana { filter: brightness(1.15); }
.migas { display: flex; align-items: center; gap: .35rem; font-size: .92rem; color: var(--tenue); min-width: 0; overflow: hidden; white-space: nowrap; }
.migas a:last-child { color: var(--texto); font-weight: 500; }
.sep { color: var(--debil); margin: 0 .3rem; }
.buscar { margin-left: auto; }
.buscar input, .buscar-defs input {
  width: clamp(10rem, 24vw, 22rem); height: 34px; padding: 0 .9rem; border-radius: 999px;
  border: 1px solid var(--linea2); background: var(--papel); color: var(--texto); font: inherit; font-size: .9rem;
  transition: border-color .2s, box-shadow .2s;
}
.buscar input:focus, .buscar-defs input:focus { outline: none; border-color: var(--a1); box-shadow: 0 0 0 3px color-mix(in srgb, var(--a1) 25%, transparent); }
.idiomas { display: flex; gap: .15rem; font: 500 .72rem/1 var(--mono); letter-spacing: .08em; }
.idiomas a { padding: .45rem .55rem; border-radius: 999px; color: var(--debil); }
.idiomas a.activo { color: var(--texto); background: var(--papel2); }
.idiomas a:hover { color: var(--a1); }

/* ── luces de fondo ── */
.luces { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.luces i { position: absolute; width: 60vmax; height: 60vmax; border-radius: 50%; filter: blur(80px); opacity: var(--lz-op); }
.luces i:nth-child(1) { background: radial-gradient(circle, var(--a2), transparent 65%); left: -22vmax; top: -18vmax; animation: lz1 40s ease-in-out infinite alternate; }
.luces i:nth-child(2) { background: radial-gradient(circle, var(--a1), transparent 65%); right: -26vmax; top: 24vh; animation: lz2 48s ease-in-out infinite alternate; }
.luces i:nth-child(3) { background: radial-gradient(circle, var(--a3), transparent 65%); left: 12vw; bottom: -32vmax; animation: lz3 54s ease-in-out infinite alternate; }
@keyframes lz1 { to { transform: translate(14vw, 10vh); } }
@keyframes lz2 { to { transform: translate(-12vw, 14vh); } }
@keyframes lz3 { to { transform: translate(10vw, -12vh); } }
@media (prefers-reduced-motion: reduce) { .luces i { animation: none; } }

/* ── el cuerpo ── */
main { flex: 1; width: 100%; margin: 0 auto; padding: 1.5rem clamp(1rem, 3vw, 2rem) 4rem; }
main.ancho { max-width: 78rem; }
main.angosto { max-width: 44rem; }
footer { display: flex; justify-content: center; align-items: center; gap: .2rem; padding: 1.5rem; border-top: 1px solid var(--linea); color: var(--debil); font-size: .8rem; }
.ante { font: 500 .72rem/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--a1); margin-bottom: .6rem; }
.vacio { color: var(--debil); padding: 1.5rem; text-align: center; border: 1px dashed var(--linea2); border-radius: 14px; margin: 1rem 0; }
.pista { color: var(--debil); font-size: .9rem; margin-top: 1rem; }
.chip { display: inline-block; font: 500 .68rem/1 var(--mono); letter-spacing: .06em; padding: .3em .55em; border-radius: 999px; border: 1px solid var(--linea2); color: var(--tenue); vertical-align: middle; }
.chip.ok { border-color: color-mix(in srgb, var(--ok) 50%, transparent); color: var(--ok); }
.pub { font: 500 .66rem/1 var(--mono); color: var(--ok); border: 1px solid color-mix(in srgb, var(--ok) 45%, transparent); border-radius: 4px; padding: .15em .35em; vertical-align: middle; }
.meta { color: var(--debil); font-size: .84rem; display: flex; flex-wrap: wrap; gap: .3rem .9rem; align-items: center; }
.meta code { font-size: .8em; }
.ir { color: var(--a1); font-weight: 500; font-size: .88rem; }
.ir:hover { text-decoration: underline; }
time { white-space: nowrap; }

/* ── la plaza ── */
.portada-plaza { padding: clamp(2rem, 7vh, 5rem) 0 2rem; max-width: 46rem; }
.portada-plaza h1 { font: 500 clamp(2.2rem, 5vw, 3.6rem)/1.05 var(--serif); margin-bottom: 1rem; }
.portada-plaza .intro { color: var(--tenue); font-size: 1.05rem; max-width: 40rem; }
.grupo { margin: 2.5rem 0; }
.dueno { font-size: 1.1rem; color: var(--tenue); margin-bottom: 1rem; display: flex; align-items: center; gap: .3rem; }
.tarjetas { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: .9rem; }
.tarjeta {
  display: flex; flex-direction: column; gap: .45rem; padding: 1.1rem 1.2rem; border-radius: 16px;
  background: var(--papel); border: 1px solid var(--linea);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.tarjeta:hover { transform: translateY(-2px); border-color: var(--linea2); background: var(--papel2); color: inherit; }
.tarjeta.suite { grid-column: 1 / -1; background: linear-gradient(135deg, color-mix(in srgb, var(--a1) 10%, var(--papel)), color-mix(in srgb, var(--a2) 10%, var(--papel)) 60%, var(--papel)); border-color: color-mix(in srgb, var(--a1) 35%, var(--linea)); }
.tarjeta.suite h3 { font-size: 1.4rem; font-family: var(--serif); font-weight: 500; }
.tarjeta h3 { font-size: 1.02rem; display: flex; align-items: center; gap: .5rem; }
.tarjeta .desc { color: var(--tenue); font-size: .9rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tarjeta .asunto { color: var(--debil); font-size: .8rem; font-family: var(--mono); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: auto; }
.lenguaje i { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--a3); margin-right: .35rem; vertical-align: -1px; }

/* ── un repo ── */
.repo-cab { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: flex-start; justify-content: space-between; padding: 1rem 0 .5rem; }
.repo-cab .titulo { min-width: 0; flex: 1 1 24rem; }
.repo-cab h1 { font-size: 1.6rem; font-weight: 500; display: flex; align-items: center; flex-wrap: wrap; gap: .3rem; }
.repo-cab h1 a:first-child { color: var(--tenue); }
.repo-cab .desc { color: var(--tenue); margin: .4rem 0 .5rem; max-width: 56rem; }
.clonar { flex: 0 1 26rem; display: flex; flex-direction: column; gap: .3rem; }
.clonar label { font-size: .78rem; color: var(--debil); font-weight: 500; }
.clonar input { width: 100%; height: 36px; padding: 0 .8rem; border-radius: 10px; border: 1px solid var(--linea2); background: var(--papel); color: var(--texto); font: .82rem var(--mono); }
.clonar input:focus { outline: none; border-color: var(--a1); }
.pestanas { display: flex; gap: .2rem; border-bottom: 1px solid var(--linea); margin: .4rem 0 1.4rem; overflow-x: auto; }
.pestanas a { padding: .6rem .9rem; color: var(--tenue); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; font-size: .92rem; }
.pestanas a:hover { color: var(--texto); }
.pestanas a.activa { color: var(--texto); border-bottom-color: var(--a1); font-weight: 500; }
.pestanas small { font-family: var(--mono); font-size: .74em; background: var(--papel2); padding: .1em .45em; border-radius: 999px; }
.pestanas small.aviso { background: color-mix(in srgb, var(--a1) 25%, var(--papel2)); color: var(--a1); }

.dos { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem); gap: 1.4rem; align-items: start; }
@media (max-width: 60rem) { .dos { grid-template-columns: 1fr; } }
.arbol, .historia, .ramas, .espera, .defs { background: var(--papel); border: 1px solid var(--linea); border-radius: 16px; overflow: hidden; }
.barra-arbol { display: flex; align-items: center; gap: .8rem; padding: .7rem 1rem; border-bottom: 1px solid var(--linea); background: var(--papel2); font-size: .9rem; }
.barra-arbol .ir { margin-left: auto; }
.rama { font-family: var(--mono); font-size: .82rem; color: var(--a2); background: color-mix(in srgb, var(--a2) 12%, transparent); padding: .2em .6em; border-radius: 999px; white-space: nowrap; }
.ruta { font-family: var(--mono); font-size: .86rem; color: var(--tenue); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entradas { list-style: none; }
.entradas li { display: flex; align-items: center; padding: .42rem 1rem; border-bottom: 1px solid var(--linea); font-size: .92rem; }
.entradas li:last-child { border-bottom: 0; }
.entradas li:hover { background: var(--papel2); }
.entradas a { display: flex; align-items: center; gap: .55rem; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.entradas .tam { margin-left: auto; color: var(--debil); font: .78rem var(--mono); }
.icono { display: inline-block; width: 14px; height: 12px; border-radius: 3px; border: 1.5px solid var(--debil); flex: 0 0 auto; }
.dir .icono { border-color: var(--a1); background: linear-gradient(to bottom, color-mix(in srgb, var(--a1) 55%, transparent), color-mix(in srgb, var(--a1) 25%, transparent)); border-radius: 2px 5px 3px 3px; }
.dir > a { font-weight: 500; }
.ultimos { background: var(--papel); border: 1px solid var(--linea); border-radius: 16px; padding: 1rem 1.1rem; }
.ultimos h2 { font-size: .95rem; margin-bottom: .6rem; color: var(--tenue); }
.commits { list-style: none; }
.commits li { padding: .6rem 1rem; border-bottom: 1px solid var(--linea); display: flex; flex-direction: column; gap: .15rem; }
.commits li:last-child { border-bottom: 0; }
.commits li:hover { background: var(--papel2); }
.commits .asunto { font-weight: 500; }
.commits.chicos li { padding: .45rem 0; font-size: .9rem; }
.ultimos .ir { display: inline-block; margin-top: .6rem; }
.readme { margin-top: 1.6rem; padding: clamp(1.2rem, 3vw, 2.4rem); background: var(--papel); border: 1px solid var(--linea); border-radius: 16px; max-width: 56rem; }
.readme > .ante { margin-bottom: 1.2rem; }
.readme h1, .readme h2, .readme h3 { margin: 1.4em 0 .5em; font-weight: 600; }
.readme h1 { font: 500 2rem/1.15 var(--serif); }
.readme h2 { font-size: 1.35rem; }
.readme h3 { font-size: 1.1rem; }
.readme p, .readme ul, .readme ol, .readme blockquote, .readme table, .readme pre { margin: .8em 0; }
.readme ul, .readme ol { padding-left: 1.4em; }
.readme a { color: var(--a3); }
.readme a:hover { text-decoration: underline; }
.readme pre { padding: 1rem; background: var(--fondo); border: 1px solid var(--linea); border-radius: 10px; overflow-x: auto; font-size: .84rem; line-height: 1.5; }
.readme blockquote { border-left: 3px solid var(--a1); padding-left: 1rem; color: var(--tenue); }
.readme table { border-collapse: collapse; font-size: .9rem; display: block; overflow-x: auto; }
.readme th, .readme td { border: 1px solid var(--linea2); padding: .4em .7em; text-align: left; }
.readme img { border-radius: 8px; }
.readme hr { border: 0; border-top: 1px solid var(--linea); margin: 1.5em 0; }

/* ── un archivo ── */
.archivo-cab { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; padding: .7rem 1rem; background: var(--papel2); border: 1px solid var(--linea); border-radius: 14px 14px 0 0; font-size: .9rem; }
.archivo-cab .ruta { color: var(--texto); font-weight: 500; }
.archivo-cab .meta { margin-left: auto; }
.ultimo-cambio { padding: .5rem 1rem; border: 1px solid var(--linea); border-top: 0; background: var(--papel); font-size: .88rem; display: flex; gap: .8rem; flex-wrap: wrap; }
.codigo-y-defs { display: grid; grid-template-columns: minmax(0, 1fr) auto; border: 1px solid var(--linea); border-top: 0; border-radius: 0 0 14px 14px; overflow: hidden; background: var(--papel); }
.codigo { overflow-x: auto; font-size: .82rem; line-height: 1.55; padding: .6rem 0; tab-size: 4; }
.codigo .ln { display: block; }
.codigo .ln:hover { background: var(--papel2); }
.codigo .ln:target { background: color-mix(in srgb, var(--a1) 16%, transparent); }
.codigo .ln > a { display: inline-block; width: 4.2em; padding-right: 1em; text-align: right; color: var(--debil); user-select: none; font-size: .9em; }
.codigo .ln > a:hover { color: var(--a1); }
.codigo .lc { white-space: pre; padding-right: 1.5rem; }
.codigo .k { color: var(--c-k); } .codigo .t { color: var(--c-t); } .codigo .s { color: var(--c-s); } .codigo .c { color: var(--c-c); font-style: italic; }
.codigo .n { color: var(--c-n); } .codigo .m { color: var(--c-m); } .codigo .f { color: var(--c-f); } .codigo .a { color: var(--c-a); } .codigo .p { color: var(--c-p); }
.defs-archivo { border-left: 1px solid var(--linea); padding: .8rem 1rem; min-width: 14rem; max-width: 20rem; font-size: .84rem; position: sticky; top: calc(var(--franja-h) + .5rem); align-self: start; max-height: calc(100vh - var(--franja-h) - 1rem); overflow-y: auto; }
.defs-archivo h3 { font-size: .78rem; color: var(--debil); text-transform: uppercase; letter-spacing: .1em; margin-bottom: .5rem; font-family: var(--mono); font-weight: 500; }
.defs-archivo ul { list-style: none; }
.defs-archivo li a { display: block; padding: .15rem 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-family: var(--mono); }
.clase { color: var(--c-k); font-size: .8em; font-family: var(--mono); opacity: .85; }
@media (max-width: 60rem) { .codigo-y-defs { grid-template-columns: 1fr; } .defs-archivo { position: static; max-height: none; border-left: 0; border-top: 1px solid var(--linea); max-width: none; } }
.imagen { padding: 1.5rem; background: var(--papel); border: 1px solid var(--linea); border-top: 0; border-radius: 0 0 14px 14px; display: flex; justify-content: center; }
.imagen img { max-height: 70vh; }
.readme.rendido { margin-top: 1rem; }

/* ── historia y un cambio ── */
.historia .dia { padding: .6rem 1rem .3rem; font: 500 .74rem var(--mono); letter-spacing: .1em; color: var(--debil); background: var(--papel2); border-bottom: 1px solid var(--linea); }
.paginas { display: flex; justify-content: space-between; padding: .8rem 1rem; }
.paginas a { color: var(--a1); font-weight: 500; }
.cambio > header { padding: 1.2rem 1.4rem; background: var(--papel); border: 1px solid var(--linea); border-radius: 16px; }
.cambio h2 { font-size: 1.3rem; margin-bottom: .5rem; }
.cuerpo-commit { white-space: pre-wrap; color: var(--tenue); font-size: .88rem; line-height: 1.55; margin: .6rem 0 .8rem; max-width: 70ch; font-family: var(--sans); }
.delta { margin: 1.2rem 0; padding: 1.1rem 1.4rem; border-radius: 16px; background: linear-gradient(135deg, color-mix(in srgb, var(--a2) 9%, var(--papel)), var(--papel) 70%); border: 1px solid color-mix(in srgb, var(--a2) 30%, var(--linea)); }
.delta-archivo { margin: .8rem 0; }
.delta-archivo h4 { font: 500 .82rem var(--mono); color: var(--tenue); margin-bottom: .3rem; }
.delta-archivo ul { list-style: none; display: flex; flex-wrap: wrap; gap: .4rem; }
.delta-archivo li { font-family: var(--mono); font-size: .84rem; padding: .3em .7em; border-radius: 999px; border: 1px solid var(--linea2); background: var(--papel2); display: inline-flex; align-items: center; gap: .4em; }
.delta-archivo li .marca { font-size: .72em; letter-spacing: .06em; text-transform: uppercase; color: var(--debil); }
.delta-archivo li.nueva { border-color: color-mix(in srgb, var(--ok) 50%, transparent); } .delta-archivo li.nueva .marca { color: var(--ok); }
.delta-archivo li.borrada { border-color: color-mix(in srgb, var(--mal) 50%, transparent); } .delta-archivo li.borrada .marca { color: var(--mal); }
.delta-archivo li.firma { border-color: color-mix(in srgb, var(--a1) 60%, transparent); } .delta-archivo li.firma .marca { color: var(--a1); }
.delta-archivo li.cuerpo .marca { color: var(--a3); }
.archivos-tocados { margin: 1rem 0; }
.archivos-tocados ul { list-style: none; columns: 2; column-gap: 2rem; font-size: .86rem; font-family: var(--mono); }
@media (max-width: 60rem) { .archivos-tocados ul { columns: 1; } }
.archivos-tocados li { padding: .15rem 0; break-inside: avoid; }
.mas { color: var(--ok); } .menos { color: var(--mal); }
.parche { background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; overflow-x: auto; font-size: .8rem; line-height: 1.5; padding: .6rem 0; }
.parche .dl { display: block; padding: 0 1rem; white-space: pre; }
.parche .dl.mas { background: color-mix(in srgb, var(--ok) 13%, transparent); color: inherit; }
.parche .dl.menos { background: color-mix(in srgb, var(--mal) 13%, transparent); color: inherit; }
.parche .dl.g { color: var(--a2); background: color-mix(in srgb, var(--a2) 8%, transparent); margin-top: .4rem; }
.parche .dl.h { color: var(--debil); }
.parche .dl.h:first-child, .parche .dl.g + .dl.h { margin-top: 0; }

/* ── ramas, espera, defs, búsqueda ── */
.ramas ul, .resultados { list-style: none; }
.ramas li, .resultados li { padding: .6rem 1rem; border-bottom: 1px solid var(--linea); display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .8rem; }
.ramas li:last-child, .resultados li:last-child { border-bottom: 0; }
.ramas li:hover, .resultados li:hover { background: var(--papel2); }
.ramas .nombre { font-family: var(--mono); font-weight: 500; }
.ramas .meta, .resultados .meta { width: 100%; }
.espera .intro { padding: 1rem 1.2rem .4rem; color: var(--tenue); font-size: .92rem; }
.pendiente { padding: 1rem 1.2rem; border-top: 1px solid var(--linea); }
.pendiente h3 { font-size: 1.05rem; }
.barra { height: 8px; border-radius: 999px; background: var(--papel3); margin: .7rem 0 .4rem; overflow: hidden; }
.barra i { display: block; height: 100%; background: linear-gradient(90deg, var(--a1), var(--ok)); border-radius: 999px; min-width: 2px; transition: width .4s; }
.progreso { font-size: .9rem; font-weight: 500; }
.como { color: var(--debil); font-size: .84rem; margin-top: .5rem; }
.orden { margin-top: .4rem; padding: .6rem .9rem; background: var(--fondo); border: 1px solid var(--linea); border-radius: 10px; font-size: .8rem; overflow-x: auto; }
.buscar-defs { display: flex; gap: .5rem; padding: 1rem 1.2rem; border-bottom: 1px solid var(--linea); }
.buscar-defs input { flex: 1; width: auto; max-width: none; border-radius: 10px; }
.buscar-defs button { padding: 0 1rem; border-radius: 10px; border: 1px solid var(--linea2); background: var(--a1); color: var(--fondo); font: 500 .9rem var(--sans); cursor: pointer; }
.defs .meta, .defs .vacio, .defs .pista { padding: .8rem 1.2rem; margin: 0; }
.defs .vacio { border: 0; }
.indexando { animation: late 1.6s ease-in-out infinite; }
@keyframes late { 50% { opacity: .45; } }
.busqueda h1 { font: 500 2rem/1.1 var(--serif); margin-bottom: 1rem; }
.busqueda h2 { font-size: 1rem; color: var(--tenue); margin: 1.4rem 0 .5rem; }
.busqueda .resultados { background: var(--papel); border: 1px solid var(--linea); border-radius: 14px; }
.no { text-align: center; padding: 4rem 0; }
.no h1 { font: 500 2.4rem/1.1 var(--serif); margin-bottom: .6rem; }
.no p { color: var(--tenue); margin-bottom: 1rem; }
.error { padding: 1rem; color: var(--mal); white-space: pre-wrap; }

/* ── blame por AST e historia de una definición ── */
.blame, .historia-def { background: var(--papel); border: 1px solid var(--linea); border-top: 0; border-radius: 0 0 14px 14px; }
.blame .intro, .historia-def h2 { padding: 1rem 1.2rem .4rem; color: var(--tenue); font-size: .92rem; }
.historia-def h2 { color: var(--texto); font: 500 1.4rem/1.2 var(--mono); display: flex; flex-direction: column; gap: .3rem; }
.blame table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.blame th { text-align: left; font: 500 .7rem var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--debil); padding: .5rem 1.2rem; border-bottom: 1px solid var(--linea); }
.blame td { padding: .5rem 1.2rem; border-bottom: 1px solid var(--linea); vertical-align: top; }
.blame tr:last-child td { border-bottom: 0; }
.blame tr:hover td { background: var(--papel2); }
.blame .def { font-family: var(--mono); white-space: nowrap; }
.blame .quien { color: var(--debil); white-space: nowrap; }
.marca { font: 500 .66rem var(--mono); letter-spacing: .06em; text-transform: uppercase; padding: .2em .5em; border-radius: 999px; border: 1px solid var(--linea2); color: var(--debil); margin-right: .4rem; white-space: nowrap; }
.nacio .marca, .nueva .marca { color: var(--ok); border-color: color-mix(in srgb, var(--ok) 50%, transparent); }
.firma .marca { color: var(--a1); border-color: color-mix(in srgb, var(--a1) 60%, transparent); }
.cuerpo .marca { color: var(--a3); border-color: color-mix(in srgb, var(--a3) 50%, transparent); }
.renombrada .marca { color: var(--a2); border-color: color-mix(in srgb, var(--a2) 50%, transparent); }
.hist { color: var(--debil); font-size: .82rem; white-space: nowrap; }
.hist:hover { color: var(--a1); }
.defs-archivo li { display: flex; align-items: center; gap: .4rem; }
.defs-archivo li a:first-child { flex: 1; }
.pasos { list-style: none; }
.pasos li { padding: .7rem 1.2rem; border-top: 1px solid var(--linea); display: flex; flex-wrap: wrap; align-items: baseline; gap: .3rem .6rem; }
.pasos .asunto { font-weight: 500; }
.pasos .meta { width: 100%; }
.blame .pista, .historia-def .pista { padding: .6rem 1.2rem 1rem; margin: 0; }
