
:root{
  --abyss:#03101a;--deep:#072233;--deep2:#0a2e44;--panel:rgba(255,255,255,.045);
  --panel-bd:rgba(122,196,224,.18);--foam:#e9f6fb;--muted:#84abbe;--muted2:#5b8298;
  --nino:#ff7a4d;--nino2:#ffc24d;--nina:#39d3e3;--nina2:#5b8cff;--teal:#28d6b6;
  --line:rgba(122,196,224,.12);--r:18px;--paper:#f7fbfd;--ink:#10222e;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Spline Sans',sans-serif;background:var(--abyss);color:var(--foam);
  line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.bg{position:fixed;inset:0;z-index:-2;background:
  radial-gradient(1200px 700px at 78% -10%,rgba(255,122,77,.16),transparent 60%),
  radial-gradient(1000px 800px at 8% 20%,rgba(57,211,227,.12),transparent 55%),
  radial-gradient(900px 900px at 50% 120%,rgba(91,140,255,.14),transparent 60%),
  linear-gradient(180deg,#03101a 0%,#04161f 45%,#03121b 100%)}
.bg svg{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.grain{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
a{color:var(--nina)}
/* header */
header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px);
  background:linear-gradient(180deg,rgba(3,16,26,.92),rgba(3,16,26,.55));border-bottom:1px solid var(--line)}
.topbar{display:flex;align-items:center;gap:14px;padding:12px 0}
.logo-box{width:54px;height:54px;border-radius:13px;flex:none;overflow:hidden;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 38%,#fff,#e8f2f7);box-shadow:0 0 0 1px var(--panel-bd),0 6px 18px rgba(57,211,227,.2)}
.logo-box img{width:118%;height:118%;object-fit:contain}
.brand h1{font-family:'Fraunces',serif;font-weight:600;font-size:1.05rem;line-height:1.05}
.brand p{font-size:.68rem;color:var(--muted);letter-spacing:.5px;text-transform:uppercase;margin-top:2px}
.brand a{text-decoration:none;color:inherit;display:flex;align-items:center;gap:13px}
.nav{margin-left:auto;display:flex;gap:6px}
.nav a{font-size:.8rem;color:var(--muted);text-decoration:none;padding:7px 13px;border-radius:99px;transition:.2s}
.nav a:hover{color:var(--foam);background:var(--panel)}
/* hero portada */
.hero{padding:54px 0 24px}
.tagline{font-family:'Spline Sans Mono',monospace;font-size:.72rem;letter-spacing:3px;text-transform:uppercase;
  color:var(--nino2);margin-bottom:14px;display:flex;align-items:center;gap:9px}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--nino);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,122,77,.55)}70%{box-shadow:0 0 0 11px rgba(255,122,77,0)}100%{box-shadow:0 0 0 0 rgba(255,122,77,0)}}
.hero h2{font-family:'Fraunces',serif;font-weight:600;font-size:clamp(2rem,5vw,3.1rem);line-height:1.04;letter-spacing:-.5px}
.hero h2 em{font-style:italic;color:var(--nina)}
.hero .lead{color:var(--muted);font-size:1.02rem;margin-top:14px;max-width:60ch}
/* tarjetas de publicaciones */
.pubs{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px;padding:18px 0 40px}
.pub{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--panel-bd);border-radius:var(--r);
  overflow:hidden;text-decoration:none;color:inherit;transition:.25s;position:relative}
.pub:hover{border-color:rgba(57,211,227,.45);transform:translateY(-3px)}
.pub .thumb{aspect-ratio:16/8;background:#0a2e44 center/cover no-repeat;border-bottom:1px solid var(--line)}
.pub .body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:8px;flex:1}
.pub .kicker{font-family:'Spline Sans Mono',monospace;font-size:.64rem;letter-spacing:1px;text-transform:uppercase;color:var(--teal)}
.pub h3{font-family:'Fraunces',serif;font-weight:600;font-size:1.18rem;line-height:1.18}
.pub .meta{font-size:.74rem;color:var(--muted2)}
.pub .abs{font-size:.86rem;color:#bcd9e6}
.pub .tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:auto;padding-top:6px}
.pub .tags span{font-size:.66rem;color:var(--muted);border:1px solid var(--line);padding:3px 9px;border-radius:99px}
.pub .more{font-size:.82rem;color:var(--nina);font-weight:600;margin-top:4px}
/* artículo (publicación científica) */
.paper{max-width:840px;margin:30px auto 60px;background:var(--paper);color:var(--ink);
  border-radius:16px;box-shadow:0 40px 90px -40px rgba(0,0,0,.8);overflow:hidden}
.paper .phead{padding:30px 46px 22px;border-bottom:1px solid #e2ecf1;
  background:linear-gradient(180deg,#ffffff,#f2f8fb)}
.paper .eyebrow{font-family:'Spline Sans Mono',monospace;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:#0f9d8f}
.paper .pmeta{font-size:.82rem;color:#5a7180;margin-top:10px;line-height:1.7}
.paper .pmeta b{color:#10222e}
.paper .pbody{padding:26px 46px 40px;font-size:1.02rem}
.paper .pbody h1{font-family:'Fraunces',serif;font-size:1.9rem;line-height:1.15;margin:6px 0 4px;color:#0c1a24}
.paper .pbody h2{font-family:'Fraunces',serif;font-size:1.32rem;margin:30px 0 10px;color:#0c1a24;
  padding-bottom:6px;border-bottom:1px solid #e2ecf1}
.paper .pbody h3{font-size:1.05rem;margin:22px 0 8px;color:#123}
.paper .pbody p{margin:12px 0}
.paper .pbody a{color:#0f7d9d}
.paper .pbody ul,.paper .pbody ol{margin:12px 0 12px 22px}
.paper .pbody li{margin:5px 0}
.paper .pbody blockquote{margin:18px 0;padding:14px 18px;background:#eef6f9;border-left:4px solid #0f9d8f;
  border-radius:8px;font-size:.95rem;color:#33485a}
.paper .pbody blockquote p{margin:5px 0}
.paper figure{margin:22px 0;text-align:center}
.paper figure img{max-width:100%;height:auto;border:1px solid #dde8ee;border-radius:10px;background:#fff}
.paper figcaption{font-size:.8rem;color:#6a8090;margin-top:8px;font-style:italic}
.paper table{border-collapse:collapse;width:100%;margin:16px 0;font-size:.86rem}
.paper th,.paper td{border:1px solid #dde8ee;padding:7px 10px;text-align:left}
.paper th{background:#eaf3f7;color:#10222e;font-weight:600}
.paper tr:nth-child(even) td{background:#f4fafc}
.paper code{font-family:'Spline Sans Mono',monospace;font-size:.86em;background:#eef4f7;padding:1px 5px;border-radius:5px}
.paper hr{border:none;border-top:1px solid #e2ecf1;margin:26px 0}
.paper .cite,.paper .discuss{margin-top:26px;padding:16px 18px;border-radius:12px;border:1px solid #dde8ee;background:#eff7fa}
.paper .cite h4,.paper .discuss h4{font-family:'Fraunces',serif;font-size:1.06rem;margin-bottom:8px;color:#0c1a24}
.paper .cite-text{background:#fff;border:1px solid #e2ecf1;border-radius:8px;padding:10px 12px;font-size:.9rem;line-height:1.6}
.paper .cite-url{font-size:.84rem;margin-top:8px}
.paper .cite-note{font-size:.78rem;color:#6a8090;margin-top:6px}
.paper .discuss p{font-size:.92rem;margin:6px 0}
.paper .discuss-soon{font-size:.86rem;color:#33485a;background:#fff;border:1px dashed #b9d2dd;border-radius:8px;padding:10px 12px;margin-top:8px}
.paper .discuss-btn{display:inline-block;background:#0f9d8f;color:#fff;text-decoration:none;font-weight:600;padding:9px 16px;border-radius:10px;margin-top:8px}
.giscus{margin-top:12px}
.backlink{display:inline-flex;gap:7px;align-items:center;font-size:.82rem;color:var(--nina);
  text-decoration:none;margin:24px 0 0}
.backlink:hover{text-decoration:underline}
/* footer */
footer{border-top:1px solid var(--line);padding:30px 0 50px;color:var(--muted);font-size:.82rem}
footer a{color:var(--muted);text-decoration:none}
footer a:hover{color:var(--teal)}
footer .credit b{color:var(--foam)}
.waves{height:54px;width:100%;display:block}
@media(max-width:640px){ .paper .phead,.paper .pbody{padding-left:22px;padding-right:22px} }
