/* ============================================================
   Laboratorio de Inteligencia y Conciencia · estilos compartidos
   Usado por la página manifiesto y por cada página de experimento
   (laboratorio/*.html). Mantener aquí lo común; lo puntual de una
   página va en un <style> corto dentro de esa página.
   ============================================================ */

:root{
  --surface:#020617; --gold:#e2b850; --silver:#cbd5e1; --dim:#94a3b8;
  --on:#f8fafc; --violet:#a78bfa; --rose:#f472b6; --teal:#2dd4bf;
  --line:rgba(255,255,255,0.08);
}

html,body{background:var(--surface);color:var(--on);font-family:'Plus Jakarta Sans',sans-serif;overflow-x:hidden;}

/* Cielo de fondo */
body::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(1.5px 1.5px at 18% 22%,rgba(255,255,255,0.9) 50%,transparent 60%),
    radial-gradient(1.5px 1.5px at 82% 14%,rgba(226,184,80,0.85) 50%,transparent 60%),
    radial-gradient(1.5px 1.5px at 60% 70%,rgba(167,139,250,0.8) 50%,transparent 60%),
    radial-gradient(1.5px 1.5px at 35% 85%,rgba(45,212,191,0.7) 50%,transparent 60%),
    radial-gradient(circle at 25% 20%,rgba(167,139,250,0.05),transparent 36%),
    radial-gradient(circle at 78% 72%,rgba(45,212,191,0.05),transparent 40%);
}

/* Navegación superior (mismo patrón del resto del sitio) */
.top-nav{position:sticky;top:0;z-index:50;background:rgba(2,6,23,0.92);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;gap:0.3rem;padding:0.6rem 1rem;
  overflow-x:auto;scrollbar-width:none;flex-wrap:wrap;}
.top-nav::-webkit-scrollbar{display:none}
.nav-logo{display:flex;align-items:center;gap:0.6rem;text-decoration:none;margin-right:auto;}
.nav-logo svg{width:30px;height:30px;color:var(--gold);filter:drop-shadow(0 0 8px rgba(226,184,80,0.4));}
.nav-logo span{font-family:'Cinzel',serif;font-size:0.82rem;letter-spacing:0.14em;color:var(--on);text-transform:uppercase;}
.nav-links{display:flex;gap:1rem;flex-wrap:wrap;}
.nav-links a{font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .2s;white-space:nowrap;}
.nav-links a:hover{color:var(--gold);}

main{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:2.6rem 1.2rem 4rem;}

/* Hero */
.lab-hero{text-align:center;margin-bottom:3rem;}
.eyebrow{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--teal);opacity:0.9;}
.lab-hero h1{font-family:'Cinzel',serif;font-size:clamp(1.7rem,5vw,2.6rem);font-weight:600;margin:0.5rem 0;line-height:1.25;
  background:linear-gradient(135deg,#e8c46a,#a78bfa 55%,#2dd4bf);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.lab-hero p{color:var(--silver);font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.15rem;line-height:1.75;max-width:640px;margin:0.5rem auto 0;}

/* Secciones */
.lab-section{margin:0 auto 2.8rem;max-width:760px;}
.lab-section > h2{font-family:'Cinzel',serif;font-size:1.15rem;font-weight:600;color:var(--gold);letter-spacing:0.06em;
  margin-bottom:0.9rem;display:flex;align-items:center;gap:0.6rem;}
.lab-section > h2::before{content:'✦';font-size:0.75rem;color:var(--violet);}
.lab-section p{font-family:'Cormorant Garamond',serif;font-size:1.14rem;line-height:1.8;color:var(--silver);margin-bottom:0.9rem;}
.lab-section p strong{color:var(--on);font-weight:500;}

/* Grid de conceptos investigados */
.conceptos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:0.8rem;margin-top:0.4rem;}
.concepto-card{background:linear-gradient(180deg,rgba(18,16,34,0.7),rgba(10,12,28,0.85));border:1px solid var(--line);
  border-radius:1rem;padding:1.1rem 1.1rem 1rem;transition:border-color .25s, transform .25s;}
.concepto-card:hover{border-color:rgba(167,139,250,0.4);transform:translateY(-2px);}
.concepto-card h3{font-family:'Cinzel',serif;font-size:0.92rem;color:var(--violet);margin-bottom:0.35rem;}
.concepto-card p{font-family:'Cormorant Garamond',serif;font-size:1rem;line-height:1.55;color:var(--silver);margin:0;}

/* Principios metodológicos */
.principios{list-style:none;counter-reset:principio;display:grid;gap:0.7rem;padding:0;}
.principios li{counter-increment:principio;background:rgba(255,255,255,0.03);border:1px solid var(--line);
  border-radius:0.9rem;padding:0.9rem 1.1rem 0.9rem 3.2rem;position:relative;}
.principios li::before{content:counter(principio,decimal-leading-zero);position:absolute;left:1rem;top:0.95rem;
  font-family:'Cinzel',serif;font-size:0.85rem;color:var(--gold);opacity:0.85;}
.principios li b{display:block;font-family:'Cinzel',serif;font-weight:500;font-size:0.88rem;color:var(--on);margin-bottom:0.2rem;letter-spacing:0.04em;}
.principios li span{font-family:'Cormorant Garamond',serif;font-size:1.05rem;line-height:1.6;color:var(--silver);}

/* Panel de experimento (destacado en el manifiesto y cabecera en su propia página) */
.experimento-panel{background:linear-gradient(180deg,rgba(45,212,191,0.06),rgba(10,12,28,0.85));
  border:1px solid rgba(45,212,191,0.28);border-radius:1.2rem;padding:1.6rem 1.5rem;}
.experimento-panel .exp-codigo{font-family:'Cinzel',serif;font-size:0.6rem;letter-spacing:0.24em;text-transform:uppercase;color:var(--teal);}
.experimento-panel h3{font-family:'Cinzel',serif;font-size:1.3rem;font-weight:600;color:var(--on);margin:0.4rem 0 0.6rem;}
.estado-badge{display:inline-block;font-size:0.66rem;letter-spacing:0.12em;text-transform:uppercase;
  color:var(--teal);border:1px solid rgba(45,212,191,0.45);border-radius:999px;padding:0.22rem 0.7rem;margin-bottom:0.7rem;}
.experimento-panel p{font-family:'Cormorant Garamond',serif;font-size:1.1rem;line-height:1.75;color:var(--silver);margin-bottom:0.8rem;}

/* Botón de acción */
.cta-btn{display:inline-block;background:linear-gradient(135deg,#e2b850,#c9a84c);color:#1a1400;text-decoration:none;
  border-radius:999px;font-weight:600;font-size:0.9rem;padding:0.7rem 1.6rem;letter-spacing:0.02em;
  transition:transform .2s, box-shadow .2s;}
.cta-btn:hover{transform:translateY(-1px);box-shadow:0 4px 22px rgba(226,184,80,0.3);}
.cta-btn.secundario{background:transparent;color:var(--gold);border:1px solid rgba(226,184,80,0.5);}

/* Aviso ético */
.aviso-etico{max-width:680px;margin:0 auto;text-align:center;padding:1.3rem 1.5rem;border-radius:14px;
  border:1px solid rgba(244,114,182,0.28);background:linear-gradient(180deg,rgba(244,114,182,0.05),rgba(0,0,0,0.12));}
.aviso-etico .ae-kicker{font-family:'Cinzel',serif;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:#f9a8d4;margin-bottom:0.45rem;}
.aviso-etico p{font-family:'Cormorant Garamond',serif;font-size:1.08rem;line-height:1.75;color:var(--silver);margin:0;}

/* Elementos propios de las páginas de experimento */
.breadcrumb{font-size:0.74rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:1.6rem;}
.breadcrumb a{color:var(--dim);text-decoration:none;transition:color .2s;}
.breadcrumb a:hover{color:var(--gold);}
.protocolo{list-style:none;padding:0;display:grid;gap:0.6rem;counter-reset:paso;}
.protocolo li{counter-increment:paso;background:rgba(255,255,255,0.03);border:1px solid var(--line);border-radius:0.9rem;
  padding:0.85rem 1.1rem 0.85rem 3rem;position:relative;font-family:'Cormorant Garamond',serif;
  font-size:1.08rem;line-height:1.65;color:var(--silver);}
.protocolo li::before{content:counter(paso);position:absolute;left:1.05rem;top:0.85rem;
  font-family:'Cinzel',serif;font-size:0.85rem;color:var(--teal);}
.resultados-pendientes{border:1px dashed rgba(255,255,255,0.18);border-radius:1rem;padding:1.4rem;text-align:center;
  font-family:'Cormorant Garamond',serif;font-style:italic;font-size:1.08rem;color:var(--dim);line-height:1.7;}

/* Ficha de reproducibilidad generada desde report.json */
.repro-shell{border:1px solid rgba(45,212,191,0.24);background:rgba(5,12,27,0.72);border-radius:0.8rem;overflow:hidden;}
.repro-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line);}
.repro-stat{padding:0.95rem 1rem;border-right:1px solid var(--line);}
.repro-stat:last-child{border-right:0;}
.repro-label{display:block;font-size:0.61rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);margin-bottom:0.3rem;}
.repro-value{font-family:'Cinzel',serif;font-size:0.9rem;color:var(--on);overflow-wrap:anywhere;}
.repro-hypothesis{padding:1rem;border-bottom:1px solid var(--line);}
.repro-hypothesis strong{display:block;font-family:'Cinzel',serif;color:var(--gold);font-size:0.72rem;letter-spacing:0.08em;text-transform:uppercase;margin-bottom:0.35rem;}
.repro-hypothesis p{font-size:1.03rem;margin:0;line-height:1.65;}
.repro-table-wrap{overflow-x:auto;}
.repro-table{width:100%;border-collapse:collapse;font-size:0.76rem;min-width:650px;}
.repro-table th,.repro-table td{padding:0.72rem 0.8rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;}
.repro-table th{font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);font-weight:500;}
.repro-table td{color:var(--silver);}
.repro-table code{font-size:0.7rem;color:var(--teal);}
.repro-grade{display:inline-grid;place-items:center;width:1.55rem;height:1.55rem;border-radius:50%;font-family:'Cinzel',serif;font-size:0.68rem;border:1px solid var(--line);}
.repro-grade.grade-a{color:var(--teal);border-color:rgba(45,212,191,0.5);}
.repro-grade.grade-b{color:var(--gold);border-color:rgba(226,184,80,0.5);}
.repro-grade.grade-c{color:var(--rose);border-color:rgba(244,114,182,0.45);}
.repro-notes{padding:0.9rem 1rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;}
.repro-notes p{font-family:'Plus Jakarta Sans',sans-serif;font-size:0.7rem;line-height:1.6;color:var(--dim);margin:0;}
.repro-downloads{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:0.65rem;white-space:nowrap;}
.repro-downloads a{font-size:0.66rem;color:var(--teal);text-decoration:none;border-bottom:1px solid rgba(45,212,191,0.35);}
.repro-loading{padding:1.2rem;color:var(--dim);font-size:0.8rem;}

@media(max-width:640px){
  .repro-summary{grid-template-columns:1fr;}
  .repro-stat{border-right:0;border-bottom:1px solid var(--line);}
  .repro-stat:last-child{border-bottom:0;}
  .repro-notes{display:block;}
  .repro-downloads{justify-content:flex-start;margin-top:0.75rem;white-space:normal;}
}

/* Mapas conceptuales (MDS) dibujados desde resultados.json */
.mapas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin:1.2rem 0 0.4rem;}
.mapa-card{background:linear-gradient(180deg,rgba(18,16,34,0.7),rgba(10,12,28,0.85));border:1px solid var(--line);
  border-radius:1.1rem;padding:1rem 1rem 0.8rem;}
.mapa-card h4{font-family:'Cinzel',serif;font-size:0.82rem;color:var(--gold);margin-bottom:0.15rem;}
.mapa-card .mapa-meta{font-size:0.68rem;color:var(--dim);margin-bottom:0.5rem;}
.mapa-card svg{width:100%;height:auto;display:block;}
.mapa-card .nodo{fill:var(--teal);}
.mapa-card .etiqueta{fill:var(--silver);font-family:'Plus Jakarta Sans',sans-serif;font-size:11px;}
.mapa-card .arista{stroke:var(--violet);stroke-width:1;}

footer{position:relative;z-index:1;text-align:center;color:var(--dim);font-size:0.78rem;padding:2rem 1rem 3rem;border-top:1px solid var(--line);margin-top:2.5rem;}
footer a{color:var(--dim);}
