* { box-sizing: border-box; }

html,
body {
  margin: 0;
  padding: 0;
  background: #fff;
  height: 100%;
  overflow: hidden;
}

body {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
}

.stage {
  position: relative;
  width: min(1080px, 100vw);
  aspect-ratio: 1080 / 440;
  margin: 0 auto;
  user-select: none;
  -webkit-user-select: none;
}

.character {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}

.mouth-hitbox {
  position: absolute;
  /* Tuned to character image — adjust against actual yachi8000.JPG framing. */
  top: 35%;
  left: 50%;
  width: 6%;
  height: 5%;
  transform: translateX(-50%);
  pointer-events: none;
  /* outline: 1px dashed red; */ /* dev only — uncomment to verify hitbox */
}

.ramen {
  position: absolute;
  left: 50%;
  bottom: -30%;
  transform: translate(-50%, 0);
  width: 10%;
  height: auto;
  cursor: grab;
  touch-action: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  will-change: left, top;
}

.ramen.dragging {
  cursor: grabbing;
  /* When dragging, JS sets left/top in pixels relative to .stage,
     so disable the centering transform. */
  transform: none;
  bottom: auto;
}
