* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }
body {
  background: #3a1109;
  font-family: 'Hanken Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  color: #3a1109;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
input, button, textarea { font-family: inherit; }
input { font-family: 'Hanken Grotesk', sans-serif; }
::placeholder { color: #c4a594; }
button { cursor: pointer; }
a { color: inherit; }

/* hidden scrollbars (matches the prototype's .scrl) */
.scrl { scrollbar-width: none; }
.scrl::-webkit-scrollbar { display: none; }

@keyframes pop { 0% { transform: scale(.96); } 60% { transform: scale(1.02); } 100% { transform: scale(1); } }
@keyframes spin { to { transform: rotate(360deg); } }

/* phone-width column, centred on the dark backdrop for desktop; full-bleed on mobile */
#app {
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
  height: 100dvh;
  position: relative;
  overflow: hidden;
  background: #F4D9C6;
  box-shadow: 0 0 60px rgba(0, 0, 0, .35);
}
.boot-splash { height: 100%; background: #F4D9C6; }
