============================================================
 NUMBER GUESSING GAME - Demo Run
============================================================

--- Round 1: Medium difficulty, secret=42, scripted guesses ---
  Guess:  50  -> Too high
  Guess:  25  -> Too low
  Guess:  37  -> Too low
  Guess:  45  -> Too high
  Guess:  41  -> Too low
  Guess:  42  -> Correct!
  Result: WON in 6 attempts

--- Round 2: Hard difficulty, secret=150, running out of attempts ---
  Guess: 100  -> Too low
  Guess: 175  -> Too high
  Guess: 125  -> Too low
  Guess: 160  -> Too high
  Guess: 155  -> Too high
  Out of attempts! The number was 150
  Result: LOST in 5 attempts

--- Difficulty settings ---
  easy     range=(1, 50), max_attempts=10
  medium   range=(1, 100), max_attempts=7
  hard     range=(1, 200), max_attempts=5

--- random module: confirming randint stays in range over many trials ---
  1000 random.randint(1,100) calls all within [1,100]: True

============================================================
 NOTE: this demo runs on a scripted guess sequence so it can run
 non-interactively; play_interactive() below shows the real input()-
 driven version meant for actual play.
============================================================
