* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

input, textarea, [contenteditable] { user-select: text; -webkit-user-select: text; }

body {
  font-family: var(--font-main);
  background: #F5F0EB;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 24px;
}

.phone {
  width: var(--phone-w);
  height: var(--phone-h);
  background: var(--bg);
  border-radius: 48px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 0 0 3px #E0D5CC, 0 0 0 6px #D0C5BB, 0 25px 80px rgba(0,0,0,0.2);
}

.screen {
  position: absolute; inset: 0;
  background: var(--bg);
  overflow-y: auto; overflow-x: hidden;
  padding-bottom: var(--tab-h);
  display: none;
  -webkit-overflow-scrolling: touch;
  font-family: var(--font-main);
}
.screen::-webkit-scrollbar { display: none; }
.screen.active { display: block; }

img { display: block; max-width: 100%; height: auto; }

html, body { overflow-x: hidden; }

@media (max-width: 480px) {
  body {
    padding: 0;
    background: var(--bg);
    min-height: auto;
  }
  .phone {
    width: 100%;
    max-width: 100vw;
    height: 100vh;
    height: 100dvh;
    border-radius: 0;
    box-shadow: none;
  }
  .screen {
    padding-bottom: calc(var(--tab-h) + env(safe-area-inset-bottom, 0px));
  }
}
