/* The command-line page: a prose column like /credits/, plus shell blocks and
   the claim grid. Shell blocks are their own thing here (they scroll rather
   than wrap, because a wrapped command cannot be pasted). */

.cli {
  max-width: 820px;
  margin: 0 auto;
  padding: 10px 0 8px;
  font-size: var(--fs-md);
  line-height: 1.55;
}

.cli-head { padding-bottom: 6px; }
.cli-kicker {
  color: var(--accent);
  font-family: var(--font-mono);
  font-size: var(--fs-2xs);
  font-weight: 600;
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}
.cli h1 {
  margin-top: 4px;
  font-size: var(--fs-2xl);
  font-weight: 600;
  letter-spacing: -.01em;
}
.cli .lede { margin-top: 10px; color: var(--muted); }
.cli .lede strong { color: var(--ink); font-weight: 600; }

.cli h2 {
  margin: 30px 0 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid var(--line);
  font-size: var(--fs-lg);
  font-weight: 600;
}
.cli p + p { margin-top: 10px; }
.cli a { color: var(--accent); text-decoration: none; }
.cli a:hover { text-decoration: underline; }
.cli .note { margin-top: 10px; }
.cli .note a { color: var(--muted); text-decoration: underline; }
.cli .note a:hover { color: var(--accent); }

.cli code {
  padding: 1px 5px;
  border-radius: var(--radius-sm);
  background: var(--well);
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: .92em;
}

.cli-code {
  margin: 10px 0 0;
  padding: 12px 14px;
  overflow-x: auto;
  border: 1px solid var(--line-faint);
  border-radius: var(--radius-md);
  background: var(--well);
  line-height: 1.6;
}
.cli-code code {
  padding: 0;
  border-radius: 0;
  background: none;
  color: var(--dim);
  font-size: var(--fs-xs);
  white-space: pre;
}
/* The install block is the point of the page. */
.cli-install .cli-code {
  border-color: var(--accent-ring);
  background: var(--accent-soft);
}
.cli-install .cli-code code { color: var(--ink); font-size: var(--fs-sm); }

.cli-tools { margin: 0; }
.cli-tools dt {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  margin-top: 22px;
  font-weight: 600;
}
.cli-tools dt:first-child { margin-top: 12px; }
.cli-tools dt code {
  padding: 3px 8px;
  border: 1px solid var(--line);
  background: var(--panel-2);
  font-size: var(--fs-sm);
}
.cli-page-link {
  font-family: var(--font-mono);
  font-size: var(--fs-2xs);
  font-weight: 600;
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}
.cli-tools dd { margin: 8px 0 0; color: var(--muted); }

/* Every argument a tool takes, under that tool. */
.flags {
  width: 100%;
  margin-top: 12px;
  border-collapse: collapse;
  font-size: var(--fs-xs);
  text-align: left;
}
.flags th,
.flags td {
  padding: 5px 14px 5px 0;
  border-top: 1px solid var(--line-faint);
  font-weight: 400;
  vertical-align: baseline;
}
.flags thead th {
  border-top: 0;
  color: var(--dim);
  font-family: var(--font-mono);
  font-size: var(--fs-2xs);
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}
.flags tbody th,
.flags td:first-of-type { white-space: nowrap; }
.flags tbody th code { color: var(--ink); }
.flags code {
  padding: 0;
  background: none;
  font-size: var(--fs-xs);
}

.cli-claim-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-3);
  margin-top: 14px;
}
.cli-claim {
  padding: 14px 16px;
  border: 1px solid var(--line-faint);
  border-radius: var(--radius-md);
  background: var(--panel);
}
.cli-claim h3 {
  color: var(--ink);
  font-family: var(--font-mono);
  font-size: var(--fs-2xs);
  font-weight: 600;
  letter-spacing: var(--ls-caps);
  text-transform: uppercase;
}
.cli-claim p { margin-top: 8px; color: var(--muted); font-size: var(--fs-sm); }

@media (max-width: 700px) {
  .cli-claim-grid { grid-template-columns: minmax(0, 1fr); }
  .cli h1 { font-size: var(--fs-xl); }
  /* Three columns do not fit a phone: one block per argument instead. */
  .flags,
  .flags tbody,
  .flags tr,
  .flags th,
  .flags td { display: block; }
  .flags thead { display: none; }
  .flags tr { padding: 6px 0; border-top: 1px solid var(--line-faint); }
  .flags th,
  .flags td { padding: 0; border-top: 0; white-space: normal; }
  .flags td:first-of-type::before { content: 'default '; color: var(--dim); }
}
