:root { --tickets-luz: #ffb1d2; }
.tickets-prueba-panel { position: fixed; z-index: 500; top: 12px; left: 50%; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 24px); padding: 7px; border: 1px solid #ffffff30; border-radius: 14px; background: #101016f2; color: #eee; font: 12px system-ui; }
.tickets-prueba-panel summary { cursor:pointer; min-height:44px; display:flex; align-items:center; justify-content:center; padding:0 12px; font:600 14px var(--body); }
.tickets-prueba-panel summary::after { content:'+'; margin-left:12px; }
.tickets-prueba-panel[open] summary::after { content:'−'; }
.tickets-prueba-panel summary:focus-visible { outline:2px solid white; outline-offset:2px; }
.tickets-prueba-controles { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; padding:4px; }
.tickets-prueba-panel:not([open]) .tickets-prueba-controles { display:none; }
.tickets-prueba-panel small { flex-basis: 100%; text-align: center; font-size: 9px; letter-spacing: .12em; color: #bcbcc7; }
.tickets-prueba-panel button { border: 1px solid transparent; border-radius: 8px; min-height: 34px; padding: 4px 10px; color: #ccc; background: transparent; cursor: pointer; }
.tickets-prueba-panel button[aria-pressed=true] { background: #f4eef4; color: #17121a; }
.tickets-prueba-panel button:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
html[data-tickets-prueba] .cx-actions a { position: relative; isolation: isolate; overflow: hidden; min-width: 188px; min-height: 60px; padding: 0 26px; gap: 14px; background: #0c0b10; color: #fff; border: 2px solid var(--tickets-luz); font: 800 20px/1 var(--body); letter-spacing: .025em; text-transform: none; text-shadow: 0 1px 2px #000; box-shadow: inset 0 1px 1px #ffffff30, 0 0 20px color-mix(in srgb, var(--tickets-luz) 35%, transparent), 0 5px 14px #0009; }
html[data-tickets-prueba] .cx-actions a::before { content: none; }
html[data-tickets-prueba] .cx-actions a .tickets-simbolo { display: inline-flex; color: var(--tickets-luz); }
html[data-tickets-prueba] .cx-actions a .tickets-simbolo[hidden] { display: none; }
html[data-tickets-prueba] .cx-actions a .tickets-simbolo svg { width: 25px; height: 25px; }
@font-face { font-family: 'Tickets Plex'; src: url('../fuentes/ibm-plex-mono.woff2') format('woff2'); font-weight: 400 700; font-display: swap; }
html[data-tickets-letra=clasica] .cx-actions a { font-family: var(--body); font-weight: 700; font-size: 22px; letter-spacing: -.02em; }
html[data-tickets-letra=afiche] .cx-actions a { font-family: var(--display); font-weight: 900; font-size: 29px; text-transform: uppercase; letter-spacing: .065em; }
html[data-tickets-letra=boleto] .cx-actions a { font-family: 'Tickets Plex', monospace; font-weight: 600; font-size: 19px; text-transform: uppercase; letter-spacing: .08em; }
html[data-tickets-letra=italica] .cx-actions a { font-family: var(--body); font-weight: 700; font-size: 23px; font-style: italic; letter-spacing: -.025em; }
.tickets-prueba-panel label { display: flex; align-items: center; gap: 7px; color: #c9c3ce; margin-left: 8px; }
.tickets-prueba-panel select { min-height: 34px; padding: 5px 24px 5px 9px; border: 1px solid #615967; border-radius: 7px; background: #201c25; color: #fff; font: 13px var(--body); }
@media(min-width: 900px) { .tickets-prueba-panel { flex-wrap: wrap; align-items: center; } .tickets-prueba-panel small { flex: 0 0 110px; line-height: 1.4; } }
.tickets-prueba-panel button, .tickets-prueba-panel label { flex-shrink: 0; white-space: nowrap; }
@media(max-width: 600px) { .tickets-prueba-panel label { margin: 0; } .tickets-prueba-panel select { min-height: 40px; } }
html[data-tickets-prueba] .cx-actions a::after { content: ''; position: absolute; pointer-events: none; bottom: 4px; left: calc(50% - 18px); width: 36px; height: 2px; border-radius: 100%; background: #fff; box-shadow: 0 0 5px var(--tickets-luz); }
html[data-tickets-prueba=relieve] .cx-actions a { background: linear-gradient(#322c38, #0c0b10 70%); box-shadow: inset 0 2px 2px #ffffff40, 0 0 20px color-mix(in srgb, var(--tickets-luz) 35%, transparent), 0 7px 14px #000b; }
html[data-tickets-prueba=cristal] .cx-actions a { background: linear-gradient(165deg,color-mix(in srgb, var(--tickets-luz) 28%, #18151c) 0%,color-mix(in srgb, var(--tickets-luz) 12%, #18151c) 36%,#100d14 37%,#17121c); box-shadow: inset 0 0 0 3px #ffffff09, inset 0 1px 0 #ffffff70, 0 0 16px color-mix(in srgb, var(--tickets-luz) 28%, transparent), 0 7px 18px #000b; }
html[data-tickets-prueba] .cx-actions a:focus-visible { outline: 2px solid white; outline-offset: 5px; }
/* Ronda blanca: misma silueta/medidas para conservar el relevo con la gelatina.
   El texto y el pase son negros; el color es una señal adicional, nunca la única. */
html[data-tickets-prueba=blanco] .cx-actions a,
html[data-tickets-prueba=ribete] .cx-actions a,
html[data-tickets-prueba=base] .cx-actions a,
html[data-tickets-prueba=pase] .cx-actions a {
  background: #fff; color: #111; border-color: #fff; text-shadow: none;
  box-shadow: inset 0 -2px 1px #d9d9df, 0 6px 16px #0009;
}
html[data-tickets-prueba=blanco] .cx-actions a .tickets-simbolo,
html[data-tickets-prueba=ribete] .cx-actions a .tickets-simbolo,
html[data-tickets-prueba=base] .cx-actions a .tickets-simbolo,
html[data-tickets-prueba=pase] .cx-actions a .tickets-simbolo { color: #111; }
html[data-tickets-prueba=blanco] .cx-actions a::after,
html[data-tickets-prueba=ribete] .cx-actions a::after,
html[data-tickets-prueba=base] .cx-actions a::after,
html[data-tickets-prueba=pase] .cx-actions a::after { content: none; }
html[data-tickets-prueba=ribete] .cx-actions a {
  border-color: var(--tickets-luz);
  box-shadow: inset 0 0 0 1px #fff, 0 5px 18px color-mix(in srgb,var(--tickets-luz) 45%,transparent), 0 8px 18px #0008;
}
html[data-tickets-prueba=base] .cx-actions a {
  border-color: #fff;
  box-shadow: inset 0 -6px 0 var(--tickets-luz), 0 6px 12px color-mix(in srgb,var(--tickets-luz) 32%,transparent), 0 9px 18px #0009;
}
html[data-tickets-prueba=pase] .cx-actions a .tickets-simbolo { position: relative; isolation: isolate; }
html[data-tickets-prueba=pase] .cx-actions a .tickets-simbolo::before {
  content: ''; position: absolute; inset: -8px; z-index: -1; border-radius: 50%; background: var(--tickets-luz);
}
@media (hover: hover) {
  html[data-tickets-prueba=blanco] .cx-actions a:hover,
  html[data-tickets-prueba=ribete] .cx-actions a:hover,
  html[data-tickets-prueba=base] .cx-actions a:hover,
  html[data-tickets-prueba=pase] .cx-actions a:hover { background: #f3f3f6; color: #111; }
}
@media (max-width: 600px) { .tickets-prueba-panel { top: max(8px, env(safe-area-inset-top)); } .tickets-prueba-panel button { min-height: 44px; font-size: 11px; } }
/* Ronda compacta: un solo botón real, sin reemplazar el nodo del recorrido. */
/* Subsets locales de Tickets/TICKETS: se descarga solo la cara elegida. */
@font-face{font-family:'Tickets Barlow';src:url('../fuentes/tickets-barlow-condensed.ttf') format('truetype');font-weight:700;font-display:swap;}
@font-face{font-family:'Tickets Space';src:url('../fuentes/tickets-space-grotesk.ttf') format('truetype');font-weight:700;font-display:swap;}
@font-face{font-family:'Tickets Sora';src:url('../fuentes/tickets-sora.ttf') format('truetype');font-weight:700;font-display:swap;}
@font-face{font-family:'Tickets Fraunces';src:url('../fuentes/tickets-fraunces.ttf') format('truetype');font-weight:800;font-display:swap;}
html[data-tickets-letra=compacta] .cx-actions a {font-family:'Tickets Barlow',var(--body);font-weight:700;font-size:25px;letter-spacing:.045em;text-transform:uppercase;}
html[data-tickets-letra=geometrica] .cx-actions a {font-family:'Tickets Space',var(--body);font-weight:700;font-size:20px;letter-spacing:.015em;text-transform:uppercase;}
html[data-tickets-letra=redonda] .cx-actions a {font-family:'Tickets Sora',var(--body);font-weight:700;font-size:20px;letter-spacing:-.035em;text-transform:capitalize;}
html[data-tickets-letra=editorial] .cx-actions a {font-family:'Tickets Fraunces',serif;font-weight:800;font-size:23px;letter-spacing:-.025em;text-transform:capitalize;}
html[data-tickets-prueba] .cx-actions { min-height:48px; }
html[data-tickets-prueba] .cx-actions a { min-height:48px;height:48px;min-width:178px;padding:0 22px;gap:10px; }
html[data-tickets-letra=boleto] .cx-actions a {font-weight:700;font-size:18px;letter-spacing:.035em;}
html[data-tickets-letra=clasica] .cx-actions a {font-weight:800;font-size:21px;}
html[data-tickets-letra=afiche] .cx-actions a {font-weight:900;font-size:26px;}
html[data-tickets-letra=italica] .cx-actions a {font-weight:800;font-size:21px;}
html[data-tickets-prueba] .cx-actions a .tickets-simbolo svg {width:22px;height:22px;}
html[data-tickets-prueba=ribete] .cx-actions a::after {content:'';bottom:0;left:0;width:40px;height:2px;box-shadow:none;background:var(--tickets-luz);animation:tickets-barrido 2.8s ease-in-out infinite;}
html[data-tickets-prueba=base] .cx-actions a {box-shadow:inset 0 -4px 0 var(--tickets-luz),0 6px 14px #0008;}
html[data-tickets-prueba=pase] .cx-actions a .tickets-simbolo::before {inset:-6px;animation:tickets-latido 2.8s ease-in-out infinite;}
@keyframes tickets-barrido {0%,100%{transform:translateX(12px);opacity:.35}50%{transform:translateX(122px);opacity:1}}
@keyframes tickets-latido {0%,100%{transform:scale(.96);opacity:.6}50%{transform:scale(1.08);opacity:1}}
@media(prefers-reduced-motion:reduce){html[data-tickets-prueba] .cx-actions a::after,html[data-tickets-prueba] .cx-actions a .tickets-simbolo::before{animation:none;}}
@media (pointer:coarse), (max-width:600px) {
  .tickets-prueba-panel { max-width:calc(100vw - 24px); max-height:calc(100svh - 24px - env(safe-area-inset-top)); overflow-y:auto; overscroll-behavior:contain; }
  .tickets-prueba-panel[open] { width:min(420px,calc(100vw - 24px)); }
  .tickets-prueba-controles { display:grid; grid-template-columns:minmax(0,1fr); padding:4px 8px 10px; }
  .tickets-prueba-panel label { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; margin:0; white-space:normal; }
  .tickets-prueba-panel select { width:100%; min-width:0; min-height:44px; font-size:16px; }
  .tickets-prueba-panel summary { font-size:16px; }
}
