@layer components {
  body:has(.chat) {
    height: 100dvh;

    main {
      flex: 1;
      display: flex;
      flex-direction: column;
      min-height: 0;

      > .container {
        flex: 1;
        display: flex;
        flex-direction: column;
        min-height: 0;
        padding: 0;
        max-width: 100%;

        @media (min-width: 768px) {
          padding: 0 12px;
          max-width: var(--main-width);
        }
      }
    }

    footer {
      padding: 4px 0 !important;
      background: var(--color-canvas) !important;
      border-top: var(--border);

      .order-2 { display: none; }

      a {
        color: var(--color-ink-medium) !important;
        font-size: var(--text-xx-small) !important;
      }
    }

    @media (max-width: 767.98px) {
      footer { display: none !important; }
      main > .container { margin-block-start: 0 !important; }
    }
  }

  .chat {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
  }

  .chat__messages {
    flex: 1;
    min-height: 0;
    overflow-y: auto;
    padding: var(--block-space);
    background-color: var(--color-ink-lightest);
  }

  .chat__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--color-ink-medium);
    padding: var(--block-space-double);
  }
}
