/* Overlore coming-soon — intentionally plain; a canvas to restyle. */
:root{
  --bg:#12100f; --bg2:#1b1713; --ink:#ece4d6; --muted:#b7a98f;
  --accent:#d9a441; --line:rgba(255,255,255,.12);
}
*{box-sizing:border-box}
html,body{margin:0}
body{
  background:radial-gradient(1200px 600px at 50% -10%, #241d16 0%, var(--bg) 60%);
  color:var(--ink);
  font-family:"EB Garamond", Georgia, serif;
  line-height:1.6;
  min-height:100svh;
  display:flex; align-items:center; justify-content:center;
  padding:2rem 1rem;
}
.wrap{ width:100%; max-width:640px; text-align:center }
.wordmark{
  font-family:"Cinzel", serif; font-weight:700; letter-spacing:.12em;
  font-size:clamp(2.6rem,9vw,4.4rem); margin:0;
  text-shadow:0 1px 0 rgba(0,0,0,.5);
}
.tagline{
  color:var(--muted); font-style:italic;
  font-size:clamp(1rem,3.2vw,1.25rem); margin:.4rem 0 2.2rem;
}
.bard{ margin:0 auto 2rem }
.bard-portrait{
  width:min(240px,55vw); height:auto; display:block; margin:0 auto 1.2rem;
  border-radius:12px; filter:drop-shadow(0 8px 24px rgba(0,0,0,.5));
}
.greeting{
  margin:0 auto; max-width:46ch; text-align:left; white-space:pre-wrap;
  font-size:clamp(1.05rem,3vw,1.2rem);
  border-left:2px solid var(--accent); padding:.2rem 0 .2rem 1rem;
  min-height:8.5em;
}
.signup{ margin-top:1.6rem }
#join{ display:flex; gap:.5rem; flex-wrap:wrap; justify-content:center }
#email{
  flex:1 1 16rem; min-width:0; padding:.8rem 1rem; font:inherit; font-size:1rem;
  background:var(--bg2); color:var(--ink); border:1px solid var(--line); border-radius:10px;
}
#email:focus{ outline:2px solid var(--accent); outline-offset:1px }
button{
  padding:.8rem 1.4rem; font-family:"Cinzel",serif; font-weight:600; font-size:1rem; letter-spacing:.04em;
  background:var(--accent); color:#1a1205; border:0; border-radius:10px; cursor:pointer;
}
button:hover{ filter:brightness(1.07) }
button:disabled{ opacity:.6; cursor:default }
.note{ min-height:1.4em; margin:.9rem 0 0; color:var(--muted) }
.note.ok{ color:var(--accent) }
.note.err{ color:#e58a7a }
.foot{ margin-top:2.6rem; color:var(--muted); font-size:.85rem; letter-spacing:.08em }
.sr-only{ position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0 }
@media (prefers-reduced-motion: reduce){ *{animation:none!important; transition:none!important} }
