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

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
}

html, body {
  background: var(--navy);
  min-height: 100vh;
  min-height: -webkit-fill-available;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Noto Sans SC', 'Segoe UI', Roboto, sans-serif;
  color: var(--ink);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1.6;
}

.phone-wrap {
  max-width: var(--screen-max);
  margin: 0 auto;
  background: var(--cream);
  min-height: 100vh;
  min-height: -webkit-fill-available;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 40px rgba(0,0,0,.08);
}

/* App container fills the phone-wrap */
#app {
  position: relative;
  z-index: 1;
}

/* Smooth scrollbar */
::-webkit-scrollbar { width: 0; height: 0; }

/* Selection */
::selection { background: var(--navy); color: #fff; }

/* Utilities */
.mt-6 { margin-top: 6px; }
.mt-8 { margin-top: 8px; }
.mt-10 { margin-top: 10px; }
.mt-12 { margin-top: 12px; }
.mt-16 { margin-top: 16px; }
.mt-20 { margin-top: 20px; }
.mb-8 { margin-bottom: 8px; }
.mb-12 { margin-bottom: 12px; }
.mb-16 { margin-bottom: 16px; }
.text-center { text-align: center; }
.flex-1 { flex: 1; }
.hide { display: none !important; }
