/* GOLDEN SHELL v6 · la piel común del portal: universo de la portada, liviano (04-oct-2026)
   Se carga AL FINAL del <head> de cada página migrada, junto con shell-1.js.
   /assets se sirve con caché inmutable de 1 año: un cambio = archivo NUEVO (shell-7.css), nunca editar este.
   Todas las clases propias llevan prefijo gs- para no chocar con las de cada página. */
@font-face{font-family:"Mont";src:url("/assets/nv/montserrat.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Mont";src:url("/assets/nv/montserrat-italic.woff2") format("woff2");font-weight:100 900;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter-var.woff2") format("woff2");font-weight:100 900;font-display:swap}

/* 1 · Tokens. html:root le gana al :root y al html.day de cada página (misma especificidad, va después). */
html:root,html.day:root{
  --gs-bg:#01041F;--gs-bg2:#030A3A;--gs-bg3:#06125A;--gs-elec:#1F4BFF;--gs-cyan:#00C1F8;--gs-cyan2:#7BE3FF;--gs-cyan3:#0097D6;
  --gs-ink:#F2F7FF;--gs-muted:#A5B6DD;--gs-dim:#6F80AE;--gs-gold:#7BE3FF;--gs-gold2:#7BE3FF;--gs-marca:#F7E3A1;--gs-verde:#11F08E;
  --gs-line:rgba(0,193,248,.22);--gs-glass:rgba(6,18,90,.38);--gs-pad:clamp(18px,5vw,64px);
  --gs-disp:"Mont",system-ui,sans-serif;--gs-body:"Inter",system-ui,sans-serif;
  /* las variables de las páginas doradas, traducidas al azul */
  --bg:var(--gs-bg);--ink:var(--gs-ink);--muted:var(--gs-muted);
  --gold:var(--gs-cyan);--gold-soft:var(--gs-cyan2);--gold-deep:var(--gs-cyan3);
  --line:var(--gs-line);--card:rgba(6,18,90,.32);
  --display:var(--gs-disp);--disp:var(--gs-disp);--body:var(--gs-body);
  color-scheme:dark;
}
/* el fondo va en html (lienzo) y el body queda transparente: así la atmósfera de body::before (z-index:-1) se ve */
html,html.day{background:var(--gs-bg)!important}
html body,html.day body{background:transparent!important;color:var(--gs-ink)}
html{overflow-x:clip}
body{font-family:var(--gs-body);-webkit-font-smoothing:antialiased}

/* 2 · Atmósfera: el universo de la portada, liviano. Nebulosa de gas que deriva (aquí) + estrellas (lienzo #gs-cielo, JS) */
body::before{content:"";position:fixed;inset:-12%;z-index:-2;pointer-events:none;
  background:
    radial-gradient(42vmax 34vmax at 82% 8%,rgba(31,75,255,.34),transparent 62%),
    radial-gradient(38vmax 30vmax at 12% 92%,rgba(0,193,248,.18),transparent 60%),
    radial-gradient(30vmax 24vmax at 64% 62%,rgba(124,58,237,.16),transparent 62%),
    radial-gradient(26vmax 20vmax at 22% 30%,rgba(219,39,119,.09),transparent 60%),
    var(--gs-bg);
  animation:gs-deriva 46s ease-in-out infinite alternate}
@keyframes gs-deriva{0%{transform:translate3d(0,0,0) scale(1)}50%{transform:translate3d(-2.5%,1.8%,0) scale(1.05)}100%{transform:translate3d(2%,-1.5%,0) scale(1.02)}}
#gs-cielo{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;display:block}
@media (prefers-reduced-motion:reduce){body::before{animation:none}}

/* 3 · Tipografía de títulos */
h1,h2,h3{font-family:var(--gs-disp);font-style:italic;font-weight:900;letter-spacing:-.01em}
h1 em,h2 em,h1 i,h2 i{font-style:italic;background:linear-gradient(100deg,#fff 0%,var(--gs-cyan2) 35%,var(--gs-cyan) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
/* si el título se partió en palabras animadas, el degradado va en CADA palabra (en el padre no se pinta) */
h1 em:has(.gs-pal),h2 em:has(.gs-pal),h1 i:has(.gs-pal){background:none;color:var(--gs-cyan2)}
h1 em .gs-pal,h2 em .gs-pal,h1 i .gs-pal{background:linear-gradient(100deg,var(--gs-cyan2),var(--gs-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
::selection{background:rgba(0,193,248,.35);color:#fff}
a{-webkit-tap-highlight-color:rgba(0,193,248,.2)}

/* área táctil mínima de 44 px para todo control (clase, no caso: venían chips de 25-38 px en varias páginas) */
button,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]){min-height:44px}

/* 4 · Lo viejo que sale: barra dorada e interruptor de tema */
body>.top,#themeSw{display:none!important}

/* 5 · Barra común */
#gs-barra{position:sticky;top:0;z-index:70;transition:background .3s,border-color .3s;border-bottom:1px solid transparent;background:rgba(1,4,31,.55);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4)}
#gs-barra.on{background:rgba(1,4,31,.82);border-color:var(--gs-line)}
#gs-barra .gs-in{display:flex;align-items:center;justify-content:space-between;gap:16px;height:64px;max-width:1240px;margin:0 auto;padding:0 var(--gs-pad)}
.gs-marca{display:flex;align-items:center;gap:11px;min-height:44px;color:var(--gs-ink);text-decoration:none}
.gs-marca img{width:38px;height:38px;border-radius:50%;box-shadow:0 0 22px rgba(232,184,75,.45)}
.gs-marca b{font-family:var(--gs-disp);font-weight:900;font-style:italic;font-size:16px;letter-spacing:.02em;text-transform:uppercase}
.gs-marca b span{color:var(--gs-marca)}
.gs-nav{display:none;align-items:center;gap:4px}
.gs-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 13px;border-radius:999px;font:600 14.5px var(--gs-body);color:var(--gs-muted);text-decoration:none;transition:.2s}
.gs-nav a:hover,.gs-nav a[aria-current]{color:var(--gs-ink);background:rgba(255,255,255,.07)}
.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;font:italic 900 14px var(--gs-disp);letter-spacing:.06em;text-transform:uppercase;text-decoration:none;color:#fff;background:linear-gradient(120deg,var(--gs-cyan),var(--gs-elec));box-shadow:0 14px 40px -14px rgba(31,75,255,.9),inset 0 1px 0 rgba(255,255,255,.35);transition:transform .25s,box-shadow .25s;border:0;cursor:pointer}
.gs-btn:hover{transform:translateY(-2px);box-shadow:0 20px 54px -12px rgba(0,193,248,.95)}
.gs-btn.gs-2{background:rgba(255,255,255,.06);border:1.5px solid rgba(123,227,255,.45);box-shadow:none}
.gs-nav .gs-btn{min-height:44px;padding:0 18px;margin-left:6px}
#gs-menuBtn{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--gs-line);background:var(--gs-glass);color:var(--gs-ink);font:italic 800 14px var(--gs-disp);letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
#gs-menuBtn i{display:grid;gap:4px}#gs-menuBtn i::before,#gs-menuBtn i::after{content:"";display:block;width:18px;height:2px;background:var(--gs-ink);border-radius:2px}
@media(min-width:1240px){.gs-nav{display:flex}#gs-menuBtn{display:none}}

/* 5b · Reinicio: ningún estilo suelto de la página entra a los enlaces del shell (medido 04-oct en 404) */
#gs-barra a,#gs-pie a,#gs-hoja a{margin:0;text-decoration:none;box-shadow:none}
#gs-barra .gs-marca,#gs-pie .gs-marca{display:flex;background:none;padding:0;border:0;border-radius:0;color:var(--gs-ink);width:auto}
#gs-barra .gs-nav a:not(.gs-btn){background:none;color:var(--gs-muted)}#gs-barra .gs-nav a:not(.gs-btn):hover,#gs-barra .gs-nav a[aria-current]{background:rgba(255,255,255,.07);color:var(--gs-ink)}
#gs-barra .gs-nav .gs-btn{margin-left:6px;color:#fff;background:linear-gradient(120deg,var(--gs-cyan),var(--gs-elec))}
#gs-pie a{color:var(--gs-muted);background:none;padding:0}

/* 6 · Menú de hoja (celular) */
#gs-hoja{position:fixed;inset:0;z-index:80;background:rgba(1,4,31,.97);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;flex-direction:column;padding:76px var(--gs-pad) 32px;gap:2px;opacity:0;pointer-events:none;visibility:hidden;overflow-y:auto;overscroll-behavior:contain;transition:opacity .3s,visibility .3s}
#gs-hoja.on{opacity:1;pointer-events:auto;visibility:visible}
#gs-hoja .gs-cerrar{position:absolute;top:12px;right:var(--gs-pad);min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--gs-line);background:var(--gs-glass);color:var(--gs-ink);font:700 14px var(--gs-body);cursor:pointer}
#gs-hoja .gs-grupo{margin-top:14px;font:italic 800 12px var(--gs-disp);letter-spacing:.2em;text-transform:uppercase;color:var(--gs-cyan)}
#gs-hoja a{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:6px 0;border-bottom:1px solid var(--gs-line);color:var(--gs-ink);text-decoration:none;font:italic 900 clamp(20px,5.6vw,30px) var(--gs-disp);text-transform:uppercase;transform:translateY(14px);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s}
#gs-hoja.on a{transform:none;opacity:1}
#gs-hoja a small{font:600 13px var(--gs-body);text-transform:none;color:var(--gs-muted);text-align:right}

/* 7 · Pie común */
#gs-pie{margin-top:80px;border-top:1px solid var(--gs-line);background:linear-gradient(180deg,transparent,rgba(31,75,255,.08))}
#gs-pie .gs-in{max-width:1240px;margin:0 auto;padding:44px var(--gs-pad) 34px;display:grid;gap:26px}
#gs-pie .gs-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
#gs-pie h4{font:italic 900 13px var(--gs-disp);letter-spacing:.18em;text-transform:uppercase;color:var(--gs-cyan);margin:0 0 6px}
#gs-pie a{display:flex;align-items:center;min-height:44px;color:var(--gs-muted);text-decoration:none;font-size:15px}
#gs-pie a:hover{color:var(--gs-ink)}
#gs-pie .gs-base{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;color:var(--gs-dim);font-size:13px}
@media(max-width:760px){#gs-pie .gs-cols{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 8 · Movimiento (es ADORNO: sin JS o con movimiento reducido, todo se ve igual) */
.gs-js .gs-r{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.gs-js .gs-r.gs-vis{opacity:1;transform:none}
.gs-pal{display:inline-block;transform:translateY(105%);opacity:0;transition:transform .9s cubic-bezier(.16,1,.3,1),opacity .9s}
.gs-pal-w{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.08em;margin-bottom:-.08em}
.gs-listo .gs-pal{transform:none;opacity:1}
/* tarjetas con luz que sigue al dedo o al mouse */
.gs-luz{position:relative;isolation:isolate}
.gs-luz::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;transition:opacity .35s;
  background:radial-gradient(260px circle at var(--gs-x,50%) var(--gs-y,50%),rgba(0,193,248,.18),transparent 65%)}
.gs-luz:hover::after{opacity:1}
.gs-luz{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
@media (hover:hover){.gs-luz:hover{transform:translateY(-3px);box-shadow:0 22px 50px -26px rgba(0,193,248,.55)}}
#gs-prog{position:fixed;top:0;left:0;height:3px;width:0;z-index:90;background:linear-gradient(90deg,var(--gs-elec),var(--gs-cyan),var(--gs-cyan2));box-shadow:0 0 12px rgba(0,193,248,.7);pointer-events:none}
@media (prefers-reduced-motion:reduce){.gs-js .gs-r,.gs-pal{opacity:1!important;transform:none!important;transition:none!important}}

/* 9 · Transición entre páginas (View Transitions entre documentos: Chrome 126+, Safari 18.2+; los demás navegan normal) */
@view-transition{navigation:auto}
::view-transition-old(root){animation:gs-sale .28s ease both}
::view-transition-new(root){animation:gs-entra .42s cubic-bezier(.2,.7,.2,1) both}
#gs-barra{view-transition-name:gs-barra}
@keyframes gs-sale{to{opacity:0;transform:scale(.985)}}
@keyframes gs-entra{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}

/* 10 · CIERRE QUE CONVIERTE (v4): invitación a la comunidad antes del pie, como el final de la portada */
#gs-cierre{position:relative;max-width:1100px;margin:90px auto 0;padding:0 var(--gs-pad)}
#gs-cierre .gs-caja{position:relative;overflow:hidden;border-radius:30px;padding:clamp(34px,6vw,64px) clamp(22px,5vw,60px);text-align:center;
  background:radial-gradient(120% 140% at 50% -20%,rgba(31,75,255,.42),rgba(6,18,90,.55) 45%,rgba(1,4,31,.78) 80%);
  border:1px solid rgba(123,227,255,.28);box-shadow:0 40px 90px -40px rgba(0,193,248,.55),inset 0 1px 0 rgba(255,255,255,.12)}
#gs-cierre .gs-caja::before{content:"";position:absolute;inset:-40%;z-index:0;pointer-events:none;
  background:conic-gradient(from 0deg,transparent 0 70%,rgba(0,193,248,.18) 80%,transparent 90%);animation:gs-gira 14s linear infinite}
#gs-cierre .gs-caja>*{position:relative;z-index:1}
@keyframes gs-gira{to{transform:rotate(360deg)}}
#gs-cierre .gs-k{display:inline-flex;align-items:center;gap:10px;font:italic 800 12.5px var(--gs-disp);letter-spacing:.22em;text-transform:uppercase;color:var(--gs-cyan2)}
#gs-cierre .gs-k::before,#gs-cierre .gs-k::after{content:"";width:22px;height:2px;background:var(--gs-cyan);box-shadow:0 0 12px var(--gs-cyan)}
#gs-cierre h2{margin:14px 0 0;font:italic 900 clamp(30px,5vw,56px)/1.02 var(--gs-disp);text-transform:uppercase;letter-spacing:-.01em;color:#fff}
#gs-cierre h2 em{font-style:italic;background:linear-gradient(100deg,var(--gs-cyan2),var(--gs-cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
#gs-cierre p{max-width:620px;margin:16px auto 0;color:var(--gs-muted);font-size:clamp(16px,1.6vw,18.5px);line-height:1.55}
#gs-cierre .gs-acc{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
#gs-cierre .gs-acc a{min-width:min(100%,240px)}
#gs-cierre .gs-ok{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:20px;color:var(--gs-dim);font-size:14px}
#gs-cierre .gs-ok span::before{content:"✓ ";color:var(--gs-verde)}
@media(max-width:560px){#gs-cierre .gs-acc a{width:100%}}
@media (prefers-reduced-motion:reduce){#gs-cierre .gs-caja::before{animation:none}}

/* 11 · v6 · correcciones medidas por el golden-verificador (05-oct) */
/* barra fija: overflow-x:hidden en el body lo volvía contenedor de scroll y el sticky moría sin error (25 páginas) */
html:root body{overflow-x:clip!important}
/* las reglas de etiqueta header{}/footer{} de cada página no entran a la barra ni al pie comunes */
html body header#gs-barra{position:sticky!important;top:0!important;margin:0!important;padding:0!important;text-align:left!important;
  max-width:none!important;width:auto!important;border-radius:0!important;box-shadow:none!important;border-top:0!important;border-left:0!important;border-right:0!important;min-height:0!important;height:auto!important}
html body header#gs-barra .gs-in{text-align:left}
html body footer#gs-pie{padding:0!important;text-align:left!important;max-width:none!important;border-radius:0!important;box-shadow:none!important}
html body footer#gs-pie a{justify-content:flex-start;text-align:left}
html body footer#gs-pie .gs-base a{justify-content:flex-start}
/* el interruptor viejo de tema día/noche ya no existe en el portal */
#btnTema,#themeSw,.theme-toggle{display:none!important}
