/* Final application geometry. The document never scrolls; only intentional
   content surfaces such as conversations, lists, and module workspaces do. */
html:has(body.console-body),
html:has(body.system-auth-body),
body.console-body,
body.system-auth-body {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: hidden !important;
  overscroll-behavior: none;
}

body.console-body .console-app-shell,
body.console-body .console-app-shell > .live-console {
  width: 100%;
  height: 100dvh !important;
  min-height: 0 !important;
  max-height: 100dvh;
  overflow: hidden !important;
}

body.console-body .console-primary-nav {
  position: relative;
  top: auto;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

body.console-body .console-primary-nav__routes {
  display: grid;
  min-height: 0;
  grid-auto-rows: minmax(2.85rem, 1fr);
  align-content: stretch;
  overflow: hidden;
}

body.console-body .console-route {
  min-height: 0;
}

body.console-body .console-view.is-active,
body.console-body .console-view--chat.is-active {
  min-height: 0;
  height: 100%;
  max-height: 100%;
  overflow: hidden !important;
}

body.console-body .console-module.is-active,
body.console-body .live-chat,
body.console-body .conversation-list,
body.console-body .project-list,
body.console-body .forum-post-list,
body.console-body .forum-thread,
body.console-body .mcp-server-list,
body.console-body .mcp-tool-panel {
  min-height: 0;
  overscroll-behavior: contain;
}

body.console-body .console-module.is-active,
body.console-body .live-chat,
body.console-body .conversation-list,
body.console-body .project-list {
  overflow-y: auto;
}

body.console-body .console-module.is-active,
body.console-body .live-chat {
  scrollbar-gutter: stable;
}

body.system-auth-body .system-auth.minimal-auth {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  max-height: 100dvh;
  overflow: hidden !important;
}

body.system-auth-body .minimal-auth__panel,
body.system-auth-body .system-dialog,
body.system-auth-body .system-dialog__panel {
  max-height: calc(100dvh - 1rem);
  overflow: hidden !important;
}

@media (min-width: 961px) and (max-width: 1180px) {
  body.console-body .console-app-shell {
    grid-template-columns: 10.5rem minmax(0, 1fr);
  }

  body.console-body .console-primary-nav {
    gap: 0.7rem;
    padding-inline: 0.62rem;
  }

  body.console-body .console-primary-nav__routes {
    gap: 0.12rem;
  }

  body.console-body .console-route {
    min-height: 2.85rem;
    padding: 0.38rem 0.45rem;
  }

  body.console-body .console-view--chat.is-active {
    grid-template-columns: 12rem minmax(0, 1fr);
  }
}

@media (max-width: 960px) {
  body.console-body .console-app-shell {
    display: block;
  }

  body.console-body .console-app-shell > .live-console {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }

  body.console-body .console-module.is-active {
    height: 100%;
    max-height: 100%;
  }

  body.console-body .project-rail {
    height: 100dvh;
    max-height: 100dvh;
  }

  body.console-body .project-rail__close {
    display: grid;
  }
}

@media (min-width: 961px) {
  body.console-body .project-rail__close {
    display: none;
  }
}

@media (orientation: landscape) and (max-height: 520px) and (max-width: 960px) {
  body.console-body[data-console-route="chat"] .console-topbar {
    display: none !important;
  }

  body.console-body .console-app-shell > .live-console {
    grid-template-rows: minmax(0, 1fr);
  }

  body.console-body .console-view--chat.is-active {
    grid-template-rows: auto minmax(0, 1fr) auto;
  }

  body.console-body .live-input {
    max-height: 5.8rem;
  }

  body.console-body .project-rail {
    grid-template-rows: auto auto minmax(3.9rem, 0.72fr) minmax(4.8rem, 1fr) auto;
    padding: max(0.25rem, env(safe-area-inset-top)) 0.65rem max(0.2rem, env(safe-area-inset-bottom));
  }

  body.console-body .project-rail__header {
    min-height: 2.35rem;
    padding: 0 0.18rem 0.28rem;
  }

  body.console-body .project-rail-search {
    margin-block: 0 0.25rem;
  }

  body.console-body .project-rail-search input {
    min-height: 2.1rem;
    height: 2.1rem;
  }

  body.console-body .project-rail__section {
    padding: 0.32rem 0.08rem 0.2rem;
  }

  body.console-body .project-rail__section-title {
    min-height: 1.65rem;
    padding-bottom: 0.2rem;
  }

  body.console-body .project-guide {
    max-height: 4.7rem;
    margin-bottom: 0.25rem;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 0.45rem;
  }

  body.console-body .project-rail__footer {
    gap: 0;
    padding: 0.2rem 0.12rem 0;
  }

  body.console-body .project-rail__quota {
    display: none;
  }

  body.console-body .project-rail-account {
    min-height: 2.75rem;
  }

  body.system-auth-body .system-auth.minimal-auth {
    padding-block: max(0.3rem, env(safe-area-inset-top)) max(0.3rem, env(safe-area-inset-bottom));
  }

  body.system-auth-body .minimal-auth__panel {
    max-height: calc(100dvh - 0.6rem);
  }
}

@media (orientation: portrait) and (max-width: 680px) {
  body.system-auth-body .system-auth.minimal-auth {
    place-items: center;
  }

  body.system-auth-body .minimal-auth__panel {
    align-self: center;
    margin: 0;
    max-height: calc(100dvh - 1.3rem);
  }
}

@media (max-height: 430px) and (orientation: landscape) {
  body.system-auth-body .minimal-auth__panel {
    grid-template-columns: minmax(7.5rem, 0.58fr) minmax(16rem, 1.42fr);
    gap: 0.12rem 0.7rem;
    padding: 0.42rem 0.62rem;
  }

  body.system-auth-body .minimal-auth__panel .system-login-form {
    gap: 0.24rem;
  }

  body.system-auth-body .minimal-auth__panel .system-login-form input,
  body.system-auth-body .minimal-auth__panel .button {
    min-height: 2.05rem;
  }
}
