/* ============================================================
   INSTALL TERMINAL: animated integration check
   Always dark panel. Reads on light and dark page backgrounds.
   ============================================================ */

/* ---- Section layout ---- */
#install .head { max-width: 680px; }

/* ---- Terminal window ---- */
.trm-wrap {
  max-width: 820px;
  margin: 0 auto;
  background: #050b1f;
  border-radius: var(--r-xl);
  border: 1px solid rgba(33, 188, 238, .18);
  box-shadow:
    0 40px 100px -32px rgba(0, 0, 0, .85),
    0 0 0 1px rgba(33, 188, 238, .06) inset,
    0 1px 0 rgba(255, 255, 255, .05) inset;
  overflow: hidden;
}

/* ---- Title bar ---- */
.trm-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 11px 16px;
  background: rgba(255, 255, 255, .035);
  border-bottom: 1px solid rgba(255, 255, 255, .06);
}
.trm-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: none;
}
.trm-dot-r { background: rgba(255, 100,  80, .45); }
.trm-dot-y { background: rgba(255, 195,  50, .35); }
.trm-dot-c { background: rgba( 33, 188, 238, .35); }
.trm-bar-title {
  font-family: var(--font-mono);
  font-size: .5625rem;
  color: rgba(255, 255, 255, .28);
  margin: 0 auto;
  letter-spacing: .06em;
}

/* ---- Body ---- */
.trm-body {
  padding: clamp(22px, 4%, 36px) clamp(22px, 5%, 44px) clamp(26px, 4%, 40px);
  font-family: var(--font-mono);
  font-size: clamp(.75rem, calc(.65rem + .35vw), .9375rem);
  line-height: 1.0;
}

/* ---- Command line ---- */
.trm-cmd-line {
  display: flex;
  align-items: baseline;
  gap: 9px;
  margin-bottom: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  opacity: 1;
  transform: none;
  transition: opacity .4s var(--ease), transform .4s var(--ease);
}
.trm-wrap.trm-js .trm-cmd-line {
  opacity: 1;
  transform: none;
}
.trm-cmd-line.in,
.trm-wrap.trm-js .trm-cmd-line.in {
  opacity: 1;
  transform: none;
}
.trm-prompt {
  color: #21BCEE;
  font-weight: 700;
  font-size: 1.05em;
  flex: none;
  user-select: none;
}
.trm-cmd-text {
  color: rgba(255, 255, 255, .85);
}
.trm-flag {
  color: rgba(33, 188, 238, .7);
}
.trm-key {
  color: rgba(135, 142, 160, .6);
  letter-spacing: .04em;
}

/* ---- Check lines ---- */
.trm-checks {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.trm-check-line {
  display: flex;
  align-items: baseline;
  gap: 10px;
  opacity: 1;
  transform: none;
  transition: opacity .32s var(--ease), transform .32s var(--ease);
}
.trm-wrap.trm-js .trm-check-line {
  opacity: 0;
  transform: translateX(-6px);
}
.trm-check-line.in,
.trm-wrap.trm-js .trm-check-line.in {
  opacity: 1;
  transform: none;
}
.trm-icon {
  color: #21BCEE;
  font-size: .85em;
  flex: none;
  width: 14px;
  text-align: center;
  display: inline-block;
  transform: scale(1);
  transition: transform .3s var(--ease) .1s;
}
.trm-wrap.trm-js .trm-icon {
  transform: scale(0);
}
.trm-check-line.in .trm-icon,
.trm-wrap.trm-js .trm-check-line.in .trm-icon {
  transform: scale(1);
}
.trm-label {
  color: rgba(255, 255, 255, .8);
}
.trm-muted {
  color: rgba(135, 142, 160, .65);
}
/* Linux/systemd-style green [  OK  ] — recognisable to the dev community */
.trm-ok {
  font-family: var(--font-mono);
  font-weight: 700;
  letter-spacing: .04em;
  color: #2ecc56;
  white-space: pre;   /* keeps [  OK  ] intact; leading nbsp glues it to the line */
}

/* ---- Summary line ---- */
.trm-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding: 13px 18px;
  background: rgba(33, 188, 238, .09);
  border: 1px solid rgba(33, 188, 238, .22);
  border-radius: var(--r-md);
  flex-wrap: wrap;
  opacity: 1;
  transition: opacity .6s var(--ease);
}
.trm-wrap.trm-js .trm-summary {
  opacity: 0;
}
.trm-summary.in,
.trm-wrap.trm-js .trm-summary.in {
  opacity: 1;
}
.trm-sum-check {
  color: #21BCEE;
  font-size: 1em;
  font-weight: 700;
  flex: none;
}
.trm-sum-text {
  color: rgba(255, 255, 255, .78);
  font-size: .875em;
}
.trm-sum-sep {
  color: rgba(135, 142, 160, .4);
  font-size: .875em;
  user-select: none;
}
.trm-sum-accent {
  color: #21BCEE;
  font-weight: 700;
  font-size: .875em;
}

/* ---- Reduced motion: everything visible immediately ---- */
@media (prefers-reduced-motion: reduce) {
  .trm-cmd-line,
  .trm-check-line,
  .trm-icon,
  .trm-summary {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ---- Mobile ---- */
@media (max-width: 480px) {
  .trm-body {
    padding: 18px 18px 22px;
  }
  .trm-cmd-line {
    flex-wrap: wrap;
    gap: 5px;
  }
}
