/* Research document base — valid, minimal, readable */

:root{
  --bg:#0b1020;
  --panel:#111827;
  --text:#e7ecf0;
  --muted:#a4b2cf;
  --ring:#283453;
  --accent:#7aa7ff;
  --radius:14px;
  --maxw: 900px;
}

*{ box-sizing:border-box; }
html{ font-size:16px; }
body{
  margin:0;
  background: radial-gradient(1000px 480px at 15% -10%, rgba(122,167,255,.12), transparent 60%), var(--bg);
  color:var(--text);
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  line-height:1.65;
}

a{ color:var(--accent); text-decoration:none; }
a:hover{ text-decoration:underline; }

.doc{
  width:min(var(--maxw), 92vw);
  margin: 3rem auto;
  background: var(--panel);
  border:1px solid var(--ring);
  border-radius: var(--radius);
  overflow:hidden;
  box-shadow: 0 10px 40px rgba(0,0,0,.35);
}

.doc__header{
  padding:1.25rem 1.35rem;
  border-bottom:1px solid var(--ring);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
}

h1{ margin:0; font-size:clamp(1.35rem, 2.6vw, 1.8rem); }
h2{ margin:1rem 0 .4rem; font-size:clamp(1.05rem, 2.2vw, 1.3rem); }

.doc__body{
  padding:1rem 1.35rem 1.25rem;
}

p{ margin:.5rem 0 1rem; color:var(--text); }
em{ color:var(--muted); }

.doc__footer{
  padding: .9rem 1.35rem 1.2rem;
  border-top:1px solid var(--ring);
  display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap;
}
.validators a{ color:var(--accent); }
