/* Extra surfaces for agents and small utilities (extends site.css) */

.install-callout{
  max-width: calc(720px + 2 * var(--pad-x));
  margin: -12px auto 40px;
  padding: 0 var(--pad-x);
}

.install-callout-inner{
  background: var(--surface-dim, #f4f6f8);
  border: 1px solid var(--border, #d8dee6);
  border-left: 4px solid var(--accent, #16324f);
  border-radius: var(--radius, 6px);
  padding: 18px 20px 16px;
}

.install-kicker{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-faint, #6b7785);
  margin-bottom: 6px;
}

.install-title{
  font-size: 1.05rem;
  font-weight: 600;
  margin: 0 0 6px;
  color: var(--ink, #15202b);
}

.install-lead{
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--ink-muted, #3d4a57);
  line-height: 1.45;
}

.install-cmd{
  background: #0f1720;
  color: #e8eef5;
  border: 0;
  padding: 12px 14px;
  overflow-x: auto;
  font-size: 13px;
  border-radius: var(--radius, 6px);
  font-family: var(--font-mono);
  margin: 0 0 10px;
}

.install-cmd-primary{
  margin-bottom: 10px;
}

.install-cmd-label{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint, #6b7785);
  margin: 12px 0 6px;
}

.install-more{
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--ink-muted, #3d4a57);
}

.install-more a{
  color: var(--accent, #16324f);
  text-decoration: none;
  font-weight: 500;
}

.install-more a:hover{
  text-decoration: underline;
}

.agents-panel{
  max-width: 720px;
  margin: 0 auto 80px;
  padding: 0 var(--pad-x);
}

.agents-panel pre,
.agents-panel .install-cmd{
  background: #0f1720;
  color: #e8eef5;
  border: 0;
  padding: 14px 16px;
  overflow-x: auto;
  font-size: 13px;
  border-radius: var(--radius);
  font-family: var(--font-mono);
}

.filter-bar{
  max-width: calc(1040px + 2 * var(--pad-x));
  margin: 0 auto;
  padding: 8px var(--pad-x) 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.filter-bar label{
  font-size: 12px;
  color: var(--ink-faint);
  font-family: var(--font-mono);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.filter-bar select, .filter-bar input{
  font-size: 13px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 4px;
  background: #fff;
  color: var(--ink);
  font-family: var(--font-sans);
}

.btn-sm{ padding: 7px 12px; font-size: 12px; }

.empty-state{
  max-width: 640px;
  margin: 60px auto;
  text-align: center;
  padding: 0 24px;
}

.empty-state h2{ color: var(--ink); }
.empty-state p{ color: var(--ink-muted); }

/* ---------- install why / when / not-for ---------- */

.install-why{
  margin: 4px 0 10px;
}

.install-why-title{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint, #6b7785);
  margin-bottom: 6px;
}

.install-why-list{
  margin: 0;
  padding-left: 18px;
  font-size: 13.5px;
  color: var(--ink-muted, #3d4a57);
  line-height: 1.55;
}

.install-why-list li{ margin-bottom: 2px; }

.install-when,
.install-not-for{
  margin: 0 0 6px;
  font-size: 13px;
  color: var(--ink-muted, #3d4a57);
  line-height: 1.45;
}

.install-flag{
  display: inline-block;
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 7px;
  border-radius: 4px;
  margin-right: 8px;
  background: var(--accent-soft, #e8edf5);
  color: var(--accent, #16324f);
}

.install-not-for .install-flag{
  background: var(--accent-alt-soft, #f5ece8);
  color: var(--accent-alt, #b14a2c);
}

/* ---------- tutorials section (chapter index into a start book) ---------- */

.tutorials-section .section-lead{
  margin: 0 0 18px;
  font-size: 14.5px;
  color: var(--ink-muted, #3d4a57);
  max-width: 640px;
}

.tutorials-list{
  max-width: 680px;
}

/* ---------- journey (interactive sequence) ---------- */

.journey-section{ padding-top: 8px; }

.journey-toolbar{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
}

.journey-toolbar-label{
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-faint, #6b7785);
  margin-right: 4px;
}

.journey-filter{
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 500;
  padding: 6px 14px;
  border: 1px solid var(--border, #d8dee6);
  border-radius: 999px;
  background: #fff;
  color: var(--ink-muted, #3d4a57);
  cursor: pointer;
}

.journey-filter.active{
  background: var(--accent, #16324f);
  border-color: var(--accent, #16324f);
  color: #fff;
}

.journey-filter.alt.active{
  background: var(--accent-alt, #b14a2c);
  border-color: var(--accent-alt, #b14a2c);
}

.journey-seq{ margin-bottom: 48px; }

.journey-title{
  font-size: 24px;
  margin: 0 0 8px;
  color: var(--ink, #15202b);
}

.journey-lead{
  margin: 0 0 24px;
  font-size: 15px;
  color: var(--ink-muted, #3d4a57);
  max-width: 640px;
  line-height: 1.5;
}

.journey-steps{
  list-style: none;
  margin: 0;
  padding: 0;
  border-left: 2px solid var(--border-strong, #c3ccd6);
}

.journey-step{
  position: relative;
  margin: 0 0 6px;
  padding-left: 24px;
}

.journey-step::before{
  content: "";
  position: absolute;
  left: -7px;
  top: 16px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--accent, #16324f);
}

.journey-step.optional::before{
  background: #fff;
  border: 2px solid var(--border-strong, #c3ccd6);
}

.journey-step-head{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  padding: 10px 8px;
  border-radius: var(--radius, 6px);
  cursor: pointer;
  font-family: var(--font-sans);
}

.journey-step-head:hover{ background: var(--surface-dim, #f4f6f8); }

.journey-num{
  font-family: var(--font-mono);
  font-size: 12px;
  font-weight: 600;
  color: var(--accent, #16324f);
  min-width: 20px;
}

.journey-step.optional .journey-num{ color: var(--ink-faint, #6b7785); }

.journey-label{
  font-size: 15px;
  font-weight: 600;
  color: var(--ink, #15202b);
  flex: 1;
}

.journey-step.optional .journey-label{ color: var(--ink-muted, #3d4a57); }

.journey-flag{
  font-family: var(--font-mono);
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 2px 8px;
  border-radius: 4px;
  background: var(--accent-soft, #e8edf5);
  color: var(--accent, #16324f);
}

.journey-step.optional .journey-flag{
  background: var(--surface-dim, #f4f6f8);
  color: var(--ink-faint, #6b7785);
  border: 1px solid var(--border, #d8dee6);
}

.journey-panel{
  padding: 4px 8px 16px 32px;
}

.journey-summary{
  margin: 0 0 12px;
  font-size: 14px;
  color: var(--ink-muted, #3d4a57);
  line-height: 1.5;
  max-width: 620px;
}

.journey-links{
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.journey-link{
  font-size: 13px;
  font-weight: 600;
  padding: 7px 13px;
  border-radius: var(--radius, 6px);
  border: 1px solid var(--accent, #16324f);
  color: var(--accent, #16324f);
  background: #fff;
}

.journey-link:hover{
  background: var(--accent, #16324f);
  color: #fff;
}

.journey-link.alt{
  border-color: var(--accent-alt, #b14a2c);
  color: var(--accent-alt, #b14a2c);
}

.journey-link.alt:hover{
  background: var(--accent-alt, #b14a2c);
  color: #fff;
}

.journey-nolinks{
  font-size: 13px;
  color: var(--ink-faint, #6b7785);
}

.journey-loading{
  font-size: 14px;
  color: var(--ink-faint, #6b7785);
}

.why-block{
  border-left: 4px solid var(--accent, #16324f);
  background: var(--surface-dim, #f4f6f8);
  padding: 1rem 1.1rem;
  margin: 1rem 0 1.5rem;
  border-radius: 0 6px 6px 0;
}
.why-block h2{ margin-top:0; font-size:1rem; }
.confirm-banner, .confirm-note{
  background: #fff8e6;
  border: 1px solid #e6c35c;
  padding: .65rem .85rem;
  border-radius: 6px;
  margin: .75rem 0;
}
.knowledge-page .prose-column{
  max-width: 46rem;
  margin: 0 auto;
  padding: 1.5rem 1.25rem 3rem;
}
.guide-steps .expected, .expected{ opacity:.8; font-size:.92rem; margin-top:.25rem; }
.skip-link{
  position:absolute; left:-999px; top:0; background:#000; color:#fff; padding:.5rem 1rem; z-index:100;
}
.skip-link:focus{ left:.5rem; top:.5rem; }
.kicker{ text-transform:uppercase; letter-spacing:.06em; font-size:.75rem; opacity:.65; }
.lead{ font-size:1.1rem; line-height:1.45; }
.tech-name{ font-size:.95rem; }
.muted{ opacity:.7; }

.search-label { display:block; font-weight:600; margin-bottom:.35rem; }
.search-input { width:100%; max-width:40rem; padding:.65rem .75rem; font:inherit; border:1px solid var(--border,#d8dee6); border-radius:6px; }
.search-filters { display:flex; flex-wrap:wrap; gap:.4rem; margin: .75rem 0 1rem; }
.search-results { list-style:none; padding:0; margin:0; }
.search-results li { padding:.55rem 0; border-bottom:1px solid rgba(0,0,0,.06); }
.search-type { font-size:.75rem; text-transform:uppercase; letter-spacing:.04em; opacity:.65; margin-right:.35rem; }
.diagram-block { margin:1.5rem 0; }
.diagram-toolbar { display:flex; flex-wrap:wrap; gap:.4rem; margin:.75rem 0; }
.diagram-text-alt { margin-top:1rem; padding:.75rem 1rem; background:var(--surface-dim,#f4f6f8); border-radius:6px; }
.diagram-table { width:100%; border-collapse:collapse; font-size:.9rem; }
.diagram-table th, .diagram-table td { border:1px solid var(--border,#d8dee6); padding:.4rem .55rem; text-align:left; }
.diagram-list { padding-left:1.25rem; }
.diagram-spatial { overflow:auto; border:1px solid var(--border,#d8dee6); border-radius:6px; padding:.5rem; }
