body {
  display: flex;
  justify-content: center;
}

.app-shell {
  width: min(100vw, 430px);
  height: 100dvh;
  position: relative;
  background: linear-gradient(165deg, rgba(16, 22, 36, 0.96), rgba(11, 16, 27, 0.99));
  border-left: 1px solid rgba(255, 255, 255, 0.05);
  border-right: 1px solid rgba(255, 255, 255, 0.05);
  box-shadow: var(--shadow);
  overflow: hidden;
}

.screen-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 118px;
  overflow-y: auto;
  padding: 14px 14px 24px;
}

.page-label-slot {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 74px;
  padding: 0 14px;
}

.toolbar-slot {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
  background: linear-gradient(180deg, rgba(10, 14, 23, 0) 0%, rgba(10, 14, 23, 0.95) 42%);
}

@media (min-width: 900px) {
  .app-shell {
    margin: 16px 0;
    height: calc(100dvh - 32px);
    border-radius: 24px;
  }
}
