/* NexoWave — dark minimal (compactado) */
:root{
  --bg:#0b0c10;
  --surface:#111218;
  --text:#f7f7fb;
  --muted:#9a9aac;
  --accent:#8ef0ff;
  --accent2:#e4b9ff;
  --line:#232433;
  --shadow: 0 16px 40px rgba(0,0,0,.40); /* ↓ sombra un poco menor */
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font:16px/1.5 'Space Grotesk', system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell;
}

/* NAV */
.nav{
  max-width:1100px;
  margin:0 auto;
  padding:12px 20px;            /* ↓ menos alto */
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:10px}
.logo{
  display:inline-grid;place-items:center;
  width:32px;height:32px;border-radius:10px; /* ↓ */
  background:var(--text);color:#000;font-weight:800;
}
.brand-name{font-weight:800;letter-spacing:.2px}
.links a{color:var(--muted);text-decoration:none;margin-left:16px} /* ↓ */
.links a:hover{color:var(--text)}

/* WRAP */
.wrap{
  max-width:1100px;
  margin:0 auto;
  padding:8px 20px 48px;        /* ↓ menos padding superior e inferior */
}

/* HERO */
.hero{padding-top:16px}          /* ↓ antes 40px */
.title{
  margin:0 0 6px;                /* ↓ elimina margen por defecto y acerca al subtítulo */
  font-size:clamp(34px, 5.2vw, 60px); /* ↓ tamaño máximo menor */
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.5px;
}
.outline{
  -webkit-text-stroke: 1px var(--text);
  color: transparent;
}
.subtitle{
  color:var(--muted);
  max-width:800px;
  margin-top:6px;               /* ↓ antes 12px */
}

/* PANEL/form */
.panel{
  margin-top:16px;              /* ↓ antes 26px */
  background:var(--surface);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  padding:14px;                 /* ↓ antes 18px */
  border-radius:14px;           /* ↓ */
  display:grid;
  gap:10px;                     /* ↓ */
}
.field{display:grid;gap:4px}    /* ↓ */
.field.two{grid-template-columns:1fr 1fr;gap:12px} /* ↓ */
label{font-weight:700;font-size:.88rem}           /* ↓ */
input, select{
  width:100%;
  padding:12px 12px;            /* ↓ */
  border-radius:12px;
  background:#0c0c0f;
  color:var(--text);
  border:1px solid var(--line);
  outline:none;
}
input::placeholder{color:#5c5c62}

/* CTA */
.cta{
  appearance:none;border:none;
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  color:#0a0a0a;font-weight:800;
  font-family:'Montserrat', system-ui, sans-serif;
  padding:12px 16px;            /* ↓ */
  border-radius:12px;            /* ↓ */
  cursor:pointer;
  transition:transform .06s ease, filter .2s;
}
.cta:active{transform:translateY(1px)}
.ghost{
  appearance:none;border:1px solid var(--line);background:transparent;color:var(--text);
  padding:8px 10px;              /* ↓ */
  border-radius:10px;cursor:pointer;
  font-family:'Montserrat', system-ui, sans-serif;
}

/* Examples */
.examples{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap} /* ↓ */
.chip{padding:6px 10px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer} /* ↓ */

/* Result area */
.result-area{margin-top:20px}   /* ↓ antes 34px */
.result{
  border:1px solid var(--line);
  border-radius:16px;           /* ↓ */
  background:linear-gradient(180deg, rgba(142,240,255,.05), rgba(228,185,255,.04));
  box-shadow:var(--shadow);
}
.result-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;            /* ↓ */
  border-bottom:1px solid var(--line)
}
.output{
  padding:14px;                 /* ↓ */
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;
  white-space:pre-wrap
}
.placeholder{color:var(--muted)}

/* Footer */
.footer{
  opacity:.7;text-align:center;
  padding:18px 0;               /* ↓ antes 28px */
  border-top:1px solid var(--line)
}

/* Dialog */
dialog{
  border:none;border-radius:14px;/* ↓ */
  background:#151517;color:var(--text);
  padding:14px;                  /* ↓ */
  border:1px solid var(--line)
}
dialog::backdrop{background:rgba(0,0,0,.5)}

/* Opcional: compactar aún más en pantallas grandes */
@media (min-width: 992px){
  .wrap{padding-bottom:36px}
  .title{font-size:clamp(34px, 4.6vw, 56px)} /* ↓ un poco más compacto en desktop */
}

