/* Terminal landing — hero из одного блока терминала */

.term-page {
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.term-main {
  flex: 1 1 auto;
  width: 100%;
  max-width: 1360px;
  margin: 0 auto;
  padding: clamp(2.5rem, 8vh, 5rem) clamp(1rem, 4vw, 2rem) clamp(2rem, 5vh, 3.5rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  box-sizing: border-box;
}

.term-full.terminal {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  opacity: 1;
  transform: none;
  animation: rise 0.9s var(--ease) 0.1s both;
}

.term-full .terminal-body {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  min-height: min(420px, 52vh);
  max-height: min(680px, 66vh);
  overflow-y: auto;
}

.term-full .msg,
.term-full .terminal-line,
.term-full .terminal-options,
.term-full .msg-out,
.term-full .msg-in,
.term-full .msg-system,
.term-full .msg-error {
  width: 100%;
  max-width: none;
  justify-self: stretch;
  align-self: stretch;
  box-sizing: border-box;
}

.term-full .msg-out {
  justify-self: stretch;
}

.term-full .msg-system {
  font-size: clamp(0.95rem, 1.5vw, 1.1rem);
  line-height: 1.55;
}

.term-full .msg:not(.msg-system) {
  font-size: clamp(1rem, 1.6vw, 1.2rem);
}

.term-full .terminal-line {
  width: 100%;
}

.term-full .terminal-options {
  display: flex;
  flex-wrap: wrap;
}

@media (min-width: 900px) {
  .term-page .nav-desktop,
  .term-page .header-cta {
    display: inline-flex;
  }

  .term-page .nav-toggle,
  .term-page .mobile-nav {
    display: none !important;
  }
}

@media (max-width: 899px) {
  .term-full .msg,
  .term-full .msg-system,
  .term-full .terminal-line {
    font-size: 1rem;
  }

  .term-full .terminal-option {
    font-size: 0.9rem;
    height: 38px;
    max-height: 38px;
  }
}
