Files
liqiang b119135836
Build latest book artifacts / build (push) Canceled after 0s
dependency resolution / resolve (3.11) (push) Canceled after 0s
dependency resolution / resolve (3.13) (push) Canceled after 0s
deploy-pages / build (push) Canceled after 0s
deploy-pages / deploy (push) Canceled after 0s
i18n consistency check / check (push) Canceled after 0s
provider adoption tests / test (chapter2/context-compression) (push) Canceled after 0s
provider adoption tests / test (chapter2/prompt-injection) (push) Canceled after 0s
provider adoption tests / test (chapter2/system-hint) (push) Canceled after 0s
provider adoption tests / test (chapter3/log-sanitization) (push) Canceled after 0s
web-search-agent tests / test (push) Canceled after 0s
web-search-agent tests / agentbook (push) Canceled after 0s
ai-agent-book 精选快照(<2MB 代码与文档,来自 github.com/bojieli/ai-agent-book)
2026-08-20 13:12:50 +00:00

771 lines
17 KiB
CSS
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:root {
--course-blue: #2563eb;
--course-green: #059669;
--course-orange: #ea580c;
--course-purple: #7c3aed;
--course-red: #dc2626;
--course-ink: #172033;
--course-muted: #64748b;
--course-paper: #f8fafc;
}
.slidev-layout {
padding: 2rem 2.35rem !important;
color: var(--course-ink);
}
.slidev-layout h1 {
font-size: 2.05rem !important;
line-height: 1.15;
margin-bottom: 1rem !important;
}
.slidev-layout h2 {
font-size: 1.55rem !important;
line-height: 1.2;
}
.slidev-layout h3 {
font-size: 1.15rem !important;
line-height: 1.25;
margin: 0 0 0.45rem !important;
}
.slidev-layout p,
.slidev-layout li {
font-size: 1rem;
line-height: 1.4;
}
.course-subtitle {
max-width: 760px;
color: var(--course-muted);
font-size: 1.22rem !important;
line-height: 1.35 !important;
}
.course-cover-meta {
position: absolute;
left: 2.35rem;
bottom: 2rem;
max-width: 850px;
color: var(--course-muted);
font-size: 0.8rem;
}
.slidev-layout ul,
.slidev-layout ol {
margin: 0.35rem 0 !important;
}
.slidev-layout li + li {
margin-top: 0.35rem;
}
.slidev-layout pre,
.slidev-layout code {
font-size: 0.87rem !important;
}
.slidev-layout pre {
max-height: 410px;
overflow: hidden;
}
.slidev-layout table {
font-size: 0.9rem;
font-variant-numeric: tabular-nums;
}
.slidev-layout th,
.slidev-layout td {
padding: 0.45rem 0.7rem !important;
}
.course-card {
border: 2px solid #cbd5e1;
border-radius: 0.8rem;
padding: 1rem;
background: rgba(248, 250, 252, 0.92);
}
.course-card p {
margin: 0 !important;
}
.course-card ul {
padding-left: 1.15rem;
}
.course-card.blue {
border-color: #93c5fd;
background: rgba(239, 246, 255, 0.94);
}
.course-card.green {
border-color: #6ee7b7;
background: rgba(236, 253, 245, 0.94);
}
.course-card.orange {
border-color: #fdba74;
background: rgba(255, 247, 237, 0.94);
}
.course-card.purple {
border-color: #c4b5fd;
background: rgba(245, 243, 255, 0.94);
}
.course-card.red {
border-color: #fca5a5;
background: rgba(254, 242, 242, 0.94);
}
.course-kicker {
color: var(--course-blue);
font-size: 0.86rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.course-kicker-red {
color: var(--course-red);
}
.course-big {
font-size: 2.45rem;
font-weight: 750;
line-height: 1.15;
}
.course-reflection {
max-width: 850px;
margin: 0 auto;
font-size: 2.1rem;
}
.course-rule {
border-left: 6px solid var(--course-green);
padding: 0.85rem 1.1rem;
background: rgba(236, 253, 245, 0.95);
border-radius: 0.3rem 0.8rem 0.8rem 0.3rem;
font-size: 1.25rem;
line-height: 1.35;
}
.course-boundary {
border-left: 6px solid var(--course-red);
padding: 1rem 1.2rem;
background: rgba(254, 242, 242, 0.96);
border-radius: 0.3rem 0.8rem 0.8rem 0.3rem;
font-size: 1.3rem;
line-height: 1.4;
}
.course-demo-head {
display: flex;
justify-content: space-between;
gap: 1rem;
margin-bottom: 0.55rem;
color: var(--course-blue);
font-size: 0.78rem;
font-weight: 700;
letter-spacing: 0.04em;
text-transform: uppercase;
}
.course-terminal {
background: #0f172a;
color: #e2e8f0;
}
.course-terminal h1,
.course-terminal h2,
.course-terminal h3 {
color: white;
}
.course-terminal .course-kicker {
color: #67e8f9;
}
.course-terminal pre {
border: 1px solid #334155;
background: #020617 !important;
white-space: pre-wrap !important;
overflow-wrap: anywhere;
}
.course-terminal pre code,
.course-terminal pre code span {
white-space: pre-wrap !important;
overflow-wrap: anywhere;
}
.course-terminal-watch {
max-width: 820px;
margin-top: 1rem;
color: #94a3b8;
font-size: 0.86rem;
}
.course-figure {
display: block;
max-height: 430px;
max-width: 100%;
width: auto;
margin: 0 auto;
}
.course-caption {
color: var(--course-muted);
font-size: 0.75rem;
text-align: center;
margin-top: 0.35rem;
}
.course-caption-strong {
color: #475569;
font-size: 0.82rem;
font-weight: 650;
}
.course-link {
display: flex;
min-height: 92px;
flex-direction: column;
justify-content: center;
gap: 0.35rem;
border: 2px solid #cbd5e1;
border-radius: 0.8rem;
padding: 0.9rem 1rem;
background: rgba(248, 250, 252, 0.94);
color: var(--course-ink) !important;
border-style: solid !important;
text-decoration: none !important;
}
.course-link:hover {
border-color: #60a5fa;
background: #eff6ff;
}
.course-link-title {
font-size: 1rem;
font-weight: 700;
}
.course-link-path {
overflow-wrap: anywhere;
color: var(--course-muted);
font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
font-size: 0.68rem;
}
.course-next {
max-width: 850px;
margin: 1.2rem auto 0;
font-size: 2rem;
font-weight: 720;
line-height: 1.2;
}
.course-next-arrow {
margin-top: 1rem;
color: var(--course-blue);
font-size: 2.2rem;
}
.course-loop {
display: grid;
grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr);
align-items: stretch;
gap: 0.65rem;
}
.course-loop-step {
display: flex;
min-height: 132px;
flex-direction: column;
align-items: flex-start;
justify-content: center;
gap: 0.7rem;
border: 2px solid #cbd5e1;
border-radius: 0.8rem;
padding: 1rem;
text-align: left;
}
.course-loop-step span {
font-size: 0.78rem;
font-weight: 800;
letter-spacing: 0.08em;
}
.course-loop-step strong {
font-size: 1.15rem;
line-height: 1.25;
}
.course-loop-step.blue {
border-color: #93c5fd;
background: #eff6ff;
}
.course-loop-step.green {
border-color: #6ee7b7;
background: #ecfdf5;
}
.course-loop-step.purple {
border-color: #c4b5fd;
background: #f5f3ff;
}
.course-loop-step.orange {
border-color: #fdba74;
background: #fff7ed;
}
.course-loop-arrow {
align-self: center;
color: var(--course-blue);
font-size: 1.7rem;
}
.course-loop-return {
margin-top: 1.4rem;
color: #475569;
font-size: 1rem;
font-weight: 700;
}
.slidev-layout.section h1::after {
content: "";
display: block;
width: 88px;
height: 3px;
margin: 0.55em auto 0;
border-radius: 2px;
background: #6b95a3;
}
.slidev-layout.cover {
background:
radial-gradient(circle at 85% 15%, rgba(37, 99, 235, 0.15), transparent 32%),
radial-gradient(circle at 10% 90%, rgba(5, 150, 105, 0.11), transparent 30%),
white !important;
color: var(--course-ink) !important;
}
.slidev-layout.cover h1 {
color: var(--course-ink) !important;
}
.slidev-layout.cover .course-subtitle,
.slidev-layout.cover .course-cover-meta {
color: var(--course-muted) !important;
}
.dark .slidev-layout,
.slidev-layout.dark {
color: #e2e8f0;
}
#slidev-goto-dialog {
display: none !important;
}
/* Chapter 1 dense pilots: scoped so Lessons 01 and 0442 retain their current design. */
.slidev-layout.chapter-dense {
padding: 1.45rem 1.8rem !important;
}
.slidev-layout.chapter-dense h1,
.slidev-layout.chapter-terminal h1 {
font-size: 1.72rem !important;
margin-bottom: 0.55rem !important;
}
.slidev-layout.chapter-dense h3 {
font-size: 0.94rem !important;
margin-bottom: 0.28rem !important;
}
.slidev-layout.chapter-dense p,
.slidev-layout.chapter-dense li {
font-size: 0.76rem;
line-height: 1.28;
}
.slidev-layout.chapter-dense li + li {
margin-top: 0.2rem;
}
.slidev-layout.chapter-dense pre,
.slidev-layout.chapter-dense code,
.slidev-layout.chapter-terminal pre,
.slidev-layout.chapter-terminal code {
font-size: 0.67rem !important;
line-height: 1.32 !important;
}
.slidev-layout.chapter-formula-cover {
padding: 2rem 2.55rem !important;
background:
radial-gradient(circle at 88% 12%, rgba(37, 99, 235, 0.17), transparent 32%),
radial-gradient(circle at 7% 92%, rgba(5, 150, 105, 0.13), transparent 34%),
linear-gradient(145deg, #ffffff 0%, #f8fafc 100%) !important;
color: var(--course-ink) !important;
}
.slidev-layout.chapter-formula-cover h1 {
max-width: 900px;
color: var(--course-ink) !important;
font-size: 2.48rem !important;
letter-spacing: -0.035em;
margin: 0.65rem 0 0 !important;
}
.chapter-kicker {
color: var(--course-blue);
font-size: 0.72rem;
font-weight: 800;
letter-spacing: 0.12em;
}
.chapter-cover-footer {
position: absolute;
left: 2.55rem;
right: 2.55rem;
bottom: 1.55rem;
display: flex;
justify-content: space-between;
color: var(--course-muted);
font-size: 0.68rem;
}
.chapter-equation,
.chapter-context-equation {
display: flex;
align-items: stretch;
gap: 0.8rem;
}
.chapter-equation-term,
.chapter-context-group {
display: flex;
min-width: 0;
flex: 1;
flex-direction: column;
justify-content: center;
border: 2px solid #cbd5e1;
border-radius: 0.8rem;
padding: 0.8rem 1rem;
background: rgba(255, 255, 255, 0.86);
}
.chapter-equation-term strong,
.chapter-context-group strong {
font-size: 1.42rem;
line-height: 1.1;
}
.chapter-equation-term span,
.chapter-context-group span {
margin-top: 0.28rem;
font-size: 0.78rem;
font-weight: 700;
}
.chapter-equation-term small,
.chapter-context-group small {
margin-top: 0.18rem;
color: var(--course-muted);
font-size: 0.65rem;
}
.chapter-equation-term.blue,
.chapter-context-group.blue { border-color: #60a5fa; background: #eff6ff; }
.chapter-equation-term.green,
.chapter-context-group.green { border-color: #34d399; background: #ecfdf5; }
.chapter-equation-term.orange { border-color: #fb923c; background: #fff7ed; }
.chapter-equation-sign {
align-self: center;
color: #64748b;
font-size: 1.7rem;
font-weight: 300;
}
.chapter-cover-thesis {
margin-top: 0.85rem;
border-left: 4px solid var(--course-blue);
padding: 0.45rem 0.7rem;
color: #334155;
background: rgba(255, 255, 255, 0.65);
font-size: 0.82rem;
font-weight: 700;
}
.chapter-lead {
max-width: 900px;
color: #334155;
font-size: 0.87rem;
line-height: 1.32;
}
.chapter-table {
width: 100%;
border-collapse: separate;
border-spacing: 0;
overflow: hidden;
border: 1px solid #cbd5e1;
border-radius: 0.55rem;
background: rgba(255, 255, 255, 0.9);
font-size: 0.67rem !important;
line-height: 1.2;
}
.chapter-table th {
color: #f8fafc;
border: 0;
background: #334155;
font-weight: 700;
text-align: left;
}
.chapter-table td {
border-top: 1px solid #e2e8f0;
vertical-align: top;
}
.chapter-table th,
.chapter-table td {
padding: 0.34rem 0.45rem !important;
}
.chapter-table tbody tr:nth-child(even) td { background: #f8fafc; }
.chapter-table-roomy th,
.chapter-table-roomy td { padding: 0.48rem 0.55rem !important; }
.chapter-table-compact th,
.chapter-table-compact td { padding: 0.3rem 0.42rem !important; }
.chapter-panel,
.chapter-callout,
.chapter-mini {
border: 1.5px solid #cbd5e1;
border-radius: 0.62rem;
background: rgba(248, 250, 252, 0.94);
}
.chapter-panel { padding: 0.68rem 0.78rem; }
.chapter-panel ul { padding-left: 1rem; }
.chapter-panel p { margin: 0 !important; }
.chapter-panel.blue,
.chapter-callout.blue,
.chapter-mini.blue { border-color: #93c5fd; background: #eff6ff; }
.chapter-panel.green,
.chapter-callout.green,
.chapter-mini.green { border-color: #6ee7b7; background: #ecfdf5; }
.chapter-panel.orange,
.chapter-callout.orange,
.chapter-mini.orange { border-color: #fdba74; background: #fff7ed; }
.chapter-panel.purple,
.chapter-callout.purple,
.chapter-mini.purple { border-color: #c4b5fd; background: #f5f3ff; }
.chapter-panel.red,
.chapter-callout.red,
.chapter-mini.red { border-color: #fca5a5; background: #fef2f2; }
.chapter-callout {
padding: 0.48rem 0.65rem;
font-size: 0.72rem;
line-height: 1.28;
}
.chapter-conclusion,
.chapter-example {
margin-top: 0.55rem !important;
padding-top: 0.45rem;
border-top: 1px solid rgba(100, 116, 139, 0.25);
color: #475569;
font-size: 0.71rem !important;
line-height: 1.28 !important;
}
.chapter-interface {
display: grid;
grid-template-columns: 1.1fr 0.8fr 1fr 0.8fr 1.1fr;
align-items: stretch;
gap: 0.55rem;
}
.chapter-interface-world,
.chapter-interface-model {
display: flex;
min-height: 96px;
flex-direction: column;
align-items: center;
justify-content: center;
border: 2px solid #93c5fd;
border-radius: 0.7rem;
background: #eff6ff;
text-align: center;
}
.chapter-interface-model { border-color: #c4b5fd; background: #f5f3ff; }
.chapter-interface-world strong,
.chapter-interface-model strong { font-size: 0.92rem; }
.chapter-interface-world span,
.chapter-interface-model span { margin-top: 0.3rem; color: #64748b; font-size: 0.66rem; }
.chapter-interface-arrow { align-self: center; color: var(--course-blue); font-size: 1.25rem; text-align: center; }
.chapter-interface-arrow span { display: block; margin-bottom: 0.25rem; color: #475569; font-size: 0.62rem; font-weight: 700; }
.chapter-five-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 0.7rem;
}
.chapter-five-grid .chapter-panel:nth-child(4),
.chapter-five-grid .chapter-panel:nth-child(5) { grid-column: span 1; }
.chapter-mini {
display: flex;
min-height: 62px;
flex-direction: column;
justify-content: center;
padding: 0.5rem 0.6rem;
}
.chapter-mini strong { font-size: 0.74rem; }
.chapter-mini span { margin-top: 0.22rem; color: #475569; font-size: 0.65rem; line-height: 1.22; }
.chapter-code-grid pre { margin: 0.22rem 0 0 !important; }
.chapter-code-block {
min-height: 92px;
margin: 0.22rem 0 0 !important;
border: 1px solid #334155;
border-radius: 0.45rem;
padding: 0.55rem 0.65rem !important;
background: #0f172a !important;
color: #e2e8f0 !important;
white-space: pre-wrap;
}
.chapter-code-block.tall { min-height: 245px; }
.chapter-code-block code { color: inherit !important; white-space: pre-wrap !important; }
.chapter-step-label { color: #475569; font-size: 0.66rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }
.chapter-tag { display: inline-block; margin-top: 0.55rem; border-radius: 99px; padding: 0.22rem 0.5rem; font-size: 0.61rem; font-weight: 800; }
.chapter-tag.green { color: #047857; background: #d1fae5; }
.chapter-tag.orange { color: #c2410c; background: #ffedd5; }
.chapter-muted { color: #94a3b8; font-size: 0.62rem; font-weight: 400; }
.chapter-figure-large,
.chapter-figure-medium,
.chapter-figure-wide {
display: block;
max-width: 100%;
width: auto;
margin: 0 auto;
}
.chapter-figure-large { max-height: 305px; }
.chapter-figure-medium { max-height: 275px; }
.chapter-figure-wide { max-height: 260px; }
.chapter-stack { display: flex; flex-direction: column; gap: 0.55rem; }
.chapter-thesis-line,
.chapter-thesis-box {
border-left: 4px solid var(--course-blue);
padding: 0.5rem 0.68rem;
background: #f8fafc;
color: #334155;
font-size: 0.76rem;
font-weight: 700;
line-height: 1.28;
}
.chapter-thesis-box {
border: 2px solid #60a5fa;
border-radius: 0.65rem;
background: #eff6ff;
font-size: 0.88rem;
text-align: center;
}
.chapter-tight-list { padding-left: 1rem; }
.chapter-small { font-size: 0.71rem !important; line-height: 1.28 !important; }
.chapter-source { margin-top: 0.5rem; color: #64748b; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.59rem; }
.chapter-metrics {
display: grid;
grid-template-columns: repeat(4, minmax(0, 1fr));
gap: 0.7rem;
}
.chapter-metrics > div {
display: flex;
min-height: 72px;
flex-direction: column;
align-items: center;
justify-content: center;
border: 1.5px solid #93c5fd;
border-radius: 0.65rem;
background: #eff6ff;
}
.chapter-metrics strong { color: #1d4ed8; font-size: 1.35rem; line-height: 1; }
.chapter-metrics span { margin-top: 0.25rem; color: #475569; font-size: 0.63rem; }
.chapter-links a {
display: flex;
min-height: 48px;
flex-direction: column;
justify-content: center;
border: 1.5px solid #cbd5e1 !important;
border-radius: 0.55rem;
padding: 0.45rem 0.65rem;
background: #fff;
color: var(--course-ink) !important;
text-decoration: none !important;
}
.chapter-links strong { font-size: 0.7rem; }
.chapter-links span { margin-top: 0.12rem; color: #64748b; font-size: 0.59rem; }
.slidev-layout.chapter-terminal { padding: 1.55rem 1.9rem !important; }
.slidev-layout.chapter-terminal pre { max-height: 235px; margin-top: 0.6rem !important; }
.chapter-terminal-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.7rem; }
.chapter-terminal-grid > div { display: flex; flex-direction: column; border: 1px solid #334155; border-radius: 0.55rem; padding: 0.55rem 0.65rem; background: #111c31; }
.chapter-terminal-grid strong { color: #67e8f9; font-size: 0.7rem; }
.chapter-terminal-grid span { margin-top: 0.2rem; color: #cbd5e1; font-size: 0.62rem; line-height: 1.24; }
.chapter-prefix-flow {
display: grid;
grid-template-columns: 1fr auto 1.7fr auto 1fr;
align-items: stretch;
gap: 0.6rem;
}
.chapter-prefix-block {
display: flex;
min-height: 118px;
flex-direction: column;
justify-content: center;
border: 2px solid #93c5fd;
border-radius: 0.7rem;
padding: 0.65rem 0.75rem;
background: #eff6ff;
}
.chapter-prefix-block.green { border-color: #6ee7b7; background: #ecfdf5; }
.chapter-prefix-block.purple { border-color: #c4b5fd; background: #f5f3ff; }
.chapter-prefix-block strong { font-size: 0.84rem; }
.chapter-prefix-block span { margin-top: 0.2rem; font-size: 0.66rem; }
.chapter-prefix-block small { margin-top: 0.35rem; color: #64748b; font-size: 0.58rem; }
.chapter-plus,
.chapter-equals { align-self: center; color: #64748b; font-size: 1.4rem; }