/* Reset and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* ===== ACCESSIBILITY STYLES ===== */

/* Skip link for screen readers */
.skip-link {
    position: absolute;
    top: -40px;
    left: 6px;
    background: var(--primary);
    color: white;
    padding: 8px;
    text-decoration: none;
    border-radius: 4px;
    z-index: 10000;
    font-weight: 600;
    transition: top 0.3s;
}

.skip-link:focus {
    top: 6px;
}

/* Enhanced focus indicators */
*:focus {
    outline: none;
}

/* Better focus for interactive elements */
button:focus,
input:focus,
textarea:focus,
select:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(0, 102, 204, 0.1);
}

/* Subtle focus for links */
a:focus {
    outline: none;
    background: rgba(0, 102, 204, 0.1);
    border-radius: 4px;
    box-shadow: 0 0 0 2px rgba(0, 102, 204, 0.2);
}

/* Remove outline for mouse users but keep for keyboard users */
.js-focus-visible *:focus:not(.focus-visible) {
    outline: none;
    box-shadow: none;
}

/* Screen reader only text */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    :root {
        --text-primary: #000000;
        --text-secondary: #000000;
        --bg-primary: #ffffff;
        --primary: #0000ff;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* Copy button accessibility styles */
.copy-button {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    padding: 4px 8px;
    cursor: pointer;
    color: inherit;
    font-size: 14px;
    transition: all 0.2s ease;
}

.copy-button:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
}

.copy-button:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    background: rgba(255, 255, 255, 0.2);
}

/* Breadcrumb accessibility improvements */
.breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
}

.breadcrumb-separator {
    margin: 0 0.5rem;
    color: var(--text-muted);
}

.breadcrumb-current {
    font-weight: 600;
    color: var(--text-primary);
}

/* Mobile navigation accessibility */
.sidebar-mobile-toggle {
    display: none;
    background: none;
    border: 1px solid var(--border);
    border-radius: 4px;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 14px;
    color: var(--text-primary);
    transition: all 0.2s ease;
}

.sidebar-mobile-toggle:hover {
    background: var(--bg-secondary);
    border-color: var(--border-dark);
}

.sidebar-mobile-toggle:focus {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

@media (max-width: 768px) {
    .sidebar-mobile-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
    }
}

/* Section titles are not interactive */
.sidebar-section-title:hover {
    background: none;
}

/* Remove any collapse indicators */
.collapse-indicator {
    display: none;
}

/* ARIA current page indicator */
a[aria-current="page"],
a[aria-current="true"] {
    font-weight: 600;
    color: var(--primary);
    background: rgba(0, 102, 204, 0.1);
    border-radius: 4px;
}

/* Live region for screen reader announcements */
#live-region {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

:root {
    /* Primary Color Palette */
    --primary: #0066cc;
    --primary-hover: #0052a3;
    --primary-dark: #004d9f;
    --primary-light: #3399ff;
    --primary-bg: #f0f8ff;
    
    /* Secondary Colors */
    --secondary: #f8fafc;
    --accent: #10b981;
    --accent-hover: #059669;
    --accent-light: #34d399;
    --accent-bg: #ecfdf5;
    
    /* Text Colors */
    --text-primary: #1a202c;
    --text-secondary: #4a5568;
    --text-muted: #718096;
    --text-inverse: #ffffff;
    
    /* Background Colors */
    --bg-primary: #ffffff;
    --bg-secondary: #f7fafc;
    --bg-subtle: #edf2f7;
    --bg-dark: #2d3748;
    --bg-overlay: rgba(0, 0, 0, 0.5);
    
    /* Border Colors */
    --border: #e2e8f0;
    --border-light: #f1f5f9;
    --border-dark: #cbd5e0;
    
    /* Status Colors */
    --success: #48bb78;
    --success-hover: #38a169;
    --success-bg: #f0fff4;
    --warning: #ed8936;
    --warning-hover: #dd6b20;
    --warning-bg: #fffaf0;
    --error: #f56565;
    --error-hover: #e53e3e;
    --error-bg: #fef2f2;
    --info: #3182ce;
    --info-hover: #2c5282;
    --info-bg: #ebf8ff;
    
    /* Surface Colors */
    --surface: #ffffff;
    --surface-alt: #f8fafc;
    --surface-highlight: #f0f8ff;
    --surface-raised: #ffffff;
    
    /* Spacing Scale - Optimized for actual usage */
    --space-0: 0;
    --space-px: 1px;
    --space-0-5: 0.125rem;
    --space-1: 0.25rem;
    --space-1-5: 0.375rem;
    --space-2: 0.5rem;
    --space-3: 0.75rem;
    --space-4: 1rem;
    --space-5: 1.25rem;
    --space-6: 1.5rem;
    --space-8: 2rem;
    --space-12: 3rem;
    --space-16: 4rem;
    --space-24: 6rem;
    
    /* Typography */
    --font-family-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-family-mono: 'Monaco', 'Menlo', 'Cascadia Code', 'Fira Code', Consolas, 'Courier New', monospace;
    --font-family-serif: Georgia, 'Times New Roman', Times, serif;
    
    /* Font Sizes - Optimized for actual usage */
    --text-xs: 0.75rem;      /* 12px */
    --text-sm: 0.875rem;     /* 14px */
    --text-base: 1rem;       /* 16px */
    --text-lg: 1.125rem;     /* 18px */
    --text-xl: 1.25rem;      /* 20px */
    --text-2xl: 1.5rem;      /* 24px */
    --text-3xl: 1.875rem;    /* 30px */
    --text-4xl: 2.25rem;     /* 36px */
    --text-5xl: 3rem;        /* 48px */
    
    /* Font Weights - Optimized for actual usage */
    --font-light: 300;
    --font-normal: 400;
    --font-medium: 500;
    --font-semibold: 600;
    --font-bold: 700;
    
    /* Line Heights */
    --leading-none: 1;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-normal: 1.5;
    --leading-relaxed: 1.625;
    --leading-loose: 2;
    
    /* Shadows */
    --shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
    --shadow-none: 0 0 #0000;
    
    /* Border Radius - Optimized for actual usage */
    --radius-sm: 0.125rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-2xl: 1rem;
    --radius-full: 9999px;
    
    /* Transitions - Optimized */
    --transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);
    

}

body {
    font-family: var(--font-family-sans);
    line-height: var(--leading-normal);
    color: var(--text-primary);
    background-color: var(--bg-primary);
}

/* Professional Default Link Styles */
a {
    color: var(--primary);
    text-decoration: none;
    transition: all 0.2s ease;
    position: relative;
}

a:hover {
    color: var(--primary-hover);
    text-decoration: none;
}

a:visited {
    color: var(--primary-dark);
}

a:active {
    color: var(--primary-hover);
    transform: translateY(1px);
}

/* Only show focus outline for keyboard navigation */
a:focus {
    outline: none;
}

a:focus-visible:not(.nav-brand) {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    border-radius: 2px;
}

/* Subtle underline effect for content links */
.doc-content a:not(.btn):not(.nav-link):not(.copy-button) {
    border-bottom: 1px solid transparent;
    transition: border-bottom-color 0.2s ease;
}

.doc-content a:not(.btn):not(.nav-link):not(.copy-button):hover {
    border-bottom-color: var(--primary);
}

/* External link indicator */
a[href^="http"]:not([href*="naoo-AI.github.io"]):not([href*="localhost"]):after {
    content: "↗";
    font-size: 0.8em;
    margin-left: 0.2em;
    opacity: 0.7;
}

/* Download link styling */
a[download] {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    font-weight: 500;
}

a[download]:hover {
    transform: translateY(-1px);
}

/* Documentation pages need top spacing for fixed header */
.doc-page-body {
    padding-top: 80px;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-6);
}

/* Header */
.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
    z-index: 1000;
    padding: var(--space-4) 0;
}

.nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-6);
}

.nav-brand {
    display: flex;
    flex-direction: column;
    text-decoration: none;
}

.nav-brand:hover {
    text-decoration: none;
}

.nav-brand:visited {
    text-decoration: none;
}

.nav-brand:focus {
    outline: none;
}

.brand-title {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--primary);
    margin-bottom: -var(--space-1);
}

.brand-subtitle {
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-weight: 500;
}

.nav-menu {
    display: flex;
    list-style: none;
    gap: var(--space-8);
}

.nav-menu a {
    text-decoration: none;
    color: var(--text-secondary);
    font-weight: 500;
    transition: color 0.2s;
}

.nav-menu a:hover {
    color: var(--primary);
}

.nav-menu a:focus {
    outline: none;
}

.nav-menu a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    border-radius: 4px;
}

.nav-actions {
    display: flex;
    gap: var(--space-3);
}

/* Buttons */
.btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    font-weight: 500;
    font-size: var(--text-sm);
    text-decoration: none;
    border: none;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-primary {
    background-color: var(--primary);
    color: white !important;
}

.btn-primary:hover {
    background-color: var(--primary-hover);
    color: white !important;
    transform: translateY(-1px);
}

.btn-outline {
    background-color: transparent;
    color: var(--primary);
    border: 1px solid var(--primary) !important;
}

.btn-outline:hover {
    background-color: var(--secondary);
    border: 1px solid var(--primary) !important;
    color: var(--primary);
}

.btn-large {
    padding: var(--space-3) var(--space-6);
    font-size: var(--text-base);
}

/* Hero Section */
.hero {
    padding: calc(80px + var(--space-24)) 0 var(--space-24) 0;
    background: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);
}

.hero-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
    align-items: center;
}

.hero-title {
    font-size: var(--text-5xl);
    font-weight: 700;
    line-height: 1.1;
    margin-bottom: var(--space-4);
}

.hero-tagline {
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--primary);
    margin-bottom: var(--space-4);
    line-height: 1.3;
}

.gradient-text {
    background: linear-gradient(135deg, var(--primary), var(--accent));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.hero-description {
    font-size: var(--text-lg);
    color: var(--text-secondary);
    margin-bottom: var(--space-8);
}

.hero-buttons {
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-12);
}

/* User Journey Section */
.user-journey {
    padding: var(--space-16) 0;
    background: var(--bg-secondary);
}

.user-journey-paths {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-6);
}

.journey-path {
    background: white;
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    text-align: center;
    box-shadow: var(--shadow-md);
    border: 2px solid transparent;
    transition: all 0.3s ease;
}

.journey-path:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.journey-path.primary {
    border-color: var(--primary);
    background: var(--surface-highlight);
}

.path-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--secondary);
    border-radius: 50%;
    margin-bottom: var(--space-4);
    color: var(--primary);
}

.journey-path.primary .path-icon {
    background: var(--primary);
    color: white;
}

.path-title {
    font-size: var(--text-lg);
    font-weight: 600;
    margin-bottom: var(--space-2);
    color: var(--text-primary);
}

.path-description {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    margin-bottom: var(--space-4);
    line-height: 1.4;
}

.hero-stats {
    display: flex;
    gap: var(--space-8);
}

.stat {
    text-align: center;
}

.stat-number {
    display: block;
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--primary);
}

.stat-label {
    font-size: var(--text-sm);
    color: var(--text-muted);
}

/* Credibility Indicators */
.credibility-indicators {
    margin-top: var(--space-8);
    padding-top: var(--space-6);
    border-top: 1px solid var(--border);
}

.enterprise-badges {
    display: flex;
    justify-content: center;
    gap: var(--space-6);
    margin-bottom: var(--space-4);
}

.badge-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    font-weight: 500;
}

.badge-item i {
    color: var(--accent);
}

.tech-stack {
    text-align: center;
}

.tech-label {
    font-size: var(--text-sm);
    color: var(--text-muted);
    margin-right: var(--space-3);
}

.tech-badges {
    display: inline-flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: center;
}

.tech-badge {
    display: inline-block;
    padding: var(--space-1) var(--space-3);
    background: var(--secondary);
    color: var(--primary);
    font-size: var(--text-xs);
    font-weight: 500;
    border-radius: var(--radius-sm);
    border: 1px solid var(--border);
}

/* Value Proposition Section */
.value-proposition {
    padding: var(--space-24) 0;
    background: white;
}

.value-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
    align-items: center;
}

.value-title {
    font-size: var(--text-3xl);
    font-weight: 700;
    margin-bottom: var(--space-4);
    color: var(--text-primary);
    line-height: 1.2;
}

.highlight-text {
    color: var(--primary);
    position: relative;
}

.highlight-text::after {
    content: '';
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(135deg, var(--primary), var(--accent));
    border-radius: 2px;
    opacity: 0.3;
}

.value-description {
    font-size: var(--text-lg);
    color: var(--text-secondary);
    margin-bottom: var(--space-8);
    line-height: 1.6;
}

.value-points {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.value-point {
    display: flex;
    gap: var(--space-4);
    align-items: flex-start;
}

.point-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--surface-highlight);
    border-radius: 50%;
    color: var(--primary);
    flex-shrink: 0;
}

.point-content h4 {
    font-size: var(--text-lg);
    font-weight: 600;
    margin-bottom: var(--space-1);
    color: var(--text-primary);
}

.point-content p {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    line-height: 1.5;
}

/* Comparison Chart */
.comparison-chart {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.comparison-item {
    background: white;
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    border: 2px solid var(--border);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
}

.comparison-item:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.comparison-item:first-child {
    border-color: var(--text-muted);
}

.comparison-item:last-child {
    border-color: var(--accent);
    background: var(--success-bg);
}

.comparison-item h4 {
    font-size: var(--text-lg);
    font-weight: 600;
    margin-bottom: var(--space-4);
    color: var(--text-primary);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.time-duration {
    font-size: var(--text-sm);
    font-weight: 500;
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-sm);
    background: var(--bg-secondary);
    color: var(--text-secondary);
}

.comparison-item:first-child .time-duration {
    background: var(--bg-secondary);
    color: var(--text-muted);
}

.comparison-item:last-child .time-duration {
    background: var(--success-bg);
    color: var(--success);
}

.time-bar {
    height: 6px;
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-4);
    background: var(--border);
    overflow: hidden;
}

.time-bar.traditional {
    background: var(--text-muted);
}

.time-bar.modelknife {
    background: var(--accent);
    width: 15%;
}

.time-label {
    display: none;
}

.setup-steps {
    list-style: none;
    padding: 0;
}

.setup-steps li {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    margin-bottom: var(--space-2);
    padding-left: var(--space-4);
    position: relative;
}

.setup-steps li::before {
    content: "•";
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: bold;
}

/* Code Preview */
.code-preview {
    background: var(--bg-dark);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-xl);
    max-width: 100%;
}

.code-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-4);
    background: #1a202c;
    border-bottom: 1px solid #2d3748;
}

.code-title {
    color: #e2e8f0;
    font-size: var(--text-sm);
    font-weight: 500;
}

.code-title span {
    color: #718096;
    font-size: var(--text-sm);
    font-weight: 500;
}

.code-actions {
    display: flex;
    gap: var(--space-2);
}

.code-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
}

.code-dot.red { background-color: #f56565; }
.code-dot.yellow { background-color: #ed8936; }
.code-dot.green { background-color: #48bb78; }

.code-content {
    padding: var(--space-6);
}

.code-content pre {
    margin: 0;
    font-family: 'Monaco', 'Menlo', monospace;
    font-size: var(--text-sm);
    line-height: 1.5;
}

.code-content code {
    color: #e2e8f0;
}

/* Features Section */
.features {
    padding: var(--space-24) 0;
    background-color: white;
}

.section-header {
    text-align: center;
    margin-bottom: var(--space-16);
}

.section-title {
    font-size: var(--text-3xl);
    font-weight: 700;
    margin-bottom: var(--space-4);
}

.section-description {
    font-size: var(--text-lg);
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto;
}

.features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--space-8);
}

.feature-card {
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    background: white;
    transition: all 0.3s;
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}

.feature-icon {
    width: 48px;
    height: 48px;
    background: var(--primary);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-4);
}

.feature-icon i {
    color: white !important;
    width: 24px;
    height: 24px;
}

.feature-icon svg {
    stroke: white !important;
    fill: none !important;
    color: white !important;
    width: 24px;
    height: 24px;
}

.feature-icon i svg {
    stroke: white !important;
    fill: none !important;
}

.feature-card h3 {
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-3);
}

.feature-card p {
    color: var(--text-secondary);
    line-height: 1.6;
}

/* Architecture Section */
.architecture {
    padding: var(--space-24) 0;
    background: var(--bg-secondary);
}

.architecture-diagram {
    margin-top: var(--space-16);
}

/* Grid layout for mode comparison */
.architecture-diagram.grid-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
}

/* Block layout for flow diagrams */
.architecture-diagram.flow-layout {
    display: block;
}

.architecture-diagram h4 {
    text-align: center;
    color: var(--primary);
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-6);
}

/* Environment Flow Diagram */
.environment-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    margin: var(--space-8) 0;
    padding: var(--space-6);
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
}

.env-box {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    text-align: center;
    min-width: 140px;
}

.env-box h4 {
    color: var(--primary);
    font-size: var(--text-lg);
    font-weight: 600;
    margin-bottom: var(--space-2);
}

.env-box p {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    margin: 0;
    line-height: 1.4;
}

.env-arrow {
    color: var(--primary);
    font-size: 1.5rem;
    font-weight: bold;
    margin: 0 var(--space-2);
}

.mode-card {
    background: white;
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    border: 2px solid var(--border);
    transition: all 0.3s;
}

.mode-card.infrastructure {
    border-color: var(--primary);
}

.mode-card.pipelines {
    border-color: var(--accent);
}

.mode-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--space-6);
}

.mode-header h3 {
    font-size: var(--text-xl);
    font-family: 'Monaco', monospace;
}

.mode-badge {
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: 600;
}

.infrastructure .mode-badge {
    background: var(--primary);
    color: white;
}

.pipelines .mode-badge {
    background: var(--accent);
    color: white;
}

.mode-content p {
    color: var(--text-secondary);
    margin-bottom: var(--space-4);
}

.service-list {
    list-style: none;
    margin-bottom: var(--space-6);
}

.service-list li {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) 0;
}

.service-list i {
    color: var(--primary);
    width: 16px;
    height: 16px;
}

.frequency {
    padding-top: var(--space-4);
    border-top: 1px solid var(--border);
}

.frequency-label {
    font-weight: 600;
    color: var(--text-primary);
}

.frequency-value {
    color: var(--text-secondary);
}

/* Getting Started Section */
.getting-started {
    padding: var(--space-24) 0;
    background: white;
}

.steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-8);
    max-width: 800px;
    margin: 0 auto;
}

.step {
    display: flex;
    gap: var(--space-6);
    align-items: flex-start;
}

.step-header {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.step-number {
    width: 40px;
    height: 40px;
    background: var(--primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    flex-shrink: 0;
}

.step-header h2 {
    margin: 0;
    font-size: var(--text-2xl);
    font-weight: 600;
    color: var(--text-primary);
}

.step-header p {
    margin: var(--space-1) 0 0 0;
    color: var(--text-secondary);
    font-size: var(--text-base);
}

.step-content h3 {
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-3);
}

.code-block {
    background: var(--bg-dark);
    color: var(--secondary);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    font-family: 'Monaco', monospace;
    font-size: var(--text-sm);
    margin: var(--space-3) 0;
    overflow-x: auto;
}

.step-content p {
    color: var(--text-secondary);
    margin-top: var(--space-2);
}

/* Examples Section */
.examples {
    padding: var(--space-24) 0;
    background: var(--bg-secondary);
}

/* Spacing between full-width example blocks on docs pages */
.example + .example {
    margin-top: var(--space-16);
}

.examples-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: var(--space-6);
}

.example-card {
    background: white;
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    border: 1px solid var(--border);
    transition: all 0.3s;
}

.example-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

/* Example section headers (full-width examples on docs pages) */
.example .example-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-3);
    flex-wrap: nowrap;
    margin-bottom: var(--space-3);
}

@media (max-width: 768px) {
    .example .example-header {
        flex-wrap: wrap;
        align-items: flex-start;
    }
}

.example .example-title {
    margin: 0;
    font-size: var(--text-2xl);
    font-weight: 600;
    line-height: 1.2;
    flex-shrink: 1;
    min-width: 0;
}

.example .example-tags {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.example-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: var(--space-4);
}

.example-header h3 {
    font-size: var(--text-lg);
    font-weight: 600;
}

.example-tag {
    background: var(--accent);
    color: white;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: 500;
}

.example-card p {
    color: var(--text-secondary);
    margin-bottom: var(--space-4);
    line-height: 1.6;
}

.example-features {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.example-features .feature {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.example-features .feature svg {
    color: var(--success);
    flex-shrink: 0;
}

.example-features .feature span {
    line-height: 1.4;
}

.example-tech {
    display: flex;
    gap: var(--space-2);
    margin-bottom: var(--space-4);
}

.tech-tag {
    background: var(--secondary);
    color: var(--text-secondary);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
}

.example-link {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.example-link:hover {
    color: var(--primary-hover);
}

.example-link i {
    width: 16px;
    height: 16px;
}

/* Difficulty Badges */
.difficulty-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--space-0-5) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    margin-left: var(--space-2);
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

.difficulty-badge.beginner {
    background-color: var(--success-bg);
    color: var(--success);
    border: 1px solid var(--success);
}

.difficulty-badge.intermediate {
    background-color: var(--warning-bg);
    color: var(--warning);
    border: 1px solid var(--warning);
}

.difficulty-badge.advanced {
    background-color: var(--error-bg);
    color: var(--error);
    border: 1px solid var(--error);
}

/* Section Badges for Navigation Groups */
.section-badge {
    display: inline-flex;
    align-items: center;
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-md);
    font-size: var(--text-xs);
    font-weight: var(--font-semibold);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-left: var(--space-3);
}

.section-badge.beginner {
    background-color: var(--success);
    color: white;
}

.section-badge.intermediate {
    background-color: var(--warning);
    color: white;
}

.section-badge.advanced {
    background-color: var(--error);
    color: white;
}

/* Sidebar Navigation Styles */
.doc-layout {
    display: flex;
    min-height: calc(100vh - 80px);
    margin: 0;
    padding: 0;
}

.doc-sidebar {
    width: 280px;
    background: var(--bg-secondary);
    border-right: 1px solid var(--border);
    position: fixed;
    top: 80px;
    left: 0;
    height: calc(100vh - 80px);
    overflow-y: auto;
    z-index: 100;
}

.sidebar-mobile-toggle {
    display: none;
    width: 100%;
    padding: var(--space-3);
    background: var(--primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    font-weight: var(--font-medium);
    cursor: pointer;
    margin-bottom: var(--space-4);
}

.sidebar-nav {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-6);
}

.sidebar-section {
    border-bottom: 1px solid var(--border-light);
    padding-bottom: var(--space-2);
}

.sidebar-section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.sidebar-section-title {
    font-size: var(--text-sm);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-3);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    text-align: left;
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--border);
    cursor: default;
    user-select: none;
}

.sidebar-section ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.sidebar-section li {
    margin: 0;
}

.sidebar-section a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-md);
    color: var(--text-secondary);
    text-decoration: none;
    font-size: var(--text-sm);
    font-weight: var(--font-normal);
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.sidebar-section a:hover {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
}

.sidebar-section a.active {
    background-color: var(--primary-bg);
    color: var(--primary);
    font-weight: var(--font-semibold);
    border-color: var(--primary);
    box-shadow: var(--shadow-sm);
    position: relative;
}

.sidebar-section a.active::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background-color: var(--primary);
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

.sidebar-section a.active .difficulty-badge {
    background-color: var(--primary);
    color: white;
    border-color: var(--primary);
}

/* Enhanced hover states */
.sidebar-section a:hover:not(.active) {
    background-color: var(--bg-secondary);
    color: var(--text-primary);
    border-color: var(--border);
    transform: translateX(2px);
}

/* Focus states for accessibility - only show on keyboard navigation */
.sidebar-section a:focus {
    outline: none;
}

.sidebar-section a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Enhanced Breadcrumb Styles */
.doc-breadcrumb {
    background: var(--bg-secondary);
    padding: var(--space-4) var(--space-6);
    font-size: var(--text-sm);
    color: var(--text-secondary);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
    margin-left: 280px;
}

.breadcrumb-nav {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    flex-wrap: wrap;
}

.breadcrumb-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.breadcrumb-item a {
    color: var(--primary);
    text-decoration: none;
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    transition: all 0.2s ease;
    font-weight: var(--font-medium);
}

.breadcrumb-item a:hover {
    background-color: var(--primary-bg);
    color: var(--primary-hover);
}

.breadcrumb-separator {
    color: var(--text-muted);
    font-size: var(--text-xs);
    margin: 0 var(--space-1);
}

.breadcrumb-current {
    color: var(--text-primary);
    font-weight: var(--font-medium);
}

.breadcrumb-context {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: var(--space-3);
    font-size: var(--text-xs);
    color: var(--text-muted);
}

.breadcrumb-context .difficulty-badge {
    margin-left: var(--space-2);
}

.breadcrumb-meta {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.breadcrumb-meta i {
    width: 14px;
    height: 14px;
}

/* Mobile breadcrumb */
@media (max-width: 768px) {
    .doc-breadcrumb {
        padding: var(--space-3) var(--space-4);
        font-size: var(--text-xs);
    }
    
    .breadcrumb-context {
        margin-left: 0;
        margin-top: var(--space-2);
        width: 100%;
    }
    
    .breadcrumb-nav {
        width: 100%;
    }
}

/* Main Content Area */
.doc-content {
    flex: 1;
    margin-left: 280px;
    padding: var(--space-8) var(--space-6);
    min-width: 0;
}

/* Mobile Responsive */
@media (max-width: 1024px) {
    .doc-layout {
        flex-direction: column;
    }
    
    .doc-sidebar {
        position: static;
        width: 100%;
        height: auto;
        border-right: none;
        border-bottom: 1px solid var(--border);
    }
    
    .doc-content {
        margin-left: 0;
    }
    
    .doc-breadcrumb {
        margin-left: 0;
    }
    
    .sidebar-mobile-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        transition: all 0.2s ease;
    }
    
    .sidebar-mobile-toggle:hover {
        background-color: var(--primary-hover);
        transform: translateY(-1px);
    }
    
    .sidebar-nav {
        display: none;
        animation: slideDown 0.3s ease-out;
    }
    
    .sidebar-nav.show {
        display: flex;
    }
    
    /* Slide down animation for mobile nav */
    @keyframes slideDown {
        from {
            opacity: 0;
            transform: translateY(-10px);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
    
    /* Adjust section badges for mobile */
    .section-badge {
        font-size: var(--text-xs);
        padding: var(--space-0-5) var(--space-2);
    }
    
    .difficulty-badge {
        font-size: 10px;
        padding: var(--space-0-5) var(--space-1-5);
    }
}

@media (max-width: 768px) {
    .doc-content {
        padding: var(--space-6) var(--space-4);
    }
    
    .sidebar-nav {
        padding: var(--space-4);
    }
    
    .sidebar-section-title {
        font-size: var(--text-xs);
    }
    
    .sidebar-section a {
        padding: var(--space-2);
        font-size: var(--text-xs);
    }
}

/* Next Steps and Related Topics System */
.content-navigation {
    margin-top: var(--space-16);
    padding-top: var(--space-8);
    border-top: 2px solid var(--border-light);
}

.next-steps-section {
    margin-bottom: var(--space-12);
}

.next-steps-title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin-bottom: var(--space-6);
}

.next-steps-title i {
    color: var(--primary);
}

.next-steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-4);
}

.next-step-card {
    background: var(--bg-primary);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.next-step-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}

.next-step-card.primary {
    border-color: var(--primary);
    background: var(--primary-bg);
}

.next-step-card.primary::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: var(--primary);
}

.next-step-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: var(--space-3);
}

.next-step-title {
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
}

.next-step-badges {
    display: flex;
    gap: var(--space-1);
    flex-shrink: 0;
    margin-left: var(--space-2);
}

.next-step-description {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.5;
    margin-bottom: var(--space-4);
}

.next-step-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--primary);
    text-decoration: none;
    font-weight: var(--font-medium);
    font-size: var(--text-sm);
    transition: all 0.2s ease;
}

.next-step-link:hover {
    color: var(--primary-hover);
    transform: translateX(2px);
}

.next-step-link i {
    width: 16px;
    height: 16px;
}

/* Related Topics Section */
.related-topics-section {
    margin-bottom: var(--space-8);
}

.related-topics-title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
    margin-bottom: var(--space-4);
}

.related-topics-title i {
    color: var(--accent);
}

.related-topics-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
}

.related-topic-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--space-3) var(--space-4);
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    border: 1px solid var(--border-light);
    transition: all 0.2s ease;
}

.related-topic-item:hover {
    background: var(--bg-primary);
    border-color: var(--border);
    transform: translateX(2px);
}

.related-topic-content {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    flex: 1;
}

.related-topic-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    background: var(--accent-bg);
    color: var(--accent);
    border-radius: var(--radius-md);
    flex-shrink: 0;
}

.related-topic-info {
    flex: 1;
}

.related-topic-title {
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--text-primary);
    margin: 0;
    line-height: 1.3;
}

.related-topic-description {
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
}

.related-topic-link {
    color: var(--primary);
    text-decoration: none;
    font-size: var(--text-xs);
    font-weight: var(--font-medium);
    display: flex;
    align-items: center;
    gap: var(--space-1);
    flex-shrink: 0;
}

.related-topic-link:hover {
    color: var(--primary-hover);
}

/* Cross-references */
.cross-references {
    background: var(--info-bg);
    border: 1px solid var(--info);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-8) 0;
}

.cross-references-title {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    color: var(--info);
    margin-bottom: var(--space-4);
}

.cross-references-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-3);
}

.cross-reference-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2);
    background: white;
    border-radius: var(--radius-md);
    border: 1px solid var(--info);
    transition: all 0.2s ease;
}

.cross-reference-item:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.cross-reference-item a {
    color: var(--info);
    text-decoration: none;
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
}

.cross-reference-item a:hover {
    color: var(--info-hover);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .next-steps-grid {
        grid-template-columns: 1fr;
    }
    
    .next-step-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-2);
    }
    
    .next-step-badges {
        margin-left: 0;
    }
    
    .cross-references-list {
        grid-template-columns: 1fr;
    }
}

/* Documentation Section */
.documentation {
    padding: var(--space-24) 0;
    background: white;
}

.docs-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-8);
}

.doc-category h3 {
    font-size: var(--text-xl);
    font-weight: 600;
    margin-bottom: var(--space-4);
    color: var(--primary);
}

.doc-list {
    list-style: none;
}

.doc-list li {
    margin-bottom: var(--space-2);
}

.doc-list a {
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.2s;
}

.doc-list a:hover {
    color: var(--primary);
}

/* Footer */
.footer {
    background: var(--bg-dark);
    color: var(--secondary);
    padding: var(--space-16) 0 var(--space-8) 0;
}

.footer-content {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--space-16);
    margin-bottom: var(--space-8);
}

.footer-brand h3 {
    font-size: var(--text-xl);
    color: var(--primary);
    margin-bottom: var(--space-2);
}

.footer-links {
    display: grid;
    grid-template-columns: repeat(4, minmax(160px, 1fr));
    gap: var(--space-8);
    align-items: start;
}

.link-group h4 {
    font-size: var(--text-base);
    font-weight: 600;
    margin-bottom: var(--space-3);
    color: white;
}

.link-group a {
    display: block;
    color: var(--text-muted);
    text-decoration: none;
    margin-bottom: var(--space-2);
    transition: color 0.2s;
}

.link-group a:hover {
    color: var(--primary);
}

.footer-bottom {
    border-top: 1px solid #2d3748;
    padding-top: var(--space-8);
    text-align: center;
    color: var(--text-muted);
}

/* Pricing Page Styles */
.pricing-section {
    margin: var(--space-8) 0;
    display: flex;
    justify-content: center;
}

.pricing-card {
    background: white;
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    box-shadow: var(--shadow-lg);
    border: 2px solid var(--border);
    max-width: 500px;
    width: 100%;
}

.pricing-card.free {
    border-color: var(--primary);
    position: relative;
}

.pricing-card.free::before {
    content: "Most Popular";
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--primary);
    color: white;
    padding: var(--space-1) var(--space-3);
    border-radius: var(--radius-full);
    font-size: 0.875rem;
    font-weight: 600;
}

.pricing-header {
    text-align: center;
    margin-bottom: var(--space-6);
}

.pricing-header h2 {
    font-size: 1.5rem;
    margin-bottom: var(--space-2);
    color: var(--text-primary);
}

.price {
    display: flex;
    align-items: baseline;
    justify-content: center;
    margin: var(--space-4) 0;
}

.currency {
    font-size: 1.5rem;
    color: var(--text-secondary);
}

.amount {
    font-size: 3rem;
    font-weight: 700;
    color: var(--primary);
    margin: 0 var(--space-1);
}

.period {
    font-size: 1rem;
    color: var(--text-secondary);
}

.pricing-description {
    color: var(--text-secondary);
    margin-top: var(--space-2);
}

.pricing-features {
    margin-bottom: var(--space-6);
}

.pricing-features h3 {
    font-size: 1.125rem;
    margin-bottom: var(--space-3);
    color: var(--text-primary);
}

.pricing-features ul {
    list-style: none;
    padding: 0;
}

.pricing-features li {
    display: flex;
    align-items: center;
    margin-bottom: var(--space-2);
    color: var(--text-secondary);
}

.pricing-features li i {
    color: var(--success);
    margin-right: var(--space-2);
    width: 16px;
    height: 16px;
}

.pricing-action {
    text-align: center;
}

.cost-breakdown {
    margin: var(--space-12) 0;
}

.cost-breakdown h2 {
    text-align: center;
    margin-bottom: var(--space-4);
}

.cost-breakdown > p {
    text-align: center;
    color: var(--text-secondary);
    margin-bottom: var(--space-8);
}

.cost-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-4);
}

.cost-item {
    background: white;
    padding: var(--space-6);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
}

.cost-item h3 {
    display: flex;
    align-items: center;
    margin-bottom: var(--space-2);
    color: var(--text-primary);
}

.cost-item h3 i {
    margin-right: var(--space-2);
    color: var(--primary);
}

.cost-item p {
    color: var(--text-secondary);
    margin-bottom: var(--space-2);
}

.cost-example {
    display: block;
    font-weight: 600;
    color: var(--primary);
    font-size: 0.875rem;
}

.cost-optimization {
    margin: var(--space-12) 0;
}

.cost-optimization h2 {
    text-align: center;
    margin-bottom: var(--space-8);
}

.tips-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-4);
}

.tip-card {
    background: white;
    padding: var(--space-6);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    text-align: center;
}

.tip-card h3 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--space-3);
    color: var(--text-primary);
}

.tip-card h3 i {
    margin-right: var(--space-2);
    color: var(--primary);
}

.tip-card p {
    color: var(--text-secondary);
}

.support-section {
    margin: var(--space-12) 0;
}

.support-section h2 {
    text-align: center;
    margin-bottom: var(--space-8);
}

.support-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-6);
}

.support-card {
    background: white;
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    border: 1px solid var(--border);
    text-align: center;
}

.support-card h3 {
    margin-bottom: var(--space-3);
    color: var(--text-primary);
}

.support-card p {
    color: var(--text-secondary);
    margin-bottom: var(--space-4);
}

.support-card ul {
    list-style: none;
    padding: 0;
    margin-bottom: var(--space-4);
}

.support-card li {
    color: var(--text-secondary);
    margin-bottom: var(--space-1);
}

/* Responsive Design */
@media (max-width: 768px) {
    .nav {
        flex-direction: column;
        gap: var(--space-4);
    }
    
    .nav-menu {
        flex-direction: column;
        gap: var(--space-4);
        text-align: center;
    }
    
    .hero-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .hero-title {
        font-size: var(--text-3xl);
    }
    
    .hero-buttons {
        justify-content: center;
        flex-wrap: wrap;
    }
    
    .architecture-diagram.grid-layout {
        grid-template-columns: 1fr;
    }
    
    .environment-flow {
        flex-direction: column;
        gap: var(--space-3);
    }
    
    .env-arrow {
        transform: rotate(90deg);
        margin: var(--space-2) 0;
    }
    
    .env-box {
        min-width: auto;
        width: 100%;
        max-width: 200px;
    }
    
    .features-grid {
        grid-template-columns: 1fr;
    }
    
    .examples-grid {
        grid-template-columns: 1fr;
    }
    
    .docs-grid {
        grid-template-columns: 1fr;
    }
    
    .footer-content {
        grid-template-columns: 1fr;
        text-align: center;
    }
    
    .footer-links {
        grid-template-columns: 1fr;
        text-align: center;
    }
}

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Animation classes */
.fade-in {
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.6s ease;
}

.fade-in.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Prism.js Integration - Override default theme with our colors */
code[class*="language-"],
pre[class*="language-"] {
    font-family: "Monaco", "Menlo", "Cascadia Code", Consolas, monospace;
    font-size: var(--text-sm);
    line-height: 1.5;
    text-align: left;
    white-space: pre;
    word-spacing: normal;
    word-break: normal;
    word-wrap: normal;
    tab-size: 4;
    hyphens: none;
}

/* Code blocks with Prism.js */
pre[class*="language-"] {
    padding: var(--space-6);
    margin: var(--space-6) 0;
    overflow: auto;
    border-radius: var(--radius-lg);
    background: var(--bg-dark) !important;
    border: 1px solid #2d3748;
}

/* Inline code with Prism.js */
:not(pre) > code[class*="language-"] {
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    white-space: normal;
    background: var(--bg-secondary) !important;
    color: var(--primary) !important;
}

/* Ensure our existing code-block class works with Prism.js */
.code-block {
    background: var(--bg-dark);
    color: var(--secondary);
    padding: var(--space-4);
    border-radius: var(--radius-md);
    font-family: 'Monaco', monospace;
    font-size: var(--text-sm);
    margin: var(--space-3) 0;
    overflow-x: auto;
}

/* Make sure Prism.js doesn't override our simple code blocks */
.code-block:not([class*="language-"]) {
    background: var(--bg-dark) !important;
    color: var(--secondary) !important;
}

/* Custom code block styling */
.code-block {
    position: relative;
}

.code-block .copy-button {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #d4d4d4;
    padding: 0.25rem 0.5rem;
    border-radius: 0.25rem;
    font-size: 0.75rem;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s;
}

.code-block:hover .copy-button {
    opacity: 1;
}

.copy-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

/* Duplicate sidebar styles removed - using main sidebar styles above */

/* Make documentation content consistent with main page styling */
.doc-content .container {
    max-width: none;
    padding: 0;
}

/* Documentation sections that match main page sections */
.doc-section {
    padding: var(--space-12) 0;
    border-bottom: 1px solid var(--border);
}

.doc-section:last-child {
    border-bottom: none;
}

.doc-section-header {
    text-align: left;
    margin-bottom: var(--space-8);
}

.doc-section-title {
    font-size: var(--text-2xl);
    font-weight: 700;
    margin-bottom: var(--space-4);
    color: var(--text-primary);
}

.doc-section-description {
    font-size: var(--text-lg);
    color: var(--text-secondary);
    line-height: 1.6;
}

/* Command sequences styling to match main page cards */
.command-sequence {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-6) 0;
    transition: all 0.3s;
}

.command-sequence:hover {
    box-shadow: var(--shadow-md);
    border-color: var(--primary);
}

.command-sequence h4 {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--primary);
    margin-bottom: var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.command-sequence h4::before {
    content: '▶';
    color: var(--accent);
    font-size: var(--text-sm);
}

/* Unified card styling system - Clean and professional */
.info-box {
    padding: var(--space-6);
    border-radius: var(--radius-md);
    margin: var(--space-6) 0;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-primary);
    position: relative;
}

.info-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--primary);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.info-box p {
    margin: 0;
    line-height: 1.6;
    color: var(--text-secondary);
}

.info-box h4,
.permission-card h4 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3) 0;
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    color: var(--text-primary);
}

.info-box h4 i,
.permission-card h4 i {
    flex-shrink: 0;
    color: var(--primary);
    width: 16px;
    height: 16px;
}

/* Permission grid and cards */
.permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: var(--space-6);
    margin: var(--space-6) 0;
}

.permission-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    transition: all 0.2s ease;
}

.permission-card:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.permission-card.developer {
    border-left: 4px solid var(--primary);
}

.permission-card.admin {
    border-left: 4px solid var(--accent);
}

.permission-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.permission-list li {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.permission-list li i {
    flex-shrink: 0;
}

/* Permission category styling */
.permission-category {
    background: var(--surface-alt);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-4) 0;
}

.permission-category h5 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--primary);
    margin-bottom: var(--space-3);
    font-size: var(--text-lg);
    font-weight: 600;
}

.permission-category h5 i {
    color: var(--primary);
    flex-shrink: 0;
}

.permission-category ul {
    margin: var(--space-2) 0 var(--space-3) var(--space-4);
}

.permission-category ul li {
    margin-bottom: var(--space-1);
    line-height: 1.5;
}

.permission-category code {
    background: var(--surface-highlight);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
}

/* Enhanced content sections for team setup documentation */
.content-section {
    margin: var(--space-8) 0;
    padding: var(--space-6) 0;
}

.content-section:not(:last-child) {
    border-bottom: 1px solid var(--border);
}

.content-section h2 {
    color: var(--primary);
    font-size: var(--text-2xl);
    font-weight: 600;
    margin-bottom: var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.content-section h3 {
    color: var(--text-primary);
    font-size: var(--text-xl);
    font-weight: 600;
    margin: var(--space-6) 0 var(--space-3) 0;
}

.content-section h4 {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 600;
    margin: var(--space-4) 0 var(--space-2) 0;
}

/* Setup path decision boxes */
.setup-path-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
    margin: var(--space-6) 0;
}

.setup-path-card {
    background: white;
    border: 2px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    transition: all 0.3s ease;
}

.setup-path-card.first-user {
    border-color: var(--success);
    background: var(--success-bg);
}

.setup-path-card.developer {
    border-color: var(--warning);
    background: var(--warning-bg);
}

.setup-path-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.setup-path-card h4 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
    font-size: var(--text-lg);
    font-weight: 600;
}

.setup-path-card.first-user h4 {
    color: var(--success);
}

.setup-path-card.developer h4 {
    color: var(--warning);
}

.setup-path-card ul,
.setup-path-card ol {
    margin: var(--space-3) 0;
    padding-left: var(--space-4);
}

.setup-path-card li {
    margin-bottom: var(--space-2);
    line-height: 1.5;
}

/* Prerequisites checklist */
.verification-checklist {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-6) 0;
}

.checklist-item {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-2) 0;
    border-bottom: 1px solid var(--border);
}

.checklist-item:last-child {
    border-bottom: none;
}

.checklist-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--success);
}

.checklist-item label {
    flex: 1;
    font-size: var(--text-base);
    color: var(--text-primary);
    cursor: pointer;
}

/* Permission setup options */
.permission-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
    margin: var(--space-4) 0;
}

.option-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    transition: all 0.2s ease;
}

.option-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.option-card.recommended {
    border-color: var(--success);
    background: var(--success-bg);
}

.option-card h5 {
    color: var(--primary);
    font-size: var(--text-base);
    font-weight: 600;
    margin-bottom: var(--space-2);
}

.option-card.recommended h5 {
    color: var(--success);
}

.option-card ul {
    margin: var(--space-2) 0;
    padding-left: var(--space-4);
}

.option-card li {
    margin-bottom: var(--space-1);
    font-size: var(--text-sm);
    line-height: 1.4;
}

.warning-note {
    background: var(--warning-bg);
    color: var(--warning);
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    margin-top: var(--space-2);
}

/* Troubleshooting sections */
.troubleshooting-section {
    margin: var(--space-8) 0;
}

.error-case {
    background: white;
    border: 1px solid var(--border);
    border-left: 4px solid var(--error);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    margin: var(--space-4) 0;
}

.error-case h5 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--error);
    font-size: var(--text-base);
    font-weight: 600;
    margin-bottom: var(--space-2);
}

.error-case h5 i {
    color: var(--error);
    flex-shrink: 0;
}

.error-case p {
    margin: var(--space-2) 0;
    line-height: 1.5;
}

.error-case ul {
    margin: var(--space-2) 0;
    padding-left: var(--space-4);
}

.error-case li {
    margin-bottom: var(--space-1);
    line-height: 1.4;
}

/* Policy JSON container with copy button */
.policy-json-container {
    position: relative;
}

.copy-button {
    position: absolute;
    top: var(--space-3);
    right: var(--space-3);
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    color: #d4d4d4;
    padding: var(--space-2) var(--space-3);
    border-radius: var(--radius-sm);
    font-size: var(--text-xs);
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.2s ease;
    display: flex;
    align-items: center;
    gap: var(--space-1);
}

.policy-json-container:hover .copy-button {
    opacity: 1;
}

.copy-button:hover {
    background: rgba(255, 255, 255, 0.2);
}

.copy-button i {
    width: 14px;
    height: 14px;
}

/* Navigation between sections */
.section-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: var(--space-8) 0;
    padding: var(--space-4) 0;
    border-top: 1px solid var(--border);
}

.nav-link {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--primary);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

.nav-link:hover {
    color: var(--primary-hover);
}

.nav-link.prev {
    flex-direction: row;
}

.nav-link.next {
    flex-direction: row-reverse;
}

.nav-link i {
    width: 16px;
    height: 16px;
}

/* Enhanced responsive design for new content */
@media (max-width: 768px) {
    .setup-path-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .permission-options {
        grid-template-columns: 1fr;
        gap: var(--space-3);
    }
    
    .section-navigation {
        flex-direction: column;
        gap: var(--space-3);
        text-align: center;
    }
    
    .content-section {
        padding: var(--space-4) 0;
    }
    
    .content-section h2 {
        font-size: var(--text-xl);
    }
    
    .content-section h3 {
        font-size: var(--text-lg);
    }
    
    .copy-button {
        position: static;
        opacity: 1;
        margin: var(--space-2) 0;
        background: var(--primary);
        color: white;
        border: none;
    }
    
    .policy-json-container {
        display: flex;
        flex-direction: column;
    }
    
    .doc-sidebar {
        width: 100%;
        position: static;
        height: auto;
    }
    
    .doc-content {
        max-width: 100%;
        padding: var(--space-4);
    }
    
    .doc-layout {
        flex-direction: column;
    }
    
    .go-to-top {
        bottom: var(--space-4);
        right: var(--space-4);
        width: 44px;
        height: 44px;
    }
}

@media (max-width: 480px) {
    .setup-path-card {
        padding: var(--space-4);
    }
    
    .setup-path-card h4 {
        font-size: var(--text-base);
    }
    
    .content-section h2 {
        font-size: var(--text-lg);
    }
    
    .content-section h3 {
        font-size: var(--text-base);
    }
    
    .nav-link {
        font-size: var(--text-sm);
    }
    
    .verification-checklist {
        padding: var(--space-4);
    }
    
    .option-card {
        padding: var(--space-3);
    }
}

/* Go to top button */
.go-to-top {
    position: fixed;
    bottom: var(--space-6);
    right: var(--space-6);
    width: 48px;
    height: 48px;
    background: var(--primary);
    color: white;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-lg);
}

.go-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.go-to-top:hover {
    background: var(--primary-hover);
    transform: translateY(-2px);
    box-shadow: var(--shadow-xl);
}

.go-to-top i {
    width: 20px;
    height: 20px;
}

/* Selected setup path styling */
.setup-path-card.selected {
    border-width: 3px;
    box-shadow: var(--shadow-lg);
    transform: translateY(-2px);
}

.setup-path-card.first-user.selected {
    border-color: var(--success);
    box-shadow: 0 8px 25px rgba(72, 187, 120, 0.2);
}

.setup-path-card.developer.selected {
    border-color: var(--warning);
    box-shadow: 0 8px 25px rgba(237, 137, 54, 0.2);
}

/* Current section highlighting */
.sidebar-nav a.current-section {
    background: var(--primary);
    color: white;
    border-radius: var(--radius-sm);
    padding: var(--space-1) var(--space-2);
    margin: var(--space-1) 0;
}

/* Enhanced info boxes with better spacing */
.info-box ul,
.analogy-box ul {
    margin: var(--space-3) 0;
    padding-left: var(--space-4);
}

.info-box li,
.analogy-box li {
    margin-bottom: var(--space-2);
    line-height: 1.5;
}

/* Box variants for different emphasis levels */
.box-subtle {
    background: var(--bg-subtle);
    border-color: var(--border-light);
}

.box-subtle::before {
    background: var(--text-muted);
}

.box-emphasis {
    background: var(--primary-bg);
    border-color: var(--primary);
}

.box-emphasis::before {
    background: var(--primary);
}

/* Small tech tags - refined and minimal */
.tech-tag-small {
    display: inline-block;
    margin: 1px 2px;
    padding: 1px 6px;
    background: var(--bg-subtle);
    color: var(--text-muted);
    border-radius: var(--radius-sm);
    font-size: 10px;
    font-weight: var(--font-medium);
    line-height: 1.2;
    border: 1px solid var(--border-light);
}

.tech-tags-container {
    font-size: var(--text-xs);
    color: var(--text-muted);
    line-height: 1.3;
    margin-top: 2px;
}

.tech-tag-success {
    background: var(--success-bg);
    color: var(--success);
    border-color: var(--success);
}

/* Real-world problem section styling */
.problem-showcase {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-6) 0;
}

.problem-showcase h6 {
    text-align: center;
    margin-bottom: var(--space-6);
    color: var(--text-primary);
    font-weight: var(--font-semibold);
    font-size: var(--text-lg);
}

.ml-architecture-grid {
    display: grid;
    grid-template-columns: 2fr auto 2fr;
    gap: var(--space-6);
    align-items: center;
    max-width: 1000px;
    margin: 0 auto;
}

.architecture-track {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-5);
    position: relative;
}

.architecture-track.pipeline::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--primary);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.architecture-track.services::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--success);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.track-title {
    text-align: center;
    margin-bottom: var(--space-3);
    font-weight: var(--font-semibold);
    font-size: var(--text-base);
}

.track-title.pipeline {
    color: var(--primary);
}

.track-title.services {
    color: var(--success);
}

.track-subtitle {
    text-align: center;
    font-size: var(--text-xs);
    color: var(--text-muted);
    margin-bottom: var(--space-4);
    font-style: italic;
}

.workflow-step {
    background: var(--bg-subtle);
    border: 1px solid var(--border-light);
    padding: var(--space-3);
    border-radius: var(--radius-sm);
    text-align: center;
}

.workflow-step.pipeline {
    background: var(--primary-bg);
    border-color: var(--primary);
}

.workflow-step.services {
    background: var(--success-bg);
    border-color: var(--success);
}

.workflow-description {
    font-weight: var(--font-medium);
    font-size: var(--text-sm);
    color: var(--text-primary);
    margin-bottom: var(--space-2);
}

.feature-store-connector {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}

.feature-store-box {
    background: var(--primary);
    color: white;
    padding: var(--space-3);
    border-radius: var(--radius-md);
    text-align: center;
    min-width: 120px;
}

.feature-store-title {
    font-weight: var(--font-semibold);
    font-size: var(--text-sm);
    margin-bottom: var(--space-1);
}

.feature-store-tech {
    font-size: var(--text-xs);
    opacity: 0.9;
}

.data-flow-indicator {
    color: var(--text-muted);
    font-size: var(--text-xs);
    text-align: center;
}

.comparison-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-6);
    margin: var(--space-6) 0;
}

.comparison-card {
    border-radius: var(--radius-md);
    padding: var(--space-5);
    border: 1px solid;
}

.comparison-card.traditional {
    background: var(--error-bg);
    border-color: var(--error);
}

.comparison-card.modelknife {
    background: var(--success-bg);
    border-color: var(--success);
}

.comparison-title {
    margin-bottom: var(--space-3);
    font-weight: var(--font-semibold);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.comparison-title.traditional {
    color: var(--error);
}

.comparison-title.modelknife {
    color: var(--success);
}

.comparison-list {
    font-size: var(--text-sm);
    margin: 0;
    padding-left: var(--space-4);
    line-height: 1.6;
}

.comparison-list li {
    margin-bottom: var(--space-2);
}

.insight-note {
    margin-top: var(--space-6);
    text-align: center;
    color: var(--text-muted);
    font-size: var(--text-sm);
    padding: var(--space-3);
    background: var(--bg-subtle);
    border-radius: var(--radius-md);
}

/* Responsive design for problem showcase */
@media (max-width: 768px) {
    .ml-architecture-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .feature-store-connector {
        order: -1;
        flex-direction: row;
        justify-content: center;
    }
    
    .data-flow-indicator {
        writing-mode: vertical-rl;
        text-orientation: mixed;
    }
    
    .comparison-grid {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .problem-showcase {
        padding: var(--space-4);
    }
}

/* Remove excessive shadows and gradients for flat design */
.card,
.feature-card,
.example-card {
    box-shadow: none;
    border: 1px solid var(--border-light);
    background: var(--surface);
}

.card:hover,
.feature-card:hover,
.example-card:hover {
    border-color: var(--border);
    transform: none;
}

/* Architecture overview section */
.architecture-overview {
    background: var(--bg-subtle);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-6);
    margin: var(--space-6) 0;
}

.architecture-title {
    text-align: center;
    color: var(--text-primary);
    margin-bottom: var(--space-6);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
}

/* Advanced path section */
.advanced-path-section {
    margin-top: var(--space-8);
    padding: var(--space-6);
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    position: relative;
}

.advanced-path-section::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--accent);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.advanced-path-section h4 {
    color: var(--text-primary);
    margin-bottom: var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
}

.advanced-path-section h4 i {
    color: var(--accent);
    width: 20px;
    height: 20px;
}

.advanced-path-section p {
    color: var(--text-secondary);
    margin-bottom: var(--space-4);
    line-height: 1.6;
}

/* Advanced topic cards */
.advanced-topic-card {
    background: var(--surface);
    padding: var(--space-6);
    border-radius: var(--radius-md);
    border: 1px solid var(--border);
    transition: var(--transition);
}

.advanced-topic-card:hover {
    border-color: var(--accent);
}

.advanced-topic-card h5 {
    color: var(--text-primary);
    margin-bottom: var(--space-2);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
}

.advanced-topic-card h5 i {
    color: var(--accent);
    width: 16px;
    height: 16px;
}

.advanced-topic-card p {
    font-size: var(--text-sm);
    color: var(--text-secondary);
    margin-bottom: var(--space-3);
    line-height: 1.5;
}

.advanced-topic-card a {
    color: var(--accent);
    font-weight: var(--font-semibold);
    text-decoration: none;
    font-size: var(--text-sm);
}

.advanced-topic-card a:hover {
    color: var(--accent-hover);
}

/* Learning journey section */
.learning-journey-section {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-6);
    margin: var(--space-16) 0;
    position: relative;
}

.learning-journey-section::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--info);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.learning-journey-section h3 {
    color: var(--text-primary);
    margin-bottom: var(--space-6);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
}

.learning-journey-section h3 i {
    color: var(--info);
    width: 24px;
    height: 24px;
}

.learning-step-header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.learning-step-header h4 {
    color: var(--text-primary);
    margin: 0;
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
}

.learning-step-list {
    color: var(--text-secondary);
    margin: 0;
    padding-left: var(--space-4);
    line-height: 1.6;
}

.learning-step-list li {
    margin-bottom: var(--space-2);
}

.learning-step-list a {
    color: var(--primary);
    text-decoration: none;
    font-weight: var(--font-medium);
}

.learning-step-list a:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

/* Simplified concepts flow - no boxes */
.concepts-flow {
    margin: var(--space-8) 0;
    padding: var(--space-6) 0;
    border-top: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.flow-section {
    text-align: center;
    margin: var(--space-6) 0;
}

.flow-section h4 {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-3);
}

.flow-items {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    margin: var(--space-4) 0;
    flex-wrap: wrap;
}

.flow-item {
    padding: var(--space-2) var(--space-4);
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    font-weight: var(--font-medium);
    color: var(--text-primary);
    font-size: var(--text-sm);
}

.flow-connector {
    color: var(--text-muted);
    font-weight: var(--font-bold);
    font-size: var(--text-lg);
}

.flow-description {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    font-style: italic;
    margin: 0;
}

.flow-divider {
    text-align: center;
    margin: var(--space-6) 0;
    position: relative;
}

.flow-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background: var(--border);
    z-index: 1;
}

.flow-divider span {
    background: var(--bg-primary);
    padding: 0 var(--space-3);
    color: var(--text-muted);
    font-size: var(--text-sm);
    position: relative;
    z-index: 2;
}

/* Simplified insights list - no box */
.insights-list {
    margin: var(--space-6) 0;
}

.insight-item {
    padding: var(--space-3) 0;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-secondary);
    line-height: 1.6;
}

.insight-item:last-child {
    border-bottom: none;
}

.insight-item strong {
    color: var(--text-primary);
}

.insight-item code {
    background: var(--bg-secondary);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--primary);
}

/* Simplified advanced topics - no boxes */
.advanced-topics {
    margin-top: var(--space-12);
    padding-top: var(--space-8);
    border-top: 1px solid var(--border);
}

.advanced-topics h4 {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-3);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.advanced-topics h4 i {
    color: var(--accent);
    width: 20px;
    height: 20px;
}

.advanced-topics p {
    color: var(--text-secondary);
    margin-bottom: var(--space-6);
}

.advanced-links {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.advanced-link {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-6);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    text-decoration: none;
    color: var(--text-primary);
    transition: var(--transition);
}

.advanced-link:hover {
    border-color: var(--accent);
    background: var(--bg-secondary);
}

.advanced-link i {
    color: var(--accent);
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.advanced-link div {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.advanced-link strong {
    color: var(--text-primary);
    font-weight: var(--font-semibold);
}

.advanced-link span {
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

/* Clean comparison - minimal design, no lines */
.approach-comparison {
    margin: var(--space-8) 0;
}

.approach-comparison h4 {
    color: var(--text-primary);
    font-size: var(--text-xl);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-8);
    text-align: center;
}

.comparison-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-16);
    margin-bottom: var(--space-8);
}

.comparison-side {
    /* No padding, clean layout */
}

.comparison-side h5 {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-6);
    text-align: center;
}

.approach-items {
    display: flex;
    flex-direction: column;
    gap: var(--space-6);
}

.approach-item {
    /* Clean item, no lines */
}

.approach-item strong {
    display: block;
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
    margin-bottom: var(--space-2);
}

.approach-item p {
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.6;
    margin: 0;
}

.approach-item code {
    background: var(--primary-bg);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--primary);
    font-weight: var(--font-medium);
}

.comparison-result {
    text-align: center;
    padding: var(--space-6) 0;
    color: var(--text-primary);
    font-size: var(--text-base);
    margin-top: var(--space-4);
}

.comparison-result strong {
    color: var(--accent);
}

/* Mobile responsive */
@media (max-width: 768px) {
    .comparison-layout {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }
    
    .comparison-side {
        margin-bottom: var(--space-6);
    }
    
    .comparison-side:last-child {
        margin-bottom: 0;
    }
}

/* Better code block styling */
.code-content {
    position: relative;
    margin: var(--space-4) 0;
}

.code-content:hover .copy-button {
    opacity: 1;
}

/* Enhanced button hover effects */
.btn {
    position: relative;
    overflow: hidden;
}

.btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    transition: left 0.5s;
}

.btn:hover::before {
    left: 100%;
}

/* Improved accessibility - only show focus on keyboard navigation */
.nav-link:focus,
.btn:focus,
.copy-button:focus {
    outline: none;
}

.nav-link:focus-visible,
.btn:focus-visible,
.copy-button:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
}

/* Reading progress indicator */
.reading-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(0, 0, 0, 0.1);
    z-index: 1001;
}

.reading-progress-bar {
    height: 100%;
    background: var(--primary);
    width: 0%;
    transition: width 0.1s ease;
}

/* Layout Fix Overrides */
.doc-layout {
    display: flex !important;
    min-height: calc(100vh - 80px) !important;
    margin: 0 !important;
    padding: 0 !important;
}

.doc-sidebar {
    width: 280px !important;
    background: var(--bg-secondary) !important;
    border-right: 1px solid var(--border) !important;
    position: fixed !important;
    top: 80px !important;
    left: 0 !important;
    height: calc(100vh - 80px) !important;
    overflow-y: auto !important;
    z-index: 100 !important;
}

.doc-content {
    flex: 1 !important;
    margin-left: 280px !important;
    margin-top: 60px !important;
    padding: var(--space-8) var(--space-6) !important;
    min-width: 0 !important;
}

.doc-breadcrumb {
    margin-left: 280px !important;
    position: fixed !important;
    top: 80px !important;
    right: 0 !important;
    z-index: 99 !important;
    width: calc(100% - 280px) !important;
}

/* Mobile Layout Fixes */
@media (max-width: 1024px) {
    .doc-layout {
        flex-direction: column !important;
    }
    
    .doc-sidebar {
        position: static !important;
        width: 100% !important;
        height: auto !important;
        border-right: none !important;
        border-bottom: 1px solid var(--border) !important;
    }
    
    .doc-content {
        margin-left: 0 !important;
        margin-top: 0 !important;
    }
    
    .doc-breadcrumb {
        margin-left: 0 !important;
        position: static !important;
        width: 100% !important;
    }
}

/* Print styles */
@media print {
    .header,
    .doc-sidebar,
    .section-navigation,
    .go-to-top,
    .copy-button,
    .reading-progress {
        display: none !important;
    }
    
    .doc-content {
        max-width: none;
        padding: 0;
    }
    
    .doc-layout {
        display: block;
    }
    
    .code-content {
        break-inside: avoid;
    }
}
    font-size: var(--text-sm);
    color: var(--primary-dark);
}

/* Verification results styling */
.verification-results {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin: var(--space-4) 0;
}

.result-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--surface-alt);
    border-left: 4px solid var(--success);
}

.result-item.success {
    border-left-color: var(--success);
    background: var(--success-bg);
}

.result-item.error {
    border-left-color: var(--error);
    background: var(--error-bg);
}

.result-item i {
    color: var(--success);
    flex-shrink: 0;
    margin-top: var(--space-1);
}

.result-item.error i {
    color: var(--error);
}

.result-item strong {
    color: var(--text-primary);
    font-weight: 600;
    display: block;
    margin-bottom: var(--space-1);
}

.result-item p {
    color: var(--text-secondary);
    margin: 0;
    font-size: var(--text-sm);
}

/* Troubleshooting section styling */
.troubleshooting-section {
    margin: var(--space-6) 0;
}

.error-case {
    background: var(--error-bg);
    border: 1px solid var(--error);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-4) 0;
}

.error-case h5 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--error);
    margin-bottom: var(--space-3);
    font-size: var(--text-base);
    font-weight: 600;
}

.error-case h5 i {
    color: var(--error);
    flex-shrink: 0;
}

.error-case p {
    margin: var(--space-2) 0;
    line-height: 1.6;
}

.error-case ul {
    margin: var(--space-2) 0 var(--space-2) var(--space-4);
}

.error-case ul li {
    margin-bottom: var(--space-1);
    line-height: 1.5;
}

/* Copy button styling for policy JSON */
.policy-json-container {
    position: relative;
}

.copy-button {
    position: absolute;
    top: var(--space-3);
    right: var(--space-3);
    background: var(--primary);
    color: white;
    border: none;
    border-radius: var(--radius-md);
    padding: var(--space-2) var(--space-3);
    font-size: var(--text-sm);
    font-weight: 500;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    transition: all 0.2s ease;
    z-index: 10;
}

.copy-button:hover {
    background: var(--primary-hover);
    transform: translateY(-1px);
    box-shadow: var(--shadow-md);
}

.copy-button.copied {
    background: var(--success);
}

.copy-button i {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Ensure code content has enough padding for the button */
.policy-json-container pre {
    padding-right: calc(var(--space-16) + var(--space-4));
}

/* API Reference styling */
.api-item {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-6) 0;
}

.api-item h3 {
    margin: 0 0 var(--space-3) 0;
    color: var(--primary);
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: var(--text-lg);
}

.api-item h4 {
    margin: var(--space-4) 0 var(--space-2) 0;
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: 600;
}

.api-item ul {
    margin: var(--space-2) 0 0 var(--space-4);
    color: var(--text-secondary);
}

.api-item ul li {
    margin-bottom: var(--space-1);
    line-height: 1.5;
}

.command-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-4);
    margin: var(--space-6) 0;
}

.command-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-6);
    transition: all 0.2s ease;
}

.command-card:hover {
    border-color: var(--primary);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.command-card h4 {
    margin: 0 0 var(--space-2) 0;
    color: var(--primary);
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: var(--text-sm);
}

.command-card p {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
    line-height: 1.4;
}

/* Grid layouts for cards */
.requirement-grid,
.next-steps-grid,
.monitoring-layers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--space-6);
    margin: var(--space-6) 0;
}

.requirement-card,
.next-step-card,
.layer-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    text-align: center;
    transition: all 0.2s ease;
}

.requirement-card:hover,
.next-step-card:hover,
.layer-card:hover {
    border-color: var(--primary);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.requirement-icon,
.step-icon,
.layer-icon {
    width: 48px;
    height: 48px;
    background: var(--primary);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto var(--space-4) auto;
    color: white;
}

.requirement-card h3,
.next-step-card h3,
.layer-card h3 {
    margin: 0 0 var(--space-2) 0;
    font-size: var(--text-lg);
    font-weight: 600;
}

.requirement-card p,
.next-step-card p,
.layer-card p {
    margin: 0 0 var(--space-4) 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

/* Installation and configuration methods */
.install-method,
.config-method {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-4) 0;
}

.install-method h3,
.config-method h3 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin: 0 0 var(--space-3) 0;
    color: var(--primary);
    font-size: var(--text-lg);
}

.install-method p,
.config-method p {
    margin: 0 0 var(--space-3) 0;
    color: var(--text-secondary);
}

/* Documentation header styling to match main page hero */
.doc-header {
    background: var(--bg-secondary);
    padding: var(--space-12) var(--space-8);
    margin: -var(--space-8) -var(--space-8) var(--space-8) -var(--space-8);
    border-radius: 0 0 var(--radius-2xl) var(--radius-2xl);
}

.doc-title {
    font-size: var(--text-4xl);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--space-4);
    line-height: 1.1;
}

.doc-description {
    font-size: var(--text-xl);
    color: var(--text-secondary);
    margin: 0;
    line-height: 1.5;
}

/* Documentation content styling */
.doc-content h1 {
    font-size: var(--text-3xl);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--space-6);
    border-bottom: 2px solid var(--border);
    padding-bottom: var(--space-4);
}

/* Override h1 styling when inside doc-header */
.doc-header .doc-title {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: var(--space-4);
}

/* Space between header band and first full-width example block */
.doc-header + .example {
    margin-top: var(--space-8);
}

.doc-content h2 {
    font-size: var(--text-2xl);
    font-weight: 600;
    color: var(--text-primary);
    margin: var(--space-8) 0 var(--space-4) 0;
}

.doc-content h3 {
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--text-primary);
    margin: var(--space-6) 0 var(--space-3) 0;
}

.doc-content h4 {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin: var(--space-4) 0 var(--space-2) 0;
}

/* Align icon and label in section headings like "Try This Example" */
.try-example h4,
.card h4,
.architecture-diagram h4 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.try-example h4 svg,
.card h4 svg,
.architecture-diagram h4 svg {
    width: 20px;
    height: 20px;
}

.doc-content p {
    color: var(--text-secondary);
    margin-bottom: var(--space-4);
    line-height: 1.7;
}

.doc-content ul, .doc-content ol {
    margin: var(--space-4) 0;
    padding-left: var(--space-6);
}

.doc-content li {
    color: var(--text-secondary);
    margin-bottom: var(--space-2);
    line-height: 1.6;
}

.doc-content blockquote {
    border-left: 4px solid var(--primary);
    background: var(--bg-secondary);
    padding: var(--space-4) var(--space-6);
    margin: var(--space-6) 0;
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.doc-content blockquote p {
    margin: 0;
    font-style: italic;
}

.doc-content pre {
    background: var(--bg-dark);
    color: var(--secondary);
    padding: var(--space-6);
    border-radius: var(--radius-lg);
    overflow-x: auto;
    margin: var(--space-6) 0;
    font-family: 'Monaco', 'Menlo', monospace;
    font-size: var(--text-sm);
    line-height: 1.5;
}

.doc-content code {
    background: var(--bg-secondary);
    color: var(--primary);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-family: 'Monaco', 'Menlo', monospace;
    font-size: var(--text-sm);
}

.doc-content pre code {
    background: none;
    color: var(--secondary);
    padding: 0;
}

.doc-content table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-6) 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.doc-content th,
.doc-content td {
    padding: var(--space-3) var(--space-4);
    text-align: left;
    border-bottom: 1px solid var(--border);
}

.doc-content th {
    background: var(--bg-secondary);
    font-weight: 600;
    color: var(--text-primary);
}

.doc-content td {
    color: var(--text-secondary);
}

.doc-content tr:last-child td {
    border-bottom: none;
}

.sidebar-nav {
    padding: var(--space-6);
}

.sidebar-section {
    margin-bottom: var(--space-6);
}

/* This rule is now consolidated above - removing duplicate */

.sidebar-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sidebar-nav li {
    margin-bottom: var(--space-1);
}

.sidebar-nav a {
    display: block;
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
    transition: all 0.2s ease;
    position: relative;
}

.sidebar-nav a:hover {
    background: white;
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.sidebar-nav a.active {
    background: var(--primary);
    color: white;
    font-weight: 500;
}

.sidebar-nav a.active::before {
    content: '';
    position: absolute;
    left: -6px;
    top: 50%;
    transform: translateY(-50%);
    width: 3px;
    height: 20px;
    background: var(--primary);
    border-radius: 2px;
}

.sidebar-subsection {
    margin-left: var(--space-4);
    margin-top: var(--space-2);
}

.sidebar-subsection a {
    font-size: var(--text-xs);
    color: var(--text-muted);
    padding: var(--space-1) var(--space-2);
}

/* Mobile Sidebar */
@media (max-width: 768px) {
    .doc-page-body {
        padding-top: 120px; /* More space for mobile header */
    }
    
    .doc-layout {
        flex-direction: column;
    }
    
    .doc-sidebar {
        width: 100%;
        height: auto;
        position: relative;
        top: 0;
        border-right: none;
        border-bottom: 1px solid var(--border);
    }
    
    .doc-content {
        max-width: 100%;
        padding: var(--space-4);
    }
    
    .doc-header {
        margin: -var(--space-4) -var(--space-4) var(--space-4) -var(--space-4);
        padding: var(--space-8) var(--space-4);
    }
    
    .doc-title {
        font-size: var(--text-3xl);
    }
    
    .doc-description {
        font-size: var(--text-lg);
    }
    
    .command-sequence {
        padding: var(--space-4);
        margin: var(--space-4) 0;
    }
    
    .sidebar-mobile-toggle {
        display: block;
        width: 100%;
        background: var(--primary);
        color: white;
        border: none;
        padding: var(--space-3);
        font-weight: 500;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
    }
    
    .sidebar-nav {
        display: none;
    }
    
    .sidebar-nav.show {
        display: block;
    }
}

@media (min-width: 769px) {
    .sidebar-mobile-toggle {
        display: none;
    }
}

/* Breadcrumb for documentation pages */
.doc-breadcrumb {
    background: var(--bg-secondary);
    padding: var(--space-4) var(--space-8);
    border-bottom: 1px solid var(--border);
    font-size: var(--text-sm);
    color: var(--text-muted);
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    z-index: 999;
}

.doc-breadcrumb a {
    color: var(--primary);
    text-decoration: none;
}

.doc-breadcrumb a:hover {
    text-decoration: underline;
}

/* Table of Contents within content */
.doc-toc {
    background: var(--bg-secondary);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-6) 0;
    border-left: 4px solid var(--primary);
}

.doc-toc h3 {
    color: var(--primary);
    margin-bottom: var(--space-4);
    font-size: var(--text-lg);
}

.doc-toc ul {
    list-style: none;
    padding: 0;
}

.doc-toc li {
    margin-bottom: var(--space-2);
}

.doc-toc a {
    color: var(--text-secondary);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2);
    border-radius: var(--radius-md);
    transition: all 0.2s;
}

.doc-toc a:hover {
    background: white;
    color: var(--primary);
}

/* General content card styling - semantic and reusable */
.card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    margin: var(--space-8) 0;
    transition: all 0.3s ease;
    box-shadow: var(--shadow-sm);
}

.card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}

/* General header styling for cards */
.card-header {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

/* General icon styling for cards */
.card-icon {
    width: 56px;
    height: 56px;
    background: var(--primary);
    border-radius: var(--radius-2xl);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Text content area */
.card-header > div:last-child {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

/* Ensure title and subtitle have proper spacing */
.card-header h2 {
    margin: 0 0 var(--space-1) 0;
    line-height: 1.2;
    padding-top: 12px; /* Fine-tune alignment with icon center (56px icon / 2 = 28px center) */
}

.card-header p {
    margin: 0;
    line-height: 1.4;
}

.card-icon i,
.card-icon svg {
    color: white !important;
    stroke: white !important;
    width: 28px;
    height: 28px;
}

/* General title and subtitle styling */
.card-title,
.concept-title,
.config-title {
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--space-1) 0;
    line-height: 1.2;
}

.card-subtitle,
.concept-subtitle,
.config-subtitle {
    font-size: var(--text-base);
    color: var(--text-muted);
    font-weight: 500;
    margin: 0;
    line-height: 1.4;
}

.concept-description {
    font-size: var(--text-base);
    color: var(--text-secondary);
    line-height: 1.7;
    margin-bottom: var(--space-6);
}

.concept-characteristics {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--space-3);
    margin-top: var(--space-6);
}

.characteristic {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    padding: var(--space-3);
    background: var(--bg-secondary);
    border-radius: var(--radius-md);
    font-size: var(--text-sm);
}

.characteristic i,
.characteristic svg {
    color: var(--success) !important;
    stroke: var(--success) !important;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
}

/* Relationship diagram styling */
.relationship-diagram {
    background: var(--bg-secondary);
    border-radius: var(--radius-2xl);
    padding: var(--space-8);
    margin: var(--space-12) 0;
    border: 2px solid var(--border);
}

.relationship-diagram h3 {
    text-align: center;
    color: var(--primary);
    margin-bottom: var(--space-8);
    font-size: var(--text-xl);
}

.flow-diagram {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-4);
    margin-bottom: var(--space-8);
    flex-wrap: wrap;
}

.flow-step {
    background: white;
    border: 2px solid var(--primary);
    border-radius: var(--radius-lg);
    padding: var(--space-4) var(--space-6);
    text-align: center;
    font-weight: 600;
    color: var(--primary);
    min-width: 120px;
}

.flow-step small {
    display: block;
    font-size: var(--text-xs);
    color: var(--text-muted);
    font-weight: 400;
    margin-top: var(--space-1);
}

.flow-arrow {
    font-size: var(--text-xl);
    font-weight: 700;
    color: var(--accent);
}

/* Deployment table styling */
.deployment-table {
    width: 100%;
    border-collapse: collapse;
    margin: var(--space-8) 0;
    background: white;
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border);
}

.deployment-table th {
    background: var(--primary);
    color: white;
    font-weight: 600;
    padding: var(--space-4);
    text-align: left;
}

.deployment-table td {
    padding: var(--space-4);
    border-bottom: 1px solid var(--border);
    color: var(--text-secondary);
}

.deployment-table tr:last-child td {
    border-bottom: none;
}

.deployment-table tr:nth-child(even) {
    background: var(--bg-secondary);
}

.deployment-table code {
    background: var(--bg-dark);
    color: var(--secondary);
    padding: var(--space-1) var(--space-2);
    border-radius: var(--radius-sm);
    font-family: 'Monaco', monospace;
    font-size: var(--text-xs);
}

/* Unified box styling - Use same style as info-box for consistency */
.analogy-box {
    padding: var(--space-5) var(--space-6);
    border-radius: var(--radius-md);
    margin: var(--space-6) 0;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-primary);
    position: relative;
}

.analogy-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--accent);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.analogy-box h4 {
    color: var(--text-primary);
    margin-bottom: var(--space-3);
    display: flex;
    align-items: center;
    gap: var(--space-2);
    font-size: var(--text-base);
    font-weight: var(--font-semibold);
}

.analogy-box h4 i,
.analogy-box h4 svg {
    color: var(--accent) !important;
    stroke: var(--accent) !important;
    width: 16px;
    height: 16px;
}

.analogy-box p {
    color: var(--text-secondary);
    margin-bottom: var(--space-3);
    line-height: 1.6;
}

.analogy-box ul {
    color: var(--text-secondary);
    margin: var(--space-3) 0;
    padding-left: var(--space-4);
}

.analogy-box li {
    color: var(--text-secondary);
    margin-bottom: var(--space-2);
    line-height: 1.5;
}

/* Mobile responsiveness for cards */
@media (max-width: 768px) {
    .card {
        padding: var(--space-6);
        margin: var(--space-6) 0;
    }
    
    .card-header {
        flex-direction: column;
        text-align: center;
        gap: var(--space-3);
    }
    
    .concept-characteristics {
        grid-template-columns: 1fr;
    }
    
    .flow-diagram {
        flex-direction: column;
        gap: var(--space-2);
    }
    
    .flow-step {
        min-width: auto;
        width: 100%;
    }
    
    .flow-arrow {
        transform: rotate(90deg);
    }
    
    .deployment-table {
        font-size: var(--text-sm);
    }
    
    .deployment-table th,
    .deployment-table td {
        padding: var(--space-2);
    }
}
/* Add
itional mobile styles that were truncated */
@media (min-width: 769px) {
    .sidebar-mobile-toggle {
        display: none;
    }
}



/* Page header styling */
.page-header {
    text-align: center;
    margin-bottom: var(--space-12);
    padding: var(--space-8) 0;
}

.page-header h1 {
    font-size: var(--text-4xl);
    font-weight: 700;
    color: var(--text-primary);
    margin-bottom: var(--space-4);
}

.page-description {
    font-size: var(--text-xl);
    color: var(--text-secondary);
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Main content area for documentation pages */
.main-content {
    padding: var(--space-8) 0;
    min-height: calc(100vh - 160px);
}

/* Ensure proper spacing and layout for sidebar pages */
.doc-layout .doc-content .container {
    max-width: none;
    padding: 0;
}

/* Fix for cards in sidebar layout */
.doc-content .card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-8);
    margin: var(--space-8) 0;
    transition: all 0.3s ease;
}

.doc-content .card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}

/* Ensure proper styling for all documentation elements */
.doc-content .code-preview {
    background: var(--bg-dark);
    border-radius: var(--radius-2xl);
    overflow: hidden;
    box-shadow: var(--shadow-lg);
    margin: var(--space-6) 0;
}

.doc-content .code-preview .code-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--space-4);
    background: #1a202c;
    border-bottom: 1px solid #2d3748;
}

.doc-content .code-preview .code-title {
    color: #e2e8f0;
    font-size: var(--text-sm);
    font-weight: 500;
}

.doc-content .code-preview .code-content {
    padding: var(--space-6);
}

.doc-content .code-preview .code-content pre {
    margin: 0;
    font-family: 'Monaco', 'Menlo', monospace;
    font-size: var(--text-sm);
    line-height: 1.5;
    background: transparent;
    color: #e2e8f0;
}

/* Fix radius variables that might be missing */
:root {
    --radius-full: 9999px;
}

/* Additional mobile responsiveness */
@media (max-width: 768px) {
    .doc-breadcrumb {
        padding: var(--space-3) var(--space-4);
        margin-top: 120px;
    }
    
    .page-header {
        padding: var(--space-6) var(--space-4);
    }
    
    .page-header h1 {
        font-size: var(--text-3xl);
    }
    
    .page-description {
        font-size: var(--text-lg);
    }
}

/* Mobile responsiveness for card headers */
@media (max-width: 768px) {
    .card-header {
        flex-direction: column;
        text-align: center;
        gap: var(--space-3);
    }
    
    .card-icon {
        align-self: center;
    }
    
    .card-title {
        font-size: var(--text-xl);
    }
}

/* Fix for card-header in sidebar layout */
.doc-content .card-header {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.doc-content .card-header > div:last-child {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.doc-content .card-title {
    font-size: var(--text-2xl);
    font-weight: 700;
    color: var(--text-primary);
    margin: 0 0 var(--space-2) 0;
    line-height: 1.2;
    padding-top: 12px; /* Fine-tune alignment with icon center (56px icon / 2 = 28px center) */
}

.doc-content .card-subtitle,
.doc-content .concept-subtitle {
    font-size: var(--text-base);
    color: var(--text-muted);
    margin: 0;
    line-height: 1.4;
}

.doc-content .card-icon {
    width: 56px;
    height: 56px;
    background: var(--primary);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.doc-content .card-icon i,
.doc-content .card-icon svg {
    color: white !important;
    stroke: white !important;
    width: 24px;
    height: 24px;
}

/* Table of Contents styling */
.toc {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-8) 0;
}

.toc h3 {
    font-size: var(--text-lg);
    font-weight: 600;
    color: var(--text-primary);
    margin-bottom: var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.toc h3::before {
    content: '📋';
    font-size: var(--text-base);
}

.toc ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.toc li {
    margin-bottom: var(--space-2);
}

.toc a {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    padding: var(--space-2) var(--space-3);
    color: var(--text-secondary);
    text-decoration: none;
    border-radius: var(--radius-md);
    transition: all 0.2s ease;
}

.toc a:hover {
    background: white;
    color: var(--primary);
    box-shadow: var(--shadow-sm);
}

.toc a i,
.toc a svg {
    color: var(--primary);
    width: 16px;
    height: 16px;
}

/* Breadcrumb styling (for pages that use .breadcrumb instead of .doc-breadcrumb) */
.breadcrumb {
    background: var(--bg-secondary);
    padding: var(--space-3) 0;
    margin-bottom: var(--space-6);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.breadcrumb a {
    color: var(--primary);
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

/* Service type cards styling */
.service-type-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin: var(--space-6) 0;
    transition: all 0.3s ease;
}

.service-type-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
    border-color: var(--primary);
}

.service-type-header {
    display: flex;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-4);
}

.service-type-icon {
    width: 40px;
    height: 40px;
    background: var(--primary);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.service-type-icon i,
.service-type-icon svg {
    color: white !important;
    stroke: white !important;
    width: 20px;
    height: 20px;
}

.service-type-title {
    font-size: var(--text-xl);
    font-weight: 600;
    color: var(--text-primary);
    margin: 0;
}

/* Fix mobile responsiveness for concept headers */
@media (max-width: 768px) {
    .doc-content .card-header {
        flex-direction: column;
        text-align: center;
        gap: var(--space-3);
    }
    
    .doc-content .card-icon {
        align-self: center;
    }
    
    .doc-content .card-title {
        font-size: var(--text-xl);
    }
    
    .toc {
        padding: var(--space-4);
    }
    
    .service-type-header {
        flex-direction: column;
        text-align: center;
        gap: var(--space-2);
    }
    
    .service-type-icon {
        align-self: center;
    }
}
/
* Platform Tabs Styling */
.platform-tabs {
    display: flex;
    gap: var(--space-1);
    margin-bottom: var(--space-6);
    border-bottom: 1px solid var(--border);
}

.platform-tab {
    padding: var(--space-3) var(--space-6);
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: var(--text-base);
    font-weight: 500;
    color: var(--text-muted);
    cursor: pointer;
    transition: all 0.2s;
}

.platform-tab:hover {
    color: var(--text-primary);
    background: var(--bg-secondary);
}

.platform-tab.active {
    color: var(--primary);
    border-bottom-color: var(--primary);
    background: var(--bg-secondary);
}

.platform-content {
    display: none;
    padding: var(--space-6) 0;
}

.platform-content.active {
    display: block;
}

.install-option {
    margin-bottom: var(--space-8);
    padding: var(--space-6);
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
}

.install-option h4 {
    color: var(--primary);
    margin-bottom: var(--space-4);
    font-size: var(--text-lg);
    font-weight: 600;
}

.install-option p {
    margin-bottom: var(--space-3);
    color: var(--text-secondary);
}

.install-option ul {
    margin-left: var(--space-6);
    color: var(--text-secondary);
}

.install-option ul li {
    margin-bottom: var(--space-2);
}}


/* Navigation Buttons */
.nav-buttons {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--space-16);
    padding-top: var(--space-8);
    border-top: 1px solid var(--border);
    gap: var(--space-4);
    width: 100%;
}

.nav-buttons > div {
    flex: 0 1 auto;
    display: flex;
    max-width: 48%;
}

.nav-buttons > div:first-child {
    justify-content: flex-start;
}

.nav-buttons > div:last-child {
    justify-content: flex-end;
}

.nav-buttons .btn {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-width: 160px;
    justify-content: center;
    white-space: nowrap;
    flex-shrink: 0;
}

.nav-buttons .btn i {
    width: 16px;
    height: 16px;
}

/* Ensure nav-buttons container doesn't overflow */
.doc-content .nav-buttons {
    max-width: 100%;
    overflow: visible;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
}

/* Responsive nav-buttons */
@media (max-width: 768px) {
    .nav-buttons {
        flex-direction: column;
        gap: var(--space-4);
    }
    
    .nav-buttons > div {
        width: 100%;
        justify-content: center;
    }
    
    .nav-buttons .btn {
        width: 100%;
        justify-content: center;
    }
}

@media (min-width: 769px) {
    .nav-buttons {
        flex-direction: row;
        flex-wrap: nowrap;
    }
}
/* 
Troubleshooting page styles */
.symptom-box h4,
.debug-steps h4,
.solution-box h4 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-3);
}

.symptom-box h4 i,
.debug-steps h4 i,
.solution-box h4 i {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.troubleshoot-section {
    margin-bottom: var(--space-8);
}

.problem-header {
    display: flex;
    align-items: center;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
}

.problem-icon {
    width: 48px;
    height: 48px;
    background: var(--error);
    border-radius: var(--radius-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.problem-icon i {
    color: white;
    width: 24px;
    height: 24px;
}

/* Unified box styling for troubleshooting boxes */
.symptom-box,
.debug-steps,
.solution-box {
    padding: var(--space-5) var(--space-6);
    border-radius: var(--radius-md);
    margin: var(--space-6) 0;
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text-primary);
    position: relative;
}

.symptom-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--warning);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.debug-steps::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--info);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.solution-box::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 3px;
    background: var(--success);
    border-radius: var(--radius-sm) 0 0 var(--radius-sm);
}

.log-output {
    background: var(--bg-dark);
    color: #e2e8f0;
    padding: var(--space-4);
    border-radius: var(--radius-md);
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: var(--text-sm);
    margin: var(--space-4) 0;
    overflow-x: auto;
}

.log-timestamp {
    color: #9ca3af;
}

.log-error {
    color: #f87171;
    font-weight: 600;
}

.log-warning {
    color: #fbbf24;
    font-weight: 600;
}

.log-info {
    color: #60a5fa;
    font-weight: 600;
}

/* Benefits and comparison styles */
.benefit-card {
    background: var(--bg-secondary);
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    padding: var(--space-6);
    transition: all 0.2s ease;
}

.benefit-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.benefit-card h4 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    color: var(--text-primary);
    margin-bottom: var(--space-4);
    font-size: var(--text-lg);
    font-weight: 600;
}

.benefit-card h4 i {
    color: var(--primary);
}

.benefit-card ul {
    list-style: none;
    padding: 0;
}

.benefit-card ul li {
    padding: var(--space-2) 0;
    padding-left: var(--space-6);
    position: relative;
    color: var(--text-secondary);
}

.benefit-card ul li:before {
    content: "→";
    position: absolute;
    left: 0;
    color: var(--primary);
    font-weight: bold;
}

/* Comparison table improvements */
.comparison-table table {
    font-size: var(--text-sm);
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.comparison-table th {
    background: var(--surface-alt);
    font-weight: 600;
    color: var(--text-primary);
}

.comparison-table td {
    vertical-align: top;
}

.comparison-table tr:hover {
    background: var(--bg-secondary);
}

/* Code content styling */
.code-content {
    background: var(--bg-dark);
    border-radius: var(--radius-md);
    padding: var(--space-4);
    margin: var(--space-4) 0;
    overflow-x: auto;
    /* Better mobile scrolling */
    -webkit-overflow-scrolling: touch;
    /* Ensure content doesn't break layout */
    min-width: 0;
    word-wrap: break-word;
}

.code-content pre {
    margin: 0;
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: var(--text-sm);
    color: #e2e8f0;
    line-height: 1.6;
    /* Prevent text wrapping, allow horizontal scroll */
    white-space: pre;
    overflow-x: auto;
    /* Better mobile scrolling */
    -webkit-overflow-scrolling: touch;
}

/* Mobile responsiveness for code blocks */
@media (max-width: 768px) {
    .code-content {
        /* Reduce padding on mobile */
        padding: var(--space-3);
        /* Slightly smaller font on mobile for better fit */
        font-size: calc(var(--text-sm) * 0.9);
    }
    
    .code-content pre {
        /* Ensure horizontal scrolling works smoothly on mobile */
        -webkit-overflow-scrolling: touch;
        /* Add subtle scroll indicator */
        scrollbar-width: thin;
    }
}

/* Go to Top Button Styles */
.go-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background: var(--primary);
    border: none;
    border-radius: 50%;
    color: white;
    font-size: 24px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.go-to-top.visible {
    opacity: 1;
    visibility: visible;
}

.go-to-top:hover {
    background: var(--primary-dark);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);
}

.go-to-top:active {
    transform: translateY(0);
}

/* Responsive adjustments for go to top button */
@media (max-width: 768px) {
    .go-to-top {
        bottom: 20px;
        right: 20px;
        width: 45px;
        height: 45px;
        font-size: 20px;
    }
}

/* Scroll padding for anchor links (prevents content being hidden by fixed headers) */
html {
    scroll-padding-top: 120px;
}

/* Fix anchor scrolling for headings with IDs */
h1[id]::before,
h2[id]::before,
h3[id]::before,
h4[id]::before,
h5[id]::before,
h6[id]::before {
    content: '';
    display: block;
    height: 120px;
    margin-top: -120px;
    visibility: hidden;
}

/* No-border modifier class for cleaner, professional card layouts */
.card.no-border {
    border: none;
    box-shadow: none;
    background: transparent;
    padding: var(--space-6) 0;
}

/* Professional hover effects - No visual changes on hover for clean, professional look */
.card.no-border:hover {
    transform: none;
    border-color: transparent;
    box-shadow: none;
    background: transparent;
    border-radius: none;
}

/* Alternative: use subtle divider instead of border */
.card.no-border.divider::before {
     content: '';
    display: block;
    width: 60px;
    height: 3px;
    background: var(--primary);
    margin: 0 0 var(--space-6) 0;
    border-radius: 2px;
}
/* Al
ert Component Styles */
.alert {
    padding: var(--space-4) var(--space-6);
    border-radius: var(--radius-md);
    margin: var(--space-4) 0;
    border-left: 4px solid;
    background: var(--bg-secondary);
}

.alert h4 {
    margin: 0 0 var(--space-3) 0;
    font-size: var(--text-lg);
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.alert h4 i {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

.alert p {
    margin: 0 0 var(--space-2) 0;
    color: var(--text-secondary);
}

.alert ul {
    margin: var(--space-2) 0 0 var(--space-6);
    color: var(--text-secondary);
}

.alert ul li {
    margin-bottom: var(--space-2);
}

.alert ul li strong {
    color: var(--text-primary);
    font-weight: 600;
}

/* Alert variants */
.alert.alert-info {
    border-left-color: var(--primary);
    background: var(--surface-highlight);
}

.alert.alert-info h4 {
    color: var(--primary);
}

.alert.alert-success {
    border-left-color: var(--success);
    background: var(--success-bg);
}

.alert.alert-success h4 {
    color: var(--success);
}

.alert.alert-warning {
    border-left-color: var(--warning);
    background: var(--warning-bg);
}

.alert.alert-warning h4 {
    color: var(--warning);
}

.alert.alert-error {
    border-left-color: var(--error);
    background: var(--error-bg);
}

.alert.alert-error h4 {
    color: var(--error);
}
/
* AWS Console Setup Instructions Styles */
.permission-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-4);
    margin: var(--space-4) 0;
}

.option-card {
    padding: var(--space-4);
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    background: var(--bg-secondary);
}

.option-card.recommended {
    border-color: var(--success);
    background: var(--success-bg);
}

.option-card h5 {
    margin-bottom: var(--space-2);
    color: var(--text-primary);
    font-weight: 600;
}

.option-card.recommended h5 {
    color: var(--success);
}

.option-card ul {
    margin-left: var(--space-4);
    margin-top: var(--space-2);
}

.warning-note {
    margin-top: var(--space-2);
    padding: var(--space-2);
    background: var(--warning-bg);
    border-radius: var(--radius-sm);
    font-size: var(--text-sm);
    color: var(--warning);
}

.verification-checklist {
    margin: var(--space-4) 0;
}

.checklist-item {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
    padding: var(--space-2);
    background: var(--surface-alt);
    border-radius: var(--radius-sm);
}

.checklist-item input[type="checkbox"] {
    margin: 0;
}

.checklist-item label {
    margin: 0;
    font-weight: 500;
    color: var(--text-primary);
}

.verification-results {
    margin: var(--space-4) 0;
}

.result-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    margin-bottom: var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-lg);
    background: var(--surface-alt);
}

.result-item.success {
    background: var(--success-bg);
    border-left: 4px solid var(--success);
}

.result-item i {
    color: var(--success);
    margin-top: var(--space-1);
}

.result-item div strong {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--text-primary);
    font-weight: 600;
}

.result-item div p {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.troubleshooting-section {
    margin: var(--space-6) 0;
}

.error-case {
    margin-bottom: var(--space-6);
    padding: var(--space-4);
    border: 1px solid var(--error);
    border-radius: var(--radius-lg);
    background: var(--error-bg);
}

.error-case h5 {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-bottom: var(--space-2);
    color: var(--error);
    font-weight: 600;
}

.error-case h5 i {
    color: var(--error);
}

.error-case p {
    margin-bottom: var(--space-2);
}

.error-case ul {
    margin-left: var(--space-4);
}

/* Responsive adjustments for console setup */
@media (max-width: 768px) {
    .permission-options {
        grid-template-columns: 1fr;
    }
    
    .result-item {
        flex-direction: column;
        gap: var(--space-2);
    }
    
    .result-item i {
        align-self: flex-start;
    }
}
/* Enh
anced Setup Process Styles */
.resource-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: var(--space-4);
    margin: var(--space-6) 0;
}

.resource-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-4);
    transition: all 0.2s;
}

.resource-card:hover {
    border-color: var(--primary);
    box-shadow: var(--shadow-md);
}

.resource-card h5 {
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: 600;
    margin-bottom: var(--space-2);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.resource-card h5 i {
    color: var(--primary);
    width: 16px;
    height: 16px;
}

.resource-card p {
    font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
    font-size: var(--text-sm);
    color: var(--text-muted);
    background: var(--bg-secondary);
    padding: var(--space-2);
    border-radius: var(--radius-sm);
    margin-bottom: var(--space-3);
}

.resource-details p {
    font-family: var(--font-family);
    background: none;
    padding: 0;
    margin-bottom: var(--space-2);
    font-size: var(--text-sm);
    color: var(--text-secondary);
}

.resource-details p strong {
    color: var(--text-primary);
    font-weight: 600;
}

.group-details {
    margin: var(--space-6) 0;
}

.group-card {
    background: white;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-6);
    margin-bottom: var(--space-4);
}

.group-card h5 {
    color: var(--text-primary);
    font-size: var(--text-lg);
    font-weight: 600;
    margin-bottom: var(--space-4);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.group-card h5 i {
    color: var(--primary);
    width: 20px;
    height: 20px;
}

.group-info p {
    margin-bottom: var(--space-3);
    color: var(--text-secondary);
    line-height: 1.6;
}

.group-info p strong {
    color: var(--text-primary);
    font-weight: 600;
}

.group-info ul {
    margin: var(--space-2) 0 var(--space-3) var(--space-4);
    color: var(--text-secondary);
}

.group-info ul li {
    margin-bottom: var(--space-1);
    line-height: 1.5;
}

.timeline {
    margin: var(--space-6) 0;
    position: relative;
}

.timeline::before {
    content: '';
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: var(--border);
}

.timeline-item {
    display: flex;
    gap: var(--space-4);
    margin-bottom: var(--space-6);
    position: relative;
}

.timeline-marker {
    width: 40px;
    height: 40px;
    background: var(--primary);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: var(--text-sm);
    flex-shrink: 0;
    position: relative;
    z-index: 1;
}

.timeline-content {
    flex: 1;
    padding-top: var(--space-1);
}

.timeline-content h5 {
    color: var(--text-primary);
    font-size: var(--text-base);
    font-weight: 600;
    margin-bottom: var(--space-2);
}

.timeline-content ul {
    margin-left: var(--space-4);
    color: var(--text-secondary);
}

.timeline-content ul li {
    margin-bottom: var(--space-1);
    line-height: 1.5;
}

/* Responsive adjustments for enhanced setup content */
@media (max-width: 768px) {
    .resource-grid {
        grid-template-columns: 1fr;
    }
    
    .timeline::before {
        left: 15px;
    }
    
    .timeline-marker {
        width: 30px;
        height: 30px;
        font-size: var(--text-xs);
    }
    
    .timeline-item {
        gap: var(--space-3);
    }
}

@media (max-width: 480px) {
    .resource-card {
        padding: var(--space-3);
    }
    
    .group-card {
        padding: var(--space-4);
    }
    
    .timeline-content h5 {
        font-size: var(--text-sm);
    }
}/* 
Policy Examples Styles */
.policy-examples {
    display: grid;
    gap: var(--space-6);
    margin-top: var(--space-4);
}

.policy-example {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: white;
}

.policy-example h5 {
    background: var(--surface-alt);
    padding: var(--space-4);
    margin: 0;
    font-size: var(--text-base);
    font-weight: 600;
    color: var(--text-primary);
    border-bottom: 1px solid var(--border);
    display: flex;
    align-items: center;
    gap: var(--space-2);
}

.policy-example p {
    padding: var(--space-4);
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}

.policy-example .code-content {
    margin: 0;
    border-radius: 0;
}

/* Copy button improvements */
.copy-button {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    padding: var(--space-1) var(--space-2);
    font-size: var(--text-xs);
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: var(--space-1);
    transition: all 0.2s;
    z-index: 10;
}

.copy-button:hover {
    background: white;
    border-color: var(--primary);
    color: var(--primary);
}

.copy-button.copied {
    background: var(--success-bg);
    border-color: var(--success);
    color: var(--success);
}

.policy-json-container {
    position: relative;
}

/* Verification results styling */
.verification-results {
    display: grid;
    gap: var(--space-3);
    margin-top: var(--space-4);
}

.result-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-3);
    border-radius: var(--radius-md);
    background: var(--surface-alt);
}

.result-item.success {
    background: var(--success-bg);
    border-left: 4px solid var(--success);
}

.result-item i {
    color: var(--success);
    margin-top: var(--space-1);
}

.result-item strong {
    display: block;
    margin-bottom: var(--space-1);
    color: var(--text-primary);
}

.result-item p {
    margin: 0;
    color: var(--text-secondary);
    font-size: var(--text-sm);
}/* Enh
anced Link Styles for Professional Look */

/* Code links (links within code blocks or inline code) */
code a, pre a {
    color: #64b5f6;
    text-decoration: underline;
    text-decoration-style: dotted;
}

code a:hover, pre a:hover {
    color: #42a5f5;
    text-decoration-style: solid;
}

/* Table of contents and navigation links */
.nav-link {
    position: relative;
    overflow: hidden;
}

.nav-link::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--primary);
    transition: width 0.3s ease;
}

.nav-link:hover::before {
    width: 100%;
}

/* Button-style links maintain their existing styles */
.btn:not(.btn-outline) {
    text-decoration: none !important;
    border-bottom: none !important;
}

.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 102, 204, 0.2);
}

.btn:active {
    transform: translateY(0);
    box-shadow: 0 2px 4px rgba(0, 102, 204, 0.2);
}

/* Link groups and lists */
ul li a, ol li a {
    display: inline-block;
    padding: 2px 0;
}

/* Improve readability for links in paragraphs */
p a {
    font-weight: 500;
    padding: 1px 2px;
    border-radius: 2px;
    transition: all 0.2s ease;
}

p a:hover {
    background-color: rgba(0, 102, 204, 0.05);
    padding: 2px 4px;
}

/* Special styling for important links */
.important-link {
    background: linear-gradient(135deg, var(--primary), var(--primary-hover));
    color: white !important;
    padding: var(--space-2) var(--space-4);
    border-radius: var(--radius-md);
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    box-shadow: 0 2px 4px rgba(0, 102, 204, 0.2);
}

.important-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
    color: white !important;
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
    a, .btn, .nav-link::before {
        transition: none;
    }
    
    a:hover, .btn:hover {
        transform: none;
    }
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    a {
        text-decoration: underline;
    }
    
    a:focus {
        outline: 3px solid var(--primary);
        outline-offset: 3px;
    }
}/*
 Responsive Design - Mobile First */
@media (max-width: 768px) {
    /* Fix header overlap on mobile - nav becomes vertical, making header much taller */
    .hero {
        padding: calc(200px + var(--space-12)) 0 var(--space-16) 0;
    }
    
    /* Hero Section Mobile */
    .hero-content {
        grid-template-columns: 1fr;
        gap: var(--space-8);
        text-align: center;
    }
    
    .hero-title {
        font-size: var(--text-3xl);
    }
    
    .hero-tagline {
        font-size: var(--text-lg);
    }
    
    /* User Journey Section Mobile */
    .user-journey-paths {
        grid-template-columns: 1fr;
        gap: var(--space-4);
    }
    
    .path-description {
        font-size: var(--text-xs);
    }
    
    /* Value Proposition Mobile */
    .value-content {
        grid-template-columns: 1fr;
        gap: var(--space-8);
    }
    
    .comparison-chart {
        gap: var(--space-4);
    }
    
    /* Credibility Indicators Mobile */
    .enterprise-badges {
        flex-direction: column;
        gap: var(--space-3);
    }
    
    .tech-badges {
        gap: var(--space-1);
    }
    
    /* Navigation Mobile */
    .nav-menu {
        display: none;
    }
    
    .nav-actions {
        gap: var(--space-2);
    }
    
    .btn {
        padding: var(--space-2) var(--space-3);
        font-size: var(--text-xs);
    }
}

@media (max-width: 480px) {
    /* Extra small screens - Fix header overlap with taller mobile nav */
    .hero {
        padding: calc(120px + var(--space-8)) 0 var(--space-12) 0;
    }
    
    .hero-title {
        font-size: var(--text-2xl);
    }
    
    .hero-tagline {
        font-size: var(--text-base);
    }
    
    .hero-stats {
        flex-direction: column;
        gap: var(--space-4);
    }
    
    .enterprise-badges {
        gap: var(--space-2);
    }
    
    .badge-item {
        font-size: var(--text-xs);
    }
}
