body{
    font-family: Georgia, serif;
    background-color:#000;
    color:#f0f0f0;
}

header{
    text-align:center;
    padding:80px 20px;
}

header h1{
    font-size: 3rem;
    letter-spacing: 1px;
}

header h2{
    color: #9bb8ff;
    margin-bottom: 20px;
}

header p{
    opacity: 0.8;
}

a{
    text-decoration: none;
    color: inherit;
}

a:visited{
    color: inherit;
}

ul {
      list-style-type: square;
      margin-left: 1.5rem;
    }

#explorar h2{
    text-align:center;
    margin-bottom:40px;
}

.ventana{
    display: block;
    background: linear-gradient(145deg, #11121a, #1a1b2a);
    border:1px solid #2e3148;
    border-radius:10px;
    padding:30px;
    margin:20px;
    text-align:center;

    box-shadow:
        inset 0 0 12px rgba(120,140,255,0.08),
        0 0 15px rgba(0,0,0,0.6);

    transition:all 0.25s ease;
}

.ventana:hover{
    transform:translateY(-6px);
    box-shadow:
        0 10px 30px rgba(0,0,0,0.8),
        0 0 20px rgba(80,120,255,0.4);
    background-color:#1f1f2a;
    color: inherit;
}
 
.ventana h4{
    color:#6ea8ff;
    margin-bottom:15px;
    font-weight: 600;
}

.ventana.hover h4{
    color:#9bb8ff;
}

.ventana::before{
    content: "";
    display: block;
    width:50%;
    height:2px;

    margin:0 auto 20px auto;

    background:linear-gradient(
        90deg,
        transparent,
        #5f7cff,
        transparent
    );
}

.heroe{
    position: relative;
    background-image:url("../imgs/hechicero.png");
    background-position:right center;
    background-size: contain;
    background-repeat:no-repeat;
    padding:120px 20px;
    text-align:center;
}

.heroe *{
    position: relative;
    z-index: 1;
}

.heroe::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    background: radial-gradient(circle at center, rgba(0,0,0,0.5), rgba(0.1,0.1,0.1,0.85));
    pointer-events: none;
}

.spell-name {
      font-weight: bold;
      color: #ffe9a3;
      letter-spacing: 0.5;
    }

.caster {
      border-left: 3px solid #3d4a7a;
      padding-left: 1.2rem;
      margin-bottom: 2.5rem;
    }

.caster li{
    margin-bottom: 12px;
    line-height: 1.5;
}

.caster h3{
    color: #8fb0ff;
    margin-bottom: 12px;
}

.portal-nav{
    text-align:center;
    padding:20px;
    border-bottom:1px solid #222;
}

.portal-nav a{
    margin:0 15px;
    color:#8fb0ff;
    font-size:0.95rem;
}

.portal-nav a:hover{
    color:#c8d8ff;
}

.descripcion-historia{
    max-width:700px;
    margin:0 auto 40px auto;
    text-align:center;
    line-height:1.6;
}

.portal-footer{
    text-align:center;
    padding:30px 20px;
    margin-top:60px;
    border-top:1px solid #222;
    font-size:0.9rem;
    opacity:0.7;
}

.footer {
  text-align: center;
  padding: 40px 15px;
  font-size: 0.9rem;
  color: #ccc;
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 50px;
}

.footer a {
  color: #ccc;
  text-decoration: none;
  margin: 0 5px;
}

.footer a:hover {
  color: #fff;
  text-decoration: underline;
}

.footer-links,
.footer-contact,
.footer-patreon {
  margin-top: 15px;
}

/* Botón Patreon */
.btn-patreon {
  display: inline-block;
  margin-top: 10px;
  padding: 10px 18px;
  border: 1px solid #ccc;
  border-radius: 5px;
  transition: all 0.3s ease;
}

.btn-patreon:hover {
  background-color: #fff;
  color: #000;
  text-decoration: none;
}

/* Intro del héroe */
.intro{
    margin-top:20px;
    font-size:0.95rem;
    opacity:0.75;
    max-width:600px;
    margin-left:auto;
    margin-right:auto;
    line-height:1.5;
}

/* Guía narrativa */
.portal-intro{
    margin-top:40px;
    font-size:1.1rem;
    color:#9bb8ff;
}

.portal-sub{
    font-size:0.9rem;
    opacity:0.7;
    margin-top:-5px;
}

.inicio-viaje{
    margin-top:40px;
    font-size:1.2rem;
    color:#9bb8ff;
    opacity:0.9;
}

.descripcion-historia p{
    margin-bottom:12px;
}

.archivo-intro{
    margin-top:40px;
    font-size:1.2rem;
    color:#9bb8ff;
    opacity:0.9;
}

.archivo-sub{
    font-size:0.9rem;
    opacity:0.6;
    margin-top:-5px;
}

.nota-archivo{
    font-size:0.75rem;
    opacity:0.5;
    margin-top:10px;
    letter-spacing:1px;
    text-transform:uppercase;
}