/* Generado por tools/build-vistas.php: no editar a mano. */
.tk-subir{--tk-fondo-diagonal:linear-gradient(135deg,#002a5e 0%,#01526f 55%,#068995 100%);--navy:#002a5e;--f-display:'Comfortaa','Space Grotesk',ui-sans-serif,system-ui,sans-serif;--f-mono:'JetBrains Mono',ui-monospace,'SF Mono',Menlo,monospace;}
/* ============================================================
   Botón «Subir» (D-217) · común a todo el sitio
   El núcleo lleva la diagonal institucional (D-196, D-202); el anillo turquesa
   avanza con la lectura de la página. Aparece después de bajar una pantalla y
   se esconde bajo cualquier panel abierto (Centros, reproductor, SMS de Recargas).
   ============================================================ */
.tk-subir{position:fixed;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));z-index:1100;
  display:grid;place-items:center;width:58px;height:58px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;
  opacity:0;transform:translateY(18px) scale(.7);pointer-events:none;
  transition:opacity .45s cubic-bezier(.22,1,.36,1),transform .55s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent}
.tk-subir.on{opacity:1;transform:none;pointer-events:auto}
.tk-subir-anillo{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);overflow:visible;
  transition:transform .35s cubic-bezier(.22,1,.36,1)}
.tk-subir-pista{fill:rgba(255,255,255,.86);stroke:rgba(0,94,124,.16);stroke-width:3}
.tk-subir-avance{fill:none;stroke:#2fb3c2;stroke-width:3.4;stroke-linecap:round;stroke-dasharray:182.2;stroke-dashoffset:182.2;
  filter:drop-shadow(0 0 3px rgba(69,187,200,.55));transition:filter .35s}
.tk-subir-nucleo{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;overflow:hidden;color:#fff;
  background:var(--tk-fondo-diagonal);box-shadow:0 12px 26px -12px rgba(0,36,88,.7),inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s}
.tk-subir-fl{grid-area:1 / 1;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;
  transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .3s}
.tk-subir-fl.es-sig{transform:translateY(28px);opacity:0}
.tk-subir-txt{position:absolute;right:calc(100% + 10px);top:50%;display:grid;justify-items:end;gap:1px;padding:7px 13px;border-radius:14px;white-space:nowrap;
  background:rgba(255,255,255,.94);border:1px solid rgba(0,94,124,.14);box-shadow:0 14px 30px -18px rgba(0,36,88,.55);
  opacity:0;transform:translate(8px,-50%);pointer-events:none;transition:opacity .3s,transform .35s cubic-bezier(.22,1,.36,1)}
.tk-subir-txt b{font-family:var(--f-display);font-weight:700;font-size:13.6px;color:var(--navy);line-height:1.1}
.tk-subir-txt i{font-style:normal;font-family:var(--f-mono);font-size:10px;letter-spacing:.08em;color:#04707c}
/* al pasar el cursor: el anillo y el núcleo suben y crecen juntos, sin encimarse (brief 2026-10-14_1833);
   la flecha sube y otra entra desde abajo, como un elevador */
@media (hover:hover){
  .tk-subir:hover .tk-subir-anillo{transform:translateY(-2px) scale(1.06) rotate(-90deg)}
  .tk-subir:hover .tk-subir-avance{filter:drop-shadow(0 0 6px rgba(69,187,200,.8))}
  .tk-subir:hover .tk-subir-nucleo{transform:translateY(-2px) scale(1.06);box-shadow:0 16px 30px -12px rgba(0,36,88,.75),inset 0 1px 0 rgba(255,255,255,.22)}
  .tk-subir:hover .tk-subir-fl:not(.es-sig){transform:translateY(-28px);opacity:0}
  .tk-subir:hover .tk-subir-fl.es-sig{transform:none;opacity:1}
  .tk-subir:hover .tk-subir-txt{opacity:1;transform:translate(0,-50%)}
}
.tk-subir:focus-visible{outline:2px solid #2fb3c2;outline-offset:3px}
.tk-subir:focus-visible .tk-subir-txt{opacity:1;transform:translate(0,-50%)}
/* al tocarlo, la flecha despega */
.tk-subir.es-sube .tk-subir-fl:not(.es-sig){animation:tkSubirDespega .7s cubic-bezier(.5,0,.75,0) both}
.tk-subir.es-sube .tk-subir-fl.es-sig{animation:tkSubirLlega .7s .25s cubic-bezier(.22,1,.36,1) both}
@keyframes tkSubirDespega{to{transform:translateY(-34px);opacity:0}}
@keyframes tkSubirLlega{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
/* bajo cualquier panel o ventana abierta */
body.sx-modal .tk-subir,body.mu-modal .tk-subir,body:has(.rc-sms.on) .tk-subir,body:has(.pr-play.on) .tk-subir,html.cb-ct-on .tk-subir{opacity:0;pointer-events:none}
@media (max-width:620px){
  .tk-subir{width:52px;height:52px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}
  .tk-subir-nucleo{width:40px;height:40px}
  .tk-subir-fl{width:18px;height:18px}
}
@media (prefers-reduced-motion:reduce){
  .tk-subir,.tk-subir *{transition:none!important;animation:none!important}
}
