@font-face {
  font-family: 'DM Sans';
  src: url('./assets/fonts/dm-sans-latin.woff2') format('woff2');
  font-weight: 100 1000;
  font-display: swap;
}
* {
  box-sizing: border-box;
  scrollbar-width: none;
}
/* The outer demo iframe must not add a scrollbar beside the phone either. */
*::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
body {
  margin: 0;
  font-family: 'DM Sans', system-ui, sans-serif;
  color: #4d5449;
  background: #f2f2ed;
}
.demo-stage {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px 12px 16px;
}
.demo-heading {
  display: flex;
  justify-content: center;
  padding-bottom: 22px;
  font-size: 11px;
}
.demo-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #d5ddce;
  border-radius: 30px;
  background: #e9ede3;
  padding: 5px 9px;
  color: #526147;
  font-weight: 600;
}
.demo-badge i {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #748862;
}
.phone-space {
  position: relative;
  --scale: 0.9;
  width: calc(406px * var(--scale));
  height: calc(832px * var(--scale));
}
.phone {
  width: 406px;
  height: 832px;
  padding: 6px;
  border: 2px solid #777b72;
  border-radius: 47px;
  background: #202420;
  box-shadow:
    0 25px 40px -20px #29312350,
    0 0 0 1px #20231f;
  transform: scale(var(--scale));
  transform-origin: top left;
}
.phone::before,
.phone::after {
  content: '';
  position: absolute;
  background: #656b60;
  width: 3px;
  border-radius: 2px;
}
.phone::before {
  left: -5px;
  top: 140px;
  height: 45px;
}
.phone::after {
  right: -5px;
  top: 110px;
  height: 70px;
}
.phone-status {
  height: 42px;
  padding: 10px 26px 5px;
  background: #fff8ef;
  border-radius: 37px 37px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #3f2c24;
  font-size: 13px;
  font-weight: 650;
}
.camera {
  position: absolute;
  top: 20px;
  left: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #171c18;
  box-shadow: inset 0 0 0 3px #292f29;
}
.status-right {
  display: flex;
  align-items: center;
  gap: 5px;
}
.status-right svg {
  width: 18px;
  height: 12px;
  fill: currentColor;
}
.status-right svg:last-child {
  width: 25px;
}
#rumi-app {
  display: block;
  width: 390px;
  height: 750px;
  border: 0;
  background: #fff8ef;
}
.phone-home {
  height: 24px;
  border-radius: 0 0 37px 37px;
  background: #fff8ef;
  display: grid;
  place-items: center;
}
.phone-home span {
  width: 104px;
  height: 4px;
  border-radius: 5px;
  background: #3f2c24;
}
.phone[data-mode='dark'] .phone-status,
.phone[data-mode='dark'] .phone-home {
  background: #171615;
  color: #f1e9df;
}
.phone[data-mode='dark'] .phone-home span {
  background: #f1e9df;
}
.demo-footer {
  max-width: 350px;
  padding-top: 20px;
}
.demo-footer p {
  margin: 0;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  color: #73796d;
}
@media (max-width: 420px) {
  .demo-stage {
    padding: 18px 9px 10px;
  }
  .demo-heading {
    padding-bottom: 18px;
    font-size: 10px;
  }
  .demo-footer {
    padding-top: 18px;
  }
}
