:root{
  --bg:#0f172a; --panel:#111827; --muted:#94a3b8; --text:#e5e7eb; --accent:#22c55e;
}
*{box-sizing:border-box}
body{
  margin:0; font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto;
  background: radial-gradient(1200px 800px at 80% -200px, #1e293b 0%, var(--bg) 55%);
  color:var(--text); min-height:100svh; display:grid; place-items:center; padding:24px;
}
.card{
  width:min(760px,100%); background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.02));
  border:1px solid rgba(255,255,255,.08); border-radius:18px; padding:24px; box-shadow:0 20px 60px rgba(0,0,0,.35);
  backdrop-filter:blur(10px);
}
h1{margin:0 0 16px; font-weight:800; letter-spacing:-.02em}
.controls{display:flex; gap:10px; align-items:end; flex-wrap:wrap; margin-bottom:16px}
label{font-size:12px; color:var(--muted); display:block}
#search-input{
  padding:12px 14px; border-radius:12px; border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04); color:var(--text); outline:none; min-width:220px;
}
#search-input:focus{border-color:#38bdf8; box-shadow:0 0 0 3px rgba(56,189,248,.25)}
#search-button{
  appearance:none; border:none; background:var(--accent); color:#052e16; font-weight:800;
  padding:12px 16px; border-radius:12px; cursor:pointer; box-shadow:0 8px 20px rgba(34,197,94,.25);
}

.creature .header{display:flex; align-items:baseline; gap:10px}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.facts{display:flex; gap:16px; margin:8px 0 10px}
.types{display:flex; gap:8px; flex-wrap:wrap; margin:8px 0 14px}
.types .chip{padding:6px 10px; border:1px solid rgba(255,255,255,.14); border-radius:999px; font-size:12px}
.stats{display:grid; grid-template-columns: repeat(3, 1fr); gap:10px}
.stats > div{display:flex; justify-content:space-between; padding:10px 12px; border:1px dashed rgba(255,255,255,.12); border-radius:12px}
.stats span{color:var(--muted)}
