You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
senzapaura_es/src/app.css

708 lines
18 KiB

/*
* ---------------------------------------------------------------------------
* DIRECCIÓN VISUAL
* ---------------------------------------------------------------------------
* Los colores de marca: azul marino oscuro aterciopelado y dorado.
*
* El marino lleva croma de verdad (0,04) en lugar de ser un gris azulado: eso
* es lo que le da el aspecto de terciopelo en vez de el de pizarra. Todos los
* fondos comparten el mismo tono, así que la profundidad la marca la claridad,
* nunca un cambio de color.
*
* El dorado es el único acento y lo llevan las cosas accionables; nada más lo
* usa, que es lo que hace que se note.
*
* Se compromete con un solo modo, sin variante clara: la portada es un fondo a
* sangre con texto encima y esa composición no sobrevive a un fondo blanco sin
* rehacerla entera. `color-scheme: dark` avisa al navegador para que sus
* controles vayan a juego.
* ---------------------------------------------------------------------------
*/
:root {
color-scheme: dark;
/* Marino, del más hondo al más cercano. Mismo tono, distinta claridad. */
--c-bg: oklch(0.16 0.042 264);
--c-bg-raised: oklch(0.21 0.046 264);
--c-bg-sunken: oklch(0.26 0.05 264);
--c-border: oklch(0.33 0.045 264);
/* Blancos apenas teñidos: por encima de 0,02 de croma dejarían de leerse
como blancos y competirían con el dorado. */
--c-text: oklch(0.96 0.012 255);
--c-text-muted: oklch(0.74 0.022 258);
/*
* El oro. El plano de antes tiraba a amarillo; este baja de claridad y sube
* de croma, que es lo que separa un metal de un color de rotulador.
*/
--c-accent: oklch(0.8 0.145 84);
--c-accent-text: oklch(0.16 0.042 264);
/* Los dos extremos del reflejo: la luz que lo cruza y la sombra del canto. */
--c-accent-brillo: oklch(0.94 0.095 96);
--c-accent-sombra: oklch(0.63 0.13 72);
--c-danger: oklch(0.72 0.16 22);
--c-focus: oklch(0.84 0.12 88);
/*
* Dos familias: una serif con carácter para los títulos y para la letra de
* las canciones —que es texto para leer despacio— y una sans de rejilla
* para interfaz, datos y navegación.
*/
--font-display: 'Newsreader', 'Iowan Old Style', Georgia, serif;
--font-body: 'Archivo', ui-sans-serif, system-ui, sans-serif;
--font-versos: var(--font-display);
--font-mono: ui-monospace, 'SFMono-Regular', 'Cascadia Mono', Consolas, monospace;
/* Escala amplia: el salto entre texto y titular es parte del carácter. */
--fs-xs: 0.75rem;
--fs-sm: 0.875rem;
--fs-base: 1rem;
--fs-lg: 1.1875rem;
--fs-xl: 1.5rem;
--fs-2xl: 2.125rem;
--fs-3xl: 3rem;
--fs-4xl: clamp(3.25rem, 9vw, 6rem);
--sp-1: 0.25rem;
--sp-2: 0.5rem;
--sp-3: 0.75rem;
--sp-4: 1rem;
--sp-5: 1.5rem;
--sp-6: 2rem;
--sp-7: 3rem;
--sp-8: 5rem;
/*
* El oro de una superficie no es un color plano: un metal refleja, y lo que
* lo hace parecer metal es la banda de luz que lo cruza. Cinco paradas —de
* la sombra del canto al brillo y otra vez a la sombra— bastan para
* sugerirlo sin que parezca un tubo de cromo.
*
* El fondo se pinta más alto que el elemento a propósito: así, al acercar el
* puntero, se desplaza y la luz recorre la pieza en vez de limitarse a
* aclararla. Es la diferencia entre algo que se ilumina y algo que gira.
*/
--oro: linear-gradient(
166deg,
var(--c-accent-sombra) 0%,
var(--c-accent) 24%,
var(--c-accent-brillo) 46%,
var(--c-accent) 64%,
var(--c-accent-sombra) 100%
);
--radius: 4px;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
/* Radio propio: 4px en una tarjeta grande se lee como un recorte, no como una pieza. */
--radius-tarjeta: 14px;
/*
* Curvas del movimiento. `--sal` sale rápido y frena largo, que es como se
* mueve algo que pesa; `--suave` es para lo que solo cambia de color o de
* opacidad y no tiene inercia que fingir. Nada usa `ease`, que es la curva
* por defecto y hace que todo se parezca.
*/
--sal: cubic-bezier(0.16, 1, 0.3, 1);
--suave: cubic-bezier(0.4, 0, 0.2, 1);
--container: 74rem;
/* Alto de la barra del reproductor: lo usa el padding inferior del layout. */
--player-height: 88px;
/*
* Altura aproximada de la cabecera, que ahora es pegajosa. No la mide nadie:
* es una referencia para separar de ella las anclas y las barras laterales
* que también se quedan fijas. Si cambia el espaciado de la cabecera, este
* número la sigue.
*/
--altura-cabecera: 4.75rem;
}
/*
* La inversión clara.
*
* Es una inversión de verdad, no un fondo blanco con lo mismo encima: el texto
* pasa a ser el propio marino y los fondos, blancos apenas teñidos de él. Así
* los dos modos son la misma marca vista de dos maneras.
*
* El dorado tiene que bajar de claridad para el modo claro. El de 0,82 se lee
* bien sobre marino y desaparece sobre blanco, así que aquí es un dorado más
* hondo, casi bronce, que mantiene el contraste como texto.
*
* Tres estados: sin elegir nada se sigue al sistema; una elección manual escribe
* `data-tema` en la raíz y manda sobre él.
*/
@media (prefers-color-scheme: light) {
:root:not([data-tema='oscuro']) {
color-scheme: light;
--c-bg: oklch(0.98 0.008 264);
--c-bg-raised: oklch(0.955 0.011 264);
--c-bg-sunken: oklch(0.915 0.016 264);
--c-border: oklch(0.86 0.02 264);
--c-text: oklch(0.24 0.055 264);
--c-text-muted: oklch(0.48 0.038 264);
--c-accent: oklch(0.57 0.125 74);
--c-accent-text: oklch(0.99 0.004 264);
--c-accent-brillo: oklch(0.72 0.14 82);
--c-accent-sombra: oklch(0.44 0.1 66);
--c-danger: oklch(0.5 0.17 25);
--c-focus: oklch(0.5 0.13 264);
}
}
:root[data-tema='claro'] {
color-scheme: light;
--c-bg: oklch(0.98 0.008 264);
--c-bg-raised: oklch(0.955 0.011 264);
--c-bg-sunken: oklch(0.915 0.016 264);
--c-border: oklch(0.86 0.02 264);
--c-text: oklch(0.24 0.055 264);
--c-text-muted: oklch(0.48 0.038 264);
--c-accent: oklch(0.57 0.125 74);
--c-accent-text: oklch(0.99 0.004 264);
--c-accent-brillo: oklch(0.72 0.14 82);
--c-accent-sombra: oklch(0.44 0.1 66);
--c-danger: oklch(0.5 0.17 25);
--c-focus: oklch(0.5 0.13 264);
}
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
-webkit-text-size-adjust: 100%;
/*
* Sin esto, un enlace a un ancla dejaría su destino debajo de la cabecera
* pegajosa. Vale para los saltos con teclado y para el enlace de saltar al
* contenido, no solo para los `#` escritos a mano.
*/
scroll-padding-top: calc(var(--altura-cabecera) + var(--sp-4));
}
body {
margin: 0;
background: var(--c-bg);
color: var(--c-text);
font-family: var(--font-body);
font-size: var(--fs-base);
line-height: 1.65;
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
h1,
h2,
h3,
h4 {
font-family: var(--font-display);
line-height: 1.1;
margin: 0 0 var(--sp-3);
font-weight: 400;
letter-spacing: -0.015em;
text-wrap: balance;
}
h1 {
font-size: var(--fs-3xl);
}
h2 {
font-size: var(--fs-2xl);
}
h3 {
font-size: var(--fs-xl);
}
p {
margin: 0 0 var(--sp-4);
text-wrap: pretty;
}
a {
color: inherit;
text-underline-offset: 0.2em;
transition: color 0.2s var(--suave);
}
/*
* Todo enlace responde al puntero. Antes no había ninguna regla global, así que
* los enlaces sin estilo propio —el del feed, los del pie— no daban ninguna
* señal de ser pulsables. El dorado es el color de lo accionable en esta web,
* así que es el que corresponde.
*
* Los componentes que ya deciden su propio color al pasar por encima ganan por
* especificidad: esto es el suelo, no una imposición.
*/
a:hover {
color: var(--c-accent);
}
@media (prefers-reduced-motion: reduce) {
a {
transition: none;
}
}
img {
max-width: 100%;
height: auto;
display: block;
}
ul,
ol {
margin: 0 0 var(--sp-4);
padding-left: var(--sp-5);
}
button {
font: inherit;
color: inherit;
}
:where(a, button, input, textarea, select, [tabindex]):focus-visible {
outline: 2px solid var(--c-focus);
outline-offset: 2px;
border-radius: 2px;
}
/* --- primitivas de layout ------------------------------------------------ */
.container {
width: 100%;
max-width: var(--container);
margin-inline: auto;
padding-inline: var(--sp-4);
}
.stack > * + * {
margin-top: var(--sp-4);
}
.muted {
color: var(--c-text-muted);
}
.eyebrow {
font-size: var(--fs-xs);
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--c-text-muted);
margin: 0 0 var(--sp-2);
}
.visually-hidden {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}
.btn {
display: inline-flex;
align-items: center;
gap: var(--sp-2);
padding: var(--sp-3) var(--sp-5);
border: 1px solid var(--c-border);
border-radius: 999px;
/*
* `background-color` y no el atajo `background`: el atajo reinicia también
* `background-image`, así que una variante con degradado —el botón dorado—
* lo perdía en cuanto esta regla o la de `:hover` se aplicaban, y se quedaba
* en un rectángulo oscuro con el borde de oro.
*/
background-color: transparent;
font-size: var(--fs-sm);
letter-spacing: 0.01em;
cursor: pointer;
text-decoration: none;
line-height: 1.2;
transition:
background-color 0.2s var(--suave),
border-color 0.2s var(--suave);
}
/*
* El botón secundario acusa el puntero con el fondo y el canto, no con el
* color del texto: teñirlo de dorado además sería una señal doble, y encima
* competiría con el botón dorado que suele tener al lado. El color se declara
* aquí para ganarle a la regla general de los enlaces, ya que muchos de estos
* botones lo son.
*/
.btn:hover {
background-color: var(--c-bg-raised);
border-color: var(--c-text-muted);
color: inherit;
}
.btn--primary {
/* El color plano queda de reserva: si el degradado no se pintara, el botón
sigue siendo dorado y legible, no transparente. */
background-color: var(--c-accent);
background-image: var(--oro);
background-size: 100% 240%;
background-position: 0 22%;
border-color: var(--c-accent-sombra);
color: var(--c-accent-text);
/* El filo de luz de arriba. Sin él, el degradado se ve pintado, no biselado. */
box-shadow: inset 0 1px 0 color-mix(in oklab, white 45%, transparent);
transition:
background-position 0.6s var(--sal),
border-color 0.2s var(--suave);
}
/*
* Al acercar el puntero, la luz recorre la pieza. El color de fondo se repite
* aquí porque `.btn:hover` lo cambia por el gris de los botones normales: sin
* esto, un dorado que no llegara a pintar el degradado se vería oscuro.
*/
.btn--primary:hover {
background-color: var(--c-accent);
background-position: 0 78%;
border-color: var(--c-accent);
}
@media (prefers-reduced-motion: reduce) {
.btn--primary {
transition: none;
}
}
/* --- etiquetas -----------------------------------------------------------
*
* La pastilla de una etiqueta. Estaba repetida en cinco sitios con cinco copias
* del mismo borde redondeado, y se escribe una vez.
*
* Va aquí y no en un componente porque a veces es un enlace —lleva a lo que
* agrupa— y a veces es solo texto: dentro de una tarjeta que ya es clicable,
* meter enlaces dentro de otro enlace deja una zona donde el clic hace una cosa
* distinta según el píxel exacto.
*/
.chips {
display: flex;
flex-wrap: wrap;
gap: var(--sp-2);
list-style: none;
margin: 0;
padding: 0;
}
.chip {
display: inline-block;
padding: 0.2em 0.7em;
border: 1px solid var(--c-border);
border-radius: 999px;
font-size: var(--fs-xs);
color: var(--c-text-muted);
text-decoration: none;
transition:
border-color 0.3s var(--suave),
color 0.3s var(--suave);
}
a.chip:hover,
a.chip:focus-visible {
border-color: var(--c-accent);
color: var(--c-text);
}
@media (prefers-reduced-motion: reduce) {
.chip {
transition: none;
}
}
/* --- tarjetas ------------------------------------------------------------ */
/*
* El comportamiento de las tarjetas (aparición al entrar en pantalla y
* respuesta al puntero) vive aquí y no en cada componente: son tres tipos de
* tarjeta —estilo, álbum y canción— y tenían que moverse igual. Al ser CSS
* global no hace falta pelearse con el ámbito de Svelte para los atributos que
* escribe la acción `revelar` en tiempo de ejecución.
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
*
* Sobre el movimiento: nada usa `ease`, que es la curva por defecto y se nota
* como tal —arranca y frena igual, y todo acaba pareciéndose—. Aquí se sale
* rápido y se frena largo, que es como se mueve algo que pesa.
*/
.tarjeta {
position: relative;
display: flex;
flex-direction: column;
height: 100%;
border: 1px solid var(--c-border);
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
border-radius: var(--radius-tarjeta);
background: var(--c-bg-raised);
overflow: hidden;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
isolation: isolate;
transition:
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
transform 0.55s var(--sal),
border-color 0.4s var(--suave),
box-shadow 0.55s var(--sal);
}
/*
* El reflejo. Nace donde está el puntero —lo escribe la acción `brillo` en
* `--mx` y `--my`— y por eso no se lee como un efecto enlatado. Sin JavaScript
* las variables no existen y cae arriba en el centro, que es un valor
* razonable, no un fallo.
*/
.tarjeta::before {
content: '';
position: absolute;
inset: 0;
z-index: 0;
pointer-events: none;
opacity: 0;
background: radial-gradient(
20rem 20rem at var(--mx, 50%) var(--my, 0%),
color-mix(in oklab, var(--c-accent) 20%, transparent),
transparent 70%
);
transition: opacity 0.45s var(--suave);
}
.tarjeta:hover::before,
.tarjeta:focus-within::before {
opacity: 1;
}
/*
* Aparición al entrar en pantalla, para cualquier elemento con la acción
* `revelar`. Vive aquí y no en cada componente por dos motivos: lo usan las
* tarjetas y también las listas del taller, y sobre todo porque el atributo lo
* escribe la acción en tiempo de ejecución, así que el compilador de Svelte no
* lo ve en el marcado y podaría la regla como si no se usara.
*
* El estado oculto lo pone la acción, nunca el CSS por su cuenta: sin
* JavaScript no hay atributo y todo se ve directamente.
*/
[data-revelar='oculto'] {
opacity: 0;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
transform: translateY(18px) scale(0.985);
}
[data-revelar='visible'] {
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
animation: revelarse 0.8s var(--sal) var(--retraso-revelado, 0ms) both;
}
@keyframes revelarse {
from {
opacity: 0;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
transform: translateY(18px) scale(0.985);
filter: blur(6px);
}
to {
opacity: 1;
transform: none;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
filter: blur(0);
}
}
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
/*
* Al acercarse, la tarjeta sube y se le enciende el borde en dorado. La sombra
* va en dos capas —una corta y densa, otra larga y difusa—: una sola sombra
* grande se ve como una mancha, y en dos parece que hay algo debajo.
*/
.tarjeta:hover,
.tarjeta:focus-within {
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
transform: translateY(-6px);
border-color: color-mix(in oklab, var(--c-accent) 55%, var(--c-border));
box-shadow:
0 2px 8px -4px rgb(0 0 0 / 0.5),
0 24px 48px -28px rgb(0 0 0 / 0.85);
}
/* Al pulsar, la tarjeta cede. Sin esto el clic no se siente en ninguna parte. */
.tarjeta:active {
transform: translateY(-2px) scale(0.994);
transition-duration: 0.12s;
}
.tarjeta__medio {
position: relative;
aspect-ratio: 1;
overflow: hidden;
background: var(--c-bg-sunken);
}
.tarjeta__medio--ancho {
aspect-ratio: 16 / 10;
}
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
/*
* En reposo la portada está un punto apagada y vuelve a su color al acercarse.
* Es lo que hace destacar a la tarjeta señalada sin tener que atenuar el resto.
*/
.tarjeta__medio img {
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
/*
* En una variable por lo mismo que el desenfoque de la cabecera: escrito
* directamente, el minificador deja `saturate(.85)brightness(.92)` sin el
* espacio que separa las dos funciones, y eso no es CSS válido.
*/
--apagado: saturate(0.85) brightness(0.92);
width: 100%;
height: 100%;
object-fit: cover;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
filter: var(--apagado);
transform: scale(1.01);
transition:
transform 0.7s var(--sal),
filter 0.5s var(--suave);
}
.tarjeta:hover .tarjeta__medio img,
.tarjeta:focus-within .tarjeta__medio img {
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
filter: none;
transform: scale(1.06);
}
/* Sombra al pie de la portada, para que el cuerpo no arranque de golpe. */
.tarjeta__medio::after {
content: '';
position: absolute;
inset: auto 0 0;
height: 45%;
pointer-events: none;
background: linear-gradient(
to top,
color-mix(in oklab, var(--c-bg) 70%, transparent),
transparent
);
opacity: 0.7;
transition: opacity 0.45s var(--suave);
}
.tarjeta:hover .tarjeta__medio::after,
.tarjeta:focus-within .tarjeta__medio::after {
opacity: 1;
}
.tarjeta__cuerpo {
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
gap: var(--sp-2);
flex: 1;
padding: var(--sp-4);
}
/*
* Hace clicable la tarjeta entera sin envolverla en un enlace, que dejaría los
* botones dentro de él: ni sería HTML válido ni se podría usar con teclado.
*/
.tarjeta__enlace::after {
content: '';
position: absolute;
inset: 0;
z-index: 1;
}
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
/*
* El subrayado del título crece desde la izquierda en vez de aparecer entero.
* Va con el fondo y no con un borde para poder animar el ancho sin que la línea
* cambie de sitio ni empuje al texto.
*/
.tarjeta__enlace {
background-image: linear-gradient(var(--c-accent), var(--c-accent));
background-repeat: no-repeat;
background-position: 0 100%;
background-size: 0 1px;
transition:
background-size 0.45s var(--sal),
color 0.3s var(--suave);
}
.tarjeta:hover .tarjeta__enlace,
.tarjeta:focus-within .tarjeta__enlace {
color: var(--c-accent);
background-size: 100% 1px;
}
/* Lo que va sobre la imagen (el botón de reproducir) y aparece al acercarse. */
.tarjeta__flotante {
position: absolute;
right: var(--sp-3);
bottom: var(--sp-3);
z-index: 2;
opacity: 0;
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
transform: translateY(10px) scale(0.7);
transition:
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
opacity 0.25s var(--suave),
transform 0.5s var(--sal);
}
.tarjeta:hover .tarjeta__flotante,
.tarjeta:focus-within .tarjeta__flotante {
opacity: 1;
transform: none;
}
/*
* En pantallas táctiles no hay puntero que lo revele, y un botón invisible
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
* pero pulsable es peor que ninguno: ahí se queda siempre a la vista. Sin
* puntero tampoco hay reposo que apagar, así que la portada va a su color.
*/
@media (hover: none) {
.tarjeta__flotante {
opacity: 1;
transform: none;
}
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
.tarjeta__medio img {
filter: none;
transform: none;
}
}
/* Lo que se apoya sobre la tarjeta y tiene que quedar por encima del enlace. */
.tarjeta__encima {
position: relative;
z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
[data-revelar='visible'] {
animation: none;
}
.tarjeta,
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
.tarjeta::before,
.tarjeta__medio img,
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
.tarjeta__medio::after,
.tarjeta__enlace,
.tarjeta__flotante {
transition: none;
}
.tarjeta:hover,
.tarjeta:focus-within,
Portada por estilos, tarjetas con otro movimiento, y fuera la palabra «segmento» La palabra se va del proyecto entero, interfaz e identificadores. Venía del encargo inicial pero no es la del oficio y se colaba en la interfaz: lo que hay son estilos, discos y temas. Lo que agrupa un estilo con su obra pasa a ser `EstiloConObra`, y el componente que lo pinta, `BloqueDeEstilo`. La portada cuenta el catálogo en tres pasos: el estilo principal a fila completa, sus discos debajo, y el resto en una rejilla donde cada tarjeta dice cuánto hay y de qué se habla. Las etiquetas de un estilo no se declaran: salen de sus temas, así que no hay dos sitios que mantener. La página de un estilo estrena su propio `h1` —antes heredaba un `h2` del listado, y se quedaba sin encabezado de nivel uno— y pierde el botón de reproducir suelto en la cabecera, que no decía qué iba a sonar. Los demás estilos la acompañan en una barra lateral que ahora vive en el layout de la sección, así que la llevan también la portada de música y cualquier página que se añada. Las tarjetas se mueven de otra manera: reflejo que nace bajo el puntero, borde dorado, portada que recupera el color, subrayado que crece y respuesta al pulsar. Nada usa la curva por defecto. Dos rarezas del minificador de CSS, ambas comprobadas en el build y ambas dejaban efectos muertos: junta las funciones de un filtro sin el espacio que las separa, y borra `backdrop-filter` sin prefijo si se declara también la versión `-webkit-`. Y la canción real estrena su vídeo de YouTube. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
1 month ago
.tarjeta:active,
.tarjeta:hover .tarjeta__medio img,
.tarjeta:focus-within .tarjeta__medio img {
transform: none;
}
.tarjeta__flotante {
opacity: 1;
transform: none;
}
}

Powered by TurnKey Linux.