/* ═══════════════════════════════════════════════════════════════════════
   Cabina · fichas compartidas
   Panel, modo oyente, widget, acceso, portal del cliente, encuesta y Wrapped
   leen sus colores y su movimiento de aquí. Cambiar un valor aquí lo cambia
   en todas las pantallas. radio-events.js (que vive en webs ajenas) no lo usa.
   ═══════════════════════════════════════════════════════════════════════ */
/* Letra de títulos: Archivo condensada, alojada en este servidor (licencia SIL OFL, ver fonts/LICENCIA-ARCHIVO.txt).
   El navegador solo la descarga cuando una pantalla la usa. */
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url("/fonts/archivo-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Archivo";font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;
  src:url("/fonts/archivo-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  /* Títulos de canción y de radio: condensada extra gruesa */
  --display:"Archivo","Arial Narrow","Helvetica Neue",Arial,sans-serif;--display-stretch:75%;--display-weight:800;
  /* Filo de las portadas: 1 px blanco al 10 % para que las oscuras no se pierdan en el fondo */
  --cover-edge:rgba(255,255,255,.1);

  /* Neutros: negro cálido, sin tinte lila */
  --cv:#0b0b0c;--s1:#141416;--s2:#1b1b1e;--s3:#26262a;
  --hair:rgba(255,255,255,.08);--hair-2:rgba(255,255,255,.14);
  --tx:#f5f5f4;--tx2:#a9a9ae;--tx3:#8a8a90;--on-light:#111113;
  /* Un solo acento (EN VIVO) y los estados.
     --live va en puntos, anillos y el número 1; --live-fill lleva texto blanco encima (4.7 : 1). */
  --live:#ff5a1f;--live-fill:#d14010;
  --on:#30d158;--warn:#ffb020;--bad:#ff453a;--info:#1f6be0;
  --glass:rgba(28,28,32,.55);

  /* Movimiento: pocas duraciones y tres curvas */
  --dur-press:120ms;--dur-quick:160ms;--dur-ui:220ms;--dur-sheet:360ms;--dur-sheet-out:220ms;--dur-hero:520ms;
  --ease-out:cubic-bezier(.23,1,.32,1);      /* lo que entra o responde */
  --ease-move:cubic-bezier(.77,0,.175,1);    /* lo que se mueve dentro de la pantalla */
  --ease-sheet:cubic-bezier(.32,.72,0,1);    /* hojas y paneles (curva de iOS) */
  --press:.97;                               /* escala única al presionar */
}

/* Botón de idioma (Español / English): mismo aspecto en todas las pantallas */
.lang-chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 13px 0 11px;border-radius:999px;border:1px solid var(--hair-2);background:rgba(20,20,22,.55);color:var(--tx);font:600 13px/1 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;cursor:pointer;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.lang-chip svg{width:15px;height:15px;flex:none}
.lang-fixed{position:fixed;top:max(14px,env(safe-area-inset-top,0px));right:14px;z-index:60}

/* Que en el celular se sienta app y no página */
html{-webkit-tap-highlight-color:transparent}
button,a,[role="button"],summary,label,select,input[type="checkbox"],input[type="radio"],input[type="range"]{touch-action:manipulation}
button,[role="button"],summary{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
/* iPhone hace zoom si un campo tiene letra menor a 16 px */
@media (pointer:coarse){
  .lang-chip{min-height:44px}   /* tacto: 44 px como mínimo */
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),select,textarea{font-size:max(16px,1em)!important}
}

/* Menos movimiento: se quitan desplazamientos, escalas y animaciones;
   se conservan fundidos cortos de opacidad y color para que se entienda qué cambió. */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none!important;
    transition-property:opacity,color,background-color,border-color,fill,stroke!important;
    transition-duration:var(--dur-quick)!important;
    transition-delay:0s!important;
    scroll-behavior:auto!important;
  }
}
