/* CLI 产品页：沿用站点色彩与排版，静态内容始终可读。 */
.page-cli .cli-hero-wrap {
  padding-top: calc(var(--header-space) + var(--space-8));
  background: radial-gradient(ellipse at 85% 25%, var(--blue-100), transparent 50%), linear-gradient(180deg, var(--blue-50), var(--c-bg));
}
.page-cli .cli-hero { display: grid; grid-template-columns: 1.08fr 1fr; align-items: center; gap: var(--space-8); padding-bottom: var(--space-8); }
.page-cli .cli-hero-copy { min-width: 0; }
.page-cli .cli-hero h1 { font-size: clamp(48px, 5.6vw, 74px); line-height: 1.12; letter-spacing: -.055em; }
.page-cli .cli-title-accent { color: var(--c-brand); }
.page-cli .cli-hero-lead { margin-top: var(--space-5); color: var(--c-text); font-size: var(--fs-xl); line-height: 1.75; }
.page-cli .cli-hero-description { margin-top: var(--space-3); color: var(--c-text-3); font-size: var(--fs-sm); }
.page-cli .cli-hero-copy > .cli-command { margin-top: var(--space-6); }
.page-cli .hero-actions { gap: var(--space-3); margin-top: var(--space-5); }
.page-cli .cli-command { position: relative; min-width: 0; }
.page-cli .cli-command-line { display: flex; align-items: center; gap: var(--space-3); min-width: 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--c-line-strong); border-radius: var(--r-sm); background: var(--c-surface); box-shadow: var(--shadow-xs); }
.page-cli .cli-command-line code { min-width: 0; flex: 1; font-size: var(--fs-sm); overflow-wrap: anywhere; }
.page-cli .cli-prompt { flex: none; color: var(--c-brand); font-family: var(--font-mono); font-weight: 600; }
.page-cli .cli-copy { flex: none; min-height: 36px; padding: var(--space-1) var(--space-3); border: 1px solid var(--c-line); border-radius: var(--r-xs); color: var(--c-brand-strong); background: var(--c-brand-soft); font-size: var(--fs-xs); font-weight: 600; transition: border-color var(--motion), background-color var(--motion); }
.page-cli .cli-copy:hover { border-color: var(--c-brand); background: var(--blue-100); }
.page-cli .cli-copy[aria-busy="true"] { cursor: wait; opacity: .7; }
.page-cli .cli-copy-status { margin: 0; color: var(--c-brand-strong); font-size: var(--fs-xs); }
.page-cli .cli-copy-status:not(:empty) { padding-top: var(--space-2); }
.page-cli .cli-command-note { margin-top: var(--space-2); color: var(--c-text-3); font-size: var(--fs-xs); }
.page-cli .cli-terminal { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--c-line-strong); border-radius: var(--r-lg); background: var(--c-surface); color: var(--c-text); box-shadow: var(--shadow-md); }
.page-cli .cli-hero-terminal { transform: rotate(1deg); }
.page-cli .cli-terminal-bar { display: flex; align-items: center; gap: var(--space-4); min-height: 48px; padding: var(--space-3) var(--space-5); border-bottom: 1px solid var(--c-line); background: var(--blue-50); color: var(--c-text-3); font-family: var(--font-mono); font-size: var(--fs-xs); }
.page-cli .cli-terminal-dots { display: flex; gap: 6px; }
.page-cli .cli-terminal-dots i { width: 7px; height: 7px; border: 1px solid var(--c-text-3); border-radius: var(--r-pill); }
.page-cli .cli-terminal-dots i:first-child { background: var(--c-text-3); }
.page-cli .cli-terminal-mark { margin-left: auto; color: var(--c-brand); }
.page-cli .cli-terminal-content { padding: var(--space-6); font-family: var(--font-mono); font-size: var(--fs-sm); }
.page-cli .cli-terminal-input { color: var(--c-text); }
.page-cli .cli-terminal-input > span:first-child { margin-right: var(--space-2); color: var(--c-brand); }
.page-cli .cli-terminal-brand { margin: var(--space-5) 0; color: var(--c-brand); font-size: var(--fs-2xl); font-weight: 600; }
.page-cli .cli-terminal-brand span { margin-left: var(--space-2); color: var(--c-text-3); font-size: var(--fs-xs); font-weight: 400; }
.page-cli .cli-terminal-commands { margin: 0; }
.page-cli .cli-terminal-commands > div { display: grid; grid-template-columns: 88px 1fr; gap: var(--space-4); padding: 5px 0; }
.page-cli .cli-terminal-commands dt { color: var(--c-brand); }
.page-cli .cli-terminal-commands dd { margin: 0; color: var(--c-text-2); }
.page-cli .cli-terminal-last { margin-top: var(--space-5); }
.page-cli .cli-cursor { display: inline-block; width: 8px; height: 16px; vertical-align: -.15em; background: var(--c-brand); }
.page-cli .cli-terminal figcaption { padding: var(--space-3) var(--space-5); border-top: 1px solid var(--c-line); background: var(--blue-50); color: var(--c-text-3); font-size: var(--fs-xs); }
.page-cli .cli-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--c-line-strong); border-bottom: 1px solid var(--c-line-strong); }
.page-cli .cli-highlights p { display: grid; gap: var(--space-1); padding: var(--space-5) 0; }
.page-cli .cli-highlights p + p { margin-left: var(--space-5); padding-left: var(--space-5); border-left: 1px solid var(--c-line-strong); }
.page-cli .cli-highlights strong { font-size: var(--fs-sm); }
.page-cli .cli-highlights span { color: var(--c-text-3); font-size: var(--fs-xs); }
.page-cli .cli-section { margin-block: var(--section-gap); }
.page-cli .section-head { gap: var(--space-5); }
.page-cli .section-head h2 { font-size: clamp(28px, 3.1vw, 38px); }
.page-cli .cli-install-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: var(--space-5); }
.page-cli .cli-install-option { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); min-width: 0; padding: var(--space-6); border: 1px solid var(--c-line-strong); border-radius: var(--r-lg); background: var(--c-surface); }
.page-cli .cli-install-option + .cli-install-option { background: var(--blue-50); }
.page-cli .cli-install-option > p:not(.cli-step) { color: var(--c-text-2); font-size: var(--fs-sm); }
.page-cli .cli-step { color: var(--c-brand); font-family: var(--font-mono); font-size: var(--fs-xs); }
.page-cli .cli-install-option h3 { font-size: var(--fs-2xl); }
.page-cli .cli-install-option > .cli-command { width: 100%; }
.page-cli .cli-install-option > a:last-child { margin-top: var(--space-1); }
.page-cli .cli-install-steps { display: grid; gap: var(--space-5); width: 100%; min-width: 0; margin: var(--space-2) 0; padding: 0; list-style: none; counter-reset: install-step; }
.page-cli .cli-install-steps li { min-width: 0; counter-increment: install-step; }
.page-cli .cli-install-steps h4 { display: flex; align-items: center; gap: var(--space-2); font-size: var(--fs-sm); font-weight: 600; }
.page-cli .cli-install-steps h4::before { content: counter(install-step, decimal-leading-zero); color: var(--c-brand); font-family: var(--font-mono); font-size: var(--fs-xs); }
.page-cli .cli-install-steps li > p { margin-block: var(--space-2) var(--space-3); color: var(--c-text-3); font-size: var(--fs-sm); }
.page-cli .cli-install-steps .cli-command { width: 100%; min-width: 0; }
.page-cli .cli-install-help { width: 100%; padding-block: var(--space-3); border-block: 1px solid var(--c-line); font-size: var(--fs-sm); }
.page-cli .cli-install-help summary { color: var(--c-brand-strong); font-weight: 600; cursor: pointer; }
.page-cli .cli-install-help p { margin-top: var(--space-3); color: var(--c-text-2); }
.page-cli .cli-install-help code { overflow-wrap: anywhere; }
.page-cli .cli-install-note code, .page-cli .cli-faq-list code { overflow-wrap: anywhere; }
.page-cli .cli-platforms { display: grid; gap: var(--space-3); width: 100%; margin: 0; font-size: var(--fs-sm); }
.page-cli .cli-platforms > div { display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: var(--space-3); }
.page-cli .cli-platforms > div + div { padding-top: var(--space-3); border-top: 1px solid var(--c-line); }
.page-cli .cli-platforms dt { font-weight: 600; }
.page-cli .cli-platforms dt span { display: block; color: var(--c-text-3); font-size: var(--fs-xs); font-weight: 400; }
.page-cli .cli-platforms dd { display: grid; gap: var(--space-1); min-width: 0; margin: 0; color: var(--c-text-2); font-size: var(--fs-xs); }
.page-cli .cli-platforms code { overflow-wrap: anywhere; }
.page-cli .cli-run-examples { width: 100%; padding-block: var(--space-3); border-block: 1px solid var(--c-line); font-size: var(--fs-sm); }
.page-cli .cli-run-examples summary { color: var(--c-brand-strong); font-weight: 600; cursor: pointer; }
.page-cli .cli-run-examples > p { margin-top: var(--space-3); color: var(--c-text-2); }
.page-cli .cli-run-examples dl { display: grid; gap: var(--space-4); margin: var(--space-4) 0 0; }
.page-cli .cli-run-examples dt { margin-bottom: var(--space-1); color: var(--c-text-2); font-size: var(--fs-xs); }
.page-cli .cli-run-examples dd { margin: 0; }
.page-cli .cli-run-examples code { display: block; padding: var(--space-3); border: 1px solid var(--c-line); border-radius: var(--r-xs); background: var(--c-surface); font-size: var(--fs-xs); overflow-wrap: anywhere; }
.page-cli .cli-section-aside { color: var(--c-text-3); font-size: var(--fs-sm); }
.page-cli .cli-command-table-wrap { overflow-x: auto; border-top: 1px solid var(--c-line-strong); }
.page-cli .cli-command-table { width: 100%; text-align: left; font-size: var(--fs-sm); }
.page-cli .cli-command-table th, .page-cli .cli-command-table td { padding: var(--space-5) var(--space-4); border-bottom: 1px solid var(--c-line); vertical-align: top; }
.page-cli .cli-command-table thead th { padding-block: var(--space-3); color: var(--c-text-3); font-size: var(--fs-xs); font-weight: 500; }
.page-cli .cli-command-table tr > :first-child { padding-left: 0; white-space: nowrap; }
.page-cli .cli-command-table tr > :last-child { padding-right: 0; }
.page-cli .cli-command-table tbody th { font-weight: 600; }
.page-cli .cli-command-table tbody td:nth-child(2) { color: var(--c-brand-strong); white-space: nowrap; }
.page-cli .cli-command-table tbody td:last-child { min-width: 230px; color: var(--c-text-2); }
.page-cli .cli-table-note { margin-top: var(--space-5); color: var(--c-text-3); font-size: var(--fs-sm); }
.page-cli .cli-play-layout { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: var(--space-8); }
.page-cli .cli-play-copy { min-width: 0; }
.page-cli .cli-play-copy h2 { margin-bottom: var(--space-5); font-size: clamp(32px, 3.4vw, 44px); line-height: 1.25; }
.page-cli .cli-play-copy > p:not(.eyebrow) { margin-bottom: var(--space-4); color: var(--c-text-2); font-size: var(--fs-sm); }
.page-cli .cli-play-copy > p.cli-play-lead { color: var(--c-text); font-size: var(--fs-lg); }
.page-cli .cli-play-copy > p.cli-command-note { color: var(--c-text-3); font-size: var(--fs-xs); }
.page-cli .cli-game-content { padding: var(--space-6); }
.page-cli .cli-game-heading { color: var(--c-brand); font-size: var(--fs-sm); }
.page-cli .cli-game-map { margin: var(--space-5) 0; overflow-x: auto; color: var(--c-text-3); font-size: clamp(12px, 1.55vw, 18px); line-height: 1.7; white-space: pre; }
.page-cli .cli-map-player, .page-cli .cli-map-route, .page-cli .cli-map-goal { color: var(--c-brand); font-weight: 600; }
.page-cli .cli-map-cache { color: var(--c-text); }
.page-cli .cli-map-hazard { color: var(--c-brand-strong); text-decoration: underline wavy; }
.page-cli .cli-game-legend { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2) var(--space-3); margin: 0; font-size: var(--fs-xs); }
.page-cli .cli-game-legend > div { display: flex; gap: var(--space-3); }
.page-cli .cli-game-legend dt { width: 2ch; color: var(--c-brand); font-family: var(--font-mono); }
.page-cli .cli-game-legend dd { margin: 0; color: var(--c-text-2); }
.page-cli .cli-game-controls { display: flex; align-items: center; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--c-line); color: var(--c-text-3); font-size: var(--fs-xs); }
.page-cli .cli-game-controls kbd { color: var(--c-text-2); }
.page-cli .cli-faq-section { display: grid; grid-template-columns: .7fr 1.3fr; gap: var(--space-8); }
.page-cli .cli-faq-heading h2 { margin-bottom: var(--space-5); font-size: clamp(28px, 3vw, 36px); line-height: 1.35; }
.page-cli .cli-faq-list { border-top: 1px solid var(--c-line-strong); }
.page-cli .cli-faq-list details { border-bottom: 1px solid var(--c-line-strong); }
.page-cli .cli-faq-list summary { padding: var(--space-5) var(--space-2); cursor: pointer; font-size: var(--fs-base); font-weight: 600; }
.page-cli .cli-faq-list summary::marker { color: var(--c-brand); }
.page-cli .cli-faq-list details[open] summary { color: var(--c-brand-strong); }
.page-cli .cli-faq-list details > div { padding: 0 var(--space-2) var(--space-5); color: var(--c-text-2); font-size: var(--fs-sm); line-height: 1.85; }
.page-cli .cli-contribute { display: flex; align-items: center; justify-content: space-between; gap: var(--space-7); padding-top: var(--space-7); border-top: 1px solid var(--c-line-strong); }
.page-cli .cli-contribute h2 { font-size: clamp(26px, 2.8vw, 34px); }
.page-cli .cli-contribute p:not(.eyebrow) { margin-top: var(--space-4); color: var(--c-text-3); font-size: var(--fs-sm); }
.page-cli .cli-resource-links { display: grid; gap: var(--space-3); flex: 0 0 220px; }
.page-cli .cli-resource-links a { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-2); font-size: var(--fs-sm); }

@media (max-width: 1024px) {
  .page-cli .cli-hero, .page-cli .cli-play-layout { gap: var(--space-6); }
  .page-cli .cli-terminal-content, .page-cli .cli-game-content { padding: var(--space-5); }
  .page-cli .cli-hero-lead { font-size: var(--fs-lg); }
  .page-cli .cli-install-option { padding: var(--space-5); }
  .page-cli .cli-faq-section { gap: var(--space-6); }
  .page-cli .cli-hero-wrap { padding-top: calc(var(--header-space) + var(--space-7)); }
  .page-cli .cli-hero { grid-template-columns: 1fr; gap: var(--space-7); padding-bottom: var(--space-7); }
  .page-cli .cli-hero-copy { max-width: 560px; }
  .page-cli .cli-hero h1 { font-size: clamp(48px, 9vw, 68px); }
  .page-cli .cli-hero-terminal { width: 100%; max-width: 560px; justify-self: end; transform: none; }
  .page-cli .cli-terminal-content { padding: var(--space-6); }
  .page-cli .cli-play-layout { grid-template-columns: 1fr; gap: var(--space-6); }
  .page-cli .cli-game-terminal { width: 100%; max-width: 560px; }
  .page-cli .cli-game-map { font-size: clamp(12px, 3.3vw, 18px); }
  .page-cli .cli-faq-section { grid-template-columns: 1fr; }
  .page-cli .cli-faq-heading h2 br { display: none; }
  .page-cli .cli-install-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .page-cli .cli-hero h1 { letter-spacing: -.045em; }
  .page-cli .cli-hero-description br { display: none; }
  .page-cli .cli-highlights { grid-template-columns: 1fr; }
  .page-cli .cli-highlights p { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--space-2) var(--space-4); padding-block: var(--space-4); }
  .page-cli .cli-highlights p + p { margin: 0; padding-left: 0; border-left: 0; border-top: 1px solid var(--c-line); }
  .page-cli .cli-highlights strong { min-width: 112px; }
  .page-cli .cli-command-line { gap: var(--space-2); padding: var(--space-2) var(--space-3); }
  .page-cli .cli-command-line code { font-size: var(--fs-xs); }
  .page-cli .cli-copy { padding-inline: var(--space-2); }
  .page-cli .cli-terminal-content { padding: var(--space-5); }
  .page-cli .cli-terminal-commands > div { grid-template-columns: 76px 1fr; gap: var(--space-3); }
  .page-cli .cli-terminal-commands { font-size: var(--fs-xs); }
  .page-cli .cli-terminal-brand span { margin-left: 0; }
  .page-cli .cli-terminal-bar { padding-inline: var(--space-4); }
  .page-cli .cli-game-content { padding: var(--space-4); }
  .page-cli .cli-game-legend { gap: var(--space-2); }
  .page-cli .cli-install-option { padding: var(--space-5) var(--space-4); }
  .page-cli .cli-contribute { flex-direction: column; align-items: stretch; gap: var(--space-5); }
  .page-cli .cli-resource-links { flex-basis: auto; }
}
