/* Gamma: gráfico por strike, tarjetas de resumen y «Aprende gamma». Todo con prefijo gv-. Sin animaciones infinitas ni backdrop-filter. */
.gv-caja { margin: 10px 0 6px; min-width: 0; }
.gv-caja h3 { margin: 14px 0 6px; }
.gv-resumen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.gv-card { min-width: 0; background: var(--t-panel, #131314); border: 1px solid var(--t-borde-suave, rgba(255,255,255,.08)); border-radius: 12px; padding: 11px 12px; }
.gv-card .gv-et { font-size: 12px; color: var(--text-muted); font-weight: 500; }
.gv-card .gv-v { font-size: 22px; font-weight: 600; letter-spacing: -.01em; margin-top: 2px; line-height: 1.2; }
.gv-card .gv-v small { font-size: 13px; font-weight: 500; color: var(--text-secondary); margin-left: 1px; }
.gv-card .gv-d { font-size: 12px; color: var(--text-secondary); margin-top: 3px; line-height: 1.35; overflow-wrap: anywhere; }
.gv-f { display: flex; align-items: center; gap: 6px; margin-top: 6px; font-size: 12px; color: var(--text-secondary); }
.gv-f i { width: 7px; height: 7px; border-radius: 50%; background: var(--text-muted); flex: none; }
.gv-f.gv-alta i { background: var(--t-naranja, #ff7a2e); }
.gv-f.gv-media i { background: var(--t-ambar, #f3c04f); }
.gv-regimen { grid-column: 1 / -1; }
.gv-regimen .gv-v .gv-ico { font-size: 15px; vertical-align: 1px; }
.gv-regimen.positiva .gv-v { color: var(--good); }
.gv-regimen.negativa .gv-v { color: var(--critical); }
.gv-regimen.transicion .gv-v { color: var(--t-ambar, #f3c04f); }
.gv-term { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 8px; margin: 8px 0 2px; font-size: 12px; color: var(--text-muted); }
.gv-barra-t { position: relative; height: 8px; border-radius: 999px; background: linear-gradient(90deg, var(--critical), var(--text-muted) 50%, var(--good)); opacity: .85; }
.gv-barra-t i { position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--text-primary); border: 2px solid var(--t-panel, #131314); transform: translate(-50%, -50%); transition: left .5s ease; }
.gv-leyenda { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--text-secondary); margin-bottom: 6px; }
.gv-leyenda span { display: inline-flex; align-items: center; gap: 6px; }
.gv-leyenda i { width: 10px; height: 10px; border-radius: 2px; }
.gv-leyenda i.pos { background: var(--good); } .gv-leyenda i.neg { background: var(--critical); }
.gv-leyenda i.lin { width: 12px; height: 2px; background: var(--text-primary); }
.gv-graf { position: relative; width: 100%; min-width: 0; overflow: hidden; border-radius: 10px; }
.gv-svg { display: block; max-width: 100%; height: auto; }
.gv-rej { stroke: var(--t-borde-suave, rgba(255,255,255,.08)); stroke-width: 1; }
.gv-cero { stroke: var(--text-muted); stroke-width: 1; }
.gv-guia { stroke: var(--text-secondary); stroke-width: 1; stroke-dasharray: 3 3; pointer-events: none; }
.gv-barra.pos { fill: var(--good); } .gv-barra.neg { fill: var(--critical); }
.gv-et { font-size: 12px; font-weight: 600; }
.gv-eje { font-size: 12px; fill: var(--text-muted); } .gv-eje.pos { fill: var(--good); } .gv-eje.neg { fill: var(--critical); }
.gv-toque { touch-action: pan-y; cursor: crosshair; }
.gv-tip { position: absolute; top: 4px; z-index: 3; max-width: min(260px, 92%); padding: 8px 10px; border-radius: 10px; font-size: 12px; line-height: 1.4; background: var(--t-panel-2, #1b1b1d); border: 1px solid var(--t-borde, rgba(255,255,255,.16)); box-shadow: 0 6px 18px rgba(0,0,0,.35); pointer-events: none; }
.gv-nota { margin: 6px 0 0; font-size: 12px; line-height: 1.45; }
@media (prefers-reduced-motion: no-preference) {
  html:not([data-efectos="off"]) .gv-barra.anim { transform-box: fill-box; animation: gv-crece .5s cubic-bezier(.2,.8,.2,1) both; }
  html:not([data-efectos="off"]) .gv-barra.pos.anim { transform-origin: bottom; }
  html:not([data-efectos="off"]) .gv-barra.neg.anim { transform-origin: top; }
  html:not([data-efectos="off"]) .gv-card { animation: gv-entra .35s ease both; }
  html:not([data-efectos="off"]) .gv-card:nth-child(2) { animation-delay: .05s; } html:not([data-efectos="off"]) .gv-card:nth-child(3) { animation-delay: .1s; } html:not([data-efectos="off"]) .gv-card:nth-child(4) { animation-delay: .15s; }
}
@keyframes gv-crece { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes gv-entra { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .gv-barra-t i { transition: none; } }
@media (min-width: 901px) { .gv-resumen { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gv-regimen { grid-column: 1 / -1; } }

/* ---------- Aprende gamma ---------- */
.gv-panel-aprende { grid-column: 1 / -1; min-width: 0; }
.gv-aprende > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; align-items: center; min-height: 48px; padding: 6px 2px; }
.gv-aprende > summary::-webkit-details-marker { display: none; }
.gv-aprende-t { font-size: 18px; font-weight: 600; }
.gv-aprende-s { grid-column: 1; font-size: 12.5px; color: var(--text-secondary); }
.gv-aprende > summary .chev { grid-column: 2; grid-row: 1 / span 2; width: 9px; height: 9px; border-right: 2px solid var(--text-secondary); border-bottom: 2px solid var(--text-secondary); transform: rotate(45deg); transition: transform .2s; }
.gv-aprende[open] > summary .chev { transform: rotate(225deg); }
.gv-aprende > summary:focus-visible { outline: 2px solid var(--t-naranja, #ff7a2e); outline-offset: 2px; border-radius: 8px; }
.gv-aprende-in { max-width: 70ch; margin-top: 8px; }
.gv-pasos { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.gv-paso { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; }
.gv-num { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size: 13px; font-weight: 600; background: color-mix(in srgb, var(--t-naranja, #ff7a2e) 18%, transparent); color: var(--t-naranja-2, #ff9a5c); }
.gv-paso h4 { margin: 3px 0 4px; font-size: 15px; }
.gv-txt p { margin: 0 0 8px; font-size: 13.5px; line-height: 1.55; color: var(--text-secondary); }
.gv-txt b { color: var(--text-primary); font-weight: 600; }
.gv-term-q { white-space: nowrap; }
.gv-q { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-left: 3px; padding: 0; border-radius: 50%; border: 1px solid var(--t-borde, rgba(255,255,255,.2)); background: transparent; color: var(--text-secondary); font-weight: 600; font-size: 12px; line-height: 1; font-family: inherit; cursor: pointer; vertical-align: middle; }
.gv-q[aria-expanded="true"] { background: var(--t-naranja, #ff7a2e); color: var(--t-sobre-marca, #1a1005); border-color: transparent; }
.gv-q:focus-visible { outline: 2px solid var(--t-naranja, #ff7a2e); outline-offset: 1px; }
.gv-def { margin: 0 0 8px; padding: 8px 10px; border-left: 3px solid var(--t-naranja, #ff7a2e); background: var(--t-panel-2, rgba(255,255,255,.04)); border-radius: 0 8px 8px 0; font-size: 13px; line-height: 1.5; color: var(--text-secondary); }
.gv-ilu { display: block; width: 100%; max-width: 360px; height: auto; margin: 4px 0 6px; }
.gv-ilu-lin { fill: none; stroke-width: 3; stroke-linecap: round; } .gv-ilu-lin.pos { stroke: var(--good); } .gv-ilu-lin.neg { stroke: var(--critical); } .gv-ilu-lin.flip { stroke: var(--t-fron, #8a7cf0); }
.gv-ilu-bola { fill: var(--text-primary); } .gv-ilu-fl { fill: none; stroke-width: 2; stroke-linecap: round; } .gv-ilu-fl.pos { stroke: var(--good); } .gv-ilu-fl.neg { stroke: var(--critical); }
.gv-ilu-t { font-size: 12px; fill: var(--text-secondary); } .gv-ilu-t.pos { fill: var(--good); } .gv-ilu-t.neg { fill: var(--critical); }
.gv-ilu-cero { stroke: var(--text-muted); stroke-width: 1; stroke-dasharray: 3 3; } .gv-ilu-pr { stroke: var(--text-primary); stroke-width: 2; }
.gv-ilu-b { fill: var(--text-muted); opacity: .55; } .gv-ilu-b.m.p { fill: var(--t-sop, #4aa3ff); opacity: 1; } .gv-ilu-b.m.c { fill: var(--t-res, #f08a5d); opacity: 1; }
.gv-ej { margin: 0 0 8px; padding-left: 18px; font-size: 13.5px; line-height: 1.55; color: var(--text-secondary); } .gv-ej li { margin-bottom: 5px; }
.gv-sub { margin: 18px 0 8px; font-size: 15px; }
.gv-glos { display: grid; gap: 8px; margin: 0; } .gv-glos div { padding: 8px 10px; border: 1px solid var(--t-borde-suave, rgba(255,255,255,.08)); border-radius: 10px; }
.gv-glos dt { font-weight: 600; font-size: 13.5px; } .gv-glos dd { margin: 2px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-secondary); }
.gv-pregunta { border: 1px solid var(--t-borde-suave, rgba(255,255,255,.08)); border-radius: 12px; margin: 0 0 10px; padding: 10px 12px; min-width: 0; }
.gv-pregunta legend { padding: 0 6px; font-size: 13.5px; font-weight: 600; line-height: 1.4; }
.gv-op { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 4px 6px; border-radius: 8px; font-size: 13.5px; line-height: 1.4; cursor: pointer; }
.gv-op input { width: 20px; height: 20px; flex: none; accent-color: var(--t-naranja, #ff7a2e); }
.gv-pregunta.ok { border-color: var(--good); } .gv-pregunta.mal { border-color: var(--t-ambar, #f3c04f); }
.gv-btn { min-height: 44px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--t-naranja, #ff7a2e); color: var(--t-sobre-marca, #1a1005); font-weight: 600; font-size: 14px; font-family: inherit; cursor: pointer; }
.gv-btn.sec { background: transparent; color: var(--text-primary); border: 1px solid var(--t-borde, rgba(255,255,255,.2)); }
.gv-btn:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 2px; }
.gv-nota-t { margin: 8px 0 0; }

/* capas del gráfico, línea «qué implican hoy» y bloques de los pasos de «Aprende gamma» */
.gv-cab { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; margin: 14px 0 6px; }
.gv-cab h3 { margin: 0; }
.gv-capas { display: inline-flex; border: 1px solid var(--t-borde, rgba(255,255,255,.16)); border-radius: 999px; padding: 2px; max-width: 100%; }
.gv-capas:empty { display: none; }
.gv-capa { min-height: 44px; min-width: 64px; padding: 0 14px; border: 0; border-radius: 999px; background: transparent; color: var(--text-secondary); font-weight: 600; font-size: 13px; font-family: inherit; cursor: pointer; }
.gv-capa.activo { background: var(--t-naranja, #ff7a2e); color: var(--t-sobre-marca, #1a1005); }
.gv-capa:focus-visible { outline: 2px solid var(--text-primary); outline-offset: 1px; }
.gv-hoy { grid-column: 1 / -1; }
.gv-hoy-l { margin-top: 5px; font-size: 13px; line-height: 1.5; color: var(--text-secondary); }
.gv-hoy-l b { color: var(--text-primary); font-weight: 600; }
.gv-bq { display: grid; gap: 2px; margin: 0 0 8px; padding: 8px 10px; border-radius: 10px; background: var(--t-panel-2, rgba(255,255,255,.04)); font-size: 13.5px; line-height: 1.55; color: var(--text-secondary); }
.gv-bq-et { font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--text-muted); }
.gv-bq.no { border-left: 3px solid var(--t-ambar, #f3c04f); }
.gv-bq.ver { border-left: 3px solid var(--good); }
.gv-bq.ana { border-left: 3px solid var(--t-naranja, #ff7a2e); }
.gv-real { margin: 0 0 8px; padding: 8px 10px; border-radius: 10px; border: 1px dashed var(--t-borde, rgba(255,255,255,.2)); font-size: 13.5px !important; line-height: 1.55; }
.gv-real-et { display: inline-block; margin-right: 6px; padding: 1px 8px; border-radius: 999px; font-size: 12px; font-weight: 700; background: color-mix(in srgb, var(--t-naranja, #ff7a2e) 18%, transparent); color: var(--t-naranja-2, #ff9a5c); }
.gv-lista { margin: 4px 0 0; padding-left: 18px; } .gv-lista li { margin-bottom: 4px; }
@media (max-width: 520px) { .gv-capas { width: 100%; } .gv-capa { flex: 1; padding: 0 6px; } }
