:root {
  color-scheme: light;
  --cream: #fff9ee;
  --brown: #3c2a15;
  --accent: #c8893d;
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
}

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  background:
    radial-gradient(ellipse at top, #fffaec 0%, var(--cream) 60%),
    var(--cream);
  color: var(--brown);
  font-family: ui-rounded, "SF Pro Rounded", "Avenir Next Rounded", -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
  padding: 24px 16px;
}

header {
  text-align: center;
  margin-bottom: 16px;
}

header h1 {
  margin: 0 0 6px;
  font-size: clamp(24px, 4vw, 36px);
  letter-spacing: -0.01em;
}

header h1 small {
  font-weight: 500;
  opacity: 0.65;
  font-size: 0.65em;
}

header .hint {
  margin: 0;
  font-size: 14px;
  opacity: 0.75;
}

canvas {
  border: 3px solid var(--brown);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(60, 42, 21, 0.18);
  max-width: 100%;
  height: auto;
  background: #87ceeb;
  touch-action: none;
}

footer {
  margin-top: 20px;
  font-size: 13px;
  opacity: 0.6;
}

footer p { margin: 0; }
