[{"data":1,"prerenderedAt":75},["Reactive",2],{"blog-post-markdown-navigation-menus-site-structure-complete-guide":3},{"slug":4,"title":5,"description":6,"excerpt":7,"date":8,"category":9,"author":10,"keywords":11,"readingMinutes":12,"html":13,"headings":14,"tools":49,"related":50},"markdown-navigation-menus-site-structure-complete-guide","Markdown Navigation Menus and Site Structure: Complete Guide for Professional Documentation Architecture and User Experience","Master navigation menus and site structure in Markdown documentation systems. Learn hierarchical organization, breadcrumb navigation, sidebar generation, and accessibility best practices for comprehensive user experience.","Navigation menus and site structure in Markdown documentation systems provide essential organizational frameworks that guide users through complex information hierarchies while maintaining…","2025-09-19","Tutorial","Matthew Rathbone","markdown navigation, markdown menus, markdown site structure, documentation navigation, markdown sidebar, breadcrumb navigation, markdown table of contents, site architecture markdown",24,"\u003Cp>Navigation menus and site structure in Markdown documentation systems provide essential organizational frameworks that guide users through complex information hierarchies while maintaining intuitive browsing experiences and efficient content discovery. While Markdown excels at content creation, sophisticated navigation requires strategic planning, automated generation techniques, and platform-specific implementations that transform flat file structures into comprehensive documentation ecosystems.\u003C/p>\n\u003Ch2 id=\"why-master-navigation-and-site-structure\">Why Master Navigation and Site Structure?\u003C/h2>\n\u003Cp>Professional navigation implementation provides essential benefits for documentation systems:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>User Experience Enhancement\u003C/strong>: Clear navigation reduces cognitive load and improves content discoverability\u003C/li>\n\u003Cli>\u003Cstrong>Content Scalability\u003C/strong>: Well-structured navigation accommodates growing documentation without user confusion  \u003C/li>\n\u003Cli>\u003Cstrong>SEO Optimization\u003C/strong>: Logical site structure improves search engine crawling and content indexing\u003C/li>\n\u003Cli>\u003Cstrong>Accessibility Compliance\u003C/strong>: Proper navigation markup ensures screen reader compatibility and keyboard navigation\u003C/li>\n\u003Cli>\u003Cstrong>Maintenance Efficiency\u003C/strong>: Automated navigation generation reduces manual updates and inconsistencies\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"foundation-navigation-concepts\">Foundation Navigation Concepts\u003C/h2>\n\u003Ch3 id=\"hierarchical-content-organization\">Hierarchical Content Organization\u003C/h3>\n\u003Cp>Effective documentation structure follows logical information architecture principles:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">\u003Cspan class=\"hljs-section\"># Documentation Structure Example\u003C/span>\n\n\u003Cspan class=\"hljs-section\">## Primary Navigation Structure\u003C/span>\n\u003Cspan class=\"hljs-code\">```\n/docs/\n├── README.md                 # Landing page / introduction\n├── getting-started/\n│   ├── README.md            # Getting Started overview\n│   ├── installation.md      # Installation guide\n│   ├── quick-start.md       # Quick start tutorial\n│   └── configuration.md     # Basic configuration\n├── user-guide/\n│   ├── README.md            # User Guide overview  \n│   ├── basic-usage.md       # Basic usage patterns\n│   ├── advanced-features.md # Advanced functionality\n│   └── troubleshooting.md   # Common issues\n├── api-reference/\n│   ├── README.md            # API overview\n│   ├── authentication.md    # Auth documentation\n│   ├── endpoints/\n│   │   ├── users.md         # User endpoints\n│   │   ├── projects.md      # Project endpoints\n│   │   └── billing.md       # Billing endpoints\n│   └── examples.md          # Code examples\n└── deployment/\n    ├── README.md            # Deployment overview\n    ├── development.md       # Dev environment\n    ├── staging.md           # Staging setup\n    └── production.md        # Production deployment\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch2 id=\"directory-based-navigation-structure\">Directory-Based Navigation Structure\u003C/h2>\n\u003Cpre>\u003Ccode>project-docs/\n├── index.md                 # Main entry point\n├── _navigation.yml          # Navigation configuration\n├── _config.yml             # Site configuration\n├── concepts/\n│   ├── index.md            # Section overview\n│   ├── architecture.md     # System architecture\n│   └── data-flow.md        # Data flow concepts\n├── tutorials/\n│   ├── index.md            # Tutorial index\n│   ├── beginner/\n│   │   ├── index.md        # Beginner overview\n│   │   ├── lesson-01.md    # First lesson\n│   │   └── lesson-02.md    # Second lesson\n│   └── advanced/\n│       ├── index.md        # Advanced overview\n│       └── optimization.md # Performance optimization\n└── reference/\n    ├── index.md            # Reference overview\n    ├── cli-commands.md     # Command reference\n    └── configuration.md    # Config reference\n\u003C/code>\u003C/pre>\u003Ch3 id=\"frontmatter-navigation-metadata\">Frontmatter Navigation Metadata\u003C/h3>\n\u003Cp>Strategic frontmatter enables automated navigation generation:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-markdown\">---\ntitle: &quot;User Authentication Guide&quot;\ndescription: &quot;Complete guide to implementing user authentication with secure token management&quot;\nnav\u003Cspan class=\"hljs-emphasis\">_title: &quot;Authentication&quot;        # Shorter navigation display name\nnav_\u003C/span>order: 2                      # Position in navigation\nnav\u003Cspan class=\"hljs-emphasis\">_section: &quot;User Guide&quot;         # Section grouping\nparent: &quot;user-guide&quot;              # Parent directory reference\nbreadcrumb: &quot;Home &gt; User Guide &gt; Authentication&quot;\nsidebar: true                     # Include in sidebar navigation\ntoc: true                         # Generate table of contents\nnav_\u003C/span>exclude: false               # Include in navigation\nweight: 200                      # Alternative ordering system\ncategory: &quot;Security&quot;             # Content categorization\ntags: [&quot;authentication&quot;, &quot;security&quot;, &quot;api&quot;]\n\u003Cspan class=\"hljs-section\">last\u003Cspan class=\"hljs-emphasis\">_modified_\u003C/span>at: 2025-09-19    # Update tracking\n---\u003C/span>\n\n\u003Cspan class=\"hljs-section\"># User Authentication Guide\u003C/span>\n\nThis guide covers comprehensive authentication implementation including token management, session handling, and security best practices for production applications.\n\n\u003Cspan class=\"hljs-section\">## Quick Navigation\u003C/span>\n\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> [\u003Cspan class=\"hljs-string\">Getting Started\u003C/span>](\u003Cspan class=\"hljs-link\">#getting-started\u003C/span>)\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> [\u003Cspan class=\"hljs-string\">Token Management\u003C/span>](\u003Cspan class=\"hljs-link\">#token-management\u003C/span>)\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> [\u003Cspan class=\"hljs-string\">Session Handling\u003C/span>](\u003Cspan class=\"hljs-link\">#session-handling\u003C/span>)\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> [\u003Cspan class=\"hljs-string\">Security Considerations\u003C/span>](\u003Cspan class=\"hljs-link\">#security-considerations\u003C/span>)\n\u003Cspan class=\"hljs-bullet\">-\u003C/span> [\u003Cspan class=\"hljs-string\">Implementation Examples\u003C/span>](\u003Cspan class=\"hljs-link\">#implementation-examples\u003C/span>)\n\n\u003Cspan class=\"hljs-section\">## Getting Started\u003C/span>\n\nAuthentication forms the foundation of secure application access...\n\u003C/code>\u003C/pre>\u003Ch2 id=\"automated-navigation-generation\">Automated Navigation Generation\u003C/h2>\n\u003Ch3 id=\"jekyll-navigation-systems\">Jekyll Navigation Systems\u003C/h3>\n\u003Cp>Jekyll provides sophisticated navigation generation through collections and data files:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-yaml\">\u003Cspan class=\"hljs-comment\"># _data/navigation.yml - Primary navigation structure\u003C/span>\n\u003Cspan class=\"hljs-attr\">primary:\u003C/span>\n  \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Getting Started&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/getting-started/&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">description:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Installation, setup, and basic configuration&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Installation&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/getting-started/installation/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Quick Start&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/getting-started/quick-start/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Configuration&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/getting-started/configuration/&quot;\u003C/span>\n        \n  \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;User Guide&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/user-guide/&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">description:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Comprehensive usage documentation&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Basic Usage&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/user-guide/basic-usage/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Advanced Features&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/user-guide/advanced-features/&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n          \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Custom Workflows&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/user-guide/advanced-features/workflows/&quot;\u003C/span>\n          \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Automation&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/user-guide/advanced-features/automation/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Troubleshooting&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/user-guide/troubleshooting/&quot;\u003C/span>\n\n  \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;API Reference&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/api-reference/&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">description:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Complete API documentation and examples&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Authentication&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/api-reference/authentication/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Endpoints&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/api-reference/endpoints/&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n          \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Users&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/api-reference/endpoints/users/&quot;\u003C/span>\n          \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Projects&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/api-reference/endpoints/projects/&quot;\u003C/span>\n\n\u003Cspan class=\"hljs-attr\">sidebar:\u003C/span>\n  \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Documentation&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Overview&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Architecture&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/architecture/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Contributing&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/contributing/&quot;\u003C/span>\n\n\u003Cspan class=\"hljs-attr\">footer:\u003C/span>\n  \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Resources&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Blog&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/blog/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Examples&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/examples/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Community&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/community/&quot;\u003C/span>\n        \n  \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Support&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">children:\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Help Center&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/help/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Contact&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/contact/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">title:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Status&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/status/&quot;\u003C/span>\n        \u003Cspan class=\"hljs-attr\">external:\u003C/span> \u003Cspan class=\"hljs-literal\">true\u003C/span>\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-liquid\">&lt;!-- _includes/navigation.html - Main navigation component --&gt;\n&lt;nav class=&quot;main-navigation&quot; role=&quot;navigation&quot; aria-label=&quot;Main navigation&quot;&gt;\n  &lt;div class=&quot;nav-container&quot;&gt;\n    &lt;div class=&quot;nav-brand&quot;&gt;\n      &lt;a href=&quot;{{ site.baseurl }}/&quot; class=&quot;nav-logo&quot;&gt;\n        &lt;img src=&quot;{{ &#39;/assets/images/logo.svg&#39; | relative_url }}&quot; alt=&quot;{{ site.title }}&quot; width=&quot;120&quot; height=&quot;40&quot;&gt;\n      &lt;/a&gt;\n      \n      &lt;button class=&quot;nav-toggle&quot; aria-label=&quot;Toggle navigation&quot; aria-expanded=&quot;false&quot;&gt;\n        &lt;span class=&quot;hamburger-line&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;hamburger-line&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;hamburger-line&quot;&gt;&lt;/span&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n    \n    &lt;div class=&quot;nav-menu&quot; id=&quot;nav-menu&quot;&gt;\n      &lt;ul class=&quot;nav-list&quot;&gt;\n        {% for item in site.data.navigation.primary %}\n          &lt;li class=&quot;nav-item{% if item.children %} has-dropdown{% endif %}&quot;&gt;\n            &lt;a href=&quot;{{ item.url | relative_url }}&quot; \n               class=&quot;nav-link{% if page.url contains item.url %} active{% endif %}&quot;\n               {% if item.children %}aria-haspopup=&quot;true&quot; aria-expanded=&quot;false&quot;{% endif %}&gt;\n              {{ item.title }}\n              {% if item.children %}\n                &lt;svg class=&quot;nav-arrow&quot; width=&quot;12&quot; height=&quot;8&quot; viewBox=&quot;0 0 12 8&quot; aria-hidden=&quot;true&quot;&gt;\n                  &lt;path d=&quot;M1 1l5 5 5-5&quot; stroke=&quot;currentColor&quot; fill=&quot;none&quot; stroke-width=&quot;2&quot;/&gt;\n                &lt;/svg&gt;\n              {% endif %}\n            &lt;/a&gt;\n            \n            {% if item.children %}\n              &lt;div class=&quot;nav-dropdown&quot;&gt;\n                &lt;div class=&quot;nav-dropdown-content&quot;&gt;\n                  {% if item.description %}\n                    &lt;div class=&quot;nav-dropdown-header&quot;&gt;\n                      &lt;h3&gt;{{ item.title }}&lt;/h3&gt;\n                      &lt;p&gt;{{ item.description }}&lt;/p&gt;\n                    &lt;/div&gt;\n                  {% endif %}\n                  \n                  &lt;ul class=&quot;nav-dropdown-list&quot;&gt;\n                    {% for child in item.children %}\n                      &lt;li class=&quot;nav-dropdown-item&quot;&gt;\n                        &lt;a href=&quot;{{ child.url | relative_url }}&quot; \n                           class=&quot;nav-dropdown-link{% if page.url == child.url %} active{% endif %}&quot;&gt;\n                          &lt;div class=&quot;nav-dropdown-link-content&quot;&gt;\n                            &lt;span class=&quot;nav-dropdown-link-title&quot;&gt;{{ child.title }}&lt;/span&gt;\n                            {% if child.description %}\n                              &lt;span class=&quot;nav-dropdown-link-desc&quot;&gt;{{ child.description }}&lt;/span&gt;\n                            {% endif %}\n                          &lt;/div&gt;\n                        &lt;/a&gt;\n                        \n                        {% if child.children %}\n                          &lt;ul class=&quot;nav-dropdown-sublist&quot;&gt;\n                            {% for subchild in child.children %}\n                              &lt;li class=&quot;nav-dropdown-subitem&quot;&gt;\n                                &lt;a href=&quot;{{ subchild.url | relative_url }}&quot; \n                                   class=&quot;nav-dropdown-sublink{% if page.url == subchild.url %} active{% endif %}&quot;&gt;\n                                  {{ subchild.title }}\n                                &lt;/a&gt;\n                              &lt;/li&gt;\n                            {% endfor %}\n                          &lt;/ul&gt;\n                        {% endif %}\n                      &lt;/li&gt;\n                    {% endfor %}\n                  &lt;/ul&gt;\n                &lt;/div&gt;\n              &lt;/div&gt;\n            {% endif %}\n          &lt;/li&gt;\n        {% endfor %}\n      &lt;/ul&gt;\n      \n      &lt;div class=&quot;nav-actions&quot;&gt;\n        &lt;div class=&quot;nav-search&quot;&gt;\n          &lt;input type=&quot;search&quot; class=&quot;nav-search-input&quot; placeholder=&quot;Search docs...&quot; aria-label=&quot;Search documentation&quot;&gt;\n          &lt;button class=&quot;nav-search-button&quot; aria-label=&quot;Submit search&quot;&gt;\n            &lt;svg width=&quot;16&quot; height=&quot;16&quot; viewBox=&quot;0 0 16 16&quot; aria-hidden=&quot;true&quot;&gt;\n              &lt;path d=&quot;M11.5 7a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0zM13.25 11.69L16 14.44l-1.44 1.44-2.81-2.75a6.5 6.5 0 1 1 1.5-1.44z&quot; fill=&quot;currentColor&quot;/&gt;\n            &lt;/svg&gt;\n          &lt;/button&gt;\n        &lt;/div&gt;\n        \n        &lt;a href=&quot;{{ site.data.navigation.cta.url | relative_url }}&quot; class=&quot;nav-cta-button&quot;&gt;\n          {{ site.data.navigation.cta.text | default: &quot;Get Started&quot; }}\n        &lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/nav&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-liquid\">&lt;!-- _includes/sidebar.html - Documentation sidebar --&gt;\n&lt;aside class=&quot;sidebar&quot; role=&quot;complementary&quot; aria-label=&quot;Documentation navigation&quot;&gt;\n  &lt;div class=&quot;sidebar-content&quot;&gt;\n    &lt;!-- Section-based navigation --&gt;\n    {% assign current_section = page.nav_section | default: page.collection %}\n    {% assign sorted_pages = site.pages | where: &quot;nav_section&quot;, current_section | sort: &quot;nav_order&quot; %}\n    \n    {% if sorted_pages.size &gt; 0 %}\n      &lt;nav class=&quot;sidebar-nav&quot;&gt;\n        &lt;h2 class=&quot;sidebar-title&quot;&gt;{{ current_section | capitalize }}&lt;/h2&gt;\n        \n        &lt;ul class=&quot;sidebar-list&quot;&gt;\n          {% for nav_page in sorted_pages %}\n            {% unless nav_page.nav_exclude %}\n              &lt;li class=&quot;sidebar-item{% if page.url == nav_page.url %} active{% endif %}&quot;&gt;\n                &lt;a href=&quot;{{ nav_page.url | relative_url }}&quot; class=&quot;sidebar-link&quot;&gt;\n                  &lt;span class=&quot;sidebar-link-text&quot;&gt;\n                    {{ nav_page.nav_title | default: nav_page.title }}\n                  &lt;/span&gt;\n                  \n                  {% if nav_page.description %}\n                    &lt;span class=&quot;sidebar-link-desc&quot;&gt;{{ nav_page.description | truncate: 80 }}&lt;/span&gt;\n                  {% endif %}\n                &lt;/a&gt;\n                \n                &lt;!-- Sub-pages based on directory structure --&gt;\n                {% assign sub_pages = site.pages | where_exp: &quot;item&quot;, &quot;item.url contains nav_page.url&quot; %}\n                {% assign sub_pages = sub_pages | where_exp: &quot;item&quot;, &quot;item.url != nav_page.url&quot; %}\n                {% assign sub_pages = sub_pages | sort: &quot;nav_order&quot; %}\n                \n                {% if sub_pages.size &gt; 0 %}\n                  &lt;ul class=&quot;sidebar-sublist&quot;&gt;\n                    {% for sub_page in sub_pages %}\n                      &lt;li class=&quot;sidebar-subitem{% if page.url == sub_page.url %} active{% endif %}&quot;&gt;\n                        &lt;a href=&quot;{{ sub_page.url | relative_url }}&quot; class=&quot;sidebar-sublink&quot;&gt;\n                          {{ sub_page.nav_title | default: sub_page.title }}\n                        &lt;/a&gt;\n                      &lt;/li&gt;\n                    {% endfor %}\n                  &lt;/ul&gt;\n                {% endif %}\n              &lt;/li&gt;\n            {% endunless %}\n          {% endfor %}\n        &lt;/ul&gt;\n      &lt;/nav&gt;\n    {% endif %}\n    \n    &lt;!-- Table of Contents for current page --&gt;\n    {% if page.toc %}\n      {% include table-of-contents.html %}\n    {% endif %}\n    \n    &lt;!-- Additional sidebar content --&gt;\n    {% if site.data.navigation.sidebar %}\n      {% for sidebar_section in site.data.navigation.sidebar %}\n        &lt;div class=&quot;sidebar-section&quot;&gt;\n          &lt;h3 class=&quot;sidebar-section-title&quot;&gt;{{ sidebar_section.title }}&lt;/h3&gt;\n          &lt;ul class=&quot;sidebar-section-list&quot;&gt;\n            {% for item in sidebar_section.children %}\n              &lt;li class=&quot;sidebar-section-item&quot;&gt;\n                &lt;a href=&quot;{{ item.url | relative_url }}&quot; class=&quot;sidebar-section-link&quot;&gt;\n                  {{ item.title }}\n                &lt;/a&gt;\n              &lt;/li&gt;\n            {% endfor %}\n          &lt;/ul&gt;\n        &lt;/div&gt;\n      {% endfor %}\n    {% endif %}\n  &lt;/div&gt;\n&lt;/aside&gt;\n\u003C/code>\u003C/pre>\u003Ch3 id=\"hugo-navigation-implementation\">Hugo Navigation Implementation\u003C/h3>\n\u003Cp>Hugo provides powerful menu systems and content organization:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-yaml\">\u003Cspan class=\"hljs-comment\"># config.yml - Hugo navigation configuration\u003C/span>\n\u003Cspan class=\"hljs-attr\">params:\u003C/span>\n  \u003Cspan class=\"hljs-attr\">mainSections:\u003C/span> [\u003Cspan class=\"hljs-string\">&quot;docs&quot;\u003C/span>, \u003Cspan class=\"hljs-string\">&quot;tutorials&quot;\u003C/span>, \u003Cspan class=\"hljs-string\">&quot;reference&quot;\u003C/span>]\n  \n  \u003Cspan class=\"hljs-comment\"># Navigation settings\u003C/span>\n  \u003Cspan class=\"hljs-attr\">navigation:\u003C/span>\n    \u003Cspan class=\"hljs-attr\">primary_menu:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;main&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">sidebar_menu:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;docs&quot;\u003C/span>\n    \u003Cspan class=\"hljs-attr\">footer_menu:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;footer&quot;\u003C/span>\n    \n\u003Cspan class=\"hljs-attr\">menu:\u003C/span>\n  \u003Cspan class=\"hljs-attr\">main:\u003C/span>\n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;docs&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Documentation&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">10\u003C/span>\n      \n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;getting-started&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Getting Started&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/getting-started/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">parent:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;docs&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">10\u003C/span>\n      \n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;user-guide&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;User Guide&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/user-guide/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">parent:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;docs&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">20\u003C/span>\n      \n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;api&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;API Reference&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/api/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">parent:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;docs&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">30\u003C/span>\n      \n  \u003Cspan class=\"hljs-attr\">docs:\u003C/span>\n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;overview&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Overview&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">1\u003C/span>\n      \n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;installation&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Installation&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/installation/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">10\u003C/span>\n      \n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;configuration&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Configuration&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/docs/configuration/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">20\u003C/span>\n      \n  \u003Cspan class=\"hljs-attr\">footer:\u003C/span>\n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;community&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Community&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/community/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">10\u003C/span>\n      \n    \u003Cspan class=\"hljs-bullet\">-\u003C/span> \u003Cspan class=\"hljs-attr\">identifier:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;support&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">name:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;Support&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">url:\u003C/span> \u003Cspan class=\"hljs-string\">&quot;/support/&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">weight:\u003C/span> \u003Cspan class=\"hljs-number\">20\u003C/span>\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">&lt;!-- layouts/partials/navigation.html - Hugo main navigation --&gt;\n&lt;nav class=&quot;main-navigation&quot; role=&quot;navigation&quot; aria-label=&quot;Main navigation&quot;&gt;\n  &lt;div class=&quot;nav-container&quot;&gt;\n    &lt;div class=&quot;nav-brand&quot;&gt;\n      &lt;a href=&quot;{{ .Site.BaseURL }}&quot; class=&quot;nav-logo&quot;&gt;\n        &lt;img src=&quot;{{ &quot;images/logo.svg&quot; | relURL }}&quot; alt=&quot;{{ .Site.Title }}&quot; width=&quot;120&quot; height=&quot;40&quot;&gt;\n      &lt;/a&gt;\n      \n      &lt;button class=&quot;nav-toggle&quot; aria-label=&quot;Toggle navigation&quot;&gt;\n        &lt;span class=&quot;hamburger&quot;&gt;&lt;/span&gt;\n      &lt;/button&gt;\n    &lt;/div&gt;\n    \n    &lt;div class=&quot;nav-menu&quot;&gt;\n      &lt;ul class=&quot;nav-list&quot;&gt;\n        {{ range .Site.Menus.main }}\n          {{ if .HasChildren }}\n            &lt;li class=&quot;nav-item has-dropdown&quot;&gt;\n              &lt;a href=&quot;{{ .URL | relURL }}&quot; class=&quot;nav-link&quot; aria-haspopup=&quot;true&quot;&gt;\n                {{ .Name }}\n                &lt;svg class=&quot;nav-arrow&quot; width=&quot;12&quot; height=&quot;8&quot; viewBox=&quot;0 0 12 8&quot;&gt;\n                  &lt;path d=&quot;M1 1l5 5 5-5&quot; stroke=&quot;currentColor&quot; fill=&quot;none&quot; stroke-width=&quot;2&quot;/&gt;\n                &lt;/svg&gt;\n              &lt;/a&gt;\n              \n              &lt;div class=&quot;nav-dropdown&quot;&gt;\n                &lt;ul class=&quot;nav-dropdown-list&quot;&gt;\n                  {{ range .Children }}\n                    &lt;li class=&quot;nav-dropdown-item&quot;&gt;\n                      &lt;a href=&quot;{{ .URL | relURL }}&quot; class=&quot;nav-dropdown-link&quot;&gt;\n                        &lt;span class=&quot;nav-dropdown-title&quot;&gt;{{ .Name }}&lt;/span&gt;\n                        {{ with .Params.description }}\n                          &lt;span class=&quot;nav-dropdown-desc&quot;&gt;{{ . }}&lt;/span&gt;\n                        {{ end }}\n                      &lt;/a&gt;\n                    &lt;/li&gt;\n                  {{ end }}\n                &lt;/ul&gt;\n              &lt;/div&gt;\n            &lt;/li&gt;\n          {{ else }}\n            &lt;li class=&quot;nav-item&quot;&gt;\n              &lt;a href=&quot;{{ .URL | relURL }}&quot; class=&quot;nav-link{{ if $.IsMenuCurrent &quot;main&quot; . }} active{{ end }}&quot;&gt;\n                {{ .Name }}\n              &lt;/a&gt;\n            &lt;/li&gt;\n          {{ end }}\n        {{ end }}\n      &lt;/ul&gt;\n      \n      &lt;div class=&quot;nav-actions&quot;&gt;\n        {{ partial &quot;search.html&quot; . }}\n        &lt;a href=&quot;/get-started/&quot; class=&quot;nav-cta-button&quot;&gt;Get Started&lt;/a&gt;\n      &lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/div&gt;\n&lt;/nav&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">&lt;!-- layouts/partials/sidebar.html - Documentation sidebar --&gt;\n&lt;aside class=&quot;sidebar&quot; role=&quot;complementary&quot; aria-label=&quot;Documentation navigation&quot;&gt;\n  &lt;div class=&quot;sidebar-content&quot;&gt;\n    {{ if .Site.Menus.docs }}\n      &lt;nav class=&quot;sidebar-nav&quot;&gt;\n        &lt;h2 class=&quot;sidebar-title&quot;&gt;Documentation&lt;/h2&gt;\n        \n        {{ partial &quot;sidebar-menu.html&quot; (dict &quot;menu&quot; .Site.Menus.docs &quot;page&quot; . &quot;level&quot; 0) }}\n      &lt;/nav&gt;\n    {{ end }}\n    \n    &lt;!-- Auto-generated section navigation --&gt;\n    {{ $section := .Section }}\n    {{ if $section }}\n      {{ $pages := where .Site.RegularPages &quot;Section&quot; $section }}\n      {{ $pages := $pages | where &quot;.Params.sidebar&quot; &quot;!=&quot; false }}\n      {{ $pages := sort $pages &quot;.Params.weight&quot; }}\n      \n      {{ if gt (len $pages) 1 }}\n        &lt;nav class=&quot;sidebar-section-nav&quot;&gt;\n          &lt;h3 class=&quot;sidebar-section-title&quot;&gt;{{ $section | humanize }}&lt;/h3&gt;\n          \n          &lt;ul class=&quot;sidebar-section-list&quot;&gt;\n            {{ range $pages }}\n              &lt;li class=&quot;sidebar-section-item{{ if eq .RelPermalink $.RelPermalink }} active{{ end }}&quot;&gt;\n                &lt;a href=&quot;{{ .RelPermalink }}&quot; class=&quot;sidebar-section-link&quot;&gt;\n                  {{ .Params.nav_title | default .Title }}\n                &lt;/a&gt;\n              &lt;/li&gt;\n            {{ end }}\n          &lt;/ul&gt;\n        &lt;/nav&gt;\n      {{ end }}\n    {{ end }}\n    \n    &lt;!-- Table of contents --&gt;\n    {{ if .Params.toc }}\n      {{ .TableOfContents }}\n    {{ end }}\n  &lt;/div&gt;\n&lt;/aside&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">&lt;!-- layouts/partials/sidebar-menu.html - Recursive menu rendering --&gt;\n&lt;ul class=&quot;sidebar-list sidebar-level-{{ .level }}&quot;&gt;\n  {{ range .menu }}\n    &lt;li class=&quot;sidebar-item{{ if .Page.IsMenuCurrent &quot;docs&quot; . }} current{{ end }}{{ if .Page.HasMenuCurrent &quot;docs&quot; . }} ancestor{{ end }}&quot;&gt;\n      &lt;a href=&quot;{{ .URL | relURL }}&quot; class=&quot;sidebar-link&quot;&gt;\n        &lt;span class=&quot;sidebar-link-text&quot;&gt;{{ .Name }}&lt;/span&gt;\n        \n        {{ with .Params.description }}\n          &lt;span class=&quot;sidebar-link-desc&quot;&gt;{{ . | truncate 60 }}&lt;/span&gt;\n        {{ end }}\n        \n        {{ if .HasChildren }}\n          &lt;svg class=&quot;sidebar-toggle&quot; width=&quot;12&quot; height=&quot;8&quot; viewBox=&quot;0 0 12 8&quot;&gt;\n            &lt;path d=&quot;M1 1l5 5 5-5&quot; stroke=&quot;currentColor&quot; fill=&quot;none&quot; stroke-width=&quot;2&quot;/&gt;\n          &lt;/svg&gt;\n        {{ end }}\n      &lt;/a&gt;\n      \n      {{ if .HasChildren }}\n        {{ partial &quot;sidebar-menu.html&quot; (dict &quot;menu&quot; .Children &quot;page&quot; .Page &quot;level&quot; (add .level 1)) }}\n      {{ end }}\n    &lt;/li&gt;\n  {{ end }}\n&lt;/ul&gt;\n\u003C/code>\u003C/pre>\u003Ch2 id=\"breadcrumb-navigation-implementation\">Breadcrumb Navigation Implementation\u003C/h2>\n\u003Ch3 id=\"automated-breadcrumb-generation\">Automated Breadcrumb Generation\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* breadcrumb-navigation.css - Professional breadcrumb styling */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-container\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#f8fafc\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span> solid \u003Cspan class=\"hljs-number\">#e2e8f0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0.75rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: flex;\n  \u003Cspan class=\"hljs-attribute\">align-items\u003C/span>: center;\n  \u003Cspan class=\"hljs-attribute\">flex-wrap\u003C/span>: wrap;\n  \u003Cspan class=\"hljs-attribute\">list-style\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.875rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#64748b\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-item\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: flex;\n  \u003Cspan class=\"hljs-attribute\">align-items\u003C/span>: center;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-item\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:not\u003C/span>(\u003Cspan class=\"hljs-selector-pseudo\">:last-child\u003C/span>)\u003Cspan class=\"hljs-selector-pseudo\">::after\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">content\u003C/span>: \u003Cspan class=\"hljs-string\">&#x27;/&#x27;\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#cbd5e1\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">400\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-link\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#3b82f6\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">text-decoration\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: color \u003Cspan class=\"hljs-number\">0.2s\u003C/span> ease;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:hover\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#1d4ed8\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">text-decoration\u003C/span>: underline;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-current\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#1f2937\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">500\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Breadcrumb with icons */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-icon\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">width\u003C/span>: \u003Cspan class=\"hljs-number\">16px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">height\u003C/span>: \u003Cspan class=\"hljs-number\">16px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin-right\u003C/span>: \u003Cspan class=\"hljs-number\">0.375rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">opacity\u003C/span>: \u003Cspan class=\"hljs-number\">0.7\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Mobile breadcrumb */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">max-width\u003C/span>: \u003Cspan class=\"hljs-number\">640px\u003C/span>) {\n  \u003Cspan class=\"hljs-selector-class\">.breadcrumb-container\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.breadcrumb\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.8125rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.breadcrumb-item\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:not\u003C/span>(\u003Cspan class=\"hljs-selector-pseudo\">:last-child\u003C/span>)\u003Cspan class=\"hljs-selector-pseudo\">:not\u003C/span>(\u003Cspan class=\"hljs-selector-pseudo\">:first\u003C/span>-child) {\n    \u003Cspan class=\"hljs-attribute\">display\u003C/span>: none;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.breadcrumb-item\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:nth-last-child\u003C/span>(\u003Cspan class=\"hljs-number\">2\u003C/span>)\u003Cspan class=\"hljs-selector-pseudo\">::before\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">content\u003C/span>: \u003Cspan class=\"hljs-string\">&#x27;... / &#x27;\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#cbd5e1\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">margin-right\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Structured data breadcrumb */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.breadcrumb-structured\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: none;\n}\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-liquid\">&lt;!-- _includes/breadcrumb.html - Jekyll breadcrumb component --&gt;\n&lt;nav class=&quot;breadcrumb-container&quot; aria-label=&quot;Breadcrumb navigation&quot;&gt;\n  &lt;ol class=&quot;breadcrumb&quot; itemscope itemtype=&quot;https://schema.org/BreadcrumbList&quot;&gt;\n    &lt;!-- Home link --&gt;\n    &lt;li class=&quot;breadcrumb-item&quot; itemprop=&quot;itemListElement&quot; itemscope itemtype=&quot;https://schema.org/ListItem&quot;&gt;\n      &lt;a href=&quot;{{ site.baseurl }}/&quot; class=&quot;breadcrumb-link&quot; itemprop=&quot;item&quot;&gt;\n        &lt;svg class=&quot;breadcrumb-icon&quot; viewBox=&quot;0 0 20 20&quot; fill=&quot;currentColor&quot; aria-hidden=&quot;true&quot;&gt;\n          &lt;path d=&quot;M10 2L3 9v9a1 1 0 001 1h12a1 1 0 001-1V9l-7-7z&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;span itemprop=&quot;name&quot;&gt;Home&lt;/span&gt;\n      &lt;/a&gt;\n      &lt;meta itemprop=&quot;position&quot; content=&quot;1&quot; /&gt;\n    &lt;/li&gt;\n    \n    &lt;!-- Generate breadcrumb from page path --&gt;\n    {% assign url_parts = page.url | split: &#39;/&#39; %}\n    {% assign breadcrumb_url = &#39;&#39; %}\n    {% assign position = 2 %}\n    \n    {% for part in url_parts %}\n      {% if part != &#39;&#39; and part != &#39;index.html&#39; %}\n        {% assign breadcrumb_url = breadcrumb_url | append: &#39;/&#39; | append: part %}\n        {% assign breadcrumb_page = site.pages | where: &quot;url&quot;, breadcrumb_url | first %}\n        \n        {% if breadcrumb_page or forloop.last %}\n          &lt;li class=&quot;breadcrumb-item&quot; itemprop=&quot;itemListElement&quot; itemscope itemtype=&quot;https://schema.org/ListItem&quot;&gt;\n            {% if forloop.last %}\n              &lt;span class=&quot;breadcrumb-current&quot; itemprop=&quot;name&quot;&gt;\n                {{ page.nav_title | default: page.title | default: part | humanize }}\n              &lt;/span&gt;\n              &lt;meta itemprop=&quot;position&quot; content=&quot;{{ position }}&quot; /&gt;\n            {% else %}\n              &lt;a href=&quot;{{ breadcrumb_url | relative_url }}&quot; class=&quot;breadcrumb-link&quot; itemprop=&quot;item&quot;&gt;\n                &lt;span itemprop=&quot;name&quot;&gt;\n                  {{ breadcrumb_page.nav_title | default: breadcrumb_page.title | default: part | humanize }}\n                &lt;/span&gt;\n              &lt;/a&gt;\n              &lt;meta itemprop=&quot;position&quot; content=&quot;{{ position }}&quot; /&gt;\n            {% endif %}\n          &lt;/li&gt;\n          {% assign position = position | plus: 1 %}\n        {% endif %}\n      {% endif %}\n    {% endfor %}\n  &lt;/ol&gt;\n&lt;/nav&gt;\n\n&lt;!-- Structured data for search engines --&gt;\n&lt;script type=&quot;application/ld+json&quot;&gt;\n{\n  &quot;@context&quot;: &quot;https://schema.org&quot;,\n  &quot;@type&quot;: &quot;BreadcrumbList&quot;,\n  &quot;itemListElement&quot;: [\n    {\n      &quot;@type&quot;: &quot;ListItem&quot;,\n      &quot;position&quot;: 1,\n      &quot;name&quot;: &quot;Home&quot;,\n      &quot;item&quot;: &quot;{{ site.url }}{{ site.baseurl }}/&quot;\n    }{% assign position = 2 %}{% assign breadcrumb_url = &#39;&#39; %}{% for part in url_parts %}{% if part != &#39;&#39; and part != &#39;index.html&#39; %}{% assign breadcrumb_url = breadcrumb_url | append: &#39;/&#39; | append: part %}{% assign breadcrumb_page = site.pages | where: &quot;url&quot;, breadcrumb_url | first %}{% if breadcrumb_page or forloop.last %},\n    {\n      &quot;@type&quot;: &quot;ListItem&quot;,\n      &quot;position&quot;: {{ position }},\n      &quot;name&quot;: &quot;{% if forloop.last %}{{ page.nav_title | default: page.title | default: part | humanize }}{% else %}{{ breadcrumb_page.nav_title | default: breadcrumb_page.title | default: part | humanize }}{% endif %}&quot;{% unless forloop.last %},\n      &quot;item&quot;: &quot;{{ site.url }}{{ breadcrumb_url }}&quot;{% endunless %}\n    }{% assign position = position | plus: 1 %}{% endif %}{% endif %}{% endfor %}\n  ]\n}\n&lt;/script&gt;\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-go-html-template\">\n&lt;!-- layouts/partials/breadcrumb.html - Hugo breadcrumb implementation --&gt;\n&lt;nav class=&quot;breadcrumb-container&quot; aria-label=&quot;Breadcrumb navigation&quot;&gt;\n  &lt;ol class=&quot;breadcrumb&quot; itemscope itemtype=&quot;https://schema.org/BreadcrumbList&quot;&gt;\n    &lt;!-- Home --&gt;\n    &lt;li class=&quot;breadcrumb-item&quot; itemprop=&quot;itemListElement&quot; itemscope itemtype=&quot;https://schema.org/ListItem&quot;&gt;\n      &lt;a href=&quot;{{ .Site.BaseURL }}&quot; class=&quot;breadcrumb-link&quot; itemprop=&quot;item&quot;&gt;\n        &lt;svg class=&quot;breadcrumb-icon&quot; viewBox=&quot;0 0 20 20&quot; fill=&quot;currentColor&quot;&gt;\n          &lt;path d=&quot;M10 2L3 9v9a1 1 0 001 1h12a1 1 0 001-1V9l-7-7z&quot;/&gt;\n        &lt;/svg&gt;\n        &lt;span itemprop=&quot;name&quot;&gt;Home&lt;/span&gt;\n      &lt;/a&gt;\n      &lt;meta itemprop=&quot;position&quot; content=&quot;1&quot; /&gt;\n    &lt;/li&gt;\n    \n    &lt;!-- Section breadcrumb --&gt;\n    {{ if .Section }}\n      {{ $section := .Site.GetPage &quot;section&quot; .Section }}\n      &lt;li class=&quot;breadcrumb-item&quot; itemprop=&quot;itemListElement&quot; itemscope itemtype=&quot;https://schema.org/ListItem&quot;&gt;\n        &lt;a href=&quot;{{ $section.RelPermalink }}&quot; class=&quot;breadcrumb-link&quot; itemprop=&quot;item&quot;&gt;\n          &lt;span itemprop=&quot;name&quot;&gt;{{ $section.Params.nav_title | default $section.Title | humanize }}&lt;/span&gt;\n        &lt;/a&gt;\n        &lt;meta itemprop=&quot;position&quot; content=&quot;2&quot; /&gt;\n      &lt;/li&gt;\n    {{ end }}\n    \n    &lt;!-- Parent pages (if hierarchical) --&gt;\n    {{ $parents := .Parent }}\n    {{ $position := 3 }}\n    \n    {{ range .Ancestors.Reverse }}\n      {{ if ne . .Site.Home }}\n        &lt;li class=&quot;breadcrumb-item&quot; itemprop=&quot;itemListElement&quot; itemscope itemtype=&quot;https://schema.org/ListItem&quot;&gt;\n          &lt;a href=&quot;{{ .RelPermalink }}&quot; class=&quot;breadcrumb-link&quot; itemprop=&quot;item&quot;&gt;\n            &lt;span itemprop=&quot;name&quot;&gt;{{ .Params.nav_title | default .Title }}&lt;/span&gt;\n          &lt;/a&gt;\n          &lt;meta itemprop=&quot;position&quot; content=&quot;{{ $position }}&quot; /&gt;\n        &lt;/li&gt;\n        {{ $position = add $position 1 }}\n      {{ end }}\n    {{ end }}\n    \n    &lt;!-- Current page --&gt;\n    &lt;li class=&quot;breadcrumb-item&quot; itemprop=&quot;itemListElement&quot; itemscope itemtype=&quot;https://schema.org/ListItem&quot;&gt;\n      &lt;span class=&quot;breadcrumb-current&quot; itemprop=&quot;name&quot;&gt;\n        {{ .Params.nav_title | default .Title }}\n      &lt;/span&gt;\n      &lt;meta itemprop=&quot;position&quot; content=&quot;{{ $position }}&quot; /&gt;\n    &lt;/li&gt;\n  &lt;/ol&gt;\n&lt;/nav&gt;\n\u003C/code>\u003C/pre>\u003Ch2 id=\"table-of-contents-generation\">Table of Contents Generation\u003C/h2>\n\u003Ch3 id=\"automated-toc-systems\">Automated TOC Systems\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* table-of-contents.css - Professional TOC styling */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.toc-container\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#f8fafc\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span> solid \u003Cspan class=\"hljs-number\">#e2e8f0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">8px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-title\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">1.125rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">600\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#1f2937\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">1rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span> solid \u003Cspan class=\"hljs-number\">#e2e8f0\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-list\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">list-style\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">line-height\u003C/span>: \u003Cspan class=\"hljs-number\">1.6\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-item\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">margin-bottom\u003C/span>: \u003Cspan class=\"hljs-number\">0.375rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-link\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#4b5563\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">text-decoration\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: block;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0.25rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: all \u003Cspan class=\"hljs-number\">0.2s\u003C/span> ease;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.9rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:hover\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#3b82f6\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">59\u003C/span>, \u003Cspan class=\"hljs-number\">130\u003C/span>, \u003Cspan class=\"hljs-number\">246\u003C/span>, \u003Cspan class=\"hljs-number\">0.1\u003C/span>);\n  \u003Cspan class=\"hljs-attribute\">padding-left\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-link\u003C/span>\u003Cspan class=\"hljs-selector-class\">.active\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#3b82f6\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">500\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-built_in\">rgba\u003C/span>(\u003Cspan class=\"hljs-number\">59\u003C/span>, \u003Cspan class=\"hljs-number\">130\u003C/span>, \u003Cspan class=\"hljs-number\">246\u003C/span>, \u003Cspan class=\"hljs-number\">0.1\u003C/span>);\n  \u003Cspan class=\"hljs-attribute\">padding-left\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-left\u003C/span>: \u003Cspan class=\"hljs-number\">3px\u003C/span> solid \u003Cspan class=\"hljs-number\">#3b82f6\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Nested TOC levels */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.toc-level-1\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>; }\n\u003Cspan class=\"hljs-selector-class\">.toc-level-2\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>; \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.875rem\u003C/span>; }\n\u003Cspan class=\"hljs-selector-class\">.toc-level-3\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span>; \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.8125rem\u003C/span>; }\n\u003Cspan class=\"hljs-selector-class\">.toc-level-4\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">3rem\u003C/span>; \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.8125rem\u003C/span>; \u003Cspan class=\"hljs-attribute\">opacity\u003C/span>: \u003Cspan class=\"hljs-number\">0.8\u003C/span>; }\n\n\u003Cspan class=\"hljs-comment\">/* Sticky TOC */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.toc-sticky\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: sticky;\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: \u003Cspan class=\"hljs-number\">2rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">max-height\u003C/span>: \u003Cspan class=\"hljs-built_in\">calc\u003C/span>(\u003Cspan class=\"hljs-number\">100vh\u003C/span> - \u003Cspan class=\"hljs-number\">4rem\u003C/span>);\n  \u003Cspan class=\"hljs-attribute\">overflow-y\u003C/span>: auto;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Collapsible TOC */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.toc-collapsible\u003C/span> \u003Cspan class=\"hljs-selector-class\">.toc-toggle\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#6b7280\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">cursor\u003C/span>: pointer;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">0.875rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin-right\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: transform \u003Cspan class=\"hljs-number\">0.2s\u003C/span> ease;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-collapsible\u003C/span> \u003Cspan class=\"hljs-selector-class\">.toc-toggle\u003C/span>\u003Cspan class=\"hljs-selector-class\">.expanded\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">transform\u003C/span>: \u003Cspan class=\"hljs-built_in\">rotate\u003C/span>(\u003Cspan class=\"hljs-number\">90deg\u003C/span>);\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-collapsible\u003C/span> \u003Cspan class=\"hljs-selector-class\">.toc-nested\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin-top\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.toc-collapsible\u003C/span> \u003Cspan class=\"hljs-selector-class\">.toc-nested\u003C/span>\u003Cspan class=\"hljs-selector-class\">.collapsed\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">display\u003C/span>: none;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Mobile TOC */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">max-width\u003C/span>: \u003Cspan class=\"hljs-number\">768px\u003C/span>) {\n  \u003Cspan class=\"hljs-selector-class\">.toc-container\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.toc-level-2\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">0.5rem\u003C/span>; }\n  \u003Cspan class=\"hljs-selector-class\">.toc-level-3\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">1rem\u003C/span>; }\n  \u003Cspan class=\"hljs-selector-class\">.toc-level-4\u003C/span> { \u003Cspan class=\"hljs-attribute\">margin-left\u003C/span>: \u003Cspan class=\"hljs-number\">1.5rem\u003C/span>; }\n}\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-liquid\">&lt;!-- _includes/table-of-contents.html - Jekyll TOC generator --&gt;\n&lt;div class=&quot;toc-container&quot; id=&quot;table-of-contents&quot;&gt;\n  &lt;h3 class=&quot;toc-title&quot;&gt;Table of Contents&lt;/h3&gt;\n  \n  &lt;!-- Extract headings from content --&gt;\n  {% assign toc_headings = content | markdownify | split: &#39;&lt;h&#39; %}\n  {% assign toc_items = &#39;&#39; | split: &#39;&#39; %}\n  \n  {% for heading in toc_headings %}\n    {% if forloop.first == false %}\n      {% assign heading_level = heading | slice: 0, 1 | plus: 0 %}\n      {% if heading_level &gt;= 2 and heading_level &lt;= 4 %}\n        {% assign heading_content = heading | split: &#39;&gt;&#39; | first %}\n        {% assign heading_id = heading_content | split: &#39;id=&quot;&#39; | last | split: &#39;&quot;&#39; | first %}\n        {% assign heading_text = heading | split: &#39;&gt;&#39; | slice: 1, -1 | join: &#39;&gt;&#39; | split: &#39;&lt;/h&#39; | first %}\n        \n        {% assign toc_item = heading_level | append: &#39;|&#39; | append: heading_id | append: &#39;|&#39; | append: heading_text %}\n        {% assign toc_items = toc_items | push: toc_item %}\n      {% endif %}\n    {% endif %}\n  {% endfor %}\n  \n  &lt;!-- Render TOC with proper nesting --&gt;\n  {% if toc_items.size &gt; 0 %}\n    &lt;nav class=&quot;toc-nav&quot; aria-label=&quot;Table of contents&quot;&gt;\n      &lt;ul class=&quot;toc-list&quot;&gt;\n        {% assign current_level = 2 %}\n        {% for item in toc_items %}\n          {% assign item_parts = item | split: &#39;|&#39; %}\n          {% assign level = item_parts[0] | plus: 0 %}\n          {% assign id = item_parts[1] %}\n          {% assign text = item_parts[2] %}\n          \n          {% if level == current_level %}\n            &lt;li class=&quot;toc-item toc-level-{{ level }}&quot;&gt;\n              &lt;a href=&quot;#{{ id }}&quot; class=&quot;toc-link&quot; data-toc-target=&quot;{{ id }}&quot;&gt;\n                {{ text | strip_html }}\n              &lt;/a&gt;\n            &lt;/li&gt;\n          {% elsif level &gt; current_level %}\n            {% for i in (current_level..level) %}\n              {% if forloop.last %}\n                &lt;li class=&quot;toc-item toc-level-{{ level }}&quot;&gt;\n                  &lt;a href=&quot;#{{ id }}&quot; class=&quot;toc-link&quot; data-toc-target=&quot;{{ id }}&quot;&gt;\n                    {{ text | strip_html }}\n                  &lt;/a&gt;\n                &lt;/li&gt;\n              {% else %}\n                &lt;ul class=&quot;toc-nested&quot;&gt;\n              {% endif %}\n            {% endfor %}\n            {% assign current_level = level %}\n          {% else %}\n            {% for i in (level..current_level) %}\n              {% unless forloop.first %}\n                &lt;/ul&gt;\n              {% endunless %}\n            {% endfor %}\n            &lt;li class=&quot;toc-item toc-level-{{ level }}&quot;&gt;\n              &lt;a href=&quot;#{{ id }}&quot; class=&quot;toc-link&quot; data-toc-target=&quot;{{ id }}&quot;&gt;\n                {{ text | strip_html }}\n              &lt;/a&gt;\n            &lt;/li&gt;\n            {% assign current_level = level %}\n          {% endif %}\n        {% endfor %}\n        \n        &lt;!-- Close any remaining nested lists --&gt;\n        {% for i in (2..current_level) %}\n          {% unless forloop.first %}\n            &lt;/ul&gt;\n          {% endunless %}\n        {% endfor %}\n      &lt;/ul&gt;\n    &lt;/nav&gt;\n  {% endif %}\n&lt;/div&gt;\n\n&lt;!-- TOC JavaScript functionality --&gt;\n&lt;script&gt;\ndocument.addEventListener(&#39;DOMContentLoaded&#39;, function() {\n  const tocLinks = document.querySelectorAll(&#39;[data-toc-target]&#39;);\n  const headings = document.querySelectorAll(&#39;h2[id], h3[id], h4[id]&#39;);\n  \n  // Smooth scrolling for TOC links\n  tocLinks.forEach(link =&gt; {\n    link.addEventListener(&#39;click&#39;, function(e) {\n      e.preventDefault();\n      const targetId = this.getAttribute(&#39;data-toc-target&#39;);\n      const targetElement = document.getElementById(targetId);\n      \n      if (targetElement) {\n        const offsetTop = targetElement.offsetTop - 80; // Account for fixed header\n        window.scrollTo({\n          top: offsetTop,\n          behavior: &#39;smooth&#39;\n        });\n        \n        // Update URL hash\n        history.pushState(null, null, &#39;#&#39; + targetId);\n      }\n    });\n  });\n  \n  // Highlight current section in TOC\n  function updateActiveTocLink() {\n    const scrollPosition = window.scrollY + 100;\n    let activeHeading = null;\n    \n    headings.forEach(heading =&gt; {\n      if (heading.offsetTop &lt;= scrollPosition) {\n        activeHeading = heading;\n      }\n    });\n    \n    // Remove active class from all links\n    tocLinks.forEach(link =&gt; link.classList.remove(&#39;active&#39;));\n    \n    // Add active class to current section\n    if (activeHeading) {\n      const activeLink = document.querySelector(`[data-toc-target=&quot;${activeHeading.id}&quot;]`);\n      if (activeLink) {\n        activeLink.classList.add(&#39;active&#39;);\n      }\n    }\n  }\n  \n  // Update on scroll\n  window.addEventListener(&#39;scroll&#39;, updateActiveTocLink);\n  updateActiveTocLink(); // Initial call\n});\n&lt;/script&gt;\n\u003C/code>\u003C/pre>\u003Ch2 id=\"advanced-navigation-features\">Advanced Navigation Features\u003C/h2>\n\u003Ch3 id=\"search-integration\">Search Integration\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- Advanced search integration --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-container&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-input-wrapper&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">input\u003C/span> \u003Cspan class=\"hljs-attr\">type\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search&quot;\u003C/span> \n           \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-input&quot;\u003C/span> \n           \u003Cspan class=\"hljs-attr\">placeholder\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Search documentation...&quot;\u003C/span> \n           \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Search documentation&quot;\u003C/span>\n           \u003Cspan class=\"hljs-attr\">autocomplete\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;off&quot;\u003C/span>\n           \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-input&quot;\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">button\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-button&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Submit search&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">svg\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-icon&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">width\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;20&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">height\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;20&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">viewBox\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;0 0 20 20&quot;\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">path\u003C/span> \u003Cspan class=\"hljs-attr\">d\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">fill\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;currentColor&quot;\u003C/span>/&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">svg\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">button\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">button\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-clear&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Clear search&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">style\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;display: none;&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">svg\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;clear-icon&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">width\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;16&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">height\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;16&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">viewBox\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;0 0 16 16&quot;\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">path\u003C/span> \u003Cspan class=\"hljs-attr\">d\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;M12 4l-8 8m0-8l8 8&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">stroke\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;currentColor&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">stroke-width\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;2&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">stroke-linecap\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;round&quot;\u003C/span>/&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">svg\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">button\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">style\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;display: none;&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results-header&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results-count&quot;\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results-query&quot;\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results-list&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results-list&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-comment\">&lt;!-- Results populated by JavaScript --&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-results-footer&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">p\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;search-powered-by&quot;\u003C/span>&gt;\u003C/span>\n        Powered by \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;#&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">target\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;_blank&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">rel\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;noopener&quot;\u003C/span>&gt;\u003C/span>Search Engine\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">p\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-javascript\">\u003Cspan class=\"hljs-comment\">// search-functionality.js - Advanced search implementation\u003C/span>\n\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">DocumentationSearch\u003C/span> {\n  \u003Cspan class=\"hljs-title function_\">constructor\u003C/span>(\u003Cspan class=\"hljs-params\">options = {}\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">getElementById\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;search-input&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResults\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">getElementById\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;search-results&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">getElementById\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;search-results-list&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchButton\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-button&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchClear\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-clear&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">minQueryLength\u003C/span> = options.\u003Cspan class=\"hljs-property\">minQueryLength\u003C/span> || \u003Cspan class=\"hljs-number\">2\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">maxResults\u003C/span> = options.\u003Cspan class=\"hljs-property\">maxResults\u003C/span> || \u003Cspan class=\"hljs-number\">10\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchDelay\u003C/span> = options.\u003Cspan class=\"hljs-property\">searchDelay\u003C/span> || \u003Cspan class=\"hljs-number\">300\u003C/span>;\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchIndex\u003C/span> = \u003Cspan class=\"hljs-literal\">null\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchTimer\u003C/span> = \u003Cspan class=\"hljs-literal\">null\u003C/span>;\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">init\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-keyword\">async\u003C/span> \u003Cspan class=\"hljs-title function_\">init\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Load search index\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">await\u003C/span> \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">loadSearchIndex\u003C/span>();\n    \n    \u003Cspan class=\"hljs-comment\">// Bind events\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">bindEvents\u003C/span>();\n    \n    \u003Cspan class=\"hljs-comment\">// Handle URL search parameters\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">handleUrlSearch\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-keyword\">async\u003C/span> \u003Cspan class=\"hljs-title function_\">loadSearchIndex\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">try\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> response = \u003Cspan class=\"hljs-keyword\">await\u003C/span> \u003Cspan class=\"hljs-title function_\">fetch\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;/search-index.json&#x27;\u003C/span>);\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchIndex\u003C/span> = \u003Cspan class=\"hljs-keyword\">await\u003C/span> response.\u003Cspan class=\"hljs-title function_\">json\u003C/span>();\n    } \u003Cspan class=\"hljs-keyword\">catch\u003C/span> (error) {\n      \u003Cspan class=\"hljs-variable language_\">console\u003C/span>.\u003Cspan class=\"hljs-title function_\">warn\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;Failed to load search index:&#x27;\u003C/span>, error);\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchIndex\u003C/span> = [];\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">bindEvents\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Search input events\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;input&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">handleSearchInput\u003C/span>(e.\u003Cspan class=\"hljs-property\">target\u003C/span>.\u003Cspan class=\"hljs-property\">value\u003C/span>);\n    });\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;keydown&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;Escape&#x27;\u003C/span>) {\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">clearSearch\u003C/span>();\n      } \u003Cspan class=\"hljs-keyword\">else\u003C/span> \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;ArrowDown&#x27;\u003C/span>) {\n        e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusFirstResult\u003C/span>();\n      }\n    });\n    \n    \u003Cspan class=\"hljs-comment\">// Search button\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchButton\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">performSearch\u003C/span>(\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-property\">value\u003C/span>);\n    });\n    \n    \u003Cspan class=\"hljs-comment\">// Clear button\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchClear\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">clearSearch\u003C/span>();\n    });\n    \n    \u003Cspan class=\"hljs-comment\">// Click outside to close results\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">if\u003C/span> (!e.\u003Cspan class=\"hljs-property\">target\u003C/span>.\u003Cspan class=\"hljs-title function_\">closest\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-container&#x27;\u003C/span>)) {\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">hideResults\u003C/span>();\n      }\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">handleSearchInput\u003C/span>(\u003Cspan class=\"hljs-params\">query\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Clear previous timer\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchTimer\u003C/span>) {\n      \u003Cspan class=\"hljs-built_in\">clearTimeout\u003C/span>(\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchTimer\u003C/span>);\n    }\n    \n    \u003Cspan class=\"hljs-comment\">// Update clear button visibility\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchClear\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = query.\u003Cspan class=\"hljs-property\">length\u003C/span> &gt; \u003Cspan class=\"hljs-number\">0\u003C/span> ? \u003Cspan class=\"hljs-string\">&#x27;block&#x27;\u003C/span> : \u003Cspan class=\"hljs-string\">&#x27;none&#x27;\u003C/span>;\n    \n    \u003Cspan class=\"hljs-comment\">// Perform search with delay\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (query.\u003Cspan class=\"hljs-property\">length\u003C/span> &gt;= \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">minQueryLength\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchTimer\u003C/span> = \u003Cspan class=\"hljs-built_in\">setTimeout\u003C/span>(\u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> {\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">performSearch\u003C/span>(query);\n      }, \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchDelay\u003C/span>);\n    } \u003Cspan class=\"hljs-keyword\">else\u003C/span> \u003Cspan class=\"hljs-keyword\">if\u003C/span> (query.\u003Cspan class=\"hljs-property\">length\u003C/span> === \u003Cspan class=\"hljs-number\">0\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">hideResults\u003C/span>();\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">performSearch\u003C/span>(\u003Cspan class=\"hljs-params\">query\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (!query || !\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchIndex\u003C/span>) \u003Cspan class=\"hljs-keyword\">return\u003C/span>;\n    \n    \u003Cspan class=\"hljs-comment\">// Simple search implementation - can be enhanced with fuzzy search\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> results = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchIndex\u003C/span>.\u003Cspan class=\"hljs-title function_\">filter\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">item\u003C/span> =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> searchText = (item.\u003Cspan class=\"hljs-property\">title\u003C/span> + \u003Cspan class=\"hljs-string\">&#x27; &#x27;\u003C/span> + item.\u003Cspan class=\"hljs-property\">content\u003C/span> + \u003Cspan class=\"hljs-string\">&#x27; &#x27;\u003C/span> + (item.\u003Cspan class=\"hljs-property\">tags\u003C/span> || []).\u003Cspan class=\"hljs-title function_\">join\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27; &#x27;\u003C/span>)).\u003Cspan class=\"hljs-title function_\">toLowerCase\u003C/span>();\n      \u003Cspan class=\"hljs-keyword\">return\u003C/span> searchText.\u003Cspan class=\"hljs-title function_\">includes\u003C/span>(query.\u003Cspan class=\"hljs-title function_\">toLowerCase\u003C/span>());\n    }).\u003Cspan class=\"hljs-title function_\">slice\u003C/span>(\u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">maxResults\u003C/span>);\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">displayResults\u003C/span>(results, query);\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">displayResults\u003C/span>(\u003Cspan class=\"hljs-params\">results, query\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (results.\u003Cspan class=\"hljs-property\">length\u003C/span> === \u003Cspan class=\"hljs-number\">0\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">showNoResults\u003C/span>(query);\n      \u003Cspan class=\"hljs-keyword\">return\u003C/span>;\n    }\n    \n    \u003Cspan class=\"hljs-comment\">// Update results count\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> countElement = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-results-count&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> queryElement = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-results-query&#x27;\u003C/span>);\n    \n    countElement.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">`\u003Cspan class=\"hljs-subst\">${results.length}\u003C/span> result\u003Cspan class=\"hljs-subst\">${results.length !== \u003Cspan class=\"hljs-number\">1\u003C/span> ? \u003Cspan class=\"hljs-string\">&#x27;s&#x27;\u003C/span> : \u003Cspan class=\"hljs-string\">&#x27;&#x27;\u003C/span>}\u003C/span>`\u003C/span>;\n    queryElement.\u003Cspan class=\"hljs-property\">textContent\u003C/span> = \u003Cspan class=\"hljs-string\">`for &quot;\u003Cspan class=\"hljs-subst\">${query}\u003C/span>&quot;`\u003C/span>;\n    \n    \u003Cspan class=\"hljs-comment\">// Clear previous results\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span>.\u003Cspan class=\"hljs-property\">innerHTML\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;&#x27;\u003C/span>;\n    \n    \u003Cspan class=\"hljs-comment\">// Add results\u003C/span>\n    results.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">result, index\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> resultElement = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">createResultElement\u003C/span>(result, query, index);\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span>.\u003Cspan class=\"hljs-title function_\">appendChild\u003C/span>(resultElement);\n    });\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">showResults\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">createResultElement\u003C/span>(\u003Cspan class=\"hljs-params\">result, query, index\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> li = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">createElement\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;li&#x27;\u003C/span>);\n    li.\u003Cspan class=\"hljs-property\">className\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;search-result-item&#x27;\u003C/span>;\n    \n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> highlightedTitle = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">highlightText\u003C/span>(result.\u003Cspan class=\"hljs-property\">title\u003C/span>, query);\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> highlightedExcerpt = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">highlightText\u003C/span>(result.\u003Cspan class=\"hljs-property\">excerpt\u003C/span> || result.\u003Cspan class=\"hljs-property\">content\u003C/span>.\u003Cspan class=\"hljs-title function_\">substring\u003C/span>(\u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">150\u003C/span>) + \u003Cspan class=\"hljs-string\">&#x27;...&#x27;\u003C/span>, query);\n    \n    li.\u003Cspan class=\"hljs-property\">innerHTML\u003C/span> = \u003Cspan class=\"hljs-string\">`\n      &lt;a href=&quot;\u003Cspan class=\"hljs-subst\">${result.url}\u003C/span>&quot; class=&quot;search-result-link&quot; data-search-index=&quot;\u003Cspan class=\"hljs-subst\">${index}\u003C/span>&quot;&gt;\n        &lt;div class=&quot;search-result-header&quot;&gt;\n          &lt;h3 class=&quot;search-result-title&quot;&gt;\u003Cspan class=\"hljs-subst\">${highlightedTitle}\u003C/span>&lt;/h3&gt;\n          &lt;div class=&quot;search-result-meta&quot;&gt;\n            &lt;span class=&quot;search-result-section&quot;&gt;\u003Cspan class=\"hljs-subst\">${result.section || \u003Cspan class=\"hljs-string\">&#x27;Documentation&#x27;\u003C/span>}\u003C/span>&lt;/span&gt;\n            \u003Cspan class=\"hljs-subst\">${result.date ? \u003Cspan class=\"hljs-string\">`&lt;span class=&quot;search-result-date&quot;&gt;\u003Cspan class=\"hljs-subst\">${\u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-built_in\">Date\u003C/span>(result.date).toLocaleDateString()}\u003C/span>&lt;/span&gt;`\u003C/span> : \u003Cspan class=\"hljs-string\">&#x27;&#x27;\u003C/span>}\u003C/span>\n          &lt;/div&gt;\n        &lt;/div&gt;\n        \n        &lt;p class=&quot;search-result-excerpt&quot;&gt;\u003Cspan class=\"hljs-subst\">${highlightedExcerpt}\u003C/span>&lt;/p&gt;\n        \n        \u003Cspan class=\"hljs-subst\">${result.tags &amp;&amp; result.tags.length &gt; \u003Cspan class=\"hljs-number\">0\u003C/span> ? \u003Cspan class=\"hljs-string\">`\n          &lt;div class=&quot;search-result-tags&quot;&gt;\n            \u003Cspan class=\"hljs-subst\">${result.tags.map(tag =&gt; \u003Cspan class=\"hljs-string\">`&lt;span class=&quot;search-result-tag&quot;&gt;\u003Cspan class=\"hljs-subst\">${tag}\u003C/span>&lt;/span&gt;`\u003C/span>).join(\u003Cspan class=\"hljs-string\">&#x27;&#x27;\u003C/span>)}\u003C/span>\n          &lt;/div&gt;\n        `\u003C/span> : \u003Cspan class=\"hljs-string\">&#x27;&#x27;\u003C/span>}\u003C/span>\n      &lt;/a&gt;\n    `\u003C/span>;\n    \n    \u003Cspan class=\"hljs-comment\">// Add keyboard navigation\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> link = li.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-result-link&#x27;\u003C/span>);\n    link.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;keydown&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;ArrowDown&#x27;\u003C/span>) {\n        e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusNextResult\u003C/span>(index);\n      } \u003Cspan class=\"hljs-keyword\">else\u003C/span> \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;ArrowUp&#x27;\u003C/span>) {\n        e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusPreviousResult\u003C/span>(index);\n      } \u003Cspan class=\"hljs-keyword\">else\u003C/span> \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;Escape&#x27;\u003C/span>) {\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">hideResults\u003C/span>();\n      }\n    });\n    \n    \u003Cspan class=\"hljs-keyword\">return\u003C/span> li;\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">highlightText\u003C/span>(\u003Cspan class=\"hljs-params\">text, query\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> regex = \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">RegExp\u003C/span>(\u003Cspan class=\"hljs-string\">`(\u003Cspan class=\"hljs-subst\">${query.replace(/[.*+?^${}()|[\\]\\\\]/g, \u003Cspan class=\"hljs-string\">&#x27;\\\\$&amp;&#x27;\u003C/span>)}\u003C/span>)`\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;gi&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">return\u003C/span> text.\u003Cspan class=\"hljs-title function_\">replace\u003C/span>(regex, \u003Cspan class=\"hljs-string\">&#x27;&lt;mark class=&quot;search-highlight&quot;&gt;$1&lt;/mark&gt;&#x27;\u003C/span>);\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">showNoResults\u003C/span>(\u003Cspan class=\"hljs-params\">query\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span>.\u003Cspan class=\"hljs-property\">innerHTML\u003C/span> = \u003Cspan class=\"hljs-string\">`\n      &lt;li class=&quot;search-no-results&quot;&gt;\n        &lt;div class=&quot;search-no-results-content&quot;&gt;\n          &lt;h3&gt;No results found for &quot;\u003Cspan class=\"hljs-subst\">${query}\u003C/span>&quot;&lt;/h3&gt;\n          &lt;p&gt;Try adjusting your search terms or browse the documentation sections:&lt;/p&gt;\n          \n          &lt;ul class=&quot;search-suggestions&quot;&gt;\n            &lt;li&gt;&lt;a href=&quot;/docs/getting-started/&quot;&gt;Getting Started&lt;/a&gt;&lt;/li&gt;\n            &lt;li&gt;&lt;a href=&quot;/docs/user-guide/&quot;&gt;User Guide&lt;/a&gt;&lt;/li&gt;\n            &lt;li&gt;&lt;a href=&quot;/docs/api/&quot;&gt;API Reference&lt;/a&gt;&lt;/li&gt;\n            &lt;li&gt;&lt;a href=&quot;/docs/troubleshooting/&quot;&gt;Troubleshooting&lt;/a&gt;&lt;/li&gt;\n          &lt;/ul&gt;\n        &lt;/div&gt;\n      &lt;/li&gt;\n    `\u003C/span>;\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">showResults\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">showResults\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResults\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;block&#x27;\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResults\u003C/span>.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-hidden&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;false&#x27;\u003C/span>);\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">hideResults\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResults\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;none&#x27;\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResults\u003C/span>.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-hidden&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>);\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">clearSearch\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-property\">value\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;&#x27;\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchClear\u003C/span>.\u003Cspan class=\"hljs-property\">style\u003C/span>.\u003Cspan class=\"hljs-property\">display\u003C/span> = \u003Cspan class=\"hljs-string\">&#x27;none&#x27;\u003C/span>;\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">hideResults\u003C/span>();\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusFirstResult\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> firstResult = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-result-link&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (firstResult) {\n      firstResult.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusNextResult\u003C/span>(\u003Cspan class=\"hljs-params\">currentIndex\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> results = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-result-link&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> nextIndex = \u003Cspan class=\"hljs-title class_\">Math\u003C/span>.\u003Cspan class=\"hljs-title function_\">min\u003C/span>(currentIndex + \u003Cspan class=\"hljs-number\">1\u003C/span>, results.\u003Cspan class=\"hljs-property\">length\u003C/span> - \u003Cspan class=\"hljs-number\">1\u003C/span>);\n    results[nextIndex].\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusPreviousResult\u003C/span>(\u003Cspan class=\"hljs-params\">currentIndex\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> results = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchResultsList\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.search-result-link&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (currentIndex &gt; \u003Cspan class=\"hljs-number\">0\u003C/span>) {\n      results[currentIndex - \u003Cspan class=\"hljs-number\">1\u003C/span>].\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n    } \u003Cspan class=\"hljs-keyword\">else\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">handleUrlSearch\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> urlParams = \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">URLSearchParams\u003C/span>(\u003Cspan class=\"hljs-variable language_\">window\u003C/span>.\u003Cspan class=\"hljs-property\">location\u003C/span>.\u003Cspan class=\"hljs-property\">search\u003C/span>);\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> query = urlParams.\u003Cspan class=\"hljs-title function_\">get\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;q&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (query) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">searchInput\u003C/span>.\u003Cspan class=\"hljs-property\">value\u003C/span> = query;\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">performSearch\u003C/span>(query);\n    }\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">// Initialize search when DOM is ready\u003C/span>\n\u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;DOMContentLoaded&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> {\n  \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">DocumentationSearch\u003C/span>({\n    \u003Cspan class=\"hljs-attr\">minQueryLength\u003C/span>: \u003Cspan class=\"hljs-number\">2\u003C/span>,\n    \u003Cspan class=\"hljs-attr\">maxResults\u003C/span>: \u003Cspan class=\"hljs-number\">12\u003C/span>,\n    \u003Cspan class=\"hljs-attr\">searchDelay\u003C/span>: \u003Cspan class=\"hljs-number\">250\u003C/span>\n  });\n});\n\u003C/code>\u003C/pre>\u003Ch2 id=\"integration-with-modern-workflows\">Integration with Modern Workflows\u003C/h2>\n\u003Cp>Navigation menus and site structure work seamlessly with comprehensive Markdown documentation systems. When combined with \u003Ca href=\"/blog/markdown-table-column-width-alignment-complete-guide\">table formatting and data presentation\u003C/a>, structured navigation helps users discover complex information through intuitive browsing while maintaining clear organizational principles throughout the documentation ecosystem.\u003C/p>\n\u003Cp>For large-scale documentation projects, navigation systems complement \u003Ca href=\"/blog/markdown-custom-css-classes-styling-complete-guide\">custom CSS classes and styling frameworks\u003C/a> to create consistent user experiences that scale across different content types while preserving brand identity and usability standards through systematic design implementation.\u003C/p>\n\u003Cp>When developing technical documentation with multiple content formats, navigation enhancement works effectively with \u003Ca href=\"/blog/markdown-blockquotes-advanced-styling-complete-guide\">blockquote styling and content presentation\u003C/a> to create comprehensive information architectures that guide users through complex topics while maintaining engagement through thoughtful content organization and visual hierarchy.\u003C/p>\n\u003Ch2 id=\"accessibility-and-navigation\">Accessibility and Navigation\u003C/h2>\n\u003Ch3 id=\"screen-reader-optimization\">Screen Reader Optimization\u003C/h3>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- Accessible navigation implementation --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">nav\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;main-navigation&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;navigation&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Main site navigation&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-container&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-comment\">&lt;!-- Skip links for keyboard navigation --&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;#main-content&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;skip-link&quot;\u003C/span>&gt;\u003C/span>Skip to main content\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;#sidebar-navigation&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;skip-link&quot;\u003C/span>&gt;\u003C/span>Skip to sidebar navigation\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-brand&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Return to homepage&quot;\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">img\u003C/span> \u003Cspan class=\"hljs-attr\">src\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/logo.svg&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">alt\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Documentation Site&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">width\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;120&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">height\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;40&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-comment\">&lt;!-- Mobile navigation toggle --&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">button\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-toggle&quot;\u003C/span> \n            \u003Cspan class=\"hljs-attr\">type\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;button&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Toggle navigation menu&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">aria-expanded\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;false&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">aria-controls\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-menu&quot;\u003C/span>\n            \u003Cspan class=\"hljs-attr\">data-nav-toggle\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;hamburger-line&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;hamburger-line&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">span\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;hamburger-line&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">span\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">button\u003C/span>&gt;\u003C/span>\n    \n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-menu&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-menu&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-list&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menubar&quot;\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-item&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;none&quot;\u003C/span>&gt;\u003C/span>\n          \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/&quot;\u003C/span> \n             \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-link&quot;\u003C/span> \n             \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menuitem&quot;\u003C/span>\n             \u003Cspan class=\"hljs-attr\">aria-haspopup\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>\n             \u003Cspan class=\"hljs-attr\">aria-expanded\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;false&quot;\u003C/span>&gt;\u003C/span>\n            Documentation\n          \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n          \n          \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menu&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Documentation submenu&quot;\u003C/span>&gt;\u003C/span>\n            \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown-list&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;none&quot;\u003C/span>&gt;\u003C/span>\n              \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;none&quot;\u003C/span>&gt;\u003C/span>\n                \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/getting-started/&quot;\u003C/span> \n                   \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown-link&quot;\u003C/span> \n                   \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menuitem&quot;\u003C/span>\n                   \u003Cspan class=\"hljs-attr\">tabindex\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;-1&quot;\u003C/span>&gt;\u003C/span>\n                  Getting Started\n                \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n              \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n              \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;none&quot;\u003C/span>&gt;\u003C/span>\n                \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/user-guide/&quot;\u003C/span> \n                   \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown-link&quot;\u003C/span> \n                   \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menuitem&quot;\u003C/span>\n                   \u003Cspan class=\"hljs-attr\">tabindex\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;-1&quot;\u003C/span>&gt;\u003C/span>\n                  User Guide\n                \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n              \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n            \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n          \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">nav\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">&lt;!-- Main content area --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">main\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;main-content&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;main-content&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;main&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">tabindex\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;-1&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;content-container&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-comment\">&lt;!-- Page content --&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">main\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">&lt;!-- Sidebar navigation --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">aside\u003C/span> \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;sidebar-navigation&quot;\u003C/span> \n       \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;sidebar&quot;\u003C/span> \n       \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;complementary&quot;\u003C/span> \n       \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Page navigation&quot;\u003C/span>\n       \u003Cspan class=\"hljs-attr\">tabindex\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;-1&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;sidebar-content&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-comment\">&lt;!-- Sidebar content --&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">aside\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* accessibility-navigation.css - Accessible navigation styles */\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">/* Skip links for keyboard users */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.skip-link\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: absolute;\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: -\u003Cspan class=\"hljs-number\">40px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">6px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">background\u003C/span>: \u003Cspan class=\"hljs-number\">#000\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">color\u003C/span>: \u003Cspan class=\"hljs-number\">#fff\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">8px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">text-decoration\u003C/span>: none;\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">0\u003C/span> \u003Cspan class=\"hljs-number\">4px\u003C/span> \u003Cspan class=\"hljs-number\">4px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">z-index\u003C/span>: \u003Cspan class=\"hljs-number\">1000\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-size\u003C/span>: \u003Cspan class=\"hljs-number\">14px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">font-weight\u003C/span>: \u003Cspan class=\"hljs-number\">600\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-selector-class\">.skip-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">top\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* Focus management */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.nav-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.nav-dropdown-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span>,\n\u003Cspan class=\"hljs-selector-class\">.sidebar-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">outline\u003C/span>: \u003Cspan class=\"hljs-number\">3px\u003C/span> solid \u003Cspan class=\"hljs-number\">#3b82f6\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">outline-offset\u003C/span>: \u003Cspan class=\"hljs-number\">2px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">border-radius\u003C/span>: \u003Cspan class=\"hljs-number\">4px\u003C/span>;\n}\n\n\u003Cspan class=\"hljs-comment\">/* High contrast mode support */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">prefers-contrast\u003C/span>: high) {\n  \u003Cspan class=\"hljs-selector-class\">.nav-link\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.nav-dropdown-link\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.sidebar-link\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">border\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span> solid;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.nav-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.nav-dropdown-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.sidebar-link\u003C/span>\u003Cspan class=\"hljs-selector-pseudo\">:focus\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">outline\u003C/span>: \u003Cspan class=\"hljs-number\">3px\u003C/span> solid;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: black;\n    \u003Cspan class=\"hljs-attribute\">color\u003C/span>: white;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Reduced motion preferences */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">prefers-reduced-motion\u003C/span>: reduce) {\n  \u003Cspan class=\"hljs-selector-class\">.nav-dropdown\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.nav-menu\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.nav-toggle\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: none;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Screen reader only content */\u003C/span>\n\u003Cspan class=\"hljs-selector-class\">.sr-only\u003C/span> {\n  \u003Cspan class=\"hljs-attribute\">position\u003C/span>: absolute;\n  \u003Cspan class=\"hljs-attribute\">width\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">height\u003C/span>: \u003Cspan class=\"hljs-number\">1px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">margin\u003C/span>: -\u003Cspan class=\"hljs-number\">1px\u003C/span>;\n  \u003Cspan class=\"hljs-attribute\">overflow\u003C/span>: hidden;\n  \u003Cspan class=\"hljs-attribute\">clip\u003C/span>: \u003Cspan class=\"hljs-built_in\">rect\u003C/span>(\u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>, \u003Cspan class=\"hljs-number\">0\u003C/span>);\n  \u003Cspan class=\"hljs-attribute\">white-space\u003C/span>: nowrap;\n  \u003Cspan class=\"hljs-attribute\">border\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n}\n\u003C/code>\u003C/pre>\u003Cpre>\u003Ccode class=\"hljs language-javascript\">\u003Cspan class=\"hljs-comment\">// accessible-navigation.js - Keyboard and screen reader support\u003C/span>\n\u003Cspan class=\"hljs-keyword\">class\u003C/span> \u003Cspan class=\"hljs-title class_\">AccessibleNavigation\u003C/span> {\n  \u003Cspan class=\"hljs-title function_\">constructor\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navToggle\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[data-nav-toggle]&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navMenu\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">getElementById\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;nav-menu&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">dropdownToggles\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[aria-haspopup=&quot;true&quot;]&#x27;\u003C/span>);\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">dropdowns\u003C/span> = \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;.nav-dropdown&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">init\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">init\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">bindMobileNavigation\u003C/span>();\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">bindDropdownNavigation\u003C/span>();\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">bindKeyboardNavigation\u003C/span>();\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">manageFocus\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">bindMobileNavigation\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (\u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navToggle\u003C/span>) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navToggle\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> {\n        \u003Cspan class=\"hljs-keyword\">const\u003C/span> isExpanded = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navToggle\u003C/span>.\u003Cspan class=\"hljs-title function_\">getAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-expanded&#x27;\u003C/span>) === \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>;\n        \n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navToggle\u003C/span>.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-expanded&#x27;\u003C/span>, !isExpanded);\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navMenu\u003C/span>.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-hidden&#x27;\u003C/span>, isExpanded);\n        \n        \u003Cspan class=\"hljs-keyword\">if\u003C/span> (!isExpanded) {\n          \u003Cspan class=\"hljs-comment\">// Focus first menu item when opening\u003C/span>\n          \u003Cspan class=\"hljs-keyword\">const\u003C/span> firstMenuItem = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navMenu\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[role=&quot;menuitem&quot;]&#x27;\u003C/span>);\n          \u003Cspan class=\"hljs-keyword\">if\u003C/span> (firstMenuItem) {\n            firstMenuItem.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n          }\n        }\n      });\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">bindDropdownNavigation\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">dropdownToggles\u003C/span>.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">toggle\u003C/span> =&gt;\u003C/span> {\n      toggle.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;click&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n        e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">toggleDropdown\u003C/span>(toggle);\n      });\n      \n      toggle.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;keydown&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n        \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;ArrowDown&#x27;\u003C/span>) {\n          e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n          \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">openDropdown\u003C/span>(toggle);\n          \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusFirstDropdownItem\u003C/span>(toggle);\n        } \u003Cspan class=\"hljs-keyword\">else\u003C/span> \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;Escape&#x27;\u003C/span>) {\n          \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeAllDropdowns\u003C/span>();\n          toggle.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n        }\n      });\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">bindKeyboardNavigation\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Handle keyboard navigation in dropdowns\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;keydown&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;Escape&#x27;\u003C/span>) {\n        \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeAllDropdowns\u003C/span>();\n      }\n    });\n    \n    \u003Cspan class=\"hljs-comment\">// Dropdown menu keyboard navigation\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">dropdowns\u003C/span>.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">dropdown\u003C/span> =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">const\u003C/span> menuItems = dropdown.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[role=&quot;menuitem&quot;]&#x27;\u003C/span>);\n      \n      menuItems.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">item, index\u003C/span>) =&gt;\u003C/span> {\n        item.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;keydown&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n          \u003Cspan class=\"hljs-keyword\">switch\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span>) {\n            \u003Cspan class=\"hljs-keyword\">case\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;ArrowDown&#x27;\u003C/span>:\n              e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n              \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusNextItem\u003C/span>(menuItems, index);\n              \u003Cspan class=\"hljs-keyword\">break\u003C/span>;\n              \n            \u003Cspan class=\"hljs-keyword\">case\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;ArrowUp&#x27;\u003C/span>:\n              e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n              \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusPreviousItem\u003C/span>(menuItems, index);\n              \u003Cspan class=\"hljs-keyword\">break\u003C/span>;\n              \n            \u003Cspan class=\"hljs-keyword\">case\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;Home&#x27;\u003C/span>:\n              e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n              menuItems[\u003Cspan class=\"hljs-number\">0\u003C/span>].\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n              \u003Cspan class=\"hljs-keyword\">break\u003C/span>;\n              \n            \u003Cspan class=\"hljs-keyword\">case\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;End&#x27;\u003C/span>:\n              e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n              menuItems[menuItems.\u003Cspan class=\"hljs-property\">length\u003C/span> - \u003Cspan class=\"hljs-number\">1\u003C/span>].\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n              \u003Cspan class=\"hljs-keyword\">break\u003C/span>;\n              \n            \u003Cspan class=\"hljs-keyword\">case\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;Escape&#x27;\u003C/span>:\n              e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n              \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeDropdown\u003C/span>(dropdown);\n              \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">focusDropdownToggle\u003C/span>(dropdown);\n              \u003Cspan class=\"hljs-keyword\">break\u003C/span>;\n              \n            \u003Cspan class=\"hljs-keyword\">case\u003C/span> \u003Cspan class=\"hljs-string\">&#x27;Tab&#x27;\u003C/span>:\n              \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeDropdown\u003C/span>(dropdown);\n              \u003Cspan class=\"hljs-keyword\">break\u003C/span>;\n          }\n        });\n      });\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">toggleDropdown\u003C/span>(\u003Cspan class=\"hljs-params\">toggle\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> isExpanded = toggle.\u003Cspan class=\"hljs-title function_\">getAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-expanded&#x27;\u003C/span>) === \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>;\n    \n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (isExpanded) {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeDropdown\u003C/span>(toggle.\u003Cspan class=\"hljs-property\">nextElementSibling\u003C/span>);\n    } \u003Cspan class=\"hljs-keyword\">else\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeAllDropdowns\u003C/span>();\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">openDropdown\u003C/span>(toggle);\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">openDropdown\u003C/span>(\u003Cspan class=\"hljs-params\">toggle\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> dropdown = toggle.\u003Cspan class=\"hljs-property\">nextElementSibling\u003C/span>;\n    \n    toggle.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-expanded&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>);\n    dropdown.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-hidden&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;false&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-comment\">// Set tabindex for dropdown items\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> menuItems = dropdown.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[role=&quot;menuitem&quot;]&#x27;\u003C/span>);\n    menuItems.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">item\u003C/span> =&gt;\u003C/span> {\n      item.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;tabindex&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;0&#x27;\u003C/span>);\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">closeDropdown\u003C/span>(\u003Cspan class=\"hljs-params\">dropdown\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> toggle = dropdown.\u003Cspan class=\"hljs-property\">previousElementSibling\u003C/span>;\n    \n    toggle.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-expanded&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;false&#x27;\u003C/span>);\n    dropdown.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-hidden&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-comment\">// Remove tabindex from dropdown items\u003C/span>\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> menuItems = dropdown.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[role=&quot;menuitem&quot;]&#x27;\u003C/span>);\n    menuItems.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">item\u003C/span> =&gt;\u003C/span> {\n      item.\u003Cspan class=\"hljs-title function_\">setAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;tabindex&#x27;\u003C/span>, \u003Cspan class=\"hljs-string\">&#x27;-1&#x27;\u003C/span>);\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">closeAllDropdowns\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">dropdowns\u003C/span>.\u003Cspan class=\"hljs-title function_\">forEach\u003C/span>(\u003Cspan class=\"hljs-function\">\u003Cspan class=\"hljs-params\">dropdown\u003C/span> =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-title function_\">closeDropdown\u003C/span>(dropdown);\n    });\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusFirstDropdownItem\u003C/span>(\u003Cspan class=\"hljs-params\">toggle\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> dropdown = toggle.\u003Cspan class=\"hljs-property\">nextElementSibling\u003C/span>;\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> firstItem = dropdown.\u003Cspan class=\"hljs-title function_\">querySelector\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;[role=&quot;menuitem&quot;]&#x27;\u003C/span>);\n    \n    \u003Cspan class=\"hljs-keyword\">if\u003C/span> (firstItem) {\n      firstItem.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n    }\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusDropdownToggle\u003C/span>(\u003Cspan class=\"hljs-params\">dropdown\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> toggle = dropdown.\u003Cspan class=\"hljs-property\">previousElementSibling\u003C/span>;\n    toggle.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusNextItem\u003C/span>(\u003Cspan class=\"hljs-params\">items, currentIndex\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> nextIndex = currentIndex &lt; items.\u003Cspan class=\"hljs-property\">length\u003C/span> - \u003Cspan class=\"hljs-number\">1\u003C/span> ? currentIndex + \u003Cspan class=\"hljs-number\">1\u003C/span> : \u003Cspan class=\"hljs-number\">0\u003C/span>;\n    items[nextIndex].\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">focusPreviousItem\u003C/span>(\u003Cspan class=\"hljs-params\">items, currentIndex\u003C/span>) {\n    \u003Cspan class=\"hljs-keyword\">const\u003C/span> prevIndex = currentIndex &gt; \u003Cspan class=\"hljs-number\">0\u003C/span> ? currentIndex - \u003Cspan class=\"hljs-number\">1\u003C/span> : items.\u003Cspan class=\"hljs-property\">length\u003C/span> - \u003Cspan class=\"hljs-number\">1\u003C/span>;\n    items[prevIndex].\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n  }\n  \n  \u003Cspan class=\"hljs-title function_\">manageFocus\u003C/span>(\u003Cspan class=\"hljs-params\">\u003C/span>) {\n    \u003Cspan class=\"hljs-comment\">// Trap focus in mobile menu when open\u003C/span>\n    \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;keydown&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">(\u003Cspan class=\"hljs-params\">e\u003C/span>) =&gt;\u003C/span> {\n      \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">key\u003C/span> === \u003Cspan class=\"hljs-string\">&#x27;Tab&#x27;\u003C/span> &amp;&amp; \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navToggle\u003C/span>.\u003Cspan class=\"hljs-title function_\">getAttribute\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;aria-expanded&#x27;\u003C/span>) === \u003Cspan class=\"hljs-string\">&#x27;true&#x27;\u003C/span>) {\n        \u003Cspan class=\"hljs-keyword\">const\u003C/span> focusableElements = \u003Cspan class=\"hljs-variable language_\">this\u003C/span>.\u003Cspan class=\"hljs-property\">navMenu\u003C/span>.\u003Cspan class=\"hljs-title function_\">querySelectorAll\u003C/span>(\n          \u003Cspan class=\"hljs-string\">&#x27;a[href], button, textarea, input[type=&quot;text&quot;], input[type=&quot;radio&quot;], input[type=&quot;checkbox&quot;], select&#x27;\u003C/span>\n        );\n        \n        \u003Cspan class=\"hljs-keyword\">const\u003C/span> firstFocusable = focusableElements[\u003Cspan class=\"hljs-number\">0\u003C/span>];\n        \u003Cspan class=\"hljs-keyword\">const\u003C/span> lastFocusable = focusableElements[focusableElements.\u003Cspan class=\"hljs-property\">length\u003C/span> - \u003Cspan class=\"hljs-number\">1\u003C/span>];\n        \n        \u003Cspan class=\"hljs-keyword\">if\u003C/span> (e.\u003Cspan class=\"hljs-property\">shiftKey\u003C/span> &amp;&amp; \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-property\">activeElement\u003C/span> === firstFocusable) {\n          e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n          lastFocusable.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n        } \u003Cspan class=\"hljs-keyword\">else\u003C/span> \u003Cspan class=\"hljs-keyword\">if\u003C/span> (!e.\u003Cspan class=\"hljs-property\">shiftKey\u003C/span> &amp;&amp; \u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-property\">activeElement\u003C/span> === lastFocusable) {\n          e.\u003Cspan class=\"hljs-title function_\">preventDefault\u003C/span>();\n          firstFocusable.\u003Cspan class=\"hljs-title function_\">focus\u003C/span>();\n        }\n      }\n    });\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">// Initialize accessible navigation\u003C/span>\n\u003Cspan class=\"hljs-variable language_\">document\u003C/span>.\u003Cspan class=\"hljs-title function_\">addEventListener\u003C/span>(\u003Cspan class=\"hljs-string\">&#x27;DOMContentLoaded&#x27;\u003C/span>, \u003Cspan class=\"hljs-function\">() =&gt;\u003C/span> {\n  \u003Cspan class=\"hljs-keyword\">new\u003C/span> \u003Cspan class=\"hljs-title class_\">AccessibleNavigation\u003C/span>();\n});\n\u003C/code>\u003C/pre>\u003Ch2 id=\"troubleshooting-common-navigation-issues\">Troubleshooting Common Navigation Issues\u003C/h2>\n\u003Ch3 id=\"mobile-navigation-problems\">Mobile Navigation Problems\u003C/h3>\n\u003Cp>\u003Cstrong>Problem\u003C/strong>: Navigation menu not working properly on mobile devices or small screens\u003C/p>\n\u003Cp>\u003Cstrong>Solutions\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-css\">\u003Cspan class=\"hljs-comment\">/* Mobile navigation fixes */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@media\u003C/span> (\u003Cspan class=\"hljs-attribute\">max-width\u003C/span>: \u003Cspan class=\"hljs-number\">768px\u003C/span>) {\n  \u003Cspan class=\"hljs-selector-class\">.nav-menu\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">position\u003C/span>: fixed;\n    \u003Cspan class=\"hljs-attribute\">top\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">left\u003C/span>: -\u003Cspan class=\"hljs-number\">100%\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">width\u003C/span>: \u003Cspan class=\"hljs-number\">100%\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">height\u003C/span>: \u003Cspan class=\"hljs-number\">100vh\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: white;\n    \u003Cspan class=\"hljs-attribute\">transition\u003C/span>: left \u003Cspan class=\"hljs-number\">0.3s\u003C/span> ease;\n    \u003Cspan class=\"hljs-attribute\">z-index\u003C/span>: \u003Cspan class=\"hljs-number\">1000\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">overflow-y\u003C/span>: auto;\n    \u003Cspan class=\"hljs-attribute\">padding-top\u003C/span>: \u003Cspan class=\"hljs-number\">4rem\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.nav-menu\u003C/span>\u003Cspan class=\"hljs-selector-class\">.active\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">left\u003C/span>: \u003Cspan class=\"hljs-number\">0\u003C/span>;\n  }\n  \n  \u003Cspan class=\"hljs-selector-class\">.nav-toggle\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">display\u003C/span>: block;\n    \u003Cspan class=\"hljs-attribute\">background\u003C/span>: none;\n    \u003Cspan class=\"hljs-attribute\">border\u003C/span>: none;\n    \u003Cspan class=\"hljs-attribute\">cursor\u003C/span>: pointer;\n    \u003Cspan class=\"hljs-attribute\">z-index\u003C/span>: \u003Cspan class=\"hljs-number\">1001\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">position\u003C/span>: relative;\n  }\n  \n  \u003Cspan class=\"hljs-comment\">/* Ensure touch targets are large enough */\u003C/span>\n  \u003Cspan class=\"hljs-selector-class\">.nav-link\u003C/span>,\n  \u003Cspan class=\"hljs-selector-class\">.nav-dropdown-link\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">min-height\u003C/span>: \u003Cspan class=\"hljs-number\">44px\u003C/span>;\n    \u003Cspan class=\"hljs-attribute\">display\u003C/span>: flex;\n    \u003Cspan class=\"hljs-attribute\">align-items\u003C/span>: center;\n    \u003Cspan class=\"hljs-attribute\">padding\u003C/span>: \u003Cspan class=\"hljs-number\">0.75rem\u003C/span> \u003Cspan class=\"hljs-number\">1rem\u003C/span>;\n  }\n}\n\n\u003Cspan class=\"hljs-comment\">/* Fix for iOS viewport height issues */\u003C/span>\n\u003Cspan class=\"hljs-keyword\">@supports\u003C/span> (\u003Cspan class=\"hljs-attribute\">-webkit-touch-callout\u003C/span>: none) {\n  \u003Cspan class=\"hljs-selector-class\">.nav-menu\u003C/span> {\n    \u003Cspan class=\"hljs-attribute\">height\u003C/span>: -webkit-fill-available;\n  }\n}\n\u003C/code>\u003C/pre>\u003Ch3 id=\"dropdown-menu-accessibility-issues\">Dropdown Menu Accessibility Issues\u003C/h3>\n\u003Cp>\u003Cstrong>Problem\u003C/strong>: Dropdown menus not accessible via keyboard or screen readers\u003C/p>\n\u003Cp>\u003Cstrong>Solutions\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- Properly structured dropdown menu --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-item&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">button\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown-toggle&quot;\u003C/span>\n          \u003Cspan class=\"hljs-attr\">aria-haspopup\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>\n          \u003Cspan class=\"hljs-attr\">aria-expanded\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;false&quot;\u003C/span>\n          \u003Cspan class=\"hljs-attr\">aria-controls\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;dropdown-menu-1&quot;\u003C/span>&gt;\u003C/span>\n    Documentation\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">svg\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-arrow&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">path\u003C/span> \u003Cspan class=\"hljs-attr\">d\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;M1 1l4 4 4-4&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">stroke\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;currentColor&quot;\u003C/span>/&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">svg\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">button\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">id\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;dropdown-menu-1&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menu&quot;\u003C/span>\n      \u003Cspan class=\"hljs-attr\">aria-labelledby\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;nav-dropdown-toggle&quot;\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;none&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/getting-started/&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menuitem&quot;\u003C/span>&gt;\u003C/span>Getting Started\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;none&quot;\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/user-guide/&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">role\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;menuitem&quot;\u003C/span>&gt;\u003C/span>User Guide\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch3 id=\"seo-and-search-engine-issues\">SEO and Search Engine Issues\u003C/h3>\n\u003Cp>\u003Cstrong>Problem\u003C/strong>: Poor search engine indexing or navigation not being crawled properly\u003C/p>\n\u003Cp>\u003Cstrong>Solutions\u003C/strong>:\u003C/p>\n\u003Cpre>\u003Ccode class=\"hljs language-html\">\u003Cspan class=\"hljs-comment\">&lt;!-- SEO-friendly navigation structure --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">nav\u003C/span> \u003Cspan class=\"hljs-attr\">aria-label\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;Main navigation&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-comment\">&lt;!-- Structured data for navigation --&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">script\u003C/span> \u003Cspan class=\"hljs-attr\">type\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;application/ld+json&quot;\u003C/span>&gt;\u003C/span>\u003Cspan class=\"language-javascript\">\n  {\n    \u003Cspan class=\"hljs-string\">&quot;@context&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;https://schema.org&quot;\u003C/span>,\n    \u003Cspan class=\"hljs-string\">&quot;@type&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;SiteNavigationElement&quot;\u003C/span>,\n    \u003Cspan class=\"hljs-string\">&quot;name&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;Main Navigation&quot;\u003C/span>,\n    \u003Cspan class=\"hljs-string\">&quot;url&quot;\u003C/span>: [\n      {\n        \u003Cspan class=\"hljs-string\">&quot;@type&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;WebPage&quot;\u003C/span>,\n        \u003Cspan class=\"hljs-string\">&quot;name&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;Documentation&quot;\u003C/span>,\n        \u003Cspan class=\"hljs-string\">&quot;url&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;https://example.com/docs/&quot;\u003C/span>\n      },\n      {\n        \u003Cspan class=\"hljs-string\">&quot;@type&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;WebPage&quot;\u003C/span>, \n        \u003Cspan class=\"hljs-string\">&quot;name&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;Getting Started&quot;\u003C/span>,\n        \u003Cspan class=\"hljs-string\">&quot;url&quot;\u003C/span>: \u003Cspan class=\"hljs-string\">&quot;https://example.com/docs/getting-started/&quot;\u003C/span>\n      }\n    ]\n  }\n  \u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">script\u003C/span>&gt;\u003C/span>\n  \n  \u003Cspan class=\"hljs-comment\">&lt;!-- XML sitemap link --&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">link\u003C/span> \u003Cspan class=\"hljs-attr\">rel\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;sitemap&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">type\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;application/xml&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/sitemap.xml&quot;\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">nav\u003C/span>&gt;\u003C/span>\n\n\u003Cspan class=\"hljs-comment\">&lt;!-- HTML sitemap for crawlers --&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">div\u003C/span> \u003Cspan class=\"hljs-attr\">class\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;html-sitemap&quot;\u003C/span> \u003Cspan class=\"hljs-attr\">aria-hidden\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;true&quot;\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">h2\u003C/span>&gt;\u003C/span>Site Map\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">h2\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/&quot;\u003C/span>&gt;\u003C/span>Documentation\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/getting-started/&quot;\u003C/span>&gt;\u003C/span>Getting Started\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/user-guide/&quot;\u003C/span>&gt;\u003C/span>User Guide\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n        \u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;\u003Cspan class=\"hljs-name\">a\u003C/span> \u003Cspan class=\"hljs-attr\">href\u003C/span>=\u003Cspan class=\"hljs-string\">&quot;/docs/api/&quot;\u003C/span>&gt;\u003C/span>API Reference\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">a\u003C/span>&gt;\u003C/span>\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n      \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n    \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">li\u003C/span>&gt;\u003C/span>\n  \u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">ul\u003C/span>&gt;\u003C/span>\n\u003Cspan class=\"hljs-tag\">&lt;/\u003Cspan class=\"hljs-name\">div\u003C/span>&gt;\u003C/span>\n\u003C/code>\u003C/pre>\u003Ch2 id=\"conclusion\">Conclusion\u003C/h2>\n\u003Cp>Navigation menus and site structure form the backbone of effective Markdown documentation systems, transforming flat file collections into intuitive, scalable information architectures that serve both users and search engines. By implementing automated navigation generation, accessible design patterns, and responsive mobile experiences, content creators can build documentation ecosystems that grow with their projects while maintaining excellent usability.\u003C/p>\n\u003Cp>The key to successful navigation implementation lies in understanding user mental models, implementing semantic HTML structure, and leveraging platform-specific features to automate maintenance tasks. Whether you&#39;re building technical documentation, knowledge bases, or content-heavy websites, the techniques covered in this guide provide the foundation for navigation systems that enhance user experience while reducing long-term maintenance overhead.\u003C/p>\n\u003Cp>Remember to test your navigation implementations across different devices and assistive technologies, validate SEO optimization with search console tools, and monitor user behavior to identify areas for improvement. With proper navigation architecture, your Markdown content becomes not just readable and accessible, but truly discoverable and engaging for all users who interact with your documentation systems.\u003C/p>\n",[15,19,22,25,28,31,34,37,40,43,46],{"id":16,"text":17,"level":18},"why-master-navigation-and-site-structure","Why Master Navigation and Site Structure?",2,{"id":20,"text":21,"level":18},"foundation-navigation-concepts","Foundation Navigation Concepts",{"id":23,"text":24,"level":18},"directory-based-navigation-structure","Directory-Based Navigation Structure",{"id":26,"text":27,"level":18},"automated-navigation-generation","Automated Navigation Generation",{"id":29,"text":30,"level":18},"breadcrumb-navigation-implementation","Breadcrumb Navigation Implementation",{"id":32,"text":33,"level":18},"table-of-contents-generation","Table of Contents Generation",{"id":35,"text":36,"level":18},"advanced-navigation-features","Advanced Navigation Features",{"id":38,"text":39,"level":18},"integration-with-modern-workflows","Integration with Modern Workflows",{"id":41,"text":42,"level":18},"accessibility-and-navigation","Accessibility and Navigation",{"id":44,"text":45,"level":18},"troubleshooting-common-navigation-issues","Troubleshooting Common Navigation Issues",{"id":47,"text":48,"level":18},"conclusion","Conclusion",[],[51,59,67],{"slug":52,"title":53,"description":54,"excerpt":55,"date":56,"category":9,"author":10,"keywords":57,"readingMinutes":58},"markdown-heading-hierarchy-navigation-complete-guide","Markdown Heading Hierarchy and Navigation: Complete Guide for Documentation Structure and Content Organization","Master advanced Markdown heading management techniques for creating structured documentation hierarchies, automated navigation systems, and consistent content organization. Learn heading best practices, anchor link generation, and navigation automation.","Advanced Markdown heading hierarchy and navigation systems enable sophisticated documentation architectures that provide clear content structure, intuitive navigation experiences, and scalable…","2025-10-18","markdown headings, markdown navigation, heading hierarchy, markdown table of contents, heading structure, markdown document organization, heading anchor links, markdown navigation systems",28,{"slug":60,"title":61,"description":62,"excerpt":63,"date":64,"category":9,"author":10,"keywords":65,"readingMinutes":66},"markdown-badges-shields-complete-guide","Markdown Badges and Shields: Complete Guide for Professional Documentation","Master badges and shields in Markdown for GitHub, GitLab, and documentation platforms. Learn to create custom status badges, build badges, test coverage shields, and dynamic informational elements.","Badges and shields are essential visual elements in modern technical documentation that communicate project status, build health, test coverage, and other key metrics at a glance. These compact,…","2025-08-28","markdown badges, markdown shields, github badges, build status badges, test coverage badges, shields.io badges, readme badges, documentation badges",7,{"slug":68,"title":69,"description":70,"excerpt":71,"date":72,"category":9,"author":10,"keywords":73,"readingMinutes":74},"markdown-image-captions-complete-guide","Markdown Image Captions: Complete Guide for Professional Visual Documentation","Master image captions in Markdown for professional documentation. Learn platform-specific implementations, HTML alternatives, and responsive design techniques for enhanced visual content accessibility.","Image captions in Markdown elevate visual content from simple illustrations to professional, accessible documentation that enhances reader comprehension and meets modern web accessibility…","2025-09-07","markdown image captions, image descriptions markdown, figure captions markdown, markdown image alt text, responsive image captions, markdown visual documentation, accessible image captions",17,1792184941987]