El CSS del tema entra por el build en vez de un <link> desde public/

Antes: <link href="/ns-themes/.../nightspire-style.css?v=2"> en el <head>. Una
peticion aparte, sin minificar y con cache invalidada a mano con ?v=2.

Ahora: app/theme.css, importado al FINAL de globals.css. Next lo compila,
minifica y le pone hash de contenido; se sirve con cache immutable y hay una
hoja de estilo menos (4 -> 3).

⚠ El @import va el ULTIMO y no es cosmético: el tema se diseñó contra los
defaults del navegador y el preflight de Tailwind los pisa (box-sizing,
alturas). Antes ganaba la cascada por cargarse el último en el <head>; ahora
gana por ser el último import. Si sube de sitio, el diseño se rompe.

Las url() pasan a ABSOLUTAS (/ns-themes/ns-ryu/...). Los assets siguen en
public/, y así el compilador no intenta resolverlos: el @font-face declara
.eot/.otf/.ttf que NO existen (solo hay .woff) y con rutas relativas el build
fallaría.

Verificado: los 6 páginas dan exactamente el mismo alto que antes (8159, 1356,
2645, 1356, 2221, 2349 px) con la misma fuente y colores, y el input del login
sigue en box-sizing:content-box — que es justo donde el preflight rompía. Ojo:
el md5 de las capturas NO sirve para comparar, porque la cabecera lleva un vídeo
y cada captura pilla un fotograma distinto.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-15 16:20:06 +00:00
parent 9a240fe69e
commit 97ccb8a179
3 changed files with 41 additions and 26 deletions
+11 -2
View File
@@ -17,8 +17,8 @@
}
/* El fondo, la tipografía (FuturaEF-Book) y los estilos base del <body>
los controla el tema real ns-ryu (nightspire-style.css), cargado en el <head>
del layout. No los redefinimos aquí para que el tema Django quede idéntico. */
los controla el tema real ns-ryu (theme.css), importado AL FINAL de este
fichero. No los redefinimos aquí para que el tema quede idéntico. */
/* El tema ns-ryu se diseñó para los defaults del navegador (igual que la web
Django, que NO usa Tailwind). El preflight de Tailwind rompe dos cosas:
@@ -655,3 +655,12 @@ textarea:focus {
#store-news-content { margin-top: 6px; }
#store-news-content ul { padding-left: 16px; }
#store-news-content li { margin: 4px 0; }
/* ─── El tema ns-ryu, AL FINAL ─────────────────────────────────────────────
* El orden importa y no es cosmético: el tema se diseñó contra los defaults
* del navegador y el preflight de Tailwind los pisa (box-sizing, alturas...).
* Antes se cargaba con un <link> al final del <head> justo para ganar la
* cascada; ahora entra por el build, así que este @import DEBE ir el último.
* Si sube de sitio, el preflight gana y el diseño se rompe.
*/
@import './theme.css';