@font-face {
  font-family: 'IBM Plex Mono';
  src: url('fonts/ibm-plex-mono.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  color-scheme: light;
  --ground: #e9eeef;
  --ink: #293b40;
  --quiet: #607479;
}

* { box-sizing: border-box; }
html, body { margin: 0; width: 100%; height: 100%; }
body {
  background: var(--ground);
  color: var(--ink);
  font-family: 'IBM Plex Mono', monospace;
  -webkit-font-smoothing: antialiased;
}
main { position: relative; width: 100%; height: 100%; overflow: hidden; }
canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none;
  -webkit-tap-highlight-color: transparent;
}
.signature {
  position: absolute;
  left: clamp(28px, 5vw, 80px);
  bottom: clamp(42px, 7.5vh, 80px);
  pointer-events: none;
  display: grid;
  grid-template-columns: auto auto;
  column-gap: 16px;
  align-items: center;
}
.brand-mark {
  grid-row: 1 / 3;
  width: clamp(36px, 4vw, 52px);
  height: auto;
}
.signature h1, .signature p { grid-column: 2; }
h1 {
  margin: 0;
  font-size: clamp(27px, 3vw, 43px);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -0.065em;
}
p {
  margin: 13px 0 0 2px;
  color: var(--quiet);
  font-size: 12px;
  line-height: 1.6;
  letter-spacing: 0.015em;
}
@media (max-width: 600px) {
  .signature { bottom: max(44px, env(safe-area-inset-bottom)); }
  p { margin-top: 10px; font-size: 11px; }
}
