.source-note { margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 3px solid #4ecdc4; background: rgba(78,205,196,.08); border-radius: 8px; line-height: 1.7; overflow-wrap: anywhere; }
.source-note a, .content a { color: #4ecdc4; }
.source-note p { margin: .75rem 0 0; }
.content { min-width: 0; }
.content h2 { color: #ff6b6b; margin: 2rem 0 1rem; }
.content h3 { color: #4ecdc4; margin: 1.5rem 0 .75rem; }
.content p, .content ul, .content ol { margin-bottom: 1rem; }
.content ul, .content ol { padding-left: 1.5rem; }
.content pre { white-space: pre; overflow-x: auto; background: rgba(0,0,0,.35); padding: 1.25rem; border-radius: 10px; margin: 1rem 0; }
.table-wrap { overflow-x: auto; margin: 1rem 0; }
.content table { width: 100%; border-collapse: collapse; }
.content th, .content td { text-align: left; padding: .75rem; border-bottom: 1px solid rgba(255,255,255,.15); }
.legacy-note { border-left-color: #ff6b6b; }
.architecture-lead { font-size: 1.1rem; color: #c8d4d7; line-height: 1.8; }
.architecture-link { margin: 1rem 0 1.5rem; }
.architecture-toc { padding: 1.25rem; margin: 1.5rem 0 2rem; background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; }
.architecture-toc strong { color: #c8d4d7; }
.architecture-toc ul { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: .75rem 0 0; padding-left: 1.25rem; }
.architecture-toc li { font-size: .9rem; }
.architecture-flow { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 1rem; padding: 0 !important; margin: 1.5rem 0 !important; list-style: none; counter-reset: architecture-step; }
.architecture-flow li { counter-increment: architecture-step; padding: 1.25rem; border: 1px solid rgba(78,205,196,.3); border-radius: 12px; background: rgba(78,205,196,.06); }
.architecture-flow li::before { content: counter(architecture-step); display: block; color: #4ecdc4; font-family: monospace; margin-bottom: .65rem; }
.architecture-flow strong { display: block; color: #e0e0e0; margin-bottom: .65rem; }
.architecture-flow span { display: block; color: #b0bfc4; font-size: .9rem; line-height: 1.7; }
.architecture-card { margin: 2rem 0; }
.content section { scroll-margin-top: 100px; }
.content td code, .content li code { overflow-wrap: anywhere; }
.docs-lead { font-size: 1.12rem; color: #d4dfe3; }
.docs-eyebrow { color: #4ecdc4; font-size: .85rem; letter-spacing: .06em; text-transform: uppercase; }
.docs-callout, .docs-checkpoint { padding: 1rem 1.25rem; margin: 1.5rem 0; background: rgba(78,205,196,.07); border-left: 3px solid #4ecdc4; border-radius: 8px; }
.docs-callout p:last-child { margin-bottom: 0; }
.docs-checkpoint { border-color: #ab9fea; background: rgba(171,159,234,.08); }
.docs-toc { padding: 1rem 1.25rem; margin: 1.5rem 0; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; }
.docs-toc ul { columns: 2; column-gap: 2rem; margin: .5rem 0 0; }
.docs-toc li { break-inside: avoid; padding: .2rem 0; }
.docs-pagination { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-top: 2.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.15); }
.code-filename { font-family: 'Fira Code', monospace; font-size: .85rem; color: #aebdc3; margin-bottom: .25rem !important; }
.docs-code-toolbar { display: flex; align-items: center; gap: .75rem; font-size: .85rem; margin-top: 1rem; }
.docs-code-toolbar + pre { margin-top: .4rem; }
.docs-code-toolbar button, .docs-search input { font: inherit; color: #e0e0e0; background: #151b29; border: 1px solid #617181; border-radius: 6px; padding: .45rem .7rem; }
.docs-code-toolbar button { cursor: pointer; }
.header-content { gap: 1.5rem; }
.header .logo { flex-shrink: 0; }
.docs-search { position: relative; flex: 1; min-width: 0; max-width: 420px; margin-left: auto; }
.content details > summary { cursor: pointer; color: #4ecdc4; padding: .25rem 0; }
.docs-search label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.docs-search input { width: 100%; }
.docs-search-panel { position: absolute; top: calc(100% + .75rem); right: 0; width: min(560px, calc(100vw - 40px)); padding: 1rem; background: #101522; border: 1px solid #617181; border-radius: 8px; box-shadow: 0 12px 30px rgba(0,0,0,.4); }
.docs-search ol { max-height: 24rem; overflow-y: auto; margin: 0; padding-left: 1.5rem; }
.docs-search ol:empty { display: none; }
.docs-search a { color: #4ecdc4; }
.docs-search li { padding: .5rem 0; }
.docs-search :focus-visible { outline: 2px solid #4ecdc4; outline-offset: 4px; }
.docs-search [role="status"], .docs-search li p { color: #aebdc3; font-size: .85rem; margin: .5rem 0; }
.docs-learning-path li { padding: .5rem 0; }
.sidebar-nav a[aria-current="page"] { background: rgba(78,205,196,.2); color: #4ecdc4; }
.content h2, .content h3 { scroll-margin-top: 110px; }
.content :focus-visible { outline: 2px solid #4ecdc4; outline-offset: 4px; }
@media (max-width: 600px) { .docs-toc ul { columns: 1; } .docs-pagination a { width: 100%; } }
@media (max-width: 700px) { .header-content { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .5rem; } .header .nav { grid-column: 2; grid-row: 1; justify-self: end; gap: .25rem; } .header .nav-link { padding: .5rem; } .docs-search { grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none; margin-left: 0; } .main-content { padding-top: 175px; } .content section, .content h2, .content h3 { scroll-margin-top: 160px; } }
@media (max-width: 600px) { .architecture-flow { grid-template-columns: 1fr; } .content { padding: 1.25rem; } .page-title { font-size: 2rem; overflow-wrap: anywhere; } }
